0x6080604052600436106101d85760003560e01c8063860a32ec11610102578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e14610695578063e2dc4310146106d2578063f2fde38b1461070f578063fdea8e0b14610738576101d8565b8063a9059cbb146105f8578063c5c4744c14610635578063d0febe4c14610660578063d439390c1461066a576101d8565b8063902d55a5116100d1578063902d55a51461052857806395d89b41146105535780639b19251a1461057e578063a457c2d7146105bb576101d8565b8063860a32ec1461047e57806389f9a1d3146104a95780638ab1d681146104d45780638da5cb5b146104fd576101d8565b806349bd5a5e1161017a57806370a082311161014957806370a08231146103d65780637146bd0814610413578063715018a61461043e5780637f64978314610455576101d8565b806349bd5a5e1461032c5780634ccfc5c7146103575780636ddb627c146103825780637038be3a146103ad576101d8565b806323b872dd116101b657806323b872dd14610270578063313ce567146102ad57806339509351146102d85780633ccfd60b14610315576101d8565b806306fdde03146101dd578063095ea7b31461020857806318160ddd14610245575b600080fd5b3480156101e957600080fd5b506101f2610763565b6040516101ff9190611e00565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190611eca565b6107f5565b60405161023c9190611f25565b60405180910390f35b34801561025157600080fd5b5061025a610813565b6040516102679190611f4f565b60405180910390f35b34801561027c57600080fd5b5061029760048036038101906102929190611f6a565b61081d565b6040516102a49190611f25565b60405180910390f35b3480156102b957600080fd5b506102c2610915565b6040516102cf9190611fd9565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa9190611eca565b61091e565b60405161030c9190611f25565b60405180910390f35b34801561032157600080fd5b5061032a6109ca565b005b34801561033857600080fd5b50610341610aad565b60405161034e9190612003565b60405180910390f35b34801561036357600080fd5b5061036c610ad3565b6040516103799190611f4f565b60405180910390f35b34801561038e57600080fd5b50610397610ae0565b6040516103a49190611f4f565b60405180910390f35b3480156103b957600080fd5b506103d460048036038101906103cf919061204a565b610af1565b005b3480156103e257600080fd5b506103fd60048036038101906103f891906120b1565b610bef565b60405161040a9190611f4f565b60405180910390f35b34801561041f57600080fd5b50610428610c38565b6040516104359190611f4f565b60405180910390f35b34801561044a57600080fd5b50610453610c44565b005b34801561046157600080fd5b5061047c60048036038101906104779190612226565b610ccc565b005b34801561048a57600080fd5b50610493610ddd565b6040516104a09190611f25565b60405180910390f35b3480156104b557600080fd5b506104be610df0565b6040516104cb9190611f4f565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f691906120b1565b610df6565b005b34801561050957600080fd5b50610512610ecd565b60405161051f9190612003565b60405180910390f35b34801561053457600080fd5b5061053d610ef6565b60405161054a9190611f4f565b60405180910390f35b34801561055f57600080fd5b50610568610f1f565b6040516105759190611e00565b60405180910390f35b34801561058a57600080fd5b506105a560048036038101906105a091906120b1565b610fb1565b6040516105b29190611f25565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd9190611eca565b610fd1565b6040516105ef9190611f25565b60405180910390f35b34801561060457600080fd5b5061061f600480360381019061061a9190611eca565b6110bc565b60405161062c9190611f25565b60405180910390f35b34801561064157600080fd5b5061064a6110da565b6040516106579190611f4f565b60405180910390f35b6106686110e0565b005b34801561067657600080fd5b5061067f611367565b60405161068c9190611f4f565b60405180910390f35b3480156106a157600080fd5b506106bc60048036038101906106b7919061226f565b611372565b6040516106c99190611f4f565b60405180910390f35b3480156106de57600080fd5b506106f960048036038101906106f491906120b1565b6113f9565b6040516107069190611f4f565b60405180910390f35b34801561071b57600080fd5b50610736600480360381019061073191906120b1565b611411565b005b34801561074457600080fd5b5061074d611508565b60405161075a9190611f25565b60405180910390f35b606060048054610772906122de565b80601f016020809104026020016040519081016040528092919081815260200182805461079e906122de565b80156107eb5780601f106107c0576101008083540402835291602001916107eb565b820191906000526020600020905b8154815290600101906020018083116107ce57829003601f168201915b5050505050905090565b600061080961080261151b565b8484611523565b6001905092915050565b6000600354905090565b600061082a8484846116ec565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061087561151b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec90612381565b60405180910390fd5b6109098561090161151b565b858403611523565b60019150509392505050565b60006012905090565b60006109c061092b61151b565b84846002600061093961151b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109bb91906123d0565b611523565b6001905092915050565b6109d261151b565b73ffffffffffffffffffffffffffffffffffffffff166109f0610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3d90612450565b60405180910390fd5b610a4e610ecd565b73ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610aaa573d6000803e3d6000fd5b50565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b680340aad21b3b70000081565b6c1a2087de343fecec7bf000000081565b610af961151b565b73ffffffffffffffffffffffffffffffffffffffff16610b17610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6490612450565b60405180910390fd5b83600660006101000a81548160ff02191690831515021790555080600660016101000a81548160ff02191690831515021790555082600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160078190555050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6702c68af0bb14000081565b610c4c61151b565b73ffffffffffffffffffffffffffffffffffffffff16610c6a610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb790612450565b60405180910390fd5b610cca600061196e565b565b610cd461151b565b73ffffffffffffffffffffffffffffffffffffffff16610cf2610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90612450565b60405180910390fd5b60005b8151811015610dd9576001600a6000848481518110610d6d57610d6c612470565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610dd19061249f565b915050610d4b565b5050565b600660009054906101000a900460ff1681565b60075481565b610dfe61151b565b73ffffffffffffffffffffffffffffffffffffffff16610e1c610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990612450565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6c1a2087de343fecec7bf00000006c57171a3a037fc0699d20000000610f1c91906124e7565b81565b606060058054610f2e906122de565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5a906122de565b8015610fa75780601f10610f7c57610100808354040283529160200191610fa7565b820191906000526020600020905b815481529060010190602001808311610f8a57829003601f168201915b5050505050905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060026000610fe061151b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561109d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110949061258d565b60405180910390fd5b6110b16110a861151b565b85858403611523565b600191505092915050565b60006110d06110c961151b565b84846116ec565b6001905092915050565b60085481565b600660019054906101000a900460ff161561118257600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611181576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611178906125f9565b60405180910390fd5b5b66b1a2bc2ec500003410156111cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c39061268b565b60405180910390fd5b6702c68af0bb14000034600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122091906123d0565b1115611261576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112589061271d565b60405180910390fd5b680340aad21b3b7000003460085461127991906123d0565b11156112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b1906127af565b60405180910390fd5b34600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461130991906123d0565b92505081905550346008600082825461132291906123d0565b925050819055506000680340aad21b3b700000346c1a2087de343fecec7bf000000061134e91906127cf565b6113589190612840565b90506113643382611a32565b50565b66b1a2bc2ec5000081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60096020528060005260406000206000915090505481565b61141961151b565b73ffffffffffffffffffffffffffffffffffffffff16611437610ecd565b73ffffffffffffffffffffffffffffffffffffffff161461148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148490612450565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f3906128e3565b60405180910390fd5b6115058161196e565b50565b600660019054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158990612975565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f890612a07565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116df9190611f4f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290612a99565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c190612b2b565b60405180910390fd5b6117d5838383611b92565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561185c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185390612bbd565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118f191906123d0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119559190611f4f565b60405180910390a3611968848484611d6b565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9890612c29565b60405180910390fd5b611aad60008383611b92565b8060036000828254611abf91906123d0565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b1591906123d0565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7a9190611f4f565b60405180910390a3611b8e60008383611d6b565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611bfc5750600660009054906101000a900460ff165b15611cb857611c09610ecd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611c745750611c45610ecd565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611caa90612c95565b60405180910390fd5b611d66565b600660009054906101000a900460ff168015611d075750611cd7610ecd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d655760075481611d1984610bef565b611d2391906123d0565b1115611d64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5b90612d01565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611daa578082015181840152602081019050611d8f565b60008484015250505050565b6000601f19601f8301169050919050565b6000611dd282611d70565b611ddc8185611d7b565b9350611dec818560208601611d8c565b611df581611db6565b840191505092915050565b60006020820190508181036000830152611e1a8184611dc7565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e6182611e36565b9050919050565b611e7181611e56565b8114611e7c57600080fd5b50565b600081359050611e8e81611e68565b92915050565b6000819050919050565b611ea781611e94565b8114611eb257600080fd5b50565b600081359050611ec481611e9e565b92915050565b60008060408385031215611ee157611ee0611e2c565b5b6000611eef85828601611e7f565b9250506020611f0085828601611eb5565b9150509250929050565b60008115159050919050565b611f1f81611f0a565b82525050565b6000602082019050611f3a6000830184611f16565b92915050565b611f4981611e94565b82525050565b6000602082019050611f646000830184611f40565b92915050565b600080600060608486031215611f8357611f82611e2c565b5b6000611f9186828701611e7f565b9350506020611fa286828701611e7f565b9250506040611fb386828701611eb5565b9150509250925092565b600060ff82169050919050565b611fd381611fbd565b82525050565b6000602082019050611fee6000830184611fca565b92915050565b611ffd81611e56565b82525050565b60006020820190506120186000830184611ff4565b92915050565b61202781611f0a565b811461203257600080fd5b50565b6000813590506120448161201e565b92915050565b6000806000806080858703121561206457612063611e2c565b5b600061207287828801612035565b945050602061208387828801611e7f565b935050604061209487828801611eb5565b92505060606120a587828801612035565b91505092959194509250565b6000602082840312156120c7576120c6611e2c565b5b60006120d584828501611e7f565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61211b82611db6565b810181811067ffffffffffffffff8211171561213a576121396120e3565b5b80604052505050565b600061214d611e22565b90506121598282612112565b919050565b600067ffffffffffffffff821115612179576121786120e3565b5b602082029050602081019050919050565b600080fd5b60006121a261219d8461215e565b612143565b905080838252602082019050602084028301858111156121c5576121c461218a565b5b835b818110156121ee57806121da8882611e7f565b8452602084019350506020810190506121c7565b5050509392505050565b600082601f83011261220d5761220c6120de565b5b813561221d84826020860161218f565b91505092915050565b60006020828403121561223c5761223b611e2c565b5b600082013567ffffffffffffffff81111561225a57612259611e31565b5b612266848285016121f8565b91505092915050565b6000806040838503121561228657612285611e2c565b5b600061229485828601611e7f565b92505060206122a585828601611e7f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122f657607f821691505b602082108103612309576123086122af565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061236b602883611d7b565b91506123768261230f565b604082019050919050565b6000602082019050818103600083015261239a8161235e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006123db82611e94565b91506123e683611e94565b92508282019050808211156123fe576123fd6123a1565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061243a602083611d7b565b915061244582612404565b602082019050919050565b600060208201905081810360008301526124698161242d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006124aa82611e94565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036124dc576124db6123a1565b5b600182019050919050565b60006124f282611e94565b91506124fd83611e94565b9250828203905081811115612515576125146123a1565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612577602583611d7b565b91506125828261251b565b604082019050919050565b600060208201905081810360008301526125a68161256a565b9050919050565b7f596f7520617265206e6f74206f6e207468652077686974656c69737400000000600082015250565b60006125e3601c83611d7b565b91506125ee826125ad565b602082019050919050565b60006020820190508181036000830152612612816125d6565b9050919050565b7f596f75206e65656420746f2073656e64206174206c6561737420302e3035204560008201527f7468657200000000000000000000000000000000000000000000000000000000602082015250565b6000612675602483611d7b565b915061268082612619565b604082019050919050565b600060208201905081810360008301526126a481612668565b9050919050565b7f596f752063616e6e6f7420636f6e74726962757465206d6f7265207468616e2060008201527f302e3220457468657220696e20746f74616c0000000000000000000000000000602082015250565b6000612707603283611d7b565b9150612712826126ab565b604082019050919050565b60006020820190508181036000830152612736816126fa565b9050919050565b7f5468652070726573616c6520686173207265616368656420697473206d61786960008201527f6d756d206c696d69740000000000000000000000000000000000000000000000602082015250565b6000612799602983611d7b565b91506127a48261273d565b604082019050919050565b600060208201905081810360008301526127c88161278c565b9050919050565b60006127da82611e94565b91506127e583611e94565b92508282026127f381611e94565b9150828204841483151761280a576128096123a1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061284b82611e94565b915061285683611e94565b92508261286657612865612811565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128cd602683611d7b565b91506128d882612871565b604082019050919050565b600060208201905081810360008301526128fc816128c0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061295f602483611d7b565b915061296a82612903565b604082019050919050565b6000602082019050818103600083015261298e81612952565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129f1602283611d7b565b91506129fc82612995565b604082019050919050565b60006020820190508181036000830152612a20816129e4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612a83602583611d7b565b9150612a8e82612a27565b604082019050919050565b60006020820190508181036000830152612ab281612a76565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b15602383611d7b565b9150612b2082612ab9565b604082019050919050565b60006020820190508181036000830152612b4481612b08565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612ba7602683611d7b565b9150612bb282612b4b565b604082019050919050565b60006020820190508181036000830152612bd681612b9a565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612c13601f83611d7b565b9150612c1e82612bdd565b602082019050919050565b60006020820190508181036000830152612c4281612c06565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b6000612c7f601683611d7b565b9150612c8a82612c49565b602082019050919050565b60006020820190508181036000830152612cae81612c72565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b6000612ceb600683611d7b565b9150612cf682612cb5565b602082019050919050565b60006020820190508181036000830152612d1a81612cde565b905091905056fea2646970667358221220ff155d29697f6b1f4d5a9cc9563da79aafd9c31b07ff092a49e866ca7f508a5864736f6c63430008120033
0x60806040526000600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040518060400160405280600781526020017f47616e64616c66000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f47414e44414c4600000000000000000000000000000000000000000000000000815250620000d4620000c86200013960201b60201c565b6200014160201b60201c565b8160049081620000e591906200087b565b508060059081620000f791906200087b565b50505062000133336c1a2087de343fecec7bf00000006c57171a3a037fc0699d2000000062000127919062000991565b6200020560201b60201c565b62000b9c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000277576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200026e9062000a2d565b60405180910390fd5b6200028b600083836200037e60201b60201c565b80600360008282546200029f919062000a4f565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002f7919062000a4f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200035e919062000a9b565b60405180910390a36200037a600083836200058a60201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015620003e95750600660009054906101000a900460ff165b15620004bb57620003ff6200058f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620004735750620004446200058f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b620004b5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004ac9062000b08565b60405180910390fd5b62000585565b600660009054906101000a900460ff168015620005135750620004e36200058f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156200058457600754816200053384620005b860201b62000bef1760201c565b6200053f919062000a4f565b111562000583576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057a9062000b7a565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200068357607f821691505b6020821081036200069957620006986200063b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006c4565b6200070f8683620006c4565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200075c62000756620007508462000727565b62000731565b62000727565b9050919050565b6000819050919050565b62000778836200073b565b62000790620007878262000763565b848454620006d1565b825550505050565b600090565b620007a762000798565b620007b48184846200076d565b505050565b5b81811015620007dc57620007d06000826200079d565b600181019050620007ba565b5050565b601f8211156200082b57620007f5816200069f565b6200080084620006b4565b8101602085101562000810578190505b620008286200081f85620006b4565b830182620007b9565b50505b505050565b600082821c905092915050565b6000620008506000198460080262000830565b1980831691505092915050565b60006200086b83836200083d565b9150826002028217905092915050565b620008868262000601565b67ffffffffffffffff811115620008a257620008a16200060c565b5b620008ae82546200066a565b620008bb828285620007e0565b600060209050601f831160018114620008f35760008415620008de578287015190505b620008ea85826200085d565b8655506200095a565b601f19841662000903866200069f565b60005b828110156200092d5784890151825560018201915060208501945060208101905062000906565b868310156200094d578489015162000949601f8916826200083d565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200099e8262000727565b9150620009ab8362000727565b9250828203905081811115620009c657620009c562000962565b5b92915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000a15601f83620009cc565b915062000a2282620009dd565b602082019050919050565b6000602082019050818103600083015262000a488162000a06565b9050919050565b600062000a5c8262000727565b915062000a698362000727565b925082820190508082111562000a845762000a8362000962565b5b92915050565b62000a958162000727565b82525050565b600060208201905062000ab2600083018462000a8a565b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000af0601683620009cc565b915062000afd8262000ab8565b602082019050919050565b6000602082019050818103600083015262000b238162000ae1565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600062000b62600683620009cc565b915062000b6f8262000b2a565b602082019050919050565b6000602082019050818103600083015262000b958162000b53565b9050919050565b612d578062000bac6000396000f3fe6080604052600436106101d85760003560e01c8063860a32ec11610102578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e14610695578063e2dc4310146106d2578063f2fde38b1461070f578063fdea8e0b14610738576101d8565b8063a9059cbb146105f8578063c5c4744c14610635578063d0febe4c14610660578063d439390c1461066a576101d8565b8063902d55a5116100d1578063902d55a51461052857806395d89b41146105535780639b19251a1461057e578063a457c2d7146105bb576101d8565b8063860a32ec1461047e57806389f9a1d3146104a95780638ab1d681146104d45780638da5cb5b146104fd576101d8565b806349bd5a5e1161017a57806370a082311161014957806370a08231146103d65780637146bd0814610413578063715018a61461043e5780637f64978314610455576101d8565b806349bd5a5e1461032c5780634ccfc5c7146103575780636ddb627c146103825780637038be3a146103ad576101d8565b806323b872dd116101b657806323b872dd14610270578063313ce567146102ad57806339509351146102d85780633ccfd60b14610315576101d8565b806306fdde03146101dd578063095ea7b31461020857806318160ddd14610245575b600080fd5b3480156101e957600080fd5b506101f2610763565b6040516101ff9190611e00565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190611eca565b6107f5565b60405161023c9190611f25565b60405180910390f35b34801561025157600080fd5b5061025a610813565b6040516102679190611f4f565b60405180910390f35b34801561027c57600080fd5b5061029760048036038101906102929190611f6a565b61081d565b6040516102a49190611f25565b60405180910390f35b3480156102b957600080fd5b506102c2610915565b6040516102cf9190611fd9565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa9190611eca565b61091e565b60405161030c9190611f25565b60405180910390f35b34801561032157600080fd5b5061032a6109ca565b005b34801561033857600080fd5b50610341610aad565b60405161034e9190612003565b60405180910390f35b34801561036357600080fd5b5061036c610ad3565b6040516103799190611f4f565b60405180910390f35b34801561038e57600080fd5b50610397610ae0565b6040516103a49190611f4f565b60405180910390f35b3480156103b957600080fd5b506103d460048036038101906103cf919061204a565b610af1565b005b3480156103e257600080fd5b506103fd60048036038101906103f891906120b1565b610bef565b60405161040a9190611f4f565b60405180910390f35b34801561041f57600080fd5b50610428610c38565b6040516104359190611f4f565b60405180910390f35b34801561044a57600080fd5b50610453610c44565b005b34801561046157600080fd5b5061047c60048036038101906104779190612226565b610ccc565b005b34801561048a57600080fd5b50610493610ddd565b6040516104a09190611f25565b60405180910390f35b3480156104b557600080fd5b506104be610df0565b6040516104cb9190611f4f565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f691906120b1565b610df6565b005b34801561050957600080fd5b50610512610ecd565b60405161051f9190612003565b60405180910390f35b34801561053457600080fd5b5061053d610ef6565b60405161054a9190611f4f565b60405180910390f35b34801561055f57600080fd5b50610568610f1f565b6040516105759190611e00565b60405180910390f35b34801561058a57600080fd5b506105a560048036038101906105a091906120b1565b610fb1565b6040516105b29190611f25565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd9190611eca565b610fd1565b6040516105ef9190611f25565b60405180910390f35b34801561060457600080fd5b5061061f600480360381019061061a9190611eca565b6110bc565b60405161062c9190611f25565b60405180910390f35b34801561064157600080fd5b5061064a6110da565b6040516106579190611f4f565b60405180910390f35b6106686110e0565b005b34801561067657600080fd5b5061067f611367565b60405161068c9190611f4f565b60405180910390f35b3480156106a157600080fd5b506106bc60048036038101906106b7919061226f565b611372565b6040516106c99190611f4f565b60405180910390f35b3480156106de57600080fd5b506106f960048036038101906106f491906120b1565b6113f9565b6040516107069190611f4f565b60405180910390f35b34801561071b57600080fd5b50610736600480360381019061073191906120b1565b611411565b005b34801561074457600080fd5b5061074d611508565b60405161075a9190611f25565b60405180910390f35b606060048054610772906122de565b80601f016020809104026020016040519081016040528092919081815260200182805461079e906122de565b80156107eb5780601f106107c0576101008083540402835291602001916107eb565b820191906000526020600020905b8154815290600101906020018083116107ce57829003601f168201915b5050505050905090565b600061080961080261151b565b8484611523565b6001905092915050565b6000600354905090565b600061082a8484846116ec565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061087561151b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec90612381565b60405180910390fd5b6109098561090161151b565b858403611523565b60019150509392505050565b60006012905090565b60006109c061092b61151b565b84846002600061093961151b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109bb91906123d0565b611523565b6001905092915050565b6109d261151b565b73ffffffffffffffffffffffffffffffffffffffff166109f0610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3d90612450565b60405180910390fd5b610a4e610ecd565b73ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610aaa573d6000803e3d6000fd5b50565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b680340aad21b3b70000081565b6c1a2087de343fecec7bf000000081565b610af961151b565b73ffffffffffffffffffffffffffffffffffffffff16610b17610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6490612450565b60405180910390fd5b83600660006101000a81548160ff02191690831515021790555080600660016101000a81548160ff02191690831515021790555082600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160078190555050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6702c68af0bb14000081565b610c4c61151b565b73ffffffffffffffffffffffffffffffffffffffff16610c6a610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb790612450565b60405180910390fd5b610cca600061196e565b565b610cd461151b565b73ffffffffffffffffffffffffffffffffffffffff16610cf2610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90612450565b60405180910390fd5b60005b8151811015610dd9576001600a6000848481518110610d6d57610d6c612470565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610dd19061249f565b915050610d4b565b5050565b600660009054906101000a900460ff1681565b60075481565b610dfe61151b565b73ffffffffffffffffffffffffffffffffffffffff16610e1c610ecd565b73ffffffffffffffffffffffffffffffffffffffff1614610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990612450565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6c1a2087de343fecec7bf00000006c57171a3a037fc0699d20000000610f1c91906124e7565b81565b606060058054610f2e906122de565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5a906122de565b8015610fa75780601f10610f7c57610100808354040283529160200191610fa7565b820191906000526020600020905b815481529060010190602001808311610f8a57829003601f168201915b5050505050905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060026000610fe061151b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561109d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110949061258d565b60405180910390fd5b6110b16110a861151b565b85858403611523565b600191505092915050565b60006110d06110c961151b565b84846116ec565b6001905092915050565b60085481565b600660019054906101000a900460ff161561118257600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611181576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611178906125f9565b60405180910390fd5b5b66b1a2bc2ec500003410156111cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c39061268b565b60405180910390fd5b6702c68af0bb14000034600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122091906123d0565b1115611261576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112589061271d565b60405180910390fd5b680340aad21b3b7000003460085461127991906123d0565b11156112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b1906127af565b60405180910390fd5b34600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461130991906123d0565b92505081905550346008600082825461132291906123d0565b925050819055506000680340aad21b3b700000346c1a2087de343fecec7bf000000061134e91906127cf565b6113589190612840565b90506113643382611a32565b50565b66b1a2bc2ec5000081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60096020528060005260406000206000915090505481565b61141961151b565b73ffffffffffffffffffffffffffffffffffffffff16611437610ecd565b73ffffffffffffffffffffffffffffffffffffffff161461148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148490612450565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f3906128e3565b60405180910390fd5b6115058161196e565b50565b600660019054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158990612975565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f890612a07565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116df9190611f4f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290612a99565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c190612b2b565b60405180910390fd5b6117d5838383611b92565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561185c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185390612bbd565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118f191906123d0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119559190611f4f565b60405180910390a3611968848484611d6b565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9890612c29565b60405180910390fd5b611aad60008383611b92565b8060036000828254611abf91906123d0565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b1591906123d0565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7a9190611f4f565b60405180910390a3611b8e60008383611d6b565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611bfc5750600660009054906101000a900460ff165b15611cb857611c09610ecd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611c745750611c45610ecd565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611caa90612c95565b60405180910390fd5b611d66565b600660009054906101000a900460ff168015611d075750611cd7610ecd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d655760075481611d1984610bef565b611d2391906123d0565b1115611d64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5b90612d01565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611daa578082015181840152602081019050611d8f565b60008484015250505050565b6000601f19601f8301169050919050565b6000611dd282611d70565b611ddc8185611d7b565b9350611dec818560208601611d8c565b611df581611db6565b840191505092915050565b60006020820190508181036000830152611e1a8184611dc7565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e6182611e36565b9050919050565b611e7181611e56565b8114611e7c57600080fd5b50565b600081359050611e8e81611e68565b92915050565b6000819050919050565b611ea781611e94565b8114611eb257600080fd5b50565b600081359050611ec481611e9e565b92915050565b60008060408385031215611ee157611ee0611e2c565b5b6000611eef85828601611e7f565b9250506020611f0085828601611eb5565b9150509250929050565b60008115159050919050565b611f1f81611f0a565b82525050565b6000602082019050611f3a6000830184611f16565b92915050565b611f4981611e94565b82525050565b6000602082019050611f646000830184611f40565b92915050565b600080600060608486031215611f8357611f82611e2c565b5b6000611f9186828701611e7f565b9350506020611fa286828701611e7f565b9250506040611fb386828701611eb5565b9150509250925092565b600060ff82169050919050565b611fd381611fbd565b82525050565b6000602082019050611fee6000830184611fca565b92915050565b611ffd81611e56565b82525050565b60006020820190506120186000830184611ff4565b92915050565b61202781611f0a565b811461203257600080fd5b50565b6000813590506120448161201e565b92915050565b6000806000806080858703121561206457612063611e2c565b5b600061207287828801612035565b945050602061208387828801611e7f565b935050604061209487828801611eb5565b92505060606120a587828801612035565b91505092959194509250565b6000602082840312156120c7576120c6611e2c565b5b60006120d584828501611e7f565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61211b82611db6565b810181811067ffffffffffffffff8211171561213a576121396120e3565b5b80604052505050565b600061214d611e22565b90506121598282612112565b919050565b600067ffffffffffffffff821115612179576121786120e3565b5b602082029050602081019050919050565b600080fd5b60006121a261219d8461215e565b612143565b905080838252602082019050602084028301858111156121c5576121c461218a565b5b835b818110156121ee57806121da8882611e7f565b8452602084019350506020810190506121c7565b5050509392505050565b600082601f83011261220d5761220c6120de565b5b813561221d84826020860161218f565b91505092915050565b60006020828403121561223c5761223b611e2c565b5b600082013567ffffffffffffffff81111561225a57612259611e31565b5b612266848285016121f8565b91505092915050565b6000806040838503121561228657612285611e2c565b5b600061229485828601611e7f565b92505060206122a585828601611e7f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122f657607f821691505b602082108103612309576123086122af565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061236b602883611d7b565b91506123768261230f565b604082019050919050565b6000602082019050818103600083015261239a8161235e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006123db82611e94565b91506123e683611e94565b92508282019050808211156123fe576123fd6123a1565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061243a602083611d7b565b915061244582612404565b602082019050919050565b600060208201905081810360008301526124698161242d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006124aa82611e94565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036124dc576124db6123a1565b5b600182019050919050565b60006124f282611e94565b91506124fd83611e94565b9250828203905081811115612515576125146123a1565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612577602583611d7b565b91506125828261251b565b604082019050919050565b600060208201905081810360008301526125a68161256a565b9050919050565b7f596f7520617265206e6f74206f6e207468652077686974656c69737400000000600082015250565b60006125e3601c83611d7b565b91506125ee826125ad565b602082019050919050565b60006020820190508181036000830152612612816125d6565b9050919050565b7f596f75206e65656420746f2073656e64206174206c6561737420302e3035204560008201527f7468657200000000000000000000000000000000000000000000000000000000602082015250565b6000612675602483611d7b565b915061268082612619565b604082019050919050565b600060208201905081810360008301526126a481612668565b9050919050565b7f596f752063616e6e6f7420636f6e74726962757465206d6f7265207468616e2060008201527f302e3220457468657220696e20746f74616c0000000000000000000000000000602082015250565b6000612707603283611d7b565b9150612712826126ab565b604082019050919050565b60006020820190508181036000830152612736816126fa565b9050919050565b7f5468652070726573616c6520686173207265616368656420697473206d61786960008201527f6d756d206c696d69740000000000000000000000000000000000000000000000602082015250565b6000612799602983611d7b565b91506127a48261273d565b604082019050919050565b600060208201905081810360008301526127c88161278c565b9050919050565b60006127da82611e94565b91506127e583611e94565b92508282026127f381611e94565b9150828204841483151761280a576128096123a1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061284b82611e94565b915061285683611e94565b92508261286657612865612811565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128cd602683611d7b565b91506128d882612871565b604082019050919050565b600060208201905081810360008301526128fc816128c0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061295f602483611d7b565b915061296a82612903565b604082019050919050565b6000602082019050818103600083015261298e81612952565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129f1602283611d7b565b91506129fc82612995565b604082019050919050565b60006020820190508181036000830152612a20816129e4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612a83602583611d7b565b9150612a8e82612a27565b604082019050919050565b60006020820190508181036000830152612ab281612a76565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b15602383611d7b565b9150612b2082612ab9565b604082019050919050565b60006020820190508181036000830152612b4481612b08565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612ba7602683611d7b565b9150612bb282612b4b565b604082019050919050565b60006020820190508181036000830152612bd681612b9a565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612c13601f83611d7b565b9150612c1e82612bdd565b602082019050919050565b60006020820190508181036000830152612c4281612c06565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b6000612c7f601683611d7b565b9150612c8a82612c49565b602082019050919050565b60006020820190508181036000830152612cae81612c72565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b6000612ceb600683611d7b565b9150612cf682612cb5565b602082019050919050565b60006020820190508181036000830152612d1a81612cde565b905091905056fea2646970667358221220ff155d29697f6b1f4d5a9cc9563da79aafd9c31b07ff092a49e866ca7f508a5864736f6c63430008120033