Fetching transactions
Fetching transactions
Fetching transaction
0x60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61532080620000f36000396000f3fe608060405234801561001057600080fd5b50600436106102925760003560e01c8063a036c6de11610160578063d4a4a0e2116100d8578063eda961491161008c578063f8c8765e11610071578063f8c8765e1461065c578063f9d5c7a61461066f578063fc8c933f1461068f57600080fd5b8063eda9614914610607578063f4ab29281461063757600080fd5b8063d9169487116100bd578063d9169487146105cd578063e1d41f40146105f4578063ed24911d146102fe57600080fd5b8063d4a4a0e2146105a7578063d87a2993146105ba57600080fd5b8063aee37cb71161012f578063babce15111610114578063babce1511461055a578063c3fd262d14610581578063d38bcdee1461059457600080fd5b8063aee37cb71461053f578063b33712c51461055257600080fd5b8063a036c6de146104b9578063a0bff467146104f2578063a4d4cad114610519578063a9ab31ac1461052c57600080fd5b806370b04cb71161020e5780638ccf2be1116101c257806392c7183e116101a757806392c7183e1461045a57806395b9fdf21461047d5780639c0e89f61461049b57600080fd5b80638ccf2be1146104345780638f2839701461044757600080fd5b806377b53ece116101f357806377b53ece146103da57806379905385146103f85780638557f14f1461040d57600080fd5b806370b04cb7146103a057806376becee2146103c757600080fd5b806339602b9b116102655780634b32f9251161024a5780634b32f9251461032557806358444a99146103345780636e9960c31461035b57600080fd5b806339602b9b14610313578063439766ce1461031b57600080fd5b806306885cd914610297578063302362db146102d15780633408e470146102f85780633644e515146102fe575b600080fd5b6102be7f63062a29dd4d7f17b639d5ed36766b68ac6c508349ae5378f9259ebd0f51567f81565b6040519081526020015b60405180910390f35b6102be7f2f855d4ebb039e32f55e83fa6fb1fa919d5a9da1214de19f5a03246e4530b99f81565b466102be565b466000908152603c60205260409020546102be565b6102be6106a2565b6103236106b2565b005b604051600b81526020016102c8565b6102be7f0a2b2455f515b48f43bcc56072facbb7a76478c99c17f89004e4c0ddc2cb05cf81565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102c8565b6102be7fd13be24d963dbba2c294807751f56bec4af1a5e4c08292e2818365610091b5d881565b6103236103d5366004614a6a565b610824565b60015473ffffffffffffffffffffffffffffffffffffffff1661037b565b60345460405160ff90911681526020016102c8565b6102be7fa5a4fde5d71596b5d83b81eb30cfcacacfc6d8c3925e688549fd3a3ebacf6ba381565b610323610442366004614a6a565b61095e565b610323610455366004614a6a565b610a5d565b61046d610468366004614a9d565b610bc1565b60405190151581526020016102c8565b603b5473ffffffffffffffffffffffffffffffffffffffff1661037b565b603e5473ffffffffffffffffffffffffffffffffffffffff1661037b565b61046d6104c7366004614a6a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526036602052604090205460ff1690565b6102be7fc640b1397c8862ba581fdfb469fb434e0f862503d0e813de9bfb88abe49982ea81565b6102be610527366004614bf9565b610c90565b61046d61053a366004614c7e565b610cdb565b61046d61054d366004614d06565b611075565b6103236112e0565b6102be7f96a7aa8a7b4e64a68a4bbf0b9f36290fcefc097993fd1ed62e16735434144d7a81565b6102be61058f366004614a6a565b611433565b6103236105a2366004614a6a565b611459565b61046d6105b5366004614d73565b611511565b6103236105c8366004614dd9565b611526565b6102be7f25a556223166e2f3497b9cd83c2da22c22158d52b35b8604a4845562962cc6ea81565b61046d610602366004614e14565b611538565b61062a610615366004614e5a565b6000908152603d602052604090205460ff1690565b6040516102c89190614ea2565b600054760100000000000000000000000000000000000000000000900460ff1661046d565b61032361066a366004614ee3565b61154a565b6102be61067d366004614e5a565b603c6020526000908152604090205481565b61046d61069d366004614f2c565b6119a3565b60006106ad30611433565b905090565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314610763576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f43726564697473436f6e74726163743a2063616c6c6572206973206e6f74206160448201527f646d696e0000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600054760100000000000000000000000000000000000000000000900460ff16156107ba576040517fff129fc200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff167601000000000000000000000000000000000000000000001781556040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d2679190a1565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1633146108d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f43726564697473436f6e74726163743a2063616c6c6572206973206e6f74206160448201527f646d696e00000000000000000000000000000000000000000000000000000000606482015260840161075a565b603e5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907fec8d0e95cd1b8fc78d2336ba9ff2f5320913dad52f4bf9874439fbd696a2414a90600090a3603e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f43726564697473436f6e74726163743a2063616c6c6572206973206e6f74206160448201527f646d696e00000000000000000000000000000000000000000000000000000000606482015260840161075a565b610a13816119bd565b603b5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907fa918a35660ff813fc4db8d58ff0c8072606cc6036e3a92aa5bcdebdfb8cc2c6190600090a350565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314610b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f43726564697473436f6e74726163743a2063616c6c6572206973206e6f74206160448201527f646d696e00000000000000000000000000000000000000000000000000000000606482015260840161075a565b610b288173ffffffffffffffffffffffffffffffffffffffff16611a23565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516936201000090930416917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a36000805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b6000805462010000900473ffffffffffffffffffffffffffffffffffffffff163314610c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f43726564697473436f6e74726163743a2063616c6c6572206973206e6f74206160448201527f646d696e00000000000000000000000000000000000000000000000000000000606482015260840161075a565b610c76611ad1565b610c7f82611b42565b9050610c8b6001600255565b919050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152603560205260408082209051610cc3908490614f86565b90815260200160405180910390205490505b92915050565b60008160200135846020013514610d2d576040517fdeff5d3c0000000000000000000000000000000000000000000000000000000081526020808601356004830152830135602482015260440161075a565b610d378380614fa2565b610d45906020810190614a6a565b73ffffffffffffffffffffffffffffffffffffffff16610d686020870187614a6a565b73ffffffffffffffffffffffffffffffffffffffff1614610dfa57610d906020860186614a6a565b610d9a8480614fa2565b610da8906020810190614a6a565b6040517fcbd96cd300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161075a565b610ec8610e0a6020870187614fd6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e4b9250879150819050614fa2565b610e59906020810190614fd6565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601481527f4372656469742073656564206d69736d6174636800000000000000000000000060208201529150611cc39050565b6000806000610ed988886000611d4b565b92509250925082610f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4d696e74696e67206661696c6564000000000000000000000000000000000000604482015260640161075a565b60006080890135610f6857610f636101a08a016101808b01614a6a565b610f78565b610f7860608a0160408b01614a6a565b90506000610f8e6101a08b016101808c01614a6a565b90506000610fa0898985888887611e5e565b905080611009576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f52656465656d696e67206661696c656400000000000000000000000000000000604482015260640161075a565b61106261101960208d018d614a6a565b61102660208e018e614fd6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250612532915050565b600196505050505050505b949350505050565b600081602001358460200135146110c7576040517f841ed0370000000000000000000000000000000000000000000000000000000081526020808601356004830152830135602482015260440161075a565b6110d46020840184614a6a565b73ffffffffffffffffffffffffffffffffffffffff166110f76020870187614a6a565b73ffffffffffffffffffffffffffffffffffffffff161461112c5761111f6020860186614a6a565b610da86020850185614a6a565b61117e61113c6020870187614fd6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e59925050506020860186614fd6565b600061118c86866000611d4b565b50509050806111f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4d696e74696e67206661696c6564000000000000000000000000000000000000604482015260640161075a565b60006112038585612585565b90508061126c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4275726e696e67206661696c6564000000000000000000000000000000000000604482015260640161075a565b6112d361127c6020890189614a6a565b61128960208a018a614fd6565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112ce9250505060608b0160408c01614a6a565b612532565b5060019695505050505050565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff16331461138c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f43726564697473436f6e74726163743a2063616c6c6572206973206e6f74206160448201527f646d696e00000000000000000000000000000000000000000000000000000000606482015260840161075a565b600054760100000000000000000000000000000000000000000000900460ff166113e2576040517f33ed5ef100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff1681556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f949190a1565b600154600090610cd59073ffffffffffffffffffffffffffffffffffffffff16836125fc565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314611505576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f43726564697473436f6e74726163743a2063616c6c6572206973206e6f74206160448201527f646d696e00000000000000000000000000000000000000000000000000000000606482015260840161075a565b61150e81612690565b50565b600061151f8383600161273d565b9392505050565b61153284848484612830565b50505050565b600061151f8383600080600080611e5e565b600054610100900460ff161580801561156a5750600054600160ff909116105b806115845750303b158015611584575060005460ff166001145b611610576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161075a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561166e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6116778561292d565b61167f612a30565b61168884612690565b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16905560345460ff16156116ed576040517f7b878c0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b603480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905573ffffffffffffffffffffffffffffffffffffffff851661175560005473ffffffffffffffffffffffffffffffffffffffff620100009091041690565b73ffffffffffffffffffffffffffffffffffffffff16146117cc576000546040517f4f3da28400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff6201000090920482166004820152908616602482015260440161075a565b8373ffffffffffffffffffffffffffffffffffffffff1661180260015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614611873576001546040517f74c1955a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516602482015260440161075a565b600054760100000000000000000000000000000000000000000000900460ff16156118ca576040517f78a5a00500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118d2612ad1565b506118dc836119bd565b73ffffffffffffffffffffffffffffffffffffffff82161561193957603e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790555b801561199c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6000806119b284846001611d4b565b509095945050505050565b6119dc8173ffffffffffffffffffffffffffffffffffffffff16611a23565b603b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611a2c81612c01565b73ffffffffffffffffffffffffffffffffffffffff81163b1561150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f416464726573735574696c733a204163636f756e74206973206120636f6e747260448201527f6163740000000000000000000000000000000000000000000000000000000000606482015260840161075a565b6002805403611b3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161075a565b60028055565b6000611b9f611b546020840184614a6a565b611b616020850185614fd6565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506040850135612ca4565b611c0a611baf6020840184614a6a565b611bbc6020850185614fd6565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506040850135611c056080870160608801614a6a565b612d30565b611c1a6080830160608401614a6a565b73ffffffffffffffffffffffffffffffffffffffff16611c3d6020840184614fd6565b604051611c4b92919061503b565b604051908190039020611c616020850185614a6a565b73ffffffffffffffffffffffffffffffffffffffff167f798b29afca25233efa3000711476f6961cfa93ffd88466bb03f2f6a60f4558d48560400135604051611cac91815260200190565b60405180910390a4506001919050565b6001600255565b81604051602001611cd49190614f86565b6040516020818303038152906040528051906020012083604051602001611cfb9190614f86565b60405160208183030381529060405280519060200120148190611532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075a9190615095565b60008080611dc3611d5f6020880188614a6a565b611d6c6020890189614fd6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505060408a019050611db76101808b016101608c016150b6565b8a610180018a8a612d4b565b611dd5610180870161016088016150b6565b15611def57611def611dea6020880188614a6a565b612d78565b611e4f611dff6020880188614a6a565b611e0c6020890189614fd6565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408b019150506101808a01612df8565b92509250925093509350939050565b6000611e68612f36565b611e70611ad1565b6000611e8561058f60408a0160208b01614a6a565b90506000611ef6611e968a80614fa2565b611ea4906020810190614a6a565b611eae8b80614fa2565b611ebc906020810190614fd6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c9092505050565b9050611f028980614fa2565b60400135811015611f565780611f188a80614fa2565b604080517f66a1c0d100000000000000000000000000000000000000000000000000000000815260048101939093520135602482015260440161075a565b611f608989612f8d565b611ff4611f6d8a80614fa2565b611f7b906020810190614a6a565b611f858b80614fa2565b611f93906020810190614fd6565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408c0135611fd68d80614fa2565b60400135611fe49190615102565b611c0560408e0160208f01614a6a565b6120706120018a80614fa2565b61200f906020810190614a6a565b6120198b80614fa2565b612027906020810190614fd6565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408c0135611c0560808e0160608f01614a6a565b6120fc61208060a08b018b614fd6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805160608101909152602e80825290925090506152bd60208301396120df60a08d0160808e01614a6a565b73ffffffffffffffffffffffffffffffffffffffff16919061306f565b5060008261211361058f60408d0160208e01614a6a565b61211d9190615102565b90508015612456576121406121328b80614fa2565b6104c7906020810190614a6a565b156123c7576121648873ffffffffffffffffffffffffffffffffffffffff16612c01565b60008782116121735781612175565b875b90506000818311612187576000612191565b6121918284615102565b905087811115612222576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f437573746f6d657220726566756e64206578636565647320636f6e747269627560448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015260840161075a565b81156122f15761224261223b60408e0160208f01614a6a565b8b8461307e565b5073ffffffffffffffffffffffffffffffffffffffff8a166122648d80614fa2565b612272906020810190614fd6565b60405161228092919061503b565b6040519081900390206122938e80614fa2565b6122a1906020810190614a6a565b73ffffffffffffffffffffffffffffffffffffffff167f798b29afca25233efa3000711476f6961cfa93ffd88466bb03f2f6a60f4558d4856040516122e891815260200190565b60405180910390a45b80156123c05761231161230a60408e0160208f01614a6a565b888361307e565b5073ffffffffffffffffffffffffffffffffffffffff87166123338d80614fa2565b612341906020810190614fd6565b60405161234f92919061503b565b6040519081900390206123628e80614fa2565b612370906020810190614a6a565b73ffffffffffffffffffffffffffffffffffffffff167f798b29afca25233efa3000711476f6961cfa93ffd88466bb03f2f6a60f4558d4846040516123b791815260200190565b60405180910390a45b5050612456565b6124566123d48b80614fa2565b6123e2906020810190614a6a565b6123ec8c80614fa2565b6123fa906020810190614fd6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050838d60200160208101906124519190614a6a565b6130b0565b6000816124638c80614fa2565b604001356124719190615102565b905061247d8b80614fa2565b61248b906020810190614fd6565b60405161249992919061503b565b6040519081900390206124ac8c80614fa2565b6124ba906020810190614a6a565b73ffffffffffffffffffffffffffffffffffffffff167f849273f9b3e360304bf70dc49ebd30f116f67c5abaca91de0f5b26a3cb488927838e6040013560405161250e929190918252602082015260400190565b60405180910390a360019450505050506125286001600255565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526036602052604090205460ff161561258057600061256c8484610c90565b905080156115325761153284848385612d30565b505050565b60006125f36125976020850185614a6a565b6125a46020860186614fd6565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408601356125ed6080880160608901614a6a565b86613135565b61151f83611b42565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091908416906370a0823190602401602060405180830381865afa15801561266c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151f9190615115565b6126af8173ffffffffffffffffffffffffffffffffffffffff166131f9565b60015460405173ffffffffffffffffffffffffffffffffffffffff8084169216907fa2c2d61bfdacd18c7fcc89b9bf2acf4d0e7e558cbbe75544ca0b52e65637d63190600090a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006127ae61274f6020860186614a6a565b61275c6020870187614fd6565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050506040880190506127a761018089016101608a016150b6565b87876132a6565b6127c0610180850161016086016150b6565b156127d5576127d5611dea6020860186614a6a565b61106d6127e56020860186614a6a565b6127f26020870187614fd6565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050506040880190506132d1565b61283984613323565b604080517f25a556223166e2f3497b9cd83c2da22c22158d52b35b8604a4845562962cc6ea60208201529081018590526000906060016040516020818303038152906040528051906020012090506128c86128a0466000908152603c602052604090205490565b826128c0603b5473ffffffffffffffffffffffffffffffffffffffff1690565b87878761337d565b6000858152603d602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660021790555186917fd98937cbb5e98e16720681f861edc783da76d0387a67c6a37e8478a0fc69f39d91a25050505050565b600054610100900460ff166129c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161075a565b6129e38173ffffffffffffffffffffffffffffffffffffffff16611a23565b6000805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b600054610100900460ff16612ac7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161075a565b612acf6133d8565b565b466000908152603c60205260408120548015612aec57919050565b604080518082018252601981527f436f696e666c6f77204372656469747320436f6e74726163740000000000000060209182015281518083018352600181527f31000000000000000000000000000000000000000000000000000000000000009082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fcd58b33806da0b45fe2c2c3b3c211e0b49d31564bdf09a23ef592f28f7470d61818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c09091019092528151910120466000908152603c6020526040902081905592915050565b73ffffffffffffffffffffffffffffffffffffffff811661150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573735574696c733a205a65726f2061646472657373206e6f74206160448201527f6c6c6f7765640000000000000000000000000000000000000000000000000000606482015260840161075a565b6000612cb08484610c90565b905081811015612cf6576040517f9f5fefe3000000000000000000000000000000000000000000000000000000008152600481018290526024810183905260440161075a565b81600003611532576040517f800c163500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b811561153257612d4184848461346f565b61199c818361354b565b6000612d618888888888883560208a013561357b565b9050612d6e81848461364a565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526036602052604090205460ff1615612da95750565b73ffffffffffffffffffffffffffffffffffffffff16600090815260366020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000806000612e05612f36565b612e0d611ad1565b612e178786613674565b604084013515612ea85730612e326040860160208701614a6a565b73ffffffffffffffffffffffffffffffffffffffff1614612ea857612e5d6040850160208601614a6a565b6040517fbf8160c300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240161075a565b60008080604087013515612ece57612ebf876136fd565b9150612ecb828461512e565b92505b604088013515612ef057612ee1886136fd565b9050612eed818461512e565b92505b8215612f0157612f018a8a85613747565b612f198a8a612f1360208c018c614a6a565b866137a5565b600195509350915050612f2c6001600255565b9450945094915050565b600054760100000000000000000000000000000000000000000000900460ff1615612acf576040517f6d39fcd000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f978280614fa2565b60800135816020013514612ff3576020810135612fb48380614fa2565b6040517fa4b3915a000000000000000000000000000000000000000000000000000000008152600481019290925260800135602482015260440161075a565b6130006121328380614fa2565b613016576130166130118380614fa2565b613960565b61306b6130238380614fa2565b6130336040850160208601614a6a565b60408501356130486080870160608801614a6a565b61305860a0880160808901614a6a565b61306560a0890189614fd6565b88613a9c565b5050565b606061106d8484600085613acb565b6001546000906130a69073ffffffffffffffffffffffffffffffffffffffff16858585613be4565b5060019392505050565b60006130ba6106a2565b90506130c782308561307e565b506000816130d36106a2565b6130dd9190615102565b9050838114613122576040517ff08613b2000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161075a565b61312d868683613747565b505050505050565b8351602080860191909120604080517f96a7aa8a7b4e64a68a4bbf0b9f36290fcefc097993fd1ed62e16735434144d7a8185015273ffffffffffffffffffffffffffffffffffffffff808a168284015260608201939093526080810187905291851660a0830152833560c08301528284013560e080840191909152815180840390910181526101009092019052805191012061312d81836131f260005473ffffffffffffffffffffffffffffffffffffffff620100009091041690565b6001613c06565b61320281612c01565b73ffffffffffffffffffffffffffffffffffffffff81163b61150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f416464726573735574696c733a204163636f756e74206973206e6f742061206360448201527f6f6e747261637400000000000000000000000000000000000000000000000000606482015260840161075a565b60006132bb8787878787356020890135613c62565b90506132c881848461364a565b50505050505050565b60006132db612f36565b6132e3611ad1565b6132ed8483613674565b60006132fa858585613d0b565b9050613314858561330e6020870187614a6a565b846137a5565b600191505061151f6001600255565b6000818152603d602052604081205460ff16600281111561334657613346614e73565b1461150e576040517f9508f1f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020810184905280820183905260f885901b7fff000000000000000000000000000000000000000000000000000000000000001660608201528151604181830301815260619091019091526132c887878784613d39565b600054610100900460ff16611cbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161075a565b73ffffffffffffffffffffffffffffffffffffffff831660009081526035602052604080822090516134a2908590614f86565b9081526020016040518091039020549050818110156134f7576040517f9ad24e60000000000000000000000000000000000000000000000000000000008152600481018290526024810183905260440161075a565b6135018282615102565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260356020526040908190209051613535908690614f86565b9081526040519081900360200190205550505050565b6001546000906135729073ffffffffffffffffffffffffffffffffffffffff168484613e21565b50600192915050565b60008061359561359036899003890189615141565b613e42565b905060006135ab61359036889003880188615141565b895160209a8b0120604080517f0a2b2455f515b48f43bcc56072facbb7a76478c99c17f89004e4c0ddc2cb05cf818e015273ffffffffffffffffffffffffffffffffffffffff9d909d168d82015260608d019190915260808c019390935296151560a08b01525060c08901959095525060e087019190915261010080870191909152825180870390910181526101209095019091525050815191012090565b612580838361366e603b5473ffffffffffffffffffffffffffffffffffffffff1690565b84613c06565b73ffffffffffffffffffffffffffffffffffffffff82166136c1576040517f067950ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306136d26040830160208401614a6a565b73ffffffffffffffffffffffffffffffffffffffff161461306b57612e5d6040820160208301614a6a565b6000806137086106a2565b905061373283613716613f25565b73ffffffffffffffffffffffffffffffffffffffff1690613f80565b60008161373d6106a2565b61106d9190615102565b73ffffffffffffffffffffffffffffffffffffffff831660009081526035602052604090819020905182919061377e908590614f86565b9081526020016040518091039020600082825461379b919061512e565b9091555050505050565b63773594008111613832578173ffffffffffffffffffffffffffffffffffffffff16836040516137d59190614f86565b60405180910390208573ffffffffffffffffffffffffffffffffffffffff167f620daa4c0a37f945f6c485ef71874ec92d24952176a03eef2f46049e17db2a728460405161382591815260200190565b60405180910390a4611532565b805b63773594008111156138d6578273ffffffffffffffffffffffffffffffffffffffff16846040516138659190614f86565b60405180910390208673ffffffffffffffffffffffffffffffffffffffff167f620daa4c0a37f945f6c485ef71874ec92d24952176a03eef2f46049e17db2a7263773594006040516138b991815260200190565b60405180910390a46138cf637735940082615102565b9050613834565b801561199c578273ffffffffffffffffffffffffffffffffffffffff16846040516139019190614f86565b60405180910390208673ffffffffffffffffffffffffffffffffffffffff167f620daa4c0a37f945f6c485ef71874ec92d24952176a03eef2f46049e17db2a728460405161395191815260200190565b60405180910390a45050505050565b60007fc640b1397c8862ba581fdfb469fb434e0f862503d0e813de9bfb88abe49982ea6139906020840184614a6a565b61399d6020850185614fd6565b6040516139ab92919061503b565b60408051918290038220602083019490945273ffffffffffffffffffffffffffffffffffffffff90921681830152606080820193909352908401356080808301919091529184013560a08201529083013560c082015260e001604051602081830303815290604052805190602001209050613a2e826080013583606001356140a7565b61306b613a47466000908152603c602052604090205490565b82613a556020860186614a6a565b613a6260a0870187614fd6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613d3992505050565b6000613ab489898989898989893560208b01356140e9565b9050613ac081836141c2565b505050505050505050565b606082471015613b5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f416464726573735574696c733a20696e73756666696369656e742062616c616e60448201527f636520666f722063616c6c000000000000000000000000000000000000000000606482015260840161075a565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051613b869190614f86565b60006040518083038185875af1925050503d8060008114613bc3576040519150601f19603f3d011682016040523d82523d6000602084013e613bc8565b606091505b5091509150613bd9878383876141e6565b979650505050505050565b61153273ffffffffffffffffffffffffffffffffffffffff8516848484614211565b613c15602084013584356140a7565b613c4f613c2e466000908152603c602052604090205490565b8584613c4060608801604089016151cf565b8760600135886080013561337d565b80156115325761153283602001356142ed565b600080613c7761359036889003880188615141565b8751602098890120604080517fa5a4fde5d71596b5d83b81eb30cfcacacfc6d8c3925e688549fd3a3ebacf6ba3818c015273ffffffffffffffffffffffffffffffffffffffff9b909b168b82015260608b019190915260808a019190915294151560a0890152505060c086019190915260e08086019190915281518086039091018152610100909401905250815191012090565b60008160400135600003613d215750600061151f565b6000613d2c836136fd565b905061106d858583613747565b73ffffffffffffffffffffffffffffffffffffffff8216613d86576040517f3c87a30200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f1901000000000000000000000000000000000000000000000000000000000000602082015260228101859052604281018490526000906062016040516020818303038152906040528051906020012090506000613de884838561434e565b90508061312d576040517fd066dc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258073ffffffffffffffffffffffffffffffffffffffff841683836143bf565b60007f63062a29dd4d7f17b639d5ed36766b68ac6c508349ae5378f9259ebd0f51567f826000015183602001518460400151856060015186608001518760a001518860c001518960e001518a6101000151604051602001613f089a99989796959493929190998a5273ffffffffffffffffffffffffffffffffffffffff98891660208b01529690971660408901526060880194909452608087019290925260a086015260c085015260ff1660e08401526101008301919091526101208201526101400190565b604051602081830303815290604052805190602001209050919050565b603e5460009073ffffffffffffffffffffffffffffffffffffffff1615613f635750603e5473ffffffffffffffffffffffffffffffffffffffff1690565b5060015473ffffffffffffffffffffffffffffffffffffffff1690565b8060400135600003613f90575050565b73ffffffffffffffffffffffffffffffffffffffff821663e3ee160e613fb96020840184614a6a565b613fc96040850160208601614a6a565b60408501356060860135608087013560a0880135613fed60e08a0160c08b016151cf565b60405160e089811b7fffffffff0000000000000000000000000000000000000000000000000000000016825273ffffffffffffffffffffffffffffffffffffffff988916600483015296909716602488015260448701949094526064860192909252608485015260a484015260ff1660c483015284013560e482015261010084013561010482015261012401600060405180830381600087803b15801561409357600080fd5b505af115801561312d573d6000803e3d6000fd5b8042106140e0576040517f350c91e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61306b82613323565b60008085856040516140fc92919061503b565b60405180910390209050600061411a8c614115906151ea565b614415565b604080517f2f855d4ebb039e32f55e83fa6fb1fa919d5a9da1214de19f5a03246e4530b99f602082015290810182905273ffffffffffffffffffffffffffffffffffffffff808e166060830152608082018d9052808c1660a08301528a1660c082015260e08101849052610100810187905261012081018690529091506101400160405160208183030381529060405280519060200120925050509998505050505050505050565b61306b82826131f2603b5473ffffffffffffffffffffffffffffffffffffffff1690565b6060831561420757825160000361420057614200856131f9565b508161106d565b61106d83836144bb565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526115329085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526144ff565b6000818152603d602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fd2059d4f35bc78bfc0c2688ce24a013cb4a6a1345059a9db8a4c31d13ec302b591a250565b600080600061435d858561460e565b9092509050600081600481111561437657614376614e73565b1480156143ae57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806125285750612528868686614653565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526125809084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161426b565b60007fd13be24d963dbba2c294807751f56bec4af1a5e4c08292e2818365610091b5d882600001518360200151805190602001208460400151856060015186608001518760a0015180519060200120604051602001613f08979695949392919096875273ffffffffffffffffffffffffffffffffffffffff95909516602087015260408601939093526060850191909152608084015260a083015260c082015260e00190565b8151156144cb5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075a9190615095565b6000614561826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166147b09092919063ffffffff16565b90508051600014806145825750808060200190518101906145829190615286565b612580576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161075a565b60008082516041036146445760208301516040840151606085015160001a614638878285856147bf565b9450945050505061464c565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b868660405160240161468a9291906152a3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516147139190614f86565b600060405180830381855afa9150503d806000811461474e576040519150601f19603f3d011682016040523d82523d6000602084013e614753565b606091505b509150915081801561476757506020815110155b8015612528575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906147a59083016020908101908401615115565b149695505050505050565b606061106d84846000856148ae565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156147f657506000905060036148a5565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561484a573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661489e576000600192509250506148a5565b9150600090505b94509492505050565b606082471015614940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161075a565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516149699190614f86565b60006040518083038185875af1925050503d80600081146149a6576040519150601f19603f3d011682016040523d82523d6000602084013e6149ab565b606091505b5091509150613bd987838387606083156142075782516000036142005773ffffffffffffffffffffffffffffffffffffffff85163b614200576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161075a565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c8b57600080fd5b600060208284031215614a7c57600080fd5b61151f82614a46565b600060808284031215614a9757600080fd5b50919050565b600060208284031215614aaf57600080fd5b813567ffffffffffffffff811115614ac657600080fd5b61106d84828501614a85565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614b2557614b25614ad2565b60405290565b60405160c0810167ffffffffffffffff81118282101715614b2557614b25614ad2565b600082601f830112614b5f57600080fd5b813567ffffffffffffffff80821115614b7a57614b7a614ad2565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715614bc057614bc0614ad2565b81604052838152866020858801011115614bd957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215614c0c57600080fd5b614c1583614a46565b9150602083013567ffffffffffffffff811115614c3157600080fd5b614c3d85828601614b4e565b9150509250929050565b60006102a08284031215614a9757600080fd5b600060a08284031215614a9757600080fd5b600060c08284031215614a9757600080fd5b6000806000806101808587031215614c9557600080fd5b843567ffffffffffffffff80821115614cad57600080fd5b614cb988838901614c47565b9550614cc88860208901614c5a565b945060c0870135915080821115614cde57600080fd5b50614ceb87828801614c6c565b925050614cfb8660e08701614c5a565b905092959194509250565b6000806000806101808587031215614d1d57600080fd5b843567ffffffffffffffff80821115614d3557600080fd5b614d4188838901614c47565b9550614d508860208901614c5a565b945060c0870135915080821115614d6657600080fd5b50614ceb87828801614a85565b60008060c08385031215614d8657600080fd5b823567ffffffffffffffff811115614d9d57600080fd5b83016101808186031215614db057600080fd5b9150614dbf8460208501614c5a565b90509250929050565b803560ff81168114610c8b57600080fd5b60008060008060808587031215614def57600080fd5b84359350614dff60208601614dc8565b93969395505050506040820135916060013590565b60008060c08385031215614e2757600080fd5b823567ffffffffffffffff811115614e3e57600080fd5b614e4a85828601614c6c565b925050614dbf8460208501614c5a565b600060208284031215614e6c57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310614edd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060008060808587031215614ef957600080fd5b614f0285614a46565b9350614f1060208601614a46565b9250614f1e60408601614a46565b9150614cfb60608601614a46565b60008060c08385031215614f3f57600080fd5b823567ffffffffffffffff811115614f5657600080fd5b614e4a85828601614c47565b60005b83811015614f7d578181015183820152602001614f65565b50506000910152565b60008251614f98818460208701614f62565b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112614f9857600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261500b57600080fd5b83018035915067ffffffffffffffff82111561502657600080fd5b60200191503681900382131561464c57600080fd5b8183823760009101908152919050565b60008151808452615063816020860160208601614f62565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061151f602083018461504b565b801515811461150e57600080fd5b6000602082840312156150c857600080fd5b813561151f816150a8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610cd557610cd56150d3565b60006020828403121561512757600080fd5b5051919050565b80820180821115610cd557610cd56150d3565b6000610120828403121561515457600080fd5b61515c614b01565b61516583614a46565b815261517360208401614a46565b602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201526151ac60c08401614dc8565b60c082015260e08381013590820152610100928301359281019290925250919050565b6000602082840312156151e157600080fd5b61151f82614dc8565b600060c082360312156151fc57600080fd5b615204614b2b565b61520d83614a46565b8152602083013567ffffffffffffffff8082111561522a57600080fd5b61523636838701614b4e565b602084015260408501356040840152606085013560608401526080850135608084015260a085013591508082111561526d57600080fd5b5061527a36828601614b4e565b60a08301525092915050565b60006020828403121561529857600080fd5b815161151f816150a8565b82815260406020820152600061106d604083018461504b56fe43726564697473436f6e74726163743a20436865636b6f757420636f6e74726163742063616c6c206661696c6564a264697066735822122033922fa310552d9308d229f28282345e3939de56aa16f18e05d0cf24c1e93c0264736f6c63430008140033