diff --git a/publish/assets.json b/publish/assets.json index ff75beb696..dcc112ad59 100644 --- a/publish/assets.json +++ b/publish/assets.json @@ -729,6 +729,17 @@ "category": "crypto", "sign": "", "description": "Wrapped stETH" + }, + "JTO": { + "asset": "JTO", + "category": "crypto", + "sign": "", + "description": "Jito" + }, + "ORDI": { + "asset": "ORDI", + "category": "crypto", + "sign": "", + "description": "ORDI" } - -} +} diff --git a/publish/deployed/goerli-ovm/config.json b/publish/deployed/goerli-ovm/config.json index 9f9a56832b..84a7082809 100644 --- a/publish/deployed/goerli-ovm/config.json +++ b/publish/deployed/goerli-ovm/config.json @@ -2125,5 +2125,47 @@ }, "PerpsV2MarketViewsBONKPERP": { "deploy": false + }, + "PerpsV2ProxyJTOPERP": { + "deploy": false + }, + "PerpsV2MarketStateJTOPERP": { + "deploy": false + }, + "PerpsV2MarketJTOPERP": { + "deploy": false + }, + "PerpsV2MarketLiquidateJTOPERP": { + "deploy": false + }, + "PerpsV2DelayedIntentJTOPERP": { + "deploy": false + }, + "PerpsV2DelayedExecutionJTOPERP": { + "deploy": false + }, + "PerpsV2MarketViewsJTOPERP": { + "deploy": false + }, + "PerpsV2ProxyORDIPERP": { + "deploy": false + }, + "PerpsV2MarketStateORDIPERP": { + "deploy": false + }, + "PerpsV2MarketORDIPERP": { + "deploy": false + }, + "PerpsV2MarketLiquidateORDIPERP": { + "deploy": false + }, + "PerpsV2DelayedIntentORDIPERP": { + "deploy": false + }, + "PerpsV2DelayedExecutionORDIPERP": { + "deploy": false + }, + "PerpsV2MarketViewsORDIPERP": { + "deploy": false } } diff --git a/publish/deployed/goerli-ovm/deployment.json b/publish/deployed/goerli-ovm/deployment.json index 3bff5931f0..fb980ba3b7 100644 --- a/publish/deployed/goerli-ovm/deployment.json +++ b/publish/deployed/goerli-ovm/deployment.json @@ -318,7 +318,7 @@ "0x2E5ED97596a8368EB9E44B1f3F25B2E813845303", "0xB9525040A5B6a2d9e013240397079Fd1320559C4", "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - "40204594671102597753973947", + "40217063996131440051094825", "0x9Fc84992dF5496797784374B810E04238728743d" ] }, @@ -10039,6 +10039,206 @@ "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", "0x9Fc84992dF5496797784374B810E04238728743d" ] + }, + "PerpsV2ProxyJTOPERP": { + "name": "PerpsV2ProxyJTOPERP", + "address": "0x2A1D31C525B091289B88c8Cf655206017c455CBd", + "source": "ProxyPerpsV2", + "link": "https://goerli-explorer.optimism.io/address/0x2A1D31C525B091289B88c8Cf655206017c455CBd", + "timestamp": "2024-01-22T20:49:24.471Z", + "txn": "", + "network": "goerli", + "constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"] + }, + "PerpsV2MarketStateJTOPERP": { + "name": "PerpsV2MarketStateJTOPERP", + "address": "0xA44F79253F1838050f917315243c2373c6214b68", + "source": "PerpsV2MarketState", + "link": "https://goerli-explorer.optimism.io/address/0xA44F79253F1838050f917315243c2373c6214b68", + "timestamp": "2024-01-22T20:49:35.778Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"], + "0x4a544f0000000000000000000000000000000000000000000000000000000000", + "0x734a544f50455250000000000000000000000000000000000000000000000000", + "0xA44F79253F1838050f917315243c2373c6214b68" + ] + }, + "PerpsV2MarketJTOPERP": { + "name": "PerpsV2MarketJTOPERP", + "address": "0x7A51810F473a3baEdae158bE4AD887efd8f756Fe", + "source": "PerpsV2Market", + "link": "https://goerli-explorer.optimism.io/address/0x7A51810F473a3baEdae158bE4AD887efd8f756Fe", + "timestamp": "2024-01-22T20:49:46.980Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0x2A1D31C525B091289B88c8Cf655206017c455CBd", + "0xA44F79253F1838050f917315243c2373c6214b68", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] + }, + "PerpsV2MarketLiquidateJTOPERP": { + "name": "PerpsV2MarketLiquidateJTOPERP", + "address": "0xB0bda3a5A58265a3689F37e96B34420A8A5B8C49", + "source": "PerpsV2MarketLiquidate", + "link": "https://goerli-explorer.optimism.io/address/0xB0bda3a5A58265a3689F37e96B34420A8A5B8C49", + "timestamp": "2024-01-22T20:50:01.514Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0x2A1D31C525B091289B88c8Cf655206017c455CBd", + "0xA44F79253F1838050f917315243c2373c6214b68", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] + }, + "PerpsV2DelayedIntentJTOPERP": { + "name": "PerpsV2DelayedIntentJTOPERP", + "address": "0xA764E85b8D3A5ff85e3c01ffCC6CaC199Af2689A", + "source": "PerpsV2MarketDelayedIntent", + "link": "https://goerli-explorer.optimism.io/address/0xA764E85b8D3A5ff85e3c01ffCC6CaC199Af2689A", + "timestamp": "2024-01-22T20:50:13.028Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0x2A1D31C525B091289B88c8Cf655206017c455CBd", + "0xA44F79253F1838050f917315243c2373c6214b68", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] + }, + "PerpsV2DelayedExecutionJTOPERP": { + "name": "PerpsV2DelayedExecutionJTOPERP", + "address": "0x6d7e1ab775cFCDB6d518b2A2C1C9EABaD5815860", + "source": "PerpsV2MarketDelayedExecution", + "link": "https://goerli-explorer.optimism.io/address/0x6d7e1ab775cFCDB6d518b2A2C1C9EABaD5815860", + "timestamp": "2024-01-22T20:50:24.222Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0x2A1D31C525B091289B88c8Cf655206017c455CBd", + "0xA44F79253F1838050f917315243c2373c6214b68", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] + }, + "PerpsV2MarketViewsJTOPERP": { + "name": "PerpsV2MarketViewsJTOPERP", + "address": "0x71aAf15a07E37564F05a030086fea88F7af2e496", + "source": "PerpsV2MarketViews", + "link": "https://goerli-explorer.optimism.io/address/0x71aAf15a07E37564F05a030086fea88F7af2e496", + "timestamp": "2024-01-22T20:50:34.577Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0xA44F79253F1838050f917315243c2373c6214b68", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] + }, + "PerpsV2ProxyORDIPERP": { + "name": "PerpsV2ProxyORDIPERP", + "address": "0xE493b28d8F9DcdDD5e8187CB87cB04cdF23e32E9", + "source": "ProxyPerpsV2", + "link": "https://goerli-explorer.optimism.io/address/0xE493b28d8F9DcdDD5e8187CB87cB04cdF23e32E9", + "timestamp": "2024-01-22T21:08:21.974Z", + "txn": "", + "network": "goerli", + "constructorArgs": ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"] + }, + "PerpsV2MarketStateORDIPERP": { + "name": "PerpsV2MarketStateORDIPERP", + "address": "0x6A5d6D7D740DABFC5Eb632e7C14f88fac7900a78", + "source": "PerpsV2MarketState", + "link": "https://goerli-explorer.optimism.io/address/0x6A5d6D7D740DABFC5Eb632e7C14f88fac7900a78", + "timestamp": "2024-01-22T21:08:32.462Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + ["0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9"], + "0x4f52444900000000000000000000000000000000000000000000000000000000", + "0x734f524449504552500000000000000000000000000000000000000000000000", + "0x6A5d6D7D740DABFC5Eb632e7C14f88fac7900a78" + ] + }, + "PerpsV2MarketORDIPERP": { + "name": "PerpsV2MarketORDIPERP", + "address": "0x06935a3687B041561A528647F1353DA61059014F", + "source": "PerpsV2Market", + "link": "https://goerli-explorer.optimism.io/address/0x06935a3687B041561A528647F1353DA61059014F", + "timestamp": "2024-01-22T21:08:44.495Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0xE493b28d8F9DcdDD5e8187CB87cB04cdF23e32E9", + "0x6A5d6D7D740DABFC5Eb632e7C14f88fac7900a78", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] + }, + "PerpsV2MarketLiquidateORDIPERP": { + "name": "PerpsV2MarketLiquidateORDIPERP", + "address": "0x081308b700961fB924D3A3aceFaB9d7A08A1E8f1", + "source": "PerpsV2MarketLiquidate", + "link": "https://goerli-explorer.optimism.io/address/0x081308b700961fB924D3A3aceFaB9d7A08A1E8f1", + "timestamp": "2024-01-22T21:08:56.556Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0xE493b28d8F9DcdDD5e8187CB87cB04cdF23e32E9", + "0x6A5d6D7D740DABFC5Eb632e7C14f88fac7900a78", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] + }, + "PerpsV2DelayedIntentORDIPERP": { + "name": "PerpsV2DelayedIntentORDIPERP", + "address": "0x5dbA0028A826395bc748e97fde8C6e4398dD0fc8", + "source": "PerpsV2MarketDelayedIntent", + "link": "https://goerli-explorer.optimism.io/address/0x5dbA0028A826395bc748e97fde8C6e4398dD0fc8", + "timestamp": "2024-01-22T21:09:08.451Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0xE493b28d8F9DcdDD5e8187CB87cB04cdF23e32E9", + "0x6A5d6D7D740DABFC5Eb632e7C14f88fac7900a78", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] + }, + "PerpsV2DelayedExecutionORDIPERP": { + "name": "PerpsV2DelayedExecutionORDIPERP", + "address": "0x9b17EB6eDfDd827f681cAE823DFF6a2282C2682a", + "source": "PerpsV2MarketDelayedExecution", + "link": "https://goerli-explorer.optimism.io/address/0x9b17EB6eDfDd827f681cAE823DFF6a2282C2682a", + "timestamp": "2024-01-22T21:09:20.186Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0xE493b28d8F9DcdDD5e8187CB87cB04cdF23e32E9", + "0x6A5d6D7D740DABFC5Eb632e7C14f88fac7900a78", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] + }, + "PerpsV2MarketViewsORDIPERP": { + "name": "PerpsV2MarketViewsORDIPERP", + "address": "0x49A35Fc278E44c6Eda2BEaf49A2b73C2EE0AE9E4", + "source": "PerpsV2MarketViews", + "link": "https://goerli-explorer.optimism.io/address/0x49A35Fc278E44c6Eda2BEaf49A2b73C2EE0AE9E4", + "timestamp": "2024-01-22T21:09:29.797Z", + "txn": "", + "network": "goerli", + "constructorArgs": [ + "0x6A5d6D7D740DABFC5Eb632e7C14f88fac7900a78", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x9Fc84992dF5496797784374B810E04238728743d" + ] } }, "sources": { @@ -50292,7 +50492,7 @@ } }, "ProxyPerpsV2": { - "bytecode": "60806040523480156200001157600080fd5b50604051620016c6380380620016c68339810160408190526200003491620000d7565b806001600160a01b038116620000675760405162461bcd60e51b81526004016200005e906200017d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b491849062000157565b60405180910390a15050620001d8565b8051620000d181620001be565b92915050565b600060208284031215620000ea57600080fd5b6000620000f88484620000c4565b949350505050565b6200010b81620001aa565b82525050565b6200010b8162000198565b60006200012b6019836200018f565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000167828562000100565b62000176602083018462000111565b9392505050565b60208082528101620000d1816200011c565b90815260200190565b60006001600160a01b038216620000d1565b6000620000d1826000620000d18262000198565b620001c98162000198565b8114620001d557600080fd5b50565b6114de80620001e86000396000f3fe60806040526004361061009c5760003560e01c806345019a971161006457806345019a97146102bd57806353a47bb7146102ea5780637696b5bb1461030c57806379ba50971461032e5780638da5cb5b14610343578063907dff97146103585761009c565b80631627540c146102035780631939f17f146102255780631a6e649e146102455780631d46021f1461027b5780633a671e641461029d575b6001600160e01b0319600035166100b281610378565b6100d75760405162461bcd60e51b81526004016100ce906113d0565b60405180910390fd5b6001600160e01b0319811660009081526003602052604081205460028054909190811061010057fe5b6000918252602080832091909101546001600160e01b0319851683526003909152604082205460028054600160201b9093046001600160a01b0316945091811061014657fe5b600091825260209091200154600160c01b900460ff16905080156101865760405136600082376000803683865afa3d6000833e80610182573d82fd5b3d82f35b604051635e33fc1960e11b81526001600160a01b0383169063bc67f832906101b2903390600401611308565b600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b505050506040513660008237600080368334875af13d6000833e80610182573d82fd5b34801561020f57600080fd5b5061022361021e366004610eb4565b6103ea565b005b34801561023157600080fd5b50610223610240366004610ef8565b610448565b34801561025157600080fd5b50610265610260366004610eda565b6106d9565b6040516102729190611400565b60405180910390f35b34801561028757600080fd5b50610290610796565b6040516102729190611338565b3480156102a957600080fd5b506102236102b8366004610eda565b6107f8565b3480156102c957600080fd5b506102dd6102d8366004610fe9565b6109b1565b6040516102729190611349565b3480156102f657600080fd5b506102ff610ae7565b60405161027291906112fa565b34801561031857600080fd5b50610321610af6565b604051610272919061140e565b34801561033a57600080fd5b50610223610afc565b34801561034f57600080fd5b506102ff610b98565b34801561036457600080fd5b50610223610373366004610f45565b610ba7565b60025460009061038a575060006103e5565b6001600160e01b03198216600090815260036020526040902054801515806103e15750826001600160e01b03191660026000815481106103c657fe5b60009182526020909120015460e01b6001600160e01b031916145b9150505b919050565b6103f2610c86565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061043d9083906112fa565b60405180910390a150565b610450610c86565b6001600160e01b031983166104775760405162461bcd60e51b81526004016100ce906113b0565b61048083610378565b1561051d576001600160e01b031983166000908152600360205260408120546002805490919081106104ae57fe5b600091825260209091200180549091506104d790600160201b90046001600160a01b0316610cb2565b805463ffffffff191660e085901c17640100000000600160c01b031916600160201b6001600160a01b038516021760ff60c01b1916600160c01b831515021790556105ec565b6002546001600160e01b03198416600090815260036020526040902055610542610e1f565b6001600160e01b0319841681526001600160a01b0380841660208301908152831515604084019081526002805460018101825560009190915293517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9094018054925191511515600160c01b0260ff60c01b1992909416600160201b02640100000000600160c01b031960e09690961c63ffffffff19909416939093179490941691909117161790555b6001600160a01b03821660009081526004602052604090208054600190810191829055141561069957600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0384161790556040517f754dc0878f0e981d97e717f071376c2d2fe16d7f004be06dbadb70b6947075ab906106909084906112fa565b60405180910390a15b7f50baa98668b326aa278119ffadc1468a16913ac8582b3cbd063c7e69e4b2bdd08383836040516106cc93929190611368565b60405180910390a1505050565b6106e1610e1f565b6106ea82610378565b610711575060408051606081018252600080825260208201819052918101919091526103e5565b6001600160e01b0319821660009081526003602052604090205460028054909190811061073a57fe5b600091825260209182902060408051606081018252929091015460e081901b6001600160e01b0319168352600160201b81046001600160a01b031693830193909352600160c01b90920460ff1615159181019190915292915050565b606060058054806020026020016040519081016040528092919081815260200182805480156107ee57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107d0575b5050505050905090565b610800610c86565b61080981610378565b6108255760405162461bcd60e51b81526004016100ce906113a0565b6001600160e01b0319811660009081526003602052604090205460028054600019810191610878918490811061085757fe5b600091825260209091200154600160201b90046001600160a01b0316610cb2565b8082146109385760006002828154811061088e57fe5b90600052602060002001905080600284815481106108a857fe5b6000918252602080832084549201805463ffffffff191663ffffffff909316929092178083558454640100000000600160c01b0319909116600160201b918290046001600160a01b031690910217808355935460ff60c01b19909416600160c01b9485900460ff161515909402939093179055915460e01b6001600160e01b031916825260039052604090208290555b600280548061094357fe5b60008281526020808220830160001990810180546001600160c81b03191690559092019092556001600160e01b03198516825260039052604080822091909155517f76d504ba17812cd58154028a97a1e6704678fd628c01ae5514483383a787e959906106cc90859061135a565b600254606090838301908111156109c757506002545b838111610a085760408051600080825260208201909252906109ff565b6109ec610e1f565b8152602001906001900390816109e45790505b50915050610ae1565b604080518583038082526020808202830101909252606090828015610a4757816020015b610a34610e1f565b815260200190600190039081610a2c5790505b50905060005b82811015610adb57600287820181548110610a6457fe5b60009182526020918290206040805160608101825291909201546001600160e01b031960e082901b1682526001600160a01b03600160201b8204169382019390935260ff600160c01b909304929092161515908201528251839083908110610ac857fe5b6020908102919091010152600101610a4d565b50925050505b92915050565b6001546001600160a01b031681565b60025490565b6001546001600160a01b03163314610b265760405162461bcd60e51b81526004016100ce90611390565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610b69926001600160a01b0391821692911690611316565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b33600090815260046020526040902054610bd35760405162461bcd60e51b81526004016100ce906113c0565b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610c3d5760018114610c485760028114610c545760038114610c615760048114610c6f57610c7a565b8260208301a0610c7a565b868360208401a1610c7a565b85878460208501a2610c7a565b8486888560208601a3610c7a565b838587898660208701a45b50505050505050505050565b6000546001600160a01b03163314610cb05760405162461bcd60e51b81526004016100ce906113e0565b565b6001600160a01b038116600090815260046020526040902054610ce75760405162461bcd60e51b81526004016100ce906113f0565b6001600160a01b038116600090815260046020526040902080546000190190819055610e1c5760005b600554811015610dec57816001600160a01b031660058281548110610d3157fe5b6000918252602090912001546001600160a01b03161415610de457600580546000198101908110610d5e57fe5b600091825260209091200154600580546001600160a01b039092169183908110610d8457fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506005805480610dbd57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610dec565b600101610d10565b507fc46f5d4a0bdb1a319220635019815a6b89dbb2edf2a73b6ac3259edd2405b8088160405161043d91906112fa565b50565b604080516060810182526000808252602082018190529181019190915290565b8035610ae18161146c565b8035610ae181611480565b8035610ae181611489565b8035610ae181611492565b60008083601f840112610e7d57600080fd5b50813567ffffffffffffffff811115610e9557600080fd5b602083019150836001820283011115610ead57600080fd5b9250929050565b600060208284031215610ec657600080fd5b6000610ed28484610e3f565b949350505050565b600060208284031215610eec57600080fd5b6000610ed28484610e60565b600080600060608486031215610f0d57600080fd5b6000610f198686610e60565b9350506020610f2a86828701610e3f565b9250506040610f3b86828701610e4a565b9150509250925092565b600080600080600080600060c0888a031215610f6057600080fd5b873567ffffffffffffffff811115610f7757600080fd5b610f838a828b01610e6b565b97509750506020610f968a828b01610e55565b9550506040610fa78a828b01610e55565b9450506060610fb88a828b01610e55565b9350506080610fc98a828b01610e55565b92505060a0610fda8a828b01610e55565b91505092959891949750929550565b60008060408385031215610ffc57600080fd5b60006110088585610e55565b925050602061101985828601610e55565b9150509250929050565b600061102f838361105a565b505060200190565b600061104383836112b4565b505060600190565b6110548161145b565b82525050565b6110548161142f565b600061106e82611422565b6110788185611426565b93506110838361141c565b8060005b838110156110b157815161109b8882611023565b97506110a68361141c565b925050600101611087565b509495945050505050565b60006110c782611422565b6110d18185611426565b93506110dc8361141c565b8060005b838110156110b15781516110f48882611037565b97506110ff8361141c565b9250506001016110e0565b6110548161143a565b61105481611442565b6000611129603583611426565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611180601483611426565b7329b2b632b1ba37b9103737ba1034b71039b2ba1760611b815260200192915050565b60006111b0601483611426565b7324b73b30b634b2103734b61039b2b632b1ba37b960611b815260200192915050565b60006111e0601683611426565b75135d5cdd0818994818481c1c9bde1e481d185c99d95d60521b815260200192915050565b6000611212601083611426565b6f24b73b30b634b21039b2b632b1ba37b960811b815260200192915050565b600061123e602f83611426565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061128f601683611426565b752a30b933b2ba103737ba103932b332b932b731b2b21760511b815260200192915050565b805160608301906112c58482611113565b5060208201516112d8602085018261105a565b5060408201516112eb604085018261110a565b50505050565b6110548161143f565b60208101610ae1828461105a565b60208101610ae1828461104b565b60408101611324828561105a565b611331602083018461105a565b9392505050565b602080825281016113318184611063565b6020808252810161133181846110bc565b60208101610ae18284611113565b606081016113768286611113565b611383602083018561105a565b610ed2604083018461110a565b60208082528101610ae18161111c565b60208082528101610ae181611173565b60208082528101610ae1816111a3565b60208082528101610ae1816111d3565b60208082528101610ae181611205565b60208082528101610ae181611231565b60208082528101610ae181611282565b60608101610ae182846112b4565b60208101610ae182846112f1565b60200190565b5190565b90815260200190565b6000610ae18261144f565b151590565b90565b6001600160e01b03191690565b6001600160a01b031690565b6000610ae1826000610ae18261142f565b6114758161142f565b8114610e1c57600080fd5b6114758161143a565b6114758161143f565b6114758161144256fea365627a7a7231582027a6d101e30d92532035de6f77e97413176e0fad77c85f79471acae70e202da96c6578706572696d656e74616cf564736f6c63430005100040", + "bytecode": "60806040523480156200001157600080fd5b50604051620016c6380380620016c68339810160408190526200003491620000d7565b806001600160a01b038116620000675760405162461bcd60e51b81526004016200005e906200017d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b491849062000157565b60405180910390a15050620001d8565b8051620000d181620001be565b92915050565b600060208284031215620000ea57600080fd5b6000620000f88484620000c4565b949350505050565b6200010b81620001aa565b82525050565b6200010b8162000198565b60006200012b6019836200018f565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000167828562000100565b62000176602083018462000111565b9392505050565b60208082528101620000d1816200011c565b90815260200190565b60006001600160a01b038216620000d1565b6000620000d1826000620000d18262000198565b620001c98162000198565b8114620001d557600080fd5b50565b6114de80620001e86000396000f3fe60806040526004361061009c5760003560e01c806345019a971161006457806345019a97146102bd57806353a47bb7146102ea5780637696b5bb1461030c57806379ba50971461032e5780638da5cb5b14610343578063907dff97146103585761009c565b80631627540c146102035780631939f17f146102255780631a6e649e146102455780631d46021f1461027b5780633a671e641461029d575b6001600160e01b0319600035166100b281610378565b6100d75760405162461bcd60e51b81526004016100ce906113d0565b60405180910390fd5b6001600160e01b0319811660009081526003602052604081205460028054909190811061010057fe5b6000918252602080832091909101546001600160e01b0319851683526003909152604082205460028054600160201b9093046001600160a01b0316945091811061014657fe5b600091825260209091200154600160c01b900460ff16905080156101865760405136600082376000803683865afa3d6000833e80610182573d82fd5b3d82f35b604051635e33fc1960e11b81526001600160a01b0383169063bc67f832906101b2903390600401611308565b600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b505050506040513660008237600080368334875af13d6000833e80610182573d82fd5b34801561020f57600080fd5b5061022361021e366004610eb4565b6103ea565b005b34801561023157600080fd5b50610223610240366004610ef8565b610448565b34801561025157600080fd5b50610265610260366004610eda565b6106d9565b6040516102729190611400565b60405180910390f35b34801561028757600080fd5b50610290610796565b6040516102729190611338565b3480156102a957600080fd5b506102236102b8366004610eda565b6107f8565b3480156102c957600080fd5b506102dd6102d8366004610fe9565b6109b1565b6040516102729190611349565b3480156102f657600080fd5b506102ff610ae7565b60405161027291906112fa565b34801561031857600080fd5b50610321610af6565b604051610272919061140e565b34801561033a57600080fd5b50610223610afc565b34801561034f57600080fd5b506102ff610b98565b34801561036457600080fd5b50610223610373366004610f45565b610ba7565b60025460009061038a575060006103e5565b6001600160e01b03198216600090815260036020526040902054801515806103e15750826001600160e01b03191660026000815481106103c657fe5b60009182526020909120015460e01b6001600160e01b031916145b9150505b919050565b6103f2610c86565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061043d9083906112fa565b60405180910390a150565b610450610c86565b6001600160e01b031983166104775760405162461bcd60e51b81526004016100ce906113b0565b61048083610378565b1561051d576001600160e01b031983166000908152600360205260408120546002805490919081106104ae57fe5b600091825260209091200180549091506104d790600160201b90046001600160a01b0316610cb2565b805463ffffffff191660e085901c17640100000000600160c01b031916600160201b6001600160a01b038516021760ff60c01b1916600160c01b831515021790556105ec565b6002546001600160e01b03198416600090815260036020526040902055610542610e1f565b6001600160e01b0319841681526001600160a01b0380841660208301908152831515604084019081526002805460018101825560009190915293517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9094018054925191511515600160c01b0260ff60c01b1992909416600160201b02640100000000600160c01b031960e09690961c63ffffffff19909416939093179490941691909117161790555b6001600160a01b03821660009081526004602052604090208054600190810191829055141561069957600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0384161790556040517f754dc0878f0e981d97e717f071376c2d2fe16d7f004be06dbadb70b6947075ab906106909084906112fa565b60405180910390a15b7f50baa98668b326aa278119ffadc1468a16913ac8582b3cbd063c7e69e4b2bdd08383836040516106cc93929190611368565b60405180910390a1505050565b6106e1610e1f565b6106ea82610378565b610711575060408051606081018252600080825260208201819052918101919091526103e5565b6001600160e01b0319821660009081526003602052604090205460028054909190811061073a57fe5b600091825260209182902060408051606081018252929091015460e081901b6001600160e01b0319168352600160201b81046001600160a01b031693830193909352600160c01b90920460ff1615159181019190915292915050565b606060058054806020026020016040519081016040528092919081815260200182805480156107ee57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107d0575b5050505050905090565b610800610c86565b61080981610378565b6108255760405162461bcd60e51b81526004016100ce906113a0565b6001600160e01b0319811660009081526003602052604090205460028054600019810191610878918490811061085757fe5b600091825260209091200154600160201b90046001600160a01b0316610cb2565b8082146109385760006002828154811061088e57fe5b90600052602060002001905080600284815481106108a857fe5b6000918252602080832084549201805463ffffffff191663ffffffff909316929092178083558454640100000000600160c01b0319909116600160201b918290046001600160a01b031690910217808355935460ff60c01b19909416600160c01b9485900460ff161515909402939093179055915460e01b6001600160e01b031916825260039052604090208290555b600280548061094357fe5b60008281526020808220830160001990810180546001600160c81b03191690559092019092556001600160e01b03198516825260039052604080822091909155517f76d504ba17812cd58154028a97a1e6704678fd628c01ae5514483383a787e959906106cc90859061135a565b600254606090838301908111156109c757506002545b838111610a085760408051600080825260208201909252906109ff565b6109ec610e1f565b8152602001906001900390816109e45790505b50915050610ae1565b604080518583038082526020808202830101909252606090828015610a4757816020015b610a34610e1f565b815260200190600190039081610a2c5790505b50905060005b82811015610adb57600287820181548110610a6457fe5b60009182526020918290206040805160608101825291909201546001600160e01b031960e082901b1682526001600160a01b03600160201b8204169382019390935260ff600160c01b909304929092161515908201528251839083908110610ac857fe5b6020908102919091010152600101610a4d565b50925050505b92915050565b6001546001600160a01b031681565b60025490565b6001546001600160a01b03163314610b265760405162461bcd60e51b81526004016100ce90611390565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610b69926001600160a01b0391821692911690611316565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b33600090815260046020526040902054610bd35760405162461bcd60e51b81526004016100ce906113c0565b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610c3d5760018114610c485760028114610c545760038114610c615760048114610c6f57610c7a565b8260208301a0610c7a565b868360208401a1610c7a565b85878460208501a2610c7a565b8486888560208601a3610c7a565b838587898660208701a45b50505050505050505050565b6000546001600160a01b03163314610cb05760405162461bcd60e51b81526004016100ce906113e0565b565b6001600160a01b038116600090815260046020526040902054610ce75760405162461bcd60e51b81526004016100ce906113f0565b6001600160a01b038116600090815260046020526040902080546000190190819055610e1c5760005b600554811015610dec57816001600160a01b031660058281548110610d3157fe5b6000918252602090912001546001600160a01b03161415610de457600580546000198101908110610d5e57fe5b600091825260209091200154600580546001600160a01b039092169183908110610d8457fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506005805480610dbd57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610dec565b600101610d10565b507fc46f5d4a0bdb1a319220635019815a6b89dbb2edf2a73b6ac3259edd2405b8088160405161043d91906112fa565b50565b604080516060810182526000808252602082018190529181019190915290565b8035610ae18161146c565b8035610ae181611480565b8035610ae181611489565b8035610ae181611492565b60008083601f840112610e7d57600080fd5b50813567ffffffffffffffff811115610e9557600080fd5b602083019150836001820283011115610ead57600080fd5b9250929050565b600060208284031215610ec657600080fd5b6000610ed28484610e3f565b949350505050565b600060208284031215610eec57600080fd5b6000610ed28484610e60565b600080600060608486031215610f0d57600080fd5b6000610f198686610e60565b9350506020610f2a86828701610e3f565b9250506040610f3b86828701610e4a565b9150509250925092565b600080600080600080600060c0888a031215610f6057600080fd5b873567ffffffffffffffff811115610f7757600080fd5b610f838a828b01610e6b565b97509750506020610f968a828b01610e55565b9550506040610fa78a828b01610e55565b9450506060610fb88a828b01610e55565b9350506080610fc98a828b01610e55565b92505060a0610fda8a828b01610e55565b91505092959891949750929550565b60008060408385031215610ffc57600080fd5b60006110088585610e55565b925050602061101985828601610e55565b9150509250929050565b600061102f838361105a565b505060200190565b600061104383836112b4565b505060600190565b6110548161145b565b82525050565b6110548161142f565b600061106e82611422565b6110788185611426565b93506110838361141c565b8060005b838110156110b157815161109b8882611023565b97506110a68361141c565b925050600101611087565b509495945050505050565b60006110c782611422565b6110d18185611426565b93506110dc8361141c565b8060005b838110156110b15781516110f48882611037565b97506110ff8361141c565b9250506001016110e0565b6110548161143a565b61105481611442565b6000611129603583611426565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611180601483611426565b7329b2b632b1ba37b9103737ba1034b71039b2ba1760611b815260200192915050565b60006111b0601483611426565b7324b73b30b634b2103734b61039b2b632b1ba37b960611b815260200192915050565b60006111e0601683611426565b75135d5cdd0818994818481c1c9bde1e481d185c99d95d60521b815260200192915050565b6000611212601083611426565b6f24b73b30b634b21039b2b632b1ba37b960811b815260200192915050565b600061123e602f83611426565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061128f601683611426565b752a30b933b2ba103737ba103932b332b932b731b2b21760511b815260200192915050565b805160608301906112c58482611113565b5060208201516112d8602085018261105a565b5060408201516112eb604085018261110a565b50505050565b6110548161143f565b60208101610ae1828461105a565b60208101610ae1828461104b565b60408101611324828561105a565b611331602083018461105a565b9392505050565b602080825281016113318184611063565b6020808252810161133181846110bc565b60208101610ae18284611113565b606081016113768286611113565b611383602083018561105a565b610ed2604083018461110a565b60208082528101610ae18161111c565b60208082528101610ae181611173565b60208082528101610ae1816111a3565b60208082528101610ae1816111d3565b60208082528101610ae181611205565b60208082528101610ae181611231565b60208082528101610ae181611282565b60608101610ae182846112b4565b60208101610ae182846112f1565b60200190565b5190565b90815260200190565b6000610ae18261144f565b151590565b90565b6001600160e01b03191690565b6001600160a01b031690565b6000610ae1826000610ae18261142f565b6114758161142f565b8114610e1c57600080fd5b6114758161143a565b6114758161143f565b6114758161144256fea365627a7a723158205b02e755ac6d3e549725a5dcd619ef392321dbbc79a350352f7917c7bc2618476c6578706572696d656e74616cf564736f6c63430005100040", "abi": [ { "inputs": [ @@ -50654,10 +50854,10 @@ } ], "source": { - "keccak256": "0xf2b764f8f435fc338d04c110dd021bb0bd438d20c3c5c2ab6671727de614fe1b", + "keccak256": "0x0480bc37486601da59cc4839de601a83ebc4828675c64c3f89eddb49cecafcac", "urls": [ - "bzz-raw://1f162795675c3bcab4983573ec2aff77034325606947cda89d4d6fe8e8f6b9f3", - "dweb:/ipfs/Qma7efJKXMFzdyKx6xaSZuFnbWVDhQgHBWMyxAGLSZLry2" + "bzz-raw://83d32fadffa413a554ac89cfc035ba8e30a6bd170ef6232810c5b5d4c5e27e22", + "dweb:/ipfs/QmNMaQ8pTtCTrrsvfFJWmxYBDDhR64TSvUZgSRUyHX7TsR" ] }, "metadata": { @@ -50679,10 +50879,10 @@ }, "sources": { "ProxyPerpsV2.sol": { - "keccak256": "0xf2b764f8f435fc338d04c110dd021bb0bd438d20c3c5c2ab6671727de614fe1b", + "keccak256": "0x0480bc37486601da59cc4839de601a83ebc4828675c64c3f89eddb49cecafcac", "urls": [ - "bzz-raw://1f162795675c3bcab4983573ec2aff77034325606947cda89d4d6fe8e8f6b9f3", - "dweb:/ipfs/Qma7efJKXMFzdyKx6xaSZuFnbWVDhQgHBWMyxAGLSZLry2" + "bzz-raw://83d32fadffa413a554ac89cfc035ba8e30a6bd170ef6232810c5b5d4c5e27e22", + "dweb:/ipfs/QmNMaQ8pTtCTrrsvfFJWmxYBDDhR64TSvUZgSRUyHX7TsR" ] } }, @@ -50690,7 +50890,7 @@ } }, "PerpsV2MarketState": { - "bytecode": "6080604052601480546001600160401b03191660011790553480156200002457600080fd5b506040516200393c3803806200393c8339810160408190526200004791620004d7565b83856001600160a01b0381166200007b5760405162461bcd60e51b81526004016200007290620006bf565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c891849062000675565b60405180910390a1506000546001600160a01b0316620000fc5760405162461bcd60e51b81526004016200007290620006ad565b62000110816001600160e01b036200029716565b50600a83905560098290556001600160a01b038116156200028c576006805460ff60a01b196001600160a01b038085166001600160a01b03199093169290921716600160a01b17918290556040805163cdf456e160e01b81529051929091169163cdf456e191600480820192602092909190829003018186803b1580156200019757600080fd5b505afa158015620001ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001d291908101906200056f565b600a541480156200026d5750600660009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022d57600080fd5b505afa15801562000242573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200026891908101906200056f565b600954145b6200028c5760405162461bcd60e51b815260040162000072906200069b565b505050505062000777565b60005b81518110156200035e57620002d3828281518110620002b557fe5b602002602001015160026200036260201b620022291790919060201c565b620003555762000307828281518110620002e957fe5b60200260200101516002620003d660201b620023d91790919060201c565b7f326fb9158ce5b588ffd9c639338d799b5aab6f47ee92ea9abb914a05724d050f8282815181106200033557fe5b60200260200101516040516200034c919062000665565b60405180910390a15b6001016200029a565b5050565b81546000906200037557506000620003d0565b6001600160a01b038216600090815260018401602052604090205480151580620003cc5750826001600160a01b031684600001600081548110620003b557fe5b6000918252602090912001546001600160a01b0316145b9150505b92915050565b620003eb82826001600160e01b036200036216565b6200035e5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b8051620003d08162000752565b600082601f8301126200045357600080fd5b81516200046a6200046482620006f8565b620006d1565b915081818352602084019350602081019050838560208402820111156200049057600080fd5b60005b83811015620004c05781620004a9888262000434565b845250602092830192919091019060010162000493565b5050505092915050565b8051620003d0816200076c565b600080600080600060a08688031215620004f057600080fd5b6000620004fe888862000434565b95505060208601516001600160401b038111156200051b57600080fd5b620005298882890162000441565b94505060406200053c88828901620004ca565b93505060606200054f88828901620004ca565b9250506080620005628882890162000434565b9150509295509295909350565b6000602082840312156200058257600080fd5b6000620003cc8484620004ca565b6200059b816200073e565b82525050565b6200059b8162000722565b6000620005bb602b8362000719565b7f496e76616c6964206c656761637920737461746520626173654173736574206f81526a72206d61726b65744b657960a81b602082015260400192915050565b60006200060a60118362000719565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200063960198362000719565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620003d08284620005a1565b6040810162000685828562000590565b620006946020830184620005a1565b9392505050565b60208082528101620003d081620005ac565b60208082528101620003d081620005fb565b60208082528101620003d0816200062a565b6040518181016001600160401b0381118282101715620006f057600080fd5b604052919050565b60006001600160401b038211156200070f57600080fd5b5060209081020190565b90815260200190565b6000620003d08262000732565b90565b6001600160a01b031690565b6000620003d0826000620003d08262000722565b6200075d8162000722565b81146200076957600080fd5b50565b6200075d816200072f565b6131b580620007876000396000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c80635af0d81f1161015c578063b3a3444e116100ce578063d7103a4611610087578063d7103a4614610559578063e44c84c214610561578063eb56105d14610569578063edd6aa881461057e578063fc6bb1f214610591578063fef48a99146105a45761028a565b8063b3a3444e146104fb578063b545f7121461050e578063c8b809aa14610521578063cded0cea14610541578063cdf456e114610549578063d0a514b3146105515761028a565b806389789e961161012057806389789e961461049d578063899346c7146104b05780638da5cb5b146104c557806395e76562146104cd5780639866471a146104e0578063a720184e146104f35761028a565b80635af0d81f146104545780636938dc0e146104675780636eda00e51461047a57806379ba509714610482578063884fc1821461048a5761028a565b80632bd11f221161020057806342a449be116101b957806342a449be146103d157806345d65e31146103e4578063460af7a6146104045780634eb6b7ac1461041757806353a47bb71461042c57806355f57510146104345761028a565b80632bd11f2214610368578063312d6b731461037b5780633b8d1e7f146103905780633ef3461a146103a357806340aa8c4e146103ab57806341108cf2146103be5761028a565b80632118aa90116102525780632118aa90146102fb57806322d3090a1461030e578063230ee97b1461032357806323393c0d1461033657806327b9a2361461034b5780632b58ecef146103605761028a565b806307369b0b1461028f578063104d46f7146102a4578063158ef93e146102b75780631627540c146102d55780631d2c6717146102e8575b600080fd5b6102a261029d366004612703565b6105b7565b005b6102a26102b23660046129de565b610715565b6102bf61078b565b6040516102cc9190612f9d565b60405180910390f35b6102a26102e3366004612703565b610794565b6102a26102f6366004612721565b6107f2565b6102a26103093660046129c0565b61087e565b6103166108fe565b6040516102cc9190612fef565b6102a26103313660046128bb565b610907565b61033e61094b565b6040516102cc9190612fe1565b61035361095a565b6040516102cc91906130a8565b61031661096d565b6102a26103763660046129de565b61097d565b6103836109f3565b6040516102cc9190612f8c565b6102a261039e3660046129c0565b610a11565b6102a2610a91565b6102a26103b936600461275b565b6110d8565b6103166103cc3660046129c0565b6113b8565b6102a26103df3660046128bb565b61149d565b6103f76103f2366004612703565b61157e565b6040516102cc9190612f63565b6102a2610412366004612a1a565b611599565b61041f61160a565b6040516102cc9190612fd3565b6103f7611610565b610447610442366004612703565b61161f565b6040516102cc919061308c565b6102a2610462366004612834565b6117de565b6102a2610475366004612703565b611a60565b61041f611afc565b6102a2611b02565b610383610498366004612a74565b611b9e565b6103836104ab366004612a74565b611bbb565b6104b8611bfc565b6040516102cc91906130b6565b6103f7611c0b565b6102a26104db366004612aa4565b611c1a565b6102a26104ee366004612703565b611c8f565b61041f611e14565b610383610509366004612a74565b611e1a565b6102a261051c3660046129de565b611e2e565b61053461052f366004612703565b611ea2565b6040516102cc919061307d565b61041f6120ac565b61041f6120b6565b61041f6120bc565b61041f6120c2565b6103166120c8565b6105716120d1565b6040516102cc919061309a565b6102a261058c366004612ae0565b6120e0565b6102a261059f3660046129de565b612152565b6102bf6105b2366004612703565b612209565b60045460ff166105e25760405162461bcd60e51b81526004016105d99061301d565b60405180910390fd5b6105f360023363ffffffff61222916565b61060f5760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b0381166000908152600f602052604081208181556001015561063f60108263ffffffff61222916565b156106555761065560108263ffffffff61229716565b600654600160a01b900460ff16801561068757506001600160a01b03811660009081526007602052604090205460ff16155b15610712576006546040516307369b0b60e01b81526001600160a01b03909116906307369b0b906106bc908490600401612f63565b600060405180830381600087803b1580156106d657600080fd5b505af11580156106ea573d6000803e3d6000fd5b5050506001600160a01b0382166000908152600760205260409020805460ff19166001179055505b50565b60045460ff166107375760405162461bcd60e51b81526004016105d99061301d565b61074860023363ffffffff61222916565b6107645760405162461bcd60e51b81526004016105d99061303d565b600c8054600f9290920b6001600160801b03166001600160801b0319909216919091179055565b60045460ff1681565b61079c6123ad565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107e7908390612f63565b60405180910390a150565b60045460ff166108145760405162461bcd60e51b81526004016105d99061301d565b61082560023363ffffffff61222916565b6108415760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b03828116600090815260166020526040902080546001600160a01b03191691831691909117905561087a6017836123d9565b5050565b60045460ff166108a05760405162461bcd60e51b81526004016105d99061301d565b6108b160023363ffffffff61222916565b6108cd5760405162461bcd60e51b81526004016105d99061303d565b600a5415806108dd5750600a5481145b6108f95760405162461bcd60e51b81526004016105d99061302d565b600a55565b600c54600f0b90565b61090f6123ad565b61087a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061242b92505050565b6006546001600160a01b031681565b600c54600160801b900463ffffffff1681565b600b54600160801b9004600f0b81565b60045460ff1661099f5760405162461bcd60e51b81526004016105d99061301d565b6109b060023363ffffffff61222916565b6109cc5760405162461bcd60e51b81526004016105d99061303d565b600e8054600f9290920b6001600160801b03166001600160801b0319909216919091179055565b60028054606091610a0c9160009063ffffffff6124dc16565b905090565b60045460ff16610a335760405162461bcd60e51b81526004016105d99061301d565b610a4460023363ffffffff61222916565b610a605760405162461bcd60e51b81526004016105d99061303d565b6009541580610a70575060095481145b610a8c5760405162461bcd60e51b81526004016105d99061306d565b600955565b610a996123ad565b60045460ff1615610abc5760405162461bcd60e51b81526004016105d99061304d565b600654600160a01b900460ff161561100f57600660009054906101000a90046001600160a01b03166001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1c57600080fd5b505afa158015610b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b549190810190612a38565b600b80546001600160801b0319166001600160801b039290921691909117905560065460408051632b58ecef60e01b815290516001600160a01b0390921691632b58ecef91600480820192602092909190829003018186803b158015610bb957600080fd5b505afa158015610bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bf191908101906129fc565b600b60106101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550600660009054906101000a90046001600160a01b03166001600160a01b03166322d3090a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ca091908101906129fc565b600c8054600f9290920b6001600160801b03166001600160801b03199092169190911790556006546040805163899346c760e01b815290516001600160a01b039092169163899346c791600480820192602092909190829003018186803b158015610d0a57600080fd5b505afa158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d429190810190612afe565b6014805467ffffffffffffffff19166001600160401b0392909216919091179055600654604080516313dcd11b60e11b815290516001600160a01b03909216916327b9a23691600480820192602092909190829003018186803b158015610da857600080fd5b505afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de09190810190612ac2565b600c60106101000a81548163ffffffff021916908363ffffffff160217905550600660009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4e57600080fd5b505afa158015610e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e8691908101906129fc565b600e60006101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555060006001600660009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0157600080fd5b505afa158015610f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f399190810190612a56565b600654604051632088467960e11b8152929091039250600d916001600160a01b03909116906341108cf290610f72908590600401612fd3565b60206040518083038186803b158015610f8a57600080fd5b505afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fc291908101906129fc565b8154600180820184556000938452602090932060028204018054939091166010026101000a6001600160801b0381810219909416600f9390930b9390931692909202179055600555611073565b600d8054600180820183556000929092527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb560028204018054929091166010026101000a6001600160801b0302199091169055600e80546001600160801b03191690555b6004805460ff191660011790556009546006546005546040517f7b65f444d88d87070324049cb0a854897564e3039d5cd94238a1a7fbc799a112926110ce92600160a01b820460ff16926001600160a01b0390921691612fab565b60405180910390a2565b60045460ff166110fa5760405162461bcd60e51b81526004016105d99061301d565b61110b60023363ffffffff61222916565b6111275760405162461bcd60e51b81526004016105d99061303d565b600654600160a01b900460ff16801561115957506001600160a01b038a1660009081526008602052604090205460ff16155b156111e457600654604051634c33238d60e11b81526001600160a01b0390911690639866471a9061118e908d90600401612f63565b600060405180830381600087803b1580156111a857600080fd5b505af11580156111bc573d6000803e3d6000fd5b5050506001600160a01b038b166000908152600860205260409020805460ff19166001179055505b6040518061012001604052808a1515815260200189600f0b8152602001886001600160801b03168152602001876001600160801b03168152602001866001600160801b03168152602001856001600160801b0316815260200184815260200183815260200182815250601560008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160010160106101000a8154816001600160801b0302191690836001600160801b0316021790555060808201518160020160006101000a8154816001600160801b0302191690836001600160801b0316021790555060a08201518160020160106101000a8154816001600160801b0302191690836001600160801b0316021790555060c0820151816003015560e0820151816004015561010082015181600501559050506113ac8a60126123d990919063ffffffff16565b50505050505050505050565b600654600090600160a01b900460ff1680156113d5575060055482105b1561146157600654604051632088467960e11b81526001600160a01b03909116906341108cf29061140a908590600401612fd3565b60206040518083038186803b15801561142257600080fd5b505afa158015611436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061145a91908101906129fc565b9050611498565b600d60055483038154811061147257fe5b90600052602060002090600291828204019190066010029054906101000a9004600f0b90505b919050565b6114a56123ad565b60005b81811015611579576114e28383838181106114bf57fe5b90506020020160206114d49190810190612703565b60029063ffffffff61222916565b15611571576115198383838181106114f657fe5b905060200201602061150b9190810190612703565b60029063ffffffff61229716565b7f9faa24f7f20c2e0f689165e6886278f3005b15b94407109799ead3257067a66a83838381811061154657fe5b905060200201602061155b9190810190612703565b6040516115689190612f63565b60405180910390a15b6001016114a8565b505050565b6016602052600090815260409020546001600160a01b031681565b60045460ff166115bb5760405162461bcd60e51b81526004016105d99061301d565b6115cc60023363ffffffff61222916565b6115e85760405162461bcd60e51b81526004016105d99061303d565b600b80546001600160801b0319166001600160801b0392909216919091179055565b60125490565b6001546001600160a01b031681565b6116276125b2565b600654600160a01b900460ff16801561165957506001600160a01b03821660009081526007602052604090205460ff16155b801561168457506001600160a01b0382166000908152600f60205260409020546001600160401b0316155b1561175f5760065460405163055f575160e41b815260009182918291829182916001600160a01b0316906355f57510906116c2908a90600401612f63565b60a06040518083038186803b1580156116da57600080fd5b505afa1580156116ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117129190810190612b1c565b6040805160a0810182526001600160401b0396871681529590941660208601526001600160801b0392831693850193909352166060830152600f0b60808201529550611498945050505050565b506001600160a01b03166000908152600f6020818152604092839020835160a08101855281546001600160401b03808216835268010000000000000000820416938201939093526001600160801b03600160801b9384900481169582019590955260019091015493841660608201529204810b810b900b608082015290565b60045460ff166118005760405162461bcd60e51b81526004016105d99061301d565b61181160023363ffffffff61222916565b61182d5760405162461bcd60e51b81526004016105d99061303d565b600654600160a01b900460ff16801561185f57506001600160a01b03861660009081526007602052604090205460ff16155b156118ea576006546040516307369b0b60e01b81526001600160a01b03909116906307369b0b90611894908990600401612f63565b600060405180830381600087803b1580156118ae57600080fd5b505af11580156118c2573d6000803e3d6000fd5b5050506001600160a01b0387166000908152600760205260409020805460ff19166001179055505b6040518060a00160405280866001600160401b03168152602001856001600160401b03168152602001846001600160801b03168152602001836001600160801b0316815260200182600f0b815250600f6000886001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555060208201518160000160086101000a8154816001600160401b0302191690836001600160401b0316021790555060408201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160010160006101000a8154816001600160801b0302191690836001600160801b0316021790555060808201518160010160106101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550905050611a588660106123d990919063ffffffff16565b505050505050565b60045460ff16611a825760405162461bcd60e51b81526004016105d99061301d565b611a9360023363ffffffff61222916565b611aaf5760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b038116600090815260166020526040902080546001600160a01b0319169055611ae660178263ffffffff61222916565b156107125761071260178263ffffffff61229716565b60055481565b6001546001600160a01b03163314611b2c5760405162461bcd60e51b81526004016105d990612ffd565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611b6f926001600160a01b0391821692911690612f71565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060611bb26012848463ffffffff6124dc16565b90505b92915050565b6060611bce60023363ffffffff61222916565b611bea5760405162461bcd60e51b81526004016105d99061303d565b611bb26010848463ffffffff6124dc16565b6014546001600160401b031690565b6000546001600160a01b031681565b60045460ff16611c3c5760405162461bcd60e51b81526004016105d99061301d565b611c4d60023363ffffffff61222916565b611c695760405162461bcd60e51b81526004016105d99061303d565b600c805463ffffffff909216600160801b0263ffffffff60801b19909216919091179055565b60045460ff16611cb15760405162461bcd60e51b81526004016105d99061301d565b611cc260023363ffffffff61222916565b611cde5760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b0381166000908152601560205260408120805470ffffffffffffffffffffffffffffffffff191681556001810182905560028101829055600381018290556004810182905560050155611d3f60128263ffffffff61222916565b15611d5557611d5560128263ffffffff61229716565b600654600160a01b900460ff168015611d8757506001600160a01b03811660009081526008602052604090205460ff16155b1561071257600654604051634c33238d60e11b81526001600160a01b0390911690639866471a90611dbc908490600401612f63565b600060405180830381600087803b158015611dd657600080fd5b505af1158015611dea573d6000803e3d6000fd5b5050506001600160a01b0382166000908152600860205260409020805460ff191660011790555050565b60175490565b6060611bb26017848463ffffffff6124dc16565b60045460ff16611e505760405162461bcd60e51b81526004016105d99061301d565b611e6160023363ffffffff61222916565b611e7d5760405162461bcd60e51b81526004016105d99061303d565b600b8054600f9290920b6001600160801b03908116600160801b029216919091179055565b611eaa6125e0565b600654600160a01b900460ff168015611edc57506001600160a01b03821660009081526008602052604090205460ff16155b8015611f0a57506001600160a01b0382166000908152601560205260409020546101009004600f90810b900b155b1561200a5760065460405163645c04d560e11b8152600091829182918291829182918291829182916001600160a01b03169063c8b809aa90611f50908e90600401612f63565b6101206040518083038186803b158015611f6957600080fd5b505afa158015611f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fa191908101906128fc565b60408051610120810182529915158a52600f9890980b60208a01526001600160801b03968716978901979097529385166060880152918416608087015290921660a085015260c084019190915260e0830152610100820152995061149898505050505050505050565b506001600160a01b0316600090815260156020908152604091829020825161012081018452815460ff81161515825261010090819004600f90810b810b900b9382019390935260018201546001600160801b0380821695830195909552600160801b9081900485166060830152600283015480861660808401520490931660a0840152600381015460c0840152600481015460e0840152600501549082015290565b600d546005540190565b600a5481565b60105490565b60095481565b600e54600f0b81565b600b546001600160801b031681565b60045460ff166121025760405162461bcd60e51b81526004016105d99061301d565b61211360023363ffffffff61222916565b61212f5760405162461bcd60e51b81526004016105d99061303d565b6014805467ffffffffffffffff19166001600160401b0392909216919091179055565b60045460ff166121745760405162461bcd60e51b81526004016105d99061301d565b61218560023363ffffffff61222916565b6121a15760405162461bcd60e51b81526004016105d99061303d565b600d805460018082018355600092909252600281047fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5018054600f9490940b6001600160801b03908116601094909316939093026101000a9182029290910219909216179055565b6001600160a01b0390811660009081526016602052604090205416151590565b815460009061223a57506000611bb5565b6001600160a01b03821660009081526001840160205260409020548015158061228f5750826001600160a01b03168460000160008154811061227857fe5b6000918252602090912001546001600160a01b0316145b949350505050565b6122a18282612229565b6122bd5760405162461bcd60e51b81526004016105d99061300d565b6001600160a01b038116600090815260018301602052604090205482546000190180821461235c5760008460000182815481106122f657fe5b60009182526020909120015485546001600160a01b039091169150819086908590811061231f57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b835484908061236757fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b6000546001600160a01b031633146123d75760405162461bcd60e51b81526004016105d99061305d565b565b6123e38282612229565b61087a5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b60005b815181101561087a5761245e82828151811061244657fe5b6020026020010151600261222990919063ffffffff16565b6124d45761248982828151811061247157fe5b602002602001015160026123d990919063ffffffff16565b7f326fb9158ce5b588ffd9c639338d799b5aab6f47ee92ea9abb914a05724d050f8282815181106124b657fe5b60200260200101516040516124cb9190612f63565b60405180910390a15b60010161242e565b8254606090838301908111156124f0575083545b83811161250d5750506040805160008152602081019091526125ab565b60408051858303808252602080820283010190925260609082801561253c578160200160208202803883390190505b50905060005b828110156125a557876000018782018154811061255b57fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061258557fe5b6001600160a01b0390921660209283029190910190910152600101612542565b50925050505b9392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b8035611bb581613128565b60008083601f84011261264957600080fd5b5081356001600160401b0381111561266057600080fd5b60208301915083602082028301111561267857600080fd5b9250929050565b8035611bb58161313c565b8051611bb58161313c565b8035611bb581613145565b8051611bb581613145565b8035611bb58161314e565b8051611bb58161314e565b8035611bb581613157565b8051611bb581613157565b8035611bb581613160565b8051611bb581613160565b8035611bb581613169565b8051611bb581613169565b60006020828403121561271557600080fd5b600061228f848461262c565b6000806040838503121561273457600080fd5b6000612740858561262c565b92505060206127518582860161262c565b9150509250929050565b6000806000806000806000806000806101408b8d03121561277b57600080fd5b60006127878d8d61262c565b9a505060206127988d828e0161267f565b99505060406127a98d828e016126ab565b98505060606127ba8d828e016126c1565b97505060806127cb8d828e016126c1565b96505060a06127dc8d828e016126c1565b95505060c06127ed8d828e016126c1565b94505060e06127fe8d828e01612695565b9350506101006128108d828e01612695565b9250506101206128228d828e01612695565b9150509295989b9194979a5092959850565b60008060008060008060c0878903121561284d57600080fd5b6000612859898961262c565b965050602061286a89828a016126ed565b955050604061287b89828a016126ed565b945050606061288c89828a016126c1565b935050608061289d89828a016126c1565b92505060a06128ae89828a016126ab565b9150509295509295509295565b600080602083850312156128ce57600080fd5b82356001600160401b038111156128e457600080fd5b6128f085828601612637565b92509250509250929050565b60008060008060008060008060006101208a8c03121561291b57600080fd5b60006129278c8c61268a565b99505060206129388c828d016126b6565b98505060406129498c828d016126cc565b975050606061295a8c828d016126cc565b965050608061296b8c828d016126cc565b95505060a061297c8c828d016126cc565b94505060c061298d8c828d016126a0565b93505060e061299e8c828d016126a0565b9250506101006129b08c828d016126a0565b9150509295985092959850929598565b6000602082840312156129d257600080fd5b600061228f8484612695565b6000602082840312156129f057600080fd5b600061228f84846126ab565b600060208284031215612a0e57600080fd5b600061228f84846126b6565b600060208284031215612a2c57600080fd5b600061228f84846126c1565b600060208284031215612a4a57600080fd5b600061228f84846126cc565b600060208284031215612a6857600080fd5b600061228f84846126a0565b60008060408385031215612a8757600080fd5b6000612a938585612695565b925050602061275185828601612695565b600060208284031215612ab657600080fd5b600061228f84846126d7565b600060208284031215612ad457600080fd5b600061228f84846126e2565b600060208284031215612af257600080fd5b600061228f84846126ed565b600060208284031215612b1057600080fd5b600061228f84846126f8565b600080600080600060a08688031215612b3457600080fd5b6000612b4088886126f8565b9550506020612b51888289016126f8565b9450506040612b62888289016126cc565b9350506060612b73888289016126cc565b9250506080612b84888289016126b6565b9150509295509295909350565b6000612b9d8383612ba5565b505060200190565b612bae816130d7565b82525050565b6000612bbf826130ca565b612bc981856130ce565b9350612bd4836130c4565b8060005b83811015612c02578151612bec8882612b91565b9750612bf7836130c4565b925050600101612bd8565b509495945050505050565b612bae816130e2565b612bae816130e7565b612bae8161311d565b612bae816130ea565b6000612c3e6035836130ce565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612c956013836130ce565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b6000612cc46015836130ce565b7414dd185d19481b9bdd081a5b9a5d1a585b1a5e9959605a1b815260200192915050565b6000612cf56018836130ce565b7f43616e6e6f74206368616e676520626173652061737365740000000000000000815260200192915050565b6000612d2e6033836130ce565b7f4f6e6c7920616e206173736f63696174656420636f6e74726163742063616e208152723832b93337b936903a3434b99030b1ba34b7b760691b602082015260400192915050565b6000612d836019836130ce565b7f537461746520616c726561647920696e697469616c697a656400000000000000815260200192915050565b6000612dbc602f836130ce565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612e0d6018836130ce565b7f43616e6e6f74206368616e6765206d61726b6574206b65790000000000000000815260200192915050565b8051610120830190612e4b8482612c0d565b506020820151612e5e6020850182612c28565b506040820151612e716040850182612f48565b506060820151612e846060850182612f48565b506080820151612e976080850182612f48565b5060a0820151612eaa60a0850182612f48565b5060c0820151612ebd60c0850182612c16565b5060e0820151612ed060e0850182612c16565b50610100820151612ee5610100850182612c16565b50505050565b805160a0830190612efc8482612f5a565b506020820151612f0f6020850182612f5a565b506040820151612f226040850182612f48565b506060820151612f356060850182612f48565b506080820151612ee56080850182612c28565b612bae816130f0565b612bae81613108565b612bae81613111565b60208101611bb58284612ba5565b60408101612f7f8285612ba5565b6125ab6020830184612ba5565b60208082528101611bb28184612bb4565b60208101611bb58284612c0d565b60608101612fb98286612c0d565b612fc66020830185612ba5565b61228f6040830184612c16565b60208101611bb58284612c16565b60208101611bb58284612c1f565b60208101611bb58284612c28565b60208082528101611bb581612c31565b60208082528101611bb581612c88565b60208082528101611bb581612cb7565b60208082528101611bb581612ce8565b60208082528101611bb581612d21565b60208082528101611bb581612d76565b60208082528101611bb581612daf565b60208082528101611bb581612e00565b6101208101611bb58284612e39565b60a08101611bb58284612eeb565b60208101611bb58284612f48565b60208101611bb58284612f51565b60208101611bb58284612f5a565b60200190565b5190565b90815260200190565b6000611bb5826130fc565b151590565b90565b600f0b90565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b6001600160401b031690565b6000611bb5826130d7565b613131816130d7565b811461071257600080fd5b613131816130e2565b613131816130e7565b613131816130ea565b613131816130f0565b61313181613108565b6131318161311156fea365627a7a72315820b7f1ea02ef40c27a7bee4a1221977ad57a607ff8342b645c87ebd57752d38d956c6578706572696d656e74616cf564736f6c63430005100040", + "bytecode": "6080604052601480546001600160401b03191660011790553480156200002457600080fd5b506040516200393c3803806200393c8339810160408190526200004791620004d7565b83856001600160a01b0381166200007b5760405162461bcd60e51b81526004016200007290620006bf565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c891849062000675565b60405180910390a1506000546001600160a01b0316620000fc5760405162461bcd60e51b81526004016200007290620006ad565b62000110816001600160e01b036200029716565b50600a83905560098290556001600160a01b038116156200028c576006805460ff60a01b196001600160a01b038085166001600160a01b03199093169290921716600160a01b17918290556040805163cdf456e160e01b81529051929091169163cdf456e191600480820192602092909190829003018186803b1580156200019757600080fd5b505afa158015620001ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001d291908101906200056f565b600a541480156200026d5750600660009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022d57600080fd5b505afa15801562000242573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200026891908101906200056f565b600954145b6200028c5760405162461bcd60e51b815260040162000072906200069b565b505050505062000777565b60005b81518110156200035e57620002d3828281518110620002b557fe5b602002602001015160026200036260201b620022291790919060201c565b620003555762000307828281518110620002e957fe5b60200260200101516002620003d660201b620023d91790919060201c565b7f326fb9158ce5b588ffd9c639338d799b5aab6f47ee92ea9abb914a05724d050f8282815181106200033557fe5b60200260200101516040516200034c919062000665565b60405180910390a15b6001016200029a565b5050565b81546000906200037557506000620003d0565b6001600160a01b038216600090815260018401602052604090205480151580620003cc5750826001600160a01b031684600001600081548110620003b557fe5b6000918252602090912001546001600160a01b0316145b9150505b92915050565b620003eb82826001600160e01b036200036216565b6200035e5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b8051620003d08162000752565b600082601f8301126200045357600080fd5b81516200046a6200046482620006f8565b620006d1565b915081818352602084019350602081019050838560208402820111156200049057600080fd5b60005b83811015620004c05781620004a9888262000434565b845250602092830192919091019060010162000493565b5050505092915050565b8051620003d0816200076c565b600080600080600060a08688031215620004f057600080fd5b6000620004fe888862000434565b95505060208601516001600160401b038111156200051b57600080fd5b620005298882890162000441565b94505060406200053c88828901620004ca565b93505060606200054f88828901620004ca565b9250506080620005628882890162000434565b9150509295509295909350565b6000602082840312156200058257600080fd5b6000620003cc8484620004ca565b6200059b816200073e565b82525050565b6200059b8162000722565b6000620005bb602b8362000719565b7f496e76616c6964206c656761637920737461746520626173654173736574206f81526a72206d61726b65744b657960a81b602082015260400192915050565b60006200060a60118362000719565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200063960198362000719565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620003d08284620005a1565b6040810162000685828562000590565b620006946020830184620005a1565b9392505050565b60208082528101620003d081620005ac565b60208082528101620003d081620005fb565b60208082528101620003d0816200062a565b6040518181016001600160401b0381118282101715620006f057600080fd5b604052919050565b60006001600160401b038211156200070f57600080fd5b5060209081020190565b90815260200190565b6000620003d08262000732565b90565b6001600160a01b031690565b6000620003d0826000620003d08262000722565b6200075d8162000722565b81146200076957600080fd5b50565b6200075d816200072f565b6131b580620007876000396000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c80635af0d81f1161015c578063b3a3444e116100ce578063d7103a4611610087578063d7103a4614610559578063e44c84c214610561578063eb56105d14610569578063edd6aa881461057e578063fc6bb1f214610591578063fef48a99146105a45761028a565b8063b3a3444e146104fb578063b545f7121461050e578063c8b809aa14610521578063cded0cea14610541578063cdf456e114610549578063d0a514b3146105515761028a565b806389789e961161012057806389789e961461049d578063899346c7146104b05780638da5cb5b146104c557806395e76562146104cd5780639866471a146104e0578063a720184e146104f35761028a565b80635af0d81f146104545780636938dc0e146104675780636eda00e51461047a57806379ba509714610482578063884fc1821461048a5761028a565b80632bd11f221161020057806342a449be116101b957806342a449be146103d157806345d65e31146103e4578063460af7a6146104045780634eb6b7ac1461041757806353a47bb71461042c57806355f57510146104345761028a565b80632bd11f2214610368578063312d6b731461037b5780633b8d1e7f146103905780633ef3461a146103a357806340aa8c4e146103ab57806341108cf2146103be5761028a565b80632118aa90116102525780632118aa90146102fb57806322d3090a1461030e578063230ee97b1461032357806323393c0d1461033657806327b9a2361461034b5780632b58ecef146103605761028a565b806307369b0b1461028f578063104d46f7146102a4578063158ef93e146102b75780631627540c146102d55780631d2c6717146102e8575b600080fd5b6102a261029d366004612703565b6105b7565b005b6102a26102b23660046129de565b610715565b6102bf61078b565b6040516102cc9190612f9d565b60405180910390f35b6102a26102e3366004612703565b610794565b6102a26102f6366004612721565b6107f2565b6102a26103093660046129c0565b61087e565b6103166108fe565b6040516102cc9190612fef565b6102a26103313660046128bb565b610907565b61033e61094b565b6040516102cc9190612fe1565b61035361095a565b6040516102cc91906130a8565b61031661096d565b6102a26103763660046129de565b61097d565b6103836109f3565b6040516102cc9190612f8c565b6102a261039e3660046129c0565b610a11565b6102a2610a91565b6102a26103b936600461275b565b6110d8565b6103166103cc3660046129c0565b6113b8565b6102a26103df3660046128bb565b61149d565b6103f76103f2366004612703565b61157e565b6040516102cc9190612f63565b6102a2610412366004612a1a565b611599565b61041f61160a565b6040516102cc9190612fd3565b6103f7611610565b610447610442366004612703565b61161f565b6040516102cc919061308c565b6102a2610462366004612834565b6117de565b6102a2610475366004612703565b611a60565b61041f611afc565b6102a2611b02565b610383610498366004612a74565b611b9e565b6103836104ab366004612a74565b611bbb565b6104b8611bfc565b6040516102cc91906130b6565b6103f7611c0b565b6102a26104db366004612aa4565b611c1a565b6102a26104ee366004612703565b611c8f565b61041f611e14565b610383610509366004612a74565b611e1a565b6102a261051c3660046129de565b611e2e565b61053461052f366004612703565b611ea2565b6040516102cc919061307d565b61041f6120ac565b61041f6120b6565b61041f6120bc565b61041f6120c2565b6103166120c8565b6105716120d1565b6040516102cc919061309a565b6102a261058c366004612ae0565b6120e0565b6102a261059f3660046129de565b612152565b6102bf6105b2366004612703565b612209565b60045460ff166105e25760405162461bcd60e51b81526004016105d99061301d565b60405180910390fd5b6105f360023363ffffffff61222916565b61060f5760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b0381166000908152600f602052604081208181556001015561063f60108263ffffffff61222916565b156106555761065560108263ffffffff61229716565b600654600160a01b900460ff16801561068757506001600160a01b03811660009081526007602052604090205460ff16155b15610712576006546040516307369b0b60e01b81526001600160a01b03909116906307369b0b906106bc908490600401612f63565b600060405180830381600087803b1580156106d657600080fd5b505af11580156106ea573d6000803e3d6000fd5b5050506001600160a01b0382166000908152600760205260409020805460ff19166001179055505b50565b60045460ff166107375760405162461bcd60e51b81526004016105d99061301d565b61074860023363ffffffff61222916565b6107645760405162461bcd60e51b81526004016105d99061303d565b600c8054600f9290920b6001600160801b03166001600160801b0319909216919091179055565b60045460ff1681565b61079c6123ad565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107e7908390612f63565b60405180910390a150565b60045460ff166108145760405162461bcd60e51b81526004016105d99061301d565b61082560023363ffffffff61222916565b6108415760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b03828116600090815260166020526040902080546001600160a01b03191691831691909117905561087a6017836123d9565b5050565b60045460ff166108a05760405162461bcd60e51b81526004016105d99061301d565b6108b160023363ffffffff61222916565b6108cd5760405162461bcd60e51b81526004016105d99061303d565b600a5415806108dd5750600a5481145b6108f95760405162461bcd60e51b81526004016105d99061302d565b600a55565b600c54600f0b90565b61090f6123ad565b61087a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061242b92505050565b6006546001600160a01b031681565b600c54600160801b900463ffffffff1681565b600b54600160801b9004600f0b81565b60045460ff1661099f5760405162461bcd60e51b81526004016105d99061301d565b6109b060023363ffffffff61222916565b6109cc5760405162461bcd60e51b81526004016105d99061303d565b600e8054600f9290920b6001600160801b03166001600160801b0319909216919091179055565b60028054606091610a0c9160009063ffffffff6124dc16565b905090565b60045460ff16610a335760405162461bcd60e51b81526004016105d99061301d565b610a4460023363ffffffff61222916565b610a605760405162461bcd60e51b81526004016105d99061303d565b6009541580610a70575060095481145b610a8c5760405162461bcd60e51b81526004016105d99061306d565b600955565b610a996123ad565b60045460ff1615610abc5760405162461bcd60e51b81526004016105d99061304d565b600654600160a01b900460ff161561100f57600660009054906101000a90046001600160a01b03166001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1c57600080fd5b505afa158015610b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b549190810190612a38565b600b80546001600160801b0319166001600160801b039290921691909117905560065460408051632b58ecef60e01b815290516001600160a01b0390921691632b58ecef91600480820192602092909190829003018186803b158015610bb957600080fd5b505afa158015610bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bf191908101906129fc565b600b60106101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550600660009054906101000a90046001600160a01b03166001600160a01b03166322d3090a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ca091908101906129fc565b600c8054600f9290920b6001600160801b03166001600160801b03199092169190911790556006546040805163899346c760e01b815290516001600160a01b039092169163899346c791600480820192602092909190829003018186803b158015610d0a57600080fd5b505afa158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d429190810190612afe565b6014805467ffffffffffffffff19166001600160401b0392909216919091179055600654604080516313dcd11b60e11b815290516001600160a01b03909216916327b9a23691600480820192602092909190829003018186803b158015610da857600080fd5b505afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de09190810190612ac2565b600c60106101000a81548163ffffffff021916908363ffffffff160217905550600660009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4e57600080fd5b505afa158015610e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e8691908101906129fc565b600e60006101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555060006001600660009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0157600080fd5b505afa158015610f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f399190810190612a56565b600654604051632088467960e11b8152929091039250600d916001600160a01b03909116906341108cf290610f72908590600401612fd3565b60206040518083038186803b158015610f8a57600080fd5b505afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fc291908101906129fc565b8154600180820184556000938452602090932060028204018054939091166010026101000a6001600160801b0381810219909416600f9390930b9390931692909202179055600555611073565b600d8054600180820183556000929092527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb560028204018054929091166010026101000a6001600160801b0302199091169055600e80546001600160801b03191690555b6004805460ff191660011790556009546006546005546040517f7b65f444d88d87070324049cb0a854897564e3039d5cd94238a1a7fbc799a112926110ce92600160a01b820460ff16926001600160a01b0390921691612fab565b60405180910390a2565b60045460ff166110fa5760405162461bcd60e51b81526004016105d99061301d565b61110b60023363ffffffff61222916565b6111275760405162461bcd60e51b81526004016105d99061303d565b600654600160a01b900460ff16801561115957506001600160a01b038a1660009081526008602052604090205460ff16155b156111e457600654604051634c33238d60e11b81526001600160a01b0390911690639866471a9061118e908d90600401612f63565b600060405180830381600087803b1580156111a857600080fd5b505af11580156111bc573d6000803e3d6000fd5b5050506001600160a01b038b166000908152600860205260409020805460ff19166001179055505b6040518061012001604052808a1515815260200189600f0b8152602001886001600160801b03168152602001876001600160801b03168152602001866001600160801b03168152602001856001600160801b0316815260200184815260200183815260200182815250601560008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160010160106101000a8154816001600160801b0302191690836001600160801b0316021790555060808201518160020160006101000a8154816001600160801b0302191690836001600160801b0316021790555060a08201518160020160106101000a8154816001600160801b0302191690836001600160801b0316021790555060c0820151816003015560e0820151816004015561010082015181600501559050506113ac8a60126123d990919063ffffffff16565b50505050505050505050565b600654600090600160a01b900460ff1680156113d5575060055482105b1561146157600654604051632088467960e11b81526001600160a01b03909116906341108cf29061140a908590600401612fd3565b60206040518083038186803b15801561142257600080fd5b505afa158015611436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061145a91908101906129fc565b9050611498565b600d60055483038154811061147257fe5b90600052602060002090600291828204019190066010029054906101000a9004600f0b90505b919050565b6114a56123ad565b60005b81811015611579576114e28383838181106114bf57fe5b90506020020160206114d49190810190612703565b60029063ffffffff61222916565b15611571576115198383838181106114f657fe5b905060200201602061150b9190810190612703565b60029063ffffffff61229716565b7f9faa24f7f20c2e0f689165e6886278f3005b15b94407109799ead3257067a66a83838381811061154657fe5b905060200201602061155b9190810190612703565b6040516115689190612f63565b60405180910390a15b6001016114a8565b505050565b6016602052600090815260409020546001600160a01b031681565b60045460ff166115bb5760405162461bcd60e51b81526004016105d99061301d565b6115cc60023363ffffffff61222916565b6115e85760405162461bcd60e51b81526004016105d99061303d565b600b80546001600160801b0319166001600160801b0392909216919091179055565b60125490565b6001546001600160a01b031681565b6116276125b2565b600654600160a01b900460ff16801561165957506001600160a01b03821660009081526007602052604090205460ff16155b801561168457506001600160a01b0382166000908152600f60205260409020546001600160401b0316155b1561175f5760065460405163055f575160e41b815260009182918291829182916001600160a01b0316906355f57510906116c2908a90600401612f63565b60a06040518083038186803b1580156116da57600080fd5b505afa1580156116ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117129190810190612b1c565b6040805160a0810182526001600160401b0396871681529590941660208601526001600160801b0392831693850193909352166060830152600f0b60808201529550611498945050505050565b506001600160a01b03166000908152600f6020818152604092839020835160a08101855281546001600160401b03808216835268010000000000000000820416938201939093526001600160801b03600160801b9384900481169582019590955260019091015493841660608201529204810b810b900b608082015290565b60045460ff166118005760405162461bcd60e51b81526004016105d99061301d565b61181160023363ffffffff61222916565b61182d5760405162461bcd60e51b81526004016105d99061303d565b600654600160a01b900460ff16801561185f57506001600160a01b03861660009081526007602052604090205460ff16155b156118ea576006546040516307369b0b60e01b81526001600160a01b03909116906307369b0b90611894908990600401612f63565b600060405180830381600087803b1580156118ae57600080fd5b505af11580156118c2573d6000803e3d6000fd5b5050506001600160a01b0387166000908152600760205260409020805460ff19166001179055505b6040518060a00160405280866001600160401b03168152602001856001600160401b03168152602001846001600160801b03168152602001836001600160801b0316815260200182600f0b815250600f6000886001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555060208201518160000160086101000a8154816001600160401b0302191690836001600160401b0316021790555060408201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160010160006101000a8154816001600160801b0302191690836001600160801b0316021790555060808201518160010160106101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550905050611a588660106123d990919063ffffffff16565b505050505050565b60045460ff16611a825760405162461bcd60e51b81526004016105d99061301d565b611a9360023363ffffffff61222916565b611aaf5760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b038116600090815260166020526040902080546001600160a01b0319169055611ae660178263ffffffff61222916565b156107125761071260178263ffffffff61229716565b60055481565b6001546001600160a01b03163314611b2c5760405162461bcd60e51b81526004016105d990612ffd565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611b6f926001600160a01b0391821692911690612f71565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060611bb26012848463ffffffff6124dc16565b90505b92915050565b6060611bce60023363ffffffff61222916565b611bea5760405162461bcd60e51b81526004016105d99061303d565b611bb26010848463ffffffff6124dc16565b6014546001600160401b031690565b6000546001600160a01b031681565b60045460ff16611c3c5760405162461bcd60e51b81526004016105d99061301d565b611c4d60023363ffffffff61222916565b611c695760405162461bcd60e51b81526004016105d99061303d565b600c805463ffffffff909216600160801b0263ffffffff60801b19909216919091179055565b60045460ff16611cb15760405162461bcd60e51b81526004016105d99061301d565b611cc260023363ffffffff61222916565b611cde5760405162461bcd60e51b81526004016105d99061303d565b6001600160a01b0381166000908152601560205260408120805470ffffffffffffffffffffffffffffffffff191681556001810182905560028101829055600381018290556004810182905560050155611d3f60128263ffffffff61222916565b15611d5557611d5560128263ffffffff61229716565b600654600160a01b900460ff168015611d8757506001600160a01b03811660009081526008602052604090205460ff16155b1561071257600654604051634c33238d60e11b81526001600160a01b0390911690639866471a90611dbc908490600401612f63565b600060405180830381600087803b158015611dd657600080fd5b505af1158015611dea573d6000803e3d6000fd5b5050506001600160a01b0382166000908152600860205260409020805460ff191660011790555050565b60175490565b6060611bb26017848463ffffffff6124dc16565b60045460ff16611e505760405162461bcd60e51b81526004016105d99061301d565b611e6160023363ffffffff61222916565b611e7d5760405162461bcd60e51b81526004016105d99061303d565b600b8054600f9290920b6001600160801b03908116600160801b029216919091179055565b611eaa6125e0565b600654600160a01b900460ff168015611edc57506001600160a01b03821660009081526008602052604090205460ff16155b8015611f0a57506001600160a01b0382166000908152601560205260409020546101009004600f90810b900b155b1561200a5760065460405163645c04d560e11b8152600091829182918291829182918291829182916001600160a01b03169063c8b809aa90611f50908e90600401612f63565b6101206040518083038186803b158015611f6957600080fd5b505afa158015611f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fa191908101906128fc565b60408051610120810182529915158a52600f9890980b60208a01526001600160801b03968716978901979097529385166060880152918416608087015290921660a085015260c084019190915260e0830152610100820152995061149898505050505050505050565b506001600160a01b0316600090815260156020908152604091829020825161012081018452815460ff81161515825261010090819004600f90810b810b900b9382019390935260018201546001600160801b0380821695830195909552600160801b9081900485166060830152600283015480861660808401520490931660a0840152600381015460c0840152600481015460e0840152600501549082015290565b600d546005540190565b600a5481565b60105490565b60095481565b600e54600f0b81565b600b546001600160801b031681565b60045460ff166121025760405162461bcd60e51b81526004016105d99061301d565b61211360023363ffffffff61222916565b61212f5760405162461bcd60e51b81526004016105d99061303d565b6014805467ffffffffffffffff19166001600160401b0392909216919091179055565b60045460ff166121745760405162461bcd60e51b81526004016105d99061301d565b61218560023363ffffffff61222916565b6121a15760405162461bcd60e51b81526004016105d99061303d565b600d805460018082018355600092909252600281047fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5018054600f9490940b6001600160801b03908116601094909316939093026101000a9182029290910219909216179055565b6001600160a01b0390811660009081526016602052604090205416151590565b815460009061223a57506000611bb5565b6001600160a01b03821660009081526001840160205260409020548015158061228f5750826001600160a01b03168460000160008154811061227857fe5b6000918252602090912001546001600160a01b0316145b949350505050565b6122a18282612229565b6122bd5760405162461bcd60e51b81526004016105d99061300d565b6001600160a01b038116600090815260018301602052604090205482546000190180821461235c5760008460000182815481106122f657fe5b60009182526020909120015485546001600160a01b039091169150819086908590811061231f57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b835484908061236757fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b6000546001600160a01b031633146123d75760405162461bcd60e51b81526004016105d99061305d565b565b6123e38282612229565b61087a5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b60005b815181101561087a5761245e82828151811061244657fe5b6020026020010151600261222990919063ffffffff16565b6124d45761248982828151811061247157fe5b602002602001015160026123d990919063ffffffff16565b7f326fb9158ce5b588ffd9c639338d799b5aab6f47ee92ea9abb914a05724d050f8282815181106124b657fe5b60200260200101516040516124cb9190612f63565b60405180910390a15b60010161242e565b8254606090838301908111156124f0575083545b83811161250d5750506040805160008152602081019091526125ab565b60408051858303808252602080820283010190925260609082801561253c578160200160208202803883390190505b50905060005b828110156125a557876000018782018154811061255b57fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061258557fe5b6001600160a01b0390921660209283029190910190910152600101612542565b50925050505b9392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b8035611bb581613128565b60008083601f84011261264957600080fd5b5081356001600160401b0381111561266057600080fd5b60208301915083602082028301111561267857600080fd5b9250929050565b8035611bb58161313c565b8051611bb58161313c565b8035611bb581613145565b8051611bb581613145565b8035611bb58161314e565b8051611bb58161314e565b8035611bb581613157565b8051611bb581613157565b8035611bb581613160565b8051611bb581613160565b8035611bb581613169565b8051611bb581613169565b60006020828403121561271557600080fd5b600061228f848461262c565b6000806040838503121561273457600080fd5b6000612740858561262c565b92505060206127518582860161262c565b9150509250929050565b6000806000806000806000806000806101408b8d03121561277b57600080fd5b60006127878d8d61262c565b9a505060206127988d828e0161267f565b99505060406127a98d828e016126ab565b98505060606127ba8d828e016126c1565b97505060806127cb8d828e016126c1565b96505060a06127dc8d828e016126c1565b95505060c06127ed8d828e016126c1565b94505060e06127fe8d828e01612695565b9350506101006128108d828e01612695565b9250506101206128228d828e01612695565b9150509295989b9194979a5092959850565b60008060008060008060c0878903121561284d57600080fd5b6000612859898961262c565b965050602061286a89828a016126ed565b955050604061287b89828a016126ed565b945050606061288c89828a016126c1565b935050608061289d89828a016126c1565b92505060a06128ae89828a016126ab565b9150509295509295509295565b600080602083850312156128ce57600080fd5b82356001600160401b038111156128e457600080fd5b6128f085828601612637565b92509250509250929050565b60008060008060008060008060006101208a8c03121561291b57600080fd5b60006129278c8c61268a565b99505060206129388c828d016126b6565b98505060406129498c828d016126cc565b975050606061295a8c828d016126cc565b965050608061296b8c828d016126cc565b95505060a061297c8c828d016126cc565b94505060c061298d8c828d016126a0565b93505060e061299e8c828d016126a0565b9250506101006129b08c828d016126a0565b9150509295985092959850929598565b6000602082840312156129d257600080fd5b600061228f8484612695565b6000602082840312156129f057600080fd5b600061228f84846126ab565b600060208284031215612a0e57600080fd5b600061228f84846126b6565b600060208284031215612a2c57600080fd5b600061228f84846126c1565b600060208284031215612a4a57600080fd5b600061228f84846126cc565b600060208284031215612a6857600080fd5b600061228f84846126a0565b60008060408385031215612a8757600080fd5b6000612a938585612695565b925050602061275185828601612695565b600060208284031215612ab657600080fd5b600061228f84846126d7565b600060208284031215612ad457600080fd5b600061228f84846126e2565b600060208284031215612af257600080fd5b600061228f84846126ed565b600060208284031215612b1057600080fd5b600061228f84846126f8565b600080600080600060a08688031215612b3457600080fd5b6000612b4088886126f8565b9550506020612b51888289016126f8565b9450506040612b62888289016126cc565b9350506060612b73888289016126cc565b9250506080612b84888289016126b6565b9150509295509295909350565b6000612b9d8383612ba5565b505060200190565b612bae816130d7565b82525050565b6000612bbf826130ca565b612bc981856130ce565b9350612bd4836130c4565b8060005b83811015612c02578151612bec8882612b91565b9750612bf7836130c4565b925050600101612bd8565b509495945050505050565b612bae816130e2565b612bae816130e7565b612bae8161311d565b612bae816130ea565b6000612c3e6035836130ce565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612c956013836130ce565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b6000612cc46015836130ce565b7414dd185d19481b9bdd081a5b9a5d1a585b1a5e9959605a1b815260200192915050565b6000612cf56018836130ce565b7f43616e6e6f74206368616e676520626173652061737365740000000000000000815260200192915050565b6000612d2e6033836130ce565b7f4f6e6c7920616e206173736f63696174656420636f6e74726163742063616e208152723832b93337b936903a3434b99030b1ba34b7b760691b602082015260400192915050565b6000612d836019836130ce565b7f537461746520616c726561647920696e697469616c697a656400000000000000815260200192915050565b6000612dbc602f836130ce565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612e0d6018836130ce565b7f43616e6e6f74206368616e6765206d61726b6574206b65790000000000000000815260200192915050565b8051610120830190612e4b8482612c0d565b506020820151612e5e6020850182612c28565b506040820151612e716040850182612f48565b506060820151612e846060850182612f48565b506080820151612e976080850182612f48565b5060a0820151612eaa60a0850182612f48565b5060c0820151612ebd60c0850182612c16565b5060e0820151612ed060e0850182612c16565b50610100820151612ee5610100850182612c16565b50505050565b805160a0830190612efc8482612f5a565b506020820151612f0f6020850182612f5a565b506040820151612f226040850182612f48565b506060820151612f356060850182612f48565b506080820151612ee56080850182612c28565b612bae816130f0565b612bae81613108565b612bae81613111565b60208101611bb58284612ba5565b60408101612f7f8285612ba5565b6125ab6020830184612ba5565b60208082528101611bb28184612bb4565b60208101611bb58284612c0d565b60608101612fb98286612c0d565b612fc66020830185612ba5565b61228f6040830184612c16565b60208101611bb58284612c16565b60208101611bb58284612c1f565b60208101611bb58284612c28565b60208082528101611bb581612c31565b60208082528101611bb581612c88565b60208082528101611bb581612cb7565b60208082528101611bb581612ce8565b60208082528101611bb581612d21565b60208082528101611bb581612d76565b60208082528101611bb581612daf565b60208082528101611bb581612e00565b6101208101611bb58284612e39565b60a08101611bb58284612eeb565b60208101611bb58284612f48565b60208101611bb58284612f51565b60208101611bb58284612f5a565b60200190565b5190565b90815260200190565b6000611bb5826130fc565b151590565b90565b600f0b90565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b6001600160401b031690565b6000611bb5826130d7565b613131816130d7565b811461071257600080fd5b613131816130e2565b613131816130e7565b613131816130ea565b613131816130f0565b61313181613108565b6131318161311156fea365627a7a7231582019f0df94463d99cfa3fe50b1f75981332c855073b42a7a00d179ff6ef813b38e6c6578706572696d656e74616cf564736f6c63430005100040", "abi": [ { "inputs": [ @@ -51705,10 +51905,10 @@ } ], "source": { - "keccak256": "0xc98cdb2faf2a5a405aa1b8af9a56218fdfd234bdde37772375c6e23f65bd58cf", + "keccak256": "0x56ac7ab663afd9e84c2735cdb3ff02011497e3f98d47195fbaa07186dad7f25c", "urls": [ - "bzz-raw://80c2441e00623ef3dca8181e9f4e2324544bc0d293d73f24c3388aea63b0da70", - "dweb:/ipfs/QmUV5wSgBWe7idTfSY9f6eEoGE4uNFDe7k7zxxueiySUKQ" + "bzz-raw://ef98e8547104d19a5a27b425905918594fdff2c138fb6b7f4327d93f9500a34d", + "dweb:/ipfs/QmY9MeUK1PC2HhhYdKqAvtS9QzbaCbDoSFebz9Y6FRpz3A" ] }, "metadata": { @@ -51730,10 +51930,10 @@ }, "sources": { "PerpsV2MarketState.sol": { - "keccak256": "0xc98cdb2faf2a5a405aa1b8af9a56218fdfd234bdde37772375c6e23f65bd58cf", + "keccak256": "0x56ac7ab663afd9e84c2735cdb3ff02011497e3f98d47195fbaa07186dad7f25c", "urls": [ - "bzz-raw://80c2441e00623ef3dca8181e9f4e2324544bc0d293d73f24c3388aea63b0da70", - "dweb:/ipfs/QmUV5wSgBWe7idTfSY9f6eEoGE4uNFDe7k7zxxueiySUKQ" + "bzz-raw://ef98e8547104d19a5a27b425905918594fdff2c138fb6b7f4327d93f9500a34d", + "dweb:/ipfs/QmY9MeUK1PC2HhhYdKqAvtS9QzbaCbDoSFebz9Y6FRpz3A" ] } }, @@ -51741,7 +51941,7 @@ } }, "PerpsV2Market": { - "bytecode": "60806040523480156200001157600080fd5b5060405162005b0938038062005b09833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b6150d18062000a386000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806374185360116100ad57806397107d6d1161007157806397107d6d1461022c578063a126d6011461023f578063bc67f83214610252578063d67bdd2514610265578063ec5568891461026d5761012c565b806374185360146101ec57806379ba5097146101f457806388a3c848146101fc578063899ffef41461020f5780638da5cb5b146102245761012c565b80634ad4914b116100f45780634ad4914b146101945780634eb985cc146101a757806353a47bb7146101bc5780635a1cbd2b146101d15780635c8011c3146101d95761012c565b806304f3bcec1461013157806308fb1b771461014f5780631627540c146101575780632af64bd31461016c57806332f0510314610181575b600080fd5b610139610275565b6040516101469190614d79565b60405180910390f35b610139610284565b61016a6101653660046141a0565b610293565b005b6101746102f1565b6040516101469190614c17565b61016a61018f36600461428e565b610409565b61016a6101a2366004614254565b610419565b6101af610429565b6040516101469190614c25565b6101c4610495565b6040516101469190614b5a565b61016a6104a4565b61016a6101e7366004614254565b610569565b61016a610573565b61016a6106c5565b61016a61020a366004614236565b610761565b61021761079a565b6040516101469190614c06565b6101c4610905565b61016a61023a3660046141a0565b610914565b61016a61024d366004614236565b610967565b61016a6102603660046141a0565b610975565b6101c461099f565b6101396109ae565b6002546001600160a01b031681565b6004546001600160a01b031681565b61029b6109bd565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906102e6908390614b5a565b60405180910390a150565b600060606102fd61079a565b905060005b81518110156103ff57600082828151811061031957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061036a908590600401614c25565b60206040518083038186803b15801561038257600080fd5b505afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103ba91908101906141be565b6001600160a01b03161415806103e557506000818152600360205260409020546001600160a01b0316155b156103f65760009350505050610406565b50600101610302565b5060019150505b90565b6104148383836109e9565b505050565b610425828260006109e9565b5050565b600061044f610436610b24565b6007546001600160a01b03908116911614156009610b42565b60008061045a610b85565b9150915080156104855760405162461bcd60e51b815260040161047c90614e77565b60405180910390fd5b61048e82610cb6565b9250505090565b6001546001600160a01b031681565b6104ac610f04565b6007546001600160a01b031660006104c381610f2e565b90506104ce81610cb6565b506004805460405163055f575160e41b8152600092610559926001600160a01b0316916355f575109161050391889101614b5a565b60a06040518083038186803b15801561051b57600080fd5b505afa15801561052f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061055391908101906142fa565b83611127565b60000390506104148183856111f2565b61042582826115c3565b606061057d61079a565b905060005b815181101561042557600082828151811061059957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016105db9190614b23565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610607929190614c84565b60206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065791908101906141be565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906106b39084908490614c33565b60405180910390a15050600101610582565b6001546001600160a01b031633146106ef5760405162461bcd60e51b815260040161047c90614db7565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610732926001600160a01b0391821692911690614b76565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610769610f04565b60006107756000610f2e565b905061078081610cb6565b5060075461042590839083906001600160a01b03166111f2565b6060806107a561178f565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b816000815181106107e757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061081157fe5b6020026020010181815250506b53797374656d53746174757360a01b8160028151811061083a57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160038151811061086b57fe5b60200260200101818152505060008051602061506f8339815191528160048151811061089357fe5b602002602001018181525050725065727073563245786368616e67655261746560681b816005815181106108c357fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816006815181106108ef57fe5b60200260200101818152505061048e82826117e0565b6000546001600160a01b031681565b61091c6109bd565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906102e6908390614b68565b6109728160006115c3565b50565b61097d610f04565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031681565b6006546001600160a01b031681565b6000546001600160a01b031633146109e75760405162461bcd60e51b815260040161047c90614e27565b565b6109f1610f04565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa93610a2393169101614b5a565b6101206040518083038186803b158015610a3c57600080fd5b505afa158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a7491908101906142db565b60200151600f0b15610a985760405162461bcd60e51b815260040161047c90614dc7565b6000610aa46000610f2e565b9050610aaf81610cb6565b506007546040805160e08101825286815260208101849052610b1e926001600160a01b0316918101610ae1888661189c565b8152602001868152602001610afc610af76119ce565b611a56565b8152602001610b11610b0c6119ce565b611a6d565b8152602001859052611a84565b50505050565b6000610b3d60008051602061506f833981519152612197565b905090565b8115610425576005600082600f811115610b5857fe5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b815260040161047c9190614da6565b600080610b906121f4565b6001600160a01b0316630c71cd23610ba661220f565b6040518263ffffffff1660e01b8152600401610bc29190614c25565b604080518083038186803b158015610bd957600080fd5b505afa158015610bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c119190810190614336565b90925090508080610c20575081155b80610cb05750610c2e61225f565b6001600160a01b031663b431c0ea610c4461220f565b6040518263ffffffff1660e01b8152600401610c609190614c25565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cb091908101906141dc565b90509091565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b158015610cfa57600080fd5b505afa158015610d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3291908101906141fa565b90506000610d3e612279565b90506000610d4b856122df565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f291610d7b91859101614d87565b600060405180830381600087803b158015610d9557600080fd5b505af1158015610da9573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e765629250610ddc91429101614f0d565b600060405180830381600087803b158015610df657600080fd5b505af1158015610e0a573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f229250610e3d91869101614d87565b600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b81529051610efb9550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b158015610eb857600080fd5b505afa158015610ecc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ef091908101906143a9565b63ffffffff1661233a565b50909392505050565b6006546001600160a01b031633146109e75760405162461bcd60e51b815260040161047c90614e67565b6000610f3861225f565b6001600160a01b031663856aae6c610f4e6119ce565b6040518263ffffffff1660e01b8152600401610f6a9190614c25565b60006040518083038186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b50505050610fa261225f565b6001600160a01b03166342a28e21610fb861220f565b6040518263ffffffff1660e01b8152600401610fd49190614c25565b60006040518083038186803b158015610fec57600080fd5b505afa158015611000573d6000803e3d6000fd5b50505050811561107d5761101261225f565b6001600160a01b031663856aae6c61103061102b6119ce565b6123ea565b6040518263ffffffff1660e01b815260040161104c9190614c25565b60006040518083038186803b15801561106457600080fd5b505afa158015611078573d6000803e3d6000fd5b505050505b600080600061108a6121f4565b6001600160a01b031663045056f86110a061220f565b6040518263ffffffff1660e01b81526004016110bc9190614c25565b606060405180830381600087803b1580156110d657600080fd5b505af11580156110ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110e9190810190614366565b925092509250610efb82806111205750815b6001610b42565b600066038d7ea4c6800081611152826111466111416119ce565b6124bb565b9063ffffffff6124d516565b9050600061117f61117a8361116e8960800151600f0b896124fd565b9063ffffffff61251616565b612540565b905080156111b357600061119161254b565b90508082101561119f578091505b6111af828563ffffffff6125c816565b9150505b60006111bf87876125ed565b90508181116111d55760009450505050506111ec565b6111e5818363ffffffff6124d516565b9450505050505b92915050565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a999161122391859101614b5a565b60206040518083038186803b15801561123b57600080fd5b505afa15801561124f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061127391908101906141dc565b156112835760056000600e610b58565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa936112b593169101614b5a565b6101206040518083038186803b1580156112ce57600080fd5b505afa1580156112e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061130691908101906142db565b60200151600f0b1561132a5760405162461bcd60e51b815260040161047c90614dc7565b600061133585612540565b905060008513156113dc57600061134a61260f565b6001600160a01b0316636f9a0ca685846040518363ffffffff1660e01b8152600401611377929190614b91565b602060405180830381600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113c991908101906141fa565b90508181146113d6578095505b50611457565b6000851215611451576113ed61260f565b6001600160a01b031663a7b5833f84836040518363ffffffff1660e01b815260040161141a929190614b91565b600060405180830381600087803b15801561143457600080fd5b505af1158015611448573d6000803e3d6000fd5b50505050611457565b50610b1e565b61145f613fb5565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161148e91889101614b5a565b60a06040518083038186803b1580156114a657600080fd5b505afa1580156114ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114de91908101906142fa565b90506114ee84826000888a612631565b6114f884876128d9565b6115bb81600001516001600160401b03168583604001516001600160801b03168460800151600f0b60008a61152b61297f565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157b57600080fd5b505afa15801561158f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b39190810190614218565b600f0b612a0c565b505050505050565b6115cb610f04565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa936115fd93169101614b5a565b6101206040518083038186803b15801561161657600080fd5b505afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061164e91908101906142db565b60200151600f0b156116725760405162461bcd60e51b815260040161047c90614dc7565b6004805460075460405163055f575160e41b81526000936001600160a01b03938416936355f57510936116a89391169101614b5a565b60a06040518083038186803b1580156116c057600080fd5b505afa1580156116d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116f891908101906142fa565b60800151600f0b905061170d8115600b610b42565b60006117196000610f2e565b905061172481610cb6565b506007546040805160e081018252600085900380825260208201859052610b1e936001600160a01b03169282019061175c908661189c565b8152602001878152602001611772610af76119ce565b8152602001611782610b0c6119ce565b8152602001869052611a84565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117d157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611810578160200160208202803883390190505b50905060005b83518110156118525783818151811061182b57fe5b602002602001015182828151811061183f57fe5b6020908102919091010152600101611816565b5060005b82518110156118955782818151811061186b57fe5b602002602001015182828651018151811061188257fe5b6020908102919091010152600101611856565b5092915050565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119189190810190614218565b600f0b9050600061192f61192a6119ce565b612a91565b90506000611943838363ffffffff61251616565b9050600061195b8361116e868a63ffffffff612aa916565b9050600061197f611972888563ffffffff612aef16565b889063ffffffff612aa916565b905060006119a3611996898563ffffffff612aef16565b899063ffffffff612aa916565b90506119c1671bc16d674ec8000061116e848463ffffffff612aa916565b9998505050505050505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b505afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b3d91908101906141fa565b60006111ec826774616b657246656560c01b612b19565b60006111ec82676d616b657246656560c01b612b19565b6004805460405163fef48a9960e01b815284926001600160a01b039092169163fef48a9991611ab591859101614b5a565b60206040518083038186803b158015611acd57600080fd5b505afa158015611ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b0591908101906141dc565b15611b155760056000600e610b58565b611b1d613fb5565b6004805460405163055f575160e41b81526001600160a01b03909116916355f5751091611b4c91889101614b5a565b60a06040518083038186803b158015611b6457600080fd5b505afa158015611b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b9c91908101906142fa565b9050611ba6613fb5565b6040518060a0016040528083600001516001600160401b0316815260200183602001516001600160401b0316815260200183604001516001600160801b0316815260200183606001516001600160801b031681526020018360800151600f0b8152509050611c12613fb5565b600080611c1f8488612bd6565b925092509250611c2e81612ebe565b611c45876040015188606001518960000151612edc565b50600480546080808701519086015160408051632b58ecef60e01b815290516001600160a01b039094169463b545f71294611cfe94600f90810b94611cf294910b928892632b58ecef928083019260209291829003018186803b158015611cab57600080fd5b505afa158015611cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ce39190810190614218565b600f0b9063ffffffff612aa916565b9063ffffffff612f0416565b6040518263ffffffff1660e01b8152600401611d1a9190614d87565b600060405180830381600087803b158015611d3457600080fd5b505af1158015611d48573d6000803e3d6000fd5b505060045460808701516001600160a01b03909116925063460af7a69150611e1890611d7690600f0b612540565b611146611d898860800151600f0b612540565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b158015611dcb57600080fd5b505afa158015611ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e039190810190614318565b6001600160801b03169063ffffffff6125c816565b6040518263ffffffff1660e01b8152600401611e349190614e97565b600060405180830381600087803b158015611e4e57600080fd5b505af1158015611e62573d6000803e3d6000fd5b505050508160001015611ed557611e7761260f565b6001600160a01b031663d289ade2836040518263ffffffff1660e01b8152600401611ea29190614c25565b600060405180830381600087803b158015611ebc57600080fd5b505af1158015611ed0573d6000803e3d6000fd5b505050505b60c087015115611eff57611eff8760c00151611eef61220f565b611ef76119ce565b8a5186612f4a565b6040808401516001600160801b031690860152611f1c8385612ffb565b83516000611f2861297f565b90508460800151600f0b60001415611f575760008088526080880181905260608801819052602088015261207c565b6080860151600f0b61204357600480546040805163899346c760e01b815290516001600160a01b039092169263899346c7928282019260209290829003018186803b158015611fa557600080fd5b505afa158015611fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fdd91908101906143c7565b60048054604051631dbad55160e31b81529294506001600160a01b03169163edd6aa889161201091600187019101614f29565b600060405180830381600087803b15801561202a57600080fd5b505af115801561203e573d6000803e3d6000fd5b505050505b6001600160401b038083168852608080870151600f90810b900b9089015260408a01516001600160801b03166060890152811660208801525b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8b89600001518a602001518b604001518c606001518d608001516040518763ffffffff1660e01b81526004016120db96959493929190614bac565b600060405180830381600087803b1580156120f557600080fd5b505af1158015612109573d6000803e3d6000fd5b5050505061218b826001600160401b03168b87604001516001600160801b03168860800151600f0b8d600001518e60400151878b600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157b57600080fd5b50505050505050505050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916121c791869101614b03565b604051602081830303815290604052906118955760405162461bcd60e51b815260040161047c9190614d95565b6000610b3d6c45786368616e6765526174657360981b612197565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b6000610b3d6b53797374656d53746174757360a01b612197565b6000610b3d61229d612289613089565b612291613130565b9063ffffffff612aef16565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b158015611cab57600080fd5b60006111ec6122ed83613157565b6004546001600160a01b03166341108cf261230661297f565b6040518263ffffffff1660e01b81526004016123229190614c25565b60206040518083038186803b158015611cab57600080fd5b6006546040516001600160a01b039091169063907dff9790612366908790879087908790602001614c4f565b604051602081830303815290604052600160405161238390614b4f565b6040519081900381206001600160e01b031960e086901b1682526123b293929160009081908190600401614ca4565b600060405180830381600087803b1580156123cc57600080fd5b505af11580156123e0573d6000803e3d6000fd5b5050505050505050565b60006123f46131e4565b6001600160a01b031663f7833c5d60008051602061506f83398151915284706f6666636861696e4d61726b65744b657960781b604051602001612438929190614add565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161246b929190614c41565b60206040518083038186803b15801561248357600080fd5b505afa158015612497573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ec91908101906141fa565b60006111ec826a6d61784c6576657261676560a81b612b19565b6000828211156124f75760405162461bcd60e51b815260040161047c90614df7565b50900390565b600061250f838363ffffffff612aef16565b9392505050565b600061250f8261253485670de0b6b3a764000063ffffffff61320116565b9063ffffffff61326c16565b60006111ec826132d0565b60006125556131e4565b6001600160a01b03166323257c2b60008051602061506f8339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b81526004016125b0929190614c41565b60206040518083038186803b158015611a1e57600080fd5b60008282018381101561250f5760405162461bcd60e51b815260040161047c90614dd7565b6000806125fa84846132e6565b905061260760008261332c565b949350505050565b6000610b3d73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b612197565b612639613fb5565b5083600080612649838686613341565b9150915061265681612ebe565b600061266061297f565b905061271c6040518060a0016040528060006001600160401b03168152602001836001600160401b03168152602001856001600160801b03168152602001886001600160801b031681526020018a60800151600f0b8152506040518060a0016040528060006001600160401b031681526020018b602001516001600160401b031681526020018b604001516001600160801b031681526020018b606001516001600160801b031681526020018b60800151600f0b815250612ffb565b6001600160801b03831660408901526080880151600f0b1561283d576001600160801b03861660608901526001600160401b0381166020890152600085121561283d5760006127728960800151600f0b886133bc565b905060006127978261278b8c60800151600f0b8b613422565b9063ffffffff6125c816565b90506127a7818611156008610b42565b60808a01516000906127c290600f0b8b63ffffffff612aa916565b905060006127d78c60800151600f0b8361346c565b80156127f957506127ee8c60800151600f0b612540565b6127f783612540565b105b9050806128385761282461281161117a8e8d8b61348b565b61281c6111416119ce565b106007610b42565b61283861282f61254b565b88106008610b42565b505050505b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8a8a600001518b602001518c604001518d606001518e608001516040518763ffffffff1660e01b815260040161289c96959493929190614bac565b600060405180830381600087803b1580156128b657600080fd5b505af11580156128ca573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff97906128ff908490602001614c25565b604051602081830303815290604052600260405161291c90614b44565b604051809103902061292d876134af565b6000806040518763ffffffff1660e01b815260040161295196959493929190614cf8565b600060405180830381600087803b15801561296b57600080fd5b505af11580156115bb573d6000803e3d6000fd5b6000610b3d6001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129d457600080fd5b505afa1580156129e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061114691908101906141fa565b6006546040516001600160a01b039091169063907dff9790612a3e908a908a908a908a908a908a908a90602001614ea5565b6040516020818303038152906040526003604051612a5b90614b2e565b6040519081900390208d612a6e8e6134af565b60006040518763ffffffff1660e01b815260040161289c96959493929190614d32565b60006111ec8268736b65775363616c6560b81b612b19565b6000828201818312801590612abe5750838112155b80612ad35750600083128015612ad357508381125b61250f5760405162461bcd60e51b815260040161047c90614de7565b6000670de0b6b3a7640000612b0a848463ffffffff61320116565b81612b1157fe5b059392505050565b6000612b236131e4565b6001600160a01b03166323257c2b60008051602061506f8339815191528585604051602001612b53929190614add565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401612b86929190614c41565b60206040518083038186803b158015612b9e57600080fd5b505afa158015612bb2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061250f91908101906141fa565b612bde613fb5565b81516000908190612bf8575083915060009050600a612eb7565b612c068585602001516134bb565b15612c1a5750839150600090506004612eb7565b600080612c256134f9565b915091508015612c42575085935060009250600c9150612eb79050565b612c4c8683613596565b9350600080612c6389896040015188600003613341565b91509150612c7081613790565b15612c8757889650600095509350612eb792505050565b612c8f613fb5565b6040518060a001604052808b600001516001600160401b03168152602001612cb561297f565b6001600160401b03168152602001846001600160801b031681526020018a604001516001600160801b03168152602001612d038b600001518d60800151600f0b612aa990919063ffffffff16565b600f0b81525090506000612d258b60800151600f0b8360800151600f0b61346c565b8015612d4e5750612d3c8b60800151600f0b612540565b612d4c8360800151600f0b612540565b105b905080612d9857612d5d61254b565b6040830151612d7b906001600160801b03168a63ffffffff6125c816565b1015612d9857508997506000965060089550612eb7945050505050565b6000612daf8360800151600f0b8c602001516133bc565b90506000612dcc8261278b8660800151600f0b8f60200151613422565b9050808611612ded57509198506000975060049650612eb795505050505050565b6000612e20612e02888d63ffffffff6125c816565b61116e8f604001518860800151600f0b612aef90919063ffffffff16565b9050612e2b81612540565b612e41662386f26fc1000061278b6111416119ce565b1015612e6157508c9a506000995060079850612eb7975050505050505050565b50612e8a612e75612e706119ce565b6137a7565b8e60800151600f0b8660800151600f0b6137c4565b15612ea857508b99506000985060069750612eb79650505050505050565b50919850600096505050505050505b9250925092565b612ec781613790565b15610972576005600082600f811115610b5857fe5b6000612efc60008313612ef157838510612ef5565b8385115b600d610b42565b509192915050565b6000818303818312801590612f195750838113155b80612f2e5750600083128015612f2e57508381135b61250f5760405162461bcd60e51b815260040161047c90614e57565b6006546040516001600160a01b039091169063907dff9790612f76908790879087908790602001614c4f565b6040516020818303038152906040526002604051612f9390614b39565b6040519081900381206001600160e01b031960e086901b168252612fc29392918b906000908190600401614cf8565b600060405180830381600087803b158015612fdc57600080fd5b505af1158015612ff0573d6000803e3d6000fd5b505050505050505050565b6000613006836139ae565b90506000613013836139ae565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f79261306d928692611cf292899288926322d3090a92828101926020929190829003018186803b158015611cab57600080fd5b6040518263ffffffff1660e01b81526004016123b29190614d87565b6000610b3d6201518061116e600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156130e357600080fd5b505afa1580156130f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061311b91908101906143a9565b63ffffffff16426124d590919063ffffffff16565b60008061314361313e6119ce565b613a8b565b905061315181612291613aac565b91505090565b600080613162612279565b905060006131c36012600a0a60020261116e84600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b158015611cab57600080fd5b6000039050612607846122916131d7613089565b849063ffffffff612aef16565b6000610b3d6e466c657869626c6553746f7261676560881b612197565b600082613210575060006111ec565b826000191480156132245750600160ff1b82145b156132415760405162461bcd60e51b815260040161047c90614e47565b8282028284828161324e57fe5b051461250f5760405162461bcd60e51b815260040161047c90614e47565b60008161328b5760405162461bcd60e51b815260040161047c90614e87565b8160001914801561329f5750600160ff1b83145b156132bc5760405162461bcd60e51b815260040161047c90614e17565b60008284816132c757fe5b05949350505050565b60008082126132df57816111ec565b5060000390565b6000806132f38484613b6c565b9050612607816133206133068787613bbc565b60408801516001600160801b03169063ffffffff612aa916565b9063ffffffff612aa916565b600081831261333b578261250f565b50919050565b60008060006133548461332088886132e6565b9050600081121561336d575060009150600890506133b4565b60808601518190600f0b60006133838289613422565b905081158015906133945750808311155b156133a95782600495509550505050506133b4565b509093506000925050505b935093915050565b6000826133cb575060006111ec565b60006133da61117a85856124fd565b90506126076133ef6133ea6119ce565b613bfa565b6134168361341661340161192a6119ce565b61340a8a612540565b9063ffffffff613c2616565b9063ffffffff613c5016565b6000806134456134386134336119ce565b613c7a565b6134168561341688612540565b9050612607613452613c9f565b61278b61345f8787613cfb565b849063ffffffff6125c816565b6000821580613479575081155b8061250f575050600090811291131490565b60008161349a5750600061250f565b6126078261116e8660800151600f0b866124fd565b6001600160a01b031690565b60008260800151600f0b600014156134d5575060006111ec565b6134e68360800151600f0b83613422565b6134f08484613d4d565b11159392505050565b600080613504613d6e565b6001600160a01b031663c39def0b631cd554d160e21b61352261220f565b6040518363ffffffff1660e01b815260040161353f929190614c41565b604080518083038186803b15801561355657600080fd5b505afa15801561356a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061358e9190810190614336565b915091509091565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b1580156135da57600080fd5b505afa1580156135ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136129190810190614218565b600f0b9050600061363485604001518660000151612aef90919063ffffffff16565b905060006136458561341684612540565b9050613657866000015184018461346c565b156137265760006136f083600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156136b057600080fd5b505afa1580156136c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136e89190810190614218565b600f0b61346c565b6136fe578660a00151613704565b86608001515b905061371961117a848363ffffffff612aef16565b82019450505050506111ec565b85516000906137429061117a908681019063ffffffff61251616565b90506000816012600a0a039050600061376689608001516134168561341689612540565b9050600061377f8a60a00151613416856134168a612540565b919094010198975050505050505050565b60008082600f81111561379f57fe5b141592915050565b60006111ec826d6d61784d61726b657456616c756560901b612b19565b60006137d0838361346c565b80156137ec57506137e083612540565b6137e983612540565b11155b156137f95750600061250f565b60006138988361332086600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561385157600080fd5b505afa158015613865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138899190810190614218565b600f0b9063ffffffff612f0416565b905060006139436138a8856132d0565b6133206138b4886132d0565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b1580156138f657600080fd5b505afa15801561390a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061392e9190810190614318565b6001600160801b03169063ffffffff612f0416565b90506000846000121561396757613960828463ffffffff612aa916565b905061397a565b613977828463ffffffff612f0416565b90505b61398e61117a82600263ffffffff61326c16565b8710156139a1576001935050505061250f565b5060009695505050505050565b600480546020830151604051632088467960e11b81526000936111ec93613a7193613a5d936001600160a01b03909216926341108cf2926139f0929101614f1b565b60206040518083038186803b158015613a0857600080fd5b505afa158015613a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a409190810190614218565b60608601516001600160801b031690600f0b63ffffffff612aa916565b6080850151600f0b9063ffffffff612aef16565b60408401516001600160801b03169063ffffffff612f0416565b60006111ec82716d617846756e64696e6756656c6f6369747960701b612b19565b600080613b46613abd61192a6119ce565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b158015613aff57600080fd5b505afa158015613b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b379190810190614218565b600f0b9063ffffffff61251616565b9050613151613b5e670de0b6b3a763ffff198361332c565b670de0b6b3a7640000613d85565b60208201516000906001600160401b031680613b8c5760009150506111ec565b6000613b988285613d9b565b6080860151909150613bb390600f0b8263ffffffff612aef16565b95945050505050565b600080613bdf84606001516001600160801b031684612f0490919063ffffffff16565b608085015190915061260790600f0b8263ffffffff612aef16565b60006111ec827f6c69717569646174696f6e5072656d69756d4d756c7469706c69657200000000612b19565b600061250f82613c4485670de0b6b3a764000063ffffffff613e2b16565b9063ffffffff613e6516565b6000670de0b6b3a7640000613c6b848463ffffffff613e2b16565b81613c7257fe5b049392505050565b60006111ec82756c69717569646174696f6e427566666572526174696f60501b612b19565b6000613ca96131e4565b6001600160a01b03166323257c2b60008051602061506f833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b81526004016125b0929190614c41565b600080613d09613438613e9a565b90506000613d15613eff565b90506000818311613d265782613d28565b815b90506000613d34613f5a565b9050808211613d4357806111e5565b5095945050505050565b6000806125fa613d648560800151600f0b856133bc565b611cf286866132e6565b6000610b3d6822bc31b430b733b2b960b91b612197565b6000818312613d94578161250f565b5090919050565b60048054604051632088467960e11b815260009261250f926001600160a01b0316916341108cf291613dcf91889101614c25565b60206040518083038186803b158015613de757600080fd5b505afa158015613dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e1f9190810190614218565b600f0b611cf2846122df565b600082613e3a575060006111ec565b82820282848281613e4757fe5b041461250f5760405162461bcd60e51b815260040161047c90614e37565b6000808211613e865760405162461bcd60e51b815260040161047c90614e07565b6000828481613e9157fe5b04949350505050565b6000613ea46131e4565b6001600160a01b03166323257c2b60008051602061506f8339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b81526004016125b0929190614c41565b6000613f096131e4565b6001600160a01b03166323257c2b60008051602061506f83398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b81526004016125b0929190614c41565b6000613f646131e4565b6001600160a01b03166323257c2b60008051602061506f83398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b81526004016125b0929190614c41565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b80356111ec81615024565b80516111ec81615024565b80516111ec81615038565b80356111ec81615041565b80516111ec81615041565b80516111ec8161504a565b6000610120828403121561403857600080fd5b614043610120614f37565b905060006140518484613ff9565b82525060206140628484830161401a565b60208301525060406140768482850161417f565b604083015250606061408a8482850161417f565b606083015250608061409e8482850161417f565b60808301525060a06140b28482850161417f565b60a08301525060c06140c68482850161400f565b60c08301525060e06140da8482850161400f565b60e0830152506101006140ef8482850161400f565b6101008301525092915050565b600060a0828403121561410e57600080fd5b61411860a0614f37565b905060006141268484614195565b825250602061413784848301614195565b602083015250604061414b8482850161417f565b604083015250606061415f8482850161417f565b60608301525060806141738482850161401a565b60808301525092915050565b80516111ec81615053565b80516111ec8161505c565b80516111ec81615065565b6000602082840312156141b257600080fd5b60006126078484613fe3565b6000602082840312156141d057600080fd5b60006126078484613fee565b6000602082840312156141ee57600080fd5b60006126078484613ff9565b60006020828403121561420c57600080fd5b6000612607848461400f565b60006020828403121561422a57600080fd5b6000612607848461401a565b60006020828403121561424857600080fd5b60006126078484614004565b6000806040838503121561426757600080fd5b60006142738585614004565b925050602061428485828601614004565b9150509250929050565b6000806000606084860312156142a357600080fd5b60006142af8686614004565b93505060206142c086828701614004565b92505060406142d186828701614004565b9150509250925092565b600061012082840312156142ee57600080fd5b60006126078484614025565b600060a0828403121561430c57600080fd5b600061260784846140fc565b60006020828403121561432a57600080fd5b6000612607848461417f565b6000806040838503121561434957600080fd5b6000614355858561400f565b925050602061428485828601613ff9565b60008060006060848603121561437b57600080fd5b6000614387868661400f565b935050602061439886828701613ff9565b92505060406142d186828701613ff9565b6000602082840312156143bb57600080fd5b6000612607848461418a565b6000602082840312156143d957600080fd5b60006126078484614195565b60006143f18383614473565b505060200190565b61440281614fb8565b82525050565b61440281614f81565b600061441c82614f6f565b6144268185614f73565b935061443183614f5d565b8060005b8381101561445f57815161444988826143e5565b975061445483614f5d565b925050600101614435565b509495945050505050565b61440281614f8c565b61440281610406565b61440261448882610406565b610406565b600061449882614f6f565b6144a28185614f73565b93506144b2818560208601614fee565b6144bb8161501a565b9093019392505050565b61440281614fbf565b61440281614f91565b61440281614fca565b61440281614fd8565b600081546001811660008114614506576001811461452c5761456b565b607f60028304166145178187614f73565b60ff198416815295505060208501925061456b565b6002820461453a8187614f73565b955061454585614f63565b60005b8281101561456457815488820152600190910190602001614548565b8701945050505b505092915050565b6000614580603583614f73565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006145d7601483614f73565b7350656e64696e67206f726465722065786973747360601b815260200192915050565b6000614607601b83614f73565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614640602183614f73565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614683601e83614f73565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006146bc601a83614f73565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006146f5601183614f7c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614722602183614f73565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614765602f83614f73565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006147b6602183614f73565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006147f9602783614f73565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000614842601983614f7c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061487b605683614f7c565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b60006148f9603583614f7c565b7f5065727073547261636b696e6728627974657333322c627974657333322c627981527474657333322c696e743235362c75696e743235362960581b602082015260350192915050565b6000614950602483614f73565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b6000614996602183614f7c565b7f4d617267696e5472616e7366657272656428616464726573732c696e743235368152602960f81b602082015260210192915050565b60006149d9601783614f73565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000614a12600d83614f73565b6c496e76616c696420707269636560981b815260200192915050565b6000614a3b602083614f73565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b6000614a74603083614f7c565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b61440281614f97565b61440281614fa3565b61440281614fe3565b61440281614fac565b6000614ae9828561447c565b602082019150614af9828461447c565b5060200192915050565b6000614b0e826146e8565b9150614b1a828461447c565b50602001919050565b6000614b0e82614835565b60006111ec8261486e565b60006111ec826148ec565b60006111ec82614989565b60006111ec82614a67565b602081016111ec8284614408565b602081016111ec82846143f9565b60408101614b848285614408565b61250f6020830184614408565b60408101614b9f8285614408565b61250f6020830184614473565b60c08101614bba8289614408565b614bc76020830188614ad4565b614bd46040830187614ad4565b614be16060830186614ab9565b614bee6080830185614ab9565b614bfb60a08301846144ce565b979650505050505050565b6020808252810161250f8184614411565b602081016111ec828461446a565b602081016111ec8284614473565b60408101614b848285614473565b60408101614b9f8285614473565b60808101614c5d8287614473565b614c6a6020830186614473565b614c776040830185614473565b613bb36060830184614473565b60408101614c928285614473565b8181036020830152612607818461448d565b60c08082528101614cb5818961448d565b9050614cc460208301886144e0565b614cd16040830187614473565b614cde60608301866144d7565b614ceb60808301856144d7565b614bfb60a08301846144d7565b60c08082528101614d09818961448d565b9050614d1860208301886144e0565b614d256040830187614473565b614cde6060830186614473565b60c08082528101614d43818961448d565b9050614d5260208301886144e0565b614d5f6040830187614473565b614d6c6060830186614473565b614ceb6080830185614473565b602081016111ec82846144c5565b602081016111ec82846144ce565b6020808252810161250f818461448d565b6020808252810161250f81846144e9565b602080825281016111ec81614573565b602080825281016111ec816145ca565b602080825281016111ec816145fa565b602080825281016111ec81614633565b602080825281016111ec81614676565b602080825281016111ec816146af565b602080825281016111ec81614715565b602080825281016111ec81614758565b602080825281016111ec816147a9565b602080825281016111ec816147ec565b602080825281016111ec81614943565b602080825281016111ec816149cc565b602080825281016111ec81614a05565b602080825281016111ec81614a2e565b602081016111ec8284614ab9565b60e08101614eb3828a614473565b614ec06020830189614473565b614ecd6040830188614473565b614eda6060830187614473565b614ee76080830186614473565b614ef460a0830185614473565b614f0160c0830184614473565b98975050505050505050565b602081016111ec8284614ac2565b602081016111ec8284614acb565b602081016111ec8284614ad4565b6040518181016001600160401b0381118282101715614f5557600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b60006111ec826134af565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b6001600160401b031690565b60006111ec825b60006111ec82614f81565b60006111ec61448883610406565b60006111ec82610406565b60006111ec82614fac565b60005b83811015615009578181015183820152602001614ff1565b83811115610b1e5750506000910152565b601f01601f191690565b61502d81614f81565b811461097257600080fd5b61502d81614f8c565b61502d81610406565b61502d81614f91565b61502d81614f97565b61502d81614fa3565b61502d81614fac56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a723158206724291df207c2cd80439b3a9ac7d34dbad24c27edb242095dee49324eb589e96c6578706572696d656e74616cf564736f6c63430005100040", + "bytecode": "60806040523480156200001157600080fd5b5060405162005b0938038062005b09833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b6150d18062000a386000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806374185360116100ad57806397107d6d1161007157806397107d6d1461022c578063a126d6011461023f578063bc67f83214610252578063d67bdd2514610265578063ec5568891461026d5761012c565b806374185360146101ec57806379ba5097146101f457806388a3c848146101fc578063899ffef41461020f5780638da5cb5b146102245761012c565b80634ad4914b116100f45780634ad4914b146101945780634eb985cc146101a757806353a47bb7146101bc5780635a1cbd2b146101d15780635c8011c3146101d95761012c565b806304f3bcec1461013157806308fb1b771461014f5780631627540c146101575780632af64bd31461016c57806332f0510314610181575b600080fd5b610139610275565b6040516101469190614d79565b60405180910390f35b610139610284565b61016a6101653660046141a0565b610293565b005b6101746102f1565b6040516101469190614c17565b61016a61018f36600461428e565b610409565b61016a6101a2366004614254565b610419565b6101af610429565b6040516101469190614c25565b6101c4610495565b6040516101469190614b5a565b61016a6104a4565b61016a6101e7366004614254565b610569565b61016a610573565b61016a6106c5565b61016a61020a366004614236565b610761565b61021761079a565b6040516101469190614c06565b6101c4610905565b61016a61023a3660046141a0565b610914565b61016a61024d366004614236565b610967565b61016a6102603660046141a0565b610975565b6101c461099f565b6101396109ae565b6002546001600160a01b031681565b6004546001600160a01b031681565b61029b6109bd565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906102e6908390614b5a565b60405180910390a150565b600060606102fd61079a565b905060005b81518110156103ff57600082828151811061031957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061036a908590600401614c25565b60206040518083038186803b15801561038257600080fd5b505afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103ba91908101906141be565b6001600160a01b03161415806103e557506000818152600360205260409020546001600160a01b0316155b156103f65760009350505050610406565b50600101610302565b5060019150505b90565b6104148383836109e9565b505050565b610425828260006109e9565b5050565b600061044f610436610b24565b6007546001600160a01b03908116911614156009610b42565b60008061045a610b85565b9150915080156104855760405162461bcd60e51b815260040161047c90614e77565b60405180910390fd5b61048e82610cb6565b9250505090565b6001546001600160a01b031681565b6104ac610f04565b6007546001600160a01b031660006104c381610f2e565b90506104ce81610cb6565b506004805460405163055f575160e41b8152600092610559926001600160a01b0316916355f575109161050391889101614b5a565b60a06040518083038186803b15801561051b57600080fd5b505afa15801561052f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061055391908101906142fa565b83611127565b60000390506104148183856111f2565b61042582826115c3565b606061057d61079a565b905060005b815181101561042557600082828151811061059957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016105db9190614b23565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610607929190614c84565b60206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065791908101906141be565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906106b39084908490614c33565b60405180910390a15050600101610582565b6001546001600160a01b031633146106ef5760405162461bcd60e51b815260040161047c90614db7565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610732926001600160a01b0391821692911690614b76565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610769610f04565b60006107756000610f2e565b905061078081610cb6565b5060075461042590839083906001600160a01b03166111f2565b6060806107a561178f565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b816000815181106107e757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061081157fe5b6020026020010181815250506b53797374656d53746174757360a01b8160028151811061083a57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160038151811061086b57fe5b60200260200101818152505060008051602061506f8339815191528160048151811061089357fe5b602002602001018181525050725065727073563245786368616e67655261746560681b816005815181106108c357fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816006815181106108ef57fe5b60200260200101818152505061048e82826117e0565b6000546001600160a01b031681565b61091c6109bd565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906102e6908390614b68565b6109728160006115c3565b50565b61097d610f04565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031681565b6006546001600160a01b031681565b6000546001600160a01b031633146109e75760405162461bcd60e51b815260040161047c90614e27565b565b6109f1610f04565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa93610a2393169101614b5a565b6101206040518083038186803b158015610a3c57600080fd5b505afa158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a7491908101906142db565b60200151600f0b15610a985760405162461bcd60e51b815260040161047c90614dc7565b6000610aa46000610f2e565b9050610aaf81610cb6565b506007546040805160e08101825286815260208101849052610b1e926001600160a01b0316918101610ae1888661189c565b8152602001868152602001610afc610af76119ce565b611a56565b8152602001610b11610b0c6119ce565b611a6d565b8152602001859052611a84565b50505050565b6000610b3d60008051602061506f833981519152612197565b905090565b8115610425576005600082600f811115610b5857fe5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b815260040161047c9190614da6565b600080610b906121f4565b6001600160a01b0316630c71cd23610ba661220f565b6040518263ffffffff1660e01b8152600401610bc29190614c25565b604080518083038186803b158015610bd957600080fd5b505afa158015610bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c119190810190614336565b90925090508080610c20575081155b80610cb05750610c2e61225f565b6001600160a01b031663b431c0ea610c4461220f565b6040518263ffffffff1660e01b8152600401610c609190614c25565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cb091908101906141dc565b90509091565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b158015610cfa57600080fd5b505afa158015610d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3291908101906141fa565b90506000610d3e612279565b90506000610d4b856122df565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f291610d7b91859101614d87565b600060405180830381600087803b158015610d9557600080fd5b505af1158015610da9573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e765629250610ddc91429101614f0d565b600060405180830381600087803b158015610df657600080fd5b505af1158015610e0a573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f229250610e3d91869101614d87565b600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b81529051610efb9550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b158015610eb857600080fd5b505afa158015610ecc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ef091908101906143a9565b63ffffffff1661233a565b50909392505050565b6006546001600160a01b031633146109e75760405162461bcd60e51b815260040161047c90614e67565b6000610f3861225f565b6001600160a01b031663856aae6c610f4e6119ce565b6040518263ffffffff1660e01b8152600401610f6a9190614c25565b60006040518083038186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b50505050610fa261225f565b6001600160a01b03166342a28e21610fb861220f565b6040518263ffffffff1660e01b8152600401610fd49190614c25565b60006040518083038186803b158015610fec57600080fd5b505afa158015611000573d6000803e3d6000fd5b50505050811561107d5761101261225f565b6001600160a01b031663856aae6c61103061102b6119ce565b6123ea565b6040518263ffffffff1660e01b815260040161104c9190614c25565b60006040518083038186803b15801561106457600080fd5b505afa158015611078573d6000803e3d6000fd5b505050505b600080600061108a6121f4565b6001600160a01b031663045056f86110a061220f565b6040518263ffffffff1660e01b81526004016110bc9190614c25565b606060405180830381600087803b1580156110d657600080fd5b505af11580156110ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110e9190810190614366565b925092509250610efb82806111205750815b6001610b42565b600066038d7ea4c6800081611152826111466111416119ce565b6124bb565b9063ffffffff6124d516565b9050600061117f61117a8361116e8960800151600f0b896124fd565b9063ffffffff61251616565b612540565b905080156111b357600061119161254b565b90508082101561119f578091505b6111af828563ffffffff6125c816565b9150505b60006111bf87876125ed565b90508181116111d55760009450505050506111ec565b6111e5818363ffffffff6124d516565b9450505050505b92915050565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a999161122391859101614b5a565b60206040518083038186803b15801561123b57600080fd5b505afa15801561124f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061127391908101906141dc565b156112835760056000600e610b58565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa936112b593169101614b5a565b6101206040518083038186803b1580156112ce57600080fd5b505afa1580156112e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061130691908101906142db565b60200151600f0b1561132a5760405162461bcd60e51b815260040161047c90614dc7565b600061133585612540565b905060008513156113dc57600061134a61260f565b6001600160a01b0316636f9a0ca685846040518363ffffffff1660e01b8152600401611377929190614b91565b602060405180830381600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113c991908101906141fa565b90508181146113d6578095505b50611457565b6000851215611451576113ed61260f565b6001600160a01b031663a7b5833f84836040518363ffffffff1660e01b815260040161141a929190614b91565b600060405180830381600087803b15801561143457600080fd5b505af1158015611448573d6000803e3d6000fd5b50505050611457565b50610b1e565b61145f613fb5565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161148e91889101614b5a565b60a06040518083038186803b1580156114a657600080fd5b505afa1580156114ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114de91908101906142fa565b90506114ee84826000888a612631565b6114f884876128d9565b6115bb81600001516001600160401b03168583604001516001600160801b03168460800151600f0b60008a61152b61297f565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157b57600080fd5b505afa15801561158f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b39190810190614218565b600f0b612a0c565b505050505050565b6115cb610f04565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa936115fd93169101614b5a565b6101206040518083038186803b15801561161657600080fd5b505afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061164e91908101906142db565b60200151600f0b156116725760405162461bcd60e51b815260040161047c90614dc7565b6004805460075460405163055f575160e41b81526000936001600160a01b03938416936355f57510936116a89391169101614b5a565b60a06040518083038186803b1580156116c057600080fd5b505afa1580156116d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116f891908101906142fa565b60800151600f0b905061170d8115600b610b42565b60006117196000610f2e565b905061172481610cb6565b506007546040805160e081018252600085900380825260208201859052610b1e936001600160a01b03169282019061175c908661189c565b8152602001878152602001611772610af76119ce565b8152602001611782610b0c6119ce565b8152602001869052611a84565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117d157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611810578160200160208202803883390190505b50905060005b83518110156118525783818151811061182b57fe5b602002602001015182828151811061183f57fe5b6020908102919091010152600101611816565b5060005b82518110156118955782818151811061186b57fe5b602002602001015182828651018151811061188257fe5b6020908102919091010152600101611856565b5092915050565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119189190810190614218565b600f0b9050600061192f61192a6119ce565b612a91565b90506000611943838363ffffffff61251616565b9050600061195b8361116e868a63ffffffff612aa916565b9050600061197f611972888563ffffffff612aef16565b889063ffffffff612aa916565b905060006119a3611996898563ffffffff612aef16565b899063ffffffff612aa916565b90506119c1671bc16d674ec8000061116e848463ffffffff612aa916565b9998505050505050505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b505afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b3d91908101906141fa565b60006111ec826774616b657246656560c01b612b19565b60006111ec82676d616b657246656560c01b612b19565b6004805460405163fef48a9960e01b815284926001600160a01b039092169163fef48a9991611ab591859101614b5a565b60206040518083038186803b158015611acd57600080fd5b505afa158015611ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b0591908101906141dc565b15611b155760056000600e610b58565b611b1d613fb5565b6004805460405163055f575160e41b81526001600160a01b03909116916355f5751091611b4c91889101614b5a565b60a06040518083038186803b158015611b6457600080fd5b505afa158015611b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b9c91908101906142fa565b9050611ba6613fb5565b6040518060a0016040528083600001516001600160401b0316815260200183602001516001600160401b0316815260200183604001516001600160801b0316815260200183606001516001600160801b031681526020018360800151600f0b8152509050611c12613fb5565b600080611c1f8488612bd6565b925092509250611c2e81612ebe565b611c45876040015188606001518960000151612edc565b50600480546080808701519086015160408051632b58ecef60e01b815290516001600160a01b039094169463b545f71294611cfe94600f90810b94611cf294910b928892632b58ecef928083019260209291829003018186803b158015611cab57600080fd5b505afa158015611cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ce39190810190614218565b600f0b9063ffffffff612aa916565b9063ffffffff612f0416565b6040518263ffffffff1660e01b8152600401611d1a9190614d87565b600060405180830381600087803b158015611d3457600080fd5b505af1158015611d48573d6000803e3d6000fd5b505060045460808701516001600160a01b03909116925063460af7a69150611e1890611d7690600f0b612540565b611146611d898860800151600f0b612540565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b158015611dcb57600080fd5b505afa158015611ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e039190810190614318565b6001600160801b03169063ffffffff6125c816565b6040518263ffffffff1660e01b8152600401611e349190614e97565b600060405180830381600087803b158015611e4e57600080fd5b505af1158015611e62573d6000803e3d6000fd5b505050508160001015611ed557611e7761260f565b6001600160a01b031663d289ade2836040518263ffffffff1660e01b8152600401611ea29190614c25565b600060405180830381600087803b158015611ebc57600080fd5b505af1158015611ed0573d6000803e3d6000fd5b505050505b60c087015115611eff57611eff8760c00151611eef61220f565b611ef76119ce565b8a5186612f4a565b6040808401516001600160801b031690860152611f1c8385612ffb565b83516000611f2861297f565b90508460800151600f0b60001415611f575760008088526080880181905260608801819052602088015261207c565b6080860151600f0b61204357600480546040805163899346c760e01b815290516001600160a01b039092169263899346c7928282019260209290829003018186803b158015611fa557600080fd5b505afa158015611fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fdd91908101906143c7565b60048054604051631dbad55160e31b81529294506001600160a01b03169163edd6aa889161201091600187019101614f29565b600060405180830381600087803b15801561202a57600080fd5b505af115801561203e573d6000803e3d6000fd5b505050505b6001600160401b038083168852608080870151600f90810b900b9089015260408a01516001600160801b03166060890152811660208801525b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8b89600001518a602001518b604001518c606001518d608001516040518763ffffffff1660e01b81526004016120db96959493929190614bac565b600060405180830381600087803b1580156120f557600080fd5b505af1158015612109573d6000803e3d6000fd5b5050505061218b826001600160401b03168b87604001516001600160801b03168860800151600f0b8d600001518e60400151878b600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157b57600080fd5b50505050505050505050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916121c791869101614b03565b604051602081830303815290604052906118955760405162461bcd60e51b815260040161047c9190614d95565b6000610b3d6c45786368616e6765526174657360981b612197565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b6000610b3d6b53797374656d53746174757360a01b612197565b6000610b3d61229d612289613089565b612291613130565b9063ffffffff612aef16565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b158015611cab57600080fd5b60006111ec6122ed83613157565b6004546001600160a01b03166341108cf261230661297f565b6040518263ffffffff1660e01b81526004016123229190614c25565b60206040518083038186803b158015611cab57600080fd5b6006546040516001600160a01b039091169063907dff9790612366908790879087908790602001614c4f565b604051602081830303815290604052600160405161238390614b4f565b6040519081900381206001600160e01b031960e086901b1682526123b293929160009081908190600401614ca4565b600060405180830381600087803b1580156123cc57600080fd5b505af11580156123e0573d6000803e3d6000fd5b5050505050505050565b60006123f46131e4565b6001600160a01b031663f7833c5d60008051602061506f83398151915284706f6666636861696e4d61726b65744b657960781b604051602001612438929190614add565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161246b929190614c41565b60206040518083038186803b15801561248357600080fd5b505afa158015612497573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ec91908101906141fa565b60006111ec826a6d61784c6576657261676560a81b612b19565b6000828211156124f75760405162461bcd60e51b815260040161047c90614df7565b50900390565b600061250f838363ffffffff612aef16565b9392505050565b600061250f8261253485670de0b6b3a764000063ffffffff61320116565b9063ffffffff61326c16565b60006111ec826132d0565b60006125556131e4565b6001600160a01b03166323257c2b60008051602061506f8339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b81526004016125b0929190614c41565b60206040518083038186803b158015611a1e57600080fd5b60008282018381101561250f5760405162461bcd60e51b815260040161047c90614dd7565b6000806125fa84846132e6565b905061260760008261332c565b949350505050565b6000610b3d73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b612197565b612639613fb5565b5083600080612649838686613341565b9150915061265681612ebe565b600061266061297f565b905061271c6040518060a0016040528060006001600160401b03168152602001836001600160401b03168152602001856001600160801b03168152602001886001600160801b031681526020018a60800151600f0b8152506040518060a0016040528060006001600160401b031681526020018b602001516001600160401b031681526020018b604001516001600160801b031681526020018b606001516001600160801b031681526020018b60800151600f0b815250612ffb565b6001600160801b03831660408901526080880151600f0b1561283d576001600160801b03861660608901526001600160401b0381166020890152600085121561283d5760006127728960800151600f0b886133bc565b905060006127978261278b8c60800151600f0b8b613422565b9063ffffffff6125c816565b90506127a7818611156008610b42565b60808a01516000906127c290600f0b8b63ffffffff612aa916565b905060006127d78c60800151600f0b8361346c565b80156127f957506127ee8c60800151600f0b612540565b6127f783612540565b105b9050806128385761282461281161117a8e8d8b61348b565b61281c6111416119ce565b106007610b42565b61283861282f61254b565b88106008610b42565b505050505b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8a8a600001518b602001518c604001518d606001518e608001516040518763ffffffff1660e01b815260040161289c96959493929190614bac565b600060405180830381600087803b1580156128b657600080fd5b505af11580156128ca573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff97906128ff908490602001614c25565b604051602081830303815290604052600260405161291c90614b44565b604051809103902061292d876134af565b6000806040518763ffffffff1660e01b815260040161295196959493929190614cf8565b600060405180830381600087803b15801561296b57600080fd5b505af11580156115bb573d6000803e3d6000fd5b6000610b3d6001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129d457600080fd5b505afa1580156129e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061114691908101906141fa565b6006546040516001600160a01b039091169063907dff9790612a3e908a908a908a908a908a908a908a90602001614ea5565b6040516020818303038152906040526003604051612a5b90614b2e565b6040519081900390208d612a6e8e6134af565b60006040518763ffffffff1660e01b815260040161289c96959493929190614d32565b60006111ec8268736b65775363616c6560b81b612b19565b6000828201818312801590612abe5750838112155b80612ad35750600083128015612ad357508381125b61250f5760405162461bcd60e51b815260040161047c90614de7565b6000670de0b6b3a7640000612b0a848463ffffffff61320116565b81612b1157fe5b059392505050565b6000612b236131e4565b6001600160a01b03166323257c2b60008051602061506f8339815191528585604051602001612b53929190614add565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401612b86929190614c41565b60206040518083038186803b158015612b9e57600080fd5b505afa158015612bb2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061250f91908101906141fa565b612bde613fb5565b81516000908190612bf8575083915060009050600a612eb7565b612c068585602001516134bb565b15612c1a5750839150600090506004612eb7565b600080612c256134f9565b915091508015612c42575085935060009250600c9150612eb79050565b612c4c8683613596565b9350600080612c6389896040015188600003613341565b91509150612c7081613790565b15612c8757889650600095509350612eb792505050565b612c8f613fb5565b6040518060a001604052808b600001516001600160401b03168152602001612cb561297f565b6001600160401b03168152602001846001600160801b031681526020018a604001516001600160801b03168152602001612d038b600001518d60800151600f0b612aa990919063ffffffff16565b600f0b81525090506000612d258b60800151600f0b8360800151600f0b61346c565b8015612d4e5750612d3c8b60800151600f0b612540565b612d4c8360800151600f0b612540565b105b905080612d9857612d5d61254b565b6040830151612d7b906001600160801b03168a63ffffffff6125c816565b1015612d9857508997506000965060089550612eb7945050505050565b6000612daf8360800151600f0b8c602001516133bc565b90506000612dcc8261278b8660800151600f0b8f60200151613422565b9050808611612ded57509198506000975060049650612eb795505050505050565b6000612e20612e02888d63ffffffff6125c816565b61116e8f604001518860800151600f0b612aef90919063ffffffff16565b9050612e2b81612540565b612e41662386f26fc1000061278b6111416119ce565b1015612e6157508c9a506000995060079850612eb7975050505050505050565b50612e8a612e75612e706119ce565b6137a7565b8e60800151600f0b8660800151600f0b6137c4565b15612ea857508b99506000985060069750612eb79650505050505050565b50919850600096505050505050505b9250925092565b612ec781613790565b15610972576005600082600f811115610b5857fe5b6000612efc60008313612ef157838510612ef5565b8385115b600d610b42565b509192915050565b6000818303818312801590612f195750838113155b80612f2e5750600083128015612f2e57508381135b61250f5760405162461bcd60e51b815260040161047c90614e57565b6006546040516001600160a01b039091169063907dff9790612f76908790879087908790602001614c4f565b6040516020818303038152906040526002604051612f9390614b39565b6040519081900381206001600160e01b031960e086901b168252612fc29392918b906000908190600401614cf8565b600060405180830381600087803b158015612fdc57600080fd5b505af1158015612ff0573d6000803e3d6000fd5b505050505050505050565b6000613006836139ae565b90506000613013836139ae565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f79261306d928692611cf292899288926322d3090a92828101926020929190829003018186803b158015611cab57600080fd5b6040518263ffffffff1660e01b81526004016123b29190614d87565b6000610b3d6201518061116e600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156130e357600080fd5b505afa1580156130f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061311b91908101906143a9565b63ffffffff16426124d590919063ffffffff16565b60008061314361313e6119ce565b613a8b565b905061315181612291613aac565b91505090565b600080613162612279565b905060006131c36012600a0a60020261116e84600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b158015611cab57600080fd5b6000039050612607846122916131d7613089565b849063ffffffff612aef16565b6000610b3d6e466c657869626c6553746f7261676560881b612197565b600082613210575060006111ec565b826000191480156132245750600160ff1b82145b156132415760405162461bcd60e51b815260040161047c90614e47565b8282028284828161324e57fe5b051461250f5760405162461bcd60e51b815260040161047c90614e47565b60008161328b5760405162461bcd60e51b815260040161047c90614e87565b8160001914801561329f5750600160ff1b83145b156132bc5760405162461bcd60e51b815260040161047c90614e17565b60008284816132c757fe5b05949350505050565b60008082126132df57816111ec565b5060000390565b6000806132f38484613b6c565b9050612607816133206133068787613bbc565b60408801516001600160801b03169063ffffffff612aa916565b9063ffffffff612aa916565b600081831261333b578261250f565b50919050565b60008060006133548461332088886132e6565b9050600081121561336d575060009150600890506133b4565b60808601518190600f0b60006133838289613422565b905081158015906133945750808311155b156133a95782600495509550505050506133b4565b509093506000925050505b935093915050565b6000826133cb575060006111ec565b60006133da61117a85856124fd565b90506126076133ef6133ea6119ce565b613bfa565b6134168361341661340161192a6119ce565b61340a8a612540565b9063ffffffff613c2616565b9063ffffffff613c5016565b6000806134456134386134336119ce565b613c7a565b6134168561341688612540565b9050612607613452613c9f565b61278b61345f8787613cfb565b849063ffffffff6125c816565b6000821580613479575081155b8061250f575050600090811291131490565b60008161349a5750600061250f565b6126078261116e8660800151600f0b866124fd565b6001600160a01b031690565b60008260800151600f0b600014156134d5575060006111ec565b6134e68360800151600f0b83613422565b6134f08484613d4d565b11159392505050565b600080613504613d6e565b6001600160a01b031663c39def0b631cd554d160e21b61352261220f565b6040518363ffffffff1660e01b815260040161353f929190614c41565b604080518083038186803b15801561355657600080fd5b505afa15801561356a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061358e9190810190614336565b915091509091565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b1580156135da57600080fd5b505afa1580156135ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136129190810190614218565b600f0b9050600061363485604001518660000151612aef90919063ffffffff16565b905060006136458561341684612540565b9050613657866000015184018461346c565b156137265760006136f083600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156136b057600080fd5b505afa1580156136c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136e89190810190614218565b600f0b61346c565b6136fe578660a00151613704565b86608001515b905061371961117a848363ffffffff612aef16565b82019450505050506111ec565b85516000906137429061117a908681019063ffffffff61251616565b90506000816012600a0a039050600061376689608001516134168561341689612540565b9050600061377f8a60a00151613416856134168a612540565b919094010198975050505050505050565b60008082600f81111561379f57fe5b141592915050565b60006111ec826d6d61784d61726b657456616c756560901b612b19565b60006137d0838361346c565b80156137ec57506137e083612540565b6137e983612540565b11155b156137f95750600061250f565b60006138988361332086600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561385157600080fd5b505afa158015613865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138899190810190614218565b600f0b9063ffffffff612f0416565b905060006139436138a8856132d0565b6133206138b4886132d0565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b1580156138f657600080fd5b505afa15801561390a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061392e9190810190614318565b6001600160801b03169063ffffffff612f0416565b90506000846000121561396757613960828463ffffffff612aa916565b905061397a565b613977828463ffffffff612f0416565b90505b61398e61117a82600263ffffffff61326c16565b8710156139a1576001935050505061250f565b5060009695505050505050565b600480546020830151604051632088467960e11b81526000936111ec93613a7193613a5d936001600160a01b03909216926341108cf2926139f0929101614f1b565b60206040518083038186803b158015613a0857600080fd5b505afa158015613a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a409190810190614218565b60608601516001600160801b031690600f0b63ffffffff612aa916565b6080850151600f0b9063ffffffff612aef16565b60408401516001600160801b03169063ffffffff612f0416565b60006111ec82716d617846756e64696e6756656c6f6369747960701b612b19565b600080613b46613abd61192a6119ce565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b158015613aff57600080fd5b505afa158015613b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b379190810190614218565b600f0b9063ffffffff61251616565b9050613151613b5e670de0b6b3a763ffff198361332c565b670de0b6b3a7640000613d85565b60208201516000906001600160401b031680613b8c5760009150506111ec565b6000613b988285613d9b565b6080860151909150613bb390600f0b8263ffffffff612aef16565b95945050505050565b600080613bdf84606001516001600160801b031684612f0490919063ffffffff16565b608085015190915061260790600f0b8263ffffffff612aef16565b60006111ec827f6c69717569646174696f6e5072656d69756d4d756c7469706c69657200000000612b19565b600061250f82613c4485670de0b6b3a764000063ffffffff613e2b16565b9063ffffffff613e6516565b6000670de0b6b3a7640000613c6b848463ffffffff613e2b16565b81613c7257fe5b049392505050565b60006111ec82756c69717569646174696f6e427566666572526174696f60501b612b19565b6000613ca96131e4565b6001600160a01b03166323257c2b60008051602061506f833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b81526004016125b0929190614c41565b600080613d09613438613e9a565b90506000613d15613eff565b90506000818311613d265782613d28565b815b90506000613d34613f5a565b9050808211613d4357806111e5565b5095945050505050565b6000806125fa613d648560800151600f0b856133bc565b611cf286866132e6565b6000610b3d6822bc31b430b733b2b960b91b612197565b6000818312613d94578161250f565b5090919050565b60048054604051632088467960e11b815260009261250f926001600160a01b0316916341108cf291613dcf91889101614c25565b60206040518083038186803b158015613de757600080fd5b505afa158015613dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e1f9190810190614218565b600f0b611cf2846122df565b600082613e3a575060006111ec565b82820282848281613e4757fe5b041461250f5760405162461bcd60e51b815260040161047c90614e37565b6000808211613e865760405162461bcd60e51b815260040161047c90614e07565b6000828481613e9157fe5b04949350505050565b6000613ea46131e4565b6001600160a01b03166323257c2b60008051602061506f8339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b81526004016125b0929190614c41565b6000613f096131e4565b6001600160a01b03166323257c2b60008051602061506f83398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b81526004016125b0929190614c41565b6000613f646131e4565b6001600160a01b03166323257c2b60008051602061506f83398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b81526004016125b0929190614c41565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b80356111ec81615024565b80516111ec81615024565b80516111ec81615038565b80356111ec81615041565b80516111ec81615041565b80516111ec8161504a565b6000610120828403121561403857600080fd5b614043610120614f37565b905060006140518484613ff9565b82525060206140628484830161401a565b60208301525060406140768482850161417f565b604083015250606061408a8482850161417f565b606083015250608061409e8482850161417f565b60808301525060a06140b28482850161417f565b60a08301525060c06140c68482850161400f565b60c08301525060e06140da8482850161400f565b60e0830152506101006140ef8482850161400f565b6101008301525092915050565b600060a0828403121561410e57600080fd5b61411860a0614f37565b905060006141268484614195565b825250602061413784848301614195565b602083015250604061414b8482850161417f565b604083015250606061415f8482850161417f565b60608301525060806141738482850161401a565b60808301525092915050565b80516111ec81615053565b80516111ec8161505c565b80516111ec81615065565b6000602082840312156141b257600080fd5b60006126078484613fe3565b6000602082840312156141d057600080fd5b60006126078484613fee565b6000602082840312156141ee57600080fd5b60006126078484613ff9565b60006020828403121561420c57600080fd5b6000612607848461400f565b60006020828403121561422a57600080fd5b6000612607848461401a565b60006020828403121561424857600080fd5b60006126078484614004565b6000806040838503121561426757600080fd5b60006142738585614004565b925050602061428485828601614004565b9150509250929050565b6000806000606084860312156142a357600080fd5b60006142af8686614004565b93505060206142c086828701614004565b92505060406142d186828701614004565b9150509250925092565b600061012082840312156142ee57600080fd5b60006126078484614025565b600060a0828403121561430c57600080fd5b600061260784846140fc565b60006020828403121561432a57600080fd5b6000612607848461417f565b6000806040838503121561434957600080fd5b6000614355858561400f565b925050602061428485828601613ff9565b60008060006060848603121561437b57600080fd5b6000614387868661400f565b935050602061439886828701613ff9565b92505060406142d186828701613ff9565b6000602082840312156143bb57600080fd5b6000612607848461418a565b6000602082840312156143d957600080fd5b60006126078484614195565b60006143f18383614473565b505060200190565b61440281614fb8565b82525050565b61440281614f81565b600061441c82614f6f565b6144268185614f73565b935061443183614f5d565b8060005b8381101561445f57815161444988826143e5565b975061445483614f5d565b925050600101614435565b509495945050505050565b61440281614f8c565b61440281610406565b61440261448882610406565b610406565b600061449882614f6f565b6144a28185614f73565b93506144b2818560208601614fee565b6144bb8161501a565b9093019392505050565b61440281614fbf565b61440281614f91565b61440281614fca565b61440281614fd8565b600081546001811660008114614506576001811461452c5761456b565b607f60028304166145178187614f73565b60ff198416815295505060208501925061456b565b6002820461453a8187614f73565b955061454585614f63565b60005b8281101561456457815488820152600190910190602001614548565b8701945050505b505092915050565b6000614580603583614f73565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006145d7601483614f73565b7350656e64696e67206f726465722065786973747360601b815260200192915050565b6000614607601b83614f73565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614640602183614f73565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614683601e83614f73565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006146bc601a83614f73565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006146f5601183614f7c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614722602183614f73565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614765602f83614f73565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006147b6602183614f73565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006147f9602783614f73565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000614842601983614f7c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061487b605683614f7c565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b60006148f9603583614f7c565b7f5065727073547261636b696e6728627974657333322c627974657333322c627981527474657333322c696e743235362c75696e743235362960581b602082015260350192915050565b6000614950602483614f73565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b6000614996602183614f7c565b7f4d617267696e5472616e7366657272656428616464726573732c696e743235368152602960f81b602082015260210192915050565b60006149d9601783614f73565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000614a12600d83614f73565b6c496e76616c696420707269636560981b815260200192915050565b6000614a3b602083614f73565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b6000614a74603083614f7c565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b61440281614f97565b61440281614fa3565b61440281614fe3565b61440281614fac565b6000614ae9828561447c565b602082019150614af9828461447c565b5060200192915050565b6000614b0e826146e8565b9150614b1a828461447c565b50602001919050565b6000614b0e82614835565b60006111ec8261486e565b60006111ec826148ec565b60006111ec82614989565b60006111ec82614a67565b602081016111ec8284614408565b602081016111ec82846143f9565b60408101614b848285614408565b61250f6020830184614408565b60408101614b9f8285614408565b61250f6020830184614473565b60c08101614bba8289614408565b614bc76020830188614ad4565b614bd46040830187614ad4565b614be16060830186614ab9565b614bee6080830185614ab9565b614bfb60a08301846144ce565b979650505050505050565b6020808252810161250f8184614411565b602081016111ec828461446a565b602081016111ec8284614473565b60408101614b848285614473565b60408101614b9f8285614473565b60808101614c5d8287614473565b614c6a6020830186614473565b614c776040830185614473565b613bb36060830184614473565b60408101614c928285614473565b8181036020830152612607818461448d565b60c08082528101614cb5818961448d565b9050614cc460208301886144e0565b614cd16040830187614473565b614cde60608301866144d7565b614ceb60808301856144d7565b614bfb60a08301846144d7565b60c08082528101614d09818961448d565b9050614d1860208301886144e0565b614d256040830187614473565b614cde6060830186614473565b60c08082528101614d43818961448d565b9050614d5260208301886144e0565b614d5f6040830187614473565b614d6c6060830186614473565b614ceb6080830185614473565b602081016111ec82846144c5565b602081016111ec82846144ce565b6020808252810161250f818461448d565b6020808252810161250f81846144e9565b602080825281016111ec81614573565b602080825281016111ec816145ca565b602080825281016111ec816145fa565b602080825281016111ec81614633565b602080825281016111ec81614676565b602080825281016111ec816146af565b602080825281016111ec81614715565b602080825281016111ec81614758565b602080825281016111ec816147a9565b602080825281016111ec816147ec565b602080825281016111ec81614943565b602080825281016111ec816149cc565b602080825281016111ec81614a05565b602080825281016111ec81614a2e565b602081016111ec8284614ab9565b60e08101614eb3828a614473565b614ec06020830189614473565b614ecd6040830188614473565b614eda6060830187614473565b614ee76080830186614473565b614ef460a0830185614473565b614f0160c0830184614473565b98975050505050505050565b602081016111ec8284614ac2565b602081016111ec8284614acb565b602081016111ec8284614ad4565b6040518181016001600160401b0381118282101715614f5557600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b60006111ec826134af565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b6001600160401b031690565b60006111ec825b60006111ec82614f81565b60006111ec61448883610406565b60006111ec82610406565b60006111ec82614fac565b60005b83811015615009578181015183820152602001614ff1565b83811115610b1e5750506000910152565b601f01601f191690565b61502d81614f81565b811461097257600080fd5b61502d81614f8c565b61502d81610406565b61502d81614f91565b61502d81614f97565b61502d81614fa3565b61502d81614fac56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a7231582035cc9064f8b5d6c49ade6d3e65b88fafa87adf36c6678146c7845c2299f4065f6c6578706572696d656e74616cf564736f6c63430005100040", "abi": [ { "inputs": [ @@ -52286,10 +52486,10 @@ } ], "source": { - "keccak256": "0xc42eea66d1f1bf2db628906a3bb66cce4cdb8fc86d23e7ef51b37158e4a7a212", + "keccak256": "0x42ced0e68bc90951bd56cbb681f9f707308989480dc1e2d420e964a2999ffd2b", "urls": [ - "bzz-raw://3b40879dfe5c5c4cd66776f2be9205981eea6d3cf28c703e0cb512a28f36a966", - "dweb:/ipfs/QmWSrLEq8xuyDsyKgCkmyVHps4mnxvv7ewKvQ9fq9JSBax" + "bzz-raw://cd5d94acac84036d5d10b909922a1e3829377e644b08293cb8f994a1dbe64a39", + "dweb:/ipfs/QmPxU9t52ZtLx8ZPQm3gNAPZt6ffvEhbSZBzC2k7hMjgZz" ] }, "metadata": { @@ -52311,10 +52511,10 @@ }, "sources": { "PerpsV2Market.sol": { - "keccak256": "0xc42eea66d1f1bf2db628906a3bb66cce4cdb8fc86d23e7ef51b37158e4a7a212", + "keccak256": "0x42ced0e68bc90951bd56cbb681f9f707308989480dc1e2d420e964a2999ffd2b", "urls": [ - "bzz-raw://3b40879dfe5c5c4cd66776f2be9205981eea6d3cf28c703e0cb512a28f36a966", - "dweb:/ipfs/QmWSrLEq8xuyDsyKgCkmyVHps4mnxvv7ewKvQ9fq9JSBax" + "bzz-raw://cd5d94acac84036d5d10b909922a1e3829377e644b08293cb8f994a1dbe64a39", + "dweb:/ipfs/QmPxU9t52ZtLx8ZPQm3gNAPZt6ffvEhbSZBzC2k7hMjgZz" ] } }, @@ -52322,7 +52522,7 @@ } }, "PerpsV2MarketViews": { - "bytecode": "60806040523480156200001157600080fd5b5060405162004f3d38038062004f3d833981016040819052620000349162000806565b8282828080836001600160a01b0381166200006c5760405162461bcd60e51b81526004016200006390620008d7565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b9918490620008b1565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000151917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b916200074e565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001b6917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a916200074e565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e67650000006020808301918252600360005260059052905162000226917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc0916200074e565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c6971756964617465640000000000006020808301918252600460005260059052905162000296917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d5916200074e565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c6971756964617465640000006020808301918252600560008190529052905162000306917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d916200074e565b5060408051808201909152601881527f4d6178206d61726b65742073697a6520657863656564656400000000000000006020808301918252600660005260059052905162000376917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac518916200074e565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003e6917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d81460916200074e565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e000000000000000000000000006020808301918252600860005260059052905162000456917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e916200074e565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004c6917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe1916200074e565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a60005260059052905162000536917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d916200074e565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b60005260059052905162000599917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed5916200074e565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c600052600590529051620005fe917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e6916200074e565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d6000526005905290516200066e917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac825916200074e565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d1917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb53916200074e565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000741917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af916200074e565b5050505050505062000932565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200079157805160ff1916838001178555620007c1565b82800160010185558215620007c1579182015b82811115620007c1578251825591602001919060010190620007a4565b50620007cf929150620007d3565b5090565b620007f091905b80821115620007cf5760008155600101620007da565b90565b8051620008008162000918565b92915050565b6000806000606084860312156200081c57600080fd5b60006200082a8686620007f3565b93505060206200083d86828701620007f3565b92505060406200085086828701620007f3565b9150509250925092565b620008658162000904565b82525050565b6200086581620008f2565b600062000885601983620008e9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620008c182856200085a565b620008d060208301846200086b565b9392505050565b60208082528101620008008162000876565b90815260200190565b60006001600160a01b03821662000800565b6000620008008260006200080082620008f2565b6200092381620008f2565b81146200092f57600080fd5b50565b6145fb80620009426000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c8063917e77f511610130578063cded0cea116100b8578063e8c634701161007c578063e8c6347014610457578063ea1d54781461045f578063ea9f9aa714610484578063eb56105d14610497578063fef48a99146104ac57610227565b8063cded0cea1461042f578063cdf456e114610437578063d24378eb1461043f578063d7103a4614610447578063e44c84c21461044f57610227565b8063b74e3806116100ff578063b74e3806146103ce578063b895daab146103d6578063b9f4ff55146103e9578063c8023af4146103fc578063c8b809aa1461040f57610227565b8063917e77f51461038d578063964db90c146103955780639cfbf4e4146103a8578063b111dfac146103bb57610227565b80634dd9d7e9116101b35780637418536011610182578063741853601461034d578063785cdeec1461035557806379ba509714610368578063899ffef4146103705780638da5cb5b1461038557610227565b80634dd9d7e9146102ef57806353a47bb71461030257806355f57510146103175780635fc890c21461033757610227565b806327b9a236116101fa57806327b9a236146102885780632af64bd31461029d5780632b58ecef146102b25780633aef4d0b146102c757806341108cf2146102dc57610227565b806304f3bcec1461022c57806308fb1b771461024a5780631627540c146102525780631bf556d014610267575b600080fd5b6102346104bf565b60405161024191906142e0565b60405180910390f35b6102346104ce565b610265610260366004613a92565b6104dd565b005b61027a610275366004613a92565b61053b565b6040516102419291906142fc565b6102906105e3565b6040516102419190614452565b6102a5610671565b604051610241919061427b565b6102ba610788565b60405161024191906142ee565b6102cf610810565b6040516102419190614289565b6102ba6102ea366004613b28565b61081a565b61027a6102fd366004613b46565b6108a4565b61030a61096a565b6040516102419190614241565b61032a610325366004613a92565b610979565b60405161024191906143e7565b61033f610a00565b6040516102419291906142a5565b610265610b6e565b61027a610363366004613a92565b610cc4565b610265610d61565b610378610e06565b604051610241919061426a565b61030a610f78565b61027a610f87565b61027a6103a3366004613a92565b610fab565b61027a6103b6366004613a92565b611048565b61027a6103c9366004613a92565b6110e5565b6102cf611182565b61027a6103e4366004613a92565b61118c565b6102a56103f7366004613a92565b611230565b6102cf61040a366004613a92565b6112db565b61042261041d366004613a92565b6113d1565b60405161024191906143d8565b6102cf611459565b6102cf6114e1565b61027a6114eb565b6102cf6114fe565b6102ba611508565b61027a611558565b61047261046d366004613b80565b611573565b60405161024196959493929190614403565b61027a610492366004613b28565b611733565b61049f611754565b60405161024191906143f5565b6102a56104ba366004613a92565b6117dc565b6002546001600160a01b031681565b6004546001600160a01b031681565b6104e561185e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610530908390614241565b60405180910390a150565b60008060008061054961188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f5751091610582918a9101614241565b60a06040518083038186803b15801561059a57600080fd5b505afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d29190810190613c00565b836119bb565b93509150505b915091565b6000600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b15801561063357600080fd5b505afa158015610647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613c6c565b90505b90565b6000606061067d610e06565b905060005b815181101561077f57600082828151811061069957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906106ea908590600401614289565b60206040518083038186803b15801561070257600080fd5b505afa158015610716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061073a9190810190613ab0565b6001600160a01b031614158061076557506000818152600360205260409020546001600160a01b0316155b15610776576000935050505061066e565b50600101610682565b50600191505090565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d857600080fd5b505afa1580156107ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613b0a565b600061066b611a0e565b60048054604051632088467960e11b81526000926001600160a01b03909216916341108cf29161084c91869101614289565b60206040518083038186803b15801561086457600080fd5b505afa158015610878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613b0a565b90505b919050565b6000806000806108b261188a565b915091506000806108c1611abb565b9150915060008060006108d38a611b50565b92509250925080156108f45750600097506001965061096395505050505050565b60006109008c89611bf7565b905061090a613810565b6040518060e001604052808e81526020018a81526020018381526020018381526020018581526020018681526020016000801b815250905061094c8188611d35565b88806109555750865b9a509a505050505050505050505b9250929050565b6001546001600160a01b031681565b610981613850565b6004805460405163055f575160e41b81526001600160a01b03909116916355f57510916109b091869101614241565b60a06040518083038186803b1580156109c857600080fd5b505afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613c00565b6000806000600460009054906101000a90046001600160a01b03166001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a5357600080fd5b505afa158015610a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a8b9190810190613c1e565b6001600160801b031690506000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b1e9190810190613b0a565b600f0b9050610b4c610b476002610b3b858563ffffffff611f3b16565b9063ffffffff611f8816565b611fec565b610b64610b476002610b3b868663ffffffff611ff716565b9350935050509091565b6060610b78610e06565b905060005b8151811015610cc0576000828281518110610b9457fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610bd69190614236565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c029291906142c0565b60206040518083038186803b158015610c1a57600080fd5b505afa158015610c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c529190810190613ab0565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cae9084908490614297565b60405180910390a15050600101610b7d565b5050565b600080600080610cd261188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f5751091610d0b918a9101614241565b60a06040518083038186803b158015610d2357600080fd5b505afa158015610d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d5b9190810190613c00565b8361203d565b6001546001600160a01b03163314610d945760405162461bcd60e51b8152600401610d8b90614328565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610dd7926001600160a01b039182169291169061424f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610e116120f5565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b81600081518110610e5357fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610e7d57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600281518110610ea657fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600381518110610ed757fe5b60200260200101818152505060008051602061459983398151915281600481518110610eff57fe5b602002602001018181525050725065727073563245786368616e67655261746560681b81600581518110610f2f57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b81600681518110610f5b57fe5b602002602001018181525050610f718282612146565b9250505090565b6000546001600160a01b031681565b600080600080610f9561188a565b91509150610fa282612202565b93509150509091565b600080600080610fb961188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f5751091610ff2918a9101614241565b60a06040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190613c00565b8361228f565b60008060008061105661188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f575109161108f918a9101614241565b60a06040518083038186803b1580156110a757600080fd5b505afa1580156110bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110df9190810190613c00565b83612344565b6000806000806110f361188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f575109161112c918a9101614241565b60a06040518083038186803b15801561114457600080fd5b505afa158015611158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117c9190810190613c00565b83612351565b600061066b61238f565b60008060008061119a61188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f57510916111d3918a9101614241565b60a06040518083038186803b1580156111eb57600080fd5b505afa1580156111ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112239190810190613c00565b60800151600f0b836123b6565b600080600061123d61188a565b91509150801580156112d357506004805460405163055f575160e41b81526112d3926001600160a01b03909216916355f575109161127d91899101614241565b60a06040518083038186803b15801561129557600080fd5b505afa1580156112a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112cd9190810190613c00565b836123c8565b949350505050565b60008060006112e861188a565b915091508015801561132857506004805460405163055f575160e41b8152611328926001600160a01b03909216916355f575109161127d91899101614241565b156113c6576004805460405163055f575160e41b81526113bd926001600160a01b03909216916355f575109161136091899101614241565b60a06040518083038186803b15801561137857600080fd5b505afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113b09190810190613c00565b60800151600f0b83612406565b9250505061089f565b60009250505061089f565b6113d961387e565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa9161140891869101614241565b6101206040518083038186803b15801561142157600080fd5b505afa158015611435573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613be1565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a957600080fd5b505afa1580156114bd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613aec565b600061066b612465565b6000806114f661188a565b915091509091565b600061066b6124b5565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d857600080fd5b60008060008061156661188a565b91509150610fa282612505565b600080600080600080600080600061158a8b611b50565b9194509250905080156115b457506000975087965086955085945084935060029250611726915050565b6115bd8c612781565b909c50905080156115e557506000975087965086955085945084935060019250611726915050565b506115ee613810565b6040518060e001604052808e81526020018d815260200161160f8f8f611bf7565b81526020018d81526020018381526020018481526020016000801b8152509050611637613850565b6000806116d4600460009054906101000a90046001600160a01b03166001600160a01b03166355f575108f6040518263ffffffff1660e01b815260040161167e9190614241565b60a06040518083038186803b15801561169657600080fd5b505afa1580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116ce9190810190613c00565b856127a6565b9250925092506116f18384606001516001600160801b031661228f565b604084015160808501516060909501516001600160801b039182169e50600f9590950b9c509093169950919750955093505050505b9499939850945094509450565b60008061173e61188a565b909250905061174d8383611bf7565b9150915091565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a457600080fd5b505afa1580156117b8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613c1e565b6004805460405163fef48a9960e01b81526000926001600160a01b039092169163fef48a999161180e91869101614241565b60206040518083038186803b15801561182657600080fd5b505afa15801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613ace565b6000546001600160a01b031633146118885760405162461bcd60e51b8152600401610d8b90614388565b565b600080611895612a9c565b6001600160a01b0316630c71cd236118ab612465565b6040518263ffffffff1660e01b81526004016118c79190614289565b604080518083038186803b1580156118de57600080fd5b505afa1580156118f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119169190810190613c3c565b90925090508080611925575081155b806119b55750611933612ab7565b6001600160a01b031663b431c0ea611949612465565b6040518263ffffffff1660e01b81526004016119659190614289565b60206040518083038186803b15801561197d57600080fd5b505afa158015611991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119b59190810190613ace565b90509091565b602082015160009067ffffffffffffffff16806119dc576000915050611a08565b60006119e88285612ad1565b6080860151909150611a0390600f0b8263ffffffff612b6116565b925050505b92915050565b600061066b611a32611a1e612b8b565b611a2661238f565b9063ffffffff612b6116565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b158015611a7457600080fd5b505afa158015611a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aac9190810190613b0a565b600f0b9063ffffffff611f3b16565b600080611ac6612c32565b6001600160a01b031663c39def0b631cd554d160e21b611ae4612465565b6040518363ffffffff1660e01b8152600401611b019291906142a5565b604080518083038186803b158015611b1857600080fd5b505afa158015611b2c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f69190810190613c3c565b600080600080611b5e6124b5565b60009250905081856002811115611b7157fe5b1415611b9257611b8081612c49565b9350611b8b81612c60565b9250611bef565b6001856002811115611ba057fe5b1415611bba57611baf81612c77565b9350611b8b81612c9a565b6002856002811115611bc857fe5b1415611be257611bd781612cbd565b9350611b8b81612ce9565b6000935060009250600191505b509193909250565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b158015611c3b57600080fd5b505afa158015611c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c739190810190613b0a565b600f0b90506000611c8a611c856124b5565b612d15565b90506000611c9e838363ffffffff612d2d16565b90506000611cc283611cb6868a63ffffffff611f3b16565b9063ffffffff612d2d16565b90506000611ce6611cd9888563ffffffff612b6116565b889063ffffffff611f3b16565b90506000611d0a611cfd898563ffffffff612b6116565b899063ffffffff611f3b16565b9050611d28671bc16d674ec80000611cb6848463ffffffff611f3b16565b9998505050505050505050565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b158015611d7957600080fd5b505afa158015611d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611db19190810190613b0a565b600f0b90506000611dd385604001518660000151612b6190919063ffffffff16565b90506000611df085611de484611fec565b9063ffffffff612d4b16565b9050611e028660000151840184612d75565b15611ed1576000611e9b83600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5b57600080fd5b505afa158015611e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e939190810190613b0a565b600f0b612d75565b611ea9578660a00151611eaf565b86608001515b9050611ec4610b47848363ffffffff612b6116565b8201945050505050611a08565b8551600090611eed90610b47908681019063ffffffff612d2d16565b90506000816012600a0a0390506000611f118960800151611de485611de489611fec565b90506000611f2a8a60a00151611de485611de48a611fec565b919094010198975050505050505050565b6000828201818312801590611f505750838112155b80611f655750600083128015611f6557508381125b611f815760405162461bcd60e51b8152600401610d8b90614348565b9392505050565b600081611fa75760405162461bcd60e51b8152600401610d8b906143c8565b81600019148015611fbb5750600160ff1b83145b15611fd85760405162461bcd60e51b8152600401610d8b90614378565b6000828481611fe357fe5b05949350505050565b600061089c82612d94565b600081830381831280159061200c5750838113155b80612021575060008312801561202157508381135b611f815760405162461bcd60e51b8152600401610d8b906143b8565b600066038d7ea4c68000816120688261205c6120576124b5565b612daa565b9063ffffffff612dc416565b90506000612084610b4783611cb68960800151600f0b896123b6565b905080156120b8576000612096612dec565b9050808210156120a4578091505b6120b4828563ffffffff612e6916565b9150505b60006120c48787612344565b90508181116120da576000945050505050611a08565b6120ea818363ffffffff612dc416565b979650505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061213757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612176578160200160208202803883390190505b50905060005b83518110156121b85783818151811061219157fe5b60200260200101518282815181106121a557fe5b602090810291909101015260010161217c565b5060005b82518110156121fb578281815181106121d157fe5b60200260200101518282865101815181106121e857fe5b60209081029190910101526001016121bc565b5092915050565b60008061220d611a0e565b9050600061226e6012600a0a600202611cb684600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b158015611a7457600080fd5b60000390506112d384611a26612282612b8b565b849063ffffffff612b6116565b60008260800151600f0b600014156122a957506000611a08565b60006123376122c6856020015167ffffffffffffffff1685612ad1565b60808601516123119061231d90600f0b611cb66123006122e6838b612e8e565b60408c01516001600160801b03169063ffffffff611ff716565b6123118b60800151600f0b8b612ee8565b9063ffffffff611ff716565b60608801516001600160801b03169063ffffffff611f3b16565b90506112d3600082612f25565b6000806123378484612f3a565b60008061237484606001516001600160801b031684611ff790919063ffffffff16565b60808501519091506112d390600f0b8263ffffffff612b6116565b6000806123a261239d6124b5565b612f74565b90506123b081611a26612f95565b91505090565b6000611f81838363ffffffff612b6116565b60008260800151600f0b600014156123e257506000611a08565b6123f38360800151600f0b83612ee8565b6123fd8484613055565b11159392505050565b600080612421612414613076565b611de485611de488611fec565b9050600061242d6130db565b9050600081831161243e5782612440565b815b9050600061244c613136565b905080821161245b57806120ea565b5095945050505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a957600080fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a957600080fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561255557600080fd5b505afa158015612569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061258d9190810190613b0a565b600f0b15801561261757506004805460408051631169848560e11b815290516001600160a01b03909216926322d3090a928282019260209290829003018186803b1580156125da57600080fd5b505afa1580156125ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126129190810190613b0a565b600f0b155b156126245750600061089f565b600061263f61263284613191565b849063ffffffff611f3b16565b90506000612774600460009054906101000a90046001600160a01b03166001600160a01b03166322d3090a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561269457600080fd5b505afa1580156126a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126cc9190810190613b0a565b600f0b61276884600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561272157600080fd5b505afa158015612735573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127599190810190613b0a565b600f0b9063ffffffff612b6116565b9063ffffffff611f3b16565b90506112d3816000612f25565b6000808215612795575081905060006105de565b61279d61188a565b91509150915091565b6127ae613850565b815160009081906127c8575083915060009050600a612a95565b6127d68585602001516123c8565b156127ea5750839150600090506004612a95565b6000806127f5611abb565b915091508015612812575085935060009250600c9150612a959050565b61281c8683611d35565b9350600080612833898960400151886000036131ec565b9150915061284081613267565b1561285757889650600095509350612a9592505050565b61285f613850565b6040518060a001604052808b6000015167ffffffffffffffff16815260200161288661327e565b67ffffffffffffffff168152602001846001600160801b031681526020018a604001516001600160801b031681526020016128d58b600001518d60800151600f0b611f3b90919063ffffffff16565b600f0b815250905060006128f78b60800151600f0b8360800151600f0b612d75565b8015612920575061290e8b60800151600f0b611fec565b61291e8360800151600f0b611fec565b105b90508061296a5761292f612dec565b604083015161294d906001600160801b03168a63ffffffff612e6916565b101561296a57508997506000965060089550612a95945050505050565b60006129818360800151600f0b8c60200151612e8e565b905060006129aa8261299e8660800151600f0b8f60200151612ee8565b9063ffffffff612e6916565b90508086116129cb57509198506000975060049650612a9595505050505050565b60006129fe6129e0888d63ffffffff612e6916565b611cb68f604001518860800151600f0b612b6190919063ffffffff16565b9050612a0981611fec565b612a1f662386f26fc1000061299e6120576124b5565b1015612a3f57508c9a506000995060079850612a95975050505050505050565b50612a68612a53612a4e6124b5565b61330b565b8e60800151600f0b8660800151600f0b613328565b15612a8657508b99506000985060069750612a959650505050505050565b50919850600096505050505050505b9250925092565b600061066b6c45786368616e6765526174657360981b613512565b600061066b6b53797374656d53746174757360a01b613512565b60048054604051632088467960e11b8152600092611f81926001600160a01b0316916341108cf291612b0591889101614289565b60206040518083038186803b158015612b1d57600080fd5b505afa158015612b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b559190810190613b0a565b600f0b61231184613191565b6000670de0b6b3a7640000612b7c848463ffffffff61356f16565b81612b8357fe5b059392505050565b600061066b62015180611cb6600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b158015612be557600080fd5b505afa158015612bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c1d9190810190613c6c565b63ffffffff1642612dc490919063ffffffff16565b600061066b6822bc31b430b733b2b960b91b613512565b600061089c82676d616b657246656560c01b6135da565b600061089c826774616b657246656560c01b6135da565b600061089c827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b6135da565b600061089c82733a30b5b2b92332b2a232b630bcb2b227b93232b960611b6135da565b600061089c827f6d616b65724665654f6666636861696e44656c617965644f72646572000000006135da565b600061089c827f74616b65724665654f6666636861696e44656c617965644f72646572000000006135da565b600061089c8268736b65775363616c6560b81b6135da565b6000611f8182610b3b85670de0b6b3a764000063ffffffff61356f16565b6000670de0b6b3a7640000612d66848463ffffffff61369716565b81612d6d57fe5b049392505050565b6000821580612d82575081155b80611f81575050600090811291131490565b6000808212612da3578161089c565b5060000390565b600061089c826a6d61784c6576657261676560a81b6135da565b600082821115612de65760405162461bcd60e51b8152600401610d8b90614358565b50900390565b6000612df66136d1565b6001600160a01b03166323257c2b6000805160206145998339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b8152600401612e519291906142a5565b60206040518083038186803b1580156114a957600080fd5b600082820183811015611f815760405162461bcd60e51b8152600401610d8b90614338565b600082612e9d57506000611a08565b6000612eac610b4785856123b6565b90506112d3612ec1612ebc6124b5565b6136ee565b611de483611de4612ed3611c856124b5565b612edc8a611fec565b9063ffffffff61371a16565b600080612efe612414612ef96124b5565b613744565b90506112d3612f0b613769565b61299e612f188787612406565b849063ffffffff612e6916565b6000818312612f345782611f81565b50919050565b600080612f4784846119bb565b90506112d381612768612f5a8787612351565b60408801516001600160801b03169063ffffffff611f3b16565b600061089c82716d617846756e64696e6756656c6f6369747960701b6135da565b60008061302f612fa6611c856124b5565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b158015612fe857600080fd5b505afa158015612ffc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130209190810190613b0a565b600f0b9063ffffffff612d2d16565b90506123b0613047670de0b6b3a763ffff1983612f25565b670de0b6b3a76400006137c5565b60008061233761306c8560800151600f0b85612e8e565b6123118686612f3a565b60006130806136d1565b6001600160a01b03166323257c2b6000805160206145998339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401612e519291906142a5565b60006130e56136d1565b6001600160a01b03166323257c2b60008051602061459983398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401612e519291906142a5565b60006131406136d1565b6001600160a01b03166323257c2b60008051602061459983398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401612e519291906142a5565b600061089c61319f83612202565b6004546001600160a01b03166341108cf26131b861327e565b6040518263ffffffff1660e01b81526004016131d49190614289565b60206040518083038186803b158015611a7457600080fd5b60008060006131ff846127688888612f3a565b905060008112156132185750600091506008905061325f565b60808601518190600f0b600061322e8289612ee8565b9050811580159061323f5750808311155b1561325457826004955095505050505061325f565b509093506000925050505b935093915050565b60008082600f81111561327657fe5b141592915050565b600061066b6001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156132d357600080fd5b505afa1580156132e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061205c9190810190613aec565b600061089c826d6d61784d61726b657456616c756560901b6135da565b60006133348383612d75565b8015613350575061334483611fec565b61334d83611fec565b11155b1561335d57506000611f81565b60006133fc8361276886600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133b557600080fd5b505afa1580156133c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133ed9190810190613b0a565b600f0b9063ffffffff611ff716565b905060006134a761340c85612d94565b61276861341888612d94565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561345a57600080fd5b505afa15801561346e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134929190810190613c1e565b6001600160801b03169063ffffffff611ff716565b9050600084600012156134cb576134c4828463ffffffff611f3b16565b90506134de565b6134db828463ffffffff611ff716565b90505b6134f2610b4782600263ffffffff611f8816565b8710156135055760019350505050611f81565b5060009695505050505050565b60008181526003602090815260408083205490516001600160a01b03909116918215159161354291869101614216565b604051602081830303815290604052906121fb5760405162461bcd60e51b8152600401610d8b9190614317565b60008261357e57506000611a08565b826000191480156135925750600160ff1b82145b156135af5760405162461bcd60e51b8152600401610d8b906143a8565b828202828482816135bc57fe5b0514611f815760405162461bcd60e51b8152600401610d8b906143a8565b60006135e46136d1565b6001600160a01b03166323257c2b60008051602061459983398151915285856040516020016136149291906141f0565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016136479291906142a5565b60206040518083038186803b15801561365f57600080fd5b505afa158015613673573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f819190810190613aec565b6000826136a657506000611a08565b828202828482816136b357fe5b0414611f815760405162461bcd60e51b8152600401610d8b90614398565b600061066b6e466c657869626c6553746f7261676560881b613512565b600061089c827f6c69717569646174696f6e5072656d69756d4d756c7469706c696572000000006135da565b6000611f818261373885670de0b6b3a764000063ffffffff61369716565b9063ffffffff6137db16565b600061089c82756c69717569646174696f6e427566666572526174696f60501b6135da565b60006137736136d1565b6001600160a01b03166323257c2b600080516020614599833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401612e519291906142a5565b60008183126137d45781611f81565b5090919050565b60008082116137fc5760405162461bcd60e51b8152600401610d8b90614368565b600082848161380757fe5b04949350505050565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b8035611a0881614541565b8051611a0881614541565b8051611a0881614555565b8051611a088161455e565b8035611a0881614567565b8051611a0881614574565b8035611a088161455e565b6000610120828403121561392a57600080fd5b613935610120614460565b9050600061394384846138e0565b825250602061395484848301613901565b602083015250604061396884828501613a71565b604083015250606061397c84828501613a71565b606083015250608061399084828501613a71565b60808301525060a06139a484828501613a71565b60a08301525060c06139b8848285016138eb565b60c08301525060e06139cc848285016138eb565b60e0830152506101006139e1848285016138eb565b6101008301525092915050565b600060a08284031215613a0057600080fd5b613a0a60a0614460565b90506000613a188484613a87565b8252506020613a2984848301613a87565b6020830152506040613a3d84828501613a71565b6040830152506060613a5184828501613a71565b6060830152506080613a6584828501613901565b60808301525092915050565b8051611a088161457d565b8051611a0881614586565b8051611a088161458f565b600060208284031215613aa457600080fd5b60006112d384846138ca565b600060208284031215613ac257600080fd5b60006112d384846138d5565b600060208284031215613ae057600080fd5b60006112d384846138e0565b600060208284031215613afe57600080fd5b60006112d384846138eb565b600060208284031215613b1c57600080fd5b60006112d38484613901565b600060208284031215613b3a57600080fd5b60006112d3848461390c565b60008060408385031215613b5957600080fd5b6000613b65858561390c565b9250506020613b76858286016138f6565b9150509250929050565b60008060008060808587031215613b9657600080fd5b6000613ba2878761390c565b9450506020613bb38782880161390c565b9350506040613bc4878288016138f6565b9250506060613bd5878288016138ca565b91505092959194509250565b60006101208284031215613bf457600080fd5b60006112d38484613917565b600060a08284031215613c1257600080fd5b60006112d384846139ee565b600060208284031215613c3057600080fd5b60006112d38484613a71565b60008060408385031215613c4f57600080fd5b6000613c5b85856138eb565b9250506020613b76858286016138e0565b600060208284031215613c7e57600080fd5b60006112d38484613a7c565b6000613c968383613d0f565b505060200190565b613ca78161449a565b82525050565b6000613cb88261448d565b613cc28185614491565b9350613ccd83614487565b8060005b83811015613cfb578151613ce58882613c8a565b9750613cf083614487565b925050600101613cd1565b509495945050505050565b613ca7816144a5565b613ca78161066e565b613ca7613d248261066e565b61066e565b613ca7816144e8565b613ca7816144f3565b613ca7816144b4565b6000613d4f8261448d565b613d598185614491565b9350613d698185602086016144fe565b613d728161452a565b9093019392505050565b6000613d89603583614491565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613de0601b83614491565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613e19602183614491565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613e5c601e83614491565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613e95601a83614491565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613ece60118361089f565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613efb602183614491565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613f3e602f83614491565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613f8f602183614491565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613fd2602783614491565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b600061401b60198361089f565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614054602483614491565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b600061409a602083614491565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b80516101208301906140d88482613d06565b5060208201516140eb6020850182613d3b565b5060408201516140fe60408501826141d5565b50606082015161411160608501826141d5565b50608082015161412460808501826141d5565b5060a082015161413760a08501826141d5565b5060c082015161414a60c0850182613d0f565b5060e082015161415d60e0850182613d0f565b50610100820151614172610100850182613d0f565b50505050565b805160a083019061418984826141e7565b50602082015161419c60208501826141e7565b5060408201516141af60408501826141d5565b5060608201516141c260608501826141d5565b5060808201516141726080850182613d3b565b613ca7816144ba565b613ca7816144d2565b613ca7816144db565b60006141fc8285613d18565b60208201915061420c8284613d18565b5060200192915050565b600061422182613ec1565b915061422d8284613d18565b50602001919050565b60006142218261400e565b60208101611a088284613c9e565b6040810161425d8285613c9e565b611f816020830184613c9e565b60208082528101611f818184613cad565b60208101611a088284613d06565b60208101611a088284613d0f565b6040810161425d8285613d0f565b604081016142b38285613d0f565b611f816020830184613d0f565b604081016142ce8285613d0f565b81810360208301526112d38184613d44565b60208101611a088284613d29565b60208101611a088284613d3b565b6040810161430a8285613d0f565b611f816020830184613d06565b60208082528101611f818184613d44565b6020808252810161089c81613d7c565b6020808252810161089c81613dd3565b6020808252810161089c81613e0c565b6020808252810161089c81613e4f565b6020808252810161089c81613e88565b6020808252810161089c81613eee565b6020808252810161089c81613f31565b6020808252810161089c81613f82565b6020808252810161089c81613fc5565b6020808252810161089c81614047565b6020808252810161089c8161408d565b6101208101611a0882846140c6565b60a08101611a088284614178565b60208101611a0882846141d5565b60c081016144118289613d0f565b61441e6020830188613d0f565b61442b6040830187613d0f565b6144386060830186613d0f565b6144456080830185613d0f565b6120ea60a0830184613d32565b60208101611a0882846141de565b60405181810167ffffffffffffffff8111828210171561447f57600080fd5b604052919050565b60200190565b5190565b90815260200190565b600061089c826144c6565b151590565b8061089f81614534565b600f0b90565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b600061089c8261449a565b600061089c826144aa565b60005b83811015614519578181015183820152602001614501565b838111156141725750506000910152565b601f01601f191690565b6010811061453e57fe5b50565b61454a8161449a565b811461453e57600080fd5b61454a816144a5565b61454a8161066e565b6003811061453e57600080fd5b61454a816144b4565b61454a816144ba565b61454a816144d2565b61454a816144db56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a723158205b4b5a549909b421e4f77488f57634bcf32a836dd16125b5e2d33d3a6d2332e46c6578706572696d656e74616cf564736f6c63430005100040", + "bytecode": "60806040523480156200001157600080fd5b5060405162004f3d38038062004f3d833981016040819052620000349162000806565b8282828080836001600160a01b0381166200006c5760405162461bcd60e51b81526004016200006390620008d7565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b9918490620008b1565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000151917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b916200074e565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001b6917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a916200074e565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e67650000006020808301918252600360005260059052905162000226917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc0916200074e565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c6971756964617465640000000000006020808301918252600460005260059052905162000296917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d5916200074e565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c6971756964617465640000006020808301918252600560008190529052905162000306917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d916200074e565b5060408051808201909152601881527f4d6178206d61726b65742073697a6520657863656564656400000000000000006020808301918252600660005260059052905162000376917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac518916200074e565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003e6917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d81460916200074e565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e000000000000000000000000006020808301918252600860005260059052905162000456917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e916200074e565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004c6917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe1916200074e565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a60005260059052905162000536917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d916200074e565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b60005260059052905162000599917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed5916200074e565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c600052600590529051620005fe917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e6916200074e565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d6000526005905290516200066e917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac825916200074e565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d1917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb53916200074e565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000741917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af916200074e565b5050505050505062000932565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200079157805160ff1916838001178555620007c1565b82800160010185558215620007c1579182015b82811115620007c1578251825591602001919060010190620007a4565b50620007cf929150620007d3565b5090565b620007f091905b80821115620007cf5760008155600101620007da565b90565b8051620008008162000918565b92915050565b6000806000606084860312156200081c57600080fd5b60006200082a8686620007f3565b93505060206200083d86828701620007f3565b92505060406200085086828701620007f3565b9150509250925092565b620008658162000904565b82525050565b6200086581620008f2565b600062000885601983620008e9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620008c182856200085a565b620008d060208301846200086b565b9392505050565b60208082528101620008008162000876565b90815260200190565b60006001600160a01b03821662000800565b6000620008008260006200080082620008f2565b6200092381620008f2565b81146200092f57600080fd5b50565b6145fb80620009426000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c8063917e77f511610130578063cded0cea116100b8578063e8c634701161007c578063e8c6347014610457578063ea1d54781461045f578063ea9f9aa714610484578063eb56105d14610497578063fef48a99146104ac57610227565b8063cded0cea1461042f578063cdf456e114610437578063d24378eb1461043f578063d7103a4614610447578063e44c84c21461044f57610227565b8063b74e3806116100ff578063b74e3806146103ce578063b895daab146103d6578063b9f4ff55146103e9578063c8023af4146103fc578063c8b809aa1461040f57610227565b8063917e77f51461038d578063964db90c146103955780639cfbf4e4146103a8578063b111dfac146103bb57610227565b80634dd9d7e9116101b35780637418536011610182578063741853601461034d578063785cdeec1461035557806379ba509714610368578063899ffef4146103705780638da5cb5b1461038557610227565b80634dd9d7e9146102ef57806353a47bb71461030257806355f57510146103175780635fc890c21461033757610227565b806327b9a236116101fa57806327b9a236146102885780632af64bd31461029d5780632b58ecef146102b25780633aef4d0b146102c757806341108cf2146102dc57610227565b806304f3bcec1461022c57806308fb1b771461024a5780631627540c146102525780631bf556d014610267575b600080fd5b6102346104bf565b60405161024191906142e0565b60405180910390f35b6102346104ce565b610265610260366004613a92565b6104dd565b005b61027a610275366004613a92565b61053b565b6040516102419291906142fc565b6102906105e3565b6040516102419190614452565b6102a5610671565b604051610241919061427b565b6102ba610788565b60405161024191906142ee565b6102cf610810565b6040516102419190614289565b6102ba6102ea366004613b28565b61081a565b61027a6102fd366004613b46565b6108a4565b61030a61096a565b6040516102419190614241565b61032a610325366004613a92565b610979565b60405161024191906143e7565b61033f610a00565b6040516102419291906142a5565b610265610b6e565b61027a610363366004613a92565b610cc4565b610265610d61565b610378610e06565b604051610241919061426a565b61030a610f78565b61027a610f87565b61027a6103a3366004613a92565b610fab565b61027a6103b6366004613a92565b611048565b61027a6103c9366004613a92565b6110e5565b6102cf611182565b61027a6103e4366004613a92565b61118c565b6102a56103f7366004613a92565b611230565b6102cf61040a366004613a92565b6112db565b61042261041d366004613a92565b6113d1565b60405161024191906143d8565b6102cf611459565b6102cf6114e1565b61027a6114eb565b6102cf6114fe565b6102ba611508565b61027a611558565b61047261046d366004613b80565b611573565b60405161024196959493929190614403565b61027a610492366004613b28565b611733565b61049f611754565b60405161024191906143f5565b6102a56104ba366004613a92565b6117dc565b6002546001600160a01b031681565b6004546001600160a01b031681565b6104e561185e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610530908390614241565b60405180910390a150565b60008060008061054961188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f5751091610582918a9101614241565b60a06040518083038186803b15801561059a57600080fd5b505afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d29190810190613c00565b836119bb565b93509150505b915091565b6000600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b15801561063357600080fd5b505afa158015610647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613c6c565b90505b90565b6000606061067d610e06565b905060005b815181101561077f57600082828151811061069957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906106ea908590600401614289565b60206040518083038186803b15801561070257600080fd5b505afa158015610716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061073a9190810190613ab0565b6001600160a01b031614158061076557506000818152600360205260409020546001600160a01b0316155b15610776576000935050505061066e565b50600101610682565b50600191505090565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d857600080fd5b505afa1580156107ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613b0a565b600061066b611a0e565b60048054604051632088467960e11b81526000926001600160a01b03909216916341108cf29161084c91869101614289565b60206040518083038186803b15801561086457600080fd5b505afa158015610878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613b0a565b90505b919050565b6000806000806108b261188a565b915091506000806108c1611abb565b9150915060008060006108d38a611b50565b92509250925080156108f45750600097506001965061096395505050505050565b60006109008c89611bf7565b905061090a613810565b6040518060e001604052808e81526020018a81526020018381526020018381526020018581526020018681526020016000801b815250905061094c8188611d35565b88806109555750865b9a509a505050505050505050505b9250929050565b6001546001600160a01b031681565b610981613850565b6004805460405163055f575160e41b81526001600160a01b03909116916355f57510916109b091869101614241565b60a06040518083038186803b1580156109c857600080fd5b505afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613c00565b6000806000600460009054906101000a90046001600160a01b03166001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a5357600080fd5b505afa158015610a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a8b9190810190613c1e565b6001600160801b031690506000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b1e9190810190613b0a565b600f0b9050610b4c610b476002610b3b858563ffffffff611f3b16565b9063ffffffff611f8816565b611fec565b610b64610b476002610b3b868663ffffffff611ff716565b9350935050509091565b6060610b78610e06565b905060005b8151811015610cc0576000828281518110610b9457fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610bd69190614236565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c029291906142c0565b60206040518083038186803b158015610c1a57600080fd5b505afa158015610c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c529190810190613ab0565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cae9084908490614297565b60405180910390a15050600101610b7d565b5050565b600080600080610cd261188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f5751091610d0b918a9101614241565b60a06040518083038186803b158015610d2357600080fd5b505afa158015610d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d5b9190810190613c00565b8361203d565b6001546001600160a01b03163314610d945760405162461bcd60e51b8152600401610d8b90614328565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610dd7926001600160a01b039182169291169061424f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610e116120f5565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b81600081518110610e5357fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610e7d57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600281518110610ea657fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600381518110610ed757fe5b60200260200101818152505060008051602061459983398151915281600481518110610eff57fe5b602002602001018181525050725065727073563245786368616e67655261746560681b81600581518110610f2f57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b81600681518110610f5b57fe5b602002602001018181525050610f718282612146565b9250505090565b6000546001600160a01b031681565b600080600080610f9561188a565b91509150610fa282612202565b93509150509091565b600080600080610fb961188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f5751091610ff2918a9101614241565b60a06040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190613c00565b8361228f565b60008060008061105661188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f575109161108f918a9101614241565b60a06040518083038186803b1580156110a757600080fd5b505afa1580156110bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110df9190810190613c00565b83612344565b6000806000806110f361188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f575109161112c918a9101614241565b60a06040518083038186803b15801561114457600080fd5b505afa158015611158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117c9190810190613c00565b83612351565b600061066b61238f565b60008060008061119a61188a565b6004805460405163055f575160e41b81529395509193506105d8926001600160a01b03909216916355f57510916111d3918a9101614241565b60a06040518083038186803b1580156111eb57600080fd5b505afa1580156111ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112239190810190613c00565b60800151600f0b836123b6565b600080600061123d61188a565b91509150801580156112d357506004805460405163055f575160e41b81526112d3926001600160a01b03909216916355f575109161127d91899101614241565b60a06040518083038186803b15801561129557600080fd5b505afa1580156112a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112cd9190810190613c00565b836123c8565b949350505050565b60008060006112e861188a565b915091508015801561132857506004805460405163055f575160e41b8152611328926001600160a01b03909216916355f575109161127d91899101614241565b156113c6576004805460405163055f575160e41b81526113bd926001600160a01b03909216916355f575109161136091899101614241565b60a06040518083038186803b15801561137857600080fd5b505afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113b09190810190613c00565b60800151600f0b83612406565b9250505061089f565b60009250505061089f565b6113d961387e565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa9161140891869101614241565b6101206040518083038186803b15801561142157600080fd5b505afa158015611435573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613be1565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a957600080fd5b505afa1580156114bd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613aec565b600061066b612465565b6000806114f661188a565b915091509091565b600061066b6124b5565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d857600080fd5b60008060008061156661188a565b91509150610fa282612505565b600080600080600080600080600061158a8b611b50565b9194509250905080156115b457506000975087965086955085945084935060029250611726915050565b6115bd8c612781565b909c50905080156115e557506000975087965086955085945084935060019250611726915050565b506115ee613810565b6040518060e001604052808e81526020018d815260200161160f8f8f611bf7565b81526020018d81526020018381526020018481526020016000801b8152509050611637613850565b6000806116d4600460009054906101000a90046001600160a01b03166001600160a01b03166355f575108f6040518263ffffffff1660e01b815260040161167e9190614241565b60a06040518083038186803b15801561169657600080fd5b505afa1580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116ce9190810190613c00565b856127a6565b9250925092506116f18384606001516001600160801b031661228f565b604084015160808501516060909501516001600160801b039182169e50600f9590950b9c509093169950919750955093505050505b9499939850945094509450565b60008061173e61188a565b909250905061174d8383611bf7565b9150915091565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663eb56105d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a457600080fd5b505afa1580156117b8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066b9190810190613c1e565b6004805460405163fef48a9960e01b81526000926001600160a01b039092169163fef48a999161180e91869101614241565b60206040518083038186803b15801561182657600080fd5b505afa15801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089c9190810190613ace565b6000546001600160a01b031633146118885760405162461bcd60e51b8152600401610d8b90614388565b565b600080611895612a9c565b6001600160a01b0316630c71cd236118ab612465565b6040518263ffffffff1660e01b81526004016118c79190614289565b604080518083038186803b1580156118de57600080fd5b505afa1580156118f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119169190810190613c3c565b90925090508080611925575081155b806119b55750611933612ab7565b6001600160a01b031663b431c0ea611949612465565b6040518263ffffffff1660e01b81526004016119659190614289565b60206040518083038186803b15801561197d57600080fd5b505afa158015611991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119b59190810190613ace565b90509091565b602082015160009067ffffffffffffffff16806119dc576000915050611a08565b60006119e88285612ad1565b6080860151909150611a0390600f0b8263ffffffff612b6116565b925050505b92915050565b600061066b611a32611a1e612b8b565b611a2661238f565b9063ffffffff612b6116565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b158015611a7457600080fd5b505afa158015611a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aac9190810190613b0a565b600f0b9063ffffffff611f3b16565b600080611ac6612c32565b6001600160a01b031663c39def0b631cd554d160e21b611ae4612465565b6040518363ffffffff1660e01b8152600401611b019291906142a5565b604080518083038186803b158015611b1857600080fd5b505afa158015611b2c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f69190810190613c3c565b600080600080611b5e6124b5565b60009250905081856002811115611b7157fe5b1415611b9257611b8081612c49565b9350611b8b81612c60565b9250611bef565b6001856002811115611ba057fe5b1415611bba57611baf81612c77565b9350611b8b81612c9a565b6002856002811115611bc857fe5b1415611be257611bd781612cbd565b9350611b8b81612ce9565b6000935060009250600191505b509193909250565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b158015611c3b57600080fd5b505afa158015611c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c739190810190613b0a565b600f0b90506000611c8a611c856124b5565b612d15565b90506000611c9e838363ffffffff612d2d16565b90506000611cc283611cb6868a63ffffffff611f3b16565b9063ffffffff612d2d16565b90506000611ce6611cd9888563ffffffff612b6116565b889063ffffffff611f3b16565b90506000611d0a611cfd898563ffffffff612b6116565b899063ffffffff611f3b16565b9050611d28671bc16d674ec80000611cb6848463ffffffff611f3b16565b9998505050505050505050565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b158015611d7957600080fd5b505afa158015611d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611db19190810190613b0a565b600f0b90506000611dd385604001518660000151612b6190919063ffffffff16565b90506000611df085611de484611fec565b9063ffffffff612d4b16565b9050611e028660000151840184612d75565b15611ed1576000611e9b83600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5b57600080fd5b505afa158015611e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e939190810190613b0a565b600f0b612d75565b611ea9578660a00151611eaf565b86608001515b9050611ec4610b47848363ffffffff612b6116565b8201945050505050611a08565b8551600090611eed90610b47908681019063ffffffff612d2d16565b90506000816012600a0a0390506000611f118960800151611de485611de489611fec565b90506000611f2a8a60a00151611de485611de48a611fec565b919094010198975050505050505050565b6000828201818312801590611f505750838112155b80611f655750600083128015611f6557508381125b611f815760405162461bcd60e51b8152600401610d8b90614348565b9392505050565b600081611fa75760405162461bcd60e51b8152600401610d8b906143c8565b81600019148015611fbb5750600160ff1b83145b15611fd85760405162461bcd60e51b8152600401610d8b90614378565b6000828481611fe357fe5b05949350505050565b600061089c82612d94565b600081830381831280159061200c5750838113155b80612021575060008312801561202157508381135b611f815760405162461bcd60e51b8152600401610d8b906143b8565b600066038d7ea4c68000816120688261205c6120576124b5565b612daa565b9063ffffffff612dc416565b90506000612084610b4783611cb68960800151600f0b896123b6565b905080156120b8576000612096612dec565b9050808210156120a4578091505b6120b4828563ffffffff612e6916565b9150505b60006120c48787612344565b90508181116120da576000945050505050611a08565b6120ea818363ffffffff612dc416565b979650505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061213757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612176578160200160208202803883390190505b50905060005b83518110156121b85783818151811061219157fe5b60200260200101518282815181106121a557fe5b602090810291909101015260010161217c565b5060005b82518110156121fb578281815181106121d157fe5b60200260200101518282865101815181106121e857fe5b60209081029190910101526001016121bc565b5092915050565b60008061220d611a0e565b9050600061226e6012600a0a600202611cb684600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b158015611a7457600080fd5b60000390506112d384611a26612282612b8b565b849063ffffffff612b6116565b60008260800151600f0b600014156122a957506000611a08565b60006123376122c6856020015167ffffffffffffffff1685612ad1565b60808601516123119061231d90600f0b611cb66123006122e6838b612e8e565b60408c01516001600160801b03169063ffffffff611ff716565b6123118b60800151600f0b8b612ee8565b9063ffffffff611ff716565b60608801516001600160801b03169063ffffffff611f3b16565b90506112d3600082612f25565b6000806123378484612f3a565b60008061237484606001516001600160801b031684611ff790919063ffffffff16565b60808501519091506112d390600f0b8263ffffffff612b6116565b6000806123a261239d6124b5565b612f74565b90506123b081611a26612f95565b91505090565b6000611f81838363ffffffff612b6116565b60008260800151600f0b600014156123e257506000611a08565b6123f38360800151600f0b83612ee8565b6123fd8484613055565b11159392505050565b600080612421612414613076565b611de485611de488611fec565b9050600061242d6130db565b9050600081831161243e5782612440565b815b9050600061244c613136565b905080821161245b57806120ea565b5095945050505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a957600080fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a957600080fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561255557600080fd5b505afa158015612569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061258d9190810190613b0a565b600f0b15801561261757506004805460408051631169848560e11b815290516001600160a01b03909216926322d3090a928282019260209290829003018186803b1580156125da57600080fd5b505afa1580156125ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126129190810190613b0a565b600f0b155b156126245750600061089f565b600061263f61263284613191565b849063ffffffff611f3b16565b90506000612774600460009054906101000a90046001600160a01b03166001600160a01b03166322d3090a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561269457600080fd5b505afa1580156126a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126cc9190810190613b0a565b600f0b61276884600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561272157600080fd5b505afa158015612735573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127599190810190613b0a565b600f0b9063ffffffff612b6116565b9063ffffffff611f3b16565b90506112d3816000612f25565b6000808215612795575081905060006105de565b61279d61188a565b91509150915091565b6127ae613850565b815160009081906127c8575083915060009050600a612a95565b6127d68585602001516123c8565b156127ea5750839150600090506004612a95565b6000806127f5611abb565b915091508015612812575085935060009250600c9150612a959050565b61281c8683611d35565b9350600080612833898960400151886000036131ec565b9150915061284081613267565b1561285757889650600095509350612a9592505050565b61285f613850565b6040518060a001604052808b6000015167ffffffffffffffff16815260200161288661327e565b67ffffffffffffffff168152602001846001600160801b031681526020018a604001516001600160801b031681526020016128d58b600001518d60800151600f0b611f3b90919063ffffffff16565b600f0b815250905060006128f78b60800151600f0b8360800151600f0b612d75565b8015612920575061290e8b60800151600f0b611fec565b61291e8360800151600f0b611fec565b105b90508061296a5761292f612dec565b604083015161294d906001600160801b03168a63ffffffff612e6916565b101561296a57508997506000965060089550612a95945050505050565b60006129818360800151600f0b8c60200151612e8e565b905060006129aa8261299e8660800151600f0b8f60200151612ee8565b9063ffffffff612e6916565b90508086116129cb57509198506000975060049650612a9595505050505050565b60006129fe6129e0888d63ffffffff612e6916565b611cb68f604001518860800151600f0b612b6190919063ffffffff16565b9050612a0981611fec565b612a1f662386f26fc1000061299e6120576124b5565b1015612a3f57508c9a506000995060079850612a95975050505050505050565b50612a68612a53612a4e6124b5565b61330b565b8e60800151600f0b8660800151600f0b613328565b15612a8657508b99506000985060069750612a959650505050505050565b50919850600096505050505050505b9250925092565b600061066b6c45786368616e6765526174657360981b613512565b600061066b6b53797374656d53746174757360a01b613512565b60048054604051632088467960e11b8152600092611f81926001600160a01b0316916341108cf291612b0591889101614289565b60206040518083038186803b158015612b1d57600080fd5b505afa158015612b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b559190810190613b0a565b600f0b61231184613191565b6000670de0b6b3a7640000612b7c848463ffffffff61356f16565b81612b8357fe5b059392505050565b600061066b62015180611cb6600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b158015612be557600080fd5b505afa158015612bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c1d9190810190613c6c565b63ffffffff1642612dc490919063ffffffff16565b600061066b6822bc31b430b733b2b960b91b613512565b600061089c82676d616b657246656560c01b6135da565b600061089c826774616b657246656560c01b6135da565b600061089c827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b6135da565b600061089c82733a30b5b2b92332b2a232b630bcb2b227b93232b960611b6135da565b600061089c827f6d616b65724665654f6666636861696e44656c617965644f72646572000000006135da565b600061089c827f74616b65724665654f6666636861696e44656c617965644f72646572000000006135da565b600061089c8268736b65775363616c6560b81b6135da565b6000611f8182610b3b85670de0b6b3a764000063ffffffff61356f16565b6000670de0b6b3a7640000612d66848463ffffffff61369716565b81612d6d57fe5b049392505050565b6000821580612d82575081155b80611f81575050600090811291131490565b6000808212612da3578161089c565b5060000390565b600061089c826a6d61784c6576657261676560a81b6135da565b600082821115612de65760405162461bcd60e51b8152600401610d8b90614358565b50900390565b6000612df66136d1565b6001600160a01b03166323257c2b6000805160206145998339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b8152600401612e519291906142a5565b60206040518083038186803b1580156114a957600080fd5b600082820183811015611f815760405162461bcd60e51b8152600401610d8b90614338565b600082612e9d57506000611a08565b6000612eac610b4785856123b6565b90506112d3612ec1612ebc6124b5565b6136ee565b611de483611de4612ed3611c856124b5565b612edc8a611fec565b9063ffffffff61371a16565b600080612efe612414612ef96124b5565b613744565b90506112d3612f0b613769565b61299e612f188787612406565b849063ffffffff612e6916565b6000818312612f345782611f81565b50919050565b600080612f4784846119bb565b90506112d381612768612f5a8787612351565b60408801516001600160801b03169063ffffffff611f3b16565b600061089c82716d617846756e64696e6756656c6f6369747960701b6135da565b60008061302f612fa6611c856124b5565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b158015612fe857600080fd5b505afa158015612ffc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130209190810190613b0a565b600f0b9063ffffffff612d2d16565b90506123b0613047670de0b6b3a763ffff1983612f25565b670de0b6b3a76400006137c5565b60008061233761306c8560800151600f0b85612e8e565b6123118686612f3a565b60006130806136d1565b6001600160a01b03166323257c2b6000805160206145998339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401612e519291906142a5565b60006130e56136d1565b6001600160a01b03166323257c2b60008051602061459983398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401612e519291906142a5565b60006131406136d1565b6001600160a01b03166323257c2b60008051602061459983398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401612e519291906142a5565b600061089c61319f83612202565b6004546001600160a01b03166341108cf26131b861327e565b6040518263ffffffff1660e01b81526004016131d49190614289565b60206040518083038186803b158015611a7457600080fd5b60008060006131ff846127688888612f3a565b905060008112156132185750600091506008905061325f565b60808601518190600f0b600061322e8289612ee8565b9050811580159061323f5750808311155b1561325457826004955095505050505061325f565b509093506000925050505b935093915050565b60008082600f81111561327657fe5b141592915050565b600061066b6001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156132d357600080fd5b505afa1580156132e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061205c9190810190613aec565b600061089c826d6d61784d61726b657456616c756560901b6135da565b60006133348383612d75565b8015613350575061334483611fec565b61334d83611fec565b11155b1561335d57506000611f81565b60006133fc8361276886600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133b557600080fd5b505afa1580156133c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133ed9190810190613b0a565b600f0b9063ffffffff611ff716565b905060006134a761340c85612d94565b61276861341888612d94565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561345a57600080fd5b505afa15801561346e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134929190810190613c1e565b6001600160801b03169063ffffffff611ff716565b9050600084600012156134cb576134c4828463ffffffff611f3b16565b90506134de565b6134db828463ffffffff611ff716565b90505b6134f2610b4782600263ffffffff611f8816565b8710156135055760019350505050611f81565b5060009695505050505050565b60008181526003602090815260408083205490516001600160a01b03909116918215159161354291869101614216565b604051602081830303815290604052906121fb5760405162461bcd60e51b8152600401610d8b9190614317565b60008261357e57506000611a08565b826000191480156135925750600160ff1b82145b156135af5760405162461bcd60e51b8152600401610d8b906143a8565b828202828482816135bc57fe5b0514611f815760405162461bcd60e51b8152600401610d8b906143a8565b60006135e46136d1565b6001600160a01b03166323257c2b60008051602061459983398151915285856040516020016136149291906141f0565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016136479291906142a5565b60206040518083038186803b15801561365f57600080fd5b505afa158015613673573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f819190810190613aec565b6000826136a657506000611a08565b828202828482816136b357fe5b0414611f815760405162461bcd60e51b8152600401610d8b90614398565b600061066b6e466c657869626c6553746f7261676560881b613512565b600061089c827f6c69717569646174696f6e5072656d69756d4d756c7469706c696572000000006135da565b6000611f818261373885670de0b6b3a764000063ffffffff61369716565b9063ffffffff6137db16565b600061089c82756c69717569646174696f6e427566666572526174696f60501b6135da565b60006137736136d1565b6001600160a01b03166323257c2b600080516020614599833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401612e519291906142a5565b60008183126137d45781611f81565b5090919050565b60008082116137fc5760405162461bcd60e51b8152600401610d8b90614368565b600082848161380757fe5b04949350505050565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b8035611a0881614541565b8051611a0881614541565b8051611a0881614555565b8051611a088161455e565b8035611a0881614567565b8051611a0881614574565b8035611a088161455e565b6000610120828403121561392a57600080fd5b613935610120614460565b9050600061394384846138e0565b825250602061395484848301613901565b602083015250604061396884828501613a71565b604083015250606061397c84828501613a71565b606083015250608061399084828501613a71565b60808301525060a06139a484828501613a71565b60a08301525060c06139b8848285016138eb565b60c08301525060e06139cc848285016138eb565b60e0830152506101006139e1848285016138eb565b6101008301525092915050565b600060a08284031215613a0057600080fd5b613a0a60a0614460565b90506000613a188484613a87565b8252506020613a2984848301613a87565b6020830152506040613a3d84828501613a71565b6040830152506060613a5184828501613a71565b6060830152506080613a6584828501613901565b60808301525092915050565b8051611a088161457d565b8051611a0881614586565b8051611a088161458f565b600060208284031215613aa457600080fd5b60006112d384846138ca565b600060208284031215613ac257600080fd5b60006112d384846138d5565b600060208284031215613ae057600080fd5b60006112d384846138e0565b600060208284031215613afe57600080fd5b60006112d384846138eb565b600060208284031215613b1c57600080fd5b60006112d38484613901565b600060208284031215613b3a57600080fd5b60006112d3848461390c565b60008060408385031215613b5957600080fd5b6000613b65858561390c565b9250506020613b76858286016138f6565b9150509250929050565b60008060008060808587031215613b9657600080fd5b6000613ba2878761390c565b9450506020613bb38782880161390c565b9350506040613bc4878288016138f6565b9250506060613bd5878288016138ca565b91505092959194509250565b60006101208284031215613bf457600080fd5b60006112d38484613917565b600060a08284031215613c1257600080fd5b60006112d384846139ee565b600060208284031215613c3057600080fd5b60006112d38484613a71565b60008060408385031215613c4f57600080fd5b6000613c5b85856138eb565b9250506020613b76858286016138e0565b600060208284031215613c7e57600080fd5b60006112d38484613a7c565b6000613c968383613d0f565b505060200190565b613ca78161449a565b82525050565b6000613cb88261448d565b613cc28185614491565b9350613ccd83614487565b8060005b83811015613cfb578151613ce58882613c8a565b9750613cf083614487565b925050600101613cd1565b509495945050505050565b613ca7816144a5565b613ca78161066e565b613ca7613d248261066e565b61066e565b613ca7816144e8565b613ca7816144f3565b613ca7816144b4565b6000613d4f8261448d565b613d598185614491565b9350613d698185602086016144fe565b613d728161452a565b9093019392505050565b6000613d89603583614491565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613de0601b83614491565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613e19602183614491565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613e5c601e83614491565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613e95601a83614491565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613ece60118361089f565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613efb602183614491565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613f3e602f83614491565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613f8f602183614491565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613fd2602783614491565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b600061401b60198361089f565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614054602483614491565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b600061409a602083614491565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b80516101208301906140d88482613d06565b5060208201516140eb6020850182613d3b565b5060408201516140fe60408501826141d5565b50606082015161411160608501826141d5565b50608082015161412460808501826141d5565b5060a082015161413760a08501826141d5565b5060c082015161414a60c0850182613d0f565b5060e082015161415d60e0850182613d0f565b50610100820151614172610100850182613d0f565b50505050565b805160a083019061418984826141e7565b50602082015161419c60208501826141e7565b5060408201516141af60408501826141d5565b5060608201516141c260608501826141d5565b5060808201516141726080850182613d3b565b613ca7816144ba565b613ca7816144d2565b613ca7816144db565b60006141fc8285613d18565b60208201915061420c8284613d18565b5060200192915050565b600061422182613ec1565b915061422d8284613d18565b50602001919050565b60006142218261400e565b60208101611a088284613c9e565b6040810161425d8285613c9e565b611f816020830184613c9e565b60208082528101611f818184613cad565b60208101611a088284613d06565b60208101611a088284613d0f565b6040810161425d8285613d0f565b604081016142b38285613d0f565b611f816020830184613d0f565b604081016142ce8285613d0f565b81810360208301526112d38184613d44565b60208101611a088284613d29565b60208101611a088284613d3b565b6040810161430a8285613d0f565b611f816020830184613d06565b60208082528101611f818184613d44565b6020808252810161089c81613d7c565b6020808252810161089c81613dd3565b6020808252810161089c81613e0c565b6020808252810161089c81613e4f565b6020808252810161089c81613e88565b6020808252810161089c81613eee565b6020808252810161089c81613f31565b6020808252810161089c81613f82565b6020808252810161089c81613fc5565b6020808252810161089c81614047565b6020808252810161089c8161408d565b6101208101611a0882846140c6565b60a08101611a088284614178565b60208101611a0882846141d5565b60c081016144118289613d0f565b61441e6020830188613d0f565b61442b6040830187613d0f565b6144386060830186613d0f565b6144456080830185613d0f565b6120ea60a0830184613d32565b60208101611a0882846141de565b60405181810167ffffffffffffffff8111828210171561447f57600080fd5b604052919050565b60200190565b5190565b90815260200190565b600061089c826144c6565b151590565b8061089f81614534565b600f0b90565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b600061089c8261449a565b600061089c826144aa565b60005b83811015614519578181015183820152602001614501565b838111156141725750506000910152565b601f01601f191690565b6010811061453e57fe5b50565b61454a8161449a565b811461453e57600080fd5b61454a816144a5565b61454a8161066e565b6003811061453e57600080fd5b61454a816144b4565b61454a816144ba565b61454a816144d2565b61454a816144db56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a723158201e4d8a99caa8d51e77ca8a46892179939ad76c6b9c0fb20f96894e6754ad26826c6578706572696d656e74616cf564736f6c63430005100040", "abi": [ { "inputs": [ @@ -53211,10 +53411,10 @@ } ], "source": { - "keccak256": "0xf5ac63ad2b3ca0cda1f69256b9a2c31b527742934bc43491c2b22c6429823ddb", + "keccak256": "0x802114d7a8bc20ac2c520f4c2d4f1b23399a428e2c848112da31bcc5bfa5ecf8", "urls": [ - "bzz-raw://14e54cb658c768619e48b5a8d601e48157605c2e80068add2206db87b20a02c0", - "dweb:/ipfs/QmPmVoKxevhNkVJkAJL5yUXMwQgFeFqZTJtP1jnSMso8ie" + "bzz-raw://e5d5e134843e1dd8d0e2ac518c511355c0a7416bd952c6131260145ff3be65e7", + "dweb:/ipfs/QmeVgw5J5m7Pj2ssaT7D8v1tEWyvnjwf9dYpQ5b19VpNRg" ] }, "metadata": { @@ -53236,10 +53436,10 @@ }, "sources": { "PerpsV2MarketViews.sol": { - "keccak256": "0xf5ac63ad2b3ca0cda1f69256b9a2c31b527742934bc43491c2b22c6429823ddb", + "keccak256": "0x802114d7a8bc20ac2c520f4c2d4f1b23399a428e2c848112da31bcc5bfa5ecf8", "urls": [ - "bzz-raw://14e54cb658c768619e48b5a8d601e48157605c2e80068add2206db87b20a02c0", - "dweb:/ipfs/QmPmVoKxevhNkVJkAJL5yUXMwQgFeFqZTJtP1jnSMso8ie" + "bzz-raw://e5d5e134843e1dd8d0e2ac518c511355c0a7416bd952c6131260145ff3be65e7", + "dweb:/ipfs/QmeVgw5J5m7Pj2ssaT7D8v1tEWyvnjwf9dYpQ5b19VpNRg" ] } }, @@ -55105,7 +55305,7 @@ } }, "PerpsV2MarketLiquidate": { - "bytecode": "60806040523480156200001157600080fd5b5060405162004d9838038062004d98833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b6143608062000a386000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806379ba50971161009757806397107d6d1161006657806397107d6d146101d0578063bc67f832146101e3578063d67bdd25146101f6578063ec556889146101fe57610100565b806379ba509714610198578063899ffef4146101a05780638da5cb5b146101b5578063909bc379146101bd57610100565b80633c92b8ec116100d35780633c92b8ec1461015557806353a47bb714610168578063741853601461017d5780637498a0f01461018557610100565b806304f3bcec1461010557806308fb1b77146101235780631627540c1461012b5780632af64bd314610140575b600080fd5b61010d610206565b60405161011a9190613efe565b60405180910390f35b61010d610215565b61013e6101393660046133cf565b610224565b005b610148610282565b60405161011a9190613e0b565b61013e6101633660046133cf565b61039a565b6101706105cc565b60405161011a9190613d3e565b61013e6105db565b61013e6101933660046133cf565b610731565b61013e6109ae565b6101a8610a4a565b60405161011a9190613dfa565b610170610bbc565b61013e6101cb3660046133cf565b610bcb565b61013e6101de3660046133cf565b610d2c565b61013e6101f13660046133cf565b610d7f565b610170610da9565b61010d610db8565b6002546001600160a01b031681565b6004546001600160a01b031681565b61022c610dc7565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610277908390613d3e565b60405180910390a150565b6000606061028e610a4a565b905060005b81518110156103905760008282815181106102aa57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906102fb908590600401613e19565b60206040518083038186803b15801561031357600080fd5b505afa158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061034b91908101906133ed565b6001600160a01b031614158061037657506000818152600360205260409020546001600160a01b0316155b156103875760009350505050610397565b50600101610293565b5060019150505b90565b6103a2610df3565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a99916103d391859101613d3e565b60206040518083038186803b1580156103eb57600080fd5b505afa1580156103ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610423919081019061340b565b6104645760056000600f5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b815260040161045b9190613f60565b60405180910390fd5b61046c6131a3565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161049b91879101613d3e565b60a06040518083038186803b1580156104b357600080fd5b505afa1580156104c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104eb9190810190613484565b905060006104f96000610e1d565b90506105048161101f565b5061050d611264565b60075460405163a237e94d60e01b81526001600160a01b039283169263a237e94d9261053e92911690600401613d3e565b60206040518083038186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061058e919081019061340b565b6105aa5760405162461bcd60e51b815260040161045b90614011565b6007546105c690839086906001600160a01b031684600061128b565b50505050565b6001546001600160a01b031681565b60606105e5610a4a565b905060005b815181101561072d57600082828151811061060157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016106439190613d1d565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161066f929190613e43565b60206040518083038186803b15801561068757600080fd5b505afa15801561069b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106bf91908101906133ed565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061071b9084908490613e27565b60405180910390a150506001016105ea565b5050565b610739610df3565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a999161076a91859101613d3e565b60206040518083038186803b15801561078257600080fd5b505afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ba919081019061340b565b6107c95760056000600f61042e565b6107d16131a3565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161080091879101613d3e565b60a06040518083038186803b15801561081857600080fd5b505afa15801561082c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108509190810190613484565b9050600061085e6000610e1d565b90506108698161101f565b506000610874611910565b9050600061088182611998565b90506108a3816108978660800151600f0b6119b6565b9063ffffffff6119c116565b6108ac836119f2565b116108c95760405162461bcd60e51b815260040161045b90613ff1565b61095e81610897600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109569190810190613447565b600f0b6119b6565b61096783611a14565b116109845760405162461bcd60e51b815260040161045b90613fc1565b6007546109a690859088906001600160a01b0316866109a1611a28565b61128b565b505050505050565b6001546001600160a01b031633146109d85760405162461bcd60e51b815260040161045b90613f71565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610a1b926001600160a01b0391821692911690613d5a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610a55611a9c565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b81600081518110610a9757fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610ac157fe5b6020026020010181815250506b53797374656d53746174757360a01b81600281518110610aea57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600381518110610b1b57fe5b6020026020010181815250506000805160206142fe83398151915281600481518110610b4357fe5b602002602001018181525050725065727073563245786368616e67655261746560681b81600581518110610b7357fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b81600681518110610b9f57fe5b602002602001018181525050610bb58282611aed565b9250505090565b6000546001600160a01b031681565b610bd3610df3565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a9991610c0491859101613d3e565b60206040518083038186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c54919081019061340b565b15610c645760056000600e61042e565b6000610c706000610e1d565b9050610c7b8161101f565b506004805460405163055f575160e41b8152610d0f92610d07926001600160a01b0316916355f5751091610cb191899101613d3e565b60a06040518083038186803b158015610cc957600080fd5b505afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d019190810190613484565b83611ba9565b156005611be7565b600754610d279084906001600160a01b031683611bfd565b505050565b610d34610dc7565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610277908390613d4c565b610d87610df3565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031681565b6006546001600160a01b031681565b6000546001600160a01b03163314610df15760405162461bcd60e51b815260040161045b90613fe1565b565b6006546001600160a01b03163314610df15760405162461bcd60e51b815260040161045b90614041565b6000610e27611fbe565b6001600160a01b031663856aae6c610e3d611910565b6040518263ffffffff1660e01b8152600401610e599190613e19565b60006040518083038186803b158015610e7157600080fd5b505afa158015610e85573d6000803e3d6000fd5b50505050610e91611fbe565b6001600160a01b03166342a28e21610ea7611fd8565b6040518263ffffffff1660e01b8152600401610ec39190613e19565b60006040518083038186803b158015610edb57600080fd5b505afa158015610eef573d6000803e3d6000fd5b505050508115610f6c57610f01611fbe565b6001600160a01b031663856aae6c610f1f610f1a611910565b612028565b6040518263ffffffff1660e01b8152600401610f3b9190613e19565b60006040518083038186803b158015610f5357600080fd5b505afa158015610f67573d6000803e3d6000fd5b505050505b6000806000610f796120f9565b6001600160a01b031663045056f8610f8f611fd8565b6040518263ffffffff1660e01b8152600401610fab9190613e19565b606060405180830381600087803b158015610fc557600080fd5b505af1158015610fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ffd91908101906134c0565b925092509250611016828061100f5750815b6001611be7565b50909392505050565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b15801561106357600080fd5b505afa158015611077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061109b9190810190613429565b905060006110a7612114565b905060006110b4856121c1565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f2916110e491859101613f0c565b600060405180830381600087803b1580156110fe57600080fd5b505af1158015611112573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e7656292506111459142910161419a565b600060405180830381600087803b15801561115f57600080fd5b505af1158015611173573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f2292506111a691869101613f0c565b600060405180830381600087803b1580156111c057600080fd5b505af11580156111d4573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b815290516110169550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b15801561122157600080fd5b505afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611259919081019061350d565b63ffffffff1661221c565b600061128673233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b6122cc565b905090565b6080850151855167ffffffffffffffff1660006112a88886612329565b905060006112b984600f0b8761234b565b905060006112cd828763ffffffff6123b916565b90508083116112dd5760006112ed565b6112ed838263ffffffff6123de16565b6004805460408051632b58ecef60e01b815290519396506001600160a01b039091169263b545f7129261138c92600f8b900b928692632b58ecef92808201926020929091829003018186803b15801561134557600080fd5b505afa158015611359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061137d9190810190613447565b600f0b9063ffffffff61240616565b6040518263ffffffff1660e01b81526004016113a89190613f0c565b600060405180830381600087803b1580156113c257600080fd5b505af11580156113d6573d6000803e3d6000fd5b50506004546001600160a01b0316915063460af7a6905061148c6113fd600f89900b6119b6565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061147791908101906134a2565b6001600160801b03169063ffffffff6123de16565b6040518263ffffffff1660e01b81526004016114a89190614061565b600060405180830381600087803b1580156114c257600080fd5b505af11580156114d6573d6000803e3d6000fd5b5050505060006114e461244c565b905061159e6040518060a00160405280600067ffffffffffffffff1681526020018367ffffffffffffffff16815260200160006001600160801b031681526020018a6001600160801b031681526020016000600f0b8152506040518060a00160405280600067ffffffffffffffff1681526020018e6020015167ffffffffffffffff1681526020018e604001516001600160801b031681526020018e606001516001600160801b0316815260200189600f0b8152506124e5565b6115a6611264565b6001600160a01b031663a7b5833f600460009054906101000a90046001600160a01b03166001600160a01b03166345d65e318d6040518263ffffffff1660e01b81526004016115f59190613d3e565b60206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061164591908101906133ed565b856040518363ffffffff1660e01b8152600401611663929190613d90565b600060405180830381600087803b15801561167d57600080fd5b505af1158015611691573d6000803e3d6000fd5b505050506000871115611706576116a6611264565b6001600160a01b031663a7b5833f8a896040518363ffffffff1660e01b81526004016116d3929190613d90565b600060405180830381600087803b1580156116ed57600080fd5b505af1158015611701573d6000803e3d6000fd5b505050505b831561177257611714611264565b6001600160a01b031663d289ade2856040518263ffffffff1660e01b815260040161173f9190613e19565b600060405180830381600087803b15801561175957600080fd5b505af115801561176d573d6000803e3d6000fd5b505050505b600480546040516307369b0b60e01b81526001600160a01b03909116916307369b0b916117a1918e9101613d3e565b600060405180830381600087803b1580156117bb57600080fd5b505af11580156117cf573d6000803e3d6000fd5b50506004805460405163349c6e0760e11b81526001600160a01b039091169350636938dc0e9250611802918e9101613d3e565b600060405180830381600087803b15801561181c57600080fd5b505af1158015611830573d6000803e3d6000fd5b505050506118d0858b60008060008d876000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118c89190810190613447565b600f0b61257f565b8a5160075460808d01516119039267ffffffffffffffff16918d916001600160a01b0390911690600f0b8c888d8b612641565b5050505050505050505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b15801561196057600080fd5b505afa158015611974573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112869190810190613429565b60006119b08268736b65775363616c6560b81b6126fd565b92915050565b60006119b0826127ba565b60006119eb826119df85670de0b6b3a764000063ffffffff6127d016565b9063ffffffff61280a16565b9392505050565b60006119b082726d61784c69717569646174696f6e44656c746160681b6126fd565b60006119b082641b585e141160da1b6126fd565b6000611a3261283f565b6001600160a01b03166323257c2b6000805160206142fe833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401611a84929190613e35565b60206040518083038186803b15801561196057600080fd5b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611ade57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611b1d578160200160208202803883390190505b50905060005b8351811015611b5f57838181518110611b3857fe5b6020026020010151828281518110611b4c57fe5b6020908102919091010152600101611b23565b5060005b8251811015611ba257828181518110611b7857fe5b6020026020010151828286510181518110611b8f57fe5b6020908102919091010152600101611b63565b5092915050565b60008260800151600f0b60001415611bc3575060006119b0565b611bd48360800151600f0b8361285c565b611bde84846128a5565b11159392505050565b811561072d576005600082600f81111561042e57fe5b611c056131a3565b6004805460405163055f575160e41b81526001600160a01b03909116916355f5751091611c3491889101613d3e565b60a06040518083038186803b158015611c4c57600080fd5b505afa158015611c60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c849190810190613484565b60048054604051631d2c671760e01b81529293506001600160a01b031691631d2c671791611cb6918891889101613d5a565b600060405180830381600087803b158015611cd057600080fd5b505af1158015611ce4573d6000803e3d6000fd5b50505050611cf06131d1565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91611d1f91899101613d3e565b6101206040518083038186803b158015611d3857600080fd5b505afa158015611d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d709190810190613465565b90508060200151600f0b600014611f9e5760808101516001600160801b031615611eb857600480548351602085015160808086015160408089015160608a0151938a01519151635af0d81f60e01b81526001600160a01b0390971697635af0d81f97611de8978f979096909593909301939101613dab565b600060405180830381600087803b158015611e0257600080fd5b505af1158015611e16573d6000803e3d6000fd5b50505050611eb8826000015167ffffffffffffffff168683608001518560400151016001600160801b03168560800151600f0b600087606001516001600160801b0316886020015167ffffffffffffffff166000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189057600080fd5b60a08101516001600160801b031615611f3c57611ed3611264565b60075460a083015160405163a7b5833f60e01b81526001600160a01b039384169363a7b5833f93611f0993911691600401613d75565b600060405180830381600087803b158015611f2357600080fd5b505af1158015611f37573d6000803e3d6000fd5b505050505b60048054604051634c33238d60e11b81526001600160a01b0390911691639866471a91611f6b91899101613d3e565b600060405180830381600087803b158015611f8557600080fd5b505af1158015611f99573d6000803e3d6000fd5b505050505b8151611fb79067ffffffffffffffff16868686426128c6565b5050505050565b60006112866b53797374656d53746174757360a01b6122cc565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b15801561196057600080fd5b600061203261283f565b6001600160a01b031663f7833c5d6000805160206142fe83398151915284706f6666636861696e4d61726b65744b657960781b604051602001612076929190613cc1565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016120a9929190613e35565b60206040518083038186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119b09190810190613429565b60006112866c45786368616e6765526174657360981b6122cc565b6000611286612138612124612979565b61212c612a2c565b9063ffffffff612a5316565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b15801561217a57600080fd5b505afa15801561218e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121b29190810190613447565b600f0b9063ffffffff612a7d16565b60006119b06121cf83612ac3565b6004546001600160a01b03166341108cf26121e861244c565b6040518263ffffffff1660e01b81526004016122049190613e19565b60206040518083038186803b15801561217a57600080fd5b6006546040516001600160a01b039091169063907dff9790612248908790879087908790602001613f1a565b604051602081830303815290604052600160405161226590613d33565b6040519081900381206001600160e01b031960e086901b16825261229493929160009081908190600401613e63565b600060405180830381600087803b1580156122ae57600080fd5b505af11580156122c2573d6000803e3d6000fd5b5050505050505050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916122fc91869101613ce7565b60405160208183030381529060405290611ba25760405162461bcd60e51b815260040161045b9190613f4f565b6000806123368484612b50565b9050612343600082612b96565b949350505050565b600080612372612359612bab565b61236685612366886119b6565b9063ffffffff612c1016565b9050600061237e612c3a565b9050600081831161238f5782612391565b815b9050600061239d612c95565b90508082116123ac57806123ae565b815b979650505050505050565b6000828201838110156119eb5760405162461bcd60e51b815260040161045b90613f81565b6000828211156124005760405162461bcd60e51b815260040161045b90613fa1565b50900390565b600081830381831280159061241b5750838113155b80612430575060008312801561243057508381135b6119eb5760405162461bcd60e51b815260040161045b90614031565b60006112866001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156124a157600080fd5b505afa1580156124b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124d99190810190613429565b9063ffffffff6123de16565b60006124f083612cf0565b905060006124fd83612cf0565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f79261256392869261255792899288926322d3090a92828101926020929190829003018186803b15801561217a57600080fd5b9063ffffffff61240616565b6040518263ffffffff1660e01b81526004016122949190613f0c565b6006546040516001600160a01b039091169063907dff97906125b1908a908a908a908a908a908a908a90602001614132565b60405160208183030381529060405260036040516125ce90613d28565b6040519081900390208d6125e18e612dcd565b60006040518763ffffffff1660e01b815260040161260496959493929190613eb7565b600060405180830381600087803b15801561261e57600080fd5b505af1158015612632573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff9790612675908b908b908b908b908b908b908b908b9060200161406f565b604051602081830303815290604052600160405161269290613d12565b6040519081900381206001600160e01b031960e086901b1682526126c193929160009081908190600401613e63565b600060405180830381600087803b1580156126db57600080fd5b505af11580156126ef573d6000803e3d6000fd5b505050505050505050505050565b600061270761283f565b6001600160a01b03166323257c2b6000805160206142fe8339815191528585604051602001612737929190613cc1565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161276a929190613e35565b60206040518083038186803b15801561278257600080fd5b505afa158015612796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119eb9190810190613429565b60008082126127c957816119b0565b5060000390565b6000826127df575060006119b0565b828202828482816127ec57fe5b04146119eb5760405162461bcd60e51b815260040161045b90614001565b600080821161282b5760405162461bcd60e51b815260040161045b90613fb1565b600082848161283657fe5b04949350505050565b60006112866e466c657869626c6553746f7261676560881b6122cc565b60008061287261235961286d611910565b612dd9565b905061234361287f611a28565b61289961288c878761234b565b849063ffffffff6123b916565b9063ffffffff6123b916565b6000806123366128bc8560800151600f0b85612dfe565b6125578686612b50565b6006546040516001600160a01b039091169063907dff97906128f490889088908890889088906020016140e6565b604051602081830303815290604052600160405161291190613d07565b6040519081900381206001600160e01b031960e086901b16825261294093929160009081908190600401613e63565b600060405180830381600087803b15801561295a57600080fd5b505af115801561296e573d6000803e3d6000fd5b505050505050505050565b600061128662015180612a20600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156129d357600080fd5b505afa1580156129e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a0b919081019061350d565b63ffffffff16426123de90919063ffffffff16565b9063ffffffff612e5616565b600080612a3f612a3a611910565b612e80565b9050612a4d8161212c612ea1565b91505090565b6000670de0b6b3a7640000612a6e848463ffffffff612f6116565b81612a7557fe5b059392505050565b6000828201818312801590612a925750838112155b80612aa75750600083128015612aa757508381125b6119eb5760405162461bcd60e51b815260040161045b90613f91565b600080612ace612114565b90506000612b2f6012600a0a600202612a2084600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561217a57600080fd5b60000390506123438461212c612b43612979565b849063ffffffff612a5316565b600080612b5d8484612fcc565b905061234381612b8a612b70878761301d565b60408801516001600160801b03169063ffffffff612a7d16565b9063ffffffff612a7d16565b6000818312612ba557826119eb565b50919050565b6000612bb561283f565b6001600160a01b03166323257c2b6000805160206142fe8339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401611a84929190613e35565b6000670de0b6b3a7640000612c2b848463ffffffff6127d016565b81612c3257fe5b049392505050565b6000612c4461283f565b6001600160a01b03166323257c2b6000805160206142fe83398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401611a84929190613e35565b6000612c9f61283f565b6001600160a01b03166323257c2b6000805160206142fe83398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401611a84929190613e35565b600480546020830151604051632088467960e11b81526000936119b093612db393612d9f936001600160a01b03909216926341108cf292612d329291016141a8565b60206040518083038186803b158015612d4a57600080fd5b505afa158015612d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d829190810190613447565b60608601516001600160801b031690600f0b63ffffffff612a7d16565b6080850151600f0b9063ffffffff612a5316565b60408401516001600160801b03169063ffffffff61240616565b6001600160a01b031690565b60006119b082756c69717569646174696f6e427566666572526174696f60501b6126fd565b600082612e0d575060006119b0565b6000612e21612e1c858561305b565b6119b6565b9050612343612e36612e31611910565b61306d565b61236683612366612e4d612e48611910565b611998565b6108978a6119b6565b60006119eb82612e7485670de0b6b3a764000063ffffffff612f6116565b9063ffffffff61309916565b60006119b082716d617846756e64696e6756656c6f6369747960701b6126fd565b600080612f3b612eb2612e48611910565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b158015612ef457600080fd5b505afa158015612f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f2c9190810190613447565b600f0b9063ffffffff612e5616565b9050612a4d612f53670de0b6b3a763ffff1983612b96565b670de0b6b3a76400006130fd565b600082612f70575060006119b0565b82600019148015612f845750600160ff1b82145b15612fa15760405162461bcd60e51b815260040161045b90614021565b82820282848281612fae57fe5b05146119eb5760405162461bcd60e51b815260040161045b90614021565b602082015160009067ffffffffffffffff1680612fed5760009150506119b0565b6000612ff98285613113565b608086015190915061301490600f0b8263ffffffff612a5316565b95945050505050565b60008061304084606001516001600160801b03168461240690919063ffffffff16565b608085015190915061234390600f0b8263ffffffff612a5316565b60006119eb838363ffffffff612a5316565b60006119b0827f6c69717569646174696f6e5072656d69756d4d756c7469706c696572000000006126fd565b6000816130b85760405162461bcd60e51b815260040161045b90614051565b816000191480156130cc5750600160ff1b83145b156130e95760405162461bcd60e51b815260040161045b90613fd1565b60008284816130f457fe5b05949350505050565b600081831261310c57816119eb565b5090919050565b60048054604051632088467960e11b81526000926119eb926001600160a01b0316916341108cf29161314791889101613e19565b60206040518083038186803b15801561315f57600080fd5b505afa158015613173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131979190810190613447565b600f0b612557846121c1565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b80356119b0816142b0565b80516119b0816142b0565b80516119b0816142c7565b80516119b0816142d0565b80516119b0816142d9565b6000610120828403121561326757600080fd5b6132726101206141b6565b905060006132808484613233565b825250602061329184848301613249565b60208301525060406132a5848285016133ae565b60408301525060606132b9848285016133ae565b60608301525060806132cd848285016133ae565b60808301525060a06132e1848285016133ae565b60a08301525060c06132f58482850161323e565b60c08301525060e06133098482850161323e565b60e08301525061010061331e8482850161323e565b6101008301525092915050565b600060a0828403121561333d57600080fd5b61334760a06141b6565b9050600061335584846133c4565b8252506020613366848483016133c4565b602083015250604061337a848285016133ae565b604083015250606061338e848285016133ae565b60608301525060806133a284828501613249565b60808301525092915050565b80516119b0816142e2565b80516119b0816142eb565b80516119b0816142f4565b6000602082840312156133e157600080fd5b6000612343848461321d565b6000602082840312156133ff57600080fd5b60006123438484613228565b60006020828403121561341d57600080fd5b60006123438484613233565b60006020828403121561343b57600080fd5b6000612343848461323e565b60006020828403121561345957600080fd5b60006123438484613249565b6000610120828403121561347857600080fd5b60006123438484613254565b600060a0828403121561349657600080fd5b6000612343848461332b565b6000602082840312156134b457600080fd5b600061234384846133ae565b6000806000606084860312156134d557600080fd5b60006134e1868661323e565b93505060206134f286828701613233565b925050604061350386828701613233565b9150509250925092565b60006020828403121561351f57600080fd5b600061234384846133b9565b600061353783836135b9565b505060200190565b61354881614239565b82525050565b61354881614201565b6000613562826141ef565b61356c81856141f3565b9350613577836141dd565b8060005b838110156135a557815161358f888261352b565b975061359a836141dd565b92505060010161357b565b509495945050505050565b6135488161420c565b61354881610397565b6135486135ce82610397565b610397565b60006135de826141ef565b6135e881856141f3565b93506135f881856020860161427a565b613601816142a6565b9093019392505050565b61354881614240565b61354881614211565b6135488161424b565b61354881614259565b60008154600181166000811461364c5760018114613672576136b1565b607f600283041661365d81876141f3565b60ff19841681529550506020850192506136b1565b6002820461368081876141f3565b955061368b856141e3565b60005b828110156136aa5781548882015260019091019060200161368e565b8701945050505b505092915050565b60006136c66035836141f3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061371d601b836141f3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006137566021836141f3565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613799601e836141f3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006137d2601a836141f3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061380b6011836141fc565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613838601a836141f3565b7f696e7374616e74616e656f757320502f44206578636565646564000000000000815260200192915050565b60006138716038836141fc565b7f506f736974696f6e466c61676765642875696e743235362c616464726573732c81527f616464726573732c75696e743235362c75696e74323536290000000000000000602082015260380192915050565b60006138d06021836141f3565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613913602f836141f3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006139646052836141fc565b7f506f736974696f6e4c6971756964617465642875696e743235362c616464726581527f73732c616464726573732c696e743235362c75696e743235362c75696e743235602082015271362c75696e743235362c75696e743235362960701b604082015260520192915050565b60006139de6024836141f3565b7f707269636520696d70616374206f66206c69717569646174696f6e20657863658152631959195960e21b602082015260400192915050565b6000613a246021836141f3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613a676014836141f3565b731859191c995cdcc81b9bdd08195b991bdc9cd95960621b815260200192915050565b6000613a976027836141f3565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000613ae06019836141fc565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b196056836141fc565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b6000613b976024836141f3565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b6000613bdd6017836141f3565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613c166020836141f3565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b6000613c4f6030836141fc565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b61354881614217565b61354881614264565b61354881614223565b6135488161426f565b6135488161422c565b6000613ccd82856135c2565b602082019150613cdd82846135c2565b5060200192915050565b6000613cf2826137fe565b9150613cfe82846135c2565b50602001919050565b60006119b082613864565b60006119b082613957565b6000613cf282613ad3565b60006119b082613b0c565b60006119b082613c42565b602081016119b0828461354e565b602081016119b0828461353f565b60408101613d68828561354e565b6119eb602083018461354e565b60408101613d83828561354e565b6119eb6020830184613c9d565b60408101613d9e828561354e565b6119eb60208301846135b9565b60c08101613db9828961354e565b613dc66020830188613cb8565b613dd36040830187613cb8565b613de06060830186613c94565b613ded6080830185613c94565b6123ae60a0830184613614565b602080825281016119eb8184613557565b602081016119b082846135b0565b602081016119b082846135b9565b60408101613d6882856135b9565b60408101613d9e82856135b9565b60408101613e5182856135b9565b818103602083015261234381846135d3565b60c08082528101613e7481896135d3565b9050613e836020830188613626565b613e9060408301876135b9565b613e9d606083018661361d565b613eaa608083018561361d565b6123ae60a083018461361d565b60c08082528101613ec881896135d3565b9050613ed76020830188613626565b613ee460408301876135b9565b613ef160608301866135b9565b613eaa60808301856135b9565b602081016119b0828461360b565b602081016119b08284613614565b60808101613f2882876135b9565b613f3560208301866135b9565b613f4260408301856135b9565b61301460608301846135b9565b602080825281016119eb81846135d3565b602080825281016119eb818461362f565b602080825281016119b0816136b9565b602080825281016119b081613710565b602080825281016119b081613749565b602080825281016119b08161378c565b602080825281016119b0816137c5565b602080825281016119b08161382b565b602080825281016119b0816138c3565b602080825281016119b081613906565b602080825281016119b0816139d1565b602080825281016119b081613a17565b602080825281016119b081613a5a565b602080825281016119b081613a8a565b602080825281016119b081613b8a565b602080825281016119b081613bd0565b602080825281016119b081613c09565b602081016119b08284613c94565b610100810161407e828b6135b9565b61408b602083018a61354e565b614098604083018961354e565b6140a560608301886135b9565b6140b260808301876135b9565b6140bf60a08301866135b9565b6140cc60c08301856135b9565b6140d960e08301846135b9565b9998505050505050505050565b60a081016140f482886135b9565b614101602083018761354e565b61410e604083018661354e565b61411b60608301856135b9565b61412860808301846135b9565b9695505050505050565b60e08101614140828a6135b9565b61414d60208301896135b9565b61415a60408301886135b9565b61416760608301876135b9565b61417460808301866135b9565b61418160a08301856135b9565b61418e60c08301846135b9565b98975050505050505050565b602081016119b08284613ca6565b602081016119b08284613caf565b60405181810167ffffffffffffffff811182821017156141d557600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b60006119b082612dcd565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60006119b0825b60006119b082614201565b60006119b06135ce83610397565b60006119b082610397565b60006119b082614217565b60006119b08261422c565b60005b8381101561429557818101518382015260200161427d565b838111156105c65750506000910152565b601f01601f191690565b6142b981614201565b81146142c457600080fd5b50565b6142b98161420c565b6142b981610397565b6142b981614211565b6142b981614217565b6142b981614223565b6142b98161422c56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a72315820f06ef5514ff53fbebdf64c2ad1971a116de18b19e7aa37ae49d19ad0a284952e6c6578706572696d656e74616cf564736f6c63430005100040", + "bytecode": "60806040523480156200001157600080fd5b5060405162004d9838038062004d98833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b6143608062000a386000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806379ba50971161009757806397107d6d1161006657806397107d6d146101d0578063bc67f832146101e3578063d67bdd25146101f6578063ec556889146101fe57610100565b806379ba509714610198578063899ffef4146101a05780638da5cb5b146101b5578063909bc379146101bd57610100565b80633c92b8ec116100d35780633c92b8ec1461015557806353a47bb714610168578063741853601461017d5780637498a0f01461018557610100565b806304f3bcec1461010557806308fb1b77146101235780631627540c1461012b5780632af64bd314610140575b600080fd5b61010d610206565b60405161011a9190613efe565b60405180910390f35b61010d610215565b61013e6101393660046133cf565b610224565b005b610148610282565b60405161011a9190613e0b565b61013e6101633660046133cf565b61039a565b6101706105cc565b60405161011a9190613d3e565b61013e6105db565b61013e6101933660046133cf565b610731565b61013e6109ae565b6101a8610a4a565b60405161011a9190613dfa565b610170610bbc565b61013e6101cb3660046133cf565b610bcb565b61013e6101de3660046133cf565b610d2c565b61013e6101f13660046133cf565b610d7f565b610170610da9565b61010d610db8565b6002546001600160a01b031681565b6004546001600160a01b031681565b61022c610dc7565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610277908390613d3e565b60405180910390a150565b6000606061028e610a4a565b905060005b81518110156103905760008282815181106102aa57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906102fb908590600401613e19565b60206040518083038186803b15801561031357600080fd5b505afa158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061034b91908101906133ed565b6001600160a01b031614158061037657506000818152600360205260409020546001600160a01b0316155b156103875760009350505050610397565b50600101610293565b5060019150505b90565b6103a2610df3565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a99916103d391859101613d3e565b60206040518083038186803b1580156103eb57600080fd5b505afa1580156103ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610423919081019061340b565b6104645760056000600f5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b815260040161045b9190613f60565b60405180910390fd5b61046c6131a3565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161049b91879101613d3e565b60a06040518083038186803b1580156104b357600080fd5b505afa1580156104c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104eb9190810190613484565b905060006104f96000610e1d565b90506105048161101f565b5061050d611264565b60075460405163a237e94d60e01b81526001600160a01b039283169263a237e94d9261053e92911690600401613d3e565b60206040518083038186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061058e919081019061340b565b6105aa5760405162461bcd60e51b815260040161045b90614011565b6007546105c690839086906001600160a01b031684600061128b565b50505050565b6001546001600160a01b031681565b60606105e5610a4a565b905060005b815181101561072d57600082828151811061060157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016106439190613d1d565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161066f929190613e43565b60206040518083038186803b15801561068757600080fd5b505afa15801561069b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106bf91908101906133ed565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061071b9084908490613e27565b60405180910390a150506001016105ea565b5050565b610739610df3565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a999161076a91859101613d3e565b60206040518083038186803b15801561078257600080fd5b505afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ba919081019061340b565b6107c95760056000600f61042e565b6107d16131a3565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161080091879101613d3e565b60a06040518083038186803b15801561081857600080fd5b505afa15801561082c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108509190810190613484565b9050600061085e6000610e1d565b90506108698161101f565b506000610874611910565b9050600061088182611998565b90506108a3816108978660800151600f0b6119b6565b9063ffffffff6119c116565b6108ac836119f2565b116108c95760405162461bcd60e51b815260040161045b90613ff1565b61095e81610897600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109569190810190613447565b600f0b6119b6565b61096783611a14565b116109845760405162461bcd60e51b815260040161045b90613fc1565b6007546109a690859088906001600160a01b0316866109a1611a28565b61128b565b505050505050565b6001546001600160a01b031633146109d85760405162461bcd60e51b815260040161045b90613f71565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610a1b926001600160a01b0391821692911690613d5a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610a55611a9c565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b81600081518110610a9757fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610ac157fe5b6020026020010181815250506b53797374656d53746174757360a01b81600281518110610aea57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600381518110610b1b57fe5b6020026020010181815250506000805160206142fe83398151915281600481518110610b4357fe5b602002602001018181525050725065727073563245786368616e67655261746560681b81600581518110610b7357fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b81600681518110610b9f57fe5b602002602001018181525050610bb58282611aed565b9250505090565b6000546001600160a01b031681565b610bd3610df3565b6004805460405163fef48a9960e01b815283926001600160a01b039092169163fef48a9991610c0491859101613d3e565b60206040518083038186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c54919081019061340b565b15610c645760056000600e61042e565b6000610c706000610e1d565b9050610c7b8161101f565b506004805460405163055f575160e41b8152610d0f92610d07926001600160a01b0316916355f5751091610cb191899101613d3e565b60a06040518083038186803b158015610cc957600080fd5b505afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d019190810190613484565b83611ba9565b156005611be7565b600754610d279084906001600160a01b031683611bfd565b505050565b610d34610dc7565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610277908390613d4c565b610d87610df3565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031681565b6006546001600160a01b031681565b6000546001600160a01b03163314610df15760405162461bcd60e51b815260040161045b90613fe1565b565b6006546001600160a01b03163314610df15760405162461bcd60e51b815260040161045b90614041565b6000610e27611fbe565b6001600160a01b031663856aae6c610e3d611910565b6040518263ffffffff1660e01b8152600401610e599190613e19565b60006040518083038186803b158015610e7157600080fd5b505afa158015610e85573d6000803e3d6000fd5b50505050610e91611fbe565b6001600160a01b03166342a28e21610ea7611fd8565b6040518263ffffffff1660e01b8152600401610ec39190613e19565b60006040518083038186803b158015610edb57600080fd5b505afa158015610eef573d6000803e3d6000fd5b505050508115610f6c57610f01611fbe565b6001600160a01b031663856aae6c610f1f610f1a611910565b612028565b6040518263ffffffff1660e01b8152600401610f3b9190613e19565b60006040518083038186803b158015610f5357600080fd5b505afa158015610f67573d6000803e3d6000fd5b505050505b6000806000610f796120f9565b6001600160a01b031663045056f8610f8f611fd8565b6040518263ffffffff1660e01b8152600401610fab9190613e19565b606060405180830381600087803b158015610fc557600080fd5b505af1158015610fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ffd91908101906134c0565b925092509250611016828061100f5750815b6001611be7565b50909392505050565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b15801561106357600080fd5b505afa158015611077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061109b9190810190613429565b905060006110a7612114565b905060006110b4856121c1565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f2916110e491859101613f0c565b600060405180830381600087803b1580156110fe57600080fd5b505af1158015611112573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e7656292506111459142910161419a565b600060405180830381600087803b15801561115f57600080fd5b505af1158015611173573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f2292506111a691869101613f0c565b600060405180830381600087803b1580156111c057600080fd5b505af11580156111d4573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b815290516110169550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b15801561122157600080fd5b505afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611259919081019061350d565b63ffffffff1661221c565b600061128673233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b6122cc565b905090565b6080850151855167ffffffffffffffff1660006112a88886612329565b905060006112b984600f0b8761234b565b905060006112cd828763ffffffff6123b916565b90508083116112dd5760006112ed565b6112ed838263ffffffff6123de16565b6004805460408051632b58ecef60e01b815290519396506001600160a01b039091169263b545f7129261138c92600f8b900b928692632b58ecef92808201926020929091829003018186803b15801561134557600080fd5b505afa158015611359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061137d9190810190613447565b600f0b9063ffffffff61240616565b6040518263ffffffff1660e01b81526004016113a89190613f0c565b600060405180830381600087803b1580156113c257600080fd5b505af11580156113d6573d6000803e3d6000fd5b50506004546001600160a01b0316915063460af7a6905061148c6113fd600f89900b6119b6565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061147791908101906134a2565b6001600160801b03169063ffffffff6123de16565b6040518263ffffffff1660e01b81526004016114a89190614061565b600060405180830381600087803b1580156114c257600080fd5b505af11580156114d6573d6000803e3d6000fd5b5050505060006114e461244c565b905061159e6040518060a00160405280600067ffffffffffffffff1681526020018367ffffffffffffffff16815260200160006001600160801b031681526020018a6001600160801b031681526020016000600f0b8152506040518060a00160405280600067ffffffffffffffff1681526020018e6020015167ffffffffffffffff1681526020018e604001516001600160801b031681526020018e606001516001600160801b0316815260200189600f0b8152506124e5565b6115a6611264565b6001600160a01b031663a7b5833f600460009054906101000a90046001600160a01b03166001600160a01b03166345d65e318d6040518263ffffffff1660e01b81526004016115f59190613d3e565b60206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061164591908101906133ed565b856040518363ffffffff1660e01b8152600401611663929190613d90565b600060405180830381600087803b15801561167d57600080fd5b505af1158015611691573d6000803e3d6000fd5b505050506000871115611706576116a6611264565b6001600160a01b031663a7b5833f8a896040518363ffffffff1660e01b81526004016116d3929190613d90565b600060405180830381600087803b1580156116ed57600080fd5b505af1158015611701573d6000803e3d6000fd5b505050505b831561177257611714611264565b6001600160a01b031663d289ade2856040518263ffffffff1660e01b815260040161173f9190613e19565b600060405180830381600087803b15801561175957600080fd5b505af115801561176d573d6000803e3d6000fd5b505050505b600480546040516307369b0b60e01b81526001600160a01b03909116916307369b0b916117a1918e9101613d3e565b600060405180830381600087803b1580156117bb57600080fd5b505af11580156117cf573d6000803e3d6000fd5b50506004805460405163349c6e0760e11b81526001600160a01b039091169350636938dc0e9250611802918e9101613d3e565b600060405180830381600087803b15801561181c57600080fd5b505af1158015611830573d6000803e3d6000fd5b505050506118d0858b60008060008d876000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118c89190810190613447565b600f0b61257f565b8a5160075460808d01516119039267ffffffffffffffff16918d916001600160a01b0390911690600f0b8c888d8b612641565b5050505050505050505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b15801561196057600080fd5b505afa158015611974573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112869190810190613429565b60006119b08268736b65775363616c6560b81b6126fd565b92915050565b60006119b0826127ba565b60006119eb826119df85670de0b6b3a764000063ffffffff6127d016565b9063ffffffff61280a16565b9392505050565b60006119b082726d61784c69717569646174696f6e44656c746160681b6126fd565b60006119b082641b585e141160da1b6126fd565b6000611a3261283f565b6001600160a01b03166323257c2b6000805160206142fe833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401611a84929190613e35565b60206040518083038186803b15801561196057600080fd5b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611ade57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611b1d578160200160208202803883390190505b50905060005b8351811015611b5f57838181518110611b3857fe5b6020026020010151828281518110611b4c57fe5b6020908102919091010152600101611b23565b5060005b8251811015611ba257828181518110611b7857fe5b6020026020010151828286510181518110611b8f57fe5b6020908102919091010152600101611b63565b5092915050565b60008260800151600f0b60001415611bc3575060006119b0565b611bd48360800151600f0b8361285c565b611bde84846128a5565b11159392505050565b811561072d576005600082600f81111561042e57fe5b611c056131a3565b6004805460405163055f575160e41b81526001600160a01b03909116916355f5751091611c3491889101613d3e565b60a06040518083038186803b158015611c4c57600080fd5b505afa158015611c60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c849190810190613484565b60048054604051631d2c671760e01b81529293506001600160a01b031691631d2c671791611cb6918891889101613d5a565b600060405180830381600087803b158015611cd057600080fd5b505af1158015611ce4573d6000803e3d6000fd5b50505050611cf06131d1565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91611d1f91899101613d3e565b6101206040518083038186803b158015611d3857600080fd5b505afa158015611d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d709190810190613465565b90508060200151600f0b600014611f9e5760808101516001600160801b031615611eb857600480548351602085015160808086015160408089015160608a0151938a01519151635af0d81f60e01b81526001600160a01b0390971697635af0d81f97611de8978f979096909593909301939101613dab565b600060405180830381600087803b158015611e0257600080fd5b505af1158015611e16573d6000803e3d6000fd5b50505050611eb8826000015167ffffffffffffffff168683608001518560400151016001600160801b03168560800151600f0b600087606001516001600160801b0316886020015167ffffffffffffffff166000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189057600080fd5b60a08101516001600160801b031615611f3c57611ed3611264565b60075460a083015160405163a7b5833f60e01b81526001600160a01b039384169363a7b5833f93611f0993911691600401613d75565b600060405180830381600087803b158015611f2357600080fd5b505af1158015611f37573d6000803e3d6000fd5b505050505b60048054604051634c33238d60e11b81526001600160a01b0390911691639866471a91611f6b91899101613d3e565b600060405180830381600087803b158015611f8557600080fd5b505af1158015611f99573d6000803e3d6000fd5b505050505b8151611fb79067ffffffffffffffff16868686426128c6565b5050505050565b60006112866b53797374656d53746174757360a01b6122cc565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b15801561196057600080fd5b600061203261283f565b6001600160a01b031663f7833c5d6000805160206142fe83398151915284706f6666636861696e4d61726b65744b657960781b604051602001612076929190613cc1565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016120a9929190613e35565b60206040518083038186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119b09190810190613429565b60006112866c45786368616e6765526174657360981b6122cc565b6000611286612138612124612979565b61212c612a2c565b9063ffffffff612a5316565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b15801561217a57600080fd5b505afa15801561218e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121b29190810190613447565b600f0b9063ffffffff612a7d16565b60006119b06121cf83612ac3565b6004546001600160a01b03166341108cf26121e861244c565b6040518263ffffffff1660e01b81526004016122049190613e19565b60206040518083038186803b15801561217a57600080fd5b6006546040516001600160a01b039091169063907dff9790612248908790879087908790602001613f1a565b604051602081830303815290604052600160405161226590613d33565b6040519081900381206001600160e01b031960e086901b16825261229493929160009081908190600401613e63565b600060405180830381600087803b1580156122ae57600080fd5b505af11580156122c2573d6000803e3d6000fd5b5050505050505050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916122fc91869101613ce7565b60405160208183030381529060405290611ba25760405162461bcd60e51b815260040161045b9190613f4f565b6000806123368484612b50565b9050612343600082612b96565b949350505050565b600080612372612359612bab565b61236685612366886119b6565b9063ffffffff612c1016565b9050600061237e612c3a565b9050600081831161238f5782612391565b815b9050600061239d612c95565b90508082116123ac57806123ae565b815b979650505050505050565b6000828201838110156119eb5760405162461bcd60e51b815260040161045b90613f81565b6000828211156124005760405162461bcd60e51b815260040161045b90613fa1565b50900390565b600081830381831280159061241b5750838113155b80612430575060008312801561243057508381135b6119eb5760405162461bcd60e51b815260040161045b90614031565b60006112866001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b1580156124a157600080fd5b505afa1580156124b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124d99190810190613429565b9063ffffffff6123de16565b60006124f083612cf0565b905060006124fd83612cf0565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f79261256392869261255792899288926322d3090a92828101926020929190829003018186803b15801561217a57600080fd5b9063ffffffff61240616565b6040518263ffffffff1660e01b81526004016122949190613f0c565b6006546040516001600160a01b039091169063907dff97906125b1908a908a908a908a908a908a908a90602001614132565b60405160208183030381529060405260036040516125ce90613d28565b6040519081900390208d6125e18e612dcd565b60006040518763ffffffff1660e01b815260040161260496959493929190613eb7565b600060405180830381600087803b15801561261e57600080fd5b505af1158015612632573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff9790612675908b908b908b908b908b908b908b908b9060200161406f565b604051602081830303815290604052600160405161269290613d12565b6040519081900381206001600160e01b031960e086901b1682526126c193929160009081908190600401613e63565b600060405180830381600087803b1580156126db57600080fd5b505af11580156126ef573d6000803e3d6000fd5b505050505050505050505050565b600061270761283f565b6001600160a01b03166323257c2b6000805160206142fe8339815191528585604051602001612737929190613cc1565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161276a929190613e35565b60206040518083038186803b15801561278257600080fd5b505afa158015612796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119eb9190810190613429565b60008082126127c957816119b0565b5060000390565b6000826127df575060006119b0565b828202828482816127ec57fe5b04146119eb5760405162461bcd60e51b815260040161045b90614001565b600080821161282b5760405162461bcd60e51b815260040161045b90613fb1565b600082848161283657fe5b04949350505050565b60006112866e466c657869626c6553746f7261676560881b6122cc565b60008061287261235961286d611910565b612dd9565b905061234361287f611a28565b61289961288c878761234b565b849063ffffffff6123b916565b9063ffffffff6123b916565b6000806123366128bc8560800151600f0b85612dfe565b6125578686612b50565b6006546040516001600160a01b039091169063907dff97906128f490889088908890889088906020016140e6565b604051602081830303815290604052600160405161291190613d07565b6040519081900381206001600160e01b031960e086901b16825261294093929160009081908190600401613e63565b600060405180830381600087803b15801561295a57600080fd5b505af115801561296e573d6000803e3d6000fd5b505050505050505050565b600061128662015180612a20600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156129d357600080fd5b505afa1580156129e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a0b919081019061350d565b63ffffffff16426123de90919063ffffffff16565b9063ffffffff612e5616565b600080612a3f612a3a611910565b612e80565b9050612a4d8161212c612ea1565b91505090565b6000670de0b6b3a7640000612a6e848463ffffffff612f6116565b81612a7557fe5b059392505050565b6000828201818312801590612a925750838112155b80612aa75750600083128015612aa757508381125b6119eb5760405162461bcd60e51b815260040161045b90613f91565b600080612ace612114565b90506000612b2f6012600a0a600202612a2084600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561217a57600080fd5b60000390506123438461212c612b43612979565b849063ffffffff612a5316565b600080612b5d8484612fcc565b905061234381612b8a612b70878761301d565b60408801516001600160801b03169063ffffffff612a7d16565b9063ffffffff612a7d16565b6000818312612ba557826119eb565b50919050565b6000612bb561283f565b6001600160a01b03166323257c2b6000805160206142fe8339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401611a84929190613e35565b6000670de0b6b3a7640000612c2b848463ffffffff6127d016565b81612c3257fe5b049392505050565b6000612c4461283f565b6001600160a01b03166323257c2b6000805160206142fe83398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401611a84929190613e35565b6000612c9f61283f565b6001600160a01b03166323257c2b6000805160206142fe83398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401611a84929190613e35565b600480546020830151604051632088467960e11b81526000936119b093612db393612d9f936001600160a01b03909216926341108cf292612d329291016141a8565b60206040518083038186803b158015612d4a57600080fd5b505afa158015612d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d829190810190613447565b60608601516001600160801b031690600f0b63ffffffff612a7d16565b6080850151600f0b9063ffffffff612a5316565b60408401516001600160801b03169063ffffffff61240616565b6001600160a01b031690565b60006119b082756c69717569646174696f6e427566666572526174696f60501b6126fd565b600082612e0d575060006119b0565b6000612e21612e1c858561305b565b6119b6565b9050612343612e36612e31611910565b61306d565b61236683612366612e4d612e48611910565b611998565b6108978a6119b6565b60006119eb82612e7485670de0b6b3a764000063ffffffff612f6116565b9063ffffffff61309916565b60006119b082716d617846756e64696e6756656c6f6369747960701b6126fd565b600080612f3b612eb2612e48611910565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b158015612ef457600080fd5b505afa158015612f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f2c9190810190613447565b600f0b9063ffffffff612e5616565b9050612a4d612f53670de0b6b3a763ffff1983612b96565b670de0b6b3a76400006130fd565b600082612f70575060006119b0565b82600019148015612f845750600160ff1b82145b15612fa15760405162461bcd60e51b815260040161045b90614021565b82820282848281612fae57fe5b05146119eb5760405162461bcd60e51b815260040161045b90614021565b602082015160009067ffffffffffffffff1680612fed5760009150506119b0565b6000612ff98285613113565b608086015190915061301490600f0b8263ffffffff612a5316565b95945050505050565b60008061304084606001516001600160801b03168461240690919063ffffffff16565b608085015190915061234390600f0b8263ffffffff612a5316565b60006119eb838363ffffffff612a5316565b60006119b0827f6c69717569646174696f6e5072656d69756d4d756c7469706c696572000000006126fd565b6000816130b85760405162461bcd60e51b815260040161045b90614051565b816000191480156130cc5750600160ff1b83145b156130e95760405162461bcd60e51b815260040161045b90613fd1565b60008284816130f457fe5b05949350505050565b600081831261310c57816119eb565b5090919050565b60048054604051632088467960e11b81526000926119eb926001600160a01b0316916341108cf29161314791889101613e19565b60206040518083038186803b15801561315f57600080fd5b505afa158015613173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131979190810190613447565b600f0b612557846121c1565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b80356119b0816142b0565b80516119b0816142b0565b80516119b0816142c7565b80516119b0816142d0565b80516119b0816142d9565b6000610120828403121561326757600080fd5b6132726101206141b6565b905060006132808484613233565b825250602061329184848301613249565b60208301525060406132a5848285016133ae565b60408301525060606132b9848285016133ae565b60608301525060806132cd848285016133ae565b60808301525060a06132e1848285016133ae565b60a08301525060c06132f58482850161323e565b60c08301525060e06133098482850161323e565b60e08301525061010061331e8482850161323e565b6101008301525092915050565b600060a0828403121561333d57600080fd5b61334760a06141b6565b9050600061335584846133c4565b8252506020613366848483016133c4565b602083015250604061337a848285016133ae565b604083015250606061338e848285016133ae565b60608301525060806133a284828501613249565b60808301525092915050565b80516119b0816142e2565b80516119b0816142eb565b80516119b0816142f4565b6000602082840312156133e157600080fd5b6000612343848461321d565b6000602082840312156133ff57600080fd5b60006123438484613228565b60006020828403121561341d57600080fd5b60006123438484613233565b60006020828403121561343b57600080fd5b6000612343848461323e565b60006020828403121561345957600080fd5b60006123438484613249565b6000610120828403121561347857600080fd5b60006123438484613254565b600060a0828403121561349657600080fd5b6000612343848461332b565b6000602082840312156134b457600080fd5b600061234384846133ae565b6000806000606084860312156134d557600080fd5b60006134e1868661323e565b93505060206134f286828701613233565b925050604061350386828701613233565b9150509250925092565b60006020828403121561351f57600080fd5b600061234384846133b9565b600061353783836135b9565b505060200190565b61354881614239565b82525050565b61354881614201565b6000613562826141ef565b61356c81856141f3565b9350613577836141dd565b8060005b838110156135a557815161358f888261352b565b975061359a836141dd565b92505060010161357b565b509495945050505050565b6135488161420c565b61354881610397565b6135486135ce82610397565b610397565b60006135de826141ef565b6135e881856141f3565b93506135f881856020860161427a565b613601816142a6565b9093019392505050565b61354881614240565b61354881614211565b6135488161424b565b61354881614259565b60008154600181166000811461364c5760018114613672576136b1565b607f600283041661365d81876141f3565b60ff19841681529550506020850192506136b1565b6002820461368081876141f3565b955061368b856141e3565b60005b828110156136aa5781548882015260019091019060200161368e565b8701945050505b505092915050565b60006136c66035836141f3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061371d601b836141f3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006137566021836141f3565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613799601e836141f3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006137d2601a836141f3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061380b6011836141fc565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613838601a836141f3565b7f696e7374616e74616e656f757320502f44206578636565646564000000000000815260200192915050565b60006138716038836141fc565b7f506f736974696f6e466c61676765642875696e743235362c616464726573732c81527f616464726573732c75696e743235362c75696e74323536290000000000000000602082015260380192915050565b60006138d06021836141f3565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613913602f836141f3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006139646052836141fc565b7f506f736974696f6e4c6971756964617465642875696e743235362c616464726581527f73732c616464726573732c696e743235362c75696e743235362c75696e743235602082015271362c75696e743235362c75696e743235362960701b604082015260520192915050565b60006139de6024836141f3565b7f707269636520696d70616374206f66206c69717569646174696f6e20657863658152631959195960e21b602082015260400192915050565b6000613a246021836141f3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613a676014836141f3565b731859191c995cdcc81b9bdd08195b991bdc9cd95960621b815260200192915050565b6000613a976027836141f3565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000613ae06019836141fc565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b196056836141fc565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b6000613b976024836141f3565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b6000613bdd6017836141f3565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613c166020836141f3565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b6000613c4f6030836141fc565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b61354881614217565b61354881614264565b61354881614223565b6135488161426f565b6135488161422c565b6000613ccd82856135c2565b602082019150613cdd82846135c2565b5060200192915050565b6000613cf2826137fe565b9150613cfe82846135c2565b50602001919050565b60006119b082613864565b60006119b082613957565b6000613cf282613ad3565b60006119b082613b0c565b60006119b082613c42565b602081016119b0828461354e565b602081016119b0828461353f565b60408101613d68828561354e565b6119eb602083018461354e565b60408101613d83828561354e565b6119eb6020830184613c9d565b60408101613d9e828561354e565b6119eb60208301846135b9565b60c08101613db9828961354e565b613dc66020830188613cb8565b613dd36040830187613cb8565b613de06060830186613c94565b613ded6080830185613c94565b6123ae60a0830184613614565b602080825281016119eb8184613557565b602081016119b082846135b0565b602081016119b082846135b9565b60408101613d6882856135b9565b60408101613d9e82856135b9565b60408101613e5182856135b9565b818103602083015261234381846135d3565b60c08082528101613e7481896135d3565b9050613e836020830188613626565b613e9060408301876135b9565b613e9d606083018661361d565b613eaa608083018561361d565b6123ae60a083018461361d565b60c08082528101613ec881896135d3565b9050613ed76020830188613626565b613ee460408301876135b9565b613ef160608301866135b9565b613eaa60808301856135b9565b602081016119b0828461360b565b602081016119b08284613614565b60808101613f2882876135b9565b613f3560208301866135b9565b613f4260408301856135b9565b61301460608301846135b9565b602080825281016119eb81846135d3565b602080825281016119eb818461362f565b602080825281016119b0816136b9565b602080825281016119b081613710565b602080825281016119b081613749565b602080825281016119b08161378c565b602080825281016119b0816137c5565b602080825281016119b08161382b565b602080825281016119b0816138c3565b602080825281016119b081613906565b602080825281016119b0816139d1565b602080825281016119b081613a17565b602080825281016119b081613a5a565b602080825281016119b081613a8a565b602080825281016119b081613b8a565b602080825281016119b081613bd0565b602080825281016119b081613c09565b602081016119b08284613c94565b610100810161407e828b6135b9565b61408b602083018a61354e565b614098604083018961354e565b6140a560608301886135b9565b6140b260808301876135b9565b6140bf60a08301866135b9565b6140cc60c08301856135b9565b6140d960e08301846135b9565b9998505050505050505050565b60a081016140f482886135b9565b614101602083018761354e565b61410e604083018661354e565b61411b60608301856135b9565b61412860808301846135b9565b9695505050505050565b60e08101614140828a6135b9565b61414d60208301896135b9565b61415a60408301886135b9565b61416760608301876135b9565b61417460808301866135b9565b61418160a08301856135b9565b61418e60c08301846135b9565b98975050505050505050565b602081016119b08284613ca6565b602081016119b08284613caf565b60405181810167ffffffffffffffff811182821017156141d557600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b60006119b082612dcd565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60006119b0825b60006119b082614201565b60006119b06135ce83610397565b60006119b082610397565b60006119b082614217565b60006119b08261422c565b60005b8381101561429557818101518382015260200161427d565b838111156105c65750506000910152565b601f01601f191690565b6142b981614201565b81146142c457600080fd5b50565b6142b98161420c565b6142b981610397565b6142b981614211565b6142b981614217565b6142b981614223565b6142b98161422c56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a723158200482c47b591fd84dd76d0d8589d06c065bd16a67ff4212be0e33677e7e1483d06c6578706572696d656e74616cf564736f6c63430005100040", "abi": [ { "inputs": [ @@ -55649,10 +55849,10 @@ } ], "source": { - "keccak256": "0x05843128c0faaf6d66a51deba285a340767f40bb9561e0d5396d71260acaaca6", + "keccak256": "0x271ee587fdf92ec48387ec0ec7b90024fd795f3bc7794f1d8a06fddcce22bdab", "urls": [ - "bzz-raw://1b9112971705cd6cfde8f6f17af92252afafe0ee675bb4d23fe0a56926b04449", - "dweb:/ipfs/QmZ5s33NsouMp9f7mKtDeJS5cyGFG6biRTTcgKy19XQzyF" + "bzz-raw://5ecb7d47bd152aa12b24e185a0d41c16594b4b3446ceca978c0aa49e3577a2a1", + "dweb:/ipfs/QmPXghVA7FqcpnjygwbZ41GrBefy4c72Nop6rHDpV5e7V2" ] }, "metadata": { @@ -55674,10 +55874,10 @@ }, "sources": { "PerpsV2MarketLiquidate.sol": { - "keccak256": "0x05843128c0faaf6d66a51deba285a340767f40bb9561e0d5396d71260acaaca6", + "keccak256": "0x271ee587fdf92ec48387ec0ec7b90024fd795f3bc7794f1d8a06fddcce22bdab", "urls": [ - "bzz-raw://1b9112971705cd6cfde8f6f17af92252afafe0ee675bb4d23fe0a56926b04449", - "dweb:/ipfs/QmZ5s33NsouMp9f7mKtDeJS5cyGFG6biRTTcgKy19XQzyF" + "bzz-raw://5ecb7d47bd152aa12b24e185a0d41c16594b4b3446ceca978c0aa49e3577a2a1", + "dweb:/ipfs/QmPXghVA7FqcpnjygwbZ41GrBefy4c72Nop6rHDpV5e7V2" ] } }, @@ -55685,7 +55885,7 @@ } }, "PerpsV2MarketDelayedIntent": { - "bytecode": "60806040523480156200001157600080fd5b506040516200559838038062005598833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b614b608062000a386000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806385f05ab5116100ad578063bc67f83211610071578063bc67f83214610217578063c5a4b07a1461022a578063d67bdd251461023d578063ec55688914610245578063ed44a2db1461024d57610121565b806385f05ab5146101c1578063899ffef4146101d45780638da5cb5b146101e957806397107d6d146101f1578063a1c35a351461020457610121565b80632af64bd3116100f45780632af64bd31461017457806353a47bb714610189578063741853601461019e578063787d6c30146101a657806379ba5097146101b957610121565b806304f3bcec1461012657806308fb1b771461014457806309461cfe1461014c5780631627540c14610161575b600080fd5b61012e610260565b60405161013b91906147dd565b60405180910390f35b61012e61026f565b61015f61015a366004613be9565b61027e565b005b61015f61016f366004613b19565b61036a565b61017c6103c8565b60405161013b9190614639565b6101916104e0565b60405161013b919061450d565b61015f6104ef565b61015f6101b4366004613c36565b610645565b61015f610700565b61015f6101cf366004613be9565b61079c565b6101dc610851565b60405161013b9190614628565b6101916109c3565b61015f6101ff366004613b19565b6109d2565b61015f610212366004613baf565b610a25565b61015f610225366004613b19565b610adf565b61015f610238366004613be9565b610b09565b610191610bb4565b61012e610bc3565b61015f61025b366004613baf565b610bd2565b6002546001600160a01b031681565b6004546001600160a01b031681565b610286610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a99916102bc9185910161450d565b60206040518083038186803b1580156102d457600080fd5b505afa1580156102e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061030c9190810190613b55565b1561034e5760056000600e5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b8152600401610345919061483f565b60405180910390fd5b610364610359610caa565b858585600080610d37565b50505050565b610372611231565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103bd90839061450d565b60405180910390a150565b600060606103d4610851565b905060005b81518110156104d65760008282815181106103f057fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104419085906004016146b1565b60206040518083038186803b15801561045957600080fd5b505afa15801561046d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104919190810190613b37565b6001600160a01b03161415806104bc57506000818152600360205260409020546001600160a01b0316155b156104cd57600093505050506104dd565b506001016103d9565b5060019150505b90565b6001546001600160a01b031681565b60606104f9610851565b905060005b815181101561064157600082828151811061051557fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161055791906144ec565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016105839291906146e8565b60206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d39190810190613b37565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061062f90849084906146bf565b60405180910390a150506001016104fe565b5050565b61064d610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a99916106839185910161450d565b60206040518083038186803b15801561069b57600080fd5b505afa1580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106d39190810190613b55565b156106e35760056000600e610318565b6106f96106ee610caa565b868686866000610d37565b5050505050565b6001546001600160a01b0316331461072a5760405162461bcd60e51b815260040161034590614860565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261076d926001600160a01b0391821692911690614529565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6107a4610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a99916107da9185910161450d565b60206040518083038186803b1580156107f257600080fd5b505afa158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061082a9190810190613b55565b1561083a5760056000600e610318565b610364610845610caa565b85600086866001610d37565b60608061085c61125b565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b8160008151811061089e57fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106108c857fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106108f157fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160038151811061092257fe5b602002602001018181525050600080516020614afe8339815191528160048151811061094a57fe5b602002602001018181525050725065727073563245786368616e67655261746560681b8160058151811061097a57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816006815181106109a657fe5b6020026020010181815250506109bc82826112ac565b9250505090565b6000546001600160a01b031681565b6109da611231565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906103bd90839061451b565b610a2d610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a9991610a639185910161450d565b60206040518083038186803b158015610a7b57600080fd5b505afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ab39190810190613b55565b15610ac35760056000600e610318565b610ada610ace610caa565b84600085816001610d37565b505050565b610ae7610c7e565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b610b11610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a9991610b479185910161450d565b60206040518083038186803b158015610b5f57600080fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b979190810190613b55565b15610ba75760056000600e610318565b6103648484846001611368565b6007546001600160a01b031681565b6006546001600160a01b031681565b610bda610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a9991610c109185910161450d565b60206040518083038186803b158015610c2857600080fd5b505afa158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c609190810190613b55565b15610c705760056000600e610318565b610ada600084846002611368565b6006546001600160a01b03163314610ca85760405162461bcd60e51b815260040161034590614920565b565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b158015610cfa57600080fd5b505afa158015610d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d329190810190613b73565b905090565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa93610d699316910161450d565b6101206040518083038186803b158015610d8257600080fd5b505afa158015610d96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dba9190810190613c97565b60200151600f0b15610dde5760405162461bcd60e51b815260040161034590614910565b83610def57610dec86611462565b93505b610df886611462565b8410158015610e0f5750610e0b86611488565b8411155b610e2b5760405162461bcd60e51b8152600401610345906148b0565b610e336138a2565b6004805460075460405163055f575160e41b81526001600160a01b03928316936355f5751093610e659316910161450d565b60a06040518083038186803b158015610e7d57600080fd5b505afa158015610e91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610eb59190810190613cb6565b90506000610ec2836114a8565b90506000610ed088836116aa565b90506000610edd836117e8565b9050610ee76138d0565b6040518060e001604052808b815260200185815260200184815260200189815260200187610f1d57610f188d611a2d565b610f26565b610f268d611a50565b815260200187610f3e57610f398d611a7c565b610f47565b610f478d611a9f565b815260200188905290506000610f5d8683611acb565b92505050610f6a81611dc6565b506000610f75611de7565b600754909150610f95906001600160a01b0316878d876000869003611e5a565b611067866000015167ffffffffffffffff16600760009054906101000a90046001600160a01b031688604001516001600160801b03168960800151600f0b600089896000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561102757600080fd5b505afa15801561103b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061105f9190810190613b91565b600f0b612100565b6000611071612185565b6001600160a01b0316637a018a1e6110876121a0565b6040518263ffffffff1660e01b81526004016110a391906146b1565b60206040518083038186803b1580156110bb57600080fd5b505afa1580156110cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110f39190810190613b73565b6001019050611100613910565b6040518061012001604052808a151581526020018e600f0b81526020018c6001600160801b031681526020018a611137578361113a565b60005b6001600160801b03908116825260006020830152851660408201526060018a611165578d4201611168565b60005b81524260208201526040018b905260075490915061118f906001600160a01b0316826121f0565b60048054600754835160208501516040808701516060880151608089015160a08a015160c08b015160e08c01516101008d01519651632055462760e11b81526001600160a01b039b8c169c6340aa8c4e9c6111ef9c169a99989101614544565b600060405180830381600087803b15801561120957600080fd5b505af115801561121d573d6000803e3d6000fd5b505050505050505050505050505050505050565b6000546001600160a01b03163314610ca85760405162461bcd60e51b8152600401610345906148d0565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061129d57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156112dc578160200160208202803883390190505b50905060005b835181101561131e578381815181106112f757fe5b602002602001015182828151811061130b57fe5b60209081029190910101526001016112e2565b5060005b82518110156113615782818151811061133757fe5b602002602001015182828651018151811061134e57fe5b6020908102919091010152600101611322565b5092915050565b6113706138a2565b6004805460075460405163055f575160e41b81526001600160a01b03928316936355f57510936113a29316910161450d565b60a06040518083038186803b1580156113ba57600080fd5b505afa1580156113ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113f29190810190613cb6565b90506114098160800151600f0b600014600b6122ca565b600082600281111561141757fe5b14156114355760405162461bcd60e51b815260040161034590614850565b6106f9611440610caa565b6080830151600003600f0b878787600288600281111561145c57fe5b14610d37565b600061148282706d696e44656c617954696d6544656c746160781b6122e0565b92915050565b600061148282706d617844656c617954696d6544656c746160781b6122e0565b60006114b26123a4565b6001600160a01b031663856aae6c6114c8610caa565b6040518263ffffffff1660e01b81526004016114e491906146b1565b60006040518083038186803b1580156114fc57600080fd5b505afa158015611510573d6000803e3d6000fd5b5050505061151c6123a4565b6001600160a01b03166342a28e216115326121a0565b6040518263ffffffff1660e01b815260040161154e91906146b1565b60006040518083038186803b15801561156657600080fd5b505afa15801561157a573d6000803e3d6000fd5b5050505081156115f75761158c6123a4565b6001600160a01b031663856aae6c6115aa6115a5610caa565b6123be565b6040518263ffffffff1660e01b81526004016115c691906146b1565b60006040518083038186803b1580156115de57600080fd5b505afa1580156115f2573d6000803e3d6000fd5b505050505b6000806000611604612185565b6001600160a01b031663045056f861161a6121a0565b6040518263ffffffff1660e01b815260040161163691906146b1565b606060405180830381600087803b15801561165057600080fd5b505af1158015611664573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116889190810190613d22565b9250925092506116a1828061169a5750815b60016122ca565b50909392505050565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b1580156116ee57600080fd5b505afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117269190810190613b91565b600f0b9050600061173d611738610caa565b61248f565b90506000611751838363ffffffff6124a716565b9050600061177583611769868a63ffffffff6124d116565b9063ffffffff6124a716565b9050600061179961178c888563ffffffff61251716565b889063ffffffff6124d116565b905060006117bd6117b0898563ffffffff61251716565b899063ffffffff6124d116565b90506117db671bc16d674ec80000611769848463ffffffff6124d116565b9998505050505050505050565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b15801561182c57600080fd5b505afa158015611840573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118649190810190613b73565b90506000611870612541565b9050600061187d856125ee565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f2916118ad918591016147eb565b600060405180830381600087803b1580156118c757600080fd5b505af11580156118db573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e76562925061190e914291016149a8565b600060405180830381600087803b15801561192857600080fd5b505af115801561193c573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f22925061196f918691016147eb565b600060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b815290516116a19550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b1580156119ea57600080fd5b505afa1580156119fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a229190810190613d65565b63ffffffff16612649565b600061148282733a30b5b2b92332b2a232b630bcb2b227b93232b960611b6122e0565b6000611482827f74616b65724665654f6666636861696e44656c617965644f72646572000000006122e0565b6000611482827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b6122e0565b6000611482827f6d616b65724665654f6666636861696e44656c617965644f72646572000000006122e0565b611ad36138a2565b81516000908190611aed575083915060009050600a611dbf565b611afb8585602001516126f9565b15611b0f5750839150600090506004611dbf565b600080611b1a612737565b915091508015611b37575085935060009250600c9150611dbf9050565b611b4186836127d4565b9350600080611b58898960400151886000036129da565b91509150611b6581612a61565b15611b7c57889650600095509350611dbf92505050565b611b846138a2565b6040518060a001604052808b6000015167ffffffffffffffff168152602001611bab612a78565b67ffffffffffffffff168152602001846001600160801b031681526020018a604001516001600160801b03168152602001611bfa8b600001518d60800151600f0b6124d190919063ffffffff16565b600f0b81525090506000611c1c8b60800151600f0b8360800151600f0b612b11565b8015611c455750611c338b60800151600f0b612b30565b611c438360800151600f0b612b30565b105b905080611c8f57611c54612b3b565b6040830151611c72906001600160801b03168a63ffffffff612ba016565b1015611c8f57508997506000965060089550611dbf945050505050565b6000611ca68360800151600f0b8c60200151612bc5565b90506000611ccf82611cc38660800151600f0b8f60200151612c27565b9063ffffffff612ba016565b9050808611611cf057509198506000975060049650611dbf95505050505050565b6000611d23611d05888d63ffffffff612ba016565b6117698f604001518860800151600f0b61251790919063ffffffff16565b9050611d2e81612b30565b611d49662386f26fc10000611cc3611d44610caa565b612c71565b1015611d6957508c9a506000995060079850611dbf975050505050505050565b50611d92611d7d611d78610caa565b612c8b565b8e60800151600f0b8660800151600f0b612ca8565b15611db057508b99506000985060069750611dbf9650505050505050565b50919850600096505050505050505b9250925092565b611dcf81612a61565b15611de4576005600082600f81111561031857fe5b50565b6000611df1612e92565b6001600160a01b03166323257c2b600080516020614afe83398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401611e429291906146cd565b60206040518083038186803b158015610cfa57600080fd5b611e626138a2565b5083600080611e728386866129da565b91509150611e7f81611dc6565b6000611e89612a78565b9050611f496040518060a00160405280600067ffffffffffffffff1681526020018367ffffffffffffffff168152602001856001600160801b03168152602001886001600160801b031681526020018a60800151600f0b8152506040518060a00160405280600067ffffffffffffffff1681526020018b6020015167ffffffffffffffff1681526020018b604001516001600160801b031681526020018b606001516001600160801b031681526020018b60800151600f0b815250612eaf565b6001600160801b03831660408901526080880151600f0b15612064576001600160801b038616606089015267ffffffffffffffff811660208901526000851215612064576000611fa08960800151600f0b88612bc5565b90506000611fb982611cc38c60800151600f0b8b612c27565b9050611fc98186111560086122ca565b60808a0151600090611fe490600f0b8b63ffffffff6124d116565b90506000611ff98c60800151600f0b83612b11565b801561201b57506120108c60800151600f0b612b30565b61201983612b30565b105b90508061205f5761204b6120386120338e8d8b612f49565b612b30565b612043611d44610caa565b1060076122ca565b61205f612056612b3b565b881060086122ca565b505050505b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8a8a600001518b602001518c604001518d606001518e608001516040518763ffffffff1660e01b81526004016120c3969594939291906145d9565b600060405180830381600087803b1580156120dd57600080fd5b505af11580156120f1573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff9790612132908a908a908a908a908a908a908a90602001614940565b604051602081830303815290604052600360405161214f906144f7565b6040519081900390208d6121628e612f6d565b60006040518763ffffffff1660e01b81526004016120c396959493929190614796565b6000610d326c45786368616e6765526174657360981b612f79565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b158015610cfa57600080fd5b6006548151602080840151606085015160e086015160c0870151608088015160a08901516101008a01516040516001600160a01b03909a169963907dff97996122429990989796959493929101614647565b604051602081830303815290604052600260405161225f906144e1565b604051809103902061227087612f6d565b6000806040518763ffffffff1660e01b81526004016122949695949392919061475c565b600060405180830381600087803b1580156122ae57600080fd5b505af11580156122c2573d6000803e3d6000fd5b505050505050565b8115610641576005600082600f81111561031857fe5b60006122ea612e92565b6001600160a01b03166323257c2b600080516020614afe833981519152858560405160200161231a92919061449b565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161234d9291906146cd565b60206040518083038186803b15801561236557600080fd5b505afa158015612379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061239d9190810190613b73565b9392505050565b6000610d326b53797374656d53746174757360a01b612f79565b60006123c8612e92565b6001600160a01b031663f7833c5d600080516020614afe83398151915284706f6666636861696e4d61726b65744b657960781b60405160200161240c92919061449b565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161243f9291906146cd565b60206040518083038186803b15801561245757600080fd5b505afa15801561246b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114829190810190613b73565b60006114828268736b65775363616c6560b81b6122e0565b600061239d826124c585670de0b6b3a764000063ffffffff612fd616565b9063ffffffff61304116565b60008282018183128015906124e65750838112155b806124fb57506000831280156124fb57508381125b61239d5760405162461bcd60e51b815260040161034590614880565b6000670de0b6b3a7640000612532848463ffffffff612fd616565b8161253957fe5b059392505050565b6000610d326125656125516130a5565b61255961314c565b9063ffffffff61251716565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b1580156125a757600080fd5b505afa1580156125bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125df9190810190613b91565b600f0b9063ffffffff6124d116565b60006114826125fc83613173565b6004546001600160a01b03166341108cf2612615612a78565b6040518263ffffffff1660e01b815260040161263191906146b1565b60206040518083038186803b1580156125a757600080fd5b6006546040516001600160a01b039091169063907dff97906126759087908790879087906020016147f9565b604051602081830303815290604052600160405161269290614502565b6040519081900381206001600160e01b031960e086901b1682526126c193929160009081908190600401614708565b600060405180830381600087803b1580156126db57600080fd5b505af11580156126ef573d6000803e3d6000fd5b5050505050505050565b60008260800151600f0b6000141561271357506000611482565b6127248360800151600f0b83612c27565b61272e8484613200565b11159392505050565b60008061274261322e565b6001600160a01b031663c39def0b631cd554d160e21b6127606121a0565b6040518363ffffffff1660e01b815260040161277d9291906146cd565b604080518083038186803b15801561279457600080fd5b505afa1580156127a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127cc9190810190613cf2565b915091509091565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b15801561281857600080fd5b505afa15801561282c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128509190810190613b91565b600f0b905060006128728560400151866000015161251790919063ffffffff16565b9050600061288f8561288384612b30565b9063ffffffff61324516565b90506128a18660000151840184612b11565b1561297057600061293a83600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128fa57600080fd5b505afa15801561290e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129329190810190613b91565b600f0b612b11565b612948578660a0015161294e565b86608001515b9050612963612033848363ffffffff61251716565b8201945050505050611482565b855160009061298c90612033908681019063ffffffff6124a716565b90506000816012600a0a03905060006129b089608001516128838561288389612b30565b905060006129c98a60a00151612883856128838a612b30565b919094010198975050505050505050565b60008060006129f9846129ed888861326f565b9063ffffffff6124d116565b90506000811215612a1257506000915060089050612a59565b60808601518190600f0b6000612a288289612c27565b90508115801590612a395750808311155b15612a4e578260049550955050505050612a59565b509093506000925050505b935093915050565b60008082600f811115612a7057fe5b141592915050565b6000610d326001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b158015612acd57600080fd5b505afa158015612ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b059190810190613b73565b9063ffffffff6132a916565b6000821580612b1e575081155b8061239d575050600090811291131490565b6000611482826132d1565b6000612b45612e92565b6001600160a01b03166323257c2b600080516020614afe8339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b8152600401611e429291906146cd565b60008282018381101561239d5760405162461bcd60e51b815260040161034590614870565b600082612bd457506000611482565b6000612be361203385856132e7565b9050612c1f612bf8612bf3610caa565b6132f9565b61288383612883612c0a611738610caa565b612c138a612b30565b9063ffffffff61332516565b949350505050565b600080612c4a612c3d612c38610caa565b61334f565b6128838561288388612b30565b9050612c1f612c57613374565b611cc3612c6487876133d0565b849063ffffffff612ba016565b6000611482826a6d61784c6576657261676560a81b6122e0565b6000611482826d6d61784d61726b657456616c756560901b6122e0565b6000612cb48383612b11565b8015612cd05750612cc483612b30565b612ccd83612b30565b11155b15612cdd5750600061239d565b6000612d7c836129ed86600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d3557600080fd5b505afa158015612d49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d6d9190810190613b91565b600f0b9063ffffffff61342516565b90506000612e27612d8c856132d1565b6129ed612d98886132d1565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b158015612dda57600080fd5b505afa158015612dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e129190810190613cd4565b6001600160801b03169063ffffffff61342516565b905060008460001215612e4b57612e44828463ffffffff6124d116565b9050612e5e565b612e5b828463ffffffff61342516565b90505b612e7261203382600263ffffffff61304116565b871015612e85576001935050505061239d565b5060009695505050505050565b6000610d326e466c657869626c6553746f7261676560881b612f79565b6000612eba8361346b565b90506000612ec78361346b565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f792612f2d928692612f2192899288926322d3090a92828101926020929190829003018186803b1580156125a757600080fd5b9063ffffffff61342516565b6040518263ffffffff1660e01b81526004016126c191906147eb565b600081612f585750600061239d565b612c1f826117698660800151600f0b866132e7565b6001600160a01b031690565b60008181526003602090815260408083205490516001600160a01b039091169182151591612fa9918691016144c1565b604051602081830303815290604052906113615760405162461bcd60e51b8152600401610345919061482e565b600082612fe557506000611482565b82600019148015612ff95750600160ff1b82145b156130165760405162461bcd60e51b8152600401610345906148f0565b8282028284828161302357fe5b051461239d5760405162461bcd60e51b8152600401610345906148f0565b6000816130605760405162461bcd60e51b815260040161034590614930565b816000191480156130745750600160ff1b83145b156130915760405162461bcd60e51b8152600401610345906148c0565b600082848161309c57fe5b05949350505050565b6000610d3262015180611769600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ff57600080fd5b505afa158015613113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131379190810190613d65565b63ffffffff16426132a990919063ffffffff16565b60008061315f61315a610caa565b613548565b905061316d81612559613569565b91505090565b60008061317e612541565b905060006131df6012600a0a60020261176984600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a757600080fd5b6000039050612c1f846125596131f36130a5565b849063ffffffff61251716565b6000806132216132178560800151600f0b85612bc5565b612f21868661326f565b9050612c1f600082613629565b6000610d326822bc31b430b733b2b960b91b612f79565b6000670de0b6b3a7640000613260848463ffffffff61363e16565b8161326757fe5b049392505050565b60008061327c8484613678565b9050612c1f816129ed61328f87876136c9565b60408801516001600160801b03169063ffffffff6124d116565b6000828211156132cb5760405162461bcd60e51b815260040161034590614890565b50900390565b60008082126132e05781611482565b5060000390565b600061239d838363ffffffff61251716565b6000611482827f6c69717569646174696f6e5072656d69756d4d756c7469706c696572000000006122e0565b600061239d8261334385670de0b6b3a764000063ffffffff61363e16565b9063ffffffff61370716565b600061148282756c69717569646174696f6e427566666572526174696f60501b6122e0565b600061337e612e92565b6001600160a01b03166323257c2b600080516020614afe833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401611e429291906146cd565b6000806133de612c3d61373c565b905060006133ea6137a1565b905060008183116133fb57826133fd565b815b90506000613409611de7565b9050808211613418578061341a565b815b979650505050505050565b600081830381831280159061343a5750838113155b8061344f575060008312801561344f57508381135b61239d5760405162461bcd60e51b815260040161034590614900565b600480546020830151604051632088467960e11b81526000936114829361352e9361351a936001600160a01b03909216926341108cf2926134ad9291016149b6565b60206040518083038186803b1580156134c557600080fd5b505afa1580156134d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134fd9190810190613b91565b60608601516001600160801b031690600f0b63ffffffff6124d116565b6080850151600f0b9063ffffffff61251716565b60408401516001600160801b03169063ffffffff61342516565b600061148282716d617846756e64696e6756656c6f6369747960701b6122e0565b60008061360361357a611738610caa565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b1580156135bc57600080fd5b505afa1580156135d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135f49190810190613b91565b600f0b9063ffffffff6124a716565b905061316d61361b670de0b6b3a763ffff1983613629565b670de0b6b3a76400006137fc565b6000818312613638578261239d565b50919050565b60008261364d57506000611482565b8282028284828161365a57fe5b041461239d5760405162461bcd60e51b8152600401610345906148e0565b602082015160009067ffffffffffffffff1680613699576000915050611482565b60006136a58285613812565b60808601519091506136c090600f0b8263ffffffff61251716565b95945050505050565b6000806136ec84606001516001600160801b03168461342590919063ffffffff16565b6080850151909150612c1f90600f0b8263ffffffff61251716565b60008082116137285760405162461bcd60e51b8152600401610345906148a0565b600082848161373357fe5b04949350505050565b6000613746612e92565b6001600160a01b03166323257c2b600080516020614afe8339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401611e429291906146cd565b60006137ab612e92565b6001600160a01b03166323257c2b600080516020614afe83398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401611e429291906146cd565b600081831261380b578161239d565b5090919050565b60048054604051632088467960e11b815260009261239d926001600160a01b0316916341108cf291613846918891016146b1565b60206040518083038186803b15801561385e57600080fd5b505afa158015613872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138969190810190613b91565b600f0b612f21846125ee565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b803561148281614ab3565b805161148281614ab3565b805161148281614ac7565b803561148281614ad0565b805161148281614ad0565b805161148281614ad9565b600061012082840312156139b157600080fd5b6139bc6101206149c4565b905060006139ca8484613972565b82525060206139db84848301613993565b60208301525060406139ef84828501613af8565b6040830152506060613a0384828501613af8565b6060830152506080613a1784828501613af8565b60808301525060a0613a2b84828501613af8565b60a08301525060c0613a3f84828501613988565b60c08301525060e0613a5384828501613988565b60e083015250610100613a6884828501613988565b6101008301525092915050565b600060a08284031215613a8757600080fd5b613a9160a06149c4565b90506000613a9f8484613b0e565b8252506020613ab084848301613b0e565b6020830152506040613ac484828501613af8565b6040830152506060613ad884828501613af8565b6060830152506080613aec84828501613993565b60808301525092915050565b805161148281614ae2565b805161148281614aeb565b805161148281614af4565b600060208284031215613b2b57600080fd5b6000612c1f848461395c565b600060208284031215613b4957600080fd5b6000612c1f8484613967565b600060208284031215613b6757600080fd5b6000612c1f8484613972565b600060208284031215613b8557600080fd5b6000612c1f8484613988565b600060208284031215613ba357600080fd5b6000612c1f8484613993565b60008060408385031215613bc257600080fd5b6000613bce858561397d565b9250506020613bdf8582860161397d565b9150509250929050565b600080600060608486031215613bfe57600080fd5b6000613c0a868661397d565b9350506020613c1b8682870161397d565b9250506040613c2c8682870161397d565b9150509250925092565b60008060008060808587031215613c4c57600080fd5b6000613c58878761397d565b9450506020613c698782880161397d565b9350506040613c7a8782880161397d565b9250506060613c8b8782880161397d565b91505092959194509250565b60006101208284031215613caa57600080fd5b6000612c1f848461399e565b600060a08284031215613cc857600080fd5b6000612c1f8484613a75565b600060208284031215613ce657600080fd5b6000612c1f8484613af8565b60008060408385031215613d0557600080fd5b6000613d118585613988565b9250506020613bdf85828601613972565b600080600060608486031215613d3757600080fd5b6000613d438686613988565b9350506020613d5486828701613972565b9250506040613c2c86828701613972565b600060208284031215613d7757600080fd5b6000612c1f8484613b03565b6000613d8f8383613e11565b505060200190565b613da081614a47565b82525050565b613da081614a0f565b6000613dba826149fd565b613dc48185614a01565b9350613dcf836149eb565b8060005b83811015613dfd578151613de78882613d83565b9750613df2836149eb565b925050600101613dd3565b509495945050505050565b613da081614a1a565b613da0816104dd565b613da0613e26826104dd565b6104dd565b6000613e36826149fd565b613e408185614a01565b9350613e50818560208601614a7d565b613e5981614aa9565b9093019392505050565b613da081614a4e565b613da081614a1f565b613da081614a59565b613da081614a67565b600081546001811660008114613ea45760018114613eca57613f09565b607f6002830416613eb58187614a01565b60ff1984168152955050602085019250613f09565b60028204613ed88187614a01565b9550613ee3856149f1565b60005b82811015613f0257815488820152600190910190602001613ee6565b8701945050505b505092915050565b6000613f1e601283614a01565b71696e76616c6964206f72646572207479706560701b815260200192915050565b6000613f4c603583614a01565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613fa3601b83614a01565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613fdc602183614a01565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061401f601e83614a01565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614058601a83614a01565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614091601183614a0a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006140be601383614a01565b7264656c6179206f7574206f6620626f756e647360681b815260200192915050565b60006140ed602183614a01565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614130602f83614a01565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000614181602183614a01565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006141c4605a83614a0a565b7f44656c617965644f726465725375626d697474656428616464726573732c626f81527f6f6c2c696e743235362c75696e743235362c75696e743235362c75696e74323560208201527f362c75696e743235362c75696e743235362c62797465733332290000000000006040820152605a0192915050565b6000614249602783614a01565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000614292601983614a0a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006142cb605683614a0a565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b6000614349602483614a01565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b600061438f601583614a01565b7470726576696f7573206f726465722065786973747360581b815260200192915050565b60006143c0601783614a01565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b60006143f9602083614a01565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b6000614432603083614a0a565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b613da081614a25565b613da081614a31565b613da081614a72565b613da081614a3a565b60006144a78285613e1a565b6020820191506144b78284613e1a565b5060200192915050565b60006144cc82614084565b91506144d88284613e1a565b50602001919050565b6000611482826141b7565b60006144cc82614285565b6000611482826142be565b600061148282614425565b602081016114828284613da6565b602081016114828284613d97565b604081016145378285613da6565b61239d6020830184613da6565b6101408101614553828d613da6565b614560602083018c613e08565b61456d604083018b613e6c565b61457a606083018a614477565b6145876080830189614477565b61459460a0830188614477565b6145a160c0830187614477565b6145ae60e0830186613e11565b6145bc610100830185613e11565b6145ca610120830184613e11565b9b9a5050505050505050505050565b60c081016145e78289613da6565b6145f46020830188614492565b6146016040830187614492565b61460e6060830186614477565b61461b6080830185614477565b61341a60a0830184613e6c565b6020808252810161239d8184613daf565b602081016114828284613e08565b6101008101614656828b613e08565b614663602083018a613e6c565b6146706040830189614477565b61467d6060830188613e11565b61468a6080830187613e11565b61469760a0830186614477565b6146a460c0830185614477565b6117db60e0830184613e11565b602081016114828284613e11565b604081016145378285613e11565b604081016146db8285613e11565b61239d6020830184613e11565b604081016146f68285613e11565b8181036020830152612c1f8184613e2b565b60c080825281016147198189613e2b565b90506147286020830188613e7e565b6147356040830187613e11565b6147426060830186613e75565b61474f6080830185613e75565b61341a60a0830184613e75565b60c0808252810161476d8189613e2b565b905061477c6020830188613e7e565b6147896040830187613e11565b6147426060830186613e11565b60c080825281016147a78189613e2b565b90506147b66020830188613e7e565b6147c36040830187613e11565b6147d06060830186613e11565b61474f6080830185613e11565b602081016114828284613e63565b602081016114828284613e6c565b608081016148078287613e11565b6148146020830186613e11565b6148216040830185613e11565b6136c06060830184613e11565b6020808252810161239d8184613e2b565b6020808252810161239d8184613e87565b6020808252810161148281613f11565b6020808252810161148281613f3f565b6020808252810161148281613f96565b6020808252810161148281613fcf565b6020808252810161148281614012565b602080825281016114828161404b565b60208082528101611482816140b1565b60208082528101611482816140e0565b6020808252810161148281614123565b6020808252810161148281614174565b602080825281016114828161423c565b602080825281016114828161433c565b6020808252810161148281614382565b60208082528101611482816143b3565b60208082528101611482816143ec565b60e0810161494e828a613e11565b61495b6020830189613e11565b6149686040830188613e11565b6149756060830187613e11565b6149826080830186613e11565b61498f60a0830185613e11565b61499c60c0830184613e11565b98975050505050505050565b602081016114828284614480565b602081016114828284614489565b60405181810167ffffffffffffffff811182821017156149e357600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b600061148282612f6d565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b67ffffffffffffffff1690565b6000611482825b600061148282614a0f565b6000611482613e26836104dd565b6000611482826104dd565b600061148282614a3a565b60005b83811015614a98578181015183820152602001614a80565b838111156103645750506000910152565b601f01601f191690565b614abc81614a0f565b8114611de457600080fd5b614abc81614a1a565b614abc816104dd565b614abc81614a1f565b614abc81614a25565b614abc81614a31565b614abc81614a3a56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a72315820d2e77b40ea131f115359d020520662d88e604caeb1c952fedb96d7db2c618e0c6c6578706572696d656e74616cf564736f6c63430005100040", + "bytecode": "60806040523480156200001157600080fd5b506040516200559838038062005598833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b614b608062000a386000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806385f05ab5116100ad578063bc67f83211610071578063bc67f83214610217578063c5a4b07a1461022a578063d67bdd251461023d578063ec55688914610245578063ed44a2db1461024d57610121565b806385f05ab5146101c1578063899ffef4146101d45780638da5cb5b146101e957806397107d6d146101f1578063a1c35a351461020457610121565b80632af64bd3116100f45780632af64bd31461017457806353a47bb714610189578063741853601461019e578063787d6c30146101a657806379ba5097146101b957610121565b806304f3bcec1461012657806308fb1b771461014457806309461cfe1461014c5780631627540c14610161575b600080fd5b61012e610260565b60405161013b91906147dd565b60405180910390f35b61012e61026f565b61015f61015a366004613be9565b61027e565b005b61015f61016f366004613b19565b61036a565b61017c6103c8565b60405161013b9190614639565b6101916104e0565b60405161013b919061450d565b61015f6104ef565b61015f6101b4366004613c36565b610645565b61015f610700565b61015f6101cf366004613be9565b61079c565b6101dc610851565b60405161013b9190614628565b6101916109c3565b61015f6101ff366004613b19565b6109d2565b61015f610212366004613baf565b610a25565b61015f610225366004613b19565b610adf565b61015f610238366004613be9565b610b09565b610191610bb4565b61012e610bc3565b61015f61025b366004613baf565b610bd2565b6002546001600160a01b031681565b6004546001600160a01b031681565b610286610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a99916102bc9185910161450d565b60206040518083038186803b1580156102d457600080fd5b505afa1580156102e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061030c9190810190613b55565b1561034e5760056000600e5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b8152600401610345919061483f565b60405180910390fd5b610364610359610caa565b858585600080610d37565b50505050565b610372611231565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103bd90839061450d565b60405180910390a150565b600060606103d4610851565b905060005b81518110156104d65760008282815181106103f057fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104419085906004016146b1565b60206040518083038186803b15801561045957600080fd5b505afa15801561046d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104919190810190613b37565b6001600160a01b03161415806104bc57506000818152600360205260409020546001600160a01b0316155b156104cd57600093505050506104dd565b506001016103d9565b5060019150505b90565b6001546001600160a01b031681565b60606104f9610851565b905060005b815181101561064157600082828151811061051557fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161055791906144ec565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016105839291906146e8565b60206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d39190810190613b37565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061062f90849084906146bf565b60405180910390a150506001016104fe565b5050565b61064d610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a99916106839185910161450d565b60206040518083038186803b15801561069b57600080fd5b505afa1580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106d39190810190613b55565b156106e35760056000600e610318565b6106f96106ee610caa565b868686866000610d37565b5050505050565b6001546001600160a01b0316331461072a5760405162461bcd60e51b815260040161034590614860565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261076d926001600160a01b0391821692911690614529565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6107a4610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a99916107da9185910161450d565b60206040518083038186803b1580156107f257600080fd5b505afa158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061082a9190810190613b55565b1561083a5760056000600e610318565b610364610845610caa565b85600086866001610d37565b60608061085c61125b565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b8160008151811061089e57fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106108c857fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106108f157fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160038151811061092257fe5b602002602001018181525050600080516020614afe8339815191528160048151811061094a57fe5b602002602001018181525050725065727073563245786368616e67655261746560681b8160058151811061097a57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816006815181106109a657fe5b6020026020010181815250506109bc82826112ac565b9250505090565b6000546001600160a01b031681565b6109da611231565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906103bd90839061451b565b610a2d610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a9991610a639185910161450d565b60206040518083038186803b158015610a7b57600080fd5b505afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ab39190810190613b55565b15610ac35760056000600e610318565b610ada610ace610caa565b84600085816001610d37565b505050565b610ae7610c7e565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b610b11610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a9991610b479185910161450d565b60206040518083038186803b158015610b5f57600080fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b979190810190613b55565b15610ba75760056000600e610318565b6103648484846001611368565b6007546001600160a01b031681565b6006546001600160a01b031681565b610bda610c7e565b6007546004805460405163fef48a9960e01b81526001600160a01b03938416939091169163fef48a9991610c109185910161450d565b60206040518083038186803b158015610c2857600080fd5b505afa158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c609190810190613b55565b15610c705760056000600e610318565b610ada600084846002611368565b6006546001600160a01b03163314610ca85760405162461bcd60e51b815260040161034590614920565b565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b158015610cfa57600080fd5b505afa158015610d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d329190810190613b73565b905090565b6004805460075460405163645c04d560e11b81526001600160a01b039283169363c8b809aa93610d699316910161450d565b6101206040518083038186803b158015610d8257600080fd5b505afa158015610d96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dba9190810190613c97565b60200151600f0b15610dde5760405162461bcd60e51b815260040161034590614910565b83610def57610dec86611462565b93505b610df886611462565b8410158015610e0f5750610e0b86611488565b8411155b610e2b5760405162461bcd60e51b8152600401610345906148b0565b610e336138a2565b6004805460075460405163055f575160e41b81526001600160a01b03928316936355f5751093610e659316910161450d565b60a06040518083038186803b158015610e7d57600080fd5b505afa158015610e91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610eb59190810190613cb6565b90506000610ec2836114a8565b90506000610ed088836116aa565b90506000610edd836117e8565b9050610ee76138d0565b6040518060e001604052808b815260200185815260200184815260200189815260200187610f1d57610f188d611a2d565b610f26565b610f268d611a50565b815260200187610f3e57610f398d611a7c565b610f47565b610f478d611a9f565b815260200188905290506000610f5d8683611acb565b92505050610f6a81611dc6565b506000610f75611de7565b600754909150610f95906001600160a01b0316878d876000869003611e5a565b611067866000015167ffffffffffffffff16600760009054906101000a90046001600160a01b031688604001516001600160801b03168960800151600f0b600089896000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561102757600080fd5b505afa15801561103b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061105f9190810190613b91565b600f0b612100565b6000611071612185565b6001600160a01b0316637a018a1e6110876121a0565b6040518263ffffffff1660e01b81526004016110a391906146b1565b60206040518083038186803b1580156110bb57600080fd5b505afa1580156110cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110f39190810190613b73565b6001019050611100613910565b6040518061012001604052808a151581526020018e600f0b81526020018c6001600160801b031681526020018a611137578361113a565b60005b6001600160801b03908116825260006020830152851660408201526060018a611165578d4201611168565b60005b81524260208201526040018b905260075490915061118f906001600160a01b0316826121f0565b60048054600754835160208501516040808701516060880151608089015160a08a015160c08b015160e08c01516101008d01519651632055462760e11b81526001600160a01b039b8c169c6340aa8c4e9c6111ef9c169a99989101614544565b600060405180830381600087803b15801561120957600080fd5b505af115801561121d573d6000803e3d6000fd5b505050505050505050505050505050505050565b6000546001600160a01b03163314610ca85760405162461bcd60e51b8152600401610345906148d0565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061129d57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156112dc578160200160208202803883390190505b50905060005b835181101561131e578381815181106112f757fe5b602002602001015182828151811061130b57fe5b60209081029190910101526001016112e2565b5060005b82518110156113615782818151811061133757fe5b602002602001015182828651018151811061134e57fe5b6020908102919091010152600101611322565b5092915050565b6113706138a2565b6004805460075460405163055f575160e41b81526001600160a01b03928316936355f57510936113a29316910161450d565b60a06040518083038186803b1580156113ba57600080fd5b505afa1580156113ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113f29190810190613cb6565b90506114098160800151600f0b600014600b6122ca565b600082600281111561141757fe5b14156114355760405162461bcd60e51b815260040161034590614850565b6106f9611440610caa565b6080830151600003600f0b878787600288600281111561145c57fe5b14610d37565b600061148282706d696e44656c617954696d6544656c746160781b6122e0565b92915050565b600061148282706d617844656c617954696d6544656c746160781b6122e0565b60006114b26123a4565b6001600160a01b031663856aae6c6114c8610caa565b6040518263ffffffff1660e01b81526004016114e491906146b1565b60006040518083038186803b1580156114fc57600080fd5b505afa158015611510573d6000803e3d6000fd5b5050505061151c6123a4565b6001600160a01b03166342a28e216115326121a0565b6040518263ffffffff1660e01b815260040161154e91906146b1565b60006040518083038186803b15801561156657600080fd5b505afa15801561157a573d6000803e3d6000fd5b5050505081156115f75761158c6123a4565b6001600160a01b031663856aae6c6115aa6115a5610caa565b6123be565b6040518263ffffffff1660e01b81526004016115c691906146b1565b60006040518083038186803b1580156115de57600080fd5b505afa1580156115f2573d6000803e3d6000fd5b505050505b6000806000611604612185565b6001600160a01b031663045056f861161a6121a0565b6040518263ffffffff1660e01b815260040161163691906146b1565b606060405180830381600087803b15801561165057600080fd5b505af1158015611664573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116889190810190613d22565b9250925092506116a1828061169a5750815b60016122ca565b50909392505050565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b1580156116ee57600080fd5b505afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117269190810190613b91565b600f0b9050600061173d611738610caa565b61248f565b90506000611751838363ffffffff6124a716565b9050600061177583611769868a63ffffffff6124d116565b9063ffffffff6124a716565b9050600061179961178c888563ffffffff61251716565b889063ffffffff6124d116565b905060006117bd6117b0898563ffffffff61251716565b899063ffffffff6124d116565b90506117db671bc16d674ec80000611769848463ffffffff6124d116565b9998505050505050505050565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b15801561182c57600080fd5b505afa158015611840573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118649190810190613b73565b90506000611870612541565b9050600061187d856125ee565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f2916118ad918591016147eb565b600060405180830381600087803b1580156118c757600080fd5b505af11580156118db573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e76562925061190e914291016149a8565b600060405180830381600087803b15801561192857600080fd5b505af115801561193c573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f22925061196f918691016147eb565b600060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b815290516116a19550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b1580156119ea57600080fd5b505afa1580156119fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a229190810190613d65565b63ffffffff16612649565b600061148282733a30b5b2b92332b2a232b630bcb2b227b93232b960611b6122e0565b6000611482827f74616b65724665654f6666636861696e44656c617965644f72646572000000006122e0565b6000611482827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b6122e0565b6000611482827f6d616b65724665654f6666636861696e44656c617965644f72646572000000006122e0565b611ad36138a2565b81516000908190611aed575083915060009050600a611dbf565b611afb8585602001516126f9565b15611b0f5750839150600090506004611dbf565b600080611b1a612737565b915091508015611b37575085935060009250600c9150611dbf9050565b611b4186836127d4565b9350600080611b58898960400151886000036129da565b91509150611b6581612a61565b15611b7c57889650600095509350611dbf92505050565b611b846138a2565b6040518060a001604052808b6000015167ffffffffffffffff168152602001611bab612a78565b67ffffffffffffffff168152602001846001600160801b031681526020018a604001516001600160801b03168152602001611bfa8b600001518d60800151600f0b6124d190919063ffffffff16565b600f0b81525090506000611c1c8b60800151600f0b8360800151600f0b612b11565b8015611c455750611c338b60800151600f0b612b30565b611c438360800151600f0b612b30565b105b905080611c8f57611c54612b3b565b6040830151611c72906001600160801b03168a63ffffffff612ba016565b1015611c8f57508997506000965060089550611dbf945050505050565b6000611ca68360800151600f0b8c60200151612bc5565b90506000611ccf82611cc38660800151600f0b8f60200151612c27565b9063ffffffff612ba016565b9050808611611cf057509198506000975060049650611dbf95505050505050565b6000611d23611d05888d63ffffffff612ba016565b6117698f604001518860800151600f0b61251790919063ffffffff16565b9050611d2e81612b30565b611d49662386f26fc10000611cc3611d44610caa565b612c71565b1015611d6957508c9a506000995060079850611dbf975050505050505050565b50611d92611d7d611d78610caa565b612c8b565b8e60800151600f0b8660800151600f0b612ca8565b15611db057508b99506000985060069750611dbf9650505050505050565b50919850600096505050505050505b9250925092565b611dcf81612a61565b15611de4576005600082600f81111561031857fe5b50565b6000611df1612e92565b6001600160a01b03166323257c2b600080516020614afe83398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b8152600401611e429291906146cd565b60206040518083038186803b158015610cfa57600080fd5b611e626138a2565b5083600080611e728386866129da565b91509150611e7f81611dc6565b6000611e89612a78565b9050611f496040518060a00160405280600067ffffffffffffffff1681526020018367ffffffffffffffff168152602001856001600160801b03168152602001886001600160801b031681526020018a60800151600f0b8152506040518060a00160405280600067ffffffffffffffff1681526020018b6020015167ffffffffffffffff1681526020018b604001516001600160801b031681526020018b606001516001600160801b031681526020018b60800151600f0b815250612eaf565b6001600160801b03831660408901526080880151600f0b15612064576001600160801b038616606089015267ffffffffffffffff811660208901526000851215612064576000611fa08960800151600f0b88612bc5565b90506000611fb982611cc38c60800151600f0b8b612c27565b9050611fc98186111560086122ca565b60808a0151600090611fe490600f0b8b63ffffffff6124d116565b90506000611ff98c60800151600f0b83612b11565b801561201b57506120108c60800151600f0b612b30565b61201983612b30565b105b90508061205f5761204b6120386120338e8d8b612f49565b612b30565b612043611d44610caa565b1060076122ca565b61205f612056612b3b565b881060086122ca565b505050505b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8a8a600001518b602001518c604001518d606001518e608001516040518763ffffffff1660e01b81526004016120c3969594939291906145d9565b600060405180830381600087803b1580156120dd57600080fd5b505af11580156120f1573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff9790612132908a908a908a908a908a908a908a90602001614940565b604051602081830303815290604052600360405161214f906144f7565b6040519081900390208d6121628e612f6d565b60006040518763ffffffff1660e01b81526004016120c396959493929190614796565b6000610d326c45786368616e6765526174657360981b612f79565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b158015610cfa57600080fd5b6006548151602080840151606085015160e086015160c0870151608088015160a08901516101008a01516040516001600160a01b03909a169963907dff97996122429990989796959493929101614647565b604051602081830303815290604052600260405161225f906144e1565b604051809103902061227087612f6d565b6000806040518763ffffffff1660e01b81526004016122949695949392919061475c565b600060405180830381600087803b1580156122ae57600080fd5b505af11580156122c2573d6000803e3d6000fd5b505050505050565b8115610641576005600082600f81111561031857fe5b60006122ea612e92565b6001600160a01b03166323257c2b600080516020614afe833981519152858560405160200161231a92919061449b565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161234d9291906146cd565b60206040518083038186803b15801561236557600080fd5b505afa158015612379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061239d9190810190613b73565b9392505050565b6000610d326b53797374656d53746174757360a01b612f79565b60006123c8612e92565b6001600160a01b031663f7833c5d600080516020614afe83398151915284706f6666636861696e4d61726b65744b657960781b60405160200161240c92919061449b565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161243f9291906146cd565b60206040518083038186803b15801561245757600080fd5b505afa15801561246b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114829190810190613b73565b60006114828268736b65775363616c6560b81b6122e0565b600061239d826124c585670de0b6b3a764000063ffffffff612fd616565b9063ffffffff61304116565b60008282018183128015906124e65750838112155b806124fb57506000831280156124fb57508381125b61239d5760405162461bcd60e51b815260040161034590614880565b6000670de0b6b3a7640000612532848463ffffffff612fd616565b8161253957fe5b059392505050565b6000610d326125656125516130a5565b61255961314c565b9063ffffffff61251716565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b1580156125a757600080fd5b505afa1580156125bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125df9190810190613b91565b600f0b9063ffffffff6124d116565b60006114826125fc83613173565b6004546001600160a01b03166341108cf2612615612a78565b6040518263ffffffff1660e01b815260040161263191906146b1565b60206040518083038186803b1580156125a757600080fd5b6006546040516001600160a01b039091169063907dff97906126759087908790879087906020016147f9565b604051602081830303815290604052600160405161269290614502565b6040519081900381206001600160e01b031960e086901b1682526126c193929160009081908190600401614708565b600060405180830381600087803b1580156126db57600080fd5b505af11580156126ef573d6000803e3d6000fd5b5050505050505050565b60008260800151600f0b6000141561271357506000611482565b6127248360800151600f0b83612c27565b61272e8484613200565b11159392505050565b60008061274261322e565b6001600160a01b031663c39def0b631cd554d160e21b6127606121a0565b6040518363ffffffff1660e01b815260040161277d9291906146cd565b604080518083038186803b15801561279457600080fd5b505afa1580156127a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127cc9190810190613cf2565b915091509091565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b15801561281857600080fd5b505afa15801561282c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128509190810190613b91565b600f0b905060006128728560400151866000015161251790919063ffffffff16565b9050600061288f8561288384612b30565b9063ffffffff61324516565b90506128a18660000151840184612b11565b1561297057600061293a83600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128fa57600080fd5b505afa15801561290e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129329190810190613b91565b600f0b612b11565b612948578660a0015161294e565b86608001515b9050612963612033848363ffffffff61251716565b8201945050505050611482565b855160009061298c90612033908681019063ffffffff6124a716565b90506000816012600a0a03905060006129b089608001516128838561288389612b30565b905060006129c98a60a00151612883856128838a612b30565b919094010198975050505050505050565b60008060006129f9846129ed888861326f565b9063ffffffff6124d116565b90506000811215612a1257506000915060089050612a59565b60808601518190600f0b6000612a288289612c27565b90508115801590612a395750808311155b15612a4e578260049550955050505050612a59565b509093506000925050505b935093915050565b60008082600f811115612a7057fe5b141592915050565b6000610d326001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b158015612acd57600080fd5b505afa158015612ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b059190810190613b73565b9063ffffffff6132a916565b6000821580612b1e575081155b8061239d575050600090811291131490565b6000611482826132d1565b6000612b45612e92565b6001600160a01b03166323257c2b600080516020614afe8339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b8152600401611e429291906146cd565b60008282018381101561239d5760405162461bcd60e51b815260040161034590614870565b600082612bd457506000611482565b6000612be361203385856132e7565b9050612c1f612bf8612bf3610caa565b6132f9565b61288383612883612c0a611738610caa565b612c138a612b30565b9063ffffffff61332516565b949350505050565b600080612c4a612c3d612c38610caa565b61334f565b6128838561288388612b30565b9050612c1f612c57613374565b611cc3612c6487876133d0565b849063ffffffff612ba016565b6000611482826a6d61784c6576657261676560a81b6122e0565b6000611482826d6d61784d61726b657456616c756560901b6122e0565b6000612cb48383612b11565b8015612cd05750612cc483612b30565b612ccd83612b30565b11155b15612cdd5750600061239d565b6000612d7c836129ed86600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d3557600080fd5b505afa158015612d49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d6d9190810190613b91565b600f0b9063ffffffff61342516565b90506000612e27612d8c856132d1565b6129ed612d98886132d1565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b158015612dda57600080fd5b505afa158015612dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e129190810190613cd4565b6001600160801b03169063ffffffff61342516565b905060008460001215612e4b57612e44828463ffffffff6124d116565b9050612e5e565b612e5b828463ffffffff61342516565b90505b612e7261203382600263ffffffff61304116565b871015612e85576001935050505061239d565b5060009695505050505050565b6000610d326e466c657869626c6553746f7261676560881b612f79565b6000612eba8361346b565b90506000612ec78361346b565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f792612f2d928692612f2192899288926322d3090a92828101926020929190829003018186803b1580156125a757600080fd5b9063ffffffff61342516565b6040518263ffffffff1660e01b81526004016126c191906147eb565b600081612f585750600061239d565b612c1f826117698660800151600f0b866132e7565b6001600160a01b031690565b60008181526003602090815260408083205490516001600160a01b039091169182151591612fa9918691016144c1565b604051602081830303815290604052906113615760405162461bcd60e51b8152600401610345919061482e565b600082612fe557506000611482565b82600019148015612ff95750600160ff1b82145b156130165760405162461bcd60e51b8152600401610345906148f0565b8282028284828161302357fe5b051461239d5760405162461bcd60e51b8152600401610345906148f0565b6000816130605760405162461bcd60e51b815260040161034590614930565b816000191480156130745750600160ff1b83145b156130915760405162461bcd60e51b8152600401610345906148c0565b600082848161309c57fe5b05949350505050565b6000610d3262015180611769600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156130ff57600080fd5b505afa158015613113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131379190810190613d65565b63ffffffff16426132a990919063ffffffff16565b60008061315f61315a610caa565b613548565b905061316d81612559613569565b91505090565b60008061317e612541565b905060006131df6012600a0a60020261176984600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a757600080fd5b6000039050612c1f846125596131f36130a5565b849063ffffffff61251716565b6000806132216132178560800151600f0b85612bc5565b612f21868661326f565b9050612c1f600082613629565b6000610d326822bc31b430b733b2b960b91b612f79565b6000670de0b6b3a7640000613260848463ffffffff61363e16565b8161326757fe5b049392505050565b60008061327c8484613678565b9050612c1f816129ed61328f87876136c9565b60408801516001600160801b03169063ffffffff6124d116565b6000828211156132cb5760405162461bcd60e51b815260040161034590614890565b50900390565b60008082126132e05781611482565b5060000390565b600061239d838363ffffffff61251716565b6000611482827f6c69717569646174696f6e5072656d69756d4d756c7469706c696572000000006122e0565b600061239d8261334385670de0b6b3a764000063ffffffff61363e16565b9063ffffffff61370716565b600061148282756c69717569646174696f6e427566666572526174696f60501b6122e0565b600061337e612e92565b6001600160a01b03166323257c2b600080516020614afe833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b8152600401611e429291906146cd565b6000806133de612c3d61373c565b905060006133ea6137a1565b905060008183116133fb57826133fd565b815b90506000613409611de7565b9050808211613418578061341a565b815b979650505050505050565b600081830381831280159061343a5750838113155b8061344f575060008312801561344f57508381135b61239d5760405162461bcd60e51b815260040161034590614900565b600480546020830151604051632088467960e11b81526000936114829361352e9361351a936001600160a01b03909216926341108cf2926134ad9291016149b6565b60206040518083038186803b1580156134c557600080fd5b505afa1580156134d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134fd9190810190613b91565b60608601516001600160801b031690600f0b63ffffffff6124d116565b6080850151600f0b9063ffffffff61251716565b60408401516001600160801b03169063ffffffff61342516565b600061148282716d617846756e64696e6756656c6f6369747960701b6122e0565b60008061360361357a611738610caa565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b1580156135bc57600080fd5b505afa1580156135d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135f49190810190613b91565b600f0b9063ffffffff6124a716565b905061316d61361b670de0b6b3a763ffff1983613629565b670de0b6b3a76400006137fc565b6000818312613638578261239d565b50919050565b60008261364d57506000611482565b8282028284828161365a57fe5b041461239d5760405162461bcd60e51b8152600401610345906148e0565b602082015160009067ffffffffffffffff1680613699576000915050611482565b60006136a58285613812565b60808601519091506136c090600f0b8263ffffffff61251716565b95945050505050565b6000806136ec84606001516001600160801b03168461342590919063ffffffff16565b6080850151909150612c1f90600f0b8263ffffffff61251716565b60008082116137285760405162461bcd60e51b8152600401610345906148a0565b600082848161373357fe5b04949350505050565b6000613746612e92565b6001600160a01b03166323257c2b600080516020614afe8339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b8152600401611e429291906146cd565b60006137ab612e92565b6001600160a01b03166323257c2b600080516020614afe83398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b8152600401611e429291906146cd565b600081831261380b578161239d565b5090919050565b60048054604051632088467960e11b815260009261239d926001600160a01b0316916341108cf291613846918891016146b1565b60206040518083038186803b15801561385e57600080fd5b505afa158015613872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138969190810190613b91565b600f0b612f21846125ee565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b803561148281614ab3565b805161148281614ab3565b805161148281614ac7565b803561148281614ad0565b805161148281614ad0565b805161148281614ad9565b600061012082840312156139b157600080fd5b6139bc6101206149c4565b905060006139ca8484613972565b82525060206139db84848301613993565b60208301525060406139ef84828501613af8565b6040830152506060613a0384828501613af8565b6060830152506080613a1784828501613af8565b60808301525060a0613a2b84828501613af8565b60a08301525060c0613a3f84828501613988565b60c08301525060e0613a5384828501613988565b60e083015250610100613a6884828501613988565b6101008301525092915050565b600060a08284031215613a8757600080fd5b613a9160a06149c4565b90506000613a9f8484613b0e565b8252506020613ab084848301613b0e565b6020830152506040613ac484828501613af8565b6040830152506060613ad884828501613af8565b6060830152506080613aec84828501613993565b60808301525092915050565b805161148281614ae2565b805161148281614aeb565b805161148281614af4565b600060208284031215613b2b57600080fd5b6000612c1f848461395c565b600060208284031215613b4957600080fd5b6000612c1f8484613967565b600060208284031215613b6757600080fd5b6000612c1f8484613972565b600060208284031215613b8557600080fd5b6000612c1f8484613988565b600060208284031215613ba357600080fd5b6000612c1f8484613993565b60008060408385031215613bc257600080fd5b6000613bce858561397d565b9250506020613bdf8582860161397d565b9150509250929050565b600080600060608486031215613bfe57600080fd5b6000613c0a868661397d565b9350506020613c1b8682870161397d565b9250506040613c2c8682870161397d565b9150509250925092565b60008060008060808587031215613c4c57600080fd5b6000613c58878761397d565b9450506020613c698782880161397d565b9350506040613c7a8782880161397d565b9250506060613c8b8782880161397d565b91505092959194509250565b60006101208284031215613caa57600080fd5b6000612c1f848461399e565b600060a08284031215613cc857600080fd5b6000612c1f8484613a75565b600060208284031215613ce657600080fd5b6000612c1f8484613af8565b60008060408385031215613d0557600080fd5b6000613d118585613988565b9250506020613bdf85828601613972565b600080600060608486031215613d3757600080fd5b6000613d438686613988565b9350506020613d5486828701613972565b9250506040613c2c86828701613972565b600060208284031215613d7757600080fd5b6000612c1f8484613b03565b6000613d8f8383613e11565b505060200190565b613da081614a47565b82525050565b613da081614a0f565b6000613dba826149fd565b613dc48185614a01565b9350613dcf836149eb565b8060005b83811015613dfd578151613de78882613d83565b9750613df2836149eb565b925050600101613dd3565b509495945050505050565b613da081614a1a565b613da0816104dd565b613da0613e26826104dd565b6104dd565b6000613e36826149fd565b613e408185614a01565b9350613e50818560208601614a7d565b613e5981614aa9565b9093019392505050565b613da081614a4e565b613da081614a1f565b613da081614a59565b613da081614a67565b600081546001811660008114613ea45760018114613eca57613f09565b607f6002830416613eb58187614a01565b60ff1984168152955050602085019250613f09565b60028204613ed88187614a01565b9550613ee3856149f1565b60005b82811015613f0257815488820152600190910190602001613ee6565b8701945050505b505092915050565b6000613f1e601283614a01565b71696e76616c6964206f72646572207479706560701b815260200192915050565b6000613f4c603583614a01565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613fa3601b83614a01565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613fdc602183614a01565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061401f601e83614a01565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614058601a83614a01565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614091601183614a0a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006140be601383614a01565b7264656c6179206f7574206f6620626f756e647360681b815260200192915050565b60006140ed602183614a01565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614130602f83614a01565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000614181602183614a01565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006141c4605a83614a0a565b7f44656c617965644f726465725375626d697474656428616464726573732c626f81527f6f6c2c696e743235362c75696e743235362c75696e743235362c75696e74323560208201527f362c75696e743235362c75696e743235362c62797465733332290000000000006040820152605a0192915050565b6000614249602783614a01565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000614292601983614a0a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006142cb605683614a0a565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b6000614349602483614a01565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b600061438f601583614a01565b7470726576696f7573206f726465722065786973747360581b815260200192915050565b60006143c0601783614a01565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b60006143f9602083614a01565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b6000614432603083614a0a565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b613da081614a25565b613da081614a31565b613da081614a72565b613da081614a3a565b60006144a78285613e1a565b6020820191506144b78284613e1a565b5060200192915050565b60006144cc82614084565b91506144d88284613e1a565b50602001919050565b6000611482826141b7565b60006144cc82614285565b6000611482826142be565b600061148282614425565b602081016114828284613da6565b602081016114828284613d97565b604081016145378285613da6565b61239d6020830184613da6565b6101408101614553828d613da6565b614560602083018c613e08565b61456d604083018b613e6c565b61457a606083018a614477565b6145876080830189614477565b61459460a0830188614477565b6145a160c0830187614477565b6145ae60e0830186613e11565b6145bc610100830185613e11565b6145ca610120830184613e11565b9b9a5050505050505050505050565b60c081016145e78289613da6565b6145f46020830188614492565b6146016040830187614492565b61460e6060830186614477565b61461b6080830185614477565b61341a60a0830184613e6c565b6020808252810161239d8184613daf565b602081016114828284613e08565b6101008101614656828b613e08565b614663602083018a613e6c565b6146706040830189614477565b61467d6060830188613e11565b61468a6080830187613e11565b61469760a0830186614477565b6146a460c0830185614477565b6117db60e0830184613e11565b602081016114828284613e11565b604081016145378285613e11565b604081016146db8285613e11565b61239d6020830184613e11565b604081016146f68285613e11565b8181036020830152612c1f8184613e2b565b60c080825281016147198189613e2b565b90506147286020830188613e7e565b6147356040830187613e11565b6147426060830186613e75565b61474f6080830185613e75565b61341a60a0830184613e75565b60c0808252810161476d8189613e2b565b905061477c6020830188613e7e565b6147896040830187613e11565b6147426060830186613e11565b60c080825281016147a78189613e2b565b90506147b66020830188613e7e565b6147c36040830187613e11565b6147d06060830186613e11565b61474f6080830185613e11565b602081016114828284613e63565b602081016114828284613e6c565b608081016148078287613e11565b6148146020830186613e11565b6148216040830185613e11565b6136c06060830184613e11565b6020808252810161239d8184613e2b565b6020808252810161239d8184613e87565b6020808252810161148281613f11565b6020808252810161148281613f3f565b6020808252810161148281613f96565b6020808252810161148281613fcf565b6020808252810161148281614012565b602080825281016114828161404b565b60208082528101611482816140b1565b60208082528101611482816140e0565b6020808252810161148281614123565b6020808252810161148281614174565b602080825281016114828161423c565b602080825281016114828161433c565b6020808252810161148281614382565b60208082528101611482816143b3565b60208082528101611482816143ec565b60e0810161494e828a613e11565b61495b6020830189613e11565b6149686040830188613e11565b6149756060830187613e11565b6149826080830186613e11565b61498f60a0830185613e11565b61499c60c0830184613e11565b98975050505050505050565b602081016114828284614480565b602081016114828284614489565b60405181810167ffffffffffffffff811182821017156149e357600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b600061148282612f6d565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b67ffffffffffffffff1690565b6000611482825b600061148282614a0f565b6000611482613e26836104dd565b6000611482826104dd565b600061148282614a3a565b60005b83811015614a98578181015183820152602001614a80565b838111156103645750506000910152565b601f01601f191690565b614abc81614a0f565b8114611de457600080fd5b614abc81614a1a565b614abc816104dd565b614abc81614a1f565b614abc81614a25565b614abc81614a31565b614abc81614a3a56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a72315820231ef69835bcad00e57cc37857ad92a7aaf335e7bac7e0897985e6e64a4c8c1f6c6578706572696d656e74616cf564736f6c63430005100040", "abi": [ { "inputs": [ @@ -56298,10 +56498,10 @@ } ], "source": { - "keccak256": "0xc30e0d0475536d8f41b69adf66f26ef168785950166436fd629ff4a4b2d1b287", + "keccak256": "0xa9d29f72e57d3f49832f41dc5895bf77ac2fb5d062572bdc2ec34c2a23e99d85", "urls": [ - "bzz-raw://ec7c8440560f0207ed13b90d19c95439cc5cf62d5432ecb4ea6cabf0ff8a3309", - "dweb:/ipfs/QmSeTf4Hi7Yd1ABMVXsxjfiWewse1uAyNqPxETbLNtWgWt" + "bzz-raw://c8db7d63c691a2027779741789f93f23377cf3d2668756ae4390de4e35724aa3", + "dweb:/ipfs/QmZ4MfAe4jFoDNsz2b3gfYdUV942CH4HLGBcbUMEGWGdM7" ] }, "metadata": { @@ -56323,10 +56523,10 @@ }, "sources": { "PerpsV2MarketDelayedIntent.sol": { - "keccak256": "0xc30e0d0475536d8f41b69adf66f26ef168785950166436fd629ff4a4b2d1b287", + "keccak256": "0xa9d29f72e57d3f49832f41dc5895bf77ac2fb5d062572bdc2ec34c2a23e99d85", "urls": [ - "bzz-raw://ec7c8440560f0207ed13b90d19c95439cc5cf62d5432ecb4ea6cabf0ff8a3309", - "dweb:/ipfs/QmSeTf4Hi7Yd1ABMVXsxjfiWewse1uAyNqPxETbLNtWgWt" + "bzz-raw://c8db7d63c691a2027779741789f93f23377cf3d2668756ae4390de4e35724aa3", + "dweb:/ipfs/QmZ4MfAe4jFoDNsz2b3gfYdUV942CH4HLGBcbUMEGWGdM7" ] } }, @@ -56334,7 +56534,7 @@ } }, "PerpsV2MarketDelayedExecution": { - "bytecode": "60806040523480156200001157600080fd5b506040516200663338038062006633833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b615bfb8062000a386000396000f3fe6080604052600436106100fe5760003560e01c80638da5cb5b11610095578063c70b41e911610064578063c70b41e91461026a578063d67bdd251461028a578063dcce58061461029f578063dfa723cc146102bf578063ec556889146102d2576100fe565b80638da5cb5b146101f557806397107d6d1461020a578063a8300afb1461022a578063bc67f8321461024a576100fe565b806353a47bb7116100d157806353a47bb71461018757806374185360146101a957806379ba5097146101be578063899ffef4146101d3576100fe565b806304f3bcec1461010357806308fb1b771461012e5780631627540c146101435780632af64bd314610165575b600080fd5b34801561010f57600080fd5b506101186102e7565b60405161012591906157c3565b60405180910390f35b34801561013a57600080fd5b506101186102f6565b34801561014f57600080fd5b5061016361015e3660046148e7565b610305565b005b34801561017157600080fd5b5061017a610363565b60405161012591906155ec565b34801561019357600080fd5b5061019c61047b565b6040516101259190615519565b3480156101b557600080fd5b5061016361048a565b3480156101ca57600080fd5b506101636105e0565b3480156101df57600080fd5b506101e8610685565b60405161012591906155db565b34801561020157600080fd5b5061019c6107f7565b34801561021657600080fd5b506101636102253660046148e7565b610806565b34801561023657600080fd5b506101636102453660046148e7565b610859565b34801561025657600080fd5b506101636102653660046148e7565b610a6f565b34801561027657600080fd5b506101636102853660046148e7565b610a99565b34801561029657600080fd5b5061019c610b7c565b3480156102ab57600080fd5b506101636102ba3660046148e7565b610b8b565b6101636102cd366004614923565b610c63565b3480156102de57600080fd5b50610118610e84565b6002546001600160a01b031681565b6004546001600160a01b031681565b61030d610e93565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610358908390615519565b60405180910390a150565b6000606061036f610685565b905060005b815181101561047157600082828151811061038b57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906103dc908590600401615662565b60206040518083038186803b1580156103f457600080fd5b505afa158015610408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061042c9190810190614905565b6001600160a01b031614158061045757506000818152600360205260409020546001600160a01b0316155b156104685760009350505050610478565b50600101610374565b5060019150505b90565b6001546001600160a01b031681565b6060610494610685565b905060005b81518110156105dc5760008282815181106104b057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016104f291906154ed565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161051e9291906156ce565b60206040518083038186803b15801561053657600080fd5b505afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061056e9190810190614905565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105ca9084908490615670565b60405180910390a15050600101610499565b5050565b6001546001600160a01b031633146106135760405162461bcd60e51b815260040161060a90615801565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610656926001600160a01b0391821692911690615535565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610690610ebf565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b816000815181106106d257fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106106fc57fe5b6020026020010181815250506b53797374656d53746174757360a01b8160028151811061072557fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160038151811061075657fe5b602002602001018181525050600080516020615b998339815191528160048151811061077e57fe5b602002602001018181525050725065727073563245786368616e67655261746560681b816005815181106107ae57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816006815181106107da57fe5b6020026020010181815250506107f08282610f10565b9250505090565b6000546001600160a01b031681565b61080e610e93565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610358908390615527565b610861610fcc565b610869614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa9161089891869101615519565b6101206040518083038186803b1580156108b157600080fd5b505afa1580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e991908101906149d2565b90508060200151600f0b600014156109135760405162461bcd60e51b815260040161060a906158d1565b8051156109325760405162461bcd60e51b815260040161060a90615851565b600061093c610ff6565b6001600160a01b0316637a018a1e610952611016565b6040518263ffffffff1660e01b815260040161096e9190615662565b60206040518083038186803b15801561098657600080fd5b505afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109be9190810190614996565b90508160c00151421015806109e057508082606001516001600160801b031611155b6109fc5760405162461bcd60e51b815260040161060a906158c1565b610a188260c001518284606001516001600160801b031661109e565b15610a355760405162461bcd60e51b815260040161060a90615811565b610a6a8383610a4460006110ec565b84610a55610a506112ee565b61133e565b610a65610a606112ee565b611367565b61138a565b505050565b610a77610fcc565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b610aa1610fcc565b610aa9614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91610ad891869101615519565b6101206040518083038186803b158015610af157600080fd5b505afa158015610b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b2991908101906149d2565b90508060200151600f0b60001415610b535760405162461bcd60e51b815260040161060a906158d1565b805115610b725760405162461bcd60e51b815260040161060a90615851565b6105dc8282611684565b6007546001600160a01b031681565b610b93610fcc565b610b9b614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91610bca91869101615519565b6101206040518083038186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c1b91908101906149d2565b90508060200151600f0b60001415610c455760405162461bcd60e51b815260040161060a906158d1565b8051610b725760405162461bcd60e51b815260040161060a90615951565b610c6b610fcc565b610c73614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91610ca291889101615519565b6101206040518083038186803b158015610cbb57600080fd5b505afa158015610ccf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cf391908101906149d2565b90508060200151600f0b60001415610d1d5760405162461bcd60e51b815260040161060a906158d1565b8051610d3b5760405162461bcd60e51b815260040161060a90615951565b610d436119d5565b60075460405163047ce44760e11b81526001600160a01b03928316926308f9c88e923492610d7b929091169088908890600401615550565b6000604051808303818588803b158015610d9457600080fd5b505af1158015610da8573d6000803e3d6000fd5b50505050506000610dbf610dba6112ee565b6119f6565b90506000610dd3610dce6112ee565b611a22565b9050600080610de184611a4e565b915091508460e001518111610e085760405162461bcd60e51b815260040161060a90615841565b828560e00151820311610e2d5760405162461bcd60e51b815260040161060a906158c1565b838560e00151420310610e525760405162461bcd60e51b815260040161060a90615811565b610e7a8886846000610e6a610e656112ee565b611c89565b610a65610e756112ee565b611cb5565b5050505050505050565b6006546001600160a01b031681565b6000546001600160a01b03163314610ebd5760405162461bcd60e51b815260040161060a906158a1565b565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610f0157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610f40578160200160208202803883390190505b50905060005b8351811015610f8257838181518110610f5b57fe5b6020026020010151828281518110610f6f57fe5b6020908102919091010152600101610f46565b5060005b8251811015610fc557828181518110610f9b57fe5b6020026020010151828286510181518110610fb257fe5b6020908102919091010152600101610f86565b5092915050565b6006546001600160a01b03163314610ebd5760405162461bcd60e51b815260040161060a90615931565b60006110116c45786368616e6765526174657360981b611ce1565b905090565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b15801561106657600080fd5b505afa15801561107a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110119190810190614996565b6000806110a96112ee565b905084421180156110c357506110be81611d3e565b854203115b806110e1575082841180156110e157506110dc81611d6a565b838503115b9150505b9392505050565b60006110f6611d8f565b6001600160a01b031663856aae6c61110c6112ee565b6040518263ffffffff1660e01b81526004016111289190615662565b60006040518083038186803b15801561114057600080fd5b505afa158015611154573d6000803e3d6000fd5b50505050611160611d8f565b6001600160a01b03166342a28e21611176611016565b6040518263ffffffff1660e01b81526004016111929190615662565b60006040518083038186803b1580156111aa57600080fd5b505afa1580156111be573d6000803e3d6000fd5b50505050811561123b576111d0611d8f565b6001600160a01b031663856aae6c6111ee6111e96112ee565b611da9565b6040518263ffffffff1660e01b815260040161120a9190615662565b60006040518083038186803b15801561122257600080fd5b505afa158015611236573d6000803e3d6000fd5b505050505b6000806000611248610ff6565b6001600160a01b031663045056f861125e611016565b6040518263ffffffff1660e01b815260040161127a9190615662565b606060405180830381600087803b15801561129457600080fd5b505af11580156112a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112cc9190810190614a67565b9250925092506112e582806112de5750815b6001611e7a565b50909392505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b15801561106657600080fd5b600061136182733a30b5b2b92332b2a232b630bcb2b227b93232b960611b611ebd565b92915050565b6000611361827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b611ebd565b60808501516007546001600160801b03909116906001600160a01b03888116911614156113c55760a08601516001600160801b031601611436565b6113cd611f7a565b60075460a088015160405163a7b5833f60e01b81526001600160a01b039384169363a7b5833f9361140393911691600401615571565b600060405180830381600087803b15801561141d57600080fd5b505af1158015611431573d6000803e3d6000fd5b505050505b61143e6146bf565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161146d918c9101615519565b60a06040518083038186803b15801561148557600080fd5b505afa158015611499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114bd91908101906149f1565b905060006114ca87611f9c565b905060006114df8960200151600f0b896121e1565b905083156115b7576114fb8a848b60200151600f0b848861231f565b6115b783600001516001600160401b03168b85604001516001600160801b03168660800151600f0b600086886000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157757600080fd5b505afa15801561158b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115af91908101906149b4565b600f0b6125d1565b61160c8a6040518060e001604052808c60200151600f0b81526020018b81526020018481526020018c604001516001600160801b031681526020018981526020018881526020018c6101000151815250612656565b60048054604051634c33238d60e11b81526001600160a01b0390911691639866471a9161163b918e9101615519565b600060405180830381600087803b15801561165557600080fd5b505af1158015611669573d6000803e3d6000fd5b505050506116788a888b612d5d565b50505050505050505050565b600061168e610ff6565b6001600160a01b0316637a018a1e6116a4611016565b6040518263ffffffff1660e01b81526004016116c09190615662565b60206040518083038186803b1580156116d857600080fd5b505afa1580156116ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117109190810190614996565b905061171c8282612e33565b6007546001600160a01b038481169116141561187b5761173a6146bf565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161176991889101615519565b60a06040518083038186803b15801561178157600080fd5b505afa158015611795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b991908101906149f1565b905060006117c760006110ec565b905060006117d482611f9c565b90506117f786848760200151600f0b858960a001516001600160801b031661231f565b61187383600001516001600160401b03168785604001516001600160801b03168660800151600f0b600087876000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157757600080fd5b5050506118ec565b611883611f7a565b60075460a084015160405163a7b5833f60e01b81526001600160a01b039384169363a7b5833f936118b993911691600401615571565b600060405180830381600087803b1580156118d357600080fd5b505af11580156118e7573d6000803e3d6000fd5b505050505b60808201516001600160801b03161561196957611907611f7a565b6001600160a01b031663d289ade283608001516040518263ffffffff1660e01b8152600401611936919061596f565b600060405180830381600087803b15801561195057600080fd5b505af1158015611964573d6000803e3d6000fd5b505050505b60048054604051634c33238d60e11b81526001600160a01b0390911691639866471a9161199891879101615519565b600060405180830381600087803b1580156119b257600080fd5b505af11580156119c6573d6000803e3d6000fd5b50505050610a6a838284612d5d565b6000611011725065727073563245786368616e67655261746560681b611ce1565b6000611361827f6f6666636861696e44656c617965644f726465724d6178416765000000000000611ebd565b6000611361827f6f6666636861696e44656c617965644f726465724d696e416765000000000000611ebd565b6000806000611a5d60016110ec565b9050611a676119d5565b6001600160a01b031663368bde96611a7d611016565b866040518363ffffffff1660e01b8152600401611a9b92919061567e565b604080518083038186803b158015611ab257600080fd5b505afa158015611ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aea9190810190614ab4565b90935091508015801590611afe5750600083115b611b1a5760405162461bcd60e51b815260040161060a90615821565b6000838211611bc357611bbe73__$294cd5583d469fad76f60d12ddfb7a049d$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6a57600080fd5b505af4158015611b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ba29190810190614996565b611bb2868563ffffffff612ea616565b9063ffffffff612ed016565b611c52565b611c5273__$294cd5583d469fad76f60d12ddfb7a049d$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0a57600080fd5b505af4158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c429190810190614996565b611bb2848763ffffffff612ea616565b905080611c65611c606112ee565b612ef8565b11611c825760405162461bcd60e51b815260040161060a90615901565b5050915091565b6000611361827f74616b65724665654f6666636861696e44656c617965644f7264657200000000611ebd565b6000611361827f6d616b65724665654f6666636861696e44656c617965644f7264657200000000611ebd565b60008181526003602090815260408083205490516001600160a01b039091169182151591611d11918691016154c2565b60405160208183030381529060405290610fc55760405162461bcd60e51b815260040161060a91906157df565b6000611361827f64656c617965644f72646572436f6e6669726d57696e646f7700000000000000611ebd565b600061136182756e6578745072696365436f6e6669726d57696e646f7760501b611ebd565b60006110116b53797374656d53746174757360a01b611ce1565b6000611db3612f24565b6001600160a01b031663f7833c5d600080516020615b9983398151915284706f6666636861696e4d61726b65744b657960781b604051602001611df792919061549c565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401611e2a92919061567e565b60206040518083038186803b158015611e4257600080fd5b505afa158015611e56573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113619190810190614996565b81156105dc576005600082600f811115611e9057fe5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b815260040161060a91906157f0565b6000611ec7612f24565b6001600160a01b03166323257c2b600080516020615b998339815191528585604051602001611ef792919061549c565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401611f2a92919061567e565b60206040518083038186803b158015611f4257600080fd5b505afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110e59190810190614996565b600061101173233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b611ce1565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b158015611fe057600080fd5b505afa158015611ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120189190810190614996565b90506000612024612f41565b9050600061203185612fa7565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f291612061918591016157d1565b600060405180830381600087803b15801561207b57600080fd5b505af115801561208f573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e7656292506120c2914291016159cc565b600060405180830381600087803b1580156120dc57600080fd5b505af11580156120f0573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f229250612123918691016157d1565b600060405180830381600087803b15801561213d57600080fd5b505af1158015612151573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b815290516112e59550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b15801561219e57600080fd5b505afa1580156121b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121d69190810190614ae4565b63ffffffff16613002565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b15801561222557600080fd5b505afa158015612239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061225d91908101906149b4565b600f0b9050600061227461226f6112ee565b6130a8565b90506000612288838363ffffffff6130c016565b905060006122ac836122a0868a63ffffffff6130ea16565b9063ffffffff6130c016565b905060006122d06122c3888563ffffffff61313016565b889063ffffffff6130ea16565b905060006122f46122e7898563ffffffff61313016565b899063ffffffff6130ea16565b9050612312671bc16d674ec800006122a0848463ffffffff6130ea16565b9998505050505050505050565b6123276146bf565b508360008061233783868661315a565b91509150612344816131e1565b600061234e613202565b905061240a6040518060a0016040528060006001600160401b03168152602001836001600160401b03168152602001856001600160801b03168152602001886001600160801b031681526020018a60800151600f0b8152506040518060a0016040528060006001600160401b031681526020018b602001516001600160401b031681526020018b604001516001600160801b031681526020018b606001516001600160801b031681526020018b60800151600f0b81525061328f565b6001600160801b03831660408901526080880151600f0b15612535576001600160801b03861660608901526001600160401b038116602089015260008512156125355760006124608960800151600f0b8861331d565b90506000612485826124798c60800151600f0b8b61338b565b9063ffffffff6133d516565b9050612495818611156008611e7a565b60808a01516000906124b090600f0b8b63ffffffff6130ea16565b905060006124c58c60800151600f0b836133fa565b80156124e757506124dc8c60800151600f0b613419565b6124e583613419565b105b9050806125305761251c6125046124ff8e8d8b613424565b613419565b61251461250f6112ee565b613448565b106007611e7a565b612530612527613462565b88106008611e7a565b505050505b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8a8a600001518b602001518c604001518d606001518e608001516040518763ffffffff1660e01b81526004016125949695949392919061558c565b600060405180830381600087803b1580156125ae57600080fd5b505af11580156125c2573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff9790612603908a908a908a908a908a908a908a9060200161597d565b6040516020818303038152906040526003604051612620906154f8565b6040519081900390208d6126338e6134df565b60006040518763ffffffff1660e01b81526004016125949695949392919061577c565b6004805460405163fef48a9960e01b815284926001600160a01b039092169163fef48a999161268791859101615519565b60206040518083038186803b15801561269f57600080fd5b505afa1580156126b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126d79190810190614978565b156126e75760056000600e611e90565b6126ef6146bf565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161271e91889101615519565b60a06040518083038186803b15801561273657600080fd5b505afa15801561274a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061276e91908101906149f1565b90506127786146bf565b6040518060a0016040528083600001516001600160401b0316815260200183602001516001600160401b0316815260200183604001516001600160801b0316815260200183606001516001600160801b031681526020018360800151600f0b81525090506127e46146bf565b6000806127f184886134eb565b925092509250612800816131e1565b6128178760400151886060015189600001516137d3565b50600480546080808701519086015160408051632b58ecef60e01b815290516001600160a01b039094169463b545f712946128d094600f90810b946128c494910b928892632b58ecef928083019260209291829003018186803b15801561287d57600080fd5b505afa158015612891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128b591908101906149b4565b600f0b9063ffffffff6130ea16565b9063ffffffff6137fb16565b6040518263ffffffff1660e01b81526004016128ec91906157d1565b600060405180830381600087803b15801561290657600080fd5b505af115801561291a573d6000803e3d6000fd5b505060045460808701516001600160a01b03909116925063460af7a691506129ea9061294890600f0b613419565b611bb261295b8860800151600f0b613419565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561299d57600080fd5b505afa1580156129b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129d59190810190614a0f565b6001600160801b03169063ffffffff6133d516565b6040518263ffffffff1660e01b8152600401612a069190615961565b600060405180830381600087803b158015612a2057600080fd5b505af1158015612a34573d6000803e3d6000fd5b505050508160001015612aa757612a49611f7a565b6001600160a01b031663d289ade2836040518263ffffffff1660e01b8152600401612a749190615662565b600060405180830381600087803b158015612a8e57600080fd5b505af1158015612aa2573d6000803e3d6000fd5b505050505b60c087015115612ad157612ad18760c00151612ac1611016565b612ac96112ee565b8a5186613841565b6040808401516001600160801b031690860152612aee838561328f565b83516000612afa613202565b90508460800151600f0b60001415612b2957600080885260808801819052606088018190526020880152612c4e565b6080860151600f0b612c1557600480546040805163899346c760e01b815290516001600160a01b039092169263899346c7928282019260209290829003018186803b158015612b7757600080fd5b505afa158015612b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612baf9190810190614b02565b60048054604051631dbad55160e31b81529294506001600160a01b03169163edd6aa8891612be2916001870191016159e8565b600060405180830381600087803b158015612bfc57600080fd5b505af1158015612c10573d6000803e3d6000fd5b505050505b6001600160401b038083168852608080870151600f90810b900b9089015260408a01516001600160801b03166060890152811660208801525b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8b89600001518a602001518b604001518c606001518d608001516040518763ffffffff1660e01b8152600401612cad9695949392919061558c565b600060405180830381600087803b158015612cc757600080fd5b505af1158015612cdb573d6000803e3d6000fd5b50505050611678826001600160401b03168b87604001516001600160801b03168860800151600f0b8d600001518e60400151878b600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157757600080fd5b60065481516020808401516060850151608086015160a08701516101008801516040516001600160a01b039098169763907dff9797612daa9790968c9690959094909390929091016155fa565b6040516020818303038152906040526002604051612dc7906154e2565b6040518091039020612dd8886134df565b6000806040518763ffffffff1660e01b8152600401612dfc96959493929190615742565b600060405180830381600087803b158015612e1657600080fd5b505af1158015612e2a573d6000803e3d6000fd5b50505050505050565b815115612e6e57612e45610dba6112ee565b8260e00151420311612e695760405162461bcd60e51b815260040161060a90615911565b6105dc565b612e8a8260c001518284606001516001600160801b031661109e565b6105dc5760405162461bcd60e51b815260040161060a906158f1565b60006110e582612ec485670de0b6b3a764000063ffffffff6138f216565b9063ffffffff61392c16565b600082821115612ef25760405162461bcd60e51b815260040161060a90615871565b50900390565b6000611361827f6f6666636861696e5072696365446976657267656e6365000000000000000000611ebd565b60006110116e466c657869626c6553746f7261676560881b611ce1565b6000611011612f65612f51613961565b612f59613a08565b9063ffffffff61313016565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b15801561287d57600080fd5b6000611361612fb583613a2f565b6004546001600160a01b03166341108cf2612fce613202565b6040518263ffffffff1660e01b8152600401612fea9190615662565b60206040518083038186803b15801561287d57600080fd5b6006546040516001600160a01b039091169063907dff979061302e908790879087908790602001615699565b604051602081830303815290604052600160405161304b9061550e565b6040519081900381206001600160e01b031960e086901b16825261307a939291600090819081906004016156ee565b600060405180830381600087803b15801561309457600080fd5b505af1158015610e7a573d6000803e3d6000fd5b60006113618268736b65775363616c6560b81b611ebd565b60006110e5826130de85670de0b6b3a764000063ffffffff613abc16565b9063ffffffff613b2716565b60008282018183128015906130ff5750838112155b80613114575060008312801561311457508381125b6110e55760405162461bcd60e51b815260040161060a90615861565b6000670de0b6b3a764000061314b848463ffffffff613abc16565b8161315257fe5b059392505050565b60008060006131798461316d8888613b8b565b9063ffffffff6130ea16565b90506000811215613192575060009150600890506131d9565b60808601518190600f0b60006131a8828961338b565b905081158015906131b95750808311155b156131ce5782600495509550505050506131d9565b509093506000925050505b935093915050565b6131ea81613bc5565b156131ff576005600082600f811115611e9057fe5b50565b60006110116001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561325757600080fd5b505afa15801561326b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bb29190810190614996565b600061329a83613bdc565b905060006132a783613bdc565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f7926133019286926128c492899288926322d3090a92828101926020929190829003018186803b15801561287d57600080fd5b6040518263ffffffff1660e01b815260040161307a91906157d1565b60008261332c57506000611361565b600061333b6124ff8585613cb9565b905061338361335061334b6112ee565b613ccb565b6133778361337761336261226f6112ee565b61336b8a613419565b9063ffffffff612ea616565b9063ffffffff613cf716565b949350505050565b6000806133ae6133a161339c6112ee565b613d21565b6133778561337788613419565b90506133836133bb613d46565b6124796133c88787613da2565b849063ffffffff6133d516565b6000828201838110156110e55760405162461bcd60e51b815260040161060a90615831565b6000821580613407575081155b806110e5575050600090811291131490565b600061136182613df7565b600081613433575060006110e5565b613383826122a08660800151600f0b86613cb9565b6000611361826a6d61784c6576657261676560a81b611ebd565b600061346c612f24565b6001600160a01b03166323257c2b600080516020615b998339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b81526004016134c792919061567e565b60206040518083038186803b15801561106657600080fd5b6001600160a01b031690565b6134f36146bf565b8151600090819061350d575083915060009050600a6137cc565b61351b858560200151613e0d565b1561352f57508391506000905060046137cc565b60008061353a613e4b565b915091508015613557575085935060009250600c91506137cc9050565b6135618683613ee8565b93506000806135788989604001518860000361315a565b9150915061358581613bc5565b1561359c578896506000955093506137cc92505050565b6135a46146bf565b6040518060a001604052808b600001516001600160401b031681526020016135ca613202565b6001600160401b03168152602001846001600160801b031681526020018a604001516001600160801b031681526020016136188b600001518d60800151600f0b6130ea90919063ffffffff16565b600f0b8152509050600061363a8b60800151600f0b8360800151600f0b6133fa565b801561366357506136518b60800151600f0b613419565b6136618360800151600f0b613419565b105b9050806136ad57613672613462565b6040830151613690906001600160801b03168a63ffffffff6133d516565b10156136ad575089975060009650600895506137cc945050505050565b60006136c48360800151600f0b8c6020015161331d565b905060006136e1826124798660800151600f0b8f6020015161338b565b9050808611613702575091985060009750600496506137cc95505050505050565b6000613735613717888d63ffffffff6133d516565b6122a08f604001518860800151600f0b61313090919063ffffffff16565b905061374081613419565b613756662386f26fc1000061247961250f6112ee565b101561377657508c9a5060009950600798506137cc975050505050505050565b5061379f61378a6137856112ee565b6140e2565b8e60800151600f0b8660800151600f0b6140ff565b156137bd57508b995060009850600697506137cc9650505050505050565b50919850600096505050505050505b9250925092565b60006137f3600083136137e8578385106137ec565b8385115b600d611e7a565b509192915050565b60008183038183128015906138105750838113155b80613825575060008312801561382557508381135b6110e55760405162461bcd60e51b815260040161060a90615921565b6006546040516001600160a01b039091169063907dff979061386d908790879087908790602001615699565b604051602081830303815290604052600260405161388a90615503565b6040519081900381206001600160e01b031960e086901b1682526138b99392918b906000908190600401615742565b600060405180830381600087803b1580156138d357600080fd5b505af11580156138e7573d6000803e3d6000fd5b505050505050505050565b60008261390157506000611361565b8282028284828161390e57fe5b04146110e55760405162461bcd60e51b815260040161060a906158b1565b600080821161394d5760405162461bcd60e51b815260040161060a90615881565b600082848161395857fe5b04949350505050565b6000611011620151806122a0600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156139bb57600080fd5b505afa1580156139cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139f39190810190614ae4565b63ffffffff1642612ed090919063ffffffff16565b600080613a1b613a166112ee565b6142e9565b9050613a2981612f5961430a565b91505090565b600080613a3a612f41565b90506000613a9b6012600a0a6002026122a084600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561287d57600080fd5b600003905061338384612f59613aaf613961565b849063ffffffff61313016565b600082613acb57506000611361565b82600019148015613adf5750600160ff1b82145b15613afc5760405162461bcd60e51b815260040161060a906158e1565b82820282848281613b0957fe5b05146110e55760405162461bcd60e51b815260040161060a906158e1565b600081613b465760405162461bcd60e51b815260040161060a90615941565b81600019148015613b5a5750600160ff1b83145b15613b775760405162461bcd60e51b815260040161060a90615891565b6000828481613b8257fe5b05949350505050565b600080613b9884846143ca565b90506133838161316d613bab878761441a565b60408801516001600160801b03169063ffffffff6130ea16565b60008082600f811115613bd457fe5b141592915050565b600480546020830151604051632088467960e11b815260009361136193613c9f93613c8b936001600160a01b03909216926341108cf292613c1e9291016159da565b60206040518083038186803b158015613c3657600080fd5b505afa158015613c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c6e91908101906149b4565b60608601516001600160801b031690600f0b63ffffffff6130ea16565b6080850151600f0b9063ffffffff61313016565b60408401516001600160801b03169063ffffffff6137fb16565b60006110e5838363ffffffff61313016565b6000611361827f6c69717569646174696f6e5072656d69756d4d756c7469706c69657200000000611ebd565b6000670de0b6b3a7640000613d12848463ffffffff6138f216565b81613d1957fe5b049392505050565b600061136182756c69717569646174696f6e427566666572526174696f60501b611ebd565b6000613d50612f24565b6001600160a01b03166323257c2b600080516020615b99833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b81526004016134c792919061567e565b600080613db06133a1614458565b90506000613dbc6144bd565b90506000818311613dcd5782613dcf565b815b90506000613ddb614518565b9050808211613dea5780613dec565b815b979650505050505050565b6000808212613e065781611361565b5060000390565b60008260800151600f0b60001415613e2757506000611361565b613e388360800151600f0b8361338b565b613e428484614573565b11159392505050565b600080613e566145a1565b6001600160a01b031663c39def0b631cd554d160e21b613e74611016565b6040518363ffffffff1660e01b8152600401613e9192919061567e565b604080518083038186803b158015613ea857600080fd5b505afa158015613ebc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ee09190810190614a2d565b915091509091565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b158015613f2c57600080fd5b505afa158015613f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f6491908101906149b4565b600f0b90506000613f868560400151866000015161313090919063ffffffff16565b90506000613f978561337784613419565b9050613fa986600001518401846133fa565b1561407857600061404283600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561400257600080fd5b505afa158015614016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061403a91908101906149b4565b600f0b6133fa565b614050578660a00151614056565b86608001515b905061406b6124ff848363ffffffff61313016565b8201945050505050611361565b8551600090614094906124ff908681019063ffffffff6130c016565b90506000816012600a0a03905060006140b889608001516133778561337789613419565b905060006140d18a60a00151613377856133778a613419565b919094010198975050505050505050565b6000611361826d6d61784d61726b657456616c756560901b611ebd565b600061410b83836133fa565b8015614127575061411b83613419565b61412483613419565b11155b15614134575060006110e5565b60006141d38361316d86600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561418c57600080fd5b505afa1580156141a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141c491908101906149b4565b600f0b9063ffffffff6137fb16565b9050600061427e6141e385613df7565b61316d6141ef88613df7565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561423157600080fd5b505afa158015614245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506142699190810190614a0f565b6001600160801b03169063ffffffff6137fb16565b9050600084600012156142a25761429b828463ffffffff6130ea16565b90506142b5565b6142b2828463ffffffff6137fb16565b90505b6142c96124ff82600263ffffffff613b2716565b8710156142dc57600193505050506110e5565b5060009695505050505050565b600061136182716d617846756e64696e6756656c6f6369747960701b611ebd565b6000806143a461431b61226f6112ee565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b15801561435d57600080fd5b505afa158015614371573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061439591908101906149b4565b600f0b9063ffffffff6130c016565b9050613a296143bc670de0b6b3a763ffff19836145b8565b670de0b6b3a76400006145cd565b60208201516000906001600160401b0316806143ea576000915050611361565b60006143f682856145e3565b608086015190915061441190600f0b8263ffffffff61313016565b95945050505050565b60008061443d84606001516001600160801b0316846137fb90919063ffffffff16565b608085015190915061338390600f0b8263ffffffff61313016565b6000614462612f24565b6001600160a01b03166323257c2b600080516020615b998339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b81526004016134c792919061567e565b60006144c7612f24565b6001600160a01b03166323257c2b600080516020615b9983398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b81526004016134c792919061567e565b6000614522612f24565b6001600160a01b03166323257c2b600080516020615b9983398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b81526004016134c792919061567e565b60008061459461458a8560800151600f0b8561331d565b6128c48686613b8b565b90506133836000826145b8565b60006110116822bc31b430b733b2b960b91b611ce1565b60008183126145c757826110e5565b50919050565b60008183126145dc57816110e5565b5090919050565b60048054604051632088467960e11b81526000926110e5926001600160a01b0316916341108cf29161461791889101615662565b60206040518083038186803b15801561462f57600080fd5b505afa158015614643573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061466791908101906149b4565b600f0b6128c484612fa7565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b803561136181615b4e565b805161136181615b4e565b60008083601f84011261471557600080fd5b5081356001600160401b0381111561472c57600080fd5b60208301915083602082028301111561474457600080fd5b9250929050565b805161136181615b62565b805161136181615b6b565b805161136181615b74565b6000610120828403121561477f57600080fd5b61478a6101206159f6565b90506000614798848461474b565b82525060206147a984848301614761565b60208301525060406147bd848285016148c6565b60408301525060606147d1848285016148c6565b60608301525060806147e5848285016148c6565b60808301525060a06147f9848285016148c6565b60a08301525060c061480d84828501614756565b60c08301525060e061482184828501614756565b60e08301525061010061483684828501614756565b6101008301525092915050565b600060a0828403121561485557600080fd5b61485f60a06159f6565b9050600061486d84846148dc565b825250602061487e848483016148dc565b6020830152506040614892848285016148c6565b60408301525060606148a6848285016148c6565b60608301525060806148ba84828501614761565b60808301525092915050565b805161136181615b7d565b805161136181615b86565b805161136181615b8f565b6000602082840312156148f957600080fd5b600061338384846146ed565b60006020828403121561491757600080fd5b600061338384846146f8565b60008060006040848603121561493857600080fd5b600061494486866146ed565b93505060208401356001600160401b0381111561496057600080fd5b61496c86828701614703565b92509250509250925092565b60006020828403121561498a57600080fd5b6000613383848461474b565b6000602082840312156149a857600080fd5b60006133838484614756565b6000602082840312156149c657600080fd5b60006133838484614761565b600061012082840312156149e557600080fd5b6000613383848461476c565b600060a08284031215614a0357600080fd5b60006133838484614843565b600060208284031215614a2157600080fd5b600061338384846148c6565b60008060408385031215614a4057600080fd5b6000614a4c8585614756565b9250506020614a5d8582860161474b565b9150509250929050565b600080600060608486031215614a7c57600080fd5b6000614a888686614756565b9350506020614a998682870161474b565b9250506040614aaa8682870161474b565b9150509250925092565b60008060408385031215614ac757600080fd5b6000614ad38585614756565b9250506020614a5d85828601614756565b600060208284031215614af657600080fd5b600061338384846148d1565b600060208284031215614b1457600080fd5b600061338384846148dc565b6000614b2c8383614c2a565b505060200190565b6000613383848484614c44565b614b4a81615ac7565b82525050565b614b4a81615a90565b6000614b6482615a2e565b614b6e8185615a32565b9350614b7983615a1c565b8060005b83811015614ba7578151614b918882614b20565b9750614b9c83615a1c565b925050600101614b7d565b509495945050505050565b6000614bbe8385615a32565b935083602084028501614bd084610478565b8060005b87811015614c14578484038952614beb8284615a40565b614bf6868284614b34565b9550614c0184615a1c565b60209b909b019a93505050600101614bd4565b5091979650505050505050565b614b4a81615a9b565b614b4a81610478565b614b4a614c3f82610478565b610478565b6000614c508385615a32565b9350614c5d838584615b08565b614c6683615b44565b9093019392505050565b6000614c7b82615a2e565b614c858185615a32565b9350614c95818560208601615b14565b614c6681615b44565b614b4a81615ace565b614b4a81615aa0565b614b4a81615ad9565b614b4a81615ae7565b600081546001811660008114614cdf5760018114614d0557614d44565b607f6002830416614cf08187615a32565b60ff1984168152955050602085019250614d44565b60028204614d138187615a32565b9550614d1e85615a22565b60005b82811015614d3d57815488820152600190910190602001614d21565b8701945050505b505092915050565b6000614d59603583615a32565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000614db0601983615a32565b7f6f7264657220746f6f206f6c642c207573652063616e63656c00000000000000815260200192915050565b6000614de9601383615a32565b720696e76616c69642c207072696365206973203606c1b815260200192915050565b6000614e18601b83615a32565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614e51601183615a32565b701c1c9a58d9481b9bdd081d5c19185d1959607a1b815260200192915050565b6000614e7e601383615a32565b721d5cd9481bd99998da185a5b881b595d1a1bd9606a1b815260200192915050565b6000614ead602183615a32565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614ef0601e83615a32565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614f29601a83615a32565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614f62601183615a3b565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614f8f602183615a32565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614fd2602f83615a32565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000615023602183615a32565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615066601983615a32565b7f6578656375746162696c697479206e6f74207265616368656400000000000000815260200192915050565b600061509f601183615a32565b70373790383932bb34b7bab99037b93232b960791b815260200192915050565b60006150cc602783615a32565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000615115602183615a32565b7f63616e6e6f742062652063616e63656c6c6564206279206b65657065722079658152601d60fa1b602082015260400192915050565b6000615158601983615a32565b7f707269636520646976657267656e636520746f6f206869676800000000000000815260200192915050565b6000615191605083615a3b565b7f44656c617965644f7264657252656d6f76656428616464726573732c626f6f6c81527f2c75696e743235362c696e743235362c75696e743235362c75696e743235362c60208201526f75696e743235362c627974657333322960801b604082015260500192915050565b6000615209601983615a3b565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615242601183615a32565b7018d85b9b9bdd0818d85b98d95b081e595d607a1b815260200192915050565b600061526f605683615a3b565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b60006152ed603583615a3b565b7f5065727073547261636b696e6728627974657333322c627974657333322c627981527474657333322c696e743235362c75696e743235362960581b602082015260350192915050565b6000615344602483615a32565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b600061538a601783615a32565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b60006153c3602083615a32565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b60006153fc601283615a32565b711d5cd9481bdb98da185a5b881b595d1a1bd960721b815260200192915050565b600061542a603083615a3b565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b614b4a81615aa6565b614b4a81615af2565b614b4a81615ab2565b614b4a81615afd565b614b4a81615abb565b60006154a88285614c33565b6020820191506154b88284614c33565b5060200192915050565b60006154cd82614f55565b91506154d98284614c33565b50602001919050565b600061136182615184565b60006154cd826151fc565b600061136182615262565b6000611361826152e0565b60006113618261541d565b602081016113618284614b50565b602081016113618284614b41565b604081016155438285614b50565b6110e56020830184614b50565b6040810161555e8286614b50565b8181036020830152614411818486614bb2565b6040810161557f8285614b50565b6110e56020830184615478565b60c0810161559a8289614b50565b6155a76020830188615493565b6155b46040830187615493565b6155c1606083018661546f565b6155ce608083018561546f565b613dec60a0830184614ca7565b602080825281016110e58184614b59565b602081016113618284614c21565b60e08101615608828a614c21565b6156156020830189614c2a565b6156226040830188614ca7565b61562f606083018761546f565b61563c608083018661546f565b61564960a083018561546f565b61565660c0830184614c2a565b98975050505050505050565b602081016113618284614c2a565b604081016155438285614c2a565b6040810161568c8285614c2a565b6110e56020830184614c2a565b608081016156a78287614c2a565b6156b46020830186614c2a565b6156c16040830185614c2a565b6144116060830184614c2a565b604081016156dc8285614c2a565b81810360208301526133838184614c70565b60c080825281016156ff8189614c70565b905061570e6020830188614cb9565b61571b6040830187614c2a565b6157286060830186614cb0565b6157356080830185614cb0565b613dec60a0830184614cb0565b60c080825281016157538189614c70565b90506157626020830188614cb9565b61576f6040830187614c2a565b6157286060830186614c2a565b60c0808252810161578d8189614c70565b905061579c6020830188614cb9565b6157a96040830187614c2a565b6157b66060830186614c2a565b6157356080830185614c2a565b602081016113618284614c9e565b602081016113618284614ca7565b602080825281016110e58184614c70565b602080825281016110e58184614cc2565b6020808252810161136181614d4c565b6020808252810161136181614da3565b6020808252810161136181614ddc565b6020808252810161136181614e0b565b6020808252810161136181614e44565b6020808252810161136181614e71565b6020808252810161136181614ea0565b6020808252810161136181614ee3565b6020808252810161136181614f1c565b6020808252810161136181614f82565b6020808252810161136181614fc5565b6020808252810161136181615016565b6020808252810161136181615059565b6020808252810161136181615092565b60208082528101611361816150bf565b6020808252810161136181615108565b602080825281016113618161514b565b6020808252810161136181615235565b6020808252810161136181615337565b602080825281016113618161537d565b60208082528101611361816153b6565b60208082528101611361816153ef565b60208101611361828461546f565b602081016113618284615478565b60e0810161598b828a614c2a565b6159986020830189614c2a565b6159a56040830188614c2a565b6159b26060830187614c2a565b6159bf6080830186614c2a565b61564960a0830185614c2a565b602081016113618284615481565b60208101611361828461548a565b602081016113618284615493565b6040518181016001600160401b0381118282101715615a1457600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b6000808335601e1936859003018112615a5857600080fd5b8381016020810193503591506001600160401b03821115615a7857600080fd5b36829003841315615a8857600080fd5b509250929050565b6000611361826134df565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b6001600160401b031690565b6000611361825b600061136182615a90565b6000611361614c3f83610478565b600061136182610478565b600061136182615aa6565b600061136182615abb565b82818337506000910152565b60005b83811015615b2f578181015183820152602001615b17565b83811115615b3e576000848401525b50505050565b601f01601f191690565b615b5781615a90565b81146131ff57600080fd5b615b5781615a9b565b615b5781610478565b615b5781615aa0565b615b5781615aa6565b615b5781615ab2565b615b5781615abb56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a72315820755a2db060409f480786c7579cd528d7da2c0d67be28f1e941664787f7f54eac6c6578706572696d656e74616cf564736f6c63430005100040", + "bytecode": "60806040523480156200001157600080fd5b506040516200663338038062006633833981016040819052620000349162000895565b83838383838383838080836001600160a01b038116620000715760405162461bcd60e51b81526004016200006890620009cd565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000be91849062000995565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600480549091169186169190911790555060408051808201909152600d81526c496e76616c696420707269636560981b6020808301918252600160005260059052905162000156917f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b91620007dd565b50604080518082019091526012815271496e76616c6964206f72646572207479706560701b60208083019182526002600052600590529051620001bb917f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a91620007dd565b5060408051808201909152601d81527f5072696365206f7574206f662061636365707461626c652072616e6765000000602080830191825260036000526005905290516200022b917fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc091620007dd565b5060408051808201909152601a81527f506f736974696f6e2063616e206265206c697175696461746564000000000000602080830191825260046000526005905290516200029b917f3eec716f11ba9e820c81ca75eb978ffb45831ef8b7a53e5e422c26008e1ca6d591620007dd565b5060408051808201909152601d81527f506f736974696f6e2063616e6e6f74206265206c697175696461746564000000602080830191825260056000819052905290516200030b917f458b30c2d72bfd2c6317304a4594ecbafe5f729d3111b65fdc3a33bd48e5432d91620007dd565b5060408051808201909152601881527f4d6178206d61726b65742073697a652065786365656465640000000000000000602080830191825260066000526005905290516200037b917f069400f22b28c6c362558d92f66163cec5671cba50b61abd2eecfcd0eaeac51891620007dd565b5060408051808201909152601581527f4d6178206c65766572616765206578636565646564000000000000000000000060208083019182526007600052600590529051620003eb917feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146091620007dd565b5060408051808201909152601381527f496e73756666696369656e74206d617267696e00000000000000000000000000602080830191825260086000526005905290516200045b917ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e91620007dd565b5060408051808201909152601d81527f4e6f74207065726d69747465642062792074686973206164647265737300000060208083019182526009600052600590529051620004cb917fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe191620007dd565b5060408051808201909152601981527f43616e6e6f74207375626d697420656d707479206f72646572000000000000006020808301918252600a6000526005905290516200053b917fa18b128af1c8fc61ff46f02d146e54546f34d340574cf2cef6a753cba6b6701d91620007dd565b5060408051808201909152601081526f2737903837b9b4ba34b7b71037b832b760811b6020808301918252600b6000526005905290516200059e917f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed591620007dd565b50604080518082019091526012815271507269636520746f6f20766f6c6174696c6560701b6020808301918252600c60005260059052905162000603917ff907e7e6656fa73566b18c1215272fe9fca2c55c552e62c923e21e000ac4b4e691620007dd565b5060408051808201909152601581527f507269636520696d7061637420657863656564656400000000000000000000006020808301918252600d60005260059052905162000673917f03145c75015e7a856ecd94c41432ef3cb669d6360af23433588937fefdfac82591620007dd565b5060408051808201909152601081526f141bdcda5d1a5bdb88199b1859d9d95960821b6020808301918252600e600052600590529051620006d6917f783638979e3582b3ffd6d53fc06c949ac31d1ac75a5e2c3531fbe1f91045eb5391620007dd565b5060408051808201909152601481527f506f736974696f6e206e6f7420666c61676765640000000000000000000000006020808301918252600f60005260059052905162000746917f58f00e8ecc6f5419941dd0bafec65a4cc188d31713fb1fe224257460930df8af91620007dd565b50506000546001600160a01b0316151591506200077990505760405162461bcd60e51b81526004016200006890620009bb565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620007c690839062000985565b60405180910390a150505050505050505062000a28565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200082057805160ff191683800117855562000850565b8280016001018555821562000850579182015b828111156200085057825182559160200191906001019062000833565b506200085e92915062000862565b5090565b6200087f91905b808211156200085e576000815560010162000869565b90565b80516200088f8162000a0e565b92915050565b60008060008060808587031215620008ac57600080fd5b6000620008ba878762000882565b9450506020620008cd8782880162000882565b9350506040620008e08782880162000882565b9250506060620008f38782880162000882565b91505092959194509250565b6200090a81620009fa565b82525050565b6200090a81620009e8565b60006200092a601183620009df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000959601983620009df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200088f8284620008ff565b60408101620009a58285620008ff565b620009b4602083018462000910565b9392505050565b602080825281016200088f816200091b565b602080825281016200088f816200094a565b90815260200190565b60006001600160a01b0382166200088f565b60006200088f8260006200088f82620009e8565b62000a1981620009e8565b811462000a2557600080fd5b50565b615bfb8062000a386000396000f3fe6080604052600436106100fe5760003560e01c80638da5cb5b11610095578063c70b41e911610064578063c70b41e91461026a578063d67bdd251461028a578063dcce58061461029f578063dfa723cc146102bf578063ec556889146102d2576100fe565b80638da5cb5b146101f557806397107d6d1461020a578063a8300afb1461022a578063bc67f8321461024a576100fe565b806353a47bb7116100d157806353a47bb71461018757806374185360146101a957806379ba5097146101be578063899ffef4146101d3576100fe565b806304f3bcec1461010357806308fb1b771461012e5780631627540c146101435780632af64bd314610165575b600080fd5b34801561010f57600080fd5b506101186102e7565b60405161012591906157c3565b60405180910390f35b34801561013a57600080fd5b506101186102f6565b34801561014f57600080fd5b5061016361015e3660046148e7565b610305565b005b34801561017157600080fd5b5061017a610363565b60405161012591906155ec565b34801561019357600080fd5b5061019c61047b565b6040516101259190615519565b3480156101b557600080fd5b5061016361048a565b3480156101ca57600080fd5b506101636105e0565b3480156101df57600080fd5b506101e8610685565b60405161012591906155db565b34801561020157600080fd5b5061019c6107f7565b34801561021657600080fd5b506101636102253660046148e7565b610806565b34801561023657600080fd5b506101636102453660046148e7565b610859565b34801561025657600080fd5b506101636102653660046148e7565b610a6f565b34801561027657600080fd5b506101636102853660046148e7565b610a99565b34801561029657600080fd5b5061019c610b7c565b3480156102ab57600080fd5b506101636102ba3660046148e7565b610b8b565b6101636102cd366004614923565b610c63565b3480156102de57600080fd5b50610118610e84565b6002546001600160a01b031681565b6004546001600160a01b031681565b61030d610e93565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610358908390615519565b60405180910390a150565b6000606061036f610685565b905060005b815181101561047157600082828151811061038b57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906103dc908590600401615662565b60206040518083038186803b1580156103f457600080fd5b505afa158015610408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061042c9190810190614905565b6001600160a01b031614158061045757506000818152600360205260409020546001600160a01b0316155b156104685760009350505050610478565b50600101610374565b5060019150505b90565b6001546001600160a01b031681565b6060610494610685565b905060005b81518110156105dc5760008282815181106104b057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016104f291906154ed565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161051e9291906156ce565b60206040518083038186803b15801561053657600080fd5b505afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061056e9190810190614905565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105ca9084908490615670565b60405180910390a15050600101610499565b5050565b6001546001600160a01b031633146106135760405162461bcd60e51b815260040161060a90615801565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610656926001600160a01b0391821692911690615535565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610690610ebf565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506822bc31b430b733b2b960b91b816000815181106106d257fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106106fc57fe5b6020026020010181815250506b53797374656d53746174757360a01b8160028151811061072557fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b8160038151811061075657fe5b602002602001018181525050600080516020615b998339815191528160048151811061077e57fe5b602002602001018181525050725065727073563245786368616e67655261746560681b816005815181106107ae57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816006815181106107da57fe5b6020026020010181815250506107f08282610f10565b9250505090565b6000546001600160a01b031681565b61080e610e93565b600680546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610358908390615527565b610861610fcc565b610869614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa9161089891869101615519565b6101206040518083038186803b1580156108b157600080fd5b505afa1580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e991908101906149d2565b90508060200151600f0b600014156109135760405162461bcd60e51b815260040161060a906158d1565b8051156109325760405162461bcd60e51b815260040161060a90615851565b600061093c610ff6565b6001600160a01b0316637a018a1e610952611016565b6040518263ffffffff1660e01b815260040161096e9190615662565b60206040518083038186803b15801561098657600080fd5b505afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109be9190810190614996565b90508160c00151421015806109e057508082606001516001600160801b031611155b6109fc5760405162461bcd60e51b815260040161060a906158c1565b610a188260c001518284606001516001600160801b031661109e565b15610a355760405162461bcd60e51b815260040161060a90615811565b610a6a8383610a4460006110ec565b84610a55610a506112ee565b61133e565b610a65610a606112ee565b611367565b61138a565b505050565b610a77610fcc565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b610aa1610fcc565b610aa9614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91610ad891869101615519565b6101206040518083038186803b158015610af157600080fd5b505afa158015610b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b2991908101906149d2565b90508060200151600f0b60001415610b535760405162461bcd60e51b815260040161060a906158d1565b805115610b725760405162461bcd60e51b815260040161060a90615851565b6105dc8282611684565b6007546001600160a01b031681565b610b93610fcc565b610b9b614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91610bca91869101615519565b6101206040518083038186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c1b91908101906149d2565b90508060200151600f0b60001415610c455760405162461bcd60e51b815260040161060a906158d1565b8051610b725760405162461bcd60e51b815260040161060a90615951565b610c6b610fcc565b610c73614673565b6004805460405163645c04d560e11b81526001600160a01b039091169163c8b809aa91610ca291889101615519565b6101206040518083038186803b158015610cbb57600080fd5b505afa158015610ccf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cf391908101906149d2565b90508060200151600f0b60001415610d1d5760405162461bcd60e51b815260040161060a906158d1565b8051610d3b5760405162461bcd60e51b815260040161060a90615951565b610d436119d5565b60075460405163047ce44760e11b81526001600160a01b03928316926308f9c88e923492610d7b929091169088908890600401615550565b6000604051808303818588803b158015610d9457600080fd5b505af1158015610da8573d6000803e3d6000fd5b50505050506000610dbf610dba6112ee565b6119f6565b90506000610dd3610dce6112ee565b611a22565b9050600080610de184611a4e565b915091508460e001518111610e085760405162461bcd60e51b815260040161060a90615841565b828560e00151820311610e2d5760405162461bcd60e51b815260040161060a906158c1565b838560e00151420310610e525760405162461bcd60e51b815260040161060a90615811565b610e7a8886846000610e6a610e656112ee565b611c89565b610a65610e756112ee565b611cb5565b5050505050505050565b6006546001600160a01b031681565b6000546001600160a01b03163314610ebd5760405162461bcd60e51b815260040161060a906158a1565b565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610f0157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610f40578160200160208202803883390190505b50905060005b8351811015610f8257838181518110610f5b57fe5b6020026020010151828281518110610f6f57fe5b6020908102919091010152600101610f46565b5060005b8251811015610fc557828181518110610f9b57fe5b6020026020010151828286510181518110610fb257fe5b6020908102919091010152600101610f86565b5092915050565b6006546001600160a01b03163314610ebd5760405162461bcd60e51b815260040161060a90615931565b60006110116c45786368616e6765526174657360981b611ce1565b905090565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663cdf456e16040518163ffffffff1660e01b815260040160206040518083038186803b15801561106657600080fd5b505afa15801561107a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110119190810190614996565b6000806110a96112ee565b905084421180156110c357506110be81611d3e565b854203115b806110e1575082841180156110e157506110dc81611d6a565b838503115b9150505b9392505050565b60006110f6611d8f565b6001600160a01b031663856aae6c61110c6112ee565b6040518263ffffffff1660e01b81526004016111289190615662565b60006040518083038186803b15801561114057600080fd5b505afa158015611154573d6000803e3d6000fd5b50505050611160611d8f565b6001600160a01b03166342a28e21611176611016565b6040518263ffffffff1660e01b81526004016111929190615662565b60006040518083038186803b1580156111aa57600080fd5b505afa1580156111be573d6000803e3d6000fd5b50505050811561123b576111d0611d8f565b6001600160a01b031663856aae6c6111ee6111e96112ee565b611da9565b6040518263ffffffff1660e01b815260040161120a9190615662565b60006040518083038186803b15801561122257600080fd5b505afa158015611236573d6000803e3d6000fd5b505050505b6000806000611248610ff6565b6001600160a01b031663045056f861125e611016565b6040518263ffffffff1660e01b815260040161127a9190615662565b606060405180830381600087803b15801561129457600080fd5b505af11580156112a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112cc9190810190614a67565b9250925092506112e582806112de5750815b6001611e7a565b50909392505050565b6000600460009054906101000a90046001600160a01b03166001600160a01b031663d7103a466040518163ffffffff1660e01b815260040160206040518083038186803b15801561106657600080fd5b600061136182733a30b5b2b92332b2a232b630bcb2b227b93232b960611b611ebd565b92915050565b6000611361827336b0b5b2b92332b2a232b630bcb2b227b93232b960611b611ebd565b60808501516007546001600160801b03909116906001600160a01b03888116911614156113c55760a08601516001600160801b031601611436565b6113cd611f7a565b60075460a088015160405163a7b5833f60e01b81526001600160a01b039384169363a7b5833f9361140393911691600401615571565b600060405180830381600087803b15801561141d57600080fd5b505af1158015611431573d6000803e3d6000fd5b505050505b61143e6146bf565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161146d918c9101615519565b60a06040518083038186803b15801561148557600080fd5b505afa158015611499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114bd91908101906149f1565b905060006114ca87611f9c565b905060006114df8960200151600f0b896121e1565b905083156115b7576114fb8a848b60200151600f0b848861231f565b6115b783600001516001600160401b03168b85604001516001600160801b03168660800151600f0b600086886000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157757600080fd5b505afa15801561158b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115af91908101906149b4565b600f0b6125d1565b61160c8a6040518060e001604052808c60200151600f0b81526020018b81526020018481526020018c604001516001600160801b031681526020018981526020018881526020018c6101000151815250612656565b60048054604051634c33238d60e11b81526001600160a01b0390911691639866471a9161163b918e9101615519565b600060405180830381600087803b15801561165557600080fd5b505af1158015611669573d6000803e3d6000fd5b505050506116788a888b612d5d565b50505050505050505050565b600061168e610ff6565b6001600160a01b0316637a018a1e6116a4611016565b6040518263ffffffff1660e01b81526004016116c09190615662565b60206040518083038186803b1580156116d857600080fd5b505afa1580156116ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117109190810190614996565b905061171c8282612e33565b6007546001600160a01b038481169116141561187b5761173a6146bf565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161176991889101615519565b60a06040518083038186803b15801561178157600080fd5b505afa158015611795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b991908101906149f1565b905060006117c760006110ec565b905060006117d482611f9c565b90506117f786848760200151600f0b858960a001516001600160801b031661231f565b61187383600001516001600160401b03168785604001516001600160801b03168660800151600f0b600087876000600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157757600080fd5b5050506118ec565b611883611f7a565b60075460a084015160405163a7b5833f60e01b81526001600160a01b039384169363a7b5833f936118b993911691600401615571565b600060405180830381600087803b1580156118d357600080fd5b505af11580156118e7573d6000803e3d6000fd5b505050505b60808201516001600160801b03161561196957611907611f7a565b6001600160a01b031663d289ade283608001516040518263ffffffff1660e01b8152600401611936919061596f565b600060405180830381600087803b15801561195057600080fd5b505af1158015611964573d6000803e3d6000fd5b505050505b60048054604051634c33238d60e11b81526001600160a01b0390911691639866471a9161199891879101615519565b600060405180830381600087803b1580156119b257600080fd5b505af11580156119c6573d6000803e3d6000fd5b50505050610a6a838284612d5d565b6000611011725065727073563245786368616e67655261746560681b611ce1565b6000611361827f6f6666636861696e44656c617965644f726465724d6178416765000000000000611ebd565b6000611361827f6f6666636861696e44656c617965644f726465724d696e416765000000000000611ebd565b6000806000611a5d60016110ec565b9050611a676119d5565b6001600160a01b031663368bde96611a7d611016565b866040518363ffffffff1660e01b8152600401611a9b92919061567e565b604080518083038186803b158015611ab257600080fd5b505afa158015611ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aea9190810190614ab4565b90935091508015801590611afe5750600083115b611b1a5760405162461bcd60e51b815260040161060a90615821565b6000838211611bc357611bbe73__$294cd5583d469fad76f60d12ddfb7a049d$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6a57600080fd5b505af4158015611b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ba29190810190614996565b611bb2868563ffffffff612ea616565b9063ffffffff612ed016565b611c52565b611c5273__$294cd5583d469fad76f60d12ddfb7a049d$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0a57600080fd5b505af4158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c429190810190614996565b611bb2848763ffffffff612ea616565b905080611c65611c606112ee565b612ef8565b11611c825760405162461bcd60e51b815260040161060a90615901565b5050915091565b6000611361827f74616b65724665654f6666636861696e44656c617965644f7264657200000000611ebd565b6000611361827f6d616b65724665654f6666636861696e44656c617965644f7264657200000000611ebd565b60008181526003602090815260408083205490516001600160a01b039091169182151591611d11918691016154c2565b60405160208183030381529060405290610fc55760405162461bcd60e51b815260040161060a91906157df565b6000611361827f64656c617965644f72646572436f6e6669726d57696e646f7700000000000000611ebd565b600061136182756e6578745072696365436f6e6669726d57696e646f7760501b611ebd565b60006110116b53797374656d53746174757360a01b611ce1565b6000611db3612f24565b6001600160a01b031663f7833c5d600080516020615b9983398151915284706f6666636861696e4d61726b65744b657960781b604051602001611df792919061549c565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401611e2a92919061567e565b60206040518083038186803b158015611e4257600080fd5b505afa158015611e56573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113619190810190614996565b81156105dc576005600082600f811115611e9057fe5b60ff1660ff16815260200190815260200160002060405162461bcd60e51b815260040161060a91906157f0565b6000611ec7612f24565b6001600160a01b03166323257c2b600080516020615b998339815191528585604051602001611ef792919061549c565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401611f2a92919061567e565b60206040518083038186803b158015611f4257600080fd5b505afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110e59190810190614996565b600061101173233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b611ce1565b60048054604080516366f6867560e11b8152905160009384936001600160a01b03169263cded0cea9281830192602092829003018186803b158015611fe057600080fd5b505afa158015611ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120189190810190614996565b90506000612024612f41565b9050600061203185612fa7565b60048054604051637e35d8f960e11b81529293506001600160a01b03169163fc6bb1f291612061918591016157d1565b600060405180830381600087803b15801561207b57600080fd5b505af115801561208f573d6000803e3d6000fd5b505060048054604051634af3b2b160e11b81526001600160a01b0390911693506395e7656292506120c2914291016159cc565b600060405180830381600087803b1580156120dc57600080fd5b505af11580156120f0573d6000803e3d6000fd5b5050600480546040516315e88f9160e11b81526001600160a01b039091169350632bd11f229250612123918691016157d1565b600060405180830381600087803b15801561213d57600080fd5b505af1158015612151573d6000803e3d6000fd5b505060048054604080516313dcd11b60e11b815290516112e59550869450879389936001600160a01b0316926327b9a2369281830192602092829003018186803b15801561219e57600080fd5b505afa1580156121b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121d69190810190614ae4565b63ffffffff16613002565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b15801561222557600080fd5b505afa158015612239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061225d91908101906149b4565b600f0b9050600061227461226f6112ee565b6130a8565b90506000612288838363ffffffff6130c016565b905060006122ac836122a0868a63ffffffff6130ea16565b9063ffffffff6130c016565b905060006122d06122c3888563ffffffff61313016565b889063ffffffff6130ea16565b905060006122f46122e7898563ffffffff61313016565b899063ffffffff6130ea16565b9050612312671bc16d674ec800006122a0848463ffffffff6130ea16565b9998505050505050505050565b6123276146bf565b508360008061233783868661315a565b91509150612344816131e1565b600061234e613202565b905061240a6040518060a0016040528060006001600160401b03168152602001836001600160401b03168152602001856001600160801b03168152602001886001600160801b031681526020018a60800151600f0b8152506040518060a0016040528060006001600160401b031681526020018b602001516001600160401b031681526020018b604001516001600160801b031681526020018b606001516001600160801b031681526020018b60800151600f0b81525061328f565b6001600160801b03831660408901526080880151600f0b15612535576001600160801b03861660608901526001600160401b038116602089015260008512156125355760006124608960800151600f0b8861331d565b90506000612485826124798c60800151600f0b8b61338b565b9063ffffffff6133d516565b9050612495818611156008611e7a565b60808a01516000906124b090600f0b8b63ffffffff6130ea16565b905060006124c58c60800151600f0b836133fa565b80156124e757506124dc8c60800151600f0b613419565b6124e583613419565b105b9050806125305761251c6125046124ff8e8d8b613424565b613419565b61251461250f6112ee565b613448565b106007611e7a565b612530612527613462565b88106008611e7a565b505050505b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8a8a600001518b602001518c604001518d606001518e608001516040518763ffffffff1660e01b81526004016125949695949392919061558c565b600060405180830381600087803b1580156125ae57600080fd5b505af11580156125c2573d6000803e3d6000fd5b50505050505050505050505050565b6006546040516001600160a01b039091169063907dff9790612603908a908a908a908a908a908a908a9060200161597d565b6040516020818303038152906040526003604051612620906154f8565b6040519081900390208d6126338e6134df565b60006040518763ffffffff1660e01b81526004016125949695949392919061577c565b6004805460405163fef48a9960e01b815284926001600160a01b039092169163fef48a999161268791859101615519565b60206040518083038186803b15801561269f57600080fd5b505afa1580156126b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126d79190810190614978565b156126e75760056000600e611e90565b6126ef6146bf565b6004805460405163055f575160e41b81526001600160a01b03909116916355f575109161271e91889101615519565b60a06040518083038186803b15801561273657600080fd5b505afa15801561274a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061276e91908101906149f1565b90506127786146bf565b6040518060a0016040528083600001516001600160401b0316815260200183602001516001600160401b0316815260200183604001516001600160801b0316815260200183606001516001600160801b031681526020018360800151600f0b81525090506127e46146bf565b6000806127f184886134eb565b925092509250612800816131e1565b6128178760400151886060015189600001516137d3565b50600480546080808701519086015160408051632b58ecef60e01b815290516001600160a01b039094169463b545f712946128d094600f90810b946128c494910b928892632b58ecef928083019260209291829003018186803b15801561287d57600080fd5b505afa158015612891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128b591908101906149b4565b600f0b9063ffffffff6130ea16565b9063ffffffff6137fb16565b6040518263ffffffff1660e01b81526004016128ec91906157d1565b600060405180830381600087803b15801561290657600080fd5b505af115801561291a573d6000803e3d6000fd5b505060045460808701516001600160a01b03909116925063460af7a691506129ea9061294890600f0b613419565b611bb261295b8860800151600f0b613419565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561299d57600080fd5b505afa1580156129b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129d59190810190614a0f565b6001600160801b03169063ffffffff6133d516565b6040518263ffffffff1660e01b8152600401612a069190615961565b600060405180830381600087803b158015612a2057600080fd5b505af1158015612a34573d6000803e3d6000fd5b505050508160001015612aa757612a49611f7a565b6001600160a01b031663d289ade2836040518263ffffffff1660e01b8152600401612a749190615662565b600060405180830381600087803b158015612a8e57600080fd5b505af1158015612aa2573d6000803e3d6000fd5b505050505b60c087015115612ad157612ad18760c00151612ac1611016565b612ac96112ee565b8a5186613841565b6040808401516001600160801b031690860152612aee838561328f565b83516000612afa613202565b90508460800151600f0b60001415612b2957600080885260808801819052606088018190526020880152612c4e565b6080860151600f0b612c1557600480546040805163899346c760e01b815290516001600160a01b039092169263899346c7928282019260209290829003018186803b158015612b7757600080fd5b505afa158015612b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612baf9190810190614b02565b60048054604051631dbad55160e31b81529294506001600160a01b03169163edd6aa8891612be2916001870191016159e8565b600060405180830381600087803b158015612bfc57600080fd5b505af1158015612c10573d6000803e3d6000fd5b505050505b6001600160401b038083168852608080870151600f90810b900b9089015260408a01516001600160801b03166060890152811660208801525b600460009054906101000a90046001600160a01b03166001600160a01b0316635af0d81f8b89600001518a602001518b604001518c606001518d608001516040518763ffffffff1660e01b8152600401612cad9695949392919061558c565b600060405180830381600087803b158015612cc757600080fd5b505af1158015612cdb573d6000803e3d6000fd5b50505050611678826001600160401b03168b87604001516001600160801b03168860800151600f0b8d600001518e60400151878b600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157757600080fd5b60065481516020808401516060850151608086015160a08701516101008801516040516001600160a01b039098169763907dff9797612daa9790968c9690959094909390929091016155fa565b6040516020818303038152906040526002604051612dc7906154e2565b6040518091039020612dd8886134df565b6000806040518763ffffffff1660e01b8152600401612dfc96959493929190615742565b600060405180830381600087803b158015612e1657600080fd5b505af1158015612e2a573d6000803e3d6000fd5b50505050505050565b815115612e6e57612e45610dba6112ee565b8260e00151420311612e695760405162461bcd60e51b815260040161060a90615911565b6105dc565b612e8a8260c001518284606001516001600160801b031661109e565b6105dc5760405162461bcd60e51b815260040161060a906158f1565b60006110e582612ec485670de0b6b3a764000063ffffffff6138f216565b9063ffffffff61392c16565b600082821115612ef25760405162461bcd60e51b815260040161060a90615871565b50900390565b6000611361827f6f6666636861696e5072696365446976657267656e6365000000000000000000611ebd565b60006110116e466c657869626c6553746f7261676560881b611ce1565b6000611011612f65612f51613961565b612f59613a08565b9063ffffffff61313016565b6004805460408051637226426160e11b815290516001600160a01b039092169263e44c84c2928282019260209290829003018186803b15801561287d57600080fd5b6000611361612fb583613a2f565b6004546001600160a01b03166341108cf2612fce613202565b6040518263ffffffff1660e01b8152600401612fea9190615662565b60206040518083038186803b15801561287d57600080fd5b6006546040516001600160a01b039091169063907dff979061302e908790879087908790602001615699565b604051602081830303815290604052600160405161304b9061550e565b6040519081900381206001600160e01b031960e086901b16825261307a939291600090819081906004016156ee565b600060405180830381600087803b15801561309457600080fd5b505af1158015610e7a573d6000803e3d6000fd5b60006113618268736b65775363616c6560b81b611ebd565b60006110e5826130de85670de0b6b3a764000063ffffffff613abc16565b9063ffffffff613b2716565b60008282018183128015906130ff5750838112155b80613114575060008312801561311457508381125b6110e55760405162461bcd60e51b815260040161060a90615861565b6000670de0b6b3a764000061314b848463ffffffff613abc16565b8161315257fe5b059392505050565b60008060006131798461316d8888613b8b565b9063ffffffff6130ea16565b90506000811215613192575060009150600890506131d9565b60808601518190600f0b60006131a8828961338b565b905081158015906131b95750808311155b156131ce5782600495509550505050506131d9565b509093506000925050505b935093915050565b6131ea81613bc5565b156131ff576005600082600f811115611e9057fe5b50565b60006110116001600460009054906101000a90046001600160a01b03166001600160a01b031663cded0cea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561325757600080fd5b505afa15801561326b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bb29190810190614996565b600061329a83613bdc565b905060006132a783613bdc565b6004805460408051631169848560e11b815290519394506001600160a01b039091169263104d46f7926133019286926128c492899288926322d3090a92828101926020929190829003018186803b15801561287d57600080fd5b6040518263ffffffff1660e01b815260040161307a91906157d1565b60008261332c57506000611361565b600061333b6124ff8585613cb9565b905061338361335061334b6112ee565b613ccb565b6133778361337761336261226f6112ee565b61336b8a613419565b9063ffffffff612ea616565b9063ffffffff613cf716565b949350505050565b6000806133ae6133a161339c6112ee565b613d21565b6133778561337788613419565b90506133836133bb613d46565b6124796133c88787613da2565b849063ffffffff6133d516565b6000828201838110156110e55760405162461bcd60e51b815260040161060a90615831565b6000821580613407575081155b806110e5575050600090811291131490565b600061136182613df7565b600081613433575060006110e5565b613383826122a08660800151600f0b86613cb9565b6000611361826a6d61784c6576657261676560a81b611ebd565b600061346c612f24565b6001600160a01b03166323257c2b600080516020615b998339815191527f706572707356324d696e496e697469616c4d617267696e0000000000000000006040518363ffffffff1660e01b81526004016134c792919061567e565b60206040518083038186803b15801561106657600080fd5b6001600160a01b031690565b6134f36146bf565b8151600090819061350d575083915060009050600a6137cc565b61351b858560200151613e0d565b1561352f57508391506000905060046137cc565b60008061353a613e4b565b915091508015613557575085935060009250600c91506137cc9050565b6135618683613ee8565b93506000806135788989604001518860000361315a565b9150915061358581613bc5565b1561359c578896506000955093506137cc92505050565b6135a46146bf565b6040518060a001604052808b600001516001600160401b031681526020016135ca613202565b6001600160401b03168152602001846001600160801b031681526020018a604001516001600160801b031681526020016136188b600001518d60800151600f0b6130ea90919063ffffffff16565b600f0b8152509050600061363a8b60800151600f0b8360800151600f0b6133fa565b801561366357506136518b60800151600f0b613419565b6136618360800151600f0b613419565b105b9050806136ad57613672613462565b6040830151613690906001600160801b03168a63ffffffff6133d516565b10156136ad575089975060009650600895506137cc945050505050565b60006136c48360800151600f0b8c6020015161331d565b905060006136e1826124798660800151600f0b8f6020015161338b565b9050808611613702575091985060009750600496506137cc95505050505050565b6000613735613717888d63ffffffff6133d516565b6122a08f604001518860800151600f0b61313090919063ffffffff16565b905061374081613419565b613756662386f26fc1000061247961250f6112ee565b101561377657508c9a5060009950600798506137cc975050505050505050565b5061379f61378a6137856112ee565b6140e2565b8e60800151600f0b8660800151600f0b6140ff565b156137bd57508b995060009850600697506137cc9650505050505050565b50919850600096505050505050505b9250925092565b60006137f3600083136137e8578385106137ec565b8385115b600d611e7a565b509192915050565b60008183038183128015906138105750838113155b80613825575060008312801561382557508381135b6110e55760405162461bcd60e51b815260040161060a90615921565b6006546040516001600160a01b039091169063907dff979061386d908790879087908790602001615699565b604051602081830303815290604052600260405161388a90615503565b6040519081900381206001600160e01b031960e086901b1682526138b99392918b906000908190600401615742565b600060405180830381600087803b1580156138d357600080fd5b505af11580156138e7573d6000803e3d6000fd5b505050505050505050565b60008261390157506000611361565b8282028284828161390e57fe5b04146110e55760405162461bcd60e51b815260040161060a906158b1565b600080821161394d5760405162461bcd60e51b815260040161060a90615881565b600082848161395857fe5b04949350505050565b6000611011620151806122a0600460009054906101000a90046001600160a01b03166001600160a01b03166327b9a2366040518163ffffffff1660e01b815260040160206040518083038186803b1580156139bb57600080fd5b505afa1580156139cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139f39190810190614ae4565b63ffffffff1642612ed090919063ffffffff16565b600080613a1b613a166112ee565b6142e9565b9050613a2981612f5961430a565b91505090565b600080613a3a612f41565b90506000613a9b6012600a0a6002026122a084600460009054906101000a90046001600160a01b03166001600160a01b031663e44c84c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561287d57600080fd5b600003905061338384612f59613aaf613961565b849063ffffffff61313016565b600082613acb57506000611361565b82600019148015613adf5750600160ff1b82145b15613afc5760405162461bcd60e51b815260040161060a906158e1565b82820282848281613b0957fe5b05146110e55760405162461bcd60e51b815260040161060a906158e1565b600081613b465760405162461bcd60e51b815260040161060a90615941565b81600019148015613b5a5750600160ff1b83145b15613b775760405162461bcd60e51b815260040161060a90615891565b6000828481613b8257fe5b05949350505050565b600080613b9884846143ca565b90506133838161316d613bab878761441a565b60408801516001600160801b03169063ffffffff6130ea16565b60008082600f811115613bd457fe5b141592915050565b600480546020830151604051632088467960e11b815260009361136193613c9f93613c8b936001600160a01b03909216926341108cf292613c1e9291016159da565b60206040518083038186803b158015613c3657600080fd5b505afa158015613c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c6e91908101906149b4565b60608601516001600160801b031690600f0b63ffffffff6130ea16565b6080850151600f0b9063ffffffff61313016565b60408401516001600160801b03169063ffffffff6137fb16565b60006110e5838363ffffffff61313016565b6000611361827f6c69717569646174696f6e5072656d69756d4d756c7469706c69657200000000611ebd565b6000670de0b6b3a7640000613d12848463ffffffff6138f216565b81613d1957fe5b049392505050565b600061136182756c69717569646174696f6e427566666572526174696f60501b611ebd565b6000613d50612f24565b6001600160a01b03166323257c2b600080516020615b99833981519152736b65657065724c69717569646174696f6e46656560601b6040518363ffffffff1660e01b81526004016134c792919061567e565b600080613db06133a1614458565b90506000613dbc6144bd565b90506000818311613dcd5782613dcf565b815b90506000613ddb614518565b9050808211613dea5780613dec565b815b979650505050505050565b6000808212613e065781611361565b5060000390565b60008260800151600f0b60001415613e2757506000611361565b613e388360800151600f0b8361338b565b613e428484614573565b11159392505050565b600080613e566145a1565b6001600160a01b031663c39def0b631cd554d160e21b613e74611016565b6040518363ffffffff1660e01b8152600401613e9192919061567e565b604080518083038186803b158015613ea857600080fd5b505afa158015613ebc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ee09190810190614a2d565b915091509091565b6004805460408051632b58ecef60e01b8152905160009384936001600160a01b031692632b58ecef9281830192602092829003018186803b158015613f2c57600080fd5b505afa158015613f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f6491908101906149b4565b600f0b90506000613f868560400151866000015161313090919063ffffffff16565b90506000613f978561337784613419565b9050613fa986600001518401846133fa565b1561407857600061404283600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561400257600080fd5b505afa158015614016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061403a91908101906149b4565b600f0b6133fa565b614050578660a00151614056565b86608001515b905061406b6124ff848363ffffffff61313016565b8201945050505050611361565b8551600090614094906124ff908681019063ffffffff6130c016565b90506000816012600a0a03905060006140b889608001516133778561337789613419565b905060006140d18a60a00151613377856133778a613419565b919094010198975050505050505050565b6000611361826d6d61784d61726b657456616c756560901b611ebd565b600061410b83836133fa565b8015614127575061411b83613419565b61412483613419565b11155b15614134575060006110e5565b60006141d38361316d86600460009054906101000a90046001600160a01b03166001600160a01b0316632b58ecef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561418c57600080fd5b505afa1580156141a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141c491908101906149b4565b600f0b9063ffffffff6137fb16565b9050600061427e6141e385613df7565b61316d6141ef88613df7565b600480546040805163eb56105d60e01b815290516001600160a01b039092169263eb56105d928282019260209290829003018186803b15801561423157600080fd5b505afa158015614245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506142699190810190614a0f565b6001600160801b03169063ffffffff6137fb16565b9050600084600012156142a25761429b828463ffffffff6130ea16565b90506142b5565b6142b2828463ffffffff6137fb16565b90505b6142c96124ff82600263ffffffff613b2716565b8710156142dc57600193505050506110e5565b5060009695505050505050565b600061136182716d617846756e64696e6756656c6f6369747960701b611ebd565b6000806143a461431b61226f6112ee565b6004805460408051632b58ecef60e01b815290516001600160a01b0390921692632b58ecef928282019260209290829003018186803b15801561435d57600080fd5b505afa158015614371573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061439591908101906149b4565b600f0b9063ffffffff6130c016565b9050613a296143bc670de0b6b3a763ffff19836145b8565b670de0b6b3a76400006145cd565b60208201516000906001600160401b0316806143ea576000915050611361565b60006143f682856145e3565b608086015190915061441190600f0b8263ffffffff61313016565b95945050505050565b60008061443d84606001516001600160801b0316846137fb90919063ffffffff16565b608085015190915061338390600f0b8263ffffffff61313016565b6000614462612f24565b6001600160a01b03166323257c2b600080516020615b998339815191527f706572707356324c69717569646174696f6e466565526174696f0000000000006040518363ffffffff1660e01b81526004016134c792919061567e565b60006144c7612f24565b6001600160a01b03166323257c2b600080516020615b9983398151915272706572707356324d61784b656570657246656560681b6040518363ffffffff1660e01b81526004016134c792919061567e565b6000614522612f24565b6001600160a01b03166323257c2b600080516020615b9983398151915272706572707356324d696e4b656570657246656560681b6040518363ffffffff1660e01b81526004016134c792919061567e565b60008061459461458a8560800151600f0b8561331d565b6128c48686613b8b565b90506133836000826145b8565b60006110116822bc31b430b733b2b960b91b611ce1565b60008183126145c757826110e5565b50919050565b60008183126145dc57816110e5565b5090919050565b60048054604051632088467960e11b81526000926110e5926001600160a01b0316916341108cf29161461791889101615662565b60206040518083038186803b15801561462f57600080fd5b505afa158015614643573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061466791908101906149b4565b600f0b6128c484612fa7565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b803561136181615b4e565b805161136181615b4e565b60008083601f84011261471557600080fd5b5081356001600160401b0381111561472c57600080fd5b60208301915083602082028301111561474457600080fd5b9250929050565b805161136181615b62565b805161136181615b6b565b805161136181615b74565b6000610120828403121561477f57600080fd5b61478a6101206159f6565b90506000614798848461474b565b82525060206147a984848301614761565b60208301525060406147bd848285016148c6565b60408301525060606147d1848285016148c6565b60608301525060806147e5848285016148c6565b60808301525060a06147f9848285016148c6565b60a08301525060c061480d84828501614756565b60c08301525060e061482184828501614756565b60e08301525061010061483684828501614756565b6101008301525092915050565b600060a0828403121561485557600080fd5b61485f60a06159f6565b9050600061486d84846148dc565b825250602061487e848483016148dc565b6020830152506040614892848285016148c6565b60408301525060606148a6848285016148c6565b60608301525060806148ba84828501614761565b60808301525092915050565b805161136181615b7d565b805161136181615b86565b805161136181615b8f565b6000602082840312156148f957600080fd5b600061338384846146ed565b60006020828403121561491757600080fd5b600061338384846146f8565b60008060006040848603121561493857600080fd5b600061494486866146ed565b93505060208401356001600160401b0381111561496057600080fd5b61496c86828701614703565b92509250509250925092565b60006020828403121561498a57600080fd5b6000613383848461474b565b6000602082840312156149a857600080fd5b60006133838484614756565b6000602082840312156149c657600080fd5b60006133838484614761565b600061012082840312156149e557600080fd5b6000613383848461476c565b600060a08284031215614a0357600080fd5b60006133838484614843565b600060208284031215614a2157600080fd5b600061338384846148c6565b60008060408385031215614a4057600080fd5b6000614a4c8585614756565b9250506020614a5d8582860161474b565b9150509250929050565b600080600060608486031215614a7c57600080fd5b6000614a888686614756565b9350506020614a998682870161474b565b9250506040614aaa8682870161474b565b9150509250925092565b60008060408385031215614ac757600080fd5b6000614ad38585614756565b9250506020614a5d85828601614756565b600060208284031215614af657600080fd5b600061338384846148d1565b600060208284031215614b1457600080fd5b600061338384846148dc565b6000614b2c8383614c2a565b505060200190565b6000613383848484614c44565b614b4a81615ac7565b82525050565b614b4a81615a90565b6000614b6482615a2e565b614b6e8185615a32565b9350614b7983615a1c565b8060005b83811015614ba7578151614b918882614b20565b9750614b9c83615a1c565b925050600101614b7d565b509495945050505050565b6000614bbe8385615a32565b935083602084028501614bd084610478565b8060005b87811015614c14578484038952614beb8284615a40565b614bf6868284614b34565b9550614c0184615a1c565b60209b909b019a93505050600101614bd4565b5091979650505050505050565b614b4a81615a9b565b614b4a81610478565b614b4a614c3f82610478565b610478565b6000614c508385615a32565b9350614c5d838584615b08565b614c6683615b44565b9093019392505050565b6000614c7b82615a2e565b614c858185615a32565b9350614c95818560208601615b14565b614c6681615b44565b614b4a81615ace565b614b4a81615aa0565b614b4a81615ad9565b614b4a81615ae7565b600081546001811660008114614cdf5760018114614d0557614d44565b607f6002830416614cf08187615a32565b60ff1984168152955050602085019250614d44565b60028204614d138187615a32565b9550614d1e85615a22565b60005b82811015614d3d57815488820152600190910190602001614d21565b8701945050505b505092915050565b6000614d59603583615a32565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000614db0601983615a32565b7f6f7264657220746f6f206f6c642c207573652063616e63656c00000000000000815260200192915050565b6000614de9601383615a32565b720696e76616c69642c207072696365206973203606c1b815260200192915050565b6000614e18601b83615a32565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614e51601183615a32565b701c1c9a58d9481b9bdd081d5c19185d1959607a1b815260200192915050565b6000614e7e601383615a32565b721d5cd9481bd99998da185a5b881b595d1a1bd9606a1b815260200192915050565b6000614ead602183615a32565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614ef0601e83615a32565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614f29601a83615a32565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614f62601183615a3b565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614f8f602183615a32565b7f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614fd2602f83615a32565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000615023602183615a32565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615066601983615a32565b7f6578656375746162696c697479206e6f74207265616368656400000000000000815260200192915050565b600061509f601183615a32565b70373790383932bb34b7bab99037b93232b960791b815260200192915050565b60006150cc602783615a32565b7f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f815266766572666c6f7760c81b602082015260400192915050565b6000615115602183615a32565b7f63616e6e6f742062652063616e63656c6c6564206279206b65657065722079658152601d60fa1b602082015260400192915050565b6000615158601983615a32565b7f707269636520646976657267656e636520746f6f206869676800000000000000815260200192915050565b6000615191605083615a3b565b7f44656c617965644f7264657252656d6f76656428616464726573732c626f6f6c81527f2c75696e743235362c696e743235362c75696e743235362c75696e743235362c60208201526f75696e743235362c627974657333322960801b604082015260500192915050565b6000615209601983615a3b565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615242601183615a32565b7018d85b9b9bdd0818d85b98d95b081e595d607a1b815260200192915050565b600061526f605683615a3b565b7f506f736974696f6e4d6f6469666965642875696e743235362c6164647265737381527f2c75696e743235362c696e743235362c696e743235362c75696e743235362c75602082015275696e743235362c75696e743235362c696e743235362960501b604082015260560192915050565b60006152ed603583615a3b565b7f5065727073547261636b696e6728627974657333322c627974657333322c627981527474657333322c696e743235362c75696e743235362960581b602082015260350192915050565b6000615344602483615a32565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b600061538a601783615a32565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b60006153c3602083615a32565b7f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f815260200192915050565b60006153fc601283615a32565b711d5cd9481bdb98da185a5b881b595d1a1bd960721b815260200192915050565b600061542a603083615a3b565b7f46756e64696e675265636f6d707574656428696e743235362c696e743235362c81526f75696e743235362c75696e743235362960801b602082015260300192915050565b614b4a81615aa6565b614b4a81615af2565b614b4a81615ab2565b614b4a81615afd565b614b4a81615abb565b60006154a88285614c33565b6020820191506154b88284614c33565b5060200192915050565b60006154cd82614f55565b91506154d98284614c33565b50602001919050565b600061136182615184565b60006154cd826151fc565b600061136182615262565b6000611361826152e0565b60006113618261541d565b602081016113618284614b50565b602081016113618284614b41565b604081016155438285614b50565b6110e56020830184614b50565b6040810161555e8286614b50565b8181036020830152614411818486614bb2565b6040810161557f8285614b50565b6110e56020830184615478565b60c0810161559a8289614b50565b6155a76020830188615493565b6155b46040830187615493565b6155c1606083018661546f565b6155ce608083018561546f565b613dec60a0830184614ca7565b602080825281016110e58184614b59565b602081016113618284614c21565b60e08101615608828a614c21565b6156156020830189614c2a565b6156226040830188614ca7565b61562f606083018761546f565b61563c608083018661546f565b61564960a083018561546f565b61565660c0830184614c2a565b98975050505050505050565b602081016113618284614c2a565b604081016155438285614c2a565b6040810161568c8285614c2a565b6110e56020830184614c2a565b608081016156a78287614c2a565b6156b46020830186614c2a565b6156c16040830185614c2a565b6144116060830184614c2a565b604081016156dc8285614c2a565b81810360208301526133838184614c70565b60c080825281016156ff8189614c70565b905061570e6020830188614cb9565b61571b6040830187614c2a565b6157286060830186614cb0565b6157356080830185614cb0565b613dec60a0830184614cb0565b60c080825281016157538189614c70565b90506157626020830188614cb9565b61576f6040830187614c2a565b6157286060830186614c2a565b60c0808252810161578d8189614c70565b905061579c6020830188614cb9565b6157a96040830187614c2a565b6157b66060830186614c2a565b6157356080830185614c2a565b602081016113618284614c9e565b602081016113618284614ca7565b602080825281016110e58184614c70565b602080825281016110e58184614cc2565b6020808252810161136181614d4c565b6020808252810161136181614da3565b6020808252810161136181614ddc565b6020808252810161136181614e0b565b6020808252810161136181614e44565b6020808252810161136181614e71565b6020808252810161136181614ea0565b6020808252810161136181614ee3565b6020808252810161136181614f1c565b6020808252810161136181614f82565b6020808252810161136181614fc5565b6020808252810161136181615016565b6020808252810161136181615059565b6020808252810161136181615092565b60208082528101611361816150bf565b6020808252810161136181615108565b602080825281016113618161514b565b6020808252810161136181615235565b6020808252810161136181615337565b602080825281016113618161537d565b60208082528101611361816153b6565b60208082528101611361816153ef565b60208101611361828461546f565b602081016113618284615478565b60e0810161598b828a614c2a565b6159986020830189614c2a565b6159a56040830188614c2a565b6159b26060830187614c2a565b6159bf6080830186614c2a565b61564960a0830185614c2a565b602081016113618284615481565b60208101611361828461548a565b602081016113618284615493565b6040518181016001600160401b0381118282101715615a1457600080fd5b604052919050565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b6000808335601e1936859003018112615a5857600080fd5b8381016020810193503591506001600160401b03821115615a7857600080fd5b36829003841315615a8857600080fd5b509250929050565b6000611361826134df565b151590565b600f0b90565b6001600160801b031690565b63ffffffff1690565b6001600160401b031690565b6000611361825b600061136182615a90565b6000611361614c3f83610478565b600061136182610478565b600061136182615aa6565b600061136182615abb565b82818337506000910152565b60005b83811015615b2f578181015183820152602001615b17565b83811115615b3e576000848401525b50505050565b601f01601f191690565b615b5781615a90565b81146131ff57600080fd5b615b5781615a9b565b615b5781610478565b615b5781615aa0565b615b5781615aa6565b615b5781615ab2565b615b5781615abb56fe506572707356324d61726b657453657474696e67730000000000000000000000a365627a7a7231582020f245fdc81cc3e7a23dd15c4be74ac4fa927b17add7120d007f34371ae3a0ba6c6578706572696d656e74616cf564736f6c63430005100040", "abi": [ { "inputs": [ @@ -56861,10 +57061,10 @@ } ], "source": { - "keccak256": "0x63d10a8673881405a22f477b1fd5f092116c8b1156bff2bf3af6dcfb0a2048c8", + "keccak256": "0x2c1acbd8bc17ddbabbaac3a3783d53512b4f0d66d359cec8ce924e9326a9bbce", "urls": [ - "bzz-raw://d9ba84c037ca57d9b73cc4a2f4de9e8ae58d4661c17c5f0062eecb2f5fdbec05", - "dweb:/ipfs/QmbVxMd1yWQR63bd6JCiG3tz8wgvK28cGTs1gVN18GZpZD" + "bzz-raw://873d530059b6cf28f706e559ca5621f130daee2dbac72229f53ee918749b77cc", + "dweb:/ipfs/QmZW3anF9s6n3pkiBxFBcAuoby2McRDit3bKp4WLFYyeTN" ] }, "metadata": { @@ -56886,10 +57086,10 @@ }, "sources": { "PerpsV2MarketDelayedExecution.sol": { - "keccak256": "0x63d10a8673881405a22f477b1fd5f092116c8b1156bff2bf3af6dcfb0a2048c8", + "keccak256": "0x2c1acbd8bc17ddbabbaac3a3783d53512b4f0d66d359cec8ce924e9326a9bbce", "urls": [ - "bzz-raw://d9ba84c037ca57d9b73cc4a2f4de9e8ae58d4661c17c5f0062eecb2f5fdbec05", - "dweb:/ipfs/QmbVxMd1yWQR63bd6JCiG3tz8wgvK28cGTs1gVN18GZpZD" + "bzz-raw://873d530059b6cf28f706e559ca5621f130daee2dbac72229f53ee918749b77cc", + "dweb:/ipfs/QmZW3anF9s6n3pkiBxFBcAuoby2McRDit3bKp4WLFYyeTN" ] } }, diff --git a/publish/deployed/goerli-ovm/feeds.json b/publish/deployed/goerli-ovm/feeds.json index 089073a0aa..159f0c98db 100644 --- a/publish/deployed/goerli-ovm/feeds.json +++ b/publish/deployed/goerli-ovm/feeds.json @@ -342,5 +342,15 @@ "asset": "BONK", "feed": "0xc6cC2F2eB966E9bfc1A91f79ae1f557F2eC7201E", "fakeFeed": true + }, + "JTO": { + "asset": "JTO", + "feed": "0x9755f74E6a1a39C0b082Bf56Df8fb6B154368334", + "fakeFeed": true + }, + "ORDI": { + "asset": "ORDI", + "feed": "0x025600F206C83854D33209Adceb23840f2963700", + "fakeFeed": true } } diff --git a/publish/deployed/goerli-ovm/offchain-feeds.json b/publish/deployed/goerli-ovm/offchain-feeds.json index 2b88e254b5..5f1344c55e 100644 --- a/publish/deployed/goerli-ovm/offchain-feeds.json +++ b/publish/deployed/goerli-ovm/offchain-feeds.json @@ -501,5 +501,17 @@ "oracle": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", "asset": "BONK", "feedId": "0x53377a90ac8ddbd1cad1a65dd705f12eeba0be01510777a1e25fcd03f295572d" + }, + { + "kind": "pyth", + "oracle": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", + "asset": "JTO", + "feedId": "0x1126fc5add7272eca2c168bf6393b1f82376a749db15ee63791b843f39867592" + }, + { + "kind": "pyth", + "oracle": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", + "asset": "ORDI", + "feedId": "0x2b4c2ab4993d0472b73b29f6598cb716d2be452389a9964f8db6cbec1bea3899" } ] diff --git a/publish/deployed/goerli-ovm/perpsv2-markets.json b/publish/deployed/goerli-ovm/perpsv2-markets.json index 3dbb29636b..ad73a8d880 100644 --- a/publish/deployed/goerli-ovm/perpsv2-markets.json +++ b/publish/deployed/goerli-ovm/perpsv2-markets.json @@ -15,7 +15,7 @@ "offchainDelayedOrderMinAge": "1", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "55", - "maxMarketValue": "36000", + "maxMarketValue": "22300", "maxFundingVelocity": "9", "skewScale": "1000000", "offchainPriceDivergence": "0.10", @@ -43,7 +43,7 @@ "offchainDelayedOrderMinAge": "1", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "55", - "maxMarketValue": "1750", + "maxMarketValue": "1400", "maxFundingVelocity": "9", "skewScale": "100000", "offchainPriceDivergence": "0.10", @@ -99,9 +99,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "900000", + "maxMarketValue": "368500", "maxFundingVelocity": "36", - "skewScale": "15000000", + "skewScale": "7500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocLINKPERP", @@ -155,7 +155,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "12000000", + "maxMarketValue": "5952400", "maxFundingVelocity": "36", "skewScale": "75000000", "offchainPriceDivergence": "0.10", @@ -185,7 +185,7 @@ "maxLeverage": "27.5", "maxMarketValue": "50000000", "maxFundingVelocity": "36", - "skewScale": "1875000000", + "skewScale": "937500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocDOGEPERP", @@ -211,7 +211,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "6000000", + "maxMarketValue": "2500000", "maxFundingVelocity": "36", "skewScale": "75000000", "offchainPriceDivergence": "0.10", @@ -267,9 +267,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "160000", + "maxMarketValue": "142700", "maxFundingVelocity": "36", - "skewScale": "3750000", + "skewScale": "1900000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocAVAXPERP", @@ -295,7 +295,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "4600000", + "maxMarketValue": "2702700", "maxFundingVelocity": "36", "skewScale": "34000000", "offchainPriceDivergence": "0.10", @@ -323,9 +323,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "2050000", + "maxMarketValue": "1474900", "maxFundingVelocity": "36", - "skewScale": "22500000", + "skewScale": "11250000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocOPPERP", @@ -379,9 +379,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1000000", + "maxMarketValue": "295000", "maxFundingVelocity": "36", - "skewScale": "18750000", + "skewScale": "9375000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocNEARPERP", @@ -409,7 +409,7 @@ "maxLeverage": "27.5", "maxMarketValue": "100000", "maxFundingVelocity": "36", - "skewScale": "3750000", + "skewScale": "2109375", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocAXSPERP", @@ -463,9 +463,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1600000", + "maxMarketValue": "1900000", "maxFundingVelocity": "36", - "skewScale": "12000000", + "skewScale": "9000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocDYDXPERP", @@ -491,7 +491,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "31150", + "maxMarketValue": "10100", "maxFundingVelocity": "36", "skewScale": "180000", "offchainPriceDivergence": "0.10", @@ -547,7 +547,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "15000000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "25000000000", "offchainPriceDivergence": "0.10", @@ -575,7 +575,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "8000000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "10000000000", "offchainPriceDivergence": "0.10", @@ -603,7 +603,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "5000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "5000000", "offchainPriceDivergence": "0.10", @@ -631,7 +631,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "475000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "500000000", "offchainPriceDivergence": "0.10", @@ -659,7 +659,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "10000000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "10000000000", "offchainPriceDivergence": "0.10", @@ -717,7 +717,7 @@ "maxLeverage": "27.5", "maxMarketValue": "7500000", "maxFundingVelocity": "36", - "skewScale": "300000000", + "skewScale": "150000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocADAPERP", @@ -743,9 +743,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "250000", + "maxMarketValue": "111600", "maxFundingVelocity": "36", - "skewScale": "6075000", + "skewScale": "3037500", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocAPTPERP", @@ -771,9 +771,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "225000", + "maxMarketValue": "165800", "maxFundingVelocity": "36", - "skewScale": "12750000", + "skewScale": "6375000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocFILPERP", @@ -827,9 +827,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "800000", + "maxMarketValue": "326800", "maxFundingVelocity": "36", - "skewScale": "14250000", + "skewScale": "7125000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocLDOPERP", @@ -855,9 +855,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "12000", + "maxMarketValue": "4200", "maxFundingVelocity": "36", - "skewScale": "225000", + "skewScale": "112500", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocBCHPERP", @@ -883,9 +883,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "6000000", + "maxMarketValue": "1851900", "maxFundingVelocity": "36", - "skewScale": "75000000", + "skewScale": "37500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocCRVPERP", @@ -911,7 +911,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "27720", + "maxMarketValue": "14500", "maxFundingVelocity": "36", "skewScale": "120000", "offchainPriceDivergence": "0.10", @@ -941,7 +941,7 @@ "maxLeverage": "27.5", "maxMarketValue": "2400000000000", "maxFundingVelocity": "36", - "skewScale": "22500000000000", + "skewScale": "11250000000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocPEPEPERP", @@ -967,9 +967,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1000000", + "maxMarketValue": "1190500", "maxFundingVelocity": "36", - "skewScale": "67500000", + "skewScale": "25300000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocSUIPERP", @@ -995,7 +995,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "3000000", + "maxMarketValue": "2222200", "maxFundingVelocity": "36", "skewScale": "50000000", "offchainPriceDivergence": "0.10", @@ -1051,9 +1051,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "300000", + "maxMarketValue": "139100", "maxFundingVelocity": "36", - "skewScale": "15000000", + "skewScale": "7500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocDOTPERP", @@ -1079,9 +1079,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "15000000", + "maxMarketValue": "10000000", "maxFundingVelocity": "36", - "skewScale": "430000000", + "skewScale": "322500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocTRXPERP", @@ -1107,7 +1107,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "10000000000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "120000000000", "offchainPriceDivergence": "0.10", @@ -1135,9 +1135,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "200000", + "maxMarketValue": "79400", "maxFundingVelocity": "36", - "skewScale": "1425000", + "skewScale": "712500", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocINJPERP", @@ -1221,7 +1221,7 @@ "maxLeverage": "27.5", "maxMarketValue": "55000", "maxFundingVelocity": "36", - "skewScale": "3000000", + "skewScale": "2250000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocETCPERP", @@ -1249,7 +1249,7 @@ "maxLeverage": "27.5", "maxMarketValue": "15000", "maxFundingVelocity": "36", - "skewScale": "483750", + "skewScale": "241875", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocCOMPPERP", @@ -1277,7 +1277,7 @@ "maxLeverage": "27.5", "maxMarketValue": "2000", "maxFundingVelocity": "36", - "skewScale": "18000", + "skewScale": "9000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocMKRPERP", @@ -1305,7 +1305,7 @@ "maxLeverage": "27.5", "maxMarketValue": "5000", "maxFundingVelocity": "36", - "skewScale": "191250", + "skewScale": "95625", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocXMRPERP", @@ -1415,9 +1415,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1300000", + "maxMarketValue": "362300", "maxFundingVelocity": "36", - "skewScale": "13000000", + "skewScale": "6500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocWLDPERP", @@ -1501,7 +1501,7 @@ "maxLeverage": "27.5", "maxMarketValue": "80000", "maxFundingVelocity": "36", - "skewScale": "937500", + "skewScale": "703125", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocFXSPERP", @@ -1527,7 +1527,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "750000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "13500000", "offchainPriceDivergence": "0.10", @@ -1555,9 +1555,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "400000", + "maxMarketValue": "263200", "maxFundingVelocity": "36", - "skewScale": "7500000", + "skewScale": "3750000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocRNDRPERP", @@ -1583,7 +1583,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "20000000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "562500000", "offchainPriceDivergence": "0.10", @@ -1613,7 +1613,7 @@ "maxLeverage": "27.5", "maxMarketValue": "300000", "maxFundingVelocity": "36", - "skewScale": "18750000", + "skewScale": "9000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocPERPPERP", @@ -1639,7 +1639,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "25000000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "712500000", "offchainPriceDivergence": "0.10", @@ -1668,7 +1668,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "800000", + "maxMarketValue": "614800", "maxFundingVelocity": "36", "skewScale": "4250000", "offchainPriceDivergence": "0.10", @@ -1724,9 +1724,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "15000", + "maxMarketValue": "0", "maxFundingVelocity": "36", - "skewScale": "585000", + "skewScale": "438750", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocZECPERP", @@ -1780,7 +1780,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "40000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "2775000", "offchainPriceDivergence": "0.10", @@ -1808,9 +1808,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1250000", + "maxMarketValue": "0", "maxFundingVelocity": "36", - "skewScale": "34500000", + "skewScale": "17250000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocENJPERP", @@ -1892,9 +1892,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1250000", + "maxMarketValue": "0", "maxFundingVelocity": "36", - "skewScale": "45000000", + "skewScale": "33750000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "oc1INCHPERP", @@ -1922,7 +1922,7 @@ "maxLeverage": "27.5", "maxMarketValue": "1000000", "maxFundingVelocity": "36", - "skewScale": "96000000", + "skewScale": "48000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocEOSPERP", @@ -1948,9 +1948,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1250000", + "maxMarketValue": "0", "maxFundingVelocity": "36", - "skewScale": "41250000", + "skewScale": "20625000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocCELOPERP", @@ -1976,9 +1976,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "6000000", + "maxMarketValue": "5263200", "maxFundingVelocity": "36", - "skewScale": "207750000", + "skewScale": "103875000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocALGOPERP", @@ -2004,7 +2004,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "2250000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "30000000", "offchainPriceDivergence": "0.10", @@ -2032,9 +2032,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "3000000", + "maxMarketValue": "1470600", "maxFundingVelocity": "36", - "skewScale": "106500000", + "skewScale": "35500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocSEIPERP", @@ -2051,8 +2051,8 @@ "takerFee": "0.3", "takerFeeDelayedOrder": "0.3", "makerFeeDelayedOrder": "0.3", - "takerFeeOffchainDelayedOrder": "0.00020", - "makerFeeOffchainDelayedOrder": "0", + "takerFeeOffchainDelayedOrder": "0.0010", + "makerFeeOffchainDelayedOrder": "0.0010", "nextPriceConfirmWindow": "2", "delayedOrderConfirmWindow": "120", "minDelayTimeDelta": "60", @@ -2060,15 +2060,15 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "55", - "maxMarketValue": "5000000", + "maxMarketValue": "0", "maxFundingVelocity": "9", "skewScale": "2000000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1", "offchainMarketKey": "ocSTETHETHPERP", "liquidationBufferRatio": "0.0100", - "maxPD": "0.0004", - "maxLiquidationDelta": "0.0002", + "maxPD": "0.0040", + "maxLiquidationDelta": "0.0020", "paused": false, "offchainPaused": false }, @@ -2088,8 +2088,8 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "23000", - "maxFundingVelocity": "9", + "maxMarketValue": "0", + "maxFundingVelocity": "36", "skewScale": "200000", "offchainPriceDivergence": "0.99", "liquidationPremiumMultiplier": "3", @@ -2097,8 +2097,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sTIAPERP", @@ -2116,17 +2116,17 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "270000", - "maxFundingVelocity": "9", - "skewScale": "3000000", + "maxMarketValue": "198200", + "maxFundingVelocity": "36", "offchainPriceDivergence": "0.99", + "skewScale": "1500000", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocTIAPERP", "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sIMXPERP", @@ -2145,7 +2145,7 @@ "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", "maxMarketValue": "500000", - "maxFundingVelocity": "9", + "maxFundingVelocity": "36", "skewScale": "8000000", "offchainPriceDivergence": "0.99", "liquidationPremiumMultiplier": "3", @@ -2153,8 +2153,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { @@ -2174,7 +2174,7 @@ "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", "maxMarketValue": "25000000", - "maxFundingVelocity": "9", + "maxFundingVelocity": "36", "skewScale": "650000000", "offchainPriceDivergence": "0.99", "liquidationPremiumMultiplier": "3", @@ -2182,8 +2182,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sFETPERP", @@ -2202,7 +2202,7 @@ "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", "maxMarketValue": "900000", - "maxFundingVelocity": "9", + "maxFundingVelocity": "36", "skewScale": "17000000", "offchainPriceDivergence": "0.99", "liquidationPremiumMultiplier": "3", @@ -2210,8 +2210,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sGRTPERP", @@ -2230,7 +2230,7 @@ "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", "maxMarketValue": "3300000", - "maxFundingVelocity": "9", + "maxFundingVelocity": "36", "skewScale": "75000000", "offchainPriceDivergence": "0.99", "liquidationPremiumMultiplier": "3", @@ -2238,8 +2238,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sPYTHPERP", @@ -2257,17 +2257,17 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "955000", - "maxFundingVelocity": "9", - "skewScale": "16500000", + "maxMarketValue": "2000000", + "maxFundingVelocity": "36", "offchainPriceDivergence": "0.99", + "skewScale": "28875000", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocPYTHPERP", "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sANKRPERP", @@ -2285,8 +2285,8 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "12000000", - "maxFundingVelocity": "9", + "maxMarketValue": "0", + "maxFundingVelocity": "36", "skewScale": "250000000", "offchainPriceDivergence": "0.99", "liquidationPremiumMultiplier": "3", @@ -2294,8 +2294,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sBONKPERP", @@ -2313,8 +2313,8 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "61000000000", - "maxFundingVelocity": "9", + "maxMarketValue": "120000000000", + "maxFundingVelocity": "36", "skewScale": "760000000000", "offchainPriceDivergence": "0.99", "liquidationPremiumMultiplier": "3", @@ -2322,6 +2322,62 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", + "paused": false, + "offchainPaused": false + }, + { + "marketKey": "sJTOPERP", + "asset": "JTO", + "makerFee": "0.3", + "takerFee": "0.3", + "takerFeeDelayedOrder": "0.3", + "makerFeeDelayedOrder": "0.3", + "takerFeeOffchainDelayedOrder": "0.0010", + "makerFeeOffchainDelayedOrder": "0.0002", + "nextPriceConfirmWindow": "2", + "delayedOrderConfirmWindow": "120", + "minDelayTimeDelta": "60", + "maxDelayTimeDelta": "6000", + "offchainDelayedOrderMinAge": "2", + "offchainDelayedOrderMaxAge": "60", + "maxLeverage": "27.5", + "maxMarketValue": "550000", + "maxFundingVelocity": "36", + "skewScale": "8000000", + "offchainPriceDivergence": "0.99", + "liquidationPremiumMultiplier": "3", + "offchainMarketKey": "ocJTOPERP", + "liquidationBufferRatio": "0.0150", + "maxPD": "0.0024", + "maxLiquidationDelta": "0.0012", + "paused": true, + "offchainPaused": true + }, + { + "marketKey": "sORDIPERP", + "asset": "ORDI", + "makerFee": "0.3", + "takerFee": "0.3", + "takerFeeDelayedOrder": "0.3", + "makerFeeDelayedOrder": "0.3", + "takerFeeOffchainDelayedOrder": "0.0010", + "makerFeeOffchainDelayedOrder": "0.0002", + "nextPriceConfirmWindow": "2", + "delayedOrderConfirmWindow": "120", + "minDelayTimeDelta": "60", + "maxDelayTimeDelta": "6000", + "offchainDelayedOrderMinAge": "2", + "offchainDelayedOrderMaxAge": "60", + "maxLeverage": "27.5", + "maxMarketValue": "20000", + "maxFundingVelocity": "36", + "skewScale": "750000", + "offchainPriceDivergence": "0.99", + "liquidationPremiumMultiplier": "3", + "offchainMarketKey": "ocORDIPERP", + "liquidationBufferRatio": "0.0150", + "maxPD": "0.0024", + "maxLiquidationDelta": "0.0012", "paused": true, "offchainPaused": true } diff --git a/publish/deployed/mainnet-ovm/feeds.json b/publish/deployed/mainnet-ovm/feeds.json index e121c6880e..8e69df9862 100644 --- a/publish/deployed/mainnet-ovm/feeds.json +++ b/publish/deployed/mainnet-ovm/feeds.json @@ -343,5 +343,13 @@ "BONK": { "asset": "BONK", "feed": "0xec236454209A76a6deCdf5C1183aE2Eb5e82a829" + }, + "JTO": { + "asset": "JTO", + "feed": "0xFC3b7bd4368b2919f67E437f8c6Ca42C7FD55dd5" + }, + "ORDI": { + "asset": "ORDI", + "feed": "0x30795BeACc0f43920EF1288dB6676B5e205AE288" } } diff --git a/publish/deployed/mainnet-ovm/offchain-feeds.json b/publish/deployed/mainnet-ovm/offchain-feeds.json index 91b1f725e7..dd2514fe10 100644 --- a/publish/deployed/mainnet-ovm/offchain-feeds.json +++ b/publish/deployed/mainnet-ovm/offchain-feeds.json @@ -500,5 +500,17 @@ "oracle": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", "asset": "BONK", "feedId": "0x72b021217ca3fe68922a19aaf990109cb9d84e9ad004b4d2025ad6f529314419" + }, + { + "kind": "pyth", + "oracle": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", + "asset": "JTO", + "feedId": "0xb43660a5f790c69354b0729a5ef9d50d68f1df92107540210b9cccba1f947cc2" + }, + { + "kind": "pyth", + "oracle": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", + "asset": "ORDI", + "feedId": "0x193c739db502aadcef37c2589738b1e37bdb257d58cf1ab3c7ebc8e6df4e3ec0" } ] diff --git a/publish/deployed/mainnet-ovm/perpsv2-markets.json b/publish/deployed/mainnet-ovm/perpsv2-markets.json index e32845cda7..6aa614492f 100644 --- a/publish/deployed/mainnet-ovm/perpsv2-markets.json +++ b/publish/deployed/mainnet-ovm/perpsv2-markets.json @@ -15,7 +15,7 @@ "offchainDelayedOrderMinAge": "1", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "55", - "maxMarketValue": "36000", + "maxMarketValue": "22300", "maxFundingVelocity": "9", "skewScale": "1000000", "offchainPriceDivergence": "0.10", @@ -43,7 +43,7 @@ "offchainDelayedOrderMinAge": "1", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "55", - "maxMarketValue": "1750", + "maxMarketValue": "1400", "maxFundingVelocity": "9", "skewScale": "100000", "offchainPriceDivergence": "0.10", @@ -99,9 +99,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "900000", + "maxMarketValue": "368500", "maxFundingVelocity": "36", - "skewScale": "15000000", + "skewScale": "7500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocLINKPERP", @@ -155,7 +155,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "12000000", + "maxMarketValue": "5952400", "maxFundingVelocity": "36", "skewScale": "75000000", "offchainPriceDivergence": "0.10", @@ -185,7 +185,7 @@ "maxLeverage": "27.5", "maxMarketValue": "50000000", "maxFundingVelocity": "36", - "skewScale": "1875000000", + "skewScale": "937500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocDOGEPERP", @@ -211,7 +211,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "6000000", + "maxMarketValue": "2500000", "maxFundingVelocity": "36", "skewScale": "75000000", "offchainPriceDivergence": "0.10", @@ -267,9 +267,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "160000", + "maxMarketValue": "142700", "maxFundingVelocity": "36", - "skewScale": "3750000", + "skewScale": "1900000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocAVAXPERP", @@ -295,7 +295,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "4600000", + "maxMarketValue": "2702700", "maxFundingVelocity": "36", "skewScale": "34000000", "offchainPriceDivergence": "0.10", @@ -323,9 +323,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "2050000", + "maxMarketValue": "1474900", "maxFundingVelocity": "36", - "skewScale": "22500000", + "skewScale": "11250000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocOPPERP", @@ -379,9 +379,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1000000", + "maxMarketValue": "295000", "maxFundingVelocity": "36", - "skewScale": "18750000", + "skewScale": "9375000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocNEARPERP", @@ -409,7 +409,7 @@ "maxLeverage": "27.5", "maxMarketValue": "100000", "maxFundingVelocity": "36", - "skewScale": "3750000", + "skewScale": "2109375", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocAXSPERP", @@ -463,9 +463,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1600000", + "maxMarketValue": "1900000", "maxFundingVelocity": "36", - "skewScale": "12000000", + "skewScale": "9000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocDYDXPERP", @@ -491,7 +491,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "31150", + "maxMarketValue": "10100", "maxFundingVelocity": "36", "skewScale": "180000", "offchainPriceDivergence": "0.10", @@ -547,7 +547,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "15000000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "25000000000", "offchainPriceDivergence": "0.10", @@ -575,7 +575,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "8000000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "10000000000", "offchainPriceDivergence": "0.10", @@ -603,7 +603,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "5000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "5000000", "offchainPriceDivergence": "0.10", @@ -631,7 +631,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "475000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "500000000", "offchainPriceDivergence": "0.10", @@ -659,7 +659,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "100", - "maxMarketValue": "10000000", + "maxMarketValue": "0", "maxFundingVelocity": "1", "skewScale": "10000000000", "offchainPriceDivergence": "0.10", @@ -717,7 +717,7 @@ "maxLeverage": "27.5", "maxMarketValue": "7500000", "maxFundingVelocity": "36", - "skewScale": "300000000", + "skewScale": "150000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocADAPERP", @@ -743,9 +743,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "250000", + "maxMarketValue": "111600", "maxFundingVelocity": "36", - "skewScale": "6075000", + "skewScale": "3037500", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocAPTPERP", @@ -771,9 +771,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "225000", + "maxMarketValue": "165800", "maxFundingVelocity": "36", - "skewScale": "12750000", + "skewScale": "6375000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocFILPERP", @@ -827,9 +827,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "800000", + "maxMarketValue": "326800", "maxFundingVelocity": "36", - "skewScale": "14250000", + "skewScale": "7125000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocLDOPERP", @@ -855,9 +855,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "12000", + "maxMarketValue": "4200", "maxFundingVelocity": "36", - "skewScale": "225000", + "skewScale": "112500", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocBCHPERP", @@ -883,9 +883,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "6000000", + "maxMarketValue": "1851900", "maxFundingVelocity": "36", - "skewScale": "75000000", + "skewScale": "37500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocCRVPERP", @@ -911,7 +911,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "27720", + "maxMarketValue": "14500", "maxFundingVelocity": "36", "skewScale": "120000", "offchainPriceDivergence": "0.10", @@ -941,7 +941,7 @@ "maxLeverage": "27.5", "maxMarketValue": "2400000000000", "maxFundingVelocity": "36", - "skewScale": "22500000000000", + "skewScale": "11250000000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocPEPEPERP", @@ -967,9 +967,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1000000", + "maxMarketValue": "1190500", "maxFundingVelocity": "36", - "skewScale": "67500000", + "skewScale": "25300000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocSUIPERP", @@ -995,7 +995,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "3000000", + "maxMarketValue": "2222200", "maxFundingVelocity": "36", "skewScale": "50000000", "offchainPriceDivergence": "0.10", @@ -1051,9 +1051,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "300000", + "maxMarketValue": "139100", "maxFundingVelocity": "36", - "skewScale": "15000000", + "skewScale": "7500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocDOTPERP", @@ -1079,9 +1079,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "15000000", + "maxMarketValue": "10000000", "maxFundingVelocity": "36", - "skewScale": "430000000", + "skewScale": "322500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocTRXPERP", @@ -1107,7 +1107,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "10000000000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "120000000000", "offchainPriceDivergence": "0.10", @@ -1135,9 +1135,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "200000", + "maxMarketValue": "79400", "maxFundingVelocity": "36", - "skewScale": "1425000", + "skewScale": "712500", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocINJPERP", @@ -1221,7 +1221,7 @@ "maxLeverage": "27.5", "maxMarketValue": "55000", "maxFundingVelocity": "36", - "skewScale": "3000000", + "skewScale": "2250000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1.5625", "offchainMarketKey": "ocETCPERP", @@ -1249,7 +1249,7 @@ "maxLeverage": "27.5", "maxMarketValue": "15000", "maxFundingVelocity": "36", - "skewScale": "483750", + "skewScale": "241875", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocCOMPPERP", @@ -1277,7 +1277,7 @@ "maxLeverage": "27.5", "maxMarketValue": "2000", "maxFundingVelocity": "36", - "skewScale": "18000", + "skewScale": "9000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocMKRPERP", @@ -1305,7 +1305,7 @@ "maxLeverage": "27.5", "maxMarketValue": "5000", "maxFundingVelocity": "36", - "skewScale": "191250", + "skewScale": "95625", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocXMRPERP", @@ -1415,9 +1415,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1300000", + "maxMarketValue": "362300", "maxFundingVelocity": "36", - "skewScale": "13000000", + "skewScale": "6500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocWLDPERP", @@ -1501,7 +1501,7 @@ "maxLeverage": "27.5", "maxMarketValue": "80000", "maxFundingVelocity": "36", - "skewScale": "937500", + "skewScale": "703125", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocFXSPERP", @@ -1527,7 +1527,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "750000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "13500000", "offchainPriceDivergence": "0.10", @@ -1555,9 +1555,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "400000", + "maxMarketValue": "263200", "maxFundingVelocity": "36", - "skewScale": "7500000", + "skewScale": "3750000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocRNDRPERP", @@ -1583,7 +1583,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "20000000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "562500000", "offchainPriceDivergence": "0.10", @@ -1613,7 +1613,7 @@ "maxLeverage": "27.5", "maxMarketValue": "300000", "maxFundingVelocity": "36", - "skewScale": "18750000", + "skewScale": "9000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocPERPPERP", @@ -1639,7 +1639,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "25000000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "712500000", "offchainPriceDivergence": "0.10", @@ -1668,7 +1668,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "800000", + "maxMarketValue": "614800", "maxFundingVelocity": "36", "skewScale": "4250000", "offchainPriceDivergence": "0.10", @@ -1724,9 +1724,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "15000", + "maxMarketValue": "0", "maxFundingVelocity": "36", - "skewScale": "585000", + "skewScale": "438750", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocZECPERP", @@ -1780,7 +1780,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "40000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "2775000", "offchainPriceDivergence": "0.10", @@ -1808,9 +1808,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1250000", + "maxMarketValue": "0", "maxFundingVelocity": "36", - "skewScale": "34500000", + "skewScale": "17250000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocENJPERP", @@ -1892,9 +1892,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1250000", + "maxMarketValue": "0", "maxFundingVelocity": "36", - "skewScale": "45000000", + "skewScale": "33750000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "oc1INCHPERP", @@ -1922,7 +1922,7 @@ "maxLeverage": "27.5", "maxMarketValue": "1000000", "maxFundingVelocity": "36", - "skewScale": "96000000", + "skewScale": "48000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocEOSPERP", @@ -1948,9 +1948,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "1250000", + "maxMarketValue": "0", "maxFundingVelocity": "36", - "skewScale": "41250000", + "skewScale": "20625000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocCELOPERP", @@ -1976,9 +1976,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "6000000", + "maxMarketValue": "5263200", "maxFundingVelocity": "36", - "skewScale": "207750000", + "skewScale": "103875000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocALGOPERP", @@ -2004,7 +2004,7 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "2250000", + "maxMarketValue": "0", "maxFundingVelocity": "36", "skewScale": "30000000", "offchainPriceDivergence": "0.10", @@ -2032,9 +2032,9 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "3000000", + "maxMarketValue": "1470600", "maxFundingVelocity": "36", - "skewScale": "106500000", + "skewScale": "35500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocSEIPERP", @@ -2051,8 +2051,8 @@ "takerFee": "0.3", "takerFeeDelayedOrder": "0.3", "makerFeeDelayedOrder": "0.3", - "takerFeeOffchainDelayedOrder": "0.00020", - "makerFeeOffchainDelayedOrder": "0", + "takerFeeOffchainDelayedOrder": "0.0010", + "makerFeeOffchainDelayedOrder": "0.0010", "nextPriceConfirmWindow": "2", "delayedOrderConfirmWindow": "120", "minDelayTimeDelta": "60", @@ -2060,15 +2060,15 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "55", - "maxMarketValue": "5000000", + "maxMarketValue": "0", "maxFundingVelocity": "9", "skewScale": "2000000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "1", "offchainMarketKey": "ocSTETHETHPERP", "liquidationBufferRatio": "0.0100", - "maxPD": "0.0004", - "maxLiquidationDelta": "0.0002", + "maxPD": "0.0040", + "maxLiquidationDelta": "0.0020", "paused": false, "offchainPaused": false }, @@ -2088,8 +2088,8 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "23000", - "maxFundingVelocity": "9", + "maxMarketValue": "0", + "maxFundingVelocity": "36", "skewScale": "200000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", @@ -2097,8 +2097,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sTIAPERP", @@ -2116,17 +2116,17 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "270000", - "maxFundingVelocity": "9", - "skewScale": "3000000", + "maxMarketValue": "198200", + "maxFundingVelocity": "36", + "skewScale": "1500000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocTIAPERP", "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sIMXPERP", @@ -2145,7 +2145,7 @@ "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", "maxMarketValue": "500000", - "maxFundingVelocity": "9", + "maxFundingVelocity": "36", "skewScale": "8000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", @@ -2153,8 +2153,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { @@ -2174,7 +2174,7 @@ "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", "maxMarketValue": "25000000", - "maxFundingVelocity": "9", + "maxFundingVelocity": "36", "skewScale": "650000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", @@ -2182,8 +2182,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sFETPERP", @@ -2202,7 +2202,7 @@ "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", "maxMarketValue": "900000", - "maxFundingVelocity": "9", + "maxFundingVelocity": "36", "skewScale": "17000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", @@ -2210,8 +2210,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sGRTPERP", @@ -2230,7 +2230,7 @@ "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", "maxMarketValue": "3300000", - "maxFundingVelocity": "9", + "maxFundingVelocity": "36", "skewScale": "75000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", @@ -2238,8 +2238,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sPYTHPERP", @@ -2257,17 +2257,17 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "955000", - "maxFundingVelocity": "9", - "skewScale": "16500000", + "maxMarketValue": "2000000", + "maxFundingVelocity": "36", + "skewScale": "28875000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", "offchainMarketKey": "ocPYTHPERP", "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sANKRPERP", @@ -2285,8 +2285,8 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "12000000", - "maxFundingVelocity": "9", + "maxMarketValue": "0", + "maxFundingVelocity": "36", "skewScale": "250000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", @@ -2294,8 +2294,8 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", - "paused": true, - "offchainPaused": true + "paused": false, + "offchainPaused": false }, { "marketKey": "sBONKPERP", @@ -2313,8 +2313,8 @@ "offchainDelayedOrderMinAge": "2", "offchainDelayedOrderMaxAge": "60", "maxLeverage": "27.5", - "maxMarketValue": "61000000000", - "maxFundingVelocity": "9", + "maxMarketValue": "120000000000", + "maxFundingVelocity": "36", "skewScale": "760000000000", "offchainPriceDivergence": "0.10", "liquidationPremiumMultiplier": "3", @@ -2322,6 +2322,62 @@ "liquidationBufferRatio": "0.0150", "maxPD": "0.0024", "maxLiquidationDelta": "0.0012", + "paused": false, + "offchainPaused": false + }, + { + "marketKey": "sJTOPERP", + "asset": "JTO", + "makerFee": "0.3", + "takerFee": "0.3", + "takerFeeDelayedOrder": "0.3", + "makerFeeDelayedOrder": "0.3", + "takerFeeOffchainDelayedOrder": "0.0010", + "makerFeeOffchainDelayedOrder": "0.0002", + "nextPriceConfirmWindow": "2", + "delayedOrderConfirmWindow": "120", + "minDelayTimeDelta": "60", + "maxDelayTimeDelta": "6000", + "offchainDelayedOrderMinAge": "2", + "offchainDelayedOrderMaxAge": "60", + "maxLeverage": "27.5", + "maxMarketValue": "550000", + "maxFundingVelocity": "36", + "skewScale": "8000000", + "offchainPriceDivergence": "0.10", + "liquidationPremiumMultiplier": "3", + "offchainMarketKey": "ocJTOPERP", + "liquidationBufferRatio": "0.0150", + "maxPD": "0.0024", + "maxLiquidationDelta": "0.0012", + "paused": true, + "offchainPaused": true + }, + { + "marketKey": "sORDIPERP", + "asset": "ORDI", + "makerFee": "0.3", + "takerFee": "0.3", + "takerFeeDelayedOrder": "0.3", + "makerFeeDelayedOrder": "0.3", + "takerFeeOffchainDelayedOrder": "0.0010", + "makerFeeOffchainDelayedOrder": "0.0002", + "nextPriceConfirmWindow": "2", + "delayedOrderConfirmWindow": "120", + "minDelayTimeDelta": "60", + "maxDelayTimeDelta": "6000", + "offchainDelayedOrderMinAge": "2", + "offchainDelayedOrderMaxAge": "60", + "maxLeverage": "27.5", + "maxMarketValue": "20000", + "maxFundingVelocity": "36", + "skewScale": "750000", + "offchainPriceDivergence": "0.10", + "liquidationPremiumMultiplier": "3", + "offchainMarketKey": "ocORDIPERP", + "liquidationBufferRatio": "0.0150", + "maxPD": "0.0024", + "maxLiquidationDelta": "0.0012", "paused": true, "offchainPaused": true } diff --git a/publish/releases.json b/publish/releases.json index 48a9b4e2a2..39b069cfcb 100644 --- a/publish/releases.json +++ b/publish/releases.json @@ -1032,6 +1032,16 @@ "layer": "ovm", "sources": [], "released": "ovm" + }, + { + "sip": 2044, + "layer": "ovm", + "sources": [] + }, + { + "sip": 2045, + "layer": "ovm", + "sources": [] } ], "releases": [ @@ -1927,6 +1937,15 @@ }, "sips": [2035, 2037, 2039, 2040, 2041, 2042], "released": true + }, + { + "name": "Markeb (Optimism)", + "ovm": true, + "version": { + "major": 2, + "minor": 98 + }, + "sips": [2044, 2045] } ] } diff --git a/publish/src/commands/deploy/rebuild-resolver-caches.js b/publish/src/commands/deploy/rebuild-resolver-caches.js index 780c74d0f6..664a225751 100644 --- a/publish/src/commands/deploy/rebuild-resolver-caches.js +++ b/publish/src/commands/deploy/rebuild-resolver-caches.js @@ -78,9 +78,7 @@ module.exports = async ({ 'Warning: Cannot fetch logs on this network. Known limitation on Tenderly Fork - cannot search back greater than 1k blocks' ) ); - } else if ( - /eth_getLogs and eth_newFilter are limited to a 10000 blocks range/.test(err.message) - ) { + } else if (/eth_getLogs is limited to a 10,000 range/.test(err.message)) { console.log( yellow.bold( 'Warning: Cannot fetch logs on this network. Known limitation on hh fork - cannot search back greater than 10k blocks'