0x60806040526004361061039b5760003560e01c806350a8e016116101dc578063a9059cbb11610102578063cf847706116100a0578063ee5d9c2d1161006f578063ee5d9c2d14610ab9578063fb78680d14610ace578063fdb78c0e14610aee578063feadde9c14610b0f57600080fd5b8063cf84770614610a02578063dd62ed3e14610a33578063eafb5a3c14610a79578063eb50e70e14610a9957600080fd5b8063b3d514fb116100dc578063b3d514fb1461060c578063b7df8b36146109a8578063bcd96a25146109c2578063bfc2fc35146109e257600080fd5b8063a9059cbb14610968578063ab558e4d14610988578063b1b08f711461060c57600080fd5b8063715018a61161017a578063893d20e811610149578063893d20e8146109205780638a63bd9b1461093e5780638a8c523c1461095357806395d89b411461047657600080fd5b8063715018a6146108b657806375f0a874146108cb57806378648edf146108eb57806380c581d11461090057600080fd5b80635c24b074116101b65780635c24b074146108125780635cce86cd146108325780636ebd00781461086b57806370a082311461088057600080fd5b806350a8e016146107bd578063590ffdce146107dc5780635a6f0918146107fc57600080fd5b80632b112e49116102c15780633f3cf56c1161025f5780634bbb93eb1161022e5780634bbb93eb146107245780634e718e48146107445780634fb2e45d146107645780634fbee1931461078457600080fd5b80633f3cf56c146106b4578063452ed4f1146106d457806346ea7ac8146106f45780634ada218b1461070a57600080fd5b8063313ce5671161029b578063313ce5671461063857806332cde6641461065457806333251a0b1461067457806336fddb041461069457600080fd5b80632b112e49146105f75780632b28fc7a1461060c5780632e8fa8211461062257600080fd5b8063095ea7b31161033957806323b872dd1161030857806323b872dd1461058157806326003957146105a15780632610eaca146105c157806328577751146105e157600080fd5b8063095ea7b3146104fe5780630dcbcf1c1461051e5780630fa604e41461055757806318160ddd1461056c57600080fd5b8063069d955f11610375578063069d955f1461042057806306fdde03146104765780630758d924146104af57806307dd79e0146104d457600080fd5b806303fd2a45146103a75780630445b667146103da578063044df726146103fe57600080fd5b366103a257005b600080fd5b3480156103b357600080fd5b506103bd61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103e657600080fd5b506103f0600e5481565b6040519081526020016103d1565b34801561040a57600080fd5b5061041e6104193660046139e7565b610b2f565b005b34801561042c57600080fd5b506009546104519061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016103d1565b34801561048257600080fd5b50604080518082018252600a8152692227a3a2a42aa72a22a960b11b602082015290516103d19190613a20565b3480156104bb57600080fd5b50600b546103bd9061010090046001600160a01b031681565b3480156104e057600080fd5b50600b546104ee9060ff1681565b60405190151581526020016103d1565b34801561050a57600080fd5b506104ee610519366004613a83565b610bed565b34801561052a57600080fd5b506104ee610539366004613aaf565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561056357600080fd5b506103f0610c04565b34801561057857600080fd5b506103f0610c24565b34801561058d57600080fd5b506104ee61059c366004613acc565b610c40565b3480156105ad57600080fd5b5061041e6105bc366004613b0d565b610cb8565b3480156105cd57600080fd5b5061041e6105dc366004613c05565b610e01565b3480156105ed57600080fd5b506103f060115481565b34801561060357600080fd5b506103f0610fb6565b34801561061857600080fd5b506103f06107d081565b34801561062e57600080fd5b506103f0600f5481565b34801561064457600080fd5b50604051601281526020016103d1565b34801561066057600080fd5b5061041e61066f366004613cde565b611036565b34801561068057600080fd5b5061041e61068f366004613aaf565b6111e9565b3480156106a057600080fd5b5061041e6106af366004613d21565b61129a565b3480156106c057600080fd5b5061041e6106cf366004613b0d565b61130d565b3480156106e057600080fd5b50600c546103bd906001600160a01b031681565b34801561070057600080fd5b506103f06109c481565b34801561071657600080fd5b506014546104ee9060ff1681565b34801561073057600080fd5b506103f061073f366004613d3f565b611462565b34801561075057600080fd5b5061041e61075f366004613d3f565b611496565b34801561077057600080fd5b5061041e61077f366004613aaf565b611534565b34801561079057600080fd5b506104ee61079f366004613aaf565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156107c957600080fd5b506014546104ee90610100900460ff1681565b3480156107e857600080fd5b5061041e6107f7366004613d21565b611736565b34801561080857600080fd5b506103f060155481565b34801561081e57600080fd5b5061041e61082d366004613aaf565b6117a9565b34801561083e57600080fd5b506104ee61084d366004613aaf565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561087757600080fd5b506103f0611883565b34801561088c57600080fd5b506103f061089b366004613aaf565b6001600160a01b031660009081526001602052604090205490565b3480156108c257600080fd5b5061041e61189e565b3480156108d757600080fd5b50600d546103bd906001600160a01b031681565b3480156108f757600080fd5b5061041e61194b565b34801561090c57600080fd5b5061041e61091b366004613d21565b6119a2565b34801561092c57600080fd5b506016546001600160a01b03166103bd565b34801561094a57600080fd5b506104ee611b7d565b34801561095f57600080fd5b5061041e611bed565b34801561097457600080fd5b506104ee610983366004613a83565b611e24565b34801561099457600080fd5b5061041e6109a3366004613aaf565b611e3b565b3480156109b457600080fd5b506010546104ee9060ff1681565b3480156109ce57600080fd5b5061041e6109dd366004613d58565b611fc5565b3480156109ee57600080fd5b5061041e6109fd3660046139e7565b6120e8565b348015610a0e57600080fd5b50600a546104519061ffff808216916201000081048216916401000000009091041683565b348015610a3f57600080fd5b506103f0610a4e366004613d8b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a8557600080fd5b5061041e610a94366004613aaf565b612193565b348015610aa557600080fd5b5061041e610ab4366004613aaf565b612591565b348015610ac557600080fd5b5061041e612651565b348015610ada57600080fd5b5061041e610ae9366004613db9565b61272d565b348015610afa57600080fd5b50600d546104ee90600160a81b900460ff1681565b348015610b1b57600080fd5b5061041e610b2a366004613d21565b6129ef565b6016546001600160a01b03163314610b7c5760405162461bcd60e51b8152602060048201526011602482015260008051602061407183398151915260448201526064015b60405180910390fd5b60145460405163efbdbabd60e01b815283151560048201528215156024820152620100009091046001600160a01b03169063efbdbabd906044015b600060405180830381600087803b158015610bd157600080fd5b505af1158015610be5573d6000803e3d6000fd5b505050505050565b6000610bfa338484612a62565b5060015b92915050565b6000610c126012600a613ee5565b601354610c1f9190613ef4565b905090565b6000610c326012600a613ee5565b610c1f90631dcd6500613f16565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610ca5576001600160a01b038416600090815260046020908152604080832033845290915281208054849290610c9f908490613f2d565b90915550505b610cb0848484612b5b565b949350505050565b6016546001600160a01b03163314610d005760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6064610d0e6012600a613ee5565b610d1c90631dcd6500613f16565b610d269190613ef4565b8183610d346012600a613ee5565b610d4290631dcd6500613f16565b610d4c9190613f16565b610d569190613ef4565b1015610dca5760405162461bcd60e51b815260206004820152603060248201527f4d61782057616c6c657420616d74206d7573742062652061626f76652031252060448201527f6f6620746f74616c20737570706c792e000000000000000000000000000000006064820152608401610b73565b8082610dd86012600a613ee5565b610de690631dcd6500613f16565b610df09190613f16565b610dfa9190613ef4565b6013555050565b6016546001600160a01b03163314610e495760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b8051825114610e9a5760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610b73565b60005b82518161ffff161015610fb157610eb66012600a613ee5565b828261ffff1681518110610ecc57610ecc613f40565b6020026020010151610ede9190613f16565b336000908152600160205260409020541015610f3c5760405162461bcd60e51b815260206004820152601260248201527f4e6f7420656e6f75676820746f6b656e732e00000000000000000000000000006044820152606401610b73565b610f9e33848361ffff1681518110610f5657610f56613f40565b60200260200101516012600a610f6c9190613ee5565b858561ffff1681518110610f8257610f82613f40565b6020026020010151610f949190613f16565b6000806001613031565b5080610fa981613f56565b915050610e9d565b505050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead60009081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54909161101291613f77565b61101e6012600a613ee5565b61102c90631dcd6500613f16565b610c1f9190613f2d565b6016546001600160a01b0316331461107e5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600b5460ff16156110d15760405162461bcd60e51b815260206004820152601160248201527f546178657320617265206c6f636b65642e0000000000000000000000000000006044820152606401610b73565b6107d08361ffff16111580156110ed57506107d08261ffff1611155b80156110ff57506107d08161ffff1611155b61114b5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420657863656564206d6178696d756d732e0000000000000000006044820152606401610b73565b6109c46111588385613f8a565b61ffff1611156111aa5760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f742065786365656420726f756e6474726970206d6178696d756d2e6044820152606401610b73565b6009805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6016546001600160a01b031633146112315760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6014546040516333251a0b60e01b81526001600160a01b03838116600483015262010000909204909116906333251a0b90602401600060405180830381600087803b15801561127f57600080fd5b505af1158015611293573d6000803e3d6000fd5b5050505050565b6016546001600160a01b031633146112e25760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6016546001600160a01b031633146113555760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6103e86113646012600a613ee5565b61137290631dcd6500613f16565b61137d906005613f16565b6113879190613ef4565b81836113956012600a613ee5565b6113a390631dcd6500613f16565b6113ad9190613f16565b6113b79190613ef4565b101561142b5760405162461bcd60e51b815260206004820152603760248201527f4d6178205472616e73616374696f6e20616d74206d7573742062652061626f7660448201527f6520302e3525206f6620746f74616c20737570706c792e0000000000000000006064820152608401610b73565b80826114396012600a613ee5565b61144790631dcd6500613f16565b6114519190613f16565b61145b9190613ef4565b6012555050565b600c546001600160a01b03166000908152600160205260408120546127109061148c908490613f16565b610bfe9190613ef4565b6016546001600160a01b031633146114de5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b609681111561152f5760405162461bcd60e51b815260206004820152601660248201527f43616e6e6f74207365742061626f766520312e35252e000000000000000000006044820152606401610b73565b601155565b6016546001600160a01b0316331461157c5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b0381166115f85760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610b73565b61deac196001600160a01b038216016116795760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610b73565b601654611690906001600160a01b03166000611736565b61169b816001611736565b6016546001600160a01b0316600090815260016020526040902054156116e4576016546001600160a01b03166000818152600160205260409020546116e291908390610f94565b505b601680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6016546001600160a01b0316331461177e5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6016546001600160a01b031633146117f15760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b60145460ff161561180157600080fd5b306001600160a01b038216036118595760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e0000000000000000000000000000000000006044820152606401610b73565b601480546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b60006118916012600a613ee5565b601254610c1f9190613ef4565b6016546001600160a01b031633146118e65760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6016546118fd906001600160a01b03166000611736565b601680546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6016546001600160a01b031633146119935760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600b805460ff19166001179055565b6016546001600160a01b031633146119ea5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b80611a48576001600160a01b03828116600081815260026020526040808220805460ff1916905560145490516380c581d160e01b815260048101939093526024830191909152620100009004909116906380c581d190604401610bb7565b60035415611aaf576203f48060035442611a629190613f2d565b11611aaf5760405162461bcd60e51b815260206004820152600f60248201527f332044617920636f6f6c646f776e2e00000000000000000000000000000000006044820152606401610b73565b6001600160a01b03821660009081526002602052604090205460ff1615611b185760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e00000000006044820152606401610b73565b6001600160a01b0382811660008181526002602052604090819020805460ff191660019081179091554260035560145491516380c581d160e01b815260048101939093526024830152620100009004909116906380c581d190604401610bb7565b5050565b6016546000906001600160a01b03163314611bc85760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600b54611be790309061010090046001600160a01b0316600019612a62565b50600190565b6016546001600160a01b03163314611c355760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b60145460ff1615611c885760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610b73565b601454610100900460ff16611cdf5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610b73565b6014546201000090046001600160a01b0316611d0f576014805462010000600160b01b0319163062010000021790555b601454600c54604051631b04570d60e21b81526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260126064820152620100009092041690636c115c3490608401600060405180830381600087803b158015611d8157600080fd5b505af1925050508015611d92575060015b506014805460ff19166001179055600c5461271090611dcf906001600160a01b03166001600160a01b031660009081526001602052604090205490565b611dda90600a613f16565b611de49190613ef4565b600e55600c546001600160a01b031660009081526001602052604090205461271090611e1190601e613f16565b611e1b9190613ef4565b600f5542601555565b6000611e31338484612b5b565b5060019392505050565b6016546001600160a01b03163314611e835760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b306001600160a01b03821603611edb5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207377656570206e617469766520746f6b656e732e00000000006044820152606401610b73565b6016546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa158015611f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f569190613fac565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb19190613fc5565b6016546001600160a01b0316331461200d5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600a805463ffffffff19166201000061ffff8581169190910261ffff19169190911790831617905561203f8183613f8a565b600a805465ffff00000000191664010000000061ffff938416021790556009546000916120759162010000810482169116613f8a565b600a5461ffff9182169250640100000000900416811015610fb15760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206578636565642073756d206f662062757920616e642073656c60448201526636103332b2b99760c91b6064820152608401610b73565b6016546001600160a01b031633146121305760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600d805460ff60a81b1916600160a81b841515908102919091179091556010805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906020015b60405180910390a15050565b6016546001600160a01b031633146121db5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b601454610100900460ff16156122335760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206368616e6765206166746572206c69717569646974792e00006044820152606401610b73565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229c9190613fe2565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230d9190613fe2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015612358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237c9190613fe2565b600c546001600160a01b039081166000908152600260205260409020805460ff19169055909150811661251257816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240b9190613fe2565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061247c9190613fe2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156124c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ed9190613fe2565b600c80546001600160a01b0319166001600160a01b039290921691909117905561252e565b600c80546001600160a01b0319166001600160a01b0383161790555b600b805474ffffffffffffffffffffffffffffffffffffffff0019166101006001600160a01b038581168202929092178355600c5482166000908152600260205260409020805460ff191660011790559154610fb1923092910416600019612a62565b6016546001600160a01b031633146125d95760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b03811661262f5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610b73565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6016546001600160a01b031633146126995760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b601454610100900460ff16156126f15760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610b73565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561272a573d6000803e3d6000fd5b50565b6016546001600160a01b031633146127755760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b82846127836012600a613ee5565b61279190631dcd6500613f16565b61279b9190613f16565b6127a59190613ef4565b600e5580826127b66012600a613ee5565b6127c490631dcd6500613f16565b6127ce9190613f16565b6127d89190613ef4565b600f819055600e5411156128385760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610b73565b600c546001600160a01b031660009081526001602052604090205461271090612862906096613f16565b61286c9190613ef4565b600f5411156128c95760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742062652061626f766520312e3525206f662063757272656e742060448201526228249760e91b6064820152608401610b73565b620f42406128d96012600a613ee5565b6128e790631dcd6500613f16565b6128f19190613ef4565b600f5410156129595760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660448201526d103a37ba30b61039bab838363c9760911b6064820152608401610b73565b620f42406129696012600a613ee5565b61297790631dcd6500613f16565b6129819190613ef4565b600e5410156129e95760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660448201526d103a37ba30b61039bab838363c9760911b6064820152608401610b73565b50505050565b6016546001600160a01b03163314612a375760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b038316612aae5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610b73565b6001600160a01b038216612afa5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610b73565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416612bc15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b73565b6001600160a01b038316612c235760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b73565b60008211612c855760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b73565b6001600160a01b0384166000908152600260205260408120548190819060ff1615612cb35760019250612ce1565b6001600160a01b03861660009081526002602052604090205460ff1615612cdd5760019150612ce1565b5060015b612ceb87876132db565b15612f785760145460ff16612dec5780612d475760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610b73565b6001600160a01b03871660009081526006602052604090205460ff16158015612d8957506001600160a01b03861660009081526006602052604090205460ff16155b15612dec5760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b6064820152608401610b73565b8280612df55750815b15612ea4576001600160a01b03871660009081526008602052604090205460ff16158015612e3c57506001600160a01b03861660009081526008602052604090205460ff16155b15612ea457601254851115612ea45760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b73565b600b546001600160a01b038781166101009092041614801590612ec5575081155b15612f78576001600160a01b03861660009081526008602052604090205460ff16612f785760135485612f0d886001600160a01b031660009081526001602052604090205490565b612f179190613f77565b1115612f785760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526930b63632ba29b4bd329760b11b6064820152608401610b73565b811561301857600d54600160a01b900460ff1661301857600d54600160a81b900460ff16156130185730600090815260016020526040902054600e54811061301657600f5460105460ff161561300057601154600c546001600160a01b031660009081526001602052604090205461271091612ff391613f16565b612ffd9190613ef4565b90505b80821061300b578091505b613014826133f2565b505b505b613026878787868686613031565b979650505050505050565b600061303d87876132db565b156130d75760145460405163ecd07a5360e01b81526001600160a01b038981166004830152888116602483015260448201889052600092620100009004169063ecd07a53906064016020604051808303816000875af19250505080156130c0575060408051601f3d908101601f191682019092526130bd91810190613fc5565b60015b6130c957600080fd5b9050806130d557600080fd5b505b6001600160a01b03871660009081526007602052604090205460019060ff168061311957506001600160a01b03871660009081526007602052604090205460ff165b15613122575060005b6001600160a01b0388166000908152600160205260408120805488929061314a908490613f2d565b90915550600090508161315d5786613169565b6131698987878a613678565b6001600160a01b038916600090815260016020526040812080549293508392909190613196908490613f77565b92505081905550876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131e291815260200190565b60405180910390a3601454610100900460ff166132cc576132038989613895565b601454610100900460ff16158015613220575061322089896132db565b801561324557506001600160a01b03891660009081526006602052604090205460ff16155b801561326a57506001600160a01b03881660009081526006602052604090205460ff16155b8015613274575083155b156132cc5760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610b73565b50600198975050505050505050565b6016546000906001600160a01b0384811691161480159061330a57506016546001600160a01b03838116911614155b801561332157506016546001600160a01b03163214155b801561334657506001600160a01b03821660009081526005602052604090205460ff16155b801561336b57506001600160a01b03831660009081526005602052604090205460ff16155b801561338257506001600160a01b03821661dead14155b801561339657506001600160a01b03821615155b80156133ab57506001600160a01b0383163014155b80156133cb57506014546001600160a01b03848116620100009092041614155b80156133eb57506014546001600160a01b03838116620100009092041614155b9392505050565b600d805460ff60a01b1916600160a01b17905560408051606081018252600a5461ffff80821683526201000082048116602084015264010000000090910416918101829052906000036134455750613668565b306000908152600460209081526040808320600b5461010090046001600160a01b03168452909152902054600019146134a857306000908152600460209081526040808320600b5461010090046001600160a01b03168452909152902060001990555b60408051600280825260608201835260009260208301908036833701905050905030816000815181106134dd576134dd613f40565b60200260200101906001600160a01b031690816001600160a01b031681525050600b60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613550573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135749190613fe2565b8160018151811061358757613587613f40565b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b81526101009091049091169063791ac947906135d4908690600090869030904290600401613fff565b600060405180830381600087803b1580156135ee57600080fd5b505af19250505080156135ff575060015b61360a575050613668565b600d546040516000916001600160a01b03169061d6d890479084818181858888f193505050503d806000811461365c576040519150601f19603f3d011682016040523d82523d6000602084013e613661565b606091505b5050505050505b50600d805460ff60a01b19169055565b60408051606081018252600a5461ffff80821683526201000082048116602084015264010000000090910416918101919091526000908185156136c2575060095461ffff166136ec565b84156136db575060095462010000900461ffff166136ec565b50600954640100000000900461ffff165b806000036136fe578392505050610cb0565b6014546201000090046001600160a01b031630148015613728575046600114806137285750466038145b1561373257506111945b60006127106137418387613f16565b61374b9190613ef4565b90506000836040015161ffff16846000015161ffff168361376c9190613f16565b6137769190613ef4565b905060006137848284613f2d565b905080156137f15730600090815260016020526040812080548392906137ab908490613f77565b909155505060405181815230906001600160a01b038c16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b811561387d5761dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d8054849290613835908490613f77565b909155505060405182815261dead906001600160a01b038c16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6138878388613f2d565b9a9950505050505050505050565b601454610100900460ff16156138f95760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610b73565b61390382826132db565b15801561391d5750600c546001600160a01b038281169116145b15611b79576001600160a01b038083166000908152600560209081526040808320805460ff19908116600190811790925560079093529220805490911690911790556014805461ff001916610100179081905562010000900416613995576014805462010000600160b01b0319163062010000021790555b600d805460ff60a81b1916600160a81b179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f914105325790602001612187565b801515811461272a57600080fd5b600080604083850312156139fa57600080fd5b8235613a05816139d9565b91506020830135613a15816139d9565b809150509250929050565b600060208083528351808285015260005b81811015613a4d57858101830151858201604001528201613a31565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461272a57600080fd5b60008060408385031215613a9657600080fd5b8235613aa181613a6e565b946020939093013593505050565b600060208284031215613ac157600080fd5b81356133eb81613a6e565b600080600060608486031215613ae157600080fd5b8335613aec81613a6e565b92506020840135613afc81613a6e565b929592945050506040919091013590565b60008060408385031215613b2057600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613b6e57613b6e613b2f565b604052919050565b600067ffffffffffffffff821115613b9057613b90613b2f565b5060051b60200190565b600082601f830112613bab57600080fd5b81356020613bc0613bbb83613b76565b613b45565b82815260059290921b84018101918181019086841115613bdf57600080fd5b8286015b84811015613bfa5780358352918301918301613be3565b509695505050505050565b60008060408385031215613c1857600080fd5b823567ffffffffffffffff80821115613c3057600080fd5b818501915085601f830112613c4457600080fd5b81356020613c54613bbb83613b76565b82815260059290921b84018101918181019089841115613c7357600080fd5b948201945b83861015613c9a578535613c8b81613a6e565b82529482019490820190613c78565b96505086013592505080821115613cb057600080fd5b50613cbd85828601613b9a565b9150509250929050565b803561ffff81168114613cd957600080fd5b919050565b600080600060608486031215613cf357600080fd5b613cfc84613cc7565b9250613d0a60208501613cc7565b9150613d1860408501613cc7565b90509250925092565b60008060408385031215613d3457600080fd5b8235613a0581613a6e565b600060208284031215613d5157600080fd5b5035919050565b60008060408385031215613d6b57600080fd5b613d7483613cc7565b9150613d8260208401613cc7565b90509250929050565b60008060408385031215613d9e57600080fd5b8235613da981613a6e565b91506020830135613a1581613a6e565b60008060008060808587031215613dcf57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115613e3c578160001904821115613e2257613e22613deb565b80851615613e2f57918102915b93841c9390800290613e06565b509250929050565b600082613e5357506001610bfe565b81613e6057506000610bfe565b8160018114613e765760028114613e8057613e9c565b6001915050610bfe565b60ff841115613e9157613e91613deb565b50506001821b610bfe565b5060208310610133831016604e8410600b8410161715613ebf575081810a610bfe565b613ec98383613e01565b8060001904821115613edd57613edd613deb565b029392505050565b60006133eb60ff841683613e44565b600082613f1157634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610bfe57610bfe613deb565b81810381811115610bfe57610bfe613deb565b634e487b7160e01b600052603260045260246000fd5b600061ffff808316818103613f6d57613f6d613deb565b6001019392505050565b80820180821115610bfe57610bfe613deb565b61ffff818116838216019080821115613fa557613fa5613deb565b5092915050565b600060208284031215613fbe57600080fd5b5051919050565b600060208284031215613fd757600080fd5b81516133eb816139d9565b600060208284031215613ff457600080fd5b81516133eb81613a6e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561404f5784516001600160a01b03168352938301939183019160010161402a565b50506001600160a01b0396909616606085015250505060800152939250505056fe43616c6c6572203d2f3d206f776e65722e000000000000000000000000000000a26469706673582212209eb8fa0b3c0fe714179b9067fb64dbb90a9b3403b3c287a3da4000ed1aed5d6164736f6c63430008110033
0x600060038190556102bc608081905260a05260c0526009805465ffffffffffff199081166302bc02bc1790915561014060405260c860e05261057861010081905261012052600a8054650578057800c89216919091178155600d8054600161ff0160a01b031916736a98bfc9ad01a76397de9d304ffd37ebf9b505b217905560118190556103e89062000095906012906200083d565b620000a590631dcd650062000855565b620000b290600f62000855565b620000be91906200086f565b6012556103e86012600a620000d491906200083d565b620000e490631dcd650062000855565b620000f190600f62000855565b620000fd91906200086f565b6013556014805461ffff19169055601680546001600160a01b031916331790556200012b6012600a6200083d565b6200013b90631dcd650062000855565b601680546001600160a01b03908116600090815260016020526040812093909355905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200018f6012600a6200083d565b6200019f90631dcd650062000855565b60405190815260200160405180910390a346603803620001e757600b8054610100600160a81b0319167410ed43c718714eb63d5aa57b78b54704e256024e0017905562000326565b466061036200021e57600b8054610100600160a81b03191674d99d1c33f9fc3444f8101754abc46c52416550d10017905562000326565b46600114806200022e5750466004145b806200023a5750466003145b80620002465750466005145b156200027a57600b8054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d0017905562000326565b4661a86a03620002b257600b8054610100600160a81b0319167460ae616a2155ee3d9a68541ba4544862310933d40017905562000326565b4660fa03620002e957600b8054610100600160a81b03191674f491e7b69e4244ad4002bc14e878a34207e38c290017905562000326565b4661a4b1036200032157600b8054610100600160a81b031916741b02da8cb0d097eb8d57a175b88c7d8b479975060017905562000326565b600080fd5b600b60019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200037a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a0919062000892565b6001600160a01b031663c9c65396600b60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000402573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000428919062000892565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049b919062000892565b600c80546001600160a01b0319166001600160a01b039283169081179091556000908152600260205260409020805460ff19166001179055601654600b54620004f292918216916101009091041660001962000627565b600b546200051390309061010090046001600160a01b031660001962000627565b601680546001600160a01b0390811660009081526007602081815260408084208054600160ff19918216811790925530865282862080548216831790557fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d8054821683179055965490951684526005825283208054861685179055527f369570fab114047d6931f481fe65511f6f30128550291df97f26a8b12fbb064780548416831790557f76e04a725e11e15e15ab8a12e133522d6ebb6e4ce8401eb7fccaa3f298dfd6e5805484168317905573dba68f07d1b7ca219f78ae8582c213d975c25caf90527fa41ba8ce755a9610529fb4698883547ff2835b475c582169085f2e8c39e304f78054909216179055620008bd565b6001600160a01b038316620006795760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620006c75760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000670565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200077f57816000190482111562000763576200076362000728565b808516156200077157918102915b93841c939080029062000743565b509250929050565b600082620007985750600162000837565b81620007a75750600062000837565b8160018114620007c05760028114620007cb57620007eb565b600191505062000837565b60ff841115620007df57620007df62000728565b50506001821b62000837565b5060208310610133831016604e8410600b841016171562000810575081810a62000837565b6200081c83836200073e565b806000190482111562000833576200083362000728565b0290505b92915050565b60006200084e60ff84168362000787565b9392505050565b808202811582820484141762000837576200083762000728565b6000826200088d57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620008a557600080fd5b81516001600160a01b03811681146200084e57600080fd5b6140c680620008cd6000396000f3fe60806040526004361061039b5760003560e01c806350a8e016116101dc578063a9059cbb11610102578063cf847706116100a0578063ee5d9c2d1161006f578063ee5d9c2d14610ab9578063fb78680d14610ace578063fdb78c0e14610aee578063feadde9c14610b0f57600080fd5b8063cf84770614610a02578063dd62ed3e14610a33578063eafb5a3c14610a79578063eb50e70e14610a9957600080fd5b8063b3d514fb116100dc578063b3d514fb1461060c578063b7df8b36146109a8578063bcd96a25146109c2578063bfc2fc35146109e257600080fd5b8063a9059cbb14610968578063ab558e4d14610988578063b1b08f711461060c57600080fd5b8063715018a61161017a578063893d20e811610149578063893d20e8146109205780638a63bd9b1461093e5780638a8c523c1461095357806395d89b411461047657600080fd5b8063715018a6146108b657806375f0a874146108cb57806378648edf146108eb57806380c581d11461090057600080fd5b80635c24b074116101b65780635c24b074146108125780635cce86cd146108325780636ebd00781461086b57806370a082311461088057600080fd5b806350a8e016146107bd578063590ffdce146107dc5780635a6f0918146107fc57600080fd5b80632b112e49116102c15780633f3cf56c1161025f5780634bbb93eb1161022e5780634bbb93eb146107245780634e718e48146107445780634fb2e45d146107645780634fbee1931461078457600080fd5b80633f3cf56c146106b4578063452ed4f1146106d457806346ea7ac8146106f45780634ada218b1461070a57600080fd5b8063313ce5671161029b578063313ce5671461063857806332cde6641461065457806333251a0b1461067457806336fddb041461069457600080fd5b80632b112e49146105f75780632b28fc7a1461060c5780632e8fa8211461062257600080fd5b8063095ea7b31161033957806323b872dd1161030857806323b872dd1461058157806326003957146105a15780632610eaca146105c157806328577751146105e157600080fd5b8063095ea7b3146104fe5780630dcbcf1c1461051e5780630fa604e41461055757806318160ddd1461056c57600080fd5b8063069d955f11610375578063069d955f1461042057806306fdde03146104765780630758d924146104af57806307dd79e0146104d457600080fd5b806303fd2a45146103a75780630445b667146103da578063044df726146103fe57600080fd5b366103a257005b600080fd5b3480156103b357600080fd5b506103bd61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103e657600080fd5b506103f0600e5481565b6040519081526020016103d1565b34801561040a57600080fd5b5061041e6104193660046139e7565b610b2f565b005b34801561042c57600080fd5b506009546104519061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016103d1565b34801561048257600080fd5b50604080518082018252600a8152692227a3a2a42aa72a22a960b11b602082015290516103d19190613a20565b3480156104bb57600080fd5b50600b546103bd9061010090046001600160a01b031681565b3480156104e057600080fd5b50600b546104ee9060ff1681565b60405190151581526020016103d1565b34801561050a57600080fd5b506104ee610519366004613a83565b610bed565b34801561052a57600080fd5b506104ee610539366004613aaf565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561056357600080fd5b506103f0610c04565b34801561057857600080fd5b506103f0610c24565b34801561058d57600080fd5b506104ee61059c366004613acc565b610c40565b3480156105ad57600080fd5b5061041e6105bc366004613b0d565b610cb8565b3480156105cd57600080fd5b5061041e6105dc366004613c05565b610e01565b3480156105ed57600080fd5b506103f060115481565b34801561060357600080fd5b506103f0610fb6565b34801561061857600080fd5b506103f06107d081565b34801561062e57600080fd5b506103f0600f5481565b34801561064457600080fd5b50604051601281526020016103d1565b34801561066057600080fd5b5061041e61066f366004613cde565b611036565b34801561068057600080fd5b5061041e61068f366004613aaf565b6111e9565b3480156106a057600080fd5b5061041e6106af366004613d21565b61129a565b3480156106c057600080fd5b5061041e6106cf366004613b0d565b61130d565b3480156106e057600080fd5b50600c546103bd906001600160a01b031681565b34801561070057600080fd5b506103f06109c481565b34801561071657600080fd5b506014546104ee9060ff1681565b34801561073057600080fd5b506103f061073f366004613d3f565b611462565b34801561075057600080fd5b5061041e61075f366004613d3f565b611496565b34801561077057600080fd5b5061041e61077f366004613aaf565b611534565b34801561079057600080fd5b506104ee61079f366004613aaf565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156107c957600080fd5b506014546104ee90610100900460ff1681565b3480156107e857600080fd5b5061041e6107f7366004613d21565b611736565b34801561080857600080fd5b506103f060155481565b34801561081e57600080fd5b5061041e61082d366004613aaf565b6117a9565b34801561083e57600080fd5b506104ee61084d366004613aaf565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561087757600080fd5b506103f0611883565b34801561088c57600080fd5b506103f061089b366004613aaf565b6001600160a01b031660009081526001602052604090205490565b3480156108c257600080fd5b5061041e61189e565b3480156108d757600080fd5b50600d546103bd906001600160a01b031681565b3480156108f757600080fd5b5061041e61194b565b34801561090c57600080fd5b5061041e61091b366004613d21565b6119a2565b34801561092c57600080fd5b506016546001600160a01b03166103bd565b34801561094a57600080fd5b506104ee611b7d565b34801561095f57600080fd5b5061041e611bed565b34801561097457600080fd5b506104ee610983366004613a83565b611e24565b34801561099457600080fd5b5061041e6109a3366004613aaf565b611e3b565b3480156109b457600080fd5b506010546104ee9060ff1681565b3480156109ce57600080fd5b5061041e6109dd366004613d58565b611fc5565b3480156109ee57600080fd5b5061041e6109fd3660046139e7565b6120e8565b348015610a0e57600080fd5b50600a546104519061ffff808216916201000081048216916401000000009091041683565b348015610a3f57600080fd5b506103f0610a4e366004613d8b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a8557600080fd5b5061041e610a94366004613aaf565b612193565b348015610aa557600080fd5b5061041e610ab4366004613aaf565b612591565b348015610ac557600080fd5b5061041e612651565b348015610ada57600080fd5b5061041e610ae9366004613db9565b61272d565b348015610afa57600080fd5b50600d546104ee90600160a81b900460ff1681565b348015610b1b57600080fd5b5061041e610b2a366004613d21565b6129ef565b6016546001600160a01b03163314610b7c5760405162461bcd60e51b8152602060048201526011602482015260008051602061407183398151915260448201526064015b60405180910390fd5b60145460405163efbdbabd60e01b815283151560048201528215156024820152620100009091046001600160a01b03169063efbdbabd906044015b600060405180830381600087803b158015610bd157600080fd5b505af1158015610be5573d6000803e3d6000fd5b505050505050565b6000610bfa338484612a62565b5060015b92915050565b6000610c126012600a613ee5565b601354610c1f9190613ef4565b905090565b6000610c326012600a613ee5565b610c1f90631dcd6500613f16565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610ca5576001600160a01b038416600090815260046020908152604080832033845290915281208054849290610c9f908490613f2d565b90915550505b610cb0848484612b5b565b949350505050565b6016546001600160a01b03163314610d005760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6064610d0e6012600a613ee5565b610d1c90631dcd6500613f16565b610d269190613ef4565b8183610d346012600a613ee5565b610d4290631dcd6500613f16565b610d4c9190613f16565b610d569190613ef4565b1015610dca5760405162461bcd60e51b815260206004820152603060248201527f4d61782057616c6c657420616d74206d7573742062652061626f76652031252060448201527f6f6620746f74616c20737570706c792e000000000000000000000000000000006064820152608401610b73565b8082610dd86012600a613ee5565b610de690631dcd6500613f16565b610df09190613f16565b610dfa9190613ef4565b6013555050565b6016546001600160a01b03163314610e495760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b8051825114610e9a5760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610b73565b60005b82518161ffff161015610fb157610eb66012600a613ee5565b828261ffff1681518110610ecc57610ecc613f40565b6020026020010151610ede9190613f16565b336000908152600160205260409020541015610f3c5760405162461bcd60e51b815260206004820152601260248201527f4e6f7420656e6f75676820746f6b656e732e00000000000000000000000000006044820152606401610b73565b610f9e33848361ffff1681518110610f5657610f56613f40565b60200260200101516012600a610f6c9190613ee5565b858561ffff1681518110610f8257610f82613f40565b6020026020010151610f949190613f16565b6000806001613031565b5080610fa981613f56565b915050610e9d565b505050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead60009081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54909161101291613f77565b61101e6012600a613ee5565b61102c90631dcd6500613f16565b610c1f9190613f2d565b6016546001600160a01b0316331461107e5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600b5460ff16156110d15760405162461bcd60e51b815260206004820152601160248201527f546178657320617265206c6f636b65642e0000000000000000000000000000006044820152606401610b73565b6107d08361ffff16111580156110ed57506107d08261ffff1611155b80156110ff57506107d08161ffff1611155b61114b5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420657863656564206d6178696d756d732e0000000000000000006044820152606401610b73565b6109c46111588385613f8a565b61ffff1611156111aa5760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f742065786365656420726f756e6474726970206d6178696d756d2e6044820152606401610b73565b6009805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6016546001600160a01b031633146112315760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6014546040516333251a0b60e01b81526001600160a01b03838116600483015262010000909204909116906333251a0b90602401600060405180830381600087803b15801561127f57600080fd5b505af1158015611293573d6000803e3d6000fd5b5050505050565b6016546001600160a01b031633146112e25760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6016546001600160a01b031633146113555760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6103e86113646012600a613ee5565b61137290631dcd6500613f16565b61137d906005613f16565b6113879190613ef4565b81836113956012600a613ee5565b6113a390631dcd6500613f16565b6113ad9190613f16565b6113b79190613ef4565b101561142b5760405162461bcd60e51b815260206004820152603760248201527f4d6178205472616e73616374696f6e20616d74206d7573742062652061626f7660448201527f6520302e3525206f6620746f74616c20737570706c792e0000000000000000006064820152608401610b73565b80826114396012600a613ee5565b61144790631dcd6500613f16565b6114519190613f16565b61145b9190613ef4565b6012555050565b600c546001600160a01b03166000908152600160205260408120546127109061148c908490613f16565b610bfe9190613ef4565b6016546001600160a01b031633146114de5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b609681111561152f5760405162461bcd60e51b815260206004820152601660248201527f43616e6e6f74207365742061626f766520312e35252e000000000000000000006044820152606401610b73565b601155565b6016546001600160a01b0316331461157c5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b0381166115f85760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610b73565b61deac196001600160a01b038216016116795760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610b73565b601654611690906001600160a01b03166000611736565b61169b816001611736565b6016546001600160a01b0316600090815260016020526040902054156116e4576016546001600160a01b03166000818152600160205260409020546116e291908390610f94565b505b601680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6016546001600160a01b0316331461177e5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6016546001600160a01b031633146117f15760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b60145460ff161561180157600080fd5b306001600160a01b038216036118595760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e0000000000000000000000000000000000006044820152606401610b73565b601480546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b60006118916012600a613ee5565b601254610c1f9190613ef4565b6016546001600160a01b031633146118e65760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6016546118fd906001600160a01b03166000611736565b601680546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6016546001600160a01b031633146119935760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600b805460ff19166001179055565b6016546001600160a01b031633146119ea5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b80611a48576001600160a01b03828116600081815260026020526040808220805460ff1916905560145490516380c581d160e01b815260048101939093526024830191909152620100009004909116906380c581d190604401610bb7565b60035415611aaf576203f48060035442611a629190613f2d565b11611aaf5760405162461bcd60e51b815260206004820152600f60248201527f332044617920636f6f6c646f776e2e00000000000000000000000000000000006044820152606401610b73565b6001600160a01b03821660009081526002602052604090205460ff1615611b185760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e00000000006044820152606401610b73565b6001600160a01b0382811660008181526002602052604090819020805460ff191660019081179091554260035560145491516380c581d160e01b815260048101939093526024830152620100009004909116906380c581d190604401610bb7565b5050565b6016546000906001600160a01b03163314611bc85760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600b54611be790309061010090046001600160a01b0316600019612a62565b50600190565b6016546001600160a01b03163314611c355760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b60145460ff1615611c885760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610b73565b601454610100900460ff16611cdf5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610b73565b6014546201000090046001600160a01b0316611d0f576014805462010000600160b01b0319163062010000021790555b601454600c54604051631b04570d60e21b81526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260126064820152620100009092041690636c115c3490608401600060405180830381600087803b158015611d8157600080fd5b505af1925050508015611d92575060015b506014805460ff19166001179055600c5461271090611dcf906001600160a01b03166001600160a01b031660009081526001602052604090205490565b611dda90600a613f16565b611de49190613ef4565b600e55600c546001600160a01b031660009081526001602052604090205461271090611e1190601e613f16565b611e1b9190613ef4565b600f5542601555565b6000611e31338484612b5b565b5060019392505050565b6016546001600160a01b03163314611e835760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b306001600160a01b03821603611edb5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207377656570206e617469766520746f6b656e732e00000000006044820152606401610b73565b6016546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa158015611f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f569190613fac565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb19190613fc5565b6016546001600160a01b0316331461200d5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600a805463ffffffff19166201000061ffff8581169190910261ffff19169190911790831617905561203f8183613f8a565b600a805465ffff00000000191664010000000061ffff938416021790556009546000916120759162010000810482169116613f8a565b600a5461ffff9182169250640100000000900416811015610fb15760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206578636565642073756d206f662062757920616e642073656c60448201526636103332b2b99760c91b6064820152608401610b73565b6016546001600160a01b031633146121305760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b600d805460ff60a81b1916600160a81b841515908102919091179091556010805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906020015b60405180910390a15050565b6016546001600160a01b031633146121db5760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b601454610100900460ff16156122335760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206368616e6765206166746572206c69717569646974792e00006044820152606401610b73565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229c9190613fe2565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230d9190613fe2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015612358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237c9190613fe2565b600c546001600160a01b039081166000908152600260205260409020805460ff19169055909150811661251257816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240b9190613fe2565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061247c9190613fe2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156124c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ed9190613fe2565b600c80546001600160a01b0319166001600160a01b039290921691909117905561252e565b600c80546001600160a01b0319166001600160a01b0383161790555b600b805474ffffffffffffffffffffffffffffffffffffffff0019166101006001600160a01b038581168202929092178355600c5482166000908152600260205260409020805460ff191660011790559154610fb1923092910416600019612a62565b6016546001600160a01b031633146125d95760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b03811661262f5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610b73565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6016546001600160a01b031633146126995760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b601454610100900460ff16156126f15760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610b73565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561272a573d6000803e3d6000fd5b50565b6016546001600160a01b031633146127755760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b82846127836012600a613ee5565b61279190631dcd6500613f16565b61279b9190613f16565b6127a59190613ef4565b600e5580826127b66012600a613ee5565b6127c490631dcd6500613f16565b6127ce9190613f16565b6127d89190613ef4565b600f819055600e5411156128385760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610b73565b600c546001600160a01b031660009081526001602052604090205461271090612862906096613f16565b61286c9190613ef4565b600f5411156128c95760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742062652061626f766520312e3525206f662063757272656e742060448201526228249760e91b6064820152608401610b73565b620f42406128d96012600a613ee5565b6128e790631dcd6500613f16565b6128f19190613ef4565b600f5410156129595760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660448201526d103a37ba30b61039bab838363c9760911b6064820152608401610b73565b620f42406129696012600a613ee5565b61297790631dcd6500613f16565b6129819190613ef4565b600e5410156129e95760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660448201526d103a37ba30b61039bab838363c9760911b6064820152608401610b73565b50505050565b6016546001600160a01b03163314612a375760405162461bcd60e51b815260206004820152601160248201526000805160206140718339815191526044820152606401610b73565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b038316612aae5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610b73565b6001600160a01b038216612afa5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610b73565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416612bc15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b73565b6001600160a01b038316612c235760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b73565b60008211612c855760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b73565b6001600160a01b0384166000908152600260205260408120548190819060ff1615612cb35760019250612ce1565b6001600160a01b03861660009081526002602052604090205460ff1615612cdd5760019150612ce1565b5060015b612ceb87876132db565b15612f785760145460ff16612dec5780612d475760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610b73565b6001600160a01b03871660009081526006602052604090205460ff16158015612d8957506001600160a01b03861660009081526006602052604090205460ff16155b15612dec5760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b6064820152608401610b73565b8280612df55750815b15612ea4576001600160a01b03871660009081526008602052604090205460ff16158015612e3c57506001600160a01b03861660009081526008602052604090205460ff16155b15612ea457601254851115612ea45760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b73565b600b546001600160a01b038781166101009092041614801590612ec5575081155b15612f78576001600160a01b03861660009081526008602052604090205460ff16612f785760135485612f0d886001600160a01b031660009081526001602052604090205490565b612f179190613f77565b1115612f785760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526930b63632ba29b4bd329760b11b6064820152608401610b73565b811561301857600d54600160a01b900460ff1661301857600d54600160a81b900460ff16156130185730600090815260016020526040902054600e54811061301657600f5460105460ff161561300057601154600c546001600160a01b031660009081526001602052604090205461271091612ff391613f16565b612ffd9190613ef4565b90505b80821061300b578091505b613014826133f2565b505b505b613026878787868686613031565b979650505050505050565b600061303d87876132db565b156130d75760145460405163ecd07a5360e01b81526001600160a01b038981166004830152888116602483015260448201889052600092620100009004169063ecd07a53906064016020604051808303816000875af19250505080156130c0575060408051601f3d908101601f191682019092526130bd91810190613fc5565b60015b6130c957600080fd5b9050806130d557600080fd5b505b6001600160a01b03871660009081526007602052604090205460019060ff168061311957506001600160a01b03871660009081526007602052604090205460ff165b15613122575060005b6001600160a01b0388166000908152600160205260408120805488929061314a908490613f2d565b90915550600090508161315d5786613169565b6131698987878a613678565b6001600160a01b038916600090815260016020526040812080549293508392909190613196908490613f77565b92505081905550876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131e291815260200190565b60405180910390a3601454610100900460ff166132cc576132038989613895565b601454610100900460ff16158015613220575061322089896132db565b801561324557506001600160a01b03891660009081526006602052604090205460ff16155b801561326a57506001600160a01b03881660009081526006602052604090205460ff16155b8015613274575083155b156132cc5760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610b73565b50600198975050505050505050565b6016546000906001600160a01b0384811691161480159061330a57506016546001600160a01b03838116911614155b801561332157506016546001600160a01b03163214155b801561334657506001600160a01b03821660009081526005602052604090205460ff16155b801561336b57506001600160a01b03831660009081526005602052604090205460ff16155b801561338257506001600160a01b03821661dead14155b801561339657506001600160a01b03821615155b80156133ab57506001600160a01b0383163014155b80156133cb57506014546001600160a01b03848116620100009092041614155b80156133eb57506014546001600160a01b03838116620100009092041614155b9392505050565b600d805460ff60a01b1916600160a01b17905560408051606081018252600a5461ffff80821683526201000082048116602084015264010000000090910416918101829052906000036134455750613668565b306000908152600460209081526040808320600b5461010090046001600160a01b03168452909152902054600019146134a857306000908152600460209081526040808320600b5461010090046001600160a01b03168452909152902060001990555b60408051600280825260608201835260009260208301908036833701905050905030816000815181106134dd576134dd613f40565b60200260200101906001600160a01b031690816001600160a01b031681525050600b60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613550573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135749190613fe2565b8160018151811061358757613587613f40565b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b81526101009091049091169063791ac947906135d4908690600090869030904290600401613fff565b600060405180830381600087803b1580156135ee57600080fd5b505af19250505080156135ff575060015b61360a575050613668565b600d546040516000916001600160a01b03169061d6d890479084818181858888f193505050503d806000811461365c576040519150601f19603f3d011682016040523d82523d6000602084013e613661565b606091505b5050505050505b50600d805460ff60a01b19169055565b60408051606081018252600a5461ffff80821683526201000082048116602084015264010000000090910416918101919091526000908185156136c2575060095461ffff166136ec565b84156136db575060095462010000900461ffff166136ec565b50600954640100000000900461ffff165b806000036136fe578392505050610cb0565b6014546201000090046001600160a01b031630148015613728575046600114806137285750466038145b1561373257506111945b60006127106137418387613f16565b61374b9190613ef4565b90506000836040015161ffff16846000015161ffff168361376c9190613f16565b6137769190613ef4565b905060006137848284613f2d565b905080156137f15730600090815260016020526040812080548392906137ab908490613f77565b909155505060405181815230906001600160a01b038c16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b811561387d5761dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d8054849290613835908490613f77565b909155505060405182815261dead906001600160a01b038c16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6138878388613f2d565b9a9950505050505050505050565b601454610100900460ff16156138f95760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610b73565b61390382826132db565b15801561391d5750600c546001600160a01b038281169116145b15611b79576001600160a01b038083166000908152600560209081526040808320805460ff19908116600190811790925560079093529220805490911690911790556014805461ff001916610100179081905562010000900416613995576014805462010000600160b01b0319163062010000021790555b600d805460ff60a81b1916600160a81b179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f914105325790602001612187565b801515811461272a57600080fd5b600080604083850312156139fa57600080fd5b8235613a05816139d9565b91506020830135613a15816139d9565b809150509250929050565b600060208083528351808285015260005b81811015613a4d57858101830151858201604001528201613a31565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461272a57600080fd5b60008060408385031215613a9657600080fd5b8235613aa181613a6e565b946020939093013593505050565b600060208284031215613ac157600080fd5b81356133eb81613a6e565b600080600060608486031215613ae157600080fd5b8335613aec81613a6e565b92506020840135613afc81613a6e565b929592945050506040919091013590565b60008060408385031215613b2057600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613b6e57613b6e613b2f565b604052919050565b600067ffffffffffffffff821115613b9057613b90613b2f565b5060051b60200190565b600082601f830112613bab57600080fd5b81356020613bc0613bbb83613b76565b613b45565b82815260059290921b84018101918181019086841115613bdf57600080fd5b8286015b84811015613bfa5780358352918301918301613be3565b509695505050505050565b60008060408385031215613c1857600080fd5b823567ffffffffffffffff80821115613c3057600080fd5b818501915085601f830112613c4457600080fd5b81356020613c54613bbb83613b76565b82815260059290921b84018101918181019089841115613c7357600080fd5b948201945b83861015613c9a578535613c8b81613a6e565b82529482019490820190613c78565b96505086013592505080821115613cb057600080fd5b50613cbd85828601613b9a565b9150509250929050565b803561ffff81168114613cd957600080fd5b919050565b600080600060608486031215613cf357600080fd5b613cfc84613cc7565b9250613d0a60208501613cc7565b9150613d1860408501613cc7565b90509250925092565b60008060408385031215613d3457600080fd5b8235613a0581613a6e565b600060208284031215613d5157600080fd5b5035919050565b60008060408385031215613d6b57600080fd5b613d7483613cc7565b9150613d8260208401613cc7565b90509250929050565b60008060408385031215613d9e57600080fd5b8235613da981613a6e565b91506020830135613a1581613a6e565b60008060008060808587031215613dcf57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115613e3c578160001904821115613e2257613e22613deb565b80851615613e2f57918102915b93841c9390800290613e06565b509250929050565b600082613e5357506001610bfe565b81613e6057506000610bfe565b8160018114613e765760028114613e8057613e9c565b6001915050610bfe565b60ff841115613e9157613e91613deb565b50506001821b610bfe565b5060208310610133831016604e8410600b8410161715613ebf575081810a610bfe565b613ec98383613e01565b8060001904821115613edd57613edd613deb565b029392505050565b60006133eb60ff841683613e44565b600082613f1157634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610bfe57610bfe613deb565b81810381811115610bfe57610bfe613deb565b634e487b7160e01b600052603260045260246000fd5b600061ffff808316818103613f6d57613f6d613deb565b6001019392505050565b80820180821115610bfe57610bfe613deb565b61ffff818116838216019080821115613fa557613fa5613deb565b5092915050565b600060208284031215613fbe57600080fd5b5051919050565b600060208284031215613fd757600080fd5b81516133eb816139d9565b600060208284031215613ff457600080fd5b81516133eb81613a6e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561404f5784516001600160a01b03168352938301939183019160010161402a565b50506001600160a01b0396909616606085015250505060800152939250505056fe43616c6c6572203d2f3d206f776e65722e000000000000000000000000000000a26469706673582212209eb8fa0b3c0fe714179b9067fb64dbb90a9b3403b3c287a3da4000ed1aed5d6164736f6c63430008110033