LyoKICoJT0xFMk5MUyBsaWJyYXJ5CiAqICAgICAgV2Vsc2gsIFVuaXRlZCBLaW5nZG9tCiAqCiAqIENvcHlyaWdodCAxOTk4IE1hcmNlbCBCYXVyCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCkxPQ1ZBTChMT0NBTEVfSUxBTkdVQUdFLCAiMDQ5MiIpCkxPQ1ZBTChMT0NBTEVfU0xBTkdVQUdFLCAiV2Vsc2ggKFVuaXRlZCBLaW5nZG9tKSIpCkxPQ1ZBTChMT0NBTEVfU0VOR0xBTkdVQUdFLCAiV2Vsc2giKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZMQU5HTkFNRSwgImN5bSIpCkxPQ1ZBTChMT0NBTEVfU05BVElWRUxBTkdOQU1FLCAiQ3ltcmFlZyIpCkxPQ1ZBTChMT0NBTEVfSUNPVU5UUlksICI0NCIpCkxPQ1ZBTChMT0NBTEVfU0NPVU5UUlksICJDeW1ydSIpCkxPQ1ZBTChMT0NBTEVfU0VOR0NPVU5UUlksICJXYWxlcyIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkNUUllOQU1FLCAiR0JSIikKTE9DVkFMKExPQ0FMRV9TTkFUSVZFQ1RSWU5BTUUsICJDeW1ydSIpCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRMQU5HVUFHRSwgIjA0MDkiKQkKTE9DVkFMKExPQ0FMRV9JREVGQVVMVENPVU5UUlksICI0NCIpCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRDT0RFUEFHRSwgIjg1MCIpIC8qIEZJWE1FICovCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRBTlNJQ09ERVBBR0UsICIyODYwNCIpCkxPQ1ZBTChMT0NBTEVfU0xJU1QsICIsIikKTE9DVkFMKExPQ0FMRV9JTUVBU1VSRSwgIjAiKQpMT0NWQUwoTE9DQUxFX1NERUNJTUFMLCAiLiIpCkxPQ1ZBTChMT0NBTEVfU1RIT1VTQU5ELCAiLCIpCkxPQ1ZBTChMT0NBTEVfU0dST1VQSU5HLCAiMzswIikKTE9DVkFMKExPQ0FMRV9JRElHSVRTLCAiMiIpCkxPQ1ZBTChMT0NBTEVfSUxaRVJPLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSU5FR05VTUJFUiwgIjEiKQpMT0NWQUwoTE9DQUxFX1NOQVRJVkVESUdJVFMsICIwMTIzNDU2Nzg5IikKTE9DVkFMKExPQ0FMRV9TQ1VSUkVOQ1ksICKjIikKTE9DVkFMKExPQ0FMRV9TSU5UTFNZTUJPTCwgIkdCUCIpCkxPQ1ZBTChMT0NBTEVfU01PTkRFQ0lNQUxTRVAsICIuIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhPVVNBTkRTRVAsICIsIikKTE9DVkFMKExPQ0FMRV9TTU9OR1JPVVBJTkcsICIzOzAiKQpMT0NWQUwoTE9DQUxFX0lDVVJSRElHSVRTLCAiMiIpCkxPQ1ZBTChMT0NBTEVfSUlOVExDVVJSRElHSVRTLCAiMiIpCkxPQ1ZBTChMT0NBTEVfSUNVUlJFTkNZLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSU5FR0NVUlIsICIxIikKTE9DVkFMKExPQ0FMRV9TREFURSwgIi8iKQpMT0NWQUwoTE9DQUxFX1NUSU1FLCAiOiIpCkxPQ1ZBTChMT0NBTEVfU1NIT1JUREFURSwgImRkL01NL3l5IikKTE9DVkFMKExPQ0FMRV9TTE9OR0RBVEUsICJkZCBNTU1NIHl5eXkiKQpMT0NWQUwoTE9DQUxFX1NUSU1FRk9STUFULCAiSEg6bW06c3MiKQpMT0NWQUwoTE9DQUxFX0lEQVRFLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSUxEQVRFLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSVRJTUUsICIxIikKTE9DVkFMKExPQ0FMRV9JVElNRU1BUktQT1NOLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSUNFTlRVUlksICIwIikKTE9DVkFMKExPQ0FMRV9JVExaRVJPLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSURBWUxaRVJPLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSU1PTkxaRVJPLCAiMSIpCkxPQ1ZBTChMT0NBTEVfUzExNTksICJBTSIpCS8qIEZJWE1FICovCkxPQ1ZBTChMT0NBTEVfUzIzNTksICJQTSIpCS8qIEZJWE1FICovCkxPQ1ZBTChMT0NBTEVfSUNBTEVOREFSVFlQRSwgIjEiKQpMT0NWQUwoTE9DQUxFX0lPUFRJT05BTENBTEVOREFSLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSUZJUlNUREFZT0ZXRUVLLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSUZJUlNUV0VFS09GWUVBUiwgIjAiKQoKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTEsICJEeWRzIExsdW4iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMiwgIkR5ZGQgTWF3cnRoIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTMsICJEeWRzIE1lcmNoZXIiKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNCwgIkR5ZGQgSWF1IikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTUsICJEeWRkIEd3ZW5lciIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUU2LCAiRHlkcyBTYWR3cm4iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNywgIkR5ZGQgU3VsIikKCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUUxLCAiTGxuIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTIsICJNYXciKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMywgIk1lciIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU0LCAiSWF1IikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTUsICJHd2UiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNiwgIlNhZCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU3LCAiU3VsIikKCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEsICJJb25hd3IiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUyLCAiQ2h3ZWZyb3IiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUzLCAiTWF3cnRoIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNCwgIkVicmlsbCIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTUsICJNYWkiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU2LCAiTWVoZWZpbiIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTcsICJHb3JmZmVubmFmIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FOCwgIkF3c3QiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU5LCAiTWVkaSIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEwLCAiSHlkcmVmIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTEsICJUYWNod2VkZCIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEyLCAiUmhhZ2Z5ciIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEzLCAiIikKCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEsICJJb24iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUyLCAiQ2h3IikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMywgIk1hdyIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTQsICJFYnIiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUU1LCAiTWFpIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNiwgIk1laCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTcsICJHb3IiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUU4LCAiQXdzIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FOSwgIk1lZCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEwLCAiSHlkIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTEsICJUY2giKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxMiwgIlJoZyIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEzLCAiIikKCkxPQ1ZBTChMT0NBTEVfU1BPU0lUSVZFU0lHTiwgIiIpCkxPQ1ZBTChMT0NBTEVfU05FR0FUSVZFU0lHTiwgIi0iKQpMT0NWQUwoTE9DQUxFX0lQT1NTSUdOUE9TTiwgIjMiKQpMT0NWQUwoTE9DQUxFX0lORUdTSUdOUE9TTiwgIjMiKQpMT0NWQUwoTE9DQUxFX0lQT1NTWU1QUkVDRURFUywgIjEiKQpMT0NWQUwoTE9DQUxFX0lQT1NTRVBCWVNQQUNFLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSU5FR1NZTVBSRUNFREVTLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSU5FR1NFUEJZU1BBQ0UsICIwIikKLyogTE9DVkFMKExPQ0FMRV9GT05UU0lHTkFUVVJFLCAiIikgKi8KTE9DVkFMKExPQ0FMRV9TSVNPNjM5TEFOR05BTUUsImN5IikKTE9DVkFMKExPQ0FMRV9TSVNPMzE2NkNUUllOQU1FLCJHQiIpCg==