LyoKICogQ29weXJpZ2h0IDIwMDUgSmFjZWsgQ2FiYW4KICogQ29weXJpZ2h0IDIwMDUgWXVuU29uZyBId2FuZwogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAic2hkb2NsYy5oIgoKTEFOR1VBR0UgTEFOR19LT1JFQU4sIFNVQkxBTkdfREVGQVVMVAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgSURTX01FU1NBR0VfQk9YX1RJVExFLCAiV2luZSDAzsXNs90gwM29usb6t86+7nIiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19QUklOVF9IRUFERVJfVEVNUExBVEUgIiZ3JmLG5MDMwfYgJnAiIC8qIEZJWE1FOiBzaG91bGQgYmUgIiZ3JmJQYWdlICZwIG9mICZQIiAqLwogICAgSURTX1BSSU5UX0ZPT1RFUl9URU1QTEFURSAiJnUmYiZkIgp9CgpJRFJfQlJPV1NFX0NPTlRFWFRfTUVOVSBNRU5VCnsKICAgIFBPUFVQICKx4rq7IgogICAgewogICAgICAgIE1FTlVJVEVNICK12rfOKCZCKSIsICAgICAgICAgICAgICAgIElETV9HT0JBQ0tXQVJECiAgICAgICAgTUVOVUlURU0gIr7VwLi3zigmTykiLCAgICAgICAgICAgICAgIElETV9HT0ZPUldBUkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiueiw5sC4t84gwPrA5SgmUykuLi4iLCBJRE1fU0FWRUJBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiueiw5sC4t84gvLPBpCgmRykiLCAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICK56LDmwLi3ziC6ubvnKCZDKSIsICAgICAgIElETV9DT1BZQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICK1pb26xanFviC+xsDMxdvAuLfOILyzwaQoJkQpIiwgICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiuPC1ziC8scXDKCZBKSIsICAgICAgICAgICAgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICK62b+ps9ax4igmUCkiLCAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIrnZt86wobHiILi4temx4igmVCkiLCAgICAgICBJRE1fQ1JFQVRFU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiwfGw3MOjseK/oSC09cfPseIoJkYpIiwgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSAivNK9uiC6uLHiKCZWKSIsICAgICAgICAgICBJRE1fVklFV1NPVVJDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLAzsTatfkoJkUpIiwgICAgICAgICAgICAgIElETV9MQU5HVUFHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLAzrziKCZJKSIsICAgICAgICAgICAgICAgICBJRE1fUFJJTlQKICAgICAgICBNRU5VSVRFTSAitNm9wyDA0LHiKCZSKSIsICAgICAgICAgICAgICAgX0lETV9SRUZSRVNICiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIr/JvMcoJlApIiwgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICLAzLnMwfYiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIri1xakgv62x4igmTykiLCAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICK79SDDor+hILi1xakgv62x4igmTikiLCBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAitNm4pSDAzLinwLi3ziDA+sDlKCZBKS4uLiIsICAgICAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIsW4sNkgwPrA5SgmUCkiLCAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICKx17iyILq4seIoJkgpIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAisde4siC02bilIMDMuKfAuLfOIMD6wOUoJlMpLi4uIiwgICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAisde4ssC7IMDMuN7Az7fOKCZFKS4uLiIsICAgICAgIElETV9NUF9FTUFJTFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAisde4siDAzrziKCZJKS4uLiIsICAgICAgICBJRE1fTVBfUFJJTlRQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIrO7ILHXuLLAuLfOILChseIoJkcpIiwgICAgICAgSURNX01QX01ZUElDUwogICAgICAgIE1FTlVJVEVNICK56LDmwLi3ziC8s8GkKCZHKSIsICAgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAitaW9usWpxb4gvsbAzMXbwLi3ziC8s8GkKCZEKS4uLiIsICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiwN+287O7seIoJlQpIiwgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIrq5u+coJkMpIiwgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIrnZt84gsKGx4iC6ubvnKCZUKSIsICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIrrZv6mz1rHiKCZQKSIsICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLB8bDcIMOjseK/oSDD37ChKCZGKS4uLiIsICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIrzTvLooJlIpIiwgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIsGmvu4iCiAgICB7CiAgICAgICAgTUVOVUlURU0gIrXHtbm4rrHiKCZVKSIsICAgICAgIElETV9VTkRPCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIsDftvOzu7HiKCZUKSIsICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIrq5u+coJkMpIiwgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiutm/qbPWseIoJlApIiwgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSAiwfa/7LHiKCZEKSIsICAgICBJRE1fREVMRVRFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIrjwtc4gvLHFwygmQSkiLCBJRE1fU0VMRUNUQUxMCiAgICB9CgogICAgUE9QVVAgIselIgogICAgewogICAgICAgIFBPUFVQICK8scXDKCZTKSIKICAgICAgICB7CiAgICAgICAgICAgIE1FTlVJVEVNICLErSgmQykiLCAgICAgICAgIElETV9DRUxMU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICKwobfOwdkoJlIpIiwgICAgICAgICAgSURNX1JPV1NFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAivLy3zsHZKCZDKSIsICAgICAgIElETV9DT0xVTU5TRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIselKCZUKSIsICAgICAgICBJRE1fVEFCTEVTRUxFQ1QKICAgICAgICB9CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIrCht87B2SC807y6KCZDKSIsICBJRE1fQ0VMTFBST1BFUlRJRVMKICAgICAgICBNRU5VSVRFTSAix6UgvNO8uigmVCkiLCBJRE1fVEFCTEVQUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIjFEU2l0ZSC8scXDIgogICAgewogICAgICAgIE1FTlVJVEVNICLA37bzs7ux4igmVCkiLCAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICK6ubvnKCZDKSIsICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIrrZv6mz1rHiIiwgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIrjwtc4gvLHFwygmQSkiLCBJRE1fU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gIsDOvOIoJlApIiwgICAgICBJRE1fUFJJTlQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgIH0KCiAgICBQT1BVUCAitOkiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIr+tseIoJk8pIiwgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIrv1IMOiv6Egv62x4igmTikiLCAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIrTZuKUgwMy4p8C4t84gwPrA5SgmQSkuLi4iLCAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIrTru/MgwM684igmUCkiLCAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIsDftvOzu7HiIiwgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIrq5u+coJkMpIiwgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiudm3zrChseIgurm75ygmVCkiLCAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIrrZv6mz1rHiKCZQKSIsICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIsHxsNzDo7Hiv6EgtPXHz7HiKCZGKS4uLiIsIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAivNO8uigmUikiLCAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICK+y7z2IL74tMIgs7u/6yIKICAgIHsKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgIH0KCiAgICBQT1BVUCAiRFlOU1JDILHXuLIiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIri1xakgv62x4igmTykiLCAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICK79SDDor+hILi1xakgv62x4igmTikiLCBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAitNm4pSDAzLinwLi3ziDA+sDlKCZBKS4uLiIsICAgICAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIrTru/MgwM684igmUCkiLCAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICKx17iyILq4seIoJkgpIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiuvG18L/AILTZuKUgwMy4p8C4t84gwPrA5SgmUykuLi4iLCAgICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIrnosObAuLfOILyzwaQoJmcpIiwgICAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICK1pb26xanFviC+xsDMxdvAuLfOILyzwaQoJkQpLi4uIiwgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLA37bzs7ux4igmVCkiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiurm75ygmQykiLCAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiudm3ziCwobHiILq5u+coJlQpIiwgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiutm/qbPWseIoJlApIiwgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIsHxsNzDo7Hiv6EgtPXHz7HiKCZGKS4uLiIsICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIsDnu/0iLCAgICAgICAgICAgICAgICAgICAgIElETV9EWU5TUkNQTEFZCiAgICAgICAgTUVOVUlURU0gIsGkwfYiLCAgICAgICAgICAgICAgICAgICAgIElETV9EWU5TUkNTVE9QCiAgICAgICAgTUVOVUlURU0gIrzTvLooJlIpIiwgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkFSVCCx17iyIgogICAgewogICAgICAgIE1FTlVJVEVNICK4tcWpIL+tseIoJk8pIiwgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAiu/Ugw6K/oSC4tcWpIL+tseIoJk4pIiwgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIrTZuKUgwMy4p8C4t84gwPrA5SgmQSkuLi4iLCAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICLFuLDZIMDOvOIoJlApIiwgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAisde4siC6uLHiKCZIKSIsICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIrHXuLIgtNm4pSDAzLinwLi3ziDA+sDlKCZTKS4uLiIsICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIrnosObAuLfOILyzwaQoJmcpIiwgICAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICK1pb26xanFviC+xsDMxdvAuLfOILyzwaQoJkQpLi4uIiwgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLA37bzs7ux4igmVCkiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiurm75ygmQykiLCAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiudm3zrChseIgurm75ygmVCkiLCAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICK62b+ps/Wx4igmUCkiLCAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiwfGw3MOjseK/oSC09cfPseIoJkYpLi4uIiwgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiwOe7/SIsICAgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFBMQVkKICAgICAgICBNRU5VSVRFTSAiwaTB9iIsICAgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFNUT1AKICAgICAgICBNRU5VSVRFTSAitNm9wyCwqLHiIiwgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFJFV0lORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICK807y6KCZSKSIsICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICK18Ln2sdciCiAgICB7CiAgICAgICAgTUVOVUlURU0gIsXCsdcgw9/A+yIsICAgICAgICAgSURNX1RSQUNFVEFHUwogICAgICAgIE1FTlVJVEVNICK4rrzSvbogvcfG0CIsICBJRE1fUkVTT1VSQ0VGQUlMVVJFUwogICAgICAgIE1FTlVJVEVNICLD38D7IMGkurggtP3HwSIsIElETV9EVU1QVFJBQ0tJTkdJTkZPCiAgICAgICAgTUVOVUlURU0gIrXwufax1yC66re5wMzFqSIsICAgICAgICBJRE1fREVCVUdCUkVBSwogICAgICAgIE1FTlVJVEVNICK18Ln2sdcgurix4iIsICAgICAgICAgSURNX0RFQlVHVklFVwogICAgICAgIE1FTlVJVEVNICLGrriuILT9x8EiLCAgICAgICAgICBJRE1fRFVNUFRSRUUKICAgICAgICBNRU5VSVRFTSAitvPAziC0/cfBIiwgICAgICAgICBJRE1fRFVNUExJTkVTCiAgICAgICAgTUVOVUlURU0gIrXwvbrHw7e5wMzGrriuILT9x8EiLCAgIElETV9EVU1QRElTUExBWVRSRUUKICAgICAgICBNRU5VSVRFTSAixve4y8SzvawgtP3HwSIsICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICK3ucDMvsa/9Le6xq4gtP3HwSIsICAgSURNX0RVTVBMQVlPVVRSRUNUUwogICAgICAgIE1FTlVJVEVNICK43rjwuK4guPC0z8XNIiwgICAgIElETV9NRU1PUllNT05JVE9SCiAgICAgICAgTUVOVUlURU0gIry6tMkgw/jBpCIsIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJIVE1MIMD6wOUiLCAgICAgICAgICBJRE1fU0FWRUhUTUwKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiurix4iC788XCKCZCKSIsICAgICAgIElETV9CUk9XU0VNT0RFCiAgICAgICAgTUVOVUlURU0gIsbtwf0gu/PFwigmRSkiLCAgICAgICAgIElETV9FRElUTU9ERQogICAgfQoKICAgIFBPUFVQICK8vLfOIL26xam30bnZIgogICAgewogICAgICAgIE1FTlVJVEVNICK/qbHivK0gvbrFqbfRIiwgIElETV9TQ1JPTExfSEVSRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLApyIsICAgICAgICAgIElETV9TQ1JPTExfVE9QCiAgICAgICAgTUVOVUlURU0gIr7Gt6EiLCAgICAgICBJRE1fU0NST0xMX0JPVFRPTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLApyDG5MDMwfYiLCAgICAgIElETV9TQ1JPTExfUEFHRVVQCiAgICAgICAgTUVOVUlURU0gIr7Gt6EgxuTAzMH2IiwgICAgSURNX1NDUk9MTF9QQUdFRE9XTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLAp7fOIL26xam30SIsICAgIElETV9TQ1JPTExfVVAKICAgICAgICBNRU5VSVRFTSAivsa3obfOIL26xam30SIsICBJRE1fU0NST0xMX0RPV04KICAgIH0KCiAgICBQT1BVUCAisKG3ziC9usWpt9G52SIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiv6mx4rytIL26xam30SIsICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiv97CyiCwocDlwNq4riIsICAgIElETV9TQ1JPTExfTEVGVEVER0UKICAgICAgICBNRU5VSVRFTSAiv8C4pcLKILChwOXA2riuIiwgICBJRE1fU0NST0xMX1JJR0hURURHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLG5MDMwfYgv97CyiIsICAgIElETV9TQ1JPTExfUEFHRUxFRlQKICAgICAgICBNRU5VSVRFTSAixuTAzMH2IL/AuKXCyiIsICAgSURNX1NDUk9MTF9QQUdFUklHSFQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiv97CysC4t84gvbrFqbfRIiwgIElETV9TQ1JPTExfTEVGVAogICAgICAgIE1FTlVJVEVNICK/wLilwsrAuLfOIL26xam30SIsIElETV9TQ1JPTExfUklHSFQKICAgIH0KfQo=