60806040526000600460006101000a81548160ff0219169083151502179055506012600d60006101000a81548160ff021916908360ff1602179055503480156200004857600080fd5b50604051602080620032738339810180604052810190808051906020019092919050505033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200012a600d60009054906101000a900460ff1660ff16600a0a633b9aca00620002816401000000000262002e72179091906401000000009004565b6000819055506040805190810160405280600c81526020017f53746f626f7820546f6b656e0000000000000000000000000000000000000000815250600b90805190602001906200017d929190620002c0565b506040805190810160405280600481526020017f5354425500000000000000000000000000000000000000000000000000000000815250600c9080519060200190620001cb929190620002c0565b50600054600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000546040518082815260200191505060405180910390a3506200036f565b6000806000841415620002985760009150620002b9565b8284029050828482811515620002aa57fe5b04141515620002b557fe5b8091505b5092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030357805160ff191683800117855562000334565b8280016001018555821562000334579182015b828111156200033357825182559160200191906001019062000316565b5b50905062000343919062000347565b5090565b6200036c91905b80821115620003685760008160009055506001016200034e565b5090565b90565b612ef4806200037f6000396000f3006080604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610185578063095ea7b31461021557806318160ddd1461027a57806323b872dd146102a5578063289de6151461032a578063313ce5671461042d57806332cf261d1461045e57806342966c68146104b55780634c00edba146104e257806356febaa0146104f957806370a08231146105a2578063721678e2146105f95780638da5cb5b1461062857806395d89b411461067f578063a9059cbb1461070f578063dd62ed3e14610774578063f2fde38b146107eb575b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f43616e6e6f742073656e6420457468657220746f207468697320636f6e74726181526020017f637400000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b34801561019157600080fd5b5061019a61082e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101da5780820151818401526020810190506101bf565b50505050905090810190601f1680156102075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022157600080fd5b50610260600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cc565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610bf7565b6040518082815260200191505060405180910390f35b3480156102b157600080fd5b50610310600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bfd565b604051808215151515815260200191505060405180910390f35b34801561033657600080fd5b5061033f611453565b604051808060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561038957808201518184015260208101905061036e565b50505050905090810190601f1680156103b65780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156103ef5780820151818401526020810190506103d4565b50505050905090810190601f16801561041c5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561043957600080fd5b506104426115a2565b604051808260ff1660ff16815260200191505060405180910390f35b34801561046a57600080fd5b5061049f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b5565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104e060048036038101908080359060200190929190505050611601565b005b3480156104ee57600080fd5b506104f76118a4565b005b34801561050557600080fd5b506105a060048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506119e6565b005b3480156105ae57600080fd5b506105e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122a6565b6040518082815260200191505060405180910390f35b34801561060557600080fd5b5061060e6122ef565b604051808215151515815260200191505060405180910390f35b34801561063457600080fd5b5061063d612306565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561068b57600080fd5b5061069461232c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106d45780820151818401526020810190506106b9565b50505050905090810190601f1680156107015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561071b57600080fd5b5061075a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123ca565b604051808215151515815260200191505060405180910390f35b34801561078057600080fd5b506107d5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128e0565b6040518082815260200191505060405180910390f35b3480156107f757600080fd5b5061082c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612967565b005b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108c45780601f10610899576101008083540402835291602001916108c4565b820191906000526020600020905b8154815290600101906020018083116108a757829003601f168201915b505050505081565b60003373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610998576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f43616e6e6f7420617070726f766520616e20616c6c6f77616e636520746f207381526020017f656c66000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f43616e6e6f7420617070726f766520636f6e747261637420616e20616c6c6f7781526020017f616e63650000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f43616e6e6f7420617070726f76652030783020616e20616c6c6f77616e63650081525060200191505060405180910390fd5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60003373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610cc9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001807f43616e6e6f74207472616e736665722066726f6d2073656c662c20757365207481526020017f72616e736665722066756e6374696f6e20696e7374656164000000000000000081525060400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610d3157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1515610dcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f43616e6e6f74207472616e736665722066726f6d206f7220746f20436f6e747281526020017f616374000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610e70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e6e6f74207472616e7366657220746f203078300000000000000000000081525060200191505060405180910390fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610f4d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f4e6f7420656e6f7567682062616c616e636520746f207472616e73666572206681526020017f726f6d000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611067576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f4e6f7420656e6f75676820616c6c6f77616e636520746f207472616e7366657281526020017f2066726f6d00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000821180156111065750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110483600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b115b15156111a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f416d6f756e74206d757374206265203e203020746f207472616e73666572206681526020017f726f6d000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6111aa8483612bfb565b6111fc82600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e5990919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061129182600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061136382600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e5990919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6060806000600b600c600054828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f45780601f106114c9576101008083540402835291602001916114f4565b820191906000526020600020905b8154815290600101906020018083116114d757829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115905780601f1061156557610100808354040283529160200191611590565b820191906000526020600020905b81548152906001019060200180831161157357829003601f168201915b50505050509150925092509250909192565b600d60009054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4f6e6c792074686520436f6e7472616374206f776e65722063616e207065726681526020017f6f726d207468697320616374696f6e000000000000000000000000000000000081525060400191505060405180910390fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111515156117a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682062616c616e636520746f206275726e00000000000081525060200191505060405180910390fd5b6117f581600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e5990919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061184d81600054612e5990919063ffffffff16565b6000819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4f6e6c792074686520436f6e7472616374206f776e65722063616e207065726681526020017f6f726d207468697320616374696f6e000000000000000000000000000000000081525060400191505060405180910390fd5b4290506001600460006101000a81548160ff02191690831515021790555080600581905550807f45ef3fbfb2b569bf30c97c4f489d0c1fb879c054638ba6f09f48461d8e7d219e60405160405180910390a250565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ad3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4f6e6c792074686520436f6e7472616374206f776e65722063616e207065726681526020017f6f726d207468697320616374696f6e000000000000000000000000000000000081525060400191505060405180910390fd5b81518351141515611b72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001807f4c656e677468206f6620616464726573736573202620746f6b656e20616d6f7581526020017f6e747320617265206e6f74207468652073616d6500000000000000000000000081525060400191505060405180910390fd5b600090505b82518110156122a157611bb2670de0b6b3a76400008383815181101515611b9a57fe5b90602001906020020151612e7290919063ffffffff16565b8282815181101515611bc057fe5b9060200190602002018181525050600073ffffffffffffffffffffffffffffffffffffffff168382815181101515611bf457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515611cb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f56657374696e672066756e64732063616e6e6f742062652073656e7420746f2081526020017f307830000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008282815181101515611cc057fe5b90602001906020020151111515611d3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f416d6f756e74206d757374206265203e2030000000000000000000000000000081525060200191505060405180910390fd5b8181815181101515611d4d57fe5b9060200190602002015160066000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515611e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682062616c616e636520746f207665737400000000000081525060200191505060405180910390fd5b600660008483815181101515611e4057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f058383815181101515611e9657fe5b90602001906020020151600660008786815181101515611eb257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b111515611f7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496e7465726e616c2076657374696e67206572726f720000000000000000000081525060200191505060405180910390fd5b6120058282815181101515611f8b57fe5b9060200190602002015160066000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e5990919063ffffffff16565b60066000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120ea828281518110151561207b57fe5b9060200190602002015160066000868581518110151561209757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b6006600085848151811015156120fc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828181518110151561215257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84848151811015156121da57fe5b906020019060200201516040518082815260200191505060405180910390a3602060405190810160405280838381518110151561221357fe5b90602001906020020151815250600760008201518160000155905050600760086000858481518110151561224357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015481600001559050508080600101915050611b77565b505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600460009054906101000a900460ff16905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123c25780601f10612397576101008083540402835291602001916123c2565b820191906000526020600020905b8154815290600101906020018083116123a557829003601f168201915b505050505081565b60003373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612470576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616e6e6f74207472616e7366657220746f2073656c6600000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f43616e6e6f74207472616e7366657220746f20436f6e7472616374000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156125b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e6e6f74207472616e7366657220746f203078300000000000000000000081525060200191505060405180910390fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156126085750600082115b80156126a35750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a183600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b115b151561273d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f43616e6e6f74207472616e7366657220284e6f7420656e6f7567682062616c6181526020017f6e6365290000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6127473383612bfb565b61279982600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e5990919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061282e82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4f6e6c792074686520436f6e7472616374206f776e65722063616e207065726681526020017f6f726d207468697320616374696f6e000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f4e6577206f776e65722063616e6e6f742062652063757272656e74206f776e6581526020017f720000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808284019050838110151515612bf157fe5b8091505092915050565b6000600460009054906101000a900460ff1615612e545760055442039050600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600181905550600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015460028190555060025460038190555062794a00811015612cf057612ce56064612cd76005600254612e7290919063ffffffff16565b612ead90919063ffffffff16565b600381905550612d8b565b62794a008110158015612d05575062f1428081105b15612d3e57612d336064612d25601e600254612e7290919063ffffffff16565b612ead90919063ffffffff16565b600381905550612d8a565b62f142808110158015612d5457506301e1338081105b15612d8957612d826064612d746037600254612e7290919063ffffffff16565b612ead90919063ffffffff16565b6003819055505b5b5b612da2600354600254612e5990919063ffffffff16565b612db783600154612e5990919063ffffffff16565b10151515612e53576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001807f4d757374206d61696e7461696e20636f72726563742025206f6620505643206481526020017f7572696e67206c6f636b757020706572696f647300000000000000000000000081525060400191505060405180910390fd5b5b505050565b6000828211151515612e6757fe5b818303905092915050565b6000806000841415612e875760009150612ea6565b8284029050828482811515612e9857fe5b04141515612ea257fe5b8091505b5092915050565b6000808284811515612ebb57fe5b04905080915050929150505600a165627a7a72305820c08c55facfb6c4b1669ca082e38f3599fb9d81c3f4ad219f9bf1c56703067af2002900000000000000000000000006b54aa147890c22477c2f3c6a2e6aa14b1107fe