0x000000000000000000000000000000000000000000000000000000000000000061016060405234801561001157600080fd5b50604051610fac380380610fac83398101604081905261003091610143565b604080518082018252601681527f466c657869626c654e6f6e6365466f7277617264657200000000000000000000602080830191825283518085019094526005845264302e302e3160d81b908401528151902060e08190527fae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc1991638118856101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6101268184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c052610120525050600160005550506101405261015c565b60006020828403121561015557600080fd5b5051919050565b60805160a05160c05160e051610100516101205161014051610def6101bd600039600081816104db015261057601526000610882015260006108d1015260006108ac015260006108050152600061082f015260006108590152610def6000f3fe6080604052600436106100295760003560e01c80632d0335ab1461002e57806347153f8214610077575b600080fd5b34801561003a57600080fd5b50610064610049366004610b68565b6001600160a01b031660009081526001602052604090205490565b6040519081526020015b60405180910390f35b61008a610085366004610b98565b610098565b60405161006e929190610c67565b600060606100a46101d0565b6100af85858561022f565b6100b88561063b565b6000806100cb6040880160208901610b68565b6001600160a01b0316606088013560408901356100eb60a08b018b610ca3565b6100f860208d018d610b68565b60405160200161010a93929190610cea565b60408051601f198184030181529082905261012491610d10565b600060405180830381858888f193505050503d8060008114610162576040519150601f19603f3d011682016040523d82523d6000602084013e610167565b606091505b50909250905061017c603f6060890135610d42565b5a1161018457fe5b60405182151581527fed0603e97c834a591ced7b3c6ce727a087f9d1748098dc815b12a2516993d68c9060200160405180910390a190925090506101c86001600055565b935093915050565b600260005414156102285760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600055565b600061034183838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061033b92507fdd8f4b70b0f4393e889bd39128a30628a78b61816a9eb8199759e7a349657e48915061029e90506020890189610b68565b6102ae60408a0160208b01610b68565b60408a013560608b013560808c01356102ca60a08e018e610ca3565b6040516102d8929190610d64565b6040805191829003822060208301989098526001600160a01b0396871690820152949093166060850152608084019190915260a083015260c082015260e08101919091526101000160405160208183030381529060405280519060200120610662565b906106b6565b90506103506020850185610b68565b6001600160a01b0316816001600160a01b0316146103a257806103766020860186610b68565b604051635e4cf60960e11b81526001600160a01b0392831660048201529116602482015260440161021f565b6080840135600160006103b86020880188610b68565b6001600160a01b03168152602081019190915260400160002054141561044b576103e760808501356001610d74565b600160006103f86020880188610b68565b6001600160a01b03168152602080820192909252604001600090812092909255439160019161042990880188610b68565b6001600160a01b031681526020810191909152604001600020600101556105b8565b6001600061045c6020870187610b68565b6001600160a01b03166001600160a01b0316815260200190815260200160002060020160008560800135815260200190815260200160002060000183836040516104a7929190610d64565b9081526040519081900360200190205460ff16156104d857604051630c3294e760e41b815260040160405180910390fd5b437f00000000000000000000000000000000000000000000000000000000000000006001600061050b6020890189610b68565b6001600160a01b03166001600160a01b03168152602001908152602001600020600101546105399190610d74565b10156105b857600160006105506020870187610b68565b6001600160a01b03166001600160a01b03168152602001908152602001600020600101547f00000000000000000000000000000000000000000000000000000000000000006040516264f5c360e21b815260040161021f929190918252602082015260400190565b60018060006105ca6020880188610b68565b6001600160a01b03166001600160a01b031681526020019081526020016000206002016000866080013581526020019081526020016000206000018484604051610615929190610d64565b908152604051908190036020019020805491151560ff1990921691909117905550505050565b806040013534111561065f5761065f610658604083013534610d8c565b33906106da565b50565b60006106b061066f6107f8565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b92915050565b60008060006106c5858561091f565b915091506106d281610965565b509392505050565b8047101561072a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161021f565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610777576040519150601f19603f3d011682016040523d82523d6000602084013e61077c565b606091505b50509050806107f35760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161021f565b505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561085157507f000000000000000000000000000000000000000000000000000000000000000046145b1561087b57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000808251604114156109565760208301516040840151606085015160001a61094a87828585610aae565b9450945050505061095e565b506000905060025b9250929050565b600081600481111561097957610979610da3565b14156109825750565b600181600481111561099657610996610da3565b14156109df5760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b604482015260640161021f565b60028160048111156109f3576109f3610da3565b1415610a415760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161021f565b6003816004811115610a5557610a55610da3565b141561065f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161021f565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115610adb5750600090506003610b5f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610b2f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610b5857600060019250925050610b5f565b9150600090505b94509492505050565b600060208284031215610b7a57600080fd5b81356001600160a01b0381168114610b9157600080fd5b9392505050565b600080600060408486031215610bad57600080fd5b833567ffffffffffffffff80821115610bc557600080fd5b9085019060c08288031215610bd957600080fd5b90935060208501359080821115610bef57600080fd5b818601915086601f830112610c0357600080fd5b813581811115610c1257600080fd5b876020828501011115610c2457600080fd5b6020830194508093505050509250925092565b60005b83811015610c52578181015183820152602001610c3a565b83811115610c61576000848401525b50505050565b82151581526040602082015260008251806040840152610c8e816060850160208701610c37565b601f01601f1916919091016060019392505050565b6000808335601e19843603018112610cba57600080fd5b83018035915067ffffffffffffffff821115610cd557600080fd5b60200191503681900382131561095e57600080fd5b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b60008251610d22818460208701610c37565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b600082610d5f57634e487b7160e01b600052601260045260246000fd5b500490565b8183823760009101908152919050565b60008219821115610d8757610d87610d2c565b500190565b600082821015610d9e57610d9e610d2c565b500390565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220a166df2e44440aa1a32880ff36af2010b3d568c81eb4a2844743077ecc44384a64736f6c634300080900330000000000000000000000000000000000000000000000000000000000000064