0x60806040526004361061016a5760003560e01c80636fc3eaec116100d1578063bfd792841161008a578063dd62ed3e11610064578063dd62ed3e14610511578063f2fde38b1461054e578063f5648a4f14610577578063f59be8ea1461058e57610171565b8063bfd7928414610494578063c3c8cd80146104d1578063c492f046146104e857610171565b80636fc3eaec1461039657806370a08231146103ad578063715018a6146103ea5780638da5cb5b1461040157806395d89b411461042c578063a9059cbb1461045757610171565b806323b872dd1161012357806323b872dd14610286578063313ce567146102c357806349bd5a5e146102ee5780634a377e1d1461031957806369fe0e2d146103445780636d8aa8f81461036d57610171565b806306fdde0314610176578063095ea7b3146101a15780631419841d146101de5780631694505e1461020757806318160ddd1461023257806322dbd3ef1461025d57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105b7565b6040516101989190612059565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612119565b6105f4565b6040516101d59190612174565b60405180910390f35b3480156101ea57600080fd5b506102056004803603810190610200919061218f565b610612565b005b34801561021357600080fd5b5061021c61065c565b604051610229919061221b565b60405180910390f35b34801561023e57600080fd5b50610247610682565b6040516102549190612245565b60405180910390f35b34801561026957600080fd5b50610284600480360381019061027f9190612260565b610697565b005b34801561029257600080fd5b506102ad60048036038101906102a891906122a0565b6107e9565b6040516102ba9190612174565b60405180910390f35b3480156102cf57600080fd5b506102d86108c2565b6040516102e5919061230f565b60405180910390f35b3480156102fa57600080fd5b506103036108cb565b6040516103109190612339565b60405180910390f35b34801561032557600080fd5b5061032e6108f1565b60405161033b9190612339565b60405180910390f35b34801561035057600080fd5b5061036b60048036038101906103669190612354565b610917565b005b34801561037957600080fd5b50610394600480360381019061038f91906123ad565b610929565b005b3480156103a257600080fd5b506103ab61094e565b005b3480156103b957600080fd5b506103d460048036038101906103cf919061218f565b6109c0565b6040516103e19190612245565b60405180910390f35b3480156103f657600080fd5b506103ff610a09565b005b34801561040d57600080fd5b50610416610a1d565b6040516104239190612339565b60405180910390f35b34801561043857600080fd5b50610441610a46565b60405161044e9190612059565b60405180910390f35b34801561046357600080fd5b5061047e60048036038101906104799190612119565b610a83565b60405161048b9190612174565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b6919061218f565b610aa1565b6040516104c89190612174565b60405180910390f35b3480156104dd57600080fd5b506104e6610ac1565b005b3480156104f457600080fd5b5061050f600480360381019061050a919061243f565b610b3b565b005b34801561051d57600080fd5b5061053860048036038101906105339190612260565b610be8565b6040516105459190612245565b60405180910390f35b34801561055a57600080fd5b506105756004803603810190610570919061218f565b610c6f565b005b34801561058357600080fd5b5061058c610cf2565b005b34801561059a57600080fd5b506105b560048036038101906105b0919061243f565b610d85565b005b60606040518060400160405280600781526020017f436f757261676500000000000000000000000000000000000000000000000000815250905090565b6000610608610601610ef6565b8484610efe565b6001905092915050565b600081905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006c01431e0fae6d7217caa0000000905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610704573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072891906124b4565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390583836040518363ffffffff1660e01b81526004016107629291906124e1565b6020604051808303816000875af1158015610781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a591906124b4565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60006107f68484846110c7565b6108b784610802610ef6565b6108b285604051806060016040528060288152602001612f0f60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610868610ef6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116689092919063ffffffff16565b610efe565b600190509392505050565b60006012905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61091f6116cc565b8060098190555050565b6109316116cc565b80601060156101000a81548160ff02191690831515021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661098f610ef6565b73ffffffffffffffffffffffffffffffffffffffff16146109af57600080fd5b60004790506109bd8161174a565b50565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a116116cc565b610a1b60006117b6565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f434f555241474500000000000000000000000000000000000000000000000000815250905090565b6000610a97610a90610ef6565b84846110c7565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b02610ef6565b73ffffffffffffffffffffffffffffffffffffffff1614610b2257600080fd5b6000610b2d306109c0565b9050610b388161187a565b50565b610b436116cc565b60005b83839050811015610be2578160066000868685818110610b6957610b6861250a565b5b9050602002016020810190610b7e919061218f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bda90612568565b915050610b46565b50505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c776116cc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd90612622565b60405180910390fd5b610cef816117b6565b50565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051610d3a90612673565b60006040518083038185875af1925050503d8060008114610d77576040519150601f19603f3d011682016040523d82523d6000602084013e610d7c565b606091505b50508091505050565b610d8d6116cc565b60005b83839050811015610e2c578160076000868685818110610db357610db261250a565b5b9050602002016020810190610dc8919061218f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e2490612568565b915050610d90565b50505050565b6000808303610e445760009050610ea6565b60008284610e529190612688565b9050828482610e6191906126f9565b14610ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e989061279c565b60405180910390fd5b809150505b92915050565b6000610eee83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611af3565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f649061282e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd3906128c0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ba9190612245565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d90612952565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119c906129e4565b60405180910390fd5b600081116111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df90612a76565b60405180910390fd5b600060019050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615806112915750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561133b576003548211156112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d290612b08565b60405180910390fd5b6003546112f9836112eb866109c0565b611b5690919063ffffffff16565b111561133a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133190612b9a565b60405180910390fd5b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113dc5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061148f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561148e5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561149d5760009050611656565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115485750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561159b57600254821115611592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158990612c2c565b60405180910390fd5b6000600a819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116465750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561165557600954600a819055505b5b61166284848484611bb4565b50505050565b60008383111582906116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a79190612059565b60405180910390fd5b50600083856116bf9190612c4c565b9050809150509392505050565b6116d4610ef6565b73ffffffffffffffffffffffffffffffffffffffff166116f2610a1d565b73ffffffffffffffffffffffffffffffffffffffff1614611748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173f90612ccc565b60405180910390fd5b565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117b2573d6000803e3d6000fd5b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601060146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118b2576118b1612cec565b5b6040519080825280602002602001820160405280156118e05781602001602082028036833780820191505090505b50905030816000815181106118f8576118f761250a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c391906124b4565b816001815181106119d7576119d661250a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a3e30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610efe565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611aa2959493929190612e14565b600060405180830381600087803b158015611abc57600080fd5b505af1158015611ad0573d6000803e3d6000fd5b50505050506000601060146101000a81548160ff02191690831515021790555050565b60008083118290611b3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b319190612059565b60405180910390fd5b5060008385611b4991906126f9565b9050809150509392505050565b6000808284611b659190612e6e565b905083811015611baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba190612eee565b60405180910390fd5b8091505092915050565b80611bc257611bc1611be1565b5b611bcd848484611c00565b80611bdb57611bda611db3565b5b50505050565b6000600a540315611bfe57600a54600b819055506000600a819055505b565b600080611c0f83600a54611dbe565b91509150611c6583600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1190919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfa82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5690919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d478582611e5b565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611da49190612245565b60405180910390a35050505050565b600b54600a81905550565b6000806000611de96064611ddb8688610e3290919063ffffffff16565b610eac90919063ffffffff16565b90506000611e008287611e1190919063ffffffff16565b905080829350935050509250929050565b6000611e5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611668565b905092915050565b6000811115611fc557611ed88160046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5690919063ffffffff16565b60046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fbc9190612245565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612003578082015181840152602081019050611fe8565b60008484015250505050565b6000601f19601f8301169050919050565b600061202b82611fc9565b6120358185611fd4565b9350612045818560208601611fe5565b61204e8161200f565b840191505092915050565b600060208201905081810360008301526120738184612020565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120b082612085565b9050919050565b6120c0816120a5565b81146120cb57600080fd5b50565b6000813590506120dd816120b7565b92915050565b6000819050919050565b6120f6816120e3565b811461210157600080fd5b50565b600081359050612113816120ed565b92915050565b600080604083850312156121305761212f61207b565b5b600061213e858286016120ce565b925050602061214f85828601612104565b9150509250929050565b60008115159050919050565b61216e81612159565b82525050565b60006020820190506121896000830184612165565b92915050565b6000602082840312156121a5576121a461207b565b5b60006121b3848285016120ce565b91505092915050565b6000819050919050565b60006121e16121dc6121d784612085565b6121bc565b612085565b9050919050565b60006121f3826121c6565b9050919050565b6000612205826121e8565b9050919050565b612215816121fa565b82525050565b6000602082019050612230600083018461220c565b92915050565b61223f816120e3565b82525050565b600060208201905061225a6000830184612236565b92915050565b600080604083850312156122775761227661207b565b5b6000612285858286016120ce565b9250506020612296858286016120ce565b9150509250929050565b6000806000606084860312156122b9576122b861207b565b5b60006122c7868287016120ce565b93505060206122d8868287016120ce565b92505060406122e986828701612104565b9150509250925092565b600060ff82169050919050565b612309816122f3565b82525050565b60006020820190506123246000830184612300565b92915050565b612333816120a5565b82525050565b600060208201905061234e600083018461232a565b92915050565b60006020828403121561236a5761236961207b565b5b600061237884828501612104565b91505092915050565b61238a81612159565b811461239557600080fd5b50565b6000813590506123a781612381565b92915050565b6000602082840312156123c3576123c261207b565b5b60006123d184828501612398565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126123ff576123fe6123da565b5b8235905067ffffffffffffffff81111561241c5761241b6123df565b5b602083019150836020820283011115612438576124376123e4565b5b9250929050565b6000806000604084860312156124585761245761207b565b5b600084013567ffffffffffffffff81111561247657612475612080565b5b612482868287016123e9565b9350935050602061249586828701612398565b9150509250925092565b6000815190506124ae816120b7565b92915050565b6000602082840312156124ca576124c961207b565b5b60006124d88482850161249f565b91505092915050565b60006040820190506124f6600083018561232a565b612503602083018461232a565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612573826120e3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036125a5576125a4612539565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061260c602683611fd4565b9150612617826125b0565b604082019050919050565b6000602082019050818103600083015261263b816125ff565b9050919050565b600081905092915050565b50565b600061265d600083612642565b91506126688261264d565b600082019050919050565b600061267e82612650565b9150819050919050565b6000612693826120e3565b915061269e836120e3565b92508282026126ac816120e3565b915082820484148315176126c3576126c2612539565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612704826120e3565b915061270f836120e3565b92508261271f5761271e6126ca565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612786602183611fd4565b91506127918261272a565b604082019050919050565b600060208201905081810360008301526127b581612779565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612818602483611fd4565b9150612823826127bc565b604082019050919050565b600060208201905081810360008301526128478161280b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006128aa602283611fd4565b91506128b58261284e565b604082019050919050565b600060208201905081810360008301526128d98161289d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061293c602583611fd4565b9150612947826128e0565b604082019050919050565b6000602082019050818103600083015261296b8161292f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006129ce602383611fd4565b91506129d982612972565b604082019050919050565b600060208201905081810360008301526129fd816129c1565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a60602983611fd4565b9150612a6b82612a04565b604082019050919050565b60006020820190508181036000830152612a8f81612a53565b9050919050565b7f4552433230203a204d6178696d756d205472616e73616374696f6e206861732060008201527f6265656e20657863656564656400000000000000000000000000000000000000602082015250565b6000612af2602d83611fd4565b9150612afd82612a96565b604082019050919050565b60006020820190508181036000830152612b2181612ae5565b9050919050565b7f45524332303a20596f75206861766520657863656564656420746865206d617860008201527f696d756d20636f757261676520686f6c64657220616d6f756e74000000000000602082015250565b6000612b84603a83611fd4565b9150612b8f82612b28565b604082019050919050565b60006020820190508181036000830152612bb381612b77565b9050919050565b7f45524332303a204d6178696d756d20707572636861736520686173206265656e60008201527f2065786365656465640000000000000000000000000000000000000000000000602082015250565b6000612c16602983611fd4565b9150612c2182612bba565b604082019050919050565b60006020820190508181036000830152612c4581612c09565b9050919050565b6000612c57826120e3565b9150612c62836120e3565b9250828203905081811115612c7a57612c79612539565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cb6602083611fd4565b9150612cc182612c80565b602082019050919050565b60006020820190508181036000830152612ce581612ca9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000612d40612d3b612d3684612d1b565b6121bc565b6120e3565b9050919050565b612d5081612d25565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d8b816120a5565b82525050565b6000612d9d8383612d82565b60208301905092915050565b6000602082019050919050565b6000612dc182612d56565b612dcb8185612d61565b9350612dd683612d72565b8060005b83811015612e07578151612dee8882612d91565b9750612df983612da9565b925050600181019050612dda565b5085935050505092915050565b600060a082019050612e296000830188612236565b612e366020830187612d47565b8181036040830152612e488186612db6565b9050612e57606083018561232a565b612e646080830184612236565b9695505050505050565b6000612e79826120e3565b9150612e84836120e3565b9250828201905080821115612e9c57612e9b612539565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ed8601b83611fd4565b9150612ee382612ea2565b602082019050919050565b60006020820190508181036000830152612f0781612ecb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202dba2d17d29c77112fa4210660a13217efd9a87b0f1579477d9323f468f4fde764736f6c63430008120033
0x60806040526003600955600954600a55600a54600b556000601060146101000a81548160ff0219169083151502179055506001601060156101000a81548160ff0219169083151502179055503480156200005857600080fd5b50604051620039193803806200391983398181016040528101906200007e91906200072a565b6200009e62000092620003e360201b60201c565b620003eb60201b60201c565b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006001819055506c01431e0fae6d7217caa000000060046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016006600062000170620004af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000620002a9620004af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003dc620004d860201b60201c565b506200099d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200051c6064620005086002620004f46200056e60201b60201c565b6200058360201b62000e321790919060201c565b6200060660201b62000eac1790919060201c565b6002819055506200056660646200055260026200053e6200056e60201b60201c565b6200058360201b62000e321790919060201c565b6200060660201b62000eac1790919060201c565b600381905550565b60006c01431e0fae6d7217caa0000000905090565b600080830362000597576000905062000600565b60008284620005a7919062000795565b9050828482620005b891906200080f565b14620005fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005f290620008ce565b60405180910390fd5b809150505b92915050565b60006200065083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200065860201b60201c565b905092915050565b60008083118290620006a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000699919062000979565b60405180910390fd5b5060008385620006b391906200080f565b9050809150509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006f282620006c5565b9050919050565b6200070481620006e5565b81146200071057600080fd5b50565b6000815190506200072481620006f9565b92915050565b600060208284031215620007435762000742620006c0565b5b6000620007538482850162000713565b91505092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007a2826200075c565b9150620007af836200075c565b9250828202620007bf816200075c565b91508282048414831517620007d957620007d862000766565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200081c826200075c565b915062000829836200075c565b9250826200083c576200083b620007e0565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000620008b660218362000847565b9150620008c38262000858565b604082019050919050565b60006020820190508181036000830152620008e981620008a7565b9050919050565b600081519050919050565b60005b838110156200091b578082015181840152602081019050620008fe565b60008484015250505050565b6000601f19601f8301169050919050565b60006200094582620008f0565b62000951818562000847565b935062000963818560208601620008fb565b6200096e8162000927565b840191505092915050565b6000602082019050818103600083015262000995818462000938565b905092915050565b612f6c80620009ad6000396000f3fe60806040526004361061016a5760003560e01c80636fc3eaec116100d1578063bfd792841161008a578063dd62ed3e11610064578063dd62ed3e14610511578063f2fde38b1461054e578063f5648a4f14610577578063f59be8ea1461058e57610171565b8063bfd7928414610494578063c3c8cd80146104d1578063c492f046146104e857610171565b80636fc3eaec1461039657806370a08231146103ad578063715018a6146103ea5780638da5cb5b1461040157806395d89b411461042c578063a9059cbb1461045757610171565b806323b872dd1161012357806323b872dd14610286578063313ce567146102c357806349bd5a5e146102ee5780634a377e1d1461031957806369fe0e2d146103445780636d8aa8f81461036d57610171565b806306fdde0314610176578063095ea7b3146101a15780631419841d146101de5780631694505e1461020757806318160ddd1461023257806322dbd3ef1461025d57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105b7565b6040516101989190612059565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612119565b6105f4565b6040516101d59190612174565b60405180910390f35b3480156101ea57600080fd5b506102056004803603810190610200919061218f565b610612565b005b34801561021357600080fd5b5061021c61065c565b604051610229919061221b565b60405180910390f35b34801561023e57600080fd5b50610247610682565b6040516102549190612245565b60405180910390f35b34801561026957600080fd5b50610284600480360381019061027f9190612260565b610697565b005b34801561029257600080fd5b506102ad60048036038101906102a891906122a0565b6107e9565b6040516102ba9190612174565b60405180910390f35b3480156102cf57600080fd5b506102d86108c2565b6040516102e5919061230f565b60405180910390f35b3480156102fa57600080fd5b506103036108cb565b6040516103109190612339565b60405180910390f35b34801561032557600080fd5b5061032e6108f1565b60405161033b9190612339565b60405180910390f35b34801561035057600080fd5b5061036b60048036038101906103669190612354565b610917565b005b34801561037957600080fd5b50610394600480360381019061038f91906123ad565b610929565b005b3480156103a257600080fd5b506103ab61094e565b005b3480156103b957600080fd5b506103d460048036038101906103cf919061218f565b6109c0565b6040516103e19190612245565b60405180910390f35b3480156103f657600080fd5b506103ff610a09565b005b34801561040d57600080fd5b50610416610a1d565b6040516104239190612339565b60405180910390f35b34801561043857600080fd5b50610441610a46565b60405161044e9190612059565b60405180910390f35b34801561046357600080fd5b5061047e60048036038101906104799190612119565b610a83565b60405161048b9190612174565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b6919061218f565b610aa1565b6040516104c89190612174565b60405180910390f35b3480156104dd57600080fd5b506104e6610ac1565b005b3480156104f457600080fd5b5061050f600480360381019061050a919061243f565b610b3b565b005b34801561051d57600080fd5b5061053860048036038101906105339190612260565b610be8565b6040516105459190612245565b60405180910390f35b34801561055a57600080fd5b506105756004803603810190610570919061218f565b610c6f565b005b34801561058357600080fd5b5061058c610cf2565b005b34801561059a57600080fd5b506105b560048036038101906105b0919061243f565b610d85565b005b60606040518060400160405280600781526020017f436f757261676500000000000000000000000000000000000000000000000000815250905090565b6000610608610601610ef6565b8484610efe565b6001905092915050565b600081905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006c01431e0fae6d7217caa0000000905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610704573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072891906124b4565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390583836040518363ffffffff1660e01b81526004016107629291906124e1565b6020604051808303816000875af1158015610781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a591906124b4565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60006107f68484846110c7565b6108b784610802610ef6565b6108b285604051806060016040528060288152602001612f0f60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610868610ef6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116689092919063ffffffff16565b610efe565b600190509392505050565b60006012905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61091f6116cc565b8060098190555050565b6109316116cc565b80601060156101000a81548160ff02191690831515021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661098f610ef6565b73ffffffffffffffffffffffffffffffffffffffff16146109af57600080fd5b60004790506109bd8161174a565b50565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a116116cc565b610a1b60006117b6565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f434f555241474500000000000000000000000000000000000000000000000000815250905090565b6000610a97610a90610ef6565b84846110c7565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b02610ef6565b73ffffffffffffffffffffffffffffffffffffffff1614610b2257600080fd5b6000610b2d306109c0565b9050610b388161187a565b50565b610b436116cc565b60005b83839050811015610be2578160066000868685818110610b6957610b6861250a565b5b9050602002016020810190610b7e919061218f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bda90612568565b915050610b46565b50505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c776116cc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd90612622565b60405180910390fd5b610cef816117b6565b50565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051610d3a90612673565b60006040518083038185875af1925050503d8060008114610d77576040519150601f19603f3d011682016040523d82523d6000602084013e610d7c565b606091505b50508091505050565b610d8d6116cc565b60005b83839050811015610e2c578160076000868685818110610db357610db261250a565b5b9050602002016020810190610dc8919061218f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e2490612568565b915050610d90565b50505050565b6000808303610e445760009050610ea6565b60008284610e529190612688565b9050828482610e6191906126f9565b14610ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e989061279c565b60405180910390fd5b809150505b92915050565b6000610eee83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611af3565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f649061282e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd3906128c0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ba9190612245565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d90612952565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119c906129e4565b60405180910390fd5b600081116111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df90612a76565b60405180910390fd5b600060019050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615806112915750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561133b576003548211156112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d290612b08565b60405180910390fd5b6003546112f9836112eb866109c0565b611b5690919063ffffffff16565b111561133a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133190612b9a565b60405180910390fd5b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113dc5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061148f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561148e5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561149d5760009050611656565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115485750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561159b57600254821115611592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158990612c2c565b60405180910390fd5b6000600a819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116465750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561165557600954600a819055505b5b61166284848484611bb4565b50505050565b60008383111582906116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a79190612059565b60405180910390fd5b50600083856116bf9190612c4c565b9050809150509392505050565b6116d4610ef6565b73ffffffffffffffffffffffffffffffffffffffff166116f2610a1d565b73ffffffffffffffffffffffffffffffffffffffff1614611748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173f90612ccc565b60405180910390fd5b565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117b2573d6000803e3d6000fd5b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601060146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118b2576118b1612cec565b5b6040519080825280602002602001820160405280156118e05781602001602082028036833780820191505090505b50905030816000815181106118f8576118f761250a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c391906124b4565b816001815181106119d7576119d661250a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a3e30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610efe565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611aa2959493929190612e14565b600060405180830381600087803b158015611abc57600080fd5b505af1158015611ad0573d6000803e3d6000fd5b50505050506000601060146101000a81548160ff02191690831515021790555050565b60008083118290611b3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b319190612059565b60405180910390fd5b5060008385611b4991906126f9565b9050809150509392505050565b6000808284611b659190612e6e565b905083811015611baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba190612eee565b60405180910390fd5b8091505092915050565b80611bc257611bc1611be1565b5b611bcd848484611c00565b80611bdb57611bda611db3565b5b50505050565b6000600a540315611bfe57600a54600b819055506000600a819055505b565b600080611c0f83600a54611dbe565b91509150611c6583600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1190919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfa82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5690919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d478582611e5b565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611da49190612245565b60405180910390a35050505050565b600b54600a81905550565b6000806000611de96064611ddb8688610e3290919063ffffffff16565b610eac90919063ffffffff16565b90506000611e008287611e1190919063ffffffff16565b905080829350935050509250929050565b6000611e5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611668565b905092915050565b6000811115611fc557611ed88160046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5690919063ffffffff16565b60046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fbc9190612245565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612003578082015181840152602081019050611fe8565b60008484015250505050565b6000601f19601f8301169050919050565b600061202b82611fc9565b6120358185611fd4565b9350612045818560208601611fe5565b61204e8161200f565b840191505092915050565b600060208201905081810360008301526120738184612020565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120b082612085565b9050919050565b6120c0816120a5565b81146120cb57600080fd5b50565b6000813590506120dd816120b7565b92915050565b6000819050919050565b6120f6816120e3565b811461210157600080fd5b50565b600081359050612113816120ed565b92915050565b600080604083850312156121305761212f61207b565b5b600061213e858286016120ce565b925050602061214f85828601612104565b9150509250929050565b60008115159050919050565b61216e81612159565b82525050565b60006020820190506121896000830184612165565b92915050565b6000602082840312156121a5576121a461207b565b5b60006121b3848285016120ce565b91505092915050565b6000819050919050565b60006121e16121dc6121d784612085565b6121bc565b612085565b9050919050565b60006121f3826121c6565b9050919050565b6000612205826121e8565b9050919050565b612215816121fa565b82525050565b6000602082019050612230600083018461220c565b92915050565b61223f816120e3565b82525050565b600060208201905061225a6000830184612236565b92915050565b600080604083850312156122775761227661207b565b5b6000612285858286016120ce565b9250506020612296858286016120ce565b9150509250929050565b6000806000606084860312156122b9576122b861207b565b5b60006122c7868287016120ce565b93505060206122d8868287016120ce565b92505060406122e986828701612104565b9150509250925092565b600060ff82169050919050565b612309816122f3565b82525050565b60006020820190506123246000830184612300565b92915050565b612333816120a5565b82525050565b600060208201905061234e600083018461232a565b92915050565b60006020828403121561236a5761236961207b565b5b600061237884828501612104565b91505092915050565b61238a81612159565b811461239557600080fd5b50565b6000813590506123a781612381565b92915050565b6000602082840312156123c3576123c261207b565b5b60006123d184828501612398565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126123ff576123fe6123da565b5b8235905067ffffffffffffffff81111561241c5761241b6123df565b5b602083019150836020820283011115612438576124376123e4565b5b9250929050565b6000806000604084860312156124585761245761207b565b5b600084013567ffffffffffffffff81111561247657612475612080565b5b612482868287016123e9565b9350935050602061249586828701612398565b9150509250925092565b6000815190506124ae816120b7565b92915050565b6000602082840312156124ca576124c961207b565b5b60006124d88482850161249f565b91505092915050565b60006040820190506124f6600083018561232a565b612503602083018461232a565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612573826120e3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036125a5576125a4612539565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061260c602683611fd4565b9150612617826125b0565b604082019050919050565b6000602082019050818103600083015261263b816125ff565b9050919050565b600081905092915050565b50565b600061265d600083612642565b91506126688261264d565b600082019050919050565b600061267e82612650565b9150819050919050565b6000612693826120e3565b915061269e836120e3565b92508282026126ac816120e3565b915082820484148315176126c3576126c2612539565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612704826120e3565b915061270f836120e3565b92508261271f5761271e6126ca565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612786602183611fd4565b91506127918261272a565b604082019050919050565b600060208201905081810360008301526127b581612779565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612818602483611fd4565b9150612823826127bc565b604082019050919050565b600060208201905081810360008301526128478161280b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006128aa602283611fd4565b91506128b58261284e565b604082019050919050565b600060208201905081810360008301526128d98161289d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061293c602583611fd4565b9150612947826128e0565b604082019050919050565b6000602082019050818103600083015261296b8161292f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006129ce602383611fd4565b91506129d982612972565b604082019050919050565b600060208201905081810360008301526129fd816129c1565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a60602983611fd4565b9150612a6b82612a04565b604082019050919050565b60006020820190508181036000830152612a8f81612a53565b9050919050565b7f4552433230203a204d6178696d756d205472616e73616374696f6e206861732060008201527f6265656e20657863656564656400000000000000000000000000000000000000602082015250565b6000612af2602d83611fd4565b9150612afd82612a96565b604082019050919050565b60006020820190508181036000830152612b2181612ae5565b9050919050565b7f45524332303a20596f75206861766520657863656564656420746865206d617860008201527f696d756d20636f757261676520686f6c64657220616d6f756e74000000000000602082015250565b6000612b84603a83611fd4565b9150612b8f82612b28565b604082019050919050565b60006020820190508181036000830152612bb381612b77565b9050919050565b7f45524332303a204d6178696d756d20707572636861736520686173206265656e60008201527f2065786365656465640000000000000000000000000000000000000000000000602082015250565b6000612c16602983611fd4565b9150612c2182612bba565b604082019050919050565b60006020820190508181036000830152612c4581612c09565b9050919050565b6000612c57826120e3565b9150612c62836120e3565b9250828203905081811115612c7a57612c79612539565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cb6602083611fd4565b9150612cc182612c80565b602082019050919050565b60006020820190508181036000830152612ce581612ca9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000612d40612d3b612d3684612d1b565b6121bc565b6120e3565b9050919050565b612d5081612d25565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d8b816120a5565b82525050565b6000612d9d8383612d82565b60208301905092915050565b6000602082019050919050565b6000612dc182612d56565b612dcb8185612d61565b9350612dd683612d72565b8060005b83811015612e07578151612dee8882612d91565b9750612df983612da9565b925050600181019050612dda565b5085935050505092915050565b600060a082019050612e296000830188612236565b612e366020830187612d47565b8181036040830152612e488186612db6565b9050612e57606083018561232a565b612e646080830184612236565b9695505050505050565b6000612e79826120e3565b9150612e84836120e3565b9250828201905080821115612e9c57612e9b612539565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ed8601b83611fd4565b9150612ee382612ea2565b602082019050919050565b60006020820190508181036000830152612f0781612ecb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202dba2d17d29c77112fa4210660a13217efd9a87b0f1579477d9323f468f4fde764736f6c634300081200330000000000000000000000005e19cc4be9f773e8cc751e9f7079a0d9aa78c711