6080604052600f600c5566f8b0a10e470000600d556000600e60006101000a81548160ff0219169083151502179055503480156200003c57600080fd5b506040518060400160405280600c81526020017f4372617a7920446f6e6b657900000000000000000000000000000000000000008152506040518060400160405280600681526020017f444f4e4b455900000000000000000000000000000000000000000000000000008152508160009080519060200190620000c1929190620002ec565b508060019080519060200190620000da929190620002ec565b505050620000fd620000f16200014960201b60201c565b6200015160201b60201c565b620001436040518060400160405280601d81526020017f68747470733a2f2f6170692e6372617a79646f6e6b65792e636c75622f0000008152506200021760201b60201c565b62000476565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002276200014960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200024d620002c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620002a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200029d90620003de565b60405180910390fd5b80600b9080519060200190620002be929190620002ec565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620002fa9062000411565b90600052602060002090601f0160209004810192826200031e57600085556200036a565b82601f106200033957805160ff19168380011785556200036a565b828001600101855582156200036a579182015b82811115620003695782518255916020019190600101906200034c565b5b5090506200037991906200037d565b5090565b5b80821115620003985760008160009055506001016200037e565b5090565b6000620003ab60208362000400565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006020820190508181036000830152620003f9816200039c565b9050919050565b600082825260208201905092915050565b600060028204905060018216806200042a57607f821691505b6020821081141562000441576200044062000447565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b613d8380620004866000396000f3fe60806040526004361061019c5760003560e01c80636352211e116100ec57806395d89b411161008a578063b88d4fde11610064578063b88d4fde146105ac578063c87b56dd146105d5578063e985e9c514610612578063f2fde38b1461064f5761019c565b806395d89b411461052d57806398d5fdca14610558578063a22cb465146105835761019c565b80637d4cb964116100c65780637d4cb964146104a4578063853828b6146104cf5780638da5cb5b146104d957806391b7f5ed146105045761019c565b80636352211e1461041357806370a0823114610450578063715018a61461048d5761019c565b806323b872dd1161015957806342842e0e1161013357806342842e0e14610347578063438b6300146103705780634f6ccce7146103ad57806355f804b3146103ea5761019c565b806323b872dd146102c55780632f745c59146102ee57806340c10f191461032b5761019c565b806301ffc9a7146101a157806306fdde03146101de578063081812fc14610209578063095ea7b31461024657806316c61ccc1461026f57806318160ddd1461029a575b600080fd5b3480156101ad57600080fd5b506101c860048036038101906101c39190612b70565b610678565b6040516101d591906135a8565b60405180910390f35b3480156101ea57600080fd5b506101f36106f2565b60405161020091906135c3565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190612c03565b610784565b60405161023d919061351f565b60405180910390f35b34801561025257600080fd5b5061026d60048036038101906102689190612b34565b610809565b005b34801561027b57600080fd5b50610284610921565b60405161029191906135a8565b60405180910390f35b3480156102a657600080fd5b506102af610934565b6040516102bc9190613885565b60405180910390f35b3480156102d157600080fd5b506102ec60048036038101906102e79190612a2e565b610941565b005b3480156102fa57600080fd5b5061031560048036038101906103109190612b34565b6109a1565b6040516103229190613885565b60405180910390f35b61034560048036038101906103409190612b34565b610a46565b005b34801561035357600080fd5b5061036e60048036038101906103699190612a2e565b610bb5565b005b34801561037c57600080fd5b50610397600480360381019061039291906129c9565b610bd5565b6040516103a49190613586565b60405180910390f35b3480156103b957600080fd5b506103d460048036038101906103cf9190612c03565b610ccf565b6040516103e19190613885565b60405180910390f35b3480156103f657600080fd5b50610411600480360381019061040c9190612bc2565b610d66565b005b34801561041f57600080fd5b5061043a60048036038101906104359190612c03565b610dfc565b604051610447919061351f565b60405180910390f35b34801561045c57600080fd5b50610477600480360381019061047291906129c9565b610eae565b6040516104849190613885565b60405180910390f35b34801561049957600080fd5b506104a2610f66565b005b3480156104b057600080fd5b506104b9610fee565b6040516104c69190613885565b60405180910390f35b6104d7610ff4565b005b3480156104e557600080fd5b506104ee6110b0565b6040516104fb919061351f565b60405180910390f35b34801561051057600080fd5b5061052b60048036038101906105269190612c03565b6110da565b005b34801561053957600080fd5b50610542611160565b60405161054f91906135c3565b60405180910390f35b34801561056457600080fd5b5061056d6111f2565b60405161057a9190613885565b60405180910390f35b34801561058f57600080fd5b506105aa60048036038101906105a59190612af8565b611241565b005b3480156105b857600080fd5b506105d360048036038101906105ce9190612a7d565b6113c2565b005b3480156105e157600080fd5b506105fc60048036038101906105f79190612c03565b611424565b60405161060991906135c3565b60405180910390f35b34801561061e57600080fd5b50610639600480360381019061063491906129f2565b6114cb565b60405161064691906135a8565b60405180910390f35b34801561065b57600080fd5b50610676600480360381019061067191906129c9565b61155f565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106eb57506106ea82611657565b5b9050919050565b60606000805461070190613b78565b80601f016020809104026020016040519081016040528092919081815260200182805461072d90613b78565b801561077a5780601f1061074f5761010080835404028352916020019161077a565b820191906000526020600020905b81548152906001019060200180831161075d57829003601f168201915b5050505050905090565b600061078f82611739565b6107ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c590613765565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061081482610dfc565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c906137e5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108a46117a5565b73ffffffffffffffffffffffffffffffffffffffff1614806108d357506108d2816108cd6117a5565b6114cb565b5b610912576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610909906136e5565b60405180910390fd5b61091c83836117ad565b505050565b600e60009054906101000a900460ff1681565b6000600880549050905090565b61095261094c6117a5565b82611866565b610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098890613845565b60405180910390fd5b61099c838383611944565b505050565b60006109ac83610eae565b82106109ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e4906135e5565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6000610a50610934565b9050610a5a6110b0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2d576001600c54610a9b91906139ad565b8210610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad3906136c5565b60405180910390fd5b81600d54610aea9190613a34565b341015610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390613825565b60405180910390fd5b5b6103e88282610b3c91906139ad565b10610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613805565b60405180910390fd5b60005b82811015610baf57610b9c848284610b9791906139ad565b611ba0565b8080610ba790613baa565b915050610b7f565b50505050565b610bd0838383604051806020016040528060008152506113c2565b505050565b60606000610be283610eae565b905060008167ffffffffffffffff811115610c26577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610c545781602001602082028036833780820191505090505b50905060005b82811015610cc457610c6c85826109a1565b828281518110610ca5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250508080610cbc90613baa565b915050610c5a565b508092505050919050565b6000610cd9610934565b8210610d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1190613865565b60405180910390fd5b60088281548110610d54577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b610d6e6117a5565b73ffffffffffffffffffffffffffffffffffffffff16610d8c6110b0565b73ffffffffffffffffffffffffffffffffffffffff1614610de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd990613785565b60405180910390fd5b80600b9080519060200190610df89291906127ed565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90613725565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690613705565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f6e6117a5565b73ffffffffffffffffffffffffffffffffffffffff16610f8c6110b0565b73ffffffffffffffffffffffffffffffffffffffff1614610fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd990613785565b60405180910390fd5b610fec6000611bbe565b565b6103e881565b610ffc6117a5565b73ffffffffffffffffffffffffffffffffffffffff1661101a6110b0565b73ffffffffffffffffffffffffffffffffffffffff1614611070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106790613785565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050506110ae57600080fd5b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110e26117a5565b73ffffffffffffffffffffffffffffffffffffffff166111006110b0565b73ffffffffffffffffffffffffffffffffffffffff1614611156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114d90613785565b60405180910390fd5b80600d8190555050565b60606001805461116f90613b78565b80601f016020809104026020016040519081016040528092919081815260200182805461119b90613b78565b80156111e85780601f106111bd576101008083540402835291602001916111e8565b820191906000526020600020905b8154815290600101906020018083116111cb57829003601f168201915b5050505050905090565b60006111fc6110b0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611238576000905061123e565b600d5490505b90565b6112496117a5565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ae90613685565b60405180910390fd5b80600560006112c46117a5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166113716117a5565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516113b691906135a8565b60405180910390a35050565b6113d36113cd6117a5565b83611866565b611412576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140990613845565b60405180910390fd5b61141e84848484611c84565b50505050565b606061142f82611739565b61146e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611465906137c5565b60405180910390fd5b6000611478611ce0565b9050600081511161149857604051806020016040528060008152506114c3565b806114a284611d72565b6040516020016114b39291906134fb565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6115676117a5565b73ffffffffffffffffffffffffffffffffffffffff166115856110b0565b73ffffffffffffffffffffffffffffffffffffffff16146115db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d290613785565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561164b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164290613625565b60405180910390fd5b61165481611bbe565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061172257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611732575061173182611f1f565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661182083610dfc565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061187182611739565b6118b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a7906136a5565b60405180910390fd5b60006118bb83610dfc565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061192a57508373ffffffffffffffffffffffffffffffffffffffff1661191284610784565b73ffffffffffffffffffffffffffffffffffffffff16145b8061193b575061193a81856114cb565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661196482610dfc565b73ffffffffffffffffffffffffffffffffffffffff16146119ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b1906137a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2190613665565b60405180910390fd5b611a35838383611f89565b611a406000826117ad565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a909190613a8e565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ae791906139ad565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b611bba82826040518060200160405280600081525061209d565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611c8f848484611944565b611c9b848484846120f8565b611cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd190613605565b60405180910390fd5b50505050565b6060600b8054611cef90613b78565b80601f0160208091040260200160405190810160405280929190818152602001828054611d1b90613b78565b8015611d685780601f10611d3d57610100808354040283529160200191611d68565b820191906000526020600020905b815481529060010190602001808311611d4b57829003601f168201915b5050505050905090565b60606000821415611dba576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611f1a565b600082905060005b60008214611dec578080611dd590613baa565b915050600a82611de59190613a03565b9150611dc2565b60008167ffffffffffffffff811115611e2e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611e605781602001600182028036833780820191505090505b5090505b60008514611f1357600182611e799190613a8e565b9150600a85611e889190613bf3565b6030611e9491906139ad565b60f81b818381518110611ed0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611f0c9190613a03565b9450611e64565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611f9483838361228f565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fd757611fd281612294565b612016565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146120155761201483826122dd565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612059576120548161244a565b612098565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461209757612096828261258d565b5b5b505050565b6120a7838361260c565b6120b460008484846120f8565b6120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea90613605565b60405180910390fd5b505050565b60006121198473ffffffffffffffffffffffffffffffffffffffff166127da565b15612282578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026121426117a5565b8786866040518563ffffffff1660e01b8152600401612164949392919061353a565b602060405180830381600087803b15801561217e57600080fd5b505af19250505080156121af57506040513d601f19601f820116820180604052508101906121ac9190612b99565b60015b612232573d80600081146121df576040519150601f19603f3d011682016040523d82523d6000602084013e6121e4565b606091505b5060008151141561222a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222190613605565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612287565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016122ea84610eae565b6122f49190613a8e565b90506000600760008481526020019081526020016000205490508181146123d9576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061245e9190613a8e565b90506000600960008481526020019081526020016000205490506000600883815481106124b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080600883815481106124fc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480612571577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061259883610eae565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561267c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267390613745565b60405180910390fd5b61268581611739565b156126c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126bc90613645565b60405180910390fd5b6126d160008383611f89565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461272191906139ad565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b8280546127f990613b78565b90600052602060002090601f01602090048101928261281b5760008555612862565b82601f1061283457805160ff1916838001178555612862565b82800160010185558215612862579182015b82811115612861578251825591602001919060010190612846565b5b50905061286f9190612873565b5090565b5b8082111561288c576000816000905550600101612874565b5090565b60006128a361289e846138d1565b6138a0565b9050828152602081018484840111156128bb57600080fd5b6128c6848285613b36565b509392505050565b60006128e16128dc84613901565b6138a0565b9050828152602081018484840111156128f957600080fd5b612904848285613b36565b509392505050565b60008135905061291b81613cf1565b92915050565b60008135905061293081613d08565b92915050565b60008135905061294581613d1f565b92915050565b60008151905061295a81613d1f565b92915050565b600082601f83011261297157600080fd5b8135612981848260208601612890565b91505092915050565b600082601f83011261299b57600080fd5b81356129ab8482602086016128ce565b91505092915050565b6000813590506129c381613d36565b92915050565b6000602082840312156129db57600080fd5b60006129e98482850161290c565b91505092915050565b60008060408385031215612a0557600080fd5b6000612a138582860161290c565b9250506020612a248582860161290c565b9150509250929050565b600080600060608486031215612a4357600080fd5b6000612a518682870161290c565b9350506020612a628682870161290c565b9250506040612a73868287016129b4565b9150509250925092565b60008060008060808587031215612a9357600080fd5b6000612aa18782880161290c565b9450506020612ab28782880161290c565b9350506040612ac3878288016129b4565b925050606085013567ffffffffffffffff811115612ae057600080fd5b612aec87828801612960565b91505092959194509250565b60008060408385031215612b0b57600080fd5b6000612b198582860161290c565b9250506020612b2a85828601612921565b9150509250929050565b60008060408385031215612b4757600080fd5b6000612b558582860161290c565b9250506020612b66858286016129b4565b9150509250929050565b600060208284031215612b8257600080fd5b6000612b9084828501612936565b91505092915050565b600060208284031215612bab57600080fd5b6000612bb98482850161294b565b91505092915050565b600060208284031215612bd457600080fd5b600082013567ffffffffffffffff811115612bee57600080fd5b612bfa8482850161298a565b91505092915050565b600060208284031215612c1557600080fd5b6000612c23848285016129b4565b91505092915050565b6000612c3883836134dd565b60208301905092915050565b612c4d81613ac2565b82525050565b6000612c5e82613941565b612c68818561396f565b9350612c7383613931565b8060005b83811015612ca4578151612c8b8882612c2c565b9750612c9683613962565b925050600181019050612c77565b5085935050505092915050565b612cba81613ad4565b82525050565b6000612ccb8261394c565b612cd58185613980565b9350612ce5818560208601613b45565b612cee81613ce0565b840191505092915050565b6000612d0482613957565b612d0e8185613991565b9350612d1e818560208601613b45565b612d2781613ce0565b840191505092915050565b6000612d3d82613957565b612d4781856139a2565b9350612d57818560208601613b45565b80840191505092915050565b6000612d70602b83613991565b91507f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008301527f74206f6620626f756e64730000000000000000000000000000000000000000006020830152604082019050919050565b6000612dd6603283613991565b91507f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008301527f63656976657220696d706c656d656e74657200000000000000000000000000006020830152604082019050919050565b6000612e3c602683613991565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612ea2601c83613991565b91507f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006000830152602082019050919050565b6000612ee2602483613991565b91507f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612f48601983613991565b91507f4552433732313a20617070726f766520746f2063616c6c6572000000000000006000830152602082019050919050565b6000612f88602c83613991565b91507f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b6000612fee602a83613991565b91507f596f752063616e2061646f70742061206d6178696d756d206f66205f6d61784d60008301527f696e7420746f6b656e73000000000000000000000000000000000000000000006020830152604082019050919050565b6000613054603883613991565b91507f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008301527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006020830152604082019050919050565b60006130ba602a83613991565b91507f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008301527f726f2061646472657373000000000000000000000000000000000000000000006020830152604082019050919050565b6000613120602983613991565b91507f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008301527f656e7420746f6b656e00000000000000000000000000000000000000000000006020830152604082019050919050565b6000613186602083613991565b91507f4552433732313a206d696e7420746f20746865207a65726f20616464726573736000830152602082019050919050565b60006131c6602c83613991565b91507f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b600061322c602083613991565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061326c602983613991565b91507f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008301527f73206e6f74206f776e00000000000000000000000000000000000000000000006020830152604082019050919050565b60006132d2602f83613991565b91507f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008301527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006020830152604082019050919050565b6000613338602183613991565b91507f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061339e601683613991565b91507f45786365656473206d6178696d756d20737570706c79000000000000000000006000830152602082019050919050565b60006133de601983613991565b91507f45746865722073656e74206973206e6f7420636f7272656374000000000000006000830152602082019050919050565b600061341e603183613991565b91507f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008301527f776e6572206e6f7220617070726f7665640000000000000000000000000000006020830152604082019050919050565b6000613484602c83613991565b91507f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008301527f7574206f6620626f756e647300000000000000000000000000000000000000006020830152604082019050919050565b6134e681613b2c565b82525050565b6134f581613b2c565b82525050565b60006135078285612d32565b91506135138284612d32565b91508190509392505050565b60006020820190506135346000830184612c44565b92915050565b600060808201905061354f6000830187612c44565b61355c6020830186612c44565b61356960408301856134ec565b818103606083015261357b8184612cc0565b905095945050505050565b600060208201905081810360008301526135a08184612c53565b905092915050565b60006020820190506135bd6000830184612cb1565b92915050565b600060208201905081810360008301526135dd8184612cf9565b905092915050565b600060208201905081810360008301526135fe81612d63565b9050919050565b6000602082019050818103600083015261361e81612dc9565b9050919050565b6000602082019050818103600083015261363e81612e2f565b9050919050565b6000602082019050818103600083015261365e81612e95565b9050919050565b6000602082019050818103600083015261367e81612ed5565b9050919050565b6000602082019050818103600083015261369e81612f3b565b9050919050565b600060208201905081810360008301526136be81612f7b565b9050919050565b600060208201905081810360008301526136de81612fe1565b9050919050565b600060208201905081810360008301526136fe81613047565b9050919050565b6000602082019050818103600083015261371e816130ad565b9050919050565b6000602082019050818103600083015261373e81613113565b9050919050565b6000602082019050818103600083015261375e81613179565b9050919050565b6000602082019050818103600083015261377e816131b9565b9050919050565b6000602082019050818103600083015261379e8161321f565b9050919050565b600060208201905081810360008301526137be8161325f565b9050919050565b600060208201905081810360008301526137de816132c5565b9050919050565b600060208201905081810360008301526137fe8161332b565b9050919050565b6000602082019050818103600083015261381e81613391565b9050919050565b6000602082019050818103600083015261383e816133d1565b9050919050565b6000602082019050818103600083015261385e81613411565b9050919050565b6000602082019050818103600083015261387e81613477565b9050919050565b600060208201905061389a60008301846134ec565b92915050565b6000604051905081810181811067ffffffffffffffff821117156138c7576138c6613cb1565b5b8060405250919050565b600067ffffffffffffffff8211156138ec576138eb613cb1565b5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff82111561391c5761391b613cb1565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006139b882613b2c565b91506139c383613b2c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156139f8576139f7613c24565b5b828201905092915050565b6000613a0e82613b2c565b9150613a1983613b2c565b925082613a2957613a28613c53565b5b828204905092915050565b6000613a3f82613b2c565b9150613a4a83613b2c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a8357613a82613c24565b5b828202905092915050565b6000613a9982613b2c565b9150613aa483613b2c565b925082821015613ab757613ab6613c24565b5b828203905092915050565b6000613acd82613b0c565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613b63578082015181840152602081019050613b48565b83811115613b72576000848401525b50505050565b60006002820490506001821680613b9057607f821691505b60208210811415613ba457613ba3613c82565b5b50919050565b6000613bb582613b2c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613be857613be7613c24565b5b600182019050919050565b6000613bfe82613b2c565b9150613c0983613b2c565b925082613c1957613c18613c53565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b613cfa81613ac2565b8114613d0557600080fd5b50565b613d1181613ad4565b8114613d1c57600080fd5b50565b613d2881613ae0565b8114613d3357600080fd5b50565b613d3f81613b2c565b8114613d4a57600080fd5b5056fea264697066735822122067fcc7a50337fb23660c09a84c1680d02533f6e340a630f303e7c9547f28973d64736f6c63430008000033