LyoKICogIFR1cmtpc2ggUmVzb3VyY2VzIGZvciBUYXNrIE1hbmFnZXIKICoKICogIENvcHlyaWdodCAyMDA2IEZhdGloIEH+/WP9CiAqCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfVFVSS0lTSCwgU1VCTEFOR19ERUZBVUxUCgovKgogTWVudQoqLwoKSURSX1RBU0tNQU5BR0VSIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICImRG9zeWEiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImWWVuaSBH9nJldiAox2Fs/f50/XIuLi4pIiwgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJH9nJldiBZ9m5ldGljaXNpbmRlbiAmx/1rIiwgICBJRF9GSUxFX0VYSVQKICAgIEVORAogICAgUE9QVVAgIiZTZedlbmVrbGVyIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkhlciBaYW1hbiDcc3R0ZSIsICAgICAgICAgICAgSURfT1BUSU9OU19BTFdBWVNPTlRPUAogICAgICAgICwgQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNICImS3VsbGFu/W0gU/1yYXP9bmRhIEv85/xsdCIsICBJRF9PUFRJT05TX01JTklNSVpFT05VU0UKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiS/zn/Gx0/Gxk/PD8bmRlICZHaXpsZSIsICAgICAgSURfT1BUSU9OU19ISURFV0hFTk1JTklNSVpFRAogICAgICAgICwgQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNICImMTYtYml0IGf2cmV2bGVyaSBn9nN0ZXIiLCAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgLCBDSEVDS0VECiAgICBFTkQKICAgIFBPUFVQICImR/Zy/G78bSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIt5pbWRpICZZZW5pbGUiLCAgICAgICAgICAgICAgIElEX1ZJRVdfUkVGUkVTSAogICAgICAgIFBPUFVQICImR/xuY2VsbGVtZSBI/Xr9IgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImWfxrc2VrIiwgICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX0hJR0gKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWwiLCAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTk9STUFMCiAgICAgICAgICAgICwgQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiJkT8/vxrIiwgICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cKICAgICAgICAgICAgTUVOVUlURU0gIkQmdXJha2xhbf3+IiwgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfUEFVU0VECgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJC/CZ5/GsgU2ltZ2VsZXIiLCAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIkv8Juf8ayBTaW1nZWxlciIsICAgICAgICAgICAgIElEX1ZJRVdfU01BTEwKICAgICAgICBNRU5VSVRFTSAiJkF5cv1udP1s/SIsICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZT/HR1bmxhcv0gU2XnLi4uIiwgICAgICAgICAgIElEX1ZJRVdfU0VMRUNUQ09MVU1OUwogICAgICAgIFBPUFVQICImTd1CIEdl521p/mkiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZCaXIgR3JhZmlrdGUgVPxtIE3dQidsZXIiLCAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSEFMTAoKICAgICAgICAgICAgTUVOVUlURU0gIiZIZXIgTd1CIGnnaW4gQXly/SBHcmFmaWsiLCAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSFBFUkNQVQogICAgICAgICAgICAsIENIRUNLRUQKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSAiJsdla2lyZGVrIFP8cmVsZXJpbmkgR/ZzdGVyIiwgICAgIElEX1ZJRVdfU0hPV0tFUk5FTFRJTUVTCiAgICBFTkQKICAgIFBPUFVQICImUGVuY2VyZWxlciIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZZYXRheSBE9v5lIiwgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgICAgIE1FTlVJVEVNICImRGlrZXkgRPb+ZSIsICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZTaW1nZSBEdXJ1bXVuYSBL/Of8bHQiLCAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgICAgICBNRU5VSVRFTSAiQvwmefx0IiwgICAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NQVhJTUlaRQogICAgICAgIE1FTlVJVEVNICImRGl6IiwgICAgICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSAiJtZuZSBHZXRpciIsICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKICAgIEVORAogICAgUE9QVVAgIiZZYXJk/W0iCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJH9nJldiBZ9m5ldGljaXNpICZZYXJk/W0gS29udWxhcv0iLCAgIElEX0hFTFBfVE9QSUNTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkf2cmV2IFn2bmV0aWNpc2kgJkhha2v9bmRhIiwgICAgICAgICAgSURfSEVMUF9BQk9VVAogICAgRU5ECkVORAoKSURSX1dJTkRPV1NNRU5VIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIE1FTlVJVEVNICImWWF0YXkgRPb+ZSIsICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgIE1FTlVJVEVNICImRGlrZXkgRPb+ZSIsICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICBNRU5VSVRFTSAiJlNpbWdlIER1cnVtdW5hIEv85/xsdCIsICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgTUVOVUlURU0gIkL8Jnn8dCIsICAgICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgIE1FTlVJVEVNICImRGl6IiwgICAgICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgIE1FTlVJVEVNICIm1m5lIEdldGlyIiwgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVApFTkQKCklEUl9BUFBMSUNBVElPTl9QQUdFX0NPTlRFWFQxIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZZZW5pIEf2cmV2ICjHYWz9/nT9ci4uLikiLCAgIElEX0ZJTEVfTkVXCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkL8Jnn8ayBTaW1nZWxlciIsICAgICAgICAgICAgIElEX1ZJRVdfTEFSR0UKICAgICAgICBNRU5VSVRFTSAiS/wm5/xrIFNpbWdlbGVyIiwgICAgICAgICAgICAgSURfVklFV19TTUFMTAogICAgICAgIE1FTlVJVEVNICImQXly/W50/Wz9IiwgICAgICAgICAgICAgICAgICBJRF9WSUVXX0RFVEFJTFMsIENIRUNLRUQKICAgIEVORApFTkQKCklEUl9BUFBMSUNBVElPTl9QQUdFX0NPTlRFWFQyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIlBlbmNlcmUgJkRl8Gn+dGlyIiwgICAgICAgICAgIElEX0FQUExJQ0FUSU9OX1BBR0VfU1dJVENIVE8KICAgICAgICBNRU5VSVRFTSAiJtZuZSBHZXRpciIsICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJllhdGF5IET2/mUiLCAgICAgICAgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgTUVOVUlURU0gIiZEaWtleSBE9v5lIiwgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkKICAgICAgICBNRU5VSVRFTSAiJlNpbWdlIER1cnVtdW5hIEv85/xsdCIsICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgICAgIE1FTlVJVEVNICJC/CZ5/HQiLCAgICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01BWElNSVpFCiAgICAgICAgTUVOVUlURU0gIiZEaXoiLCAgICAgICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfQ0FTQ0FERQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImR/ZyZXZpIFNvbmxhbmT9ciIsICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX0VORFRBU0sKICAgICAgICBNRU5VSVRFTSAiUyb8cmVjZSBHaXQiLCAgICAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9HT1RPUFJPQ0VTUwogICAgRU5ECkVORAoKSURSX1RSQVlfUE9QVVAgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkdlcmkgWfxrbGUiLCAgICAgICAgICAgICAgICAgSURfUkVTVE9SRQogICAgICAgIE1FTlVJVEVNICImS2FwYXQiLCAgICAgICAgICAgICAgICAgICAgICBJRF9GSUxFX0VYSVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkhlciBaYW1hbiDcc3R0ZSIsICAgICAgICAgICAgSURfT1BUSU9OU19BTFdBWVNPTlRPUAogICAgRU5ECkVORAoKSURSX1BST0NFU1NfUEFHRV9DT05URVhUIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIlP8cmVjaSAmU29ubGFuZP1yIiwgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTCiAgICAgICAgTUVOVUlURU0gIlP8cmXnIEEm8GFj/W79IFNvbmxhbmT9ciIsICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTVFJFRQoKICAgICAgICBNRU5VSVRFTSAiJkhhdGEgQXn9a2xhIiwgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9ERUJVRwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICIm1m5jZWxp8GkgQmVsaXJ0IgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImR2Vy52VrIFphbWFubP0iLCAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfUkVBTFRJTUUKCiAgICAgICAgICAgIE1FTlVJVEVNICImWfxrc2VrIiwgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfSElHSAoKICAgICAgICAgICAgTUVOVUlURU0gIk5vcm1hbGluICbcemVyaW5kZSIsICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9BQk9WRU5PUk1BTAoKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWwiLCAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9OT1JNQUwKCiAgICAgICAgICAgIE1FTlVJVEVNICJOb3JtYWxpbiAmQWx0/W5kYSIsICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfQkVMT1dOT1JNQUwKCiAgICAgICAgICAgIE1FTlVJVEVNICImRPz+/GsiLCAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTE9XCgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNICImWWFr/W5s/fD9IEJlbGlydC4uLiIsICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVEFGRklOSVRZCglNRU5VSVRFTSAiSGF0YSBBeSb9a2xhbWEgS2FuYWxsYXL9bv0gRPx6ZW5sZS4uLiIsCUlEX1BST0NFU1NfUEFHRV9ERUJVR0NIQU5ORUxTCiAgICBFTkQKRU5ECgovKgogRGlhbG9nCiovCgpJRERfVEFTS01HUl9ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjQsIDI0NgpTVFlMRSBEU19DRU5URVIgfCBXU19NSU5JTUlaRUJPWCB8IFdTX01BWElNSVpFQk9YIHwgV1NfUE9QVVAgfAogICAgV1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgV1NfVEhJQ0tGUkFNRQpDQVBUSU9OICJH9nJldiBZ9m5ldGljaXNpIgpNRU5VIElEUl9UQVNLTUFOQUdFUgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIlRhYjEiLElEQ19UQUIsIlN5c1RhYkNvbnRyb2wzMiIsV1NfVEFCU1RPUCwzLDMsMjU3LDIyOApFTkQKCklERF9BUFBMSUNBVElPTl9QQUdFIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfQ09OVFJPTCB8IFdTX0NISUxEIHwgV1NfQ0xJUENISUxEUkVOCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19BUFBMSVNULCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0hPV1NFTEFMV0FZUyB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiJlllbmkgR/ZyZXYuLi4iLElEQ19ORVdUQVNLLDE4NywxODksNTMsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJlBlbmNlcmUgRGXwaf50aXIiLElEQ19TV0lUQ0hUTywxMzEsMTg5LDUzLDE0LFdTX0RJU0FCTEVECiAgICBQVVNIQlVUVE9OICAgICAgIiZH9nJldmkgU29ubGFuZP1yIixJRENfRU5EVEFTSyw3NSwxODksNTMsMTQsV1NfRElTQUJMRUQKRU5ECgpJRERfUFJPQ0VTU19QQUdFIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfQ09OVFJPTCB8IFdTX0NISUxEIHwgV1NfQ0xJUENISUxEUkVOCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19QUk9DRVNTTElTVCwiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTIHwgTFZTX09XTkVSREFUQSB8CiAgICAgICAgICAgICAgICAgICAgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICImU/xyZWNpIFNvbmxhbmT9ciIsSURDX0VORFBST0NFU1MsMTcxLDE4OSw2OSwxNAogICAgQ09OVFJPTCAgICAgICAgICImVPxtIGt1bGxhbv1j/SBz/HJl52xlcmluaSBn9nN0ZXIiLElEQ19TSE9XQUxMUFJPQ0VTU0VTLAogICAgICAgICAgICAgICAgICAgICJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywxOTEsMTExLDEwCkVORAoKLypJRERfUEVSRk9STUFOQ0VfUEFHRSBESUFMT0dFWCAwLCAwLCAyNDcsIDIxMCovCklERF9QRVJGT1JNQU5DRV9QQUdFIERJQUxPR0VYIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19DT05UUk9MIHwgV1NfQ0hJTEQgfCBXU19DTElQQ0hJTERSRU4KRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJN3UIgS3VsbGFu/W39IixJRENfQ1BVX1VTQUdFX0ZSQU1FLDUsNSw2MCw1NCxXU19UQUJTVE9QLCBXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJCTEsgS3VsbGFu/W39IixJRENfTUVNX1VTQUdFX0ZSQU1FLDUsNjMsNjAsNTQsQlNfTEVGVFRFWFQsIFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIlRvcGxhbWxhciIsSURDX1RPVEFMU19GUkFNRSw1LDEyMiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJDb21taXQgQ2hhcmdlIChLKSIsSURDX0NPTU1JVF9DSEFSR0VfRlJBTUUsNSwxNjYsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiRml6aWtzZWwgQmVsbGVrIChLKSIsSURDX1BIWVNJQ0FMX01FTU9SWV9GUkFNRSwxMzEsMTIyLDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIsdla2lyZGVrIEJlbGxl8GkgKEspIixJRENfS0VSTkVMX01FTU9SWV9GUkFNRSwxMzEsMTY2LDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBMVEVYVCAgICAgICAgICAgIlR1dGFuYWtsYXIiLElEU19UT1RBTFNfSEFORExFX0NPVU5ULDEyLDEzMSwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIkV2cmVsZXIiLElEU19UT1RBTFNfVEhSRUFEX0NPVU5ULDEyLDE0MCwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlP8cmXnbGVyIixJRFNfVE9UQUxTX1BST0NFU1NfQ09VTlQsMTIsMTQ5LDM0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX0hBTkRMRV9DT1VOVCw2NSwxMzEsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19USFJFQURfQ09VTlQsNjUsMTQwLDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfUFJPQ0VTU19DT1VOVCw2NSwxNDksNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIlRvcGxhbSIsSURTX0NPTU1JVF9DSEFSR0VfVE9UQUwsMTIsMTc1LDI3LDgKICAgIExURVhUICAgICAgICAgICAiU/1u/XIiLElEU19DT01NSVRfQ0hBUkdFX0xJTUlULDEyLDE4NCwxNSw4CiAgICBMVEVYVCAgICAgICAgICAgIlppcnZlIixJRFNfQ09NTUlUX0NIQVJHRV9QRUFLLDEyLDE5MywzNCw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfVE9UQUwsNjUsMTc0LDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX0xJTUlULDY1LDE4NCw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9QRUFLLDY1LDE5Myw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiVG9wbGFtIixJRFNfUEhZU0lDQUxfTUVNT1JZX1RPVEFMLDEzNywxMzEsMjcsOAogICAgTFRFWFQgICAgICAgICAgICJLdWxsYW79bGFiaWxpciIsSURTX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMTM3LDE0MCw0MCw4CiAgICBMVEVYVCAgICAgICAgICAgIlNpc3RlbSBLYf5lc2kiLElEU19QSFlTSUNBTF9NRU1PUllfU1lTVEVNX0NBQ0hFLDEzNywxNDksNDYsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19QSFlTSUNBTF9NRU1PUllfVE9UQUwsMTg1LDEzMSw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX0FWQUlMQUJMRSwxODUsMTQwLDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19QSFlTSUNBTF9NRU1PUllfU1lTVEVNX0NBQ0hFLDE4NSwxNDksNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIlRvcGxhbSIsSURTX0tFUk5FTF9NRU1PUllfVE9UQUwsMTM3LDE3NCwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlNheWZhbGFubf3+IixJRFNfS0VSTkVMX01FTU9SWV9QQUdFRCwxMzcsMTg0LDQwLDgKICAgIExURVhUICAgICAgICAgICAiU2F5ZmFsYW5tYW39/iIsSURTX0tFUk5FTF9NRU1PUllfTk9OUEFHRUQsMTM3LDE5Myw0NSw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfVE9UQUwsMTg1LDE3NCw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9QQUdFRCwxODUsMTg0LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX05PTlBBR0VELDE4NSwxOTMsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBHUk9VUEJPWCAgICAgICAgIk3dQiBLdWxsYW79bSBHZedtaf5pIixJRENfQ1BVX1VTQUdFX0hJU1RPUllfRlJBTUUsNzQsNSwxNjgsNTQsMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJCZWxsZWsgS3VsbGFu/W0gR2XnbWn+aSIsSURDX01FTU9SWV9VU0FHRV9ISVNUT1JZX0ZSQU1FLDc0LDYzLDE2OCw1NCwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBQVVNIQlVUVE9OICAgICAgIk3dQiBLdWxsYW79bSBFa3Jhbv0iLElEQ19DUFVfVVNBR0VfR1JBUEgsMTIsMTcsNDcsMzcsMCwKCQkgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJCTEsgS3VsbGFu/W0gRWtyYW79IixJRENfTUVNX1VTQUdFX0dSQVBILDEyLDc1LDQ3LDM3LDAsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJN3UIgS3VsbGFu/W0gR2XnbWn+aSIsSURDX0NQVV9VU0FHRV9ISVNUT1JZX0dSQVBILDgxLDE3LAogICAgICAgICAgICAgICAgICAgIDE1MywzNywwLFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiQkxLIEt1bGxhbv1tIEdl521p/mkiLElEQ19NRU1fVVNBR0VfSElTVE9SWV9HUkFQSCw4MSw3NSwKICAgICAgICAgICAgICAgICAgICAxNTMsMzcsMCxXU19FWF9DTElFTlRFREdFCkVORAoKSUREX0RFQlVHX0NIQU5ORUxTX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkhhdGEgQXn9a2xhbWEgS2FuYWxsYXL9IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfREVCVUdfQ0hBTk5FTFNfTElTVCwiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8CgkJICAgIExWU19TT1JUQVNDRU5ESU5HLDcsNywyMzMsMTc3CiAgICBQVVNIQlVUVE9OICAgICAgIkthcGF0IixJRE9LLDE3MSwxODksNjksMTQKRU5ECgpJRERfQUZGSU5JVFlfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjMxLCAxNTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvY2Vzc29yIEFmZmluaXR5IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIlRhbWFtIixJRE9LLDEyMCwxMzMsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAi3XB0YWwiLElEQ0FOQ0VMLDE3NCwxMzMsNTAsMTQKICAgIExURVhUICAgICAgICAgICAiVGhlIFByb2Nlc3NvciBBZmZpbml0eSBzZXR0aW5nIGNvbnRyb2xzIHdoaWNoIENQVXMgdGhlIHByb2Nlc3Mgd2lsbCBiZSBhbGxvd2VkIHRvIGV4ZWN1dGUgb24uIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDUsNSwyMjAsMTYKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDAiLElEQ19DUFUwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsCiAgICAgICAgICAgICAgICAgICAgMTEsMjgsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEiLElEQ19DUFUxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDQxLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyIixJRENfQ1BVMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw1NCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMyIsSURDX0NQVTMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNjcsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDQiLElEQ19DUFU0LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDgwLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA1IixJRENfQ1BVNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw5MywzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgNiIsSURDX0NQVTYsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsMTA2LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA3IixJRENfQ1BVNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSwxMTksMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDgiLElEQ19DUFU4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDYxLDI4LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA5IixJRENfQ1BVOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw2MSw0MSwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTAiLElEQ19DUFUxMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw1NCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTEiLElEQ19DUFUxMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw2Nyw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTIiLElEQ19DUFUxMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw4MCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTMiLElEQ19DUFUxMywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw5Myw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTQiLElEQ19DUFUxNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSwxMDYsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE1IixJRENfQ1BVMTUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsMTE5LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxNiIsSURDX0NQVTE2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiwyOCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTciLElEQ19DUFUxNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNDEsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE4IixJRENfQ1BVMTgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDU0LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxOSIsSURDX0NQVTE5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw2Nyw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjAiLElEQ19DUFUyMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsODAsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIxIixJRENfQ1BVMjEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDkzLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyMiIsSURDX0NQVTIyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiwxMDYsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIzIixJRENfQ1BVMjMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDExOSw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjQiLElEQ19DUFUyNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMjgsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI1IixJRENfQ1BVMjUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDQxLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNiIsSURDX0NQVTI2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw1NCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjciLElEQ19DUFUyNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNjcsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI4IixJRENfQ1BVMjgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDgwLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyOSIsSURDX0NQVTI5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw5Myw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMzAiLElEQ19DUFUzMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMTA2LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAzMSIsSURDX0NQVTMxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwxMTksNDEsMTAKRU5ECgpJRERfQ09MVU1OU19ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAxOTUsIDE5OQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJT/HR1bmxhcv0gU2XnIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIlRhbWFtIixJRE9LLDg0LDE3OCw1MCwxNAogICAgUFVTSEJVVFRPTiAgICAgICLdcHRhbCIsSURDQU5DRUwsMTM4LDE3OCw1MCwxNAogICAgTFRFWFQgICAgICAgICAgICJH9nJldiBZ9m5ldGljaXNpbmluIFP8cmXnIHNla21lc2luZGUgZ/Zy/G50/GxlbmVjZWsgc/x0dW5sYXL9IHNl52luLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQyw3LDcsMTgxLDE3CiAgICBDT05UUk9MICAgICAgICAgIibdbWFqIEFk/SIsSURDX0lNQUdFTkFNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw3LDI4LDU2LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZQSUQgKFP8cmXnIEtpbWxp8GkpIixJRENfUElELCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywzOSw4OCwxMAogICAgQ09OVFJPTCAgICAgICAgICImTd1CIEt1bGxhbv1t/SIsSURDX0NQVVVTQUdFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDUwLDUzLDEwCiAgICBDT05UUk9MICAgICAgICAgIk3dQiBTJvxyZXNpIixJRENfQ1BVVElNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNyw2MSw0OCwxMAogICAgQ09OVFJPTCAgICAgICAgICImQmVsbGVrIEt1bGxhbv1t/SIsSURDX01FTU9SWVVTQUdFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDcyLDYzLDEwCiAgICBDT05UUk9MICAgICAgICAgIkJlbGxlayBLdWxsYW79bf0gJkRlbHRhIixJRENfTUVNT1JZVVNBR0VERUxUQSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsODMsODIsMTAKICAgIENPTlRST0wgICAgICAgICAiQmVsbGVrIEt1bGxhbv1tICZaaXJ2ZXNpIixJRENfUEVBS01FTU9SWVVTQUdFLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNyw5NCw4MiwxMAogICAgQ09OVFJPTCAgICAgICAgICJTYXlmYWxhbWEgJkhhdGFsYXL9IixJRENfUEFHRUZBVUxUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMDUsODIsMTAKICAgIENPTlRST0wgICAgICAgICAiJktVTExBTklDSSBOZXNuZWxlcmkiLElEQ19VU0VST0JKRUNUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMTYsODIsMTAKICAgIENPTlRST0wgICAgICAgICAiRy/HIE9rdW1hIixJRENfSU9SRUFEUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMjcsNDksMTAKICAgIENPTlRST0wgICAgICAgICAiRy/HIE9rdW5hbiBCYXl0IixJRENfSU9SRUFEQllURVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDEzOCw3MCwxMAogICAgQ09OVFJPTCAgICAgICAgICImT3R1cnVtIEtpbWxp8GkiLElEQ19TRVNTSU9OSUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTQ5LDcwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkt1bGxhbv1j/SAmQWT9IixJRENfVVNFUk5BTUUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTYwLDUxLDEwCiAgICBDT05UUk9MICAgICAgICAgIlNheWZhbGFtYSBIYXQuICZEZWx0YSIsSURDX1BBR0VGQVVMVFNERUxUQSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEwNywyOCw4MiwxMAogICAgQ09OVFJPTCAgICAgICAgICJTYW5hJmwgQmVsbGVrIEJveXV0dSIsSURDX1ZJUlRVQUxNRU1PUllTSVpFLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDM5LDc3LDEwCiAgICBDT05UUk9MICAgICAgICAgIlNheSZmYWxhbm39/iBIYXZ1eiIsSURDX1BBR0VEUE9PTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDUwLDgyLDEwCiAgICBDT05UUk9MICAgICAgICAgIlNheWZhbGFuJm1hbf3+IEhhdnV6IixJRENfTk9OUEFHRURQT09MLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDYxLDgyLDEwCiAgICBDT05UUk9MICAgICAgICAgIlRlbWVsINYmbmNlbGlrIixJRENfQkFTRVBSSU9SSVRZLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDcyLDU1LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZUdXRhbmFrIFNhef1z/SIsSURDX0hBTkRMRUNPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMDcsODMsNTksMTAKICAgIENPTlRST0wgICAgICAgICAiJkV2cmUgU2F5/XP9IixJRENfVEhSRUFEQ09VTlQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEwNyw5NCw1OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJHREkgTmVzbmVsZXJpIixJRENfR0RJT0JKRUNUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDEwNSw1NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJHL8cgWWF6/W0iLElEQ19JT1dSSVRFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDExNiw0OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJHL8cgWWF6/WxhbiBCYXl0IixJRENfSU9XUklURUJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDEyNyw2NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJHL8cgRGnwZXIiLElEQ19JT09USEVSLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMDcsMTM4LDQ2LDEwCiAgICBDT05UUk9MICAgICAgICAgIkcvxyBEafBlciBCYXl0bGFyIixJRENfSU9PVEhFUkJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDE0OSw3MCwxMApFTkQKCi8qCiBTdHJpbmcgVGFibGUKKi8KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiR/ZyZXYgWfZuZXRpY2lzaSIKICAgIElEQ19UQVNLTUdSICAgICAgICAgICAgICJH9nJldiBZ9m5ldGljaXNpIgogICAgSURTX1JVTkRMR19DQVBUSU9OICAgICAgIkNyZWF0ZSBOZXcgVGFzayIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfRklMRV9ORVcgICAgICAgICAgICAgIlllbmkgYmlyIHByb2dyYW0g52Fs/f50/XL9ciIKICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AgICJH9nJldiBZ9m5ldGljaXNpIGv85/xsdPxs/G5jZXllIGthZGFyIGRp8GVyIHT8bSBwZW5jZXJlbGVyaW4g/HN0/G5kZSBrYWz9ciIKICAgIElEX09QVElPTlNfTUlOSU1JWkVPTlVTRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkf2cmV2IFn2bmV0aWNpc2kgYmH+a2EgYmlyIHBlbmNlcmV5ZSBnZedpbGRp8GluZGUga/zn/Gx0/Gz8ciIKICAgIElEX09QVElPTlNfSElERVdIRU5NSU5JTUlaRUQgIlNpbWdlIGR1cnVtdW5hIGdldGlyaWxkafBpbmRlIEf2cmV2IFn2bmV0aWNpc2luaSBnaXpsZSIKICAgIElEX1ZJRVdfUkVGUkVTSCAgICAgICAgICJH/G5jZWxsZW1lIGj9ev1uYSBiYWv9bG1ha3P9ev1uIEf2cmV2IFn2bmV0aWNpc2luaSBn/G5jZWxsZW1leWUgem9ybGEiCiAgICBJRF9WSUVXX0xBUkdFICAgICAgICAgICAiQvx5/Gsgc2ltZ2VsZXIga3VsbGFuYXJhayBn9nJldmxlcmkgZ/ZzdGVyaXIiCiAgICBJRF9WSUVXX1NNQUxMICAgICAgICAgICAiS/zn/Gsgc2ltZ2VsZXIga3VsbGFuYXJhayBn9nJldmxlcmkgZ/ZzdGVyaXIiCiAgICBJRF9WSUVXX0RFVEFJTFMgICAgICAgICAiSGVyIGf2cmV2IGhha2v9bmRhIGJpbGdpIGf2c3RlcmlyIgogICAgSURfVklFV19VUERBVEVTUEVFRF9ISUdIICJFa3Jhbv0gc2FuaXllZGUgaWtpIGRlZmEgZ/xuY2VsbGVyIgogICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwgIkVrcmFu/SBpa2kgc2FuaXllZGUgYmlyIGf8bmNlbGxlciIKICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTE9XICJFa3Jhbv0gZPZydCBzYW5peWVkZSBiaXIgZ/xuY2VsbGVyIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRCAiT3RvbWF0aWsgZ/xuY2VsbGVtZSB5YXD9bG1heiIKICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1hc2H8c3T8bmRla2kgcGVuY2VyZWxlcmkgeWF0YXkgZPb+ZXIiCiAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZICJNYXNh/HN0/G5kZWtpIHBlbmNlcmVsZXJpIGRpa2V5IGT2/mVyIgogICAgSURfV0lORE9XU19NSU5JTUlaRSAgICAgIlBlbmNlcmVsZXJpIHNpbWdlIGR1cnVtdW5hIGdldGlyaXIiCiAgICBJRF9XSU5ET1dTX01BWElNSVpFICAgICAiUGVuY2VyZWxlcmkgYvx5/HT8ciIKICAgIElEX1dJTkRPV1NfQ0FTQ0FERSAgICAgICJNYXNh/HN0/G5kZWtpIHBlbmNlcmVsZXJpIGv2/mVnZW4gZG/wcnVsdHVzdW5kYSBk9v5lciIKICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UICJQZW5jZXJleWkg9m5lIGdldGlyaXI7IGFtYSBvbmEgZ2XnbWV6IgogICAgSURfSEVMUF9UT1BJQ1MgICAgICAgICAgIkf2cmV2IFn2bmV0aWNpc2kgeWFyZP1tIGtvbnVsYXL9bv0gZ/ZzdGVyaXIiCiAgICBJRF9IRUxQX0FCT1VUICAgICAgICAgICAiUHJvZ3JhbSBiaWxnaXNpLCBz/HL8bSBudW1hcmFz/SB2ZSB0ZWxpZiBoYWtr/W79IGf2c3RlcmlyIgogICAgSURfRklMRV9FWElUICAgICAgICAgICAgIkf2cmV2IFn2bmV0aWNpc2kgdXlndWxhbWFz/W5kYW4g5/1rYXIiCiAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTYtYml0IHP8cmXnbGVyaSBpbGn+a2lsaSBudHZkbS5leGUgYWx0/W5kYSBn9nN0ZXJpciIKICAgIElEX1ZJRVdfU0VMRUNUQ09MVU1OUyAgICJIYW5naSBz/HJl52xlcmluIFP8cmXnIHNla21lc2luZGUgZ/Zy/G5lYmlsaXIgb2xhY2Hw/W79IHNl52luIgogICAgSURfVklFV19TSE9XS0VSTkVMVElNRVMgIkJh/mFy/W0gZ3JhZmlrbGVyaW5kZSDnZWtpcmRlayBz/HJlbGVyaW5pIGf2c3RlcmlyIgogICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIQUxMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVrIGJpciBnZedtaf4gZ3JhZmnwaSB0b3BsYW0gTd1CIGt1bGxhbv1t/W79IGf2c3RlcmlyIgogICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIUEVSQ1BVICJIZXIgTd1CJ25pbiBrZW5kaSBnZedtaf4gZ3JhZmnwaSBvbHVyIgogICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJpciBn9nJldmkg9m5wbGFuYSBnZXRpcmlyIHZlIG8gZ/ZyZXZpIG9kYWtsYXIiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEX0VORFRBU0sgICAgICAgICAgICAgICJTZedpbGkgZ/ZyZXZsZXJlIGthcGFubWFz/W79IGJpbGRpcmlyIgogICAgSURfR09UT1BST0NFU1MgICAgICAgICAgIlNl52lsaSBz/HJlY2Ugb2Rha2xhbv1yIgogICAgSURfUkVTVE9SRSAgICAgICAgICAgICAgIkf2cmV2IFn2bmV0aWNpc2luaSBnaXpsaSBrb251bXVuZGFuIGdlcmkgefxrbGVyIgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1MgIlNpc3RlbWRlbiBz/HJlY2kgc2lsZXIiCiAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTU1RSRUUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCdSBz/HJlY2kgdmUgb251biBhbHQgZGFsbGFy/W79IHNpc3RlbWRlbiBzaWxlciIKICAgIElEX1BST0NFU1NfUEFHRV9ERUJVRyAgICJIYXRhIGF5/WtsYXn9Y/15/SBidSBz/HJlY2UgaWxp/nRpcmlyIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVEFGRklOSVRZCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU/xyZWNpbiBoYW5naSBp/mxlbWNpbGVyIPx6ZXJpbmRlIOdhbP3+YWJpbGVjZfBpbmkgZGVuZXRsZXIiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfUkVBTFRJTUUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJT/HJlY2kgR0VSx0VLWkFNQU4g9m5jZWxpayBz/W79Zv1uZGEg52Fs/f5tYXlhIGF5YXJsYXIiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfSElHSCAiU/xyZWNpIFncS1NFSyD2bmNlbGlrIHP9bv1m/W5kYSDnYWz9/m1heWEgYXlhcmxhciIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9BQk9WRU5PUk1BTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlP8cmVjaSBOT1JNQUwg3FpFUt0g9m5jZWxpayBz/W79Zv1uZGEg52Fs/f5tYXlhIGF5YXJsYXIiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTk9STUFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU/xyZWNpIE5PUk1BTCD2bmNlbGlrIHP9bv1m/W5kYSDnYWz9/m1heWEgYXlhcmxhciIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9CRUxPV05PUk1BTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlP8cmVjaSBOT1JNQUwgQUxUSSD2bmNlbGlrIHP9bv1m/W5kYSDnYWz9/m1heWEgYXlhcmxhciIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9MT1cgIlP8cmVjaSBE3N7cSyD2bmNlbGlrIHP9bv1m/W5kYSDnYWz9/m1heWEgYXlhcmxhciIKRU5ECg==