{
    "_format": "hh-sol-artifact-1",
    "contractName": "LockedNORIV1Helper",
    "sourceName": "contracts/test/LockedNORIV1Helper.sol",
    "abi": [
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "string",
                    "name": "",
                    "type": "string"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "grantAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "startTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "vestEndTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "unlockEndTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "cliff1Time",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "cliff2Time",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "vestCliff1Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "vestCliff2Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "unlockCliff1Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "unlockCliff2Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "claimedAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "originalAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "lastRevocationTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "lastQuantityRevoked",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bool",
                            "name": "exists",
                            "type": "bool"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct LockedNORIV1.TokenGrantDetail",
                    "name": "grant",
                    "type": "tuple"
                }
            ],
            "name": "logNamedTokenGrant",
            "type": "event"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "lnori",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "grantAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "startTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "vestEndTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "unlockEndTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "cliff1Time",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "cliff2Time",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "vestCliff1Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "vestCliff2Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "unlockCliff1Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "unlockCliff2Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "claimedAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "originalAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "lastRevocationTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "lastQuantityRevoked",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bool",
                            "name": "exists",
                            "type": "bool"
                        }
                    ],
                    "internalType": "struct LockedNORIV1.TokenGrantDetail",
                    "name": "expectedGrantDetails",
                    "type": "tuple"
                }
            ],
            "name": "assertSimplePastGrant",
            "outputs": [],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "lnori",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "startTime",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "vestEndTime",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "unlockEndTime",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "cliff1Time",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "vestCliff1Amount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "unlockCliff1Amount",
                    "type": "uint256"
                }
            ],
            "name": "createFixtureGrant",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "lnori",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "fromTime",
                    "type": "uint256"
                }
            ],
            "name": "createSimpleGrant",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "lnori",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                }
            ],
            "name": "createSimpleGrantFromNow",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "startTime",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "vestEndTime",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "unlockEndTime",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "cliff1Time",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "cliff2Time",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "vestCliff1Amount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "vestCliff2Amount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "unlockCliff1Amount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "unlockCliff2Amount",
                    "type": "uint256"
                }
            ],
            "name": "encodeGrantCreationParams",
            "outputs": [
                {
                    "internalType": "bytes",
                    "name": "",
                    "type": "bytes"
                }
            ],
            "stateMutability": "pure",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "lnori",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                }
            ],
            "name": "get",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "grantAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "address",
                            "name": "recipient",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "startTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "vestEndTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "unlockEndTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "cliff1Time",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "cliff2Time",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "vestCliff1Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "vestCliff2Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "unlockCliff1Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "unlockCliff2Amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "claimedAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "originalAmount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "lastRevocationTime",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "lastQuantityRevoked",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bool",
                            "name": "exists",
                            "type": "bool"
                        }
                    ],
                    "internalType": "struct LockedNORIV1.TokenGrantDetail",
                    "name": "",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "fromTime",
                    "type": "uint256"
                }
            ],
            "name": "getSimpleGrantCreationParamsEncoded",
            "outputs": [
                {
                    "internalType": "bytes",
                    "name": "",
                    "type": "bytes"
                }
            ],
            "stateMutability": "pure",
            "type": "function"
        }
    ],
    "bytecode": "0x608060405234801561001057600080fd5b50611388806100206000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80631150ef60146100725780631ad249a61461008e5780633ff77556146100be5780634f5a399d146100ee5780638cc870eb1461010a578063a92fbe8014610126578063d81e842314610142575b600080fd5b61008c60048036038101906100879190610674565b610172565b005b6100a860048036038101906100a391906106eb565b610222565b6040516100b5919061085a565b60405180910390f35b6100d860048036038101906100d3919061087c565b610266565b6040516100e5919061085a565b60405180910390f35b610108600480360381019061010391906108bc565b6102a2565b005b610124600480360381019061011f9190610986565b61032e565b005b610140600480360381019061013b91906109d9565b61034c565b005b61015c60048036038101906101579190610a40565b610382565b6040516101699190610c03565b60405180910390f35b60008273ffffffffffffffffffffffffffffffffffffffff1663bf31dbf48360200160208101906101a39190610c1f565b6040518263ffffffff1660e01b81526004016101bf9190610c5b565b61020060405180830381865afa1580156101dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102019190610ec6565b905061021d81838036038101906102189190611083565b61040d565b505050565b60608a8a8a8a8a8a8a8a8a8a6040516020016102479a999897969594939291906110c0565b60405160208183030381529060405290509a9950505050505050505050565b606061029a83836301e133808561027d919061118b565b6301e133808661028d919061118b565b8687600080600080610222565b905092915050565b8873ffffffffffffffffffffffffffffffffffffffff1663271c6e1a8989898989898a8a60008b60006040518c63ffffffff1660e01b81526004016102f19b9a99989796959493929190611204565b600060405180830381600087803b15801561030b57600080fd5b505af115801561031f573d6000803e3d6000fd5b50505050505050505050505050565b610347838383610e1042610342919061118b565b61034c565b505050565b61037c848484846301e1338086610363919061118b565b6301e1338087610373919061118b565b876000806102a2565b50505050565b61038a61054d565b8273ffffffffffffffffffffffffffffffffffffffff1663bf31dbf4836040518263ffffffff1660e01b81526004016103c39190610c5b565b61020060405180830381865afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190610ec6565b905092915050565b806000015182600001511415806104585750806020015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614155b8061046b57508060400151826040015114155b8061047e57508060600151826060015114155b8061049157508060800151826080015114155b806104a457508060a001518260a0015114155b806104b757508060c001518260c0015114155b806104ca57508060e001518260e0015114155b806104df575080610100015182610100015114155b806104f4575080610120015182610120015114155b80610509575080610140015182610140015114155b15610549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054090611332565b60405180910390fd5b5050565b60405180610200016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b6000604051905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061061c826105f1565b9050919050565b61062c81610611565b811461063757600080fd5b50565b60008135905061064981610623565b92915050565b600080fd5b6000610200828403121561066b5761066a61064f565b5b81905092915050565b600080610220838503121561068c5761068b6105ec565b5b600061069a8582860161063a565b92505060206106ab85828601610654565b9150509250929050565b6000819050919050565b6106c8816106b5565b81146106d357600080fd5b50565b6000813590506106e5816106bf565b92915050565b6000806000806000806000806000806101408b8d03121561070f5761070e6105ec565b5b600061071d8d828e0161063a565b9a5050602061072e8d828e016106d6565b995050604061073f8d828e016106d6565b98505060606107508d828e016106d6565b97505060806107618d828e016106d6565b96505060a06107728d828e016106d6565b95505060c06107838d828e016106d6565b94505060e06107948d828e016106d6565b9350506101006107a68d828e016106d6565b9250506101206107b88d828e016106d6565b9150509295989b9194979a5092959850565b600081519050919050565b600082825260208201905092915050565b60005b838110156108045780820151818401526020810190506107e9565b60008484015250505050565b6000601f19601f8301169050919050565b600061082c826107ca565b61083681856107d5565b93506108468185602086016107e6565b61084f81610810565b840191505092915050565b600060208201905081810360008301526108748184610821565b905092915050565b60008060408385031215610893576108926105ec565b5b60006108a18582860161063a565b92505060206108b2858286016106d6565b9150509250929050565b60008060008060008060008060006101208a8c0312156108df576108de6105ec565b5b60006108ed8c828d0161063a565b99505060206108fe8c828d016106d6565b985050604061090f8c828d0161063a565b97505060606109208c828d016106d6565b96505060806109318c828d016106d6565b95505060a06109428c828d016106d6565b94505060c06109538c828d016106d6565b93505060e06109648c828d016106d6565b9250506101006109768c828d016106d6565b9150509295985092959850929598565b60008060006060848603121561099f5761099e6105ec565b5b60006109ad8682870161063a565b93505060206109be868287016106d6565b92505060406109cf8682870161063a565b9150509250925092565b600080600080608085870312156109f3576109f26105ec565b5b6000610a018782880161063a565b9450506020610a12878288016106d6565b9350506040610a238782880161063a565b9250506060610a34878288016106d6565b91505092959194509250565b60008060408385031215610a5757610a566105ec565b5b6000610a658582860161063a565b9250506020610a768582860161063a565b9150509250929050565b610a89816106b5565b82525050565b610a9881610611565b82525050565b60008115159050919050565b610ab381610a9e565b82525050565b61020082016000820151610ad06000850182610a80565b506020820151610ae36020850182610a8f565b506040820151610af66040850182610a80565b506060820151610b096060850182610a80565b506080820151610b1c6080850182610a80565b5060a0820151610b2f60a0850182610a80565b5060c0820151610b4260c0850182610a80565b5060e0820151610b5560e0850182610a80565b50610100820151610b6a610100850182610a80565b50610120820151610b7f610120850182610a80565b50610140820151610b94610140850182610a80565b50610160820151610ba9610160850182610a80565b50610180820151610bbe610180850182610a80565b506101a0820151610bd36101a0850182610a80565b506101c0820151610be86101c0850182610a80565b506101e0820151610bfd6101e0850182610aaa565b50505050565b600061020082019050610c196000830184610ab9565b92915050565b600060208284031215610c3557610c346105ec565b5b6000610c438482850161063a565b91505092915050565b610c5581610611565b82525050565b6000602082019050610c706000830184610c4c565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cb382610810565b810181811067ffffffffffffffff82111715610cd257610cd1610c7b565b5b80604052505050565b6000610ce56105e2565b9050610cf18282610caa565b919050565b600081519050610d05816106bf565b92915050565b600081519050610d1a81610623565b92915050565b610d2981610a9e565b8114610d3457600080fd5b50565b600081519050610d4681610d20565b92915050565b60006102008284031215610d6357610d62610c76565b5b610d6e610200610cdb565b90506000610d7e84828501610cf6565b6000830152506020610d9284828501610d0b565b6020830152506040610da684828501610cf6565b6040830152506060610dba84828501610cf6565b6060830152506080610dce84828501610cf6565b60808301525060a0610de284828501610cf6565b60a08301525060c0610df684828501610cf6565b60c08301525060e0610e0a84828501610cf6565b60e083015250610100610e1f84828501610cf6565b61010083015250610120610e3584828501610cf6565b61012083015250610140610e4b84828501610cf6565b61014083015250610160610e6184828501610cf6565b61016083015250610180610e7784828501610cf6565b610180830152506101a0610e8d84828501610cf6565b6101a0830152506101c0610ea384828501610cf6565b6101c0830152506101e0610eb984828501610d37565b6101e08301525092915050565b60006102008284031215610edd57610edc6105ec565b5b6000610eeb84828501610d4c565b91505092915050565b600081359050610f0381610d20565b92915050565b60006102008284031215610f2057610f1f610c76565b5b610f2b610200610cdb565b90506000610f3b848285016106d6565b6000830152506020610f4f8482850161063a565b6020830152506040610f63848285016106d6565b6040830152506060610f77848285016106d6565b6060830152506080610f8b848285016106d6565b60808301525060a0610f9f848285016106d6565b60a08301525060c0610fb3848285016106d6565b60c08301525060e0610fc7848285016106d6565b60e083015250610100610fdc848285016106d6565b61010083015250610120610ff2848285016106d6565b61012083015250610140611008848285016106d6565b6101408301525061016061101e848285016106d6565b61016083015250610180611034848285016106d6565b610180830152506101a061104a848285016106d6565b6101a0830152506101c0611060848285016106d6565b6101c0830152506101e061107684828501610ef4565b6101e08301525092915050565b6000610200828403121561109a576110996105ec565b5b60006110a884828501610f09565b91505092915050565b6110ba816106b5565b82525050565b6000610140820190506110d6600083018d610c4c565b6110e3602083018c6110b1565b6110f0604083018b6110b1565b6110fd606083018a6110b1565b61110a60808301896110b1565b61111760a08301886110b1565b61112460c08301876110b1565b61113160e08301866110b1565b61113f6101008301856110b1565b61114d6101208301846110b1565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611196826106b5565b91506111a1836106b5565b92508282019050808211156111b9576111b861115c565b5b92915050565b6000819050919050565b6000819050919050565b60006111ee6111e96111e4846111bf565b6111c9565b6106b5565b9050919050565b6111fe816111d3565b82525050565b60006101608201905061121a600083018e6110b1565b611227602083018d610c4c565b611234604083018c6110b1565b611241606083018b6110b1565b61124e608083018a6110b1565b61125b60a08301896110b1565b61126860c08301886110b1565b61127560e08301876110b1565b6112836101008301866111f5565b6112916101208301856110b1565b61129f6101408301846111f5565b9c9b505050505050505050505050565b600082825260208201905092915050565b7f4572726f723a2061203d3d2062206e6f7420736174697366696564205b546f6b60008201527f656e4772616e7444657461696c5d000000000000000000000000000000000000602082015250565b600061131c602e836112af565b9150611327826112c0565b604082019050919050565b6000602082019050818103600083015261134b8161130f565b905091905056fea264697066735822122042787caa5fd1dad7daeb5eccbfd9387b952677b8bbcfaba3c4f766a211bfec3364736f6c63430008110033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80631150ef60146100725780631ad249a61461008e5780633ff77556146100be5780634f5a399d146100ee5780638cc870eb1461010a578063a92fbe8014610126578063d81e842314610142575b600080fd5b61008c60048036038101906100879190610674565b610172565b005b6100a860048036038101906100a391906106eb565b610222565b6040516100b5919061085a565b60405180910390f35b6100d860048036038101906100d3919061087c565b610266565b6040516100e5919061085a565b60405180910390f35b610108600480360381019061010391906108bc565b6102a2565b005b610124600480360381019061011f9190610986565b61032e565b005b610140600480360381019061013b91906109d9565b61034c565b005b61015c60048036038101906101579190610a40565b610382565b6040516101699190610c03565b60405180910390f35b60008273ffffffffffffffffffffffffffffffffffffffff1663bf31dbf48360200160208101906101a39190610c1f565b6040518263ffffffff1660e01b81526004016101bf9190610c5b565b61020060405180830381865afa1580156101dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102019190610ec6565b905061021d81838036038101906102189190611083565b61040d565b505050565b60608a8a8a8a8a8a8a8a8a8a6040516020016102479a999897969594939291906110c0565b60405160208183030381529060405290509a9950505050505050505050565b606061029a83836301e133808561027d919061118b565b6301e133808661028d919061118b565b8687600080600080610222565b905092915050565b8873ffffffffffffffffffffffffffffffffffffffff1663271c6e1a8989898989898a8a60008b60006040518c63ffffffff1660e01b81526004016102f19b9a99989796959493929190611204565b600060405180830381600087803b15801561030b57600080fd5b505af115801561031f573d6000803e3d6000fd5b50505050505050505050505050565b610347838383610e1042610342919061118b565b61034c565b505050565b61037c848484846301e1338086610363919061118b565b6301e1338087610373919061118b565b876000806102a2565b50505050565b61038a61054d565b8273ffffffffffffffffffffffffffffffffffffffff1663bf31dbf4836040518263ffffffff1660e01b81526004016103c39190610c5b565b61020060405180830381865afa1580156103e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104059190610ec6565b905092915050565b806000015182600001511415806104585750806020015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614155b8061046b57508060400151826040015114155b8061047e57508060600151826060015114155b8061049157508060800151826080015114155b806104a457508060a001518260a0015114155b806104b757508060c001518260c0015114155b806104ca57508060e001518260e0015114155b806104df575080610100015182610100015114155b806104f4575080610120015182610120015114155b80610509575080610140015182610140015114155b15610549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054090611332565b60405180910390fd5b5050565b60405180610200016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b6000604051905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061061c826105f1565b9050919050565b61062c81610611565b811461063757600080fd5b50565b60008135905061064981610623565b92915050565b600080fd5b6000610200828403121561066b5761066a61064f565b5b81905092915050565b600080610220838503121561068c5761068b6105ec565b5b600061069a8582860161063a565b92505060206106ab85828601610654565b9150509250929050565b6000819050919050565b6106c8816106b5565b81146106d357600080fd5b50565b6000813590506106e5816106bf565b92915050565b6000806000806000806000806000806101408b8d03121561070f5761070e6105ec565b5b600061071d8d828e0161063a565b9a5050602061072e8d828e016106d6565b995050604061073f8d828e016106d6565b98505060606107508d828e016106d6565b97505060806107618d828e016106d6565b96505060a06107728d828e016106d6565b95505060c06107838d828e016106d6565b94505060e06107948d828e016106d6565b9350506101006107a68d828e016106d6565b9250506101206107b88d828e016106d6565b9150509295989b9194979a5092959850565b600081519050919050565b600082825260208201905092915050565b60005b838110156108045780820151818401526020810190506107e9565b60008484015250505050565b6000601f19601f8301169050919050565b600061082c826107ca565b61083681856107d5565b93506108468185602086016107e6565b61084f81610810565b840191505092915050565b600060208201905081810360008301526108748184610821565b905092915050565b60008060408385031215610893576108926105ec565b5b60006108a18582860161063a565b92505060206108b2858286016106d6565b9150509250929050565b60008060008060008060008060006101208a8c0312156108df576108de6105ec565b5b60006108ed8c828d0161063a565b99505060206108fe8c828d016106d6565b985050604061090f8c828d0161063a565b97505060606109208c828d016106d6565b96505060806109318c828d016106d6565b95505060a06109428c828d016106d6565b94505060c06109538c828d016106d6565b93505060e06109648c828d016106d6565b9250506101006109768c828d016106d6565b9150509295985092959850929598565b60008060006060848603121561099f5761099e6105ec565b5b60006109ad8682870161063a565b93505060206109be868287016106d6565b92505060406109cf8682870161063a565b9150509250925092565b600080600080608085870312156109f3576109f26105ec565b5b6000610a018782880161063a565b9450506020610a12878288016106d6565b9350506040610a238782880161063a565b9250506060610a34878288016106d6565b91505092959194509250565b60008060408385031215610a5757610a566105ec565b5b6000610a658582860161063a565b9250506020610a768582860161063a565b9150509250929050565b610a89816106b5565b82525050565b610a9881610611565b82525050565b60008115159050919050565b610ab381610a9e565b82525050565b61020082016000820151610ad06000850182610a80565b506020820151610ae36020850182610a8f565b506040820151610af66040850182610a80565b506060820151610b096060850182610a80565b506080820151610b1c6080850182610a80565b5060a0820151610b2f60a0850182610a80565b5060c0820151610b4260c0850182610a80565b5060e0820151610b5560e0850182610a80565b50610100820151610b6a610100850182610a80565b50610120820151610b7f610120850182610a80565b50610140820151610b94610140850182610a80565b50610160820151610ba9610160850182610a80565b50610180820151610bbe610180850182610a80565b506101a0820151610bd36101a0850182610a80565b506101c0820151610be86101c0850182610a80565b506101e0820151610bfd6101e0850182610aaa565b50505050565b600061020082019050610c196000830184610ab9565b92915050565b600060208284031215610c3557610c346105ec565b5b6000610c438482850161063a565b91505092915050565b610c5581610611565b82525050565b6000602082019050610c706000830184610c4c565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cb382610810565b810181811067ffffffffffffffff82111715610cd257610cd1610c7b565b5b80604052505050565b6000610ce56105e2565b9050610cf18282610caa565b919050565b600081519050610d05816106bf565b92915050565b600081519050610d1a81610623565b92915050565b610d2981610a9e565b8114610d3457600080fd5b50565b600081519050610d4681610d20565b92915050565b60006102008284031215610d6357610d62610c76565b5b610d6e610200610cdb565b90506000610d7e84828501610cf6565b6000830152506020610d9284828501610d0b565b6020830152506040610da684828501610cf6565b6040830152506060610dba84828501610cf6565b6060830152506080610dce84828501610cf6565b60808301525060a0610de284828501610cf6565b60a08301525060c0610df684828501610cf6565b60c08301525060e0610e0a84828501610cf6565b60e083015250610100610e1f84828501610cf6565b61010083015250610120610e3584828501610cf6565b61012083015250610140610e4b84828501610cf6565b61014083015250610160610e6184828501610cf6565b61016083015250610180610e7784828501610cf6565b610180830152506101a0610e8d84828501610cf6565b6101a0830152506101c0610ea384828501610cf6565b6101c0830152506101e0610eb984828501610d37565b6101e08301525092915050565b60006102008284031215610edd57610edc6105ec565b5b6000610eeb84828501610d4c565b91505092915050565b600081359050610f0381610d20565b92915050565b60006102008284031215610f2057610f1f610c76565b5b610f2b610200610cdb565b90506000610f3b848285016106d6565b6000830152506020610f4f8482850161063a565b6020830152506040610f63848285016106d6565b6040830152506060610f77848285016106d6565b6060830152506080610f8b848285016106d6565b60808301525060a0610f9f848285016106d6565b60a08301525060c0610fb3848285016106d6565b60c08301525060e0610fc7848285016106d6565b60e083015250610100610fdc848285016106d6565b61010083015250610120610ff2848285016106d6565b61012083015250610140611008848285016106d6565b6101408301525061016061101e848285016106d6565b61016083015250610180611034848285016106d6565b610180830152506101a061104a848285016106d6565b6101a0830152506101c0611060848285016106d6565b6101c0830152506101e061107684828501610ef4565b6101e08301525092915050565b6000610200828403121561109a576110996105ec565b5b60006110a884828501610f09565b91505092915050565b6110ba816106b5565b82525050565b6000610140820190506110d6600083018d610c4c565b6110e3602083018c6110b1565b6110f0604083018b6110b1565b6110fd606083018a6110b1565b61110a60808301896110b1565b61111760a08301886110b1565b61112460c08301876110b1565b61113160e08301866110b1565b61113f6101008301856110b1565b61114d6101208301846110b1565b9b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611196826106b5565b91506111a1836106b5565b92508282019050808211156111b9576111b861115c565b5b92915050565b6000819050919050565b6000819050919050565b60006111ee6111e96111e4846111bf565b6111c9565b6106b5565b9050919050565b6111fe816111d3565b82525050565b60006101608201905061121a600083018e6110b1565b611227602083018d610c4c565b611234604083018c6110b1565b611241606083018b6110b1565b61124e608083018a6110b1565b61125b60a08301896110b1565b61126860c08301886110b1565b61127560e08301876110b1565b6112836101008301866111f5565b6112916101208301856110b1565b61129f6101408301846111f5565b9c9b505050505050505050505050565b600082825260208201905092915050565b7f4572726f723a2061203d3d2062206e6f7420736174697366696564205b546f6b60008201527f656e4772616e7444657461696c5d000000000000000000000000000000000000602082015250565b600061131c602e836112af565b9150611327826112c0565b604082019050919050565b6000602082019050818103600083015261134b8161130f565b905091905056fea264697066735822122042787caa5fd1dad7daeb5eccbfd9387b952677b8bbcfaba3c4f766a211bfec3364736f6c63430008110033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
