0x608060405234801561001057600080fd5b506130a4806100206000396000f3fe6080604052600436106102045760003560e01c80635c975abb11610118578063a217fddf116100a0578063c87b56dd1161006f578063c87b56dd146105dc578063d204c45e146105fc578063d547741f1461061c578063e985e9c51461063c578063f2fde38b1461068557610204565b8063a217fddf14610572578063a22cb46514610587578063a9b2d4b0146105a7578063b88d4fde146105bc57610204565b80638456cb59116100e75780638456cb59146104ea5780638a3eb9f8146104ff5780638da5cb5b1461051f57806391d148541461053d57806395d89b411461055d57610204565b80635c975abb146104585780636352211e146104715780636779bdeb1461049157806370a08231146104ca57610204565b806336568abe1161019b57806342966c681161016a57806342966c68146103cd5780634cd88b76146103ed5780634f1ef2861461040d57806357209f48146104205780635c8671ac1461044057610204565b806336568abe146103585780633659cfe6146103785780633f4ba83a1461039857806342842e0e146103ad57610204565b8063162094c4116101d7578063162094c4146102ba57806323b872dd146102da578063248a9ca3146102fa5780632f2ff15d1461033857610204565b806301ffc9a71461020957806306fdde031461023e578063081812fc14610260578063095ea7b314610298575b600080fd5b34801561021557600080fd5b50610229610224366004612bfb565b6106a5565b60405190151581526020015b60405180910390f35b34801561024a57600080fd5b506102536106b8565b6040516102359190612de2565b34801561026c57600080fd5b5061028061027b366004612bc1565b61074a565b6040516001600160a01b039091168152602001610235565b3480156102a457600080fd5b506102b86102b3366004612b7e565b6107d7565b005b3480156102c657600080fd5b506102536102d5366004612c8a565b6108ed565b3480156102e657600080fd5b506102b86102f5366004612a68565b61095f565b34801561030657600080fd5b5061032a610315366004612bc1565b60009081526065602052604090206001015490565b604051908152602001610235565b34801561034457600080fd5b506102b8610353366004612bd9565b610990565b34801561036457600080fd5b506102b8610373366004612bd9565b6109b7565b34801561038457600080fd5b506102b8610393366004612a1c565b610a35565b3480156103a457600080fd5b506102b8610a5c565b3480156103b957600080fd5b506102b86103c8366004612a68565b610a70565b3480156103d957600080fd5b506102b86103e8366004612bc1565b610a8b565b3480156103f957600080fd5b506102b8610408366004612c33565b610aa0565b6102b861041b366004612b32565b610b48565b34801561042c57600080fd5b506102b861043b366004612b09565b610b5d565b34801561044c57600080fd5b5060995460ff16610229565b34801561046457600080fd5b5061012e5460ff16610229565b34801561047d57600080fd5b5061028061048c366004612bc1565b610c10565b34801561049d57600080fd5b506102296104ac366004612a1c565b6001600160a01b031660009081526098602052604090205460ff1690565b3480156104d657600080fd5b5061032a6104e5366004612a1c565b610c87565b3480156104f657600080fd5b506102b8610d0e565b34801561050b57600080fd5b506102b861051a366004612ba7565b610d22565b34801561052b57600080fd5b506097546001600160a01b0316610280565b34801561054957600080fd5b50610229610558366004612bd9565b610d6c565b34801561056957600080fd5b50610253610d97565b34801561057e57600080fd5b5061032a600081565b34801561059357600080fd5b506102b86105a2366004612b09565b610da6565b3480156105b357600080fd5b506102b8610e78565b3480156105c857600080fd5b506102b86105d7366004612aa3565b610f08565b3480156105e857600080fd5b506102536105f7366004612bc1565b610f40565b34801561060857600080fd5b5061032a610617366004612b32565b610f4b565b34801561062857600080fd5b506102b8610637366004612bd9565b61107e565b34801561064857600080fd5b50610229610657366004612a36565b6001600160a01b03918216600090815260cf6020908152604080832093909416825291909152205460ff1690565b34801561069157600080fd5b506102b86106a0366004612a1c565b6110a4565b60006106b08261117c565b90505b919050565b606060ca80546106c790612f8b565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390612f8b565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050905090565b6000610755826111bc565b6107bb5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50600090815260ce60205260409020546001600160a01b031690565b60006107e282610c10565b9050806001600160a01b0316836001600160a01b031614156108505760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107b2565b336001600160a01b038216148061086c575061086c8133610657565b6108de5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107b2565b6108e883836111d9565b505050565b6060336108f984610c10565b6001600160a01b031614806109145750610914600033610558565b61094f5760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b60448201526064016107b2565b6109598383611247565b50919050565b61096933826112d2565b6109855760405162461bcd60e51b81526004016107b290612e95565b6108e88383836113bc565b6000828152606560205260409020600101546109ad81335b611567565b6108e883836115cb565b6001600160a01b0381163314610a275760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107b2565b610a318282611651565b5050565b610a3e816116b8565b610a59816040518060200160405280600081525060006116c4565b50565b6000610a6881336109a8565b610a5961184c565b6108e883838360405180602001604052806000815250610f08565b6000610a9781336109a8565b610a31826118e1565b600054610100900460ff1680610ab9575060005460ff16155b610ad55760405162461bcd60e51b81526004016107b290612e47565b600054610100900460ff16158015610b00576000805460ff1961ff0019909116610100171660011790555b610b0a83836118ea565b610b12611964565b610b1a6119dc565b610b22611964565b610b2a611a4c565b610b32610e78565b80156108e8576000805461ff0019169055505050565b610b51826116b8565b610a31828260016116c4565b6000610b6981336109a8565b6001600160a01b038316331415610bbb5760405162461bcd60e51b81526020600482015260166024820152752cb7ba9031b0b713ba103130b7103cb7bab939b2b63360511b60448201526064016107b2565b6001600160a01b038316600081815260986020526040808220805460ff191686151590811790915590519092917f7113ce15c395851033544a97557341cdc71886964b54ff108a685d359ed4cdf891a3505050565b600081815260cc60205260408120546001600160a01b0316806106b05760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107b2565b60006001600160a01b038216610cf25760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016107b2565b506001600160a01b0316600090815260cd602052604090205490565b6000610d1a81336109a8565b610a59611ab3565b6000610d2e81336109a8565b6099805460ff19168315159081179091556040517fe2833750e0daf7875398e095418a7e8d7f58654b68767cb9f01e247da93b92ec90600090a25050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b606060cb80546106c790612f8b565b6001600160a01b038216331415610dff5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107b2565b33600081815260cf602090815260408083206001600160a01b0387168085529252909120805460ff1916841515179055906001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610e6c911515815260200190565b60405180910390a35050565b600054610100900460ff1680610e91575060005460ff16155b610ead5760405162461bcd60e51b81526004016107b290612e47565b600054610100900460ff16158015610ed8576000805460ff1961ff0019909116610100171660011790555b610ee0611964565b610eeb600033611b30565b610ef433611b3a565b8015610a59576000805461ff001916905550565b610f1233836112d2565b610f2e5760405162461bcd60e51b81526004016107b290612e95565b610f3a84848484611b8c565b50505050565b60606106b082611bbf565b6000610f5960995460ff1690565b15610fa65760405162461bcd60e51b815260206004820152601860248201527f4d696e74696e67206973206e6f7420617661696c61626c65000000000000000060448201526064016107b2565b610faf336104ac565b15610fe85760405162461bcd60e51b81526020600482015260096024820152682337b93134b23232b760b91b60448201526064016107b2565b6001600160a01b03831660009081526098602052604090205460ff161561103d5760405162461bcd60e51b81526020600482015260096024820152682337b93134b23232b760b91b60448201526064016107b2565b6110508361104b6101f65490565b611d2f565b61106361105d6101f65490565b83611247565b6110726101f680546001019055565b6101f6545b9392505050565b60008281526065602052604090206001015461109a81336109a8565b6108e88383611651565b6097546001600160a01b0316331461110a5760405162461bcd60e51b8152602060048201526024808201527f436f6e74726f6c61626c653a2063616c6c6572206973206e6f7420746865206f6044820152633bb732b960e11b60648201526084016107b2565b6001600160a01b0381166111735760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726f6c61626c653a206e6577206f776e657220697320746865207a65604482015269726f206164647265737360b01b60648201526084016107b2565b610a5981611b3a565b60006001600160e01b031982166380ac58cd60e01b14806111ad57506001600160e01b03198216635b5e139f60e01b145b806106b057506106b082611d49565b600090815260cc60205260409020546001600160a01b0316151590565b600081815260ce6020526040902080546001600160a01b0319166001600160a01b038416908117909155819061120e82610c10565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b611250826111bc565b6112b35760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016107b2565b600082815260fc6020908152604090912082516108e89284019061289d565b60006112dd826111bc565b61133e5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107b2565b600061134983610c10565b9050806001600160a01b0316846001600160a01b031614806113845750836001600160a01b03166113798461074a565b6001600160a01b0316145b806113b457506001600160a01b03808216600090815260cf602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166113cf82610c10565b6001600160a01b0316146114375760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016107b2565b6001600160a01b0382166114995760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107b2565b6114a4838383611d7e565b6114af6000826111d9565b6001600160a01b038316600090815260cd602052604081208054600192906114d8908490612f31565b90915550506001600160a01b038216600090815260cd60205260408120805460019290611506908490612ee6565b9091555050600081815260cc602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6115718282610d6c565b610a3157611589816001600160a01b03166014611dca565b611594836020611dca565b6040516020016115a5929190612d30565b60408051601f198184030181529082905262461bcd60e51b82526107b291600401612de2565b6115d58282610d6c565b610a315760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561160d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61165b8282610d6c565b15610a315760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610a3181336109a8565b60006116f77f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905061170284611fac565b60008351118061170f5750815b156117205761171e8484612051565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661184557805460ff191660011781556040516001600160a01b038316602482015261179f90869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052612051565b50805460ff191681557f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b0383811691161461183c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016107b2565b6118458561213c565b5050505050565b61012e5460ff166118965760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107b2565b61012e805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b610a598161217c565b600054610100900460ff1680611903575060005460ff16155b61191f5760405162461bcd60e51b81526004016107b290612e47565b600054610100900460ff1615801561194a576000805460ff1961ff0019909116610100171660011790555b6119526121bc565b61195a6121bc565b610b32838361222f565b600054610100900460ff168061197d575060005460ff16155b6119995760405162461bcd60e51b81526004016107b290612e47565b600054610100900460ff161580156119c4576000805460ff1961ff0019909116610100171660011790555b6119cc6121bc565b6119d46121bc565b610ef46121bc565b600054610100900460ff16806119f5575060005460ff16155b611a115760405162461bcd60e51b81526004016107b290612e47565b600054610100900460ff16158015611a3c576000805460ff1961ff0019909116610100171660011790555b611a446121bc565b610ef46122cd565b600054610100900460ff1680611a65575060005460ff16155b611a815760405162461bcd60e51b81526004016107b290612e47565b600054610100900460ff161580156119cc576000805460ff1961ff0019909116610100171660011790556119d46121bc565b61012e5460ff1615611afa5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107b2565b61012e805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586118c43390565b610a3182826115cb565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611b978484846113bc565b611ba38484848461234c565b610f3a5760405162461bcd60e51b81526004016107b290612df5565b6060611bca826111bc565b611c305760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b60648201526084016107b2565b600082815260fc602052604081208054611c4990612f8b565b80601f0160208091040260200160405190810160405280929190818152602001828054611c7590612f8b565b8015611cc25780601f10611c9757610100808354040283529160200191611cc2565b820191906000526020600020905b815481529060010190602001808311611ca557829003601f168201915b505050505090506000611ce060408051602081019091526000815290565b9050805160001415611cf4575090506106b3565b815115611d26578082604051602001611d0e929190612d01565b604051602081830303815290604052925050506106b3565b6113b484612459565b610a31828260405180602001604052806000815250612530565b60006001600160e01b03198216637965db0b60e01b14806106b057506301ffc9a760e01b6001600160e01b03198316146106b0565b61012e5460ff1615611dc55760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107b2565b6108e8565b60606000611dd9836002612f12565b611de4906002612ee6565b67ffffffffffffffff811115611e0a57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611e34576020820181803683370190505b509050600360fc1b81600081518110611e5d57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611e9a57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000611ebe846002612f12565b611ec9906001612ee6565b90505b6001811115611f5d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611f0b57634e487b7160e01b600052603260045260246000fd5b1a60f81b828281518110611f2f57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c93611f5681612f74565b9050611ecc565b5083156110775760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107b2565b803b6120105760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016107b2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6120b05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016107b2565b600080846001600160a01b0316846040516120cb9190612ce5565b600060405180830381855af49150503d8060008114612106576040519150601f19603f3d011682016040523d82523d6000602084013e61210b565b606091505b5091509150612133828260405180606001604052806027815260200161304860279139612563565b95945050505050565b61214581611fac565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6121858161259c565b600081815260fc60205260409020805461219e90612f8b565b159050610a5957600081815260fc60205260408120610a5991612921565b600054610100900460ff16806121d5575060005460ff16155b6121f15760405162461bcd60e51b81526004016107b290612e47565b600054610100900460ff16158015610ef4576000805460ff1961ff0019909116610100171660011790558015610a59576000805461ff001916905550565b600054610100900460ff1680612248575060005460ff16155b6122645760405162461bcd60e51b81526004016107b290612e47565b600054610100900460ff1615801561228f576000805460ff1961ff0019909116610100171660011790555b82516122a29060ca90602086019061289d565b5081516122b69060cb90602085019061289d565b5080156108e8576000805461ff0019169055505050565b600054610100900460ff16806122e6575060005460ff16155b6123025760405162461bcd60e51b81526004016107b290612e47565b600054610100900460ff1615801561232d576000805460ff1961ff0019909116610100171660011790555b61012e805460ff191690558015610a59576000805461ff001916905550565b60006001600160a01b0384163b1561244e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612390903390899088908890600401612da5565b602060405180830381600087803b1580156123aa57600080fd5b505af19250505080156123da575060408051601f3d908101601f191682019092526123d791810190612c17565b60015b612434573d808015612408576040519150601f19603f3d011682016040523d82523d6000602084013e61240d565b606091505b50805161242c5760405162461bcd60e51b81526004016107b290612df5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506113b4565b506001949350505050565b6060612464826111bc565b6124c85760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016107b2565b60006124df60408051602081019091526000815290565b905060008151116124ff5760405180602001604052806000815250611077565b8061250984612643565b60405160200161251a929190612d01565b6040516020818303038152906040529392505050565b61253a838361275e565b612547600084848461234c565b6108e85760405162461bcd60e51b81526004016107b290612df5565b60608315612572575081611077565b8251156125825782518084602001fd5b8160405162461bcd60e51b81526004016107b29190612de2565b60006125a782610c10565b90506125b581600084611d7e565b6125c06000836111d9565b6001600160a01b038116600090815260cd602052604081208054600192906125e9908490612f31565b9091555050600082815260cc602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60608161266857506040805180820190915260018152600360fc1b60208201526106b3565b8160005b8115612692578061267c81612fc0565b915061268b9050600a83612efe565b915061266c565b60008167ffffffffffffffff8111156126bb57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156126e5576020820181803683370190505b5090505b84156113b4576126fa600183612f31565b9150612707600a86612fdb565b612712906030612ee6565b60f81b81838151811061273557634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350612757600a86612efe565b94506126e9565b6001600160a01b0382166127b45760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107b2565b6127bd816111bc565b1561280a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107b2565b61281660008383611d7e565b6001600160a01b038216600090815260cd6020526040812080546001929061283f908490612ee6565b9091555050600081815260cc602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546128a990612f8b565b90600052602060002090601f0160209004810192826128cb5760008555612911565b82601f106128e457805160ff1916838001178555612911565b82800160010185558215612911579182015b828111156129115782518255916020019190600101906128f6565b5061291d929150612959565b5090565b50805461292d90612f8b565b6000825580601f1061293f5750610a59565b601f016020900490600052602060002090810190610a5991905b5b8082111561291d576000815560010161295a565b80356001600160a01b03811681146106b357600080fd5b803580151581146106b357600080fd5b600082601f8301126129a5578081fd5b813567ffffffffffffffff808211156129c0576129c061301b565b604051601f8301601f19908116603f011681019082821181831017156129e8576129e861301b565b81604052838152866020858801011115612a00578485fd5b8360208701602083013792830160200193909352509392505050565b600060208284031215612a2d578081fd5b6110778261296e565b60008060408385031215612a48578081fd5b612a518361296e565b9150612a5f6020840161296e565b90509250929050565b600080600060608486031215612a7c578081fd5b612a858461296e565b9250612a936020850161296e565b9150604084013590509250925092565b60008060008060808587031215612ab8578081fd5b612ac18561296e565b9350612acf6020860161296e565b925060408501359150606085013567ffffffffffffffff811115612af1578182fd5b612afd87828801612995565b91505092959194509250565b60008060408385031215612b1b578182fd5b612b248361296e565b9150612a5f60208401612985565b60008060408385031215612b44578182fd5b612b4d8361296e565b9150602083013567ffffffffffffffff811115612b68578182fd5b612b7485828601612995565b9150509250929050565b60008060408385031215612b90578182fd5b612b998361296e565b946020939093013593505050565b600060208284031215612bb8578081fd5b61107782612985565b600060208284031215612bd2578081fd5b5035919050565b60008060408385031215612beb578182fd5b82359150612a5f6020840161296e565b600060208284031215612c0c578081fd5b813561107781613031565b600060208284031215612c28578081fd5b815161107781613031565b60008060408385031215612c45578182fd5b823567ffffffffffffffff80821115612c5c578384fd5b612c6886838701612995565b93506020850135915080821115612c7d578283fd5b50612b7485828601612995565b60008060408385031215612c9c578182fd5b82359150602083013567ffffffffffffffff811115612b68578182fd5b60008151808452612cd1816020860160208601612f48565b601f01601f19169290920160200192915050565b60008251612cf7818460208701612f48565b9190910192915050565b60008351612d13818460208801612f48565b835190830190612d27818360208801612f48565b01949350505050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351612d68816017850160208801612f48565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612d99816028840160208801612f48565b01602801949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612dd890830184612cb9565b9695505050505050565b6000602082526110776020830184612cb9565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008219821115612ef957612ef9612fef565b500190565b600082612f0d57612f0d613005565b500490565b6000816000190483118215151615612f2c57612f2c612fef565b500290565b600082821015612f4357612f43612fef565b500390565b60005b83811015612f63578181015183820152602001612f4b565b83811115610f3a5750506000910152565b600081612f8357612f83612fef565b506000190190565b600281046001821680612f9f57607f821691505b6020821081141561095957634e487b7160e01b600052602260045260246000fd5b6000600019821415612fd457612fd4612fef565b5060010190565b600082612fea57612fea613005565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610a5957600080fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204b8ae3440e5199d46853402546365e2bdbe3ec278aa8a3b08a7effd4492f630964736f6c63430008020033