60806040523480156200001157600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a362000073336b19d971e4fe8401e7400000006001600160e01b036200007a16565b506200018b565b600062000098826000546200012960201b6200141a1790919060201c565b60009081556001600160a01b038416815260016020908152604090912054620000cc9184906200141a62000129821b17901c565b6001600160a01b03841660008181526001602090815260408083209490945583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60008282018381101562000184576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611f66806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806383cfab42116100f9578063d1c4691611610097578063e4cc18be11610071578063e4cc18be1461056a578063e583983614610572578063f2fde38b14610598578063f7b188a5146105be576101c4565b8063d1c46916146104f0578063d8fb933714610516578063dd62ed3e1461053c576101c4565b80638da5cb5b116100d35780638da5cb5b1461045357806395d89b4114610477578063a9059cbb1461047f578063b2520a7c146104ab576101c4565b806383cfab42146103ff5780638456cb59146104255780638d1fdf2f1461042d576101c4565b806340c10f191161016657806370a082311161014057806370a082311461039d578063715018a6146103c357806379cc6790146103cb5780637b352962146103f7576101c4565b806340c10f191461034c57806342966c68146103785780635c975abb14610395576101c4565b806323b872dd116101a257806323b872dd146102a05780632f6c493c146102d6578063313ce567146102fc57806338b820921461031a576101c4565b806306fdde03146101c9578063095ea7b31461024657806318160ddd14610286575b600080fd5b6101d16105c6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102726004803603604081101561025c57600080fd5b506001600160a01b0381351690602001356105e4565b604080519115158252519081900360200190f35b61028e610640565b60408051918252519081900360200190f35b610272600480360360608110156102b657600080fd5b506001600160a01b03813581169160208101359091169060400135610646565b610272600480360360208110156102ec57600080fd5b50356001600160a01b0316610832565b6103046108b2565b6040805160ff9092168252519081900360200190f35b6102726004803603606081101561033057600080fd5b506001600160a01b0381351690602081013590604001356108b7565b6102726004803603604081101561036257600080fd5b506001600160a01b03813516906020013561096a565b6102726004803603602081101561038e57600080fd5b5035610ad7565b610272610b66565b61028e600480360360208110156103b357600080fd5b50356001600160a01b0316610b6f565b610272610b8a565b610272600480360360408110156103e157600080fd5b506001600160a01b038135169060200135610be5565b610272610cce565b6102726004803603602081101561041557600080fd5b50356001600160a01b0316610cdc565b610272610d76565b6102726004803603602081101561044357600080fd5b50356001600160a01b0316610e40565b61045b610edd565b604080516001600160a01b039092168252519081900360200190f35b6101d1610eec565b6102726004803603604081101561049557600080fd5b506001600160a01b038135169060200135610f09565b6104d7600480360360408110156104c157600080fd5b506001600160a01b038135169060200135611088565b6040805192835260208301919091528051918290030190f35b6102726004803603602081101561050657600080fd5b50356001600160a01b03166110f0565b6104d76004803603602081101561052c57600080fd5b50356001600160a01b0316611172565b61028e6004803603604081101561055257600080fd5b506001600160a01b038135811691602001351661119a565b6102726111c5565b6102726004803603602081101561058857600080fd5b50356001600160a01b0316611296565b610272600480360360208110156105ae57600080fd5b50356001600160a01b03166112b4565b610272611354565b6040805180820190915260048152635142454560e01b602082015290565b60006001600160a01b03831661062b5760405162461bcd60e51b815260040180806020018281038252602e815260200180611e5a602e913960400191505060405180910390fd5b610636338484611474565b5060019392505050565b60005490565b6001600160a01b038316600090815260076020526040812054849060ff16156106b6576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff16156106f85760405162461bcd60e51b8152600401808060200182810382526039815260200180611cb06039913960400191505060405180910390fd5b6001600160a01b03851660009081526005602052604090205485908490610725908263ffffffff61141a16565b6001600160a01b038316600090815260016020526040902054101561077b5760405162461bcd60e51b8152600401808060200182810382526033815260200180611e276033913960400191505060405180910390fd5b6001600160a01b0386166107c05760405162461bcd60e51b8152600401808060200182810382526033815260200180611c496033913960400191505060405180910390fd5b6107cb8787876114df565b50610824873361081f88604051806060016040528060338152602001611d85603391396001600160a01b038d166000908152600260209081526040808320338452909152902054919063ffffffff6115ba16565b611474565b506001979650505050505050565b6000805b6001600160a01b0383166000908152600460205260409020548110156108a9576001600160a01b038316600090815260046020526040902080544291908390811061087d57fe5b90600052602060002090600202016001015410156108a15761089f8382611651565b505b600101610836565b50600192915050565b601290565b6003546000906001600160a01b031633146109035760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b6001600160a01b0384166109485760405162461bcd60e51b815260040180806020018281038252603e815260200180611b65603e913960400191505060405180910390fd5b6109533385856114df565b5061095f8484846117dc565b506001949350505050565b6003546000906001600160a01b031633146109b65760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b60065460ff16156109f85760405162461bcd60e51b8152600401808060200182810382526039815260200180611cb06039913960400191505060405180910390fd5b6001600160a01b038316610a3d5760405162461bcd60e51b8152600401808060200182810382526034815260200180611c7c6034913960400191505060405180910390fd5b600654610100900460ff1615610a845760405162461bcd60e51b815260040180806020018281038252602f815260200180611d27602f913960400191505060405180910390fd5b610a8e8383611921565b506040805183815290516001600160a01b038516917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a250600192915050565b60065460009060ff1615610b1c5760405162461bcd60e51b8152600401808060200182810382526039815260200180611cb06039913960400191505060405180910390fd5b610b2633836119bd565b60408051848152905191925033917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59181900360200190a2506001919050565b60065460ff1690565b6001600160a01b031660009081526001602052604090205490565b6003546000906001600160a01b03163314610bd65760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b610be06000611aa5565b905090565b60065460009060ff1615610c2a5760405162461bcd60e51b8152600401808060200182810382526039815260200180611cb06039913960400191505060405180910390fd5b610c3483836119bd565b506040805183815290516001600160a01b038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2610cc7833361081f85604051806060016040528060388152602001611c11603891396001600160a01b0389166000908152600260209081526040808320338452909152902054919063ffffffff6115ba16565b9392505050565b600654610100900460ff1690565b6003546000906001600160a01b03163314610d285760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6003546000906001600160a01b03163314610dc25760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b60065460ff1615610e045760405162461bcd60e51b8152600401808060200182810382526039815260200180611cb06039913960400191505060405180910390fd5b6006805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a150600190565b6003546000906001600160a01b03163314610e8c5760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b6003546001600160a01b031690565b60408051808201909152600381526228a12d60e91b602082015290565b3360008181526007602052604081205490919060ff1615610f71576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff1615610fb35760405162461bcd60e51b8152600401808060200182810382526039815260200180611cb06039913960400191505060405180910390fd5b336000818152600560205260409020548490610fd5908263ffffffff61141a16565b6001600160a01b038316600090815260016020526040902054101561102b5760405162461bcd60e51b8152600401808060200182810382526033815260200180611e276033913960400191505060405180910390fd5b6001600160a01b0386166110705760405162461bcd60e51b815260040180806020018281038252602f815260200180611e88602f913960400191505060405180910390fd5b61107b3387876114df565b5060019695505050505050565b600080611093611b4a565b6001600160a01b03851660009081526004602052604090208054859081106110b757fe5b60009182526020918290206040805180820190915260029092020180548083526001909101549190920181905290969095509350505050565b6003546000906001600160a01b0316331461113c5760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b60005b6001600160a01b0383166000908152600460205260409020548110156108a9576111698382611651565b5060010161113f565b6001600160a01b03166000908152600560209081526040808320546004909252909120549091565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146112115760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b600654610100900460ff16156112585760405162461bcd60e51b815260040180806020018281038252602e815260200180611ba3602e913960400191505060405180910390fd5b6006805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b6001600160a01b031660009081526007602052604090205460ff1690565b6003546000906001600160a01b031633146113005760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b6001600160a01b0382166113455760405162461bcd60e51b8152600401808060200182810382526045815260200180611eec6045913960600191505060405180910390fd5b61134e82611aa5565b92915050565b6003546000906001600160a01b031633146113a05760405162461bcd60e51b815260040180806020018281038252602f815260200180611d56602f913960400191505060405180910390fd5b60065460ff166113e15760405162461bcd60e51b8152600401808060200182810382526035815260200180611eb76035913960400191505060405180910390fd5b6006805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a150600190565b600082820183811015610cc7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000611524826040518060600160405280603e8152602001611ce9603e91396001600160a01b038716600090815260016020526040902054919063ffffffff6115ba16565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611559908363ffffffff61141a16565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b600081848411156116495760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561160e5781810151838201526020016115f6565b50505050905090810190601f16801561163b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216600090815260046020526040812080548291908490811061167857fe5b60009182526020808320600290920290910180546001600160a01b038816845260059092526040909220549192506116b6919063ffffffff611b0816565b6001600160a01b0385166000818152600560209081526040918290209390935583548151908152905191927f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f192918290030190a26001600160a01b03841660009081526004602052604090208054600019810190811061173257fe5b906000526020600020906002020160046000866001600160a01b03166001600160a01b03168152602001908152602001600020848154811061177057fe5b60009182526020808320845460029093020191825560019384015493909101929092556001600160a01b03861681526004909152604090208054806117b157fe5b6000828152602081206002600019909301928302018181556001908101919091559155949350505050565b6001600160a01b03831660009081526005602052604081205461180690849063ffffffff61141a16565b6001600160a01b038516600090815260016020526040902054101561185c5760405162461bcd60e51b8152600401808060200182810382526040815260200180611bd16040913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054611885908463ffffffff61141a16565b6001600160a01b03851660008181526005602090815260408083209490945560048152838220845180860186528881528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251868152908101859052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a25060019392505050565b60008054611935908363ffffffff61141a16565b60009081556001600160a01b038416815260016020526040902054611960908363ffffffff61141a16565b6001600160a01b03841660008181526001602090815260408083209490945583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000611a0282604051806060016040528060398152602001611db8603991396001600160a01b038616600090815260016020526040902054919063ffffffff6115ba16565b60016000856001600160a01b03166001600160a01b0316815260200190815260200160002081905550611a5882604051806060016040528060368152602001611df160369139600054919063ffffffff6115ba16565b60009081556040805184815290516001600160a01b038616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a350600192915050565b6003546040516000916001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908490a350600380546001600160a01b0319166001600160a01b0392909216919091179055600190565b6000610cc783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115ba565b60405180604001604052806000815260200160008152509056fe45524332304c6f636b61626c652f7472616e73666572576974684c6f636b5570203a2043616e6e6f742073656e6420746f207a65726f206164647265737345524332304d696e7461626c652f66696e6973684d696e74696e67203a20416c72656164792066696e697368656445524332304c6f636b61626c652f6c6f636b203a206c6f636b656420746f74616c2073686f756c6420626520736d616c6c6572207468616e2062616c616e636545524332304275726e61626c652f6275726e46726f6d203a2043616e6e6f74206275726e206d6f7265207468616e20616c6c6f77616e6365514245452f7472616e7366657246726f6d203a2053686f756c64206e6f742073656e6420746f207a65726f206164647265737345524332304d696e7461626c652f6d696e74203a2053686f756c64206e6f74206d696e7420746f207a65726f2061646472657373506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e206e6f742070617573656445524332302f7472616e73666572203a2063616e6e6f74207472616e73666572206d6f7265207468616e20746f6b656e206f776e65722062616c616e636545524332304d696e7461626c652f6d696e74203a2043616e6e6f74206d696e742061667465722066696e69736865644f776e61626c65203a2046756e6374696f6e2063616c6c656420627920756e617574686f72697a656420757365722e514245452f7472616e7366657246726f6d203a2043616e6e6f742073656e64206d6f7265207468616e20616c6c6f77616e636545524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e207573657227732062616c616e636545524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e20746f74616c537570706c7945524332304c6f636b61626c652f43616e6e6f742073656e64206d6f7265207468616e20756e6c6f636b656420616d6f756e74514245452f617070726f7665203a2053686f756c64206e6f7420617070726f7665207a65726f2061646472657373514245452f7472616e73666572203a2053686f756c64206e6f742073656e6420746f207a65726f2061646472657373506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e207061757365644f776e61626c652f7472616e736665724f776e657273686970203a2063616e6e6f74207472616e73666572206f776e65727368697020746f207a65726f2061646472657373a2646970667358221220e786b9a5b074cdaf581be7140a401bb3598a4bbd43feb343632e65afbfc7bb3f64736f6c634300060a0033