//
0x60808060405234610016576114ef908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde0314610dce57508163095ea7b314610da457816318160ddd14610d8557816323b872dd14610c8f578163313ce56714610c735781633950935114610c175781634cd88b76146106955781636370920e1461057957816370a0823114610535578163715018a6146104b55781638da5cb5b1461048057816395d89b4114610381578163a457c2d7146102b3578163a9059cbb14610282578163dd62ed3e1461022c578163f2fde38b14610172575063fca3b5aa146100e057600080fd5b3461016e57602060031936011261016e5760207f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b69173ffffffffffffffffffffffffffffffffffffffff610132610edc565b61013a61100c565b1690817fffffffffffffffffffffffff0000000000000000000000000000000000000000609754161760975551908152a180f35b5080fd5b9050346102285760206003193601126102285761018d610edc565b9161019661100c565b73ffffffffffffffffffffffffffffffffffffffff8316156101bf57836101bc84611071565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461016e578060031936011261016e578060209261024a610edc565b610252610f04565b73ffffffffffffffffffffffffffffffffffffffff91821683526066865283832091168252845220549051908152f35b50503461016e578060031936011261016e576020906102ac6102a2610edc565b602435903361116d565b5160018152f35b9050823461037e578260031936011261037e576102ce610edc565b918360243592338152606660205281812073ffffffffffffffffffffffffffffffffffffffff86168252602052205490828210610315576020856102ac8585038733611330565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b50503461016e578160031936011261016e57805190826069546103a3816110de565b8085529160019180831690811561043a57506001146103dd575b5050506103cf826103d9940383610f27565b5191829182610e76565b0390f35b9450606985527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143085b828610610422575050506103cf8260206103d995820101946103bd565b80546020878701810191909152909501948101610405565b6103d99750869350602092506103cf9491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b820101946103bd565b50503461016e578160031936011261016e5760209073ffffffffffffffffffffffffffffffffffffffff603354169051908152f35b833461037e578060031936011261037e576104ce61100c565b8073ffffffffffffffffffffffffffffffffffffffff6033547fffffffffffffffffffffffff00000000000000000000000000000000000000008116603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461016e57602060031936011261016e578060209273ffffffffffffffffffffffffffffffffffffffff610569610edc565b1681526065845220549051908152f35b91905034610228578060031936011261022857610594610edc565b906024359173ffffffffffffffffffffffffffffffffffffffff9081609754163303610652571692831561061057506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926105f58795606754611131565b6067558585526065835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b606485602085519162461bcd60e51b8352820152600a60248201527f6e6f74206d696e746572000000000000000000000000000000000000000000006044820152fd5b9190503461022857806003193601126102285767ffffffffffffffff918035838111610c13576106c89036908301610f97565b92602435818111610c0f576106e09036908401610f97565b9385549460ff8660081c161593848095610c02575b8015610beb575b15610b825760019685887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316178a55610b54575b5061074b60ff895460081c1661074681611471565b611471565b61075433611071565b61076860ff895460081c1661074681611471565b8251848111610b28578061077d6068546110de565b94601f95868111610aba575b50602090868311600114610a00578b926109f5575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff828a1b9260031b1c1916176068555b81519384116109c957509082916107e86069546110de565b828111610959575b50602091831160011461089f578792610894575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82861b9260031b1c1916176069555b61083e578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498916020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff855416855551908152a138808280f35b015190503880610804565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087941691606989527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39991430892895b8181106109415750841161090a575b505050811b01606955610836565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690553880806108fc565b828401518555899690940193602093840193016108ed565b90919250606988527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143088380860160051c820192602087106109c0575b9186958a929594930160051c01915b8281106109b25750506107f0565b8a81558695508991016109a4565b92508192610995565b8760416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b01519050388061079e565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b94169160688d527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c22097753928d5b818110610aa257508411610a6b575b505050811b016068556107d0565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055388080610a5d565b8284015185558d969094019360209384019301610a4e565b90915060688b527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977538680850160051c82019260208610610b1f575b918c91869594930160051c01915b828110610b11575050610789565b8d81558594508c9101610b03565b92508192610af5565b6024896041847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661010117885538610731565b608490602087519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b1580156106fc5750600160ff8816146106fc565b50600160ff8816106106f5565b8580fd5b8480fd5b50503461016e578060031936011261016e576102ac602092610c6c610c3a610edc565b913381526066865284812073ffffffffffffffffffffffffffffffffffffffff84168252865284602435912054611131565b9033611330565b50503461016e578160031936011261016e576020905160128152f35b8391503461016e57606060031936011261016e57610cab610edc565b610cb3610f04565b91846044359473ffffffffffffffffffffffffffffffffffffffff8416815260666020528181203382526020522054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d19575b6020866102ac87878761116d565b848210610d425750918391610d37602096956102ac95033383611330565b919394819350610d0b565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b50503461016e578160031936011261016e576020906067549051908152f35b50503461016e578060031936011261016e576020906102ac610dc4610edc565b6024359033611330565b8490843461022857826003193601126102285782606854610dee816110de565b8085529160019180831690811561043a5750600114610e19575050506103cf826103d9940383610f27565b9450606885527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977535b828610610e5e575050506103cf8260206103d995820101946103bd565b80546020878701810191909152909501948101610e41565b60208082528251818301819052939260005b858110610ec8575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610e88565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610eff57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610eff57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f6857604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b81601f82011215610eff5780359067ffffffffffffffff8211610f685760405192610fea60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601160185610f27565b82845260208383010111610eff57816000926020809301838601378301015290565b73ffffffffffffffffffffffffffffffffffffffff60335416330361102d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6033549073ffffffffffffffffffffffffffffffffffffffff80911691827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611127575b60208310146110f857565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916110ed565b9190820180921161113e57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156112c6571691821561125c57600082815260656020526040812054918083106111f257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260658652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215611408571691821561139e5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260668252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b1561147857565b608460405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fdfea164736f6c6343000813000a