LyoKICogT2xlVmlldyAoUHQucmMpCiAqIFBvcnR1Z3Vlc2UgTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiBDb3B5cmlnaHQgMjAwOCBSaWNhcmRvIEZpbGlwZQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAicmVzb3VyY2UuaCIKCkxBTkdVQUdFIExBTkdfUE9SVFVHVUVTRSwgU1VCTEFOR19ORVVUUkFMCgpJRE1fTUVOVSBNRU5VCnsKICAgIFBPUFVQICImRmljaGVpcm8iCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZKdW50YXIgYSBmaWNoZWlyby4uLiIsICAgIElETV9CSU5ECiAgICAgICAgTUVOVUlURU0gIiZWZXIgVHlwZUxpYi4uLiIsICAgIElETV9UWVBFTElCCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZDb25maWd1cmHn428gZG8gc2lzdGVtYS4uLiIsICAgIElETV9TWVNDT05GCiAgICAgICAgTUVOVUlURU0gIiZJbmljaWFyIEVkaXRvciBkZSBSZWdpc3RvIiwgICAgSURNX1JFR0VESVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlNhaXIiLCAgICBJRE1fRVhJVAogICAgfQogICAgUE9QVVAgIiZPYmplY3RvIgogICAgewogICAgICAgIFBPUFVQICImQ29DcmVhdGVJbnN0YW5jZSBGbGFnIgogICAgICAgIHsKICAgICAgICAgICAgTUVOVUlURU0gIkNMU0NUWF8mSU5QUk9DX1NFUlZFUiIsICAgIElETV9GTEFHX0lOU0VSVixDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICJDTFNDVFhfSU5QUk9DXyZIQU5ETEVSIiwgICAgSURNX0ZMQUdfSU5IQU5ETAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYXyZMT0NBTF9TRVJWRVIiLCAgICAgICAgSURNX0ZMQUdfTE9DU0VSVixDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICJDTFNDVFhfJlJFTU9URV9TRVJWRVIiLCAgICBJRE1fRkxBR19SRU1TRVJWCiAgICAgICAgfQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJWZXIgJkluZm9ybWHn428gZGUgdGlwbyIsICAgIElETV9UWVBFSU5GTywgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkNyaWFyIEkmbnN04m5jaWEiLCAgICBJRE1fQ1JFQVRFSU5TVCwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gIkNyaWFyIEluJnN04m5jaWEgRW0uLi4iLCAgICBJRE1fQ1JFQVRFSU5TVE9OLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSAiTGkmYmVydGFyIEluc3TibmNpYSIsICAgIElETV9SRUxFQVNFSU5TVCwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkNvcGlhciBDJkxTSUQgcGFyYSBhIMFyZWEgZGUgVHJhbnNmZXLqbmNpYSIsICAgIElETV9DT1BZQ0xTSUQsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICJDb3BpYXIgdGFnICZIVE1MIHBhcmEgYSDBcmVhIGRlIFRyYW5zZmVy6m5jaWEiLCBJRE1fSFRNTFRBRywgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZWZXIuLi4iLCAgICBJRE1fVklFVywgR1JBWUVECiAgICB9CiAgICBQT1BVUCAiJlZlciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJk1vZG8gRXhwZXJpZW50ZSIsICAgIElETV9FWFBFUlQsQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQ2F0ZWdvcmlhcyBkZSBDb21wb25lbnRlcyBFc2NvbmRpZGFzIiwgICAgSURNX0hJRERFTiwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZCYXJyYSBkZSBUYXJlZmFzIiwgICAgSURNX1RPT0xCQVIsQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNICJCYXJyYSBkZSAmRXN0YWRvIiwgICAgSURNX1NUQVRVU0JBUixDSEVDS0VECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBY3R1YWxpemFyXHRGNSIsICAgIElETV9SRUZSRVNICiAgICB9CiAgICBQT1BVUCAiQSZqdWRhIgogICAgewogICAgICAgIE1FTlVJVEVNICImU29icmUgT2xlVmlldyIsICAgIElETV9BQk9VVAogICAgfQp9CgpJRE1fVFlQRUxJQiBNRU5VCnsKICAgIFBPUFVQICImRmljaGVpcm8iCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZHdWFyZGFyIGNvbW8uLi4iLCAgICBJRE1fU0FWRUFTCiAgICAgICAgTUVOVUlURU0gIiZGZWNoYXIiLCAgSURNX0NMT1NFCiAgICB9CiAgICBQT1BVUCAiJlZlciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJkFncnVwYXIgcG9yIHRpcG8iLCBJRE1fR1JPVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkJhcnJhIGRlIFRhcmVmYXMiLCAgICBJRE1fVE9PTEJBUgogICAgICAgIE1FTlVJVEVNICImQmFycmEgZGUgJkVzdGFkbyIsIElETV9TVEFUVVNCQVIsQ0hFQ0tFRAogICAgfQp9CgpTVFJJTkdUQUJMRQp7CiAgICBJRFNfQVBQTkFNRSAgICAgICAgICAgICJPbGVWaWV3IgogICAgSURTX0FQUFRJVExFICAgICAgICAgICAiT2xlVmlldyIKICAgIElEU19SRUFEWSAgICAgICAgICAgICAgIlByb250byIKICAgIElEU19BQk9VVCAgICAgICAgICAgICAgIk9sZVZpZXcgLSBWaXN1YWxpemFkb3IgZGUgT2JqZWN0b3MgT0xFL0NPTSIKICAgIElEU19BQk9VVFZFUiAgICAgICAgICAgInZlcnPjbyAxLjAiCiAgICBJRFNfVFlQRUxJQlRJVExFICAgICAgICJWaXN1YWxpemFkb3IgSVR5cGVMaWIiCiAgICBJRFNfT1BFTiAgICAgICAgICAgICAgICJBYnJpciIKICAgIElEU19PUEVOX1RZUEVMSUJfRklMVEVSICJGaWNoZWlyb3MgVHlwZUxpYiAoKi50bGI7Ki5vbGI7Ki5kbGw7Ki5vY3g7Ki5leGUpXDAqLnRsYjsqLm9sYjsqLmRsbDsqLm9jeDsqLmV4ZVwwVG9kb3Mgb3MgRmljaGVpcm9zICgqLiopXDAqLipcMFwwIgoKICAgIElETV9CSU5ELCAgICAgICAgICAgICAgIkp1bnRhciBhIGZpY2hlaXJvIGF0cmF26XMgZGUgdW0gRmlsZSBNb25pa2VyIgogICAgSURNX1RZUEVMSUIsICAgICAgICAgICAiQWJyaXIgdW0gZmljaGVpcm8gVHlwZUxpYiBlIHZlciBvcyBjb250Zfpkb3MiCiAgICBJRE1fU1lTQ09ORiwgICAgICAgICAgICJBbHRlcmFyIGNvbmZpZ3VyYef1ZXMgZGUgQ09NIERpc3RyaWJ17WRvcyIKICAgIElETV9SRUdFRElULCAgICAgICAgICAgIkluaWNpYXIgbyBFZGl0b3IgZGUgUmVnaXN0byBkbyBXaW5lIgogICAgSURNX0VYSVQsICAgICAgICAgICAgICAiU2FpciBkYSBhcGxpY2Hn428uIFBlZGUgcGFyYSBndWFyZGFyIGFsdGVyYef1ZXMuIgogICAgSURNX0NSRUFURUlOU1QsICAgICAgICAiQ3JpYSB1bWEgaW5zdOJuY2lhIGRvIG9iamVjdG8gc2VsZWNjaW9uYWRvIgogICAgSURNX0NSRUFURUlOU1RPTiwgICAgICAiQ3JpYSB1bWEgaW5zdOJuY2lhIGRvIG9iamVjdG8gc2VsZWNjaW9uYWRvIG5hIG3hcXVpbmEgZXNwZWNpZmljYWRhIgogICAgSURNX1JFTEVBU0VJTlNULCAgICAgICAiTGliZXJ0YXIgYSBpbnN04m5jaWEgZGUgb2JqZWN0byBzZWxlY2Npb25hZGEiCiAgICBJRE1fQ09QWUNMU0lELCAgICAgICAgICJDb3BpYXIgYSBHVUlEIGRvIG9iamVjdG8gc2VsZWNjaW9uYWRvIHBhcmEgYSDgcmVhIGRlIHRyYW5zZmVy6m5jaWEiCiAgICBJRE1fVklFVywgICAgICAgICAgICAgICJNb3N0cmFyIG8gdmlzdWFsaXphZG9yIHBhcmEgbyBpdGVtIHNlbGVjY2lvbmFkbyIKICAgIElETV9GTEFHX0lOU0VSViwgICAgICAgIlVzYXIgQ0xTQ1RYX0lOUFJPQ19TRVJWRVIgcXVhbmRvIGNoYW1hciBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0ZMQUdfSU5IQU5ETCwgICAgICAiVXNhciBDTFNDVFhfSU5QUk9DX0hBTkRMRVIgcXVhbmRvIGNoYW1hciBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0ZMQUdfTE9DU0VSViwgICAgICAiVXNhciBDTFNDVFhfTE9DQUxfU0VSVkVSIHF1YW5kbyBjaGFtYXIgQ29HZXRDbGFzc09iamVjdCIKICAgIElETV9GTEFHX1JFTVNFUlYsICAgICAgIlVzYXIgQ0xTQ1RYX1JFTU9URV9TRVJWRVIgcXVhbmRvIGNoYW1hciBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0VYUEVSVCwgICAgICAgICAgICAiQWx0ZXJuYXIgbyBtb2RvIGRlIHZpc2lvbmFtZW50byBlbnRyZSBOb3ZhdG8gZSBFeHBlcmllbnRlIgogICAgSURNX0hJRERFTiwgICAgICAgICAgICAiQWN0aXZhciBvIHZpc2lvbmFtZW50byBkZSBjYXRlZ29yaWFzIGRlIGNvbXBvbmVudGVzIHF1ZSBu428g6SBzdXBvc3RvIHNlcmVtIHZpc2l2ZWlzIgogICAgSURNX1RPT0xCQVIsICAgICAgICAgICAiTW9zdHJhciBvdSBlc2NvbmRlciBhIEJhcnJhIGRlIEZlcnJhbWVudGFzIgogICAgSURNX1NUQVRVU0JBUiwgICAgICAgICAiTW9zdHJhciBvdSBlc2NvbmRlciBhIGJhcnJhIGRlIGVzdGFkb3MiCiAgICBJRE1fUkVGUkVTSCwgICAgICAgICAgICJBY3R1YWxpemFyIHRvZGFzIGFzIGxpc3RhcyIKICAgIElETV9BQk9VVCwgICAgICAgICAgICAgIk1vc3RyYXIgaW5mb3JtYefjbyBkbyBwcm9ncmFtYSwgdmVyc+NvIGUgZGlyZWl0b3MgZGUgYXV0b3IiCgogICAgSURNX1NBVkVBUywgICAgICAgICAgICAiR3VhcmRhciBmaWNoZWlybyBjb21vIC5JREwgb3UgLkgiCiAgICBJRE1fQ0xPU0UsICAgICAgICAgICAgICJGZWNoYXIgamFuZWxhIgogICAgSURNX0dST1VQLCAgICAgICAgICAgICAiQWdydXBhciBwb3IgdGlwb3MgZGUgaW5mb3JtYefjbyIKCiAgICBJRFNfVFJFRV9PQywgICAgICAgICAgICJPYmplY3RDbGFzc2VzIgogICAgSURTX1RSRUVfR0JDQywgICAgICAgICAiQWdydXBhZG8gcG9yIGNhdGVnb3JpYSBkZSBjb21wb25lbnRlIgogICAgSURTX1RSRUVfTzFPLCAgICAgICAgICAiT2JqZWN0b3MgT0xFIDEuMCIKICAgIElEU19UUkVFX0NMTywgICAgICAgICAgIkJpYmxpb3RlY2EgZGUgT2JqZWN0b3MgQ09NIgogICAgSURTX1RSRUVfQU8sICAgICAgICAgICAiVG9kb3Mgb3Mgb2JqZWN0b3MiCiAgICBJRFNfVFJFRV9BSUQsICAgICAgICAgICJJRHMgZGEgYXBsaWNh5+NvIgogICAgSURTX1RSRUVfVEwsICAgICAgICAgICAiQmlibGlvdGVjYXMgZGUgdGlwb3MiCiAgICBJRFNfVExfVkVSLCAgICAgICAgICAgICJ2ZXIuIgogICAgSURTX1RSRUVfSSwgICAgICAgICAgICAiSW50ZXJmYWNlcyIKCiAgICBJRFNfVEFCX1JFRywgICAgICAgICAgICJSZWdpc3RvIgogICAgSURTX1RBQl9JTVBMLCAgICAgICAgICAiSW1wbGVtZW50YefjbyIKICAgIElEU19UQUJfQUNUSVYsICAgICAgICAgIkFjdGl2YefjbyIKCiAgICBJRFNfQ0dDT0ZBSUwsICAgICAgICAgICJDb0dldENsYXNzT2JqZWN0IGZhbGhvdS4iCiAgICBJRFNfRVJST1JfVU5LTiwgICAgICAgICJFcnJvIGRlc2NvbmhlY2lkbyIKICAgIElEU19UUlVFLCAgICAgICAgICAgICAgIlZlcmRhZGUiCiAgICBJRFNfRkFMU0UsICAgICAgICAgICAgICJGYWxzbyIKICAgIElEU19CWVRFUywgICAgICAgICAgICAgImJ5dGVzIgoKICAgIElEU19FUlJPUl9MT0FEVFlQRUxJQiwgIkxvYWRUeXBlTGliKCAlcyApIGZhbGhvdSAoJCV4KSIKICAgIElEU19JTkhFUklUSU5URVJGQUNFUywgIkludGVyZmFjZXMgSGVyZGFkYXMiCn0KCkRMR19DUkVBVEVJTlNUT04gRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI1MCwgNDEKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkxpZ2FyIGEgb3V0cmEgbeFxdWluYSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICImTm9tZSBkYSBt4XF1aW5hOiIsIC0xLCA1LCA2LCAxOTAsIDgKICAgIEVESVRURVhUICAgIElEQ19NQUNISU5FLCA1LCAxNiwgMTkwLCAxMiwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IEVTX0FVVE9IU0NST0xMCiAgICBERUZQVVNIQlVUVE9OICAgIiZPSyIsIElET0ssIDIwMCwgNSwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJkNhbmNlbGFyIiwgSURDQU5DRUwsIDIwMCwgMjIsIDQ1LCAxNAp9CgpETEdfU1lTQ09ORiBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMTcwLCAxMDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNvbmZpZ3VyYefjbyBkbyBTaXN0ZW1hIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgIkNvbmZpZ3VyYef1ZXMgZG8gU2lzdGVtYSIsIC0xLCA1LCA2LCAxNjAsIDgKICAgIENIRUNLQk9YICAgICImQWN0aXZhciBDT00gRGlzdHJpYnXtZG9zIiwgSURDX0VOQUJMRURDT00sIDUsIDIwLCAxNjAsIDEwLCBXU19UQUJTVE9QIHwgV1NfR1JPVVAgfCBCU19BVVRPQ0hFQ0tCT1gKICAgIENIRUNLQk9YICAgICJBY3RpdmFyIGxpZ2Hn9WVzICZyZW1vdGFzIChXaW45NSBhcGVuYXMpIiwgSURDX0VOQUJMRVJFTU9URSwgNSwgMzUsIDE2MCwgMTAsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAiRXN0YXMgY29uZmlndXJh5/VlcyBhbHRlcmFtIGFwZW5hcyB2YWxvcmVzIGRlIHJlZ2lzdG8uXG5O428gdGVtIGNvbnNlcXXqbmNpYXMgbm8gZGVzZW1wZW5obyBkbyBXaW5lLiIsIC0xLCA1LCA1MCwgMTYwLCA0MAogICAgREVGUFVTSEJVVFRPTiAgICImT0siLCBJRE9LLCA3MCwgODAsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIiZDYW5jZWxhciIsIElEQ0FOQ0VMLCAxMjAsIDgwLCA0NSwgMTQKfQoKRExHX0RFRkFVTFRfSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgNTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlZpc3VhbGl6YWRvciBkZSBJbnRlcmZhY2UgcG9yIGRlZmVpdG8iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAiSW50ZXJmYWNlIiwgLTEsIDUsIDYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfTEFCRUwsIDYwLCA2LCAxNDUsIDgKICAgIExURVhUICAgIklJRDoiLCAtMSwgNSwgMTYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfSURFTlRJRklFUiwgNjAsIDE2LCAxNjUsIDgKICAgIERFRlBVU0hCVVRUT04gICAiJkZlY2hhciIsIElEQ0FOQ0VMLCAyMzAsIDYsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIiZWZXIgaW5mb3JtYefjbyBkbyB0aXBvIiwgSURDX1ZJRVdUWVBFSU5GTywgNiwgMzEsIDcwLCAxNCwgV1NfRElTQUJMRUQKfQoKRExHX0lQRVJTSVNUX0lWIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDI5ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJWaXN1YWxpemFkb3IgZGUgSW50ZXJmYWNlIElQZXJzaXN0IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgIk5vbWUgZGEgY2xhc3NlOiIsIC0xLCA1LCA2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0xBQkVMLCA2MCwgNiwgMTQ1LCA4CiAgICBMVEVYVCAgICJDTFNJRDoiLCAtMSwgNSwgMTYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfSURFTlRJRklFUiwgNjAsIDE2LCAxNjUsIDgKICAgIERFRlBVU0hCVVRUT04gICAiJkZlY2hhciIsIElEQ0FOQ0VMLCAyMzAsIDYsIDQ1LCAxNAp9CgpETEdfSVBFUlNJU1RTVFJFQU1fSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgNjgKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlZpc3VhbGl6YWRvciBkZSBJbnRlcmZhY2UgSVBlcnNpc3RTdHJlYW0iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAiTm9tZSBkYSBjbGFzc2U6IiwgLTEsIDUsIDYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfTEFCRUwsIDYwLCA2LCAxNDUsIDgKICAgIExURVhUICAgIkNMU0lEOiIsIC0xLCA1LCAxNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19JREVOVElGSUVSLCA2MCwgMTYsIDE2NSwgOAogICAgREVGUFVTSEJVVFRPTiAgICImRmVjaGFyIiwgSURDQU5DRUwsIDIzMCwgNiwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJklzRGlydHkiLCBJRENfSVNESVJUWV9CVVRUT04sIDYsIDMxLCA1MCwgMTQKICAgIExURVhUICAgIj8/PyIsIElEQ19JU0RJUlRZLCA2MCwgMzQsIDE0NSwgOAogICAgUFVTSEJVVFRPTiAgIiZHZXRTaXplTWF4IiwgSURDX0dFVFNJWkVNQVhfQlVUVE9OLCA2LCA0OSwgNTAsIDE0CiAgICBMVEVYVCAgICI/Pz8iLCBJRENfR0VUU0laRU1BWCwgNjAsIDUyLCAxNDUsIDgKfQo=