0x000000000000000000000000000000000000000000000000000000000000000060a06040523060805234801561001457600080fd5b50600054610100900460ff16158080156100355750600054600160ff909116105b80610060575061004e3061013660201b6109361760201c565b158015610060575060005460ff166001145b6100c75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100ea576000805461ff0019166101001790555b8015610130576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50610145565b6001600160a01b03163b151590565b6080516115a26200017d60003960008181610346015281816103860152818161040f0152818161044f01526104c701526115a26000f3fe6080604052600436106100b25760003560e01c8063661870b11161006f578063661870b1146101825780638e7de730146101c4578063a3d0bb2a146101e4578063a64a095614610214578063b3b48bc214610234578063c4d66de814610254578063cae43fd81461027457600080fd5b8063243da6a7146100b757806329575f6a146100e05780633551f2e3146101185780633659cfe61461013a5780634f1ef2861461015a57806352d1902d1461016d575b600080fd5b3480156100c357600080fd5b506100cd60685481565b6040519081526020015b60405180910390f35b3480156100ec57600080fd5b50606754610100906001600160a01b031681565b6040516001600160a01b0390911681526020016100d7565b34801561012457600080fd5b50610138610133366004611122565b610294565b005b34801561014657600080fd5b5061013861015536600461117b565b61033b565b610138610168366004611196565b610404565b34801561017957600080fd5b506100cd6104ba565b34801561018e57600080fd5b506101b261019d36600461123c565b60696020526000908152604090205460ff1681565b60405160ff90911681526020016100d7565b3480156101d057600080fd5b506101386101df36600461123c565b610568565b3480156101f057600080fd5b506102046101ff36600461123c565b6105a0565b60405190151581526020016100d7565b34801561022057600080fd5b5061013861022f366004611266565b6105b3565b34801561024057600080fd5b5061013861024f366004611292565b6105c5565b34801561026057600080fd5b5061013861026f36600461117b565b610686565b34801561028057600080fd5b5061013861028f36600461117b565b610807565b61029c610945565b60005b81518160ff161015610337576102db828260ff16815181106102c3576102c3611354565b6020026020010151606561099390919063ffffffff16565b6103005760405162461bcd60e51b81526004016102f79061136a565b60405180910390fd5b610325828260ff168151811061031857610318611354565b60200260200101516109ae565b8061032f816113ac565b91505061029f565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103845760405162461bcd60e51b81526004016102f7906113cc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103b6610a14565b6001600160a01b0316146103dc5760405162461bcd60e51b81526004016102f790611418565b6103e581610a30565b6040805160008082526020820190925261040191839190610a38565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561044d5760405162461bcd60e51b81526004016102f7906113cc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661047f610a14565b6001600160a01b0316146104a55760405162461bcd60e51b81526004016102f790611418565b6104ae82610a30565b61033782826001610a38565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105555760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016102f7565b5060008051602061152683398151915290565b610570610945565b61057b606582610993565b6105975760405162461bcd60e51b81526004016102f79061136a565b610401816109ae565b60006105ad606583610993565b92915050565b6105bb610945565b6103378282610bb2565b6105cd610945565b805182511461061e5760405162461bcd60e51b815260206004820152601a60248201527f496e636f7272656374207661726961626c6573206c656e67746800000000000060448201526064016102f7565b60005b82518160ff1610156106815761066f838260ff168151811061064557610645611354565b6020026020010151838360ff168151811061066257610662611354565b6020026020010151610bb2565b80610679816113ac565b915050610621565b505050565b600054610100900460ff16158080156106a65750600054600160ff909116105b806106c757506106b530610936565b1580156106c7575060005460ff166001145b61072a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102f7565b6000805460ff19166001179055801561074d576000805461ff0019166101001790555b6001600160a01b0382166107a35760405162461bcd60e51b815260206004820152601b60248201527f53555045522041444d494e204953205a45524f2041444452455353000000000060448201526064016102f7565b606780546001600160a01b0319166001600160a01b0384161790558015610337576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61080f610945565b6001600160a01b0381166108705760405162461bcd60e51b815260206004820152602260248201527f4e45572044414f20434f4e54524f4c4c4552204953205a45524f204144445245604482015261535360f01b60648201526084016102f7565b610882816001600160a01b0316610936565b6108da5760405162461bcd60e51b8152602060048201526024808201527f4e45572044414f20434f4e54524f4c4c4552204953204e4f54204120434f4e54604482015263149050d560e21b60648201526084016102f7565b6067546040516001600160a01b038084169216907fd0f5553fb48dccd0de81c4705fa3feaf0b9a936a294741cfb724c33b8373f0c190600090a3606780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03163b151590565b6067546001600160a01b031633146109915760405162461bcd60e51b815260206004820152600f60248201526e2727aa1029aaa822a91020a226a4a760891b60448201526064016102f7565b565b600081815260018301602052604081205415155b9392505050565b6109b9606582610cbd565b50600081815260696020526040808220805460688054600160ff90931692831b19169055815460ff19169091559051909183917fb4e020b0ecc1c15088dc1d0790a96729268843758491c25d3fa0450d8a9ad34d9190a25050565b600080516020611526833981519152546001600160a01b031690565b610401610945565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a6b5761068183610cc9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa457600080fd5b505afa925050508015610ad4575060408051601f3d908101601f19168201909252610ad191810190611464565b60015b610b375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f7565b6000805160206115268339815191528114610ba65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f7565b50610681838383610d63565b606854600160ff83161b1615610bff5760405162461bcd60e51b8152602060048201526012602482015271125b99195e08185b1c9958591e481d5cd95960721b60448201526064016102f7565b610c0a606583610993565b15610c4c5760405162461bcd60e51b8152602060048201526012602482015271119b1859c8185b1c9958591e48195e1a5cdd60721b60448201526064016102f7565b6000828152606960205260409020805460ff191660ff8316179055610c72606583610d8e565b50606854600160ff83161b1760685560405160ff8216815282907fdd0fa0fc5900cc449b60e07ecc54e117f3828a22f16d74c408c3d456d69f25fe9060200160405180910390a25050565b60006109a78383610d9a565b610cd281610936565b610d345760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f7565b60008051602061152683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610d6c83610e8d565b600082511180610d795750805b1561068157610d888383610ecd565b50505050565b60006109a78383610fbf565b60008181526001830160205260408120548015610e83576000610dbe60018361147d565b8554909150600090610dd29060019061147d565b9050818114610e37576000866000018281548110610df257610df2611354565b9060005260206000200154905080876000018481548110610e1557610e15611354565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610e4857610e48611494565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105ad565b60009150506105ad565b610e9681610cc9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ed883610936565b610f335760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102f7565b600080846001600160a01b031684604051610f4e91906114d6565b600060405180830381855af49150503d8060008114610f89576040519150601f19603f3d011682016040523d82523d6000602084013e610f8e565b606091505b5091509150610fb682826040518060600160405280602781526020016115466027913961100e565b95945050505050565b6000818152600183016020526040812054611006575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105ad565b5060006105ad565b6060831561101d5750816109a7565b6109a783838151156110325781518083602001fd5b8060405162461bcd60e51b81526004016102f791906114f2565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561108b5761108b61104c565b604052919050565b600067ffffffffffffffff8211156110ad576110ad61104c565b5060051b60200190565b600082601f8301126110c857600080fd5b813560206110dd6110d883611093565b611062565b82815260059290921b840181019181810190868411156110fc57600080fd5b8286015b848110156111175780358352918301918301611100565b509695505050505050565b60006020828403121561113457600080fd5b813567ffffffffffffffff81111561114b57600080fd5b611157848285016110b7565b949350505050565b80356001600160a01b038116811461117657600080fd5b919050565b60006020828403121561118d57600080fd5b6109a78261115f565b600080604083850312156111a957600080fd5b6111b28361115f565b915060208084013567ffffffffffffffff808211156111d057600080fd5b818601915086601f8301126111e457600080fd5b8135818111156111f6576111f661104c565b611208601f8201601f19168501611062565b9150808252878482850101111561121e57600080fd5b80848401858401376000848284010152508093505050509250929050565b60006020828403121561124e57600080fd5b5035919050565b803560ff8116811461117657600080fd5b6000806040838503121561127957600080fd5b8235915061128960208401611255565b90509250929050565b600080604083850312156112a557600080fd5b823567ffffffffffffffff808211156112bd57600080fd5b6112c9868387016110b7565b93506020915081850135818111156112e057600080fd5b85019050601f810186136112f357600080fd5b80356113016110d882611093565b81815260059190911b8201830190838101908883111561132057600080fd5b928401925b828410156113455761133684611255565b82529284019290840190611325565b80955050505050509250929050565b634e487b7160e01b600052603260045260246000fd5b602080825260129082015271119b1859c81b9bdd081cdd5c1c1bdc9d195960721b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8114156113c3576113c3611396565b60010192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561147657600080fd5b5051919050565b60008282101561148f5761148f611396565b500390565b634e487b7160e01b600052603160045260246000fd5b60005b838110156114c55781810151838201526020016114ad565b83811115610d885750506000910152565b600082516114e88184602087016114aa565b9190910192915050565b60208152600082518060208401526115118160408501602087016114aa565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122031fefd6153d27b9dbdfe3fcfeabe7c4033b592dfee57208968d59cb5cceff23764736f6c63430008090033