{
  "_format": "hh-sol-artifact-1",
  "contractName": "DisputeGameFactory_Test",
  "sourceName": "contracts/test/DisputeGameFactory.t.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "disputeProxy",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "enum GameType",
          "name": "gameType",
          "type": "uint8"
        },
        {
          "indexed": true,
          "internalType": "Claim",
          "name": "rootClaim",
          "type": "bytes32"
        }
      ],
      "name": "DisputeGameCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "name": "log",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "log_address",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "val",
          "type": "uint256[]"
        }
      ],
      "name": "log_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "int256[]",
          "name": "val",
          "type": "int256[]"
        }
      ],
      "name": "log_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "val",
          "type": "address[]"
        }
      ],
      "name": "log_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "log_bytes",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "log_bytes32",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "name": "log_int",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "val",
          "type": "address"
        }
      ],
      "name": "log_named_address",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "val",
          "type": "uint256[]"
        }
      ],
      "name": "log_named_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int256[]",
          "name": "val",
          "type": "int256[]"
        }
      ],
      "name": "log_named_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "val",
          "type": "address[]"
        }
      ],
      "name": "log_named_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "val",
          "type": "bytes"
        }
      ],
      "name": "log_named_bytes",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "val",
          "type": "bytes32"
        }
      ],
      "name": "log_named_bytes32",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int256",
          "name": "val",
          "type": "int256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "decimals",
          "type": "uint256"
        }
      ],
      "name": "log_named_decimal_int",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "val",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "decimals",
          "type": "uint256"
        }
      ],
      "name": "log_named_decimal_uint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int256",
          "name": "val",
          "type": "int256"
        }
      ],
      "name": "log_named_int",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "val",
          "type": "string"
        }
      ],
      "name": "log_named_string",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "val",
          "type": "uint256"
        }
      ],
      "name": "log_named_uint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "name": "log_string",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "log_uint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "logs",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "IS_TEST",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "excludeArtifacts",
      "outputs": [
        {
          "internalType": "string[]",
          "name": "excludedArtifacts_",
          "type": "string[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "excludeContracts",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "excludedContracts_",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "excludeSenders",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "excludedSenders_",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "failed",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "setUp",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "targetArtifactSelectors",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "addr",
              "type": "address"
            },
            {
              "internalType": "bytes4[]",
              "name": "selectors",
              "type": "bytes4[]"
            }
          ],
          "internalType": "struct StdInvariant.FuzzSelector[]",
          "name": "targetedArtifactSelectors_",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "targetArtifacts",
      "outputs": [
        {
          "internalType": "string[]",
          "name": "targetedArtifacts_",
          "type": "string[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "targetContracts",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "targetedContracts_",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "targetSelectors",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "addr",
              "type": "address"
            },
            {
              "internalType": "bytes4[]",
              "name": "selectors",
              "type": "bytes4[]"
            }
          ],
          "internalType": "struct StdInvariant.FuzzSelector[]",
          "name": "targetedSelectors_",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "targetSenders",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "targetedSenders_",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "gameType",
          "type": "uint8"
        },
        {
          "internalType": "Claim",
          "name": "rootClaim",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "testDiff_getGameUUID_succeeds",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "gameType",
          "type": "uint8"
        },
        {
          "internalType": "Claim",
          "name": "rootClaim",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "testFuzz_create_noImpl_reverts",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "gameType",
          "type": "uint8"
        },
        {
          "internalType": "Claim",
          "name": "rootClaim",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "testFuzz_create_sameUUID_reverts",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "gameType",
          "type": "uint8"
        },
        {
          "internalType": "Claim",
          "name": "rootClaim",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "testFuzz_create_succeeds",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "test_owner_succeeds",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "test_setImplementation_notOwner_reverts",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "test_setImplementation_succeeds",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "test_transferOwnership_notOwner_reverts",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "test_transferOwnership_succeeds",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260008054600160ff19918216811790925560048054909116909117905534801561002d57600080fd5b506139d18061003d6000396000f3fe60806040523480156200001157600080fd5b5060043610620001895760003560e01c8063a8cc665711620000dd578063dee1ac0d116200008b578063e210dfb3116200006e578063e210dfb314620002a8578063ea9085c214620002b2578063fa7626d414620002c957600080fd5b8063dee1ac0d1462000294578063e20c9f71146200029e57600080fd5b8063b9bc906711620000c0578063b9bc90671462000258578063ba414fa6146200026f578063c1551c6a146200028a57600080fd5b8063a8cc66571462000237578063b5508aa9146200024e57600080fd5b806366d9a9a0116200013b57806385226c81116200011e57806385226c8114620001fd578063916a17c614620002165780639f3b4350146200022057600080fd5b806366d9a9a014620001da5780637b74a4fd14620001f357600080fd5b80631ed7831c11620001705780631ed7831c14620001a45780633e5e3c2314620001c65780633f7286f414620001d057600080fd5b80630a9254e4146200018e5780630ead8b92146200019a575b600080fd5b62000198620002d7565b005b62000198620003d9565b620001ae6200058f565b604051620001bd9190620024c6565b60405180910390f35b620001ae62000600565b620001ae6200066f565b620001e4620006de565b604051620001bd919062002522565b62000198620007f3565b62000207620009d7565b604051620001bd919062002697565b620001e462000ab1565b62000198620002313660046200271b565b62000bbd565b62000198620002483660046200271b565b62000cce565b6200020762000ebf565b62000198620002693660046200271b565b62000f99565b620002796200153c565b6040519015158152602001620001bd565b62000198620016a6565b620001986200182f565b620001ae62001927565b6200019862001996565b62000198620002c33660046200271b565b62001a36565b600054620002799060ff1681565b30604051620002e690620024ab565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f08015801562000320573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516200037490620024b9565b604051809103906000f08015801562000391573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815260006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200044057600080fd5b505af115801562000455573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b158015620004ed57600080fd5b505af115801562000502573d6000803e3d6000fd5b5050601b546040517ff2fde38b0000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f2fde38b91506024015b600060405180830381600087803b1580156200057457600080fd5b505af115801562000589573d6000803e3d6000fd5b50505050565b6060600d805480602002602001604051908101604052809291908181526020018280548015620005f657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311620005ca575b5050505050905090565b6060600f805480602002602001604051908101604052809291908181526020018280548015620005f65760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311620005ca575050505050905090565b6060600e805480602002602001604051908101604052809291908181526020018280548015620005f65760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311620005ca575050505050905090565b60606012805480602002602001604051908101604052809291908181526020016000905b82821015620007ea57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015620007d157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116200077d5790505b5050505050815250508152602001906001019062000702565b50505050905090565b601b546040517fdfa162d30000000000000000000000000000000000000000000000000000000081526200089b9173ffffffffffffffffffffffffffffffffffffffff169063dfa162d3906200084f906000906004016200281b565b602060405180830381865afa1580156200086d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000893919062002857565b600062001d2a565b601b546040517f45583b7a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906345583b7a90620008f79060009060019060040162002877565b600060405180830381600087803b1580156200091257600080fd5b505af115801562000927573d6000803e3d6000fd5b5050601b546040517fdfa162d3000000000000000000000000000000000000000000000000000000008152620009d5935073ffffffffffffffffffffffffffffffffffffffff909116915063dfa162d39062000989906000906004016200281b565b602060405180830381865afa158015620009a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009cd919062002857565b600162001d2a565b565b60606011805480602002602001604051908101604052809291908181526020016000905b82821015620007ea57838290600052602060002001805462000a1d90620028aa565b80601f016020809104026020016040519081016040528092919081815260200182805462000a4b90620028aa565b801562000a9c5780601f1062000a705761010080835404028352916020019162000a9c565b820191906000526020600020905b81548152906001019060200180831162000a7e57829003601f168201915b505050505081526020019060010190620009fb565b60606013805480602002602001604051908101604052809291908181526020016000905b82821015620007ea57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801562000ba457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162000b505790505b5050505050815250508152602001906001019062000ad5565b600062000bd18560ff166000600262001e6c565b60ff16600281111562000be85762000be8620027b0565b601b546040517f26daafbe00000000000000000000000000000000000000000000000000000000815291925062000cc79173ffffffffffffffffffffffffffffffffffffffff909116906326daafbe9062000c4e908590899089908990600401620028ff565b602060405180830381865afa15801562000c6c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c92919062002963565b8286868660405160200162000cab9493929190620028ff565b6040516020818303038152906040528051906020012062001ec5565b5050505050565b600062000ce28560ff166000600262001e6c565b60ff16600281111562000cf95762000cf9620027b0565b604051909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb3907f44265d6f000000000000000000000000000000000000000000000000000000009062000d4d9085906024016200281b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b909216825262000ddf916004016200297d565b600060405180830381600087803b15801562000dfa57600080fd5b505af115801562000e0f573d6000803e3d6000fd5b5050601b546040517f3142e55e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169250633142e55e915062000e71908490889088908890600401620028ff565b6020604051808303816000875af115801562000e91573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000eb7919062002857565b505050505050565b60606010805480602002602001604051908101604052809291908181526020016000905b82821015620007ea57838290600052602060002001805462000f0590620028aa565b80601f016020809104026020016040519081016040528092919081815260200182805462000f3390620028aa565b801562000f845780601f1062000f585761010080835404028352916020019162000f84565b820191906000526020600020905b81548152906001019060200180831162000f6657829003601f168201915b50505050508152602001906001019062000ee3565b600062000fad8560ff166000600262001e6c565b60ff16600281111562000fc45762000fc4620027b0565b905060005b60038160ff161015620010ab57601b5473ffffffffffffffffffffffffffffffffffffffff166345583b7a60ff831660028111156200100c576200100c620027b0565b601c546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815262001061929173ffffffffffffffffffffffffffffffffffffffff169060040162002877565b600060405180830381600087803b1580156200107c57600080fd5b505af115801562001091573d6000803e3d6000fd5b505050508080620010a290620029c1565b91505062000fc9565b506040517f491cc7c200000000000000000000000000000000000000000000000000000000815260006004820181905260016024830181905260448301526064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063491cc7c290608401600060405180830381600087803b1580156200112857600080fd5b505af11580156200113d573d6000803e3d6000fd5b5050505083816002811115620011575762001157620027b0565b6040516000907ffad0599ff449d8d9685eadecca8cb9e00924c5fd8367c1c09469824939e1ffec908290a4601b546040517f3142e55e00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690633142e55e90620011e1908590899089908990600401620028ff565b6020604051808303816000875af115801562001201573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001227919062002857565b601b546040517fc49d5271000000000000000000000000000000000000000000000000000000008152919250620012d89173ffffffffffffffffffffffffffffffffffffffff9091169063c49d5271906200128d9086908a908a908a90600401620028ff565b602060405180830381865afa158015620012ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012d1919062002857565b8262001d2a565b601b546040517f26daafbe000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3917f014f6fe5000000000000000000000000000000000000000000000000000000009173ffffffffffffffffffffffffffffffffffffffff16906326daafbe90620013729088908c908c908c90600401620028ff565b602060405180830381865afa15801562001390573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b6919062002963565b604051602401620013c991815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b90921682526200145b916004016200297d565b600060405180830381600087803b1580156200147657600080fd5b505af11580156200148b573d6000803e3d6000fd5b5050601b546040517f3142e55e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169250633142e55e9150620014ed908590899089908990600401620028ff565b6020604051808303816000875af11580156200150d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001533919062002857565b50505050505050565b60008054610100900460ff16156200155d5750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620016a15760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001605917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620029e3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526200163f9162002a2d565b6000604051808303816000865af19150503d80600081146200167e576040519150601f19603f3d011682016040523d82523d6000602084013e62001683565b606091505b50915050808060200190518101906200169d919062002a4b565b9150505b919050565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815260006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200170d57600080fd5b505af115801562001722573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b158015620017ba57600080fd5b505af1158015620017cf573d6000803e3d6000fd5b5050601b546040517f45583b7a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692506345583b7a9150620005599060009060019060040162002877565b601b546040517ff2fde38b0000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff9091169063f2fde38b90602401600060405180830381600087803b1580156200189c57600080fd5b505af1158015620018b1573d6000803e3d6000fd5b50505050620009d5601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620009a7573d6000803e3d6000fd5b6060600c805480602002602001604051908101604052809291908181526020018280548015620005f65760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311620005ca575050505050905090565b601b54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051620009d59273ffffffffffffffffffffffffffffffffffffffff1691638da5cb5b9160048083019260209291908290030181865afa15801562001a09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a2f919062002857565b3062001d2a565b600062001a4a8560ff166000600262001e6c565b60ff16600281111562001a615762001a61620027b0565b905060005b60038160ff16101562001b4857601b5473ffffffffffffffffffffffffffffffffffffffff166345583b7a60ff8316600281111562001aa95762001aa9620027b0565b601c546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815262001afe929173ffffffffffffffffffffffffffffffffffffffff169060040162002877565b600060405180830381600087803b15801562001b1957600080fd5b505af115801562001b2e573d6000803e3d6000fd5b50505050808062001b3f90620029c1565b91505062001a66565b506040517f491cc7c200000000000000000000000000000000000000000000000000000000815260006004820181905260016024830181905260448301526064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063491cc7c290608401600060405180830381600087803b15801562001bc557600080fd5b505af115801562001bda573d6000803e3d6000fd5b505050508381600281111562001bf45762001bf4620027b0565b6040516000907ffad0599ff449d8d9685eadecca8cb9e00924c5fd8367c1c09469824939e1ffec908290a4601b546040517f3142e55e00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690633142e55e9062001c7e908590899089908990600401620028ff565b6020604051808303816000875af115801562001c9e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cc4919062002857565b601b546040517fc49d527100000000000000000000000000000000000000000000000000000000815291925062000eb79173ffffffffffffffffffffffffffffffffffffffff9091169063c49d5271906200128d9086908a908a908a90600401620028ff565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462001e68577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162001de49060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8160405162001e1d919062002a6f565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8260405162001e56919062002ad1565b60405180910390a162001e6862001fc5565b5050565b600062001e7b84848462002148565b905062001ebe6040518060400160405280600c81526020017f426f756e6420526573756c74000000000000000000000000000000000000000081525082620023b2565b9392505050565b80821462001e68577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162001f539060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998160405162001f8c919062002b0f565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162001e56919062002b5b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200211a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052620020979291602001620029e3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052620020d19162002a2d565b6000604051808303816000865af19150503d806000811462002110576040519150601f19603f3d011682016040523d82523d6000602084013e62002115565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b600081831115620021df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e0000606482015260840160405180910390fd5b828410158015620021f05750818411155b15620021fe57508262001ebe565b60006200220c848462002b99565b6200221990600162002bb3565b9050600385111580156200222c57508481115b1562002247576200223e858562002bb3565b91505062001ebe565b6200227460037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62002b99565b8510158015620022ae5750620022ab857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62002b99565b81115b15620022ec57620022e0857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62002b99565b6200223e908462002b99565b828511156200234e57600062002303848762002b99565b9050600062002313838362002bce565b9050806000036200232a5784935050505062001ebe565b600162002338828862002bb3565b62002344919062002b99565b93505050620023aa565b83851015620023aa57600062002365868662002b99565b9050600062002375838362002bce565b9050806000036200238c5785935050505062001ebe565b62002398818662002b99565b620023a590600162002bb3565b935050505b509392505050565b60006a636f6e736f6c652e6c6f6773ffffffffffffffffffffffffffffffffffffffff168383604051602401620023eb92919062002c0a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc00000000000000000000000000000000000000000000000000000000179052516200246e919062002a2d565b600060405180830381855afa9150503d806000811462000eb7576040519150601f19603f3d011682016040523d82523d6000602084013e62000eb7565b610d3d8062002c2f83390190565b6059806200396c83390190565b6020808252825182820181905260009190848201906040850190845b818110156200251657835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101620024e2565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200260d578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b80831015620025f75783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190620025b3565b50978a019795505050918701916001016200254a565b50919998505050505050505050565b60005b83811015620026395781810151838201526020016200261f565b83811115620005895750506000910152565b60008151808452620026658160208601602086016200261c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200270e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452620026fb8583516200264b565b94509285019290850190600101620026be565b5092979650505050505050565b600080600080606085870312156200273257600080fd5b843560ff811681146200274457600080fd5b935060208501359250604085013567ffffffffffffffff808211156200276957600080fd5b818701915087601f8301126200277e57600080fd5b8135818111156200278e57600080fd5b886020828501011115620027a157600080fd5b95989497505060200194505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811062002817577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b602081016200282b8284620027df565b92915050565b73ffffffffffffffffffffffffffffffffffffffff811681146200285457600080fd5b50565b6000602082840312156200286a57600080fd5b815162001ebe8162002831565b60408101620028878285620027df565b73ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600181811c90821680620028bf57607f821691505b602082108103620028f9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6200290b8186620027df565b83602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019392505050565b6000602082840312156200297657600080fd5b5051919050565b60208152600062001ebe60208301846200264b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821660ff8103620029da57620029da62002992565b60010192915050565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825162002a1f8160048501602087016200261c565b919091016004019392505050565b6000825162002a418184602087016200261c565b9190910192915050565b60006020828403121562002a5e57600080fd5b8151801515811462001ebe57600080fd5b60408152600062002aad60408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b60408152600062002aad60408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b60408152600062002b4d60408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600062002b4d60408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b60008282101562002bae5762002bae62002992565b500390565b6000821982111562002bc95762002bc962002992565b500190565b60008262002c05577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b60408152600062002c1f60408301856200264b565b9050826020830152939250505056fe608060405234801561001057600080fd5b50604051610d3d380380610d3d83398101604081905261002f91610171565b61003833610047565b61004181610097565b506101a1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61009f610115565b6001600160a01b0381166101095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61011281610047565b50565b6000546001600160a01b0316331461016f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610100565b565b60006020828403121561018357600080fd5b81516001600160a01b038116811461019a57600080fd5b9392505050565b610b8d806101b06000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b14610194578063c49d5271146101b2578063dfa162d3146101c5578063f2fde38b146101fb57600080fd5b806326daafbe1461008d5780633142e55e1461013f57806345583b7a14610177578063715018a61461018c575b600080fd5b61012c61009b3660046108ee565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0810180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0830180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08086018051988652968352606087529451609f0190941683209190925291905291905290565b6040519081526020015b60405180910390f35b61015261014d3660046109d7565b61020e565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610136565b61018a610185366004610a80565b6104bf565b005b61018a61053f565b60005473ffffffffffffffffffffffffffffffffffffffff16610152565b6101526101c03660046109d7565b610553565b6101526101d3366004610ab7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018a610209366004610ad9565b6105ca565b6000806001600087600281111561022757610227610af6565b600281111561023857610238610af6565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff169050806102a357856040517f44265d6f00000000000000000000000000000000000000000000000000000000815260040161029a9190610b25565b60405180910390fd5b60008585856040516020016102ba93929190610b66565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905061030a73ffffffffffffffffffffffffffffffffffffffff831682610681565b92508273ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561035457600080fd5b505af1158015610368573d6000803e3d6000fd5b5050505060006103af888888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061009b92505050565b60008181526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1615610411576040517f014f6fe50000000000000000000000000000000000000000000000000000000081526004810182905260240161029a565b600081815260026020819052604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87161790558790899081111561047357610473610af6565b60405173ffffffffffffffffffffffffffffffffffffffff8716907ffad0599ff449d8d9685eadecca8cb9e00924c5fd8367c1c09469824939e1ffec90600090a4505050949350505050565b6104c76107b5565b80600160008460028111156104de576104de610af6565b60028111156104ef576104ef610af6565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6105476107b5565b6105516000610836565b565b60006002600061059a878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061009b92505050565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6105d26107b5565b73ffffffffffffffffffffffffffffffffffffffff8116610675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161029a565b61067e81610836565b50565b60006002825101603f8101600a81036040518360581b8260e81b177f6100003d81600a3d39f3363d3d373d3d3d3d610000806035363936013d7300001781528660601b601e8201527f5af43d3d93803e603357fd5bf300000000000000000000000000000000000000603282015285519150603f8101602087015b6020841061073957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090930192602091820191016106fc565b517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602085900360031b1b16815260f085901b9083015282816000f09450846107a6577febfef1880000000000000000000000000000000000000000000000000000000060005260206000fd5b90910160405250909392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161029a565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8035600381106108ba57600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561090357600080fd5b61090c846108ab565b925060208401359150604084013567ffffffffffffffff8082111561093057600080fd5b818601915086601f83011261094457600080fd5b813581811115610956576109566108bf565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561099c5761099c6108bf565b816040528281528960208487010111156109b557600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600080600080606085870312156109ed57600080fd5b6109f6856108ab565b935060208501359250604085013567ffffffffffffffff80821115610a1a57600080fd5b818701915087601f830112610a2e57600080fd5b813581811115610a3d57600080fd5b886020828501011115610a4f57600080fd5b95989497505060200194505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461067e57600080fd5b60008060408385031215610a9357600080fd5b610a9c836108ab565b91506020830135610aac81610a5e565b809150509250929050565b600060208284031215610ac957600080fd5b610ad2826108ab565b9392505050565b600060208284031215610aeb57600080fd5b8135610ad281610a5e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310610b60577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b83815281836020830137600091016020019081529291505056fea164736f6c634300080f000a6080604052348015600f57600080fd5b50603c80601d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b00fea164736f6c634300080f000aa164736f6c634300080f000a",
  "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620001895760003560e01c8063a8cc665711620000dd578063dee1ac0d116200008b578063e210dfb3116200006e578063e210dfb314620002a8578063ea9085c214620002b2578063fa7626d414620002c957600080fd5b8063dee1ac0d1462000294578063e20c9f71146200029e57600080fd5b8063b9bc906711620000c0578063b9bc90671462000258578063ba414fa6146200026f578063c1551c6a146200028a57600080fd5b8063a8cc66571462000237578063b5508aa9146200024e57600080fd5b806366d9a9a0116200013b57806385226c81116200011e57806385226c8114620001fd578063916a17c614620002165780639f3b4350146200022057600080fd5b806366d9a9a014620001da5780637b74a4fd14620001f357600080fd5b80631ed7831c11620001705780631ed7831c14620001a45780633e5e3c2314620001c65780633f7286f414620001d057600080fd5b80630a9254e4146200018e5780630ead8b92146200019a575b600080fd5b62000198620002d7565b005b62000198620003d9565b620001ae6200058f565b604051620001bd9190620024c6565b60405180910390f35b620001ae62000600565b620001ae6200066f565b620001e4620006de565b604051620001bd919062002522565b62000198620007f3565b62000207620009d7565b604051620001bd919062002697565b620001e462000ab1565b62000198620002313660046200271b565b62000bbd565b62000198620002483660046200271b565b62000cce565b6200020762000ebf565b62000198620002693660046200271b565b62000f99565b620002796200153c565b6040519015158152602001620001bd565b62000198620016a6565b620001986200182f565b620001ae62001927565b6200019862001996565b62000198620002c33660046200271b565b62001a36565b600054620002799060ff1681565b30604051620002e690620024ab565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f08015801562000320573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516200037490620024b9565b604051809103906000f08015801562000391573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815260006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200044057600080fd5b505af115801562000455573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b158015620004ed57600080fd5b505af115801562000502573d6000803e3d6000fd5b5050601b546040517ff2fde38b0000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff909116925063f2fde38b91506024015b600060405180830381600087803b1580156200057457600080fd5b505af115801562000589573d6000803e3d6000fd5b50505050565b6060600d805480602002602001604051908101604052809291908181526020018280548015620005f657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311620005ca575b5050505050905090565b6060600f805480602002602001604051908101604052809291908181526020018280548015620005f65760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311620005ca575050505050905090565b6060600e805480602002602001604051908101604052809291908181526020018280548015620005f65760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311620005ca575050505050905090565b60606012805480602002602001604051908101604052809291908181526020016000905b82821015620007ea57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015620007d157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116200077d5790505b5050505050815250508152602001906001019062000702565b50505050905090565b601b546040517fdfa162d30000000000000000000000000000000000000000000000000000000081526200089b9173ffffffffffffffffffffffffffffffffffffffff169063dfa162d3906200084f906000906004016200281b565b602060405180830381865afa1580156200086d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000893919062002857565b600062001d2a565b601b546040517f45583b7a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906345583b7a90620008f79060009060019060040162002877565b600060405180830381600087803b1580156200091257600080fd5b505af115801562000927573d6000803e3d6000fd5b5050601b546040517fdfa162d3000000000000000000000000000000000000000000000000000000008152620009d5935073ffffffffffffffffffffffffffffffffffffffff909116915063dfa162d39062000989906000906004016200281b565b602060405180830381865afa158015620009a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009cd919062002857565b600162001d2a565b565b60606011805480602002602001604051908101604052809291908181526020016000905b82821015620007ea57838290600052602060002001805462000a1d90620028aa565b80601f016020809104026020016040519081016040528092919081815260200182805462000a4b90620028aa565b801562000a9c5780601f1062000a705761010080835404028352916020019162000a9c565b820191906000526020600020905b81548152906001019060200180831162000a7e57829003601f168201915b505050505081526020019060010190620009fb565b60606013805480602002602001604051908101604052809291908181526020016000905b82821015620007ea57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801562000ba457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162000b505790505b5050505050815250508152602001906001019062000ad5565b600062000bd18560ff166000600262001e6c565b60ff16600281111562000be85762000be8620027b0565b601b546040517f26daafbe00000000000000000000000000000000000000000000000000000000815291925062000cc79173ffffffffffffffffffffffffffffffffffffffff909116906326daafbe9062000c4e908590899089908990600401620028ff565b602060405180830381865afa15801562000c6c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c92919062002963565b8286868660405160200162000cab9493929190620028ff565b6040516020818303038152906040528051906020012062001ec5565b5050505050565b600062000ce28560ff166000600262001e6c565b60ff16600281111562000cf95762000cf9620027b0565b604051909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb3907f44265d6f000000000000000000000000000000000000000000000000000000009062000d4d9085906024016200281b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b909216825262000ddf916004016200297d565b600060405180830381600087803b15801562000dfa57600080fd5b505af115801562000e0f573d6000803e3d6000fd5b5050601b546040517f3142e55e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169250633142e55e915062000e71908490889088908890600401620028ff565b6020604051808303816000875af115801562000e91573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000eb7919062002857565b505050505050565b60606010805480602002602001604051908101604052809291908181526020016000905b82821015620007ea57838290600052602060002001805462000f0590620028aa565b80601f016020809104026020016040519081016040528092919081815260200182805462000f3390620028aa565b801562000f845780601f1062000f585761010080835404028352916020019162000f84565b820191906000526020600020905b81548152906001019060200180831162000f6657829003601f168201915b50505050508152602001906001019062000ee3565b600062000fad8560ff166000600262001e6c565b60ff16600281111562000fc45762000fc4620027b0565b905060005b60038160ff161015620010ab57601b5473ffffffffffffffffffffffffffffffffffffffff166345583b7a60ff831660028111156200100c576200100c620027b0565b601c546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815262001061929173ffffffffffffffffffffffffffffffffffffffff169060040162002877565b600060405180830381600087803b1580156200107c57600080fd5b505af115801562001091573d6000803e3d6000fd5b505050508080620010a290620029c1565b91505062000fc9565b506040517f491cc7c200000000000000000000000000000000000000000000000000000000815260006004820181905260016024830181905260448301526064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063491cc7c290608401600060405180830381600087803b1580156200112857600080fd5b505af11580156200113d573d6000803e3d6000fd5b5050505083816002811115620011575762001157620027b0565b6040516000907ffad0599ff449d8d9685eadecca8cb9e00924c5fd8367c1c09469824939e1ffec908290a4601b546040517f3142e55e00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690633142e55e90620011e1908590899089908990600401620028ff565b6020604051808303816000875af115801562001201573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001227919062002857565b601b546040517fc49d5271000000000000000000000000000000000000000000000000000000008152919250620012d89173ffffffffffffffffffffffffffffffffffffffff9091169063c49d5271906200128d9086908a908a908a90600401620028ff565b602060405180830381865afa158015620012ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012d1919062002857565b8262001d2a565b601b546040517f26daafbe000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3917f014f6fe5000000000000000000000000000000000000000000000000000000009173ffffffffffffffffffffffffffffffffffffffff16906326daafbe90620013729088908c908c908c90600401620028ff565b602060405180830381865afa15801562001390573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b6919062002963565b604051602401620013c991815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b90921682526200145b916004016200297d565b600060405180830381600087803b1580156200147657600080fd5b505af11580156200148b573d6000803e3d6000fd5b5050601b546040517f3142e55e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169250633142e55e9150620014ed908590899089908990600401620028ff565b6020604051808303816000875af11580156200150d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001533919062002857565b50505050505050565b60008054610100900460ff16156200155d5750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620016a15760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001605917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620029e3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526200163f9162002a2d565b6000604051808303816000865af19150503d80600081146200167e576040519150601f19603f3d011682016040523d82523d6000602084013e62001683565b606091505b50915050808060200190518101906200169d919062002a4b565b9150505b919050565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815260006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200170d57600080fd5b505af115801562001722573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b158015620017ba57600080fd5b505af1158015620017cf573d6000803e3d6000fd5b5050601b546040517f45583b7a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692506345583b7a9150620005599060009060019060040162002877565b601b546040517ff2fde38b0000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff9091169063f2fde38b90602401600060405180830381600087803b1580156200189c57600080fd5b505af1158015620018b1573d6000803e3d6000fd5b50505050620009d5601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620009a7573d6000803e3d6000fd5b6060600c805480602002602001604051908101604052809291908181526020018280548015620005f65760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311620005ca575050505050905090565b601b54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051620009d59273ffffffffffffffffffffffffffffffffffffffff1691638da5cb5b9160048083019260209291908290030181865afa15801562001a09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a2f919062002857565b3062001d2a565b600062001a4a8560ff166000600262001e6c565b60ff16600281111562001a615762001a61620027b0565b905060005b60038160ff16101562001b4857601b5473ffffffffffffffffffffffffffffffffffffffff166345583b7a60ff8316600281111562001aa95762001aa9620027b0565b601c546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815262001afe929173ffffffffffffffffffffffffffffffffffffffff169060040162002877565b600060405180830381600087803b15801562001b1957600080fd5b505af115801562001b2e573d6000803e3d6000fd5b50505050808062001b3f90620029c1565b91505062001a66565b506040517f491cc7c200000000000000000000000000000000000000000000000000000000815260006004820181905260016024830181905260448301526064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063491cc7c290608401600060405180830381600087803b15801562001bc557600080fd5b505af115801562001bda573d6000803e3d6000fd5b505050508381600281111562001bf45762001bf4620027b0565b6040516000907ffad0599ff449d8d9685eadecca8cb9e00924c5fd8367c1c09469824939e1ffec908290a4601b546040517f3142e55e00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690633142e55e9062001c7e908590899089908990600401620028ff565b6020604051808303816000875af115801562001c9e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cc4919062002857565b601b546040517fc49d527100000000000000000000000000000000000000000000000000000000815291925062000eb79173ffffffffffffffffffffffffffffffffffffffff9091169063c49d5271906200128d9086908a908a908a90600401620028ff565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462001e68577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162001de49060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8160405162001e1d919062002a6f565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8260405162001e56919062002ad1565b60405180910390a162001e6862001fc5565b5050565b600062001e7b84848462002148565b905062001ebe6040518060400160405280600c81526020017f426f756e6420526573756c74000000000000000000000000000000000000000081525082620023b2565b9392505050565b80821462001e68577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162001f539060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998160405162001f8c919062002b0f565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162001e56919062002b5b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200211a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052620020979291602001620029e3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052620020d19162002a2d565b6000604051808303816000865af19150503d806000811462002110576040519150601f19603f3d011682016040523d82523d6000602084013e62002115565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b600081831115620021df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e0000606482015260840160405180910390fd5b828410158015620021f05750818411155b15620021fe57508262001ebe565b60006200220c848462002b99565b6200221990600162002bb3565b9050600385111580156200222c57508481115b1562002247576200223e858562002bb3565b91505062001ebe565b6200227460037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62002b99565b8510158015620022ae5750620022ab857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62002b99565b81115b15620022ec57620022e0857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62002b99565b6200223e908462002b99565b828511156200234e57600062002303848762002b99565b9050600062002313838362002bce565b9050806000036200232a5784935050505062001ebe565b600162002338828862002bb3565b62002344919062002b99565b93505050620023aa565b83851015620023aa57600062002365868662002b99565b9050600062002375838362002bce565b9050806000036200238c5785935050505062001ebe565b62002398818662002b99565b620023a590600162002bb3565b935050505b509392505050565b60006a636f6e736f6c652e6c6f6773ffffffffffffffffffffffffffffffffffffffff168383604051602401620023eb92919062002c0a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc00000000000000000000000000000000000000000000000000000000179052516200246e919062002a2d565b600060405180830381855afa9150503d806000811462000eb7576040519150601f19603f3d011682016040523d82523d6000602084013e62000eb7565b610d3d8062002c2f83390190565b6059806200396c83390190565b6020808252825182820181905260009190848201906040850190845b818110156200251657835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101620024e2565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200260d578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b80831015620025f75783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190620025b3565b50978a019795505050918701916001016200254a565b50919998505050505050505050565b60005b83811015620026395781810151838201526020016200261f565b83811115620005895750506000910152565b60008151808452620026658160208601602086016200261c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200270e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452620026fb8583516200264b565b94509285019290850190600101620026be565b5092979650505050505050565b600080600080606085870312156200273257600080fd5b843560ff811681146200274457600080fd5b935060208501359250604085013567ffffffffffffffff808211156200276957600080fd5b818701915087601f8301126200277e57600080fd5b8135818111156200278e57600080fd5b886020828501011115620027a157600080fd5b95989497505060200194505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811062002817577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b602081016200282b8284620027df565b92915050565b73ffffffffffffffffffffffffffffffffffffffff811681146200285457600080fd5b50565b6000602082840312156200286a57600080fd5b815162001ebe8162002831565b60408101620028878285620027df565b73ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b600181811c90821680620028bf57607f821691505b602082108103620028f9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6200290b8186620027df565b83602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019392505050565b6000602082840312156200297657600080fd5b5051919050565b60208152600062001ebe60208301846200264b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821660ff8103620029da57620029da62002992565b60010192915050565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825162002a1f8160048501602087016200261c565b919091016004019392505050565b6000825162002a418184602087016200261c565b9190910192915050565b60006020828403121562002a5e57600080fd5b8151801515811462001ebe57600080fd5b60408152600062002aad60408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b60408152600062002aad60408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b60408152600062002b4d60408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600062002b4d60408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b60008282101562002bae5762002bae62002992565b500390565b6000821982111562002bc95762002bc962002992565b500190565b60008262002c05577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b60408152600062002c1f60408301856200264b565b9050826020830152939250505056fe608060405234801561001057600080fd5b50604051610d3d380380610d3d83398101604081905261002f91610171565b61003833610047565b61004181610097565b506101a1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61009f610115565b6001600160a01b0381166101095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61011281610047565b50565b6000546001600160a01b0316331461016f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610100565b565b60006020828403121561018357600080fd5b81516001600160a01b038116811461019a57600080fd5b9392505050565b610b8d806101b06000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b14610194578063c49d5271146101b2578063dfa162d3146101c5578063f2fde38b146101fb57600080fd5b806326daafbe1461008d5780633142e55e1461013f57806345583b7a14610177578063715018a61461018c575b600080fd5b61012c61009b3660046108ee565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0810180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0830180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08086018051988652968352606087529451609f0190941683209190925291905291905290565b6040519081526020015b60405180910390f35b61015261014d3660046109d7565b61020e565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610136565b61018a610185366004610a80565b6104bf565b005b61018a61053f565b60005473ffffffffffffffffffffffffffffffffffffffff16610152565b6101526101c03660046109d7565b610553565b6101526101d3366004610ab7565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61018a610209366004610ad9565b6105ca565b6000806001600087600281111561022757610227610af6565b600281111561023857610238610af6565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff169050806102a357856040517f44265d6f00000000000000000000000000000000000000000000000000000000815260040161029a9190610b25565b60405180910390fd5b60008585856040516020016102ba93929190610b66565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905061030a73ffffffffffffffffffffffffffffffffffffffff831682610681565b92508273ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561035457600080fd5b505af1158015610368573d6000803e3d6000fd5b5050505060006103af888888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061009b92505050565b60008181526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1615610411576040517f014f6fe50000000000000000000000000000000000000000000000000000000081526004810182905260240161029a565b600081815260026020819052604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87161790558790899081111561047357610473610af6565b60405173ffffffffffffffffffffffffffffffffffffffff8716907ffad0599ff449d8d9685eadecca8cb9e00924c5fd8367c1c09469824939e1ffec90600090a4505050949350505050565b6104c76107b5565b80600160008460028111156104de576104de610af6565b60028111156104ef576104ef610af6565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6105476107b5565b6105516000610836565b565b60006002600061059a878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061009b92505050565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff1695945050505050565b6105d26107b5565b73ffffffffffffffffffffffffffffffffffffffff8116610675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161029a565b61067e81610836565b50565b60006002825101603f8101600a81036040518360581b8260e81b177f6100003d81600a3d39f3363d3d373d3d3d3d610000806035363936013d7300001781528660601b601e8201527f5af43d3d93803e603357fd5bf300000000000000000000000000000000000000603282015285519150603f8101602087015b6020841061073957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090930192602091820191016106fc565b517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602085900360031b1b16815260f085901b9083015282816000f09450846107a6577febfef1880000000000000000000000000000000000000000000000000000000060005260206000fd5b90910160405250909392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161029a565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8035600381106108ba57600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561090357600080fd5b61090c846108ab565b925060208401359150604084013567ffffffffffffffff8082111561093057600080fd5b818601915086601f83011261094457600080fd5b813581811115610956576109566108bf565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561099c5761099c6108bf565b816040528281528960208487010111156109b557600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600080600080606085870312156109ed57600080fd5b6109f6856108ab565b935060208501359250604085013567ffffffffffffffff80821115610a1a57600080fd5b818701915087601f830112610a2e57600080fd5b813581811115610a3d57600080fd5b886020828501011115610a4f57600080fd5b95989497505060200194505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461067e57600080fd5b60008060408385031215610a9357600080fd5b610a9c836108ab565b91506020830135610aac81610a5e565b809150509250929050565b600060208284031215610ac957600080fd5b610ad2826108ab565b9392505050565b600060208284031215610aeb57600080fd5b8135610ad281610a5e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310610b60577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b83815281836020830137600091016020019081529291505056fea164736f6c634300080f000a6080604052348015600f57600080fd5b50603c80601d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b00fea164736f6c634300080f000aa164736f6c634300080f000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
