{
  "_format": "hh-sol-artifact-1",
  "contractName": "TimelockControllerUpgradeable",
  "sourceName": "contracts/governance/TimelockControllerUpgradeable.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "CallExecuted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        }
      ],
      "name": "CallSalt",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "delay",
          "type": "uint256"
        }
      ],
      "name": "CallScheduled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "Cancelled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldDuration",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newDuration",
          "type": "uint256"
        }
      ],
      "name": "MinDelayChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "previousAdminRole",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "newAdminRole",
          "type": "bytes32"
        }
      ],
      "name": "RoleAdminChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "RoleGranted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "RoleRevoked",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "CANCELLER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DEFAULT_ADMIN_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "EXECUTOR_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PROPOSER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "TIMELOCK_ADMIN_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "cancel",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "payload",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        }
      ],
      "name": "execute",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "targets",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes[]",
          "name": "payloads",
          "type": "bytes[]"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        }
      ],
      "name": "executeBatch",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getMinDelay",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        }
      ],
      "name": "getRoleAdmin",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "getTimestamp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "grantRole",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "hasRole",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        }
      ],
      "name": "hashOperation",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "targets",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes[]",
          "name": "payloads",
          "type": "bytes[]"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        }
      ],
      "name": "hashOperationBatch",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "isOperation",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "isOperationDone",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "isOperationPending",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "isOperationReady",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256[]",
          "name": "",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "onERC1155BatchReceived",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "onERC1155Received",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "onERC721Received",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "renounceRole",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "revokeRole",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "delay",
          "type": "uint256"
        }
      ],
      "name": "schedule",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "targets",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes[]",
          "name": "payloads",
          "type": "bytes[]"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "delay",
          "type": "uint256"
        }
      ],
      "name": "scheduleBatch",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "newDelay",
          "type": "uint256"
        }
      ],
      "name": "updateDelay",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50611e4c806100206000396000f3fe6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610581578063e38335e5146105a1578063f23a6e61146105b4578063f27a0c92146105e057600080fd5b8063bc197c8114610508578063c4d252f514610534578063d45c44351461055457600080fd5b806391d14854116100c657806391d148541461047f578063a217fddf1461049f578063b08e51c0146104b4578063b1c5f427146104e857600080fd5b80638065657f1461040b5780638f2a0bb01461042b5780638f61f4f51461044b57600080fd5b8063248a9ca31161015957806331d507501161013357806331d507501461038b57806336568abe146103ab578063584b153e146103cb57806364d62353146103eb57600080fd5b8063248a9ca31461030b5780632ab0f5291461033b5780632f2ff15d1461036b57600080fd5b80630d3cf6fc116101955780630d3cf6fc14610260578063134008d31461029457806313bc9f20146102a7578063150b7a02146102c757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e2366004611447565b6105f5565b005b3480156101f557600080fd5b506102096102043660046114bb565b6106cb565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b34801561026c57600080fd5b506102527f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e76102a23660046114e5565b6106f6565b3480156102b357600080fd5b506102096102c2366004611550565b6107ab565b3480156102d357600080fd5b506102f26102e236600461161e565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b34801561031757600080fd5b50610252610326366004611550565b60009081526065602052604090206001015490565b34801561034757600080fd5b50610209610356366004611550565b60009081526097602052604090205460011490565b34801561037757600080fd5b506101e7610386366004611685565b6107d1565b34801561039757600080fd5b506102096103a6366004611550565b6107fb565b3480156103b757600080fd5b506101e76103c6366004611685565b610814565b3480156103d757600080fd5b506102096103e6366004611550565b610897565b3480156103f757600080fd5b506101e7610406366004611550565b6108ae565b34801561041757600080fd5b506102526104263660046114e5565b610952565b34801561043757600080fd5b506101e76104463660046116f5565b610991565b34801561045757600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561048b57600080fd5b5061020961049a366004611685565b610b24565b3480156104ab57600080fd5b50610252600081565b3480156104c057600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104f457600080fd5b506102526105033660046117a6565b610b4f565b34801561051457600080fd5b506102f26105233660046118cd565b63bc197c8160e01b95945050505050565b34801561054057600080fd5b506101e761054f366004611550565b610b94565b34801561056057600080fd5b5061025261056f366004611550565b60009081526097602052604090205490565b34801561058d57600080fd5b506101e761059c366004611685565b610c69565b6101e76105af3660046117a6565b610c8e565b3480156105c057600080fd5b506102f26105cf366004611976565b63f23a6e6160e01b95945050505050565b3480156105ec57600080fd5b50609854610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161061f81610e18565b600061062f898989898989610952565b905061063b8184610e25565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161067796959493929190611a03565b60405180910390a383156106c057807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387856040516106b791815260200190565b60405180910390a25b505050505050505050565b60006001600160e01b03198216630271189760e51b14806106f057506106f082610f14565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610722816000610b24565b610730576107308133610f49565b6000610740888888888888610952565b905061074c8185610fa2565b6107588888888861103d565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a6040516107909493929190611a40565b60405180910390a36107a181611110565b5050505050505050565b6000818152609760205260408120546001811180156107ca5750428111155b9392505050565b6000828152606560205260409020600101546107ec81610e18565b6107f68383611149565b505050565b60008181526097602052604081205481905b1192915050565b6001600160a01b03811633146108895760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61089382826111cf565b5050565b60008181526097602052604081205460019061080d565b3330146109115760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610880565b60985460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1609855565b600086868686868660405160200161096f96959493929190611a03565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16109bb81610e18565b8887146109da5760405162461bcd60e51b815260040161088090611a72565b8885146109f95760405162461bcd60e51b815260040161088090611a72565b6000610a0b8b8b8b8b8b8b8b8b610b4f565b9050610a178184610e25565b60005b8a811015610ad55780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a5757610a57611ab5565b9050602002016020810190610a6c9190611acb565b8d8d86818110610a7e57610a7e611ab5565b905060200201358c8c87818110610a9757610a97611ab5565b9050602002810190610aa99190611ae6565b8c8b604051610abd96959493929190611a03565b60405180910390a3610ace81611b42565b9050610a1a565b508315610b1757807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610b0e91815260200190565b60405180910390a25b5050505050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610b70989796959493929190611beb565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610bbe81610e18565b610bc782610897565b610c2d5760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610880565b6000828152609760205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260656020526040902060010154610c8481610e18565b6107f683836111cf565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610cba816000610b24565b610cc857610cc88133610f49565b878614610ce75760405162461bcd60e51b815260040161088090611a72565b878414610d065760405162461bcd60e51b815260040161088090611a72565b6000610d188a8a8a8a8a8a8a8a610b4f565b9050610d248185610fa2565b60005b89811015610e025760008b8b83818110610d4357610d43611ab5565b9050602002016020810190610d589190611acb565b905060008a8a84818110610d6e57610d6e611ab5565b9050602002013590503660008a8a86818110610d8c57610d8c611ab5565b9050602002810190610d9e9190611ae6565b91509150610dae8484848461103d565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610de59493929190611a40565b60405180910390a35050505080610dfb90611b42565b9050610d27565b50610e0c81611110565b50505050505050505050565b610e228133610f49565b50565b610e2e826107fb565b15610e935760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610880565b609854811015610ef45760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610880565b610efe8142611c96565b6000928352609760205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b14806106f057506301ffc9a760e01b6001600160e01b03198316146106f0565b610f538282610b24565b61089357610f6081611236565b610f6b836020611248565b604051602001610f7c929190611cde565b60408051601f198184030181529082905262461bcd60e51b825261088091600401611d53565b610fab826107ab565b610fc75760405162461bcd60e51b815260040161088090611d86565b801580610fe257506000818152609760205260409020546001145b6108935760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610880565b6000846001600160a01b031684848460405161105a929190611dd0565b60006040518083038185875af1925050503d8060008114611097576040519150601f19603f3d011682016040523d82523d6000602084013e61109c565b606091505b50509050806111095760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610880565b5050505050565b611119816107ab565b6111355760405162461bcd60e51b815260040161088090611d86565b600090815260976020526040902060019055565b6111538282610b24565b6108935760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561118b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111d98282610b24565b156108935760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106f06001600160a01b03831660145b60606000611257836002611de0565b611262906002611c96565b6001600160401b0381111561127957611279611569565b6040519080825280601f01601f1916602001820160405280156112a3576020820181803683370190505b509050600360fc1b816000815181106112be576112be611ab5565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106112ed576112ed611ab5565b60200101906001600160f81b031916908160001a9053506000611311846002611de0565b61131c906001611c96565b90505b6001811115611394576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061135057611350611ab5565b1a60f81b82828151811061136657611366611ab5565b60200101906001600160f81b031916908160001a90535060049490941c9361138d81611dff565b905061131f565b5083156107ca5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610880565b80356001600160a01b03811681146113fa57600080fd5b919050565b60008083601f84011261141157600080fd5b5081356001600160401b0381111561142857600080fd5b60208301915083602082850101111561144057600080fd5b9250929050565b600080600080600080600060c0888a03121561146257600080fd5b61146b886113e3565b96506020880135955060408801356001600160401b0381111561148d57600080fd5b6114998a828b016113ff565b989b979a50986060810135976080820135975060a09091013595509350505050565b6000602082840312156114cd57600080fd5b81356001600160e01b0319811681146107ca57600080fd5b60008060008060008060a087890312156114fe57600080fd5b611507876113e3565b95506020870135945060408701356001600160401b0381111561152957600080fd5b61153589828a016113ff565b979a9699509760608101359660809091013595509350505050565b60006020828403121561156257600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156115a7576115a7611569565b604052919050565b600082601f8301126115c057600080fd5b81356001600160401b038111156115d9576115d9611569565b6115ec601f8201601f191660200161157f565b81815284602083860101111561160157600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561163457600080fd5b61163d856113e3565b935061164b602086016113e3565b92506040850135915060608501356001600160401b0381111561166d57600080fd5b611679878288016115af565b91505092959194509250565b6000806040838503121561169857600080fd5b823591506116a8602084016113e3565b90509250929050565b60008083601f8401126116c357600080fd5b5081356001600160401b038111156116da57600080fd5b6020830191508360208260051b850101111561144057600080fd5b600080600080600080600080600060c08a8c03121561171357600080fd5b89356001600160401b038082111561172a57600080fd5b6117368d838e016116b1565b909b50995060208c013591508082111561174f57600080fd5b61175b8d838e016116b1565b909950975060408c013591508082111561177457600080fd5b506117818c828d016116b1565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b0312156117c257600080fd5b88356001600160401b03808211156117d957600080fd5b6117e58c838d016116b1565b909a50985060208b01359150808211156117fe57600080fd5b61180a8c838d016116b1565b909850965060408b013591508082111561182357600080fd5b506118308b828c016116b1565b999c989b509699959896976060870135966080013595509350505050565b600082601f83011261185f57600080fd5b813560206001600160401b0382111561187a5761187a611569565b8160051b61188982820161157f565b92835284810182019282810190878511156118a357600080fd5b83870192505b848310156118c2578235825291830191908301906118a9565b979650505050505050565b600080600080600060a086880312156118e557600080fd5b6118ee866113e3565b94506118fc602087016113e3565b935060408601356001600160401b038082111561191857600080fd5b61192489838a0161184e565b9450606088013591508082111561193a57600080fd5b61194689838a0161184e565b9350608088013591508082111561195c57600080fd5b50611969888289016115af565b9150509295509295909350565b600080600080600060a0868803121561198e57600080fd5b611997866113e3565b94506119a5602087016113e3565b9350604086013592506060860135915060808601356001600160401b038111156119ce57600080fd5b611969888289016115af565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a060408201526000611a2b60a0830186886119da565b60608301949094525060800152949350505050565b60018060a01b0385168152836020820152606060408201526000611a686060830184866119da565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611add57600080fd5b6107ca826113e3565b6000808335601e19843603018112611afd57600080fd5b8301803591506001600160401b03821115611b1757600080fd5b60200191503681900382131561144057600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b5457611b54611b2c565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611bde5782840389528135601e19883603018112611b9657600080fd5b870180356001600160401b03811115611bae57600080fd5b803603891315611bbd57600080fd5b611bca86828985016119da565b9a87019a9550505090840190600101611b75565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611c2c576001600160a01b03611c17846113e3565b16825260209283019290910190600101611bfe565b5083810360208501528881526001600160fb1b03891115611c4c57600080fd5b8860051b9150818a602083013781810191505060208101600081526020848303016040850152611c7d81888a611b5b565b6060850196909652505050608001529695505050505050565b60008219821115611ca957611ca9611b2c565b500190565b60005b83811015611cc9578181015183820152602001611cb1565b83811115611cd8576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611d16816017850160208801611cae565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611d47816028840160208801611cae565b01602801949350505050565b6020815260008251806020840152611d72816040850160208701611cae565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b8183823760009101908152919050565b6000816000190483118215151615611dfa57611dfa611b2c565b500290565b600081611e0e57611e0e611b2c565b50600019019056fea2646970667358221220f2c34deb657e846ca2a170bc5db824db6351e77cbf18657e821e8e15f132a56964736f6c634300080d0033",
  "deployedBytecode": "0x6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610581578063e38335e5146105a1578063f23a6e61146105b4578063f27a0c92146105e057600080fd5b8063bc197c8114610508578063c4d252f514610534578063d45c44351461055457600080fd5b806391d14854116100c657806391d148541461047f578063a217fddf1461049f578063b08e51c0146104b4578063b1c5f427146104e857600080fd5b80638065657f1461040b5780638f2a0bb01461042b5780638f61f4f51461044b57600080fd5b8063248a9ca31161015957806331d507501161013357806331d507501461038b57806336568abe146103ab578063584b153e146103cb57806364d62353146103eb57600080fd5b8063248a9ca31461030b5780632ab0f5291461033b5780632f2ff15d1461036b57600080fd5b80630d3cf6fc116101955780630d3cf6fc14610260578063134008d31461029457806313bc9f20146102a7578063150b7a02146102c757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e2366004611447565b6105f5565b005b3480156101f557600080fd5b506102096102043660046114bb565b6106cb565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b34801561026c57600080fd5b506102527f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e76102a23660046114e5565b6106f6565b3480156102b357600080fd5b506102096102c2366004611550565b6107ab565b3480156102d357600080fd5b506102f26102e236600461161e565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b34801561031757600080fd5b50610252610326366004611550565b60009081526065602052604090206001015490565b34801561034757600080fd5b50610209610356366004611550565b60009081526097602052604090205460011490565b34801561037757600080fd5b506101e7610386366004611685565b6107d1565b34801561039757600080fd5b506102096103a6366004611550565b6107fb565b3480156103b757600080fd5b506101e76103c6366004611685565b610814565b3480156103d757600080fd5b506102096103e6366004611550565b610897565b3480156103f757600080fd5b506101e7610406366004611550565b6108ae565b34801561041757600080fd5b506102526104263660046114e5565b610952565b34801561043757600080fd5b506101e76104463660046116f5565b610991565b34801561045757600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561048b57600080fd5b5061020961049a366004611685565b610b24565b3480156104ab57600080fd5b50610252600081565b3480156104c057600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104f457600080fd5b506102526105033660046117a6565b610b4f565b34801561051457600080fd5b506102f26105233660046118cd565b63bc197c8160e01b95945050505050565b34801561054057600080fd5b506101e761054f366004611550565b610b94565b34801561056057600080fd5b5061025261056f366004611550565b60009081526097602052604090205490565b34801561058d57600080fd5b506101e761059c366004611685565b610c69565b6101e76105af3660046117a6565b610c8e565b3480156105c057600080fd5b506102f26105cf366004611976565b63f23a6e6160e01b95945050505050565b3480156105ec57600080fd5b50609854610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161061f81610e18565b600061062f898989898989610952565b905061063b8184610e25565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161067796959493929190611a03565b60405180910390a383156106c057807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387856040516106b791815260200190565b60405180910390a25b505050505050505050565b60006001600160e01b03198216630271189760e51b14806106f057506106f082610f14565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610722816000610b24565b610730576107308133610f49565b6000610740888888888888610952565b905061074c8185610fa2565b6107588888888861103d565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a6040516107909493929190611a40565b60405180910390a36107a181611110565b5050505050505050565b6000818152609760205260408120546001811180156107ca5750428111155b9392505050565b6000828152606560205260409020600101546107ec81610e18565b6107f68383611149565b505050565b60008181526097602052604081205481905b1192915050565b6001600160a01b03811633146108895760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61089382826111cf565b5050565b60008181526097602052604081205460019061080d565b3330146109115760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610880565b60985460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1609855565b600086868686868660405160200161096f96959493929190611a03565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16109bb81610e18565b8887146109da5760405162461bcd60e51b815260040161088090611a72565b8885146109f95760405162461bcd60e51b815260040161088090611a72565b6000610a0b8b8b8b8b8b8b8b8b610b4f565b9050610a178184610e25565b60005b8a811015610ad55780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a5757610a57611ab5565b9050602002016020810190610a6c9190611acb565b8d8d86818110610a7e57610a7e611ab5565b905060200201358c8c87818110610a9757610a97611ab5565b9050602002810190610aa99190611ae6565b8c8b604051610abd96959493929190611a03565b60405180910390a3610ace81611b42565b9050610a1a565b508315610b1757807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610b0e91815260200190565b60405180910390a25b5050505050505050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610b70989796959493929190611beb565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610bbe81610e18565b610bc782610897565b610c2d5760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610880565b6000828152609760205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260656020526040902060010154610c8481610e18565b6107f683836111cf565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610cba816000610b24565b610cc857610cc88133610f49565b878614610ce75760405162461bcd60e51b815260040161088090611a72565b878414610d065760405162461bcd60e51b815260040161088090611a72565b6000610d188a8a8a8a8a8a8a8a610b4f565b9050610d248185610fa2565b60005b89811015610e025760008b8b83818110610d4357610d43611ab5565b9050602002016020810190610d589190611acb565b905060008a8a84818110610d6e57610d6e611ab5565b9050602002013590503660008a8a86818110610d8c57610d8c611ab5565b9050602002810190610d9e9190611ae6565b91509150610dae8484848461103d565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610de59493929190611a40565b60405180910390a35050505080610dfb90611b42565b9050610d27565b50610e0c81611110565b50505050505050505050565b610e228133610f49565b50565b610e2e826107fb565b15610e935760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610880565b609854811015610ef45760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610880565b610efe8142611c96565b6000928352609760205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b14806106f057506301ffc9a760e01b6001600160e01b03198316146106f0565b610f538282610b24565b61089357610f6081611236565b610f6b836020611248565b604051602001610f7c929190611cde565b60408051601f198184030181529082905262461bcd60e51b825261088091600401611d53565b610fab826107ab565b610fc75760405162461bcd60e51b815260040161088090611d86565b801580610fe257506000818152609760205260409020546001145b6108935760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610880565b6000846001600160a01b031684848460405161105a929190611dd0565b60006040518083038185875af1925050503d8060008114611097576040519150601f19603f3d011682016040523d82523d6000602084013e61109c565b606091505b50509050806111095760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610880565b5050505050565b611119816107ab565b6111355760405162461bcd60e51b815260040161088090611d86565b600090815260976020526040902060019055565b6111538282610b24565b6108935760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561118b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111d98282610b24565b156108935760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106f06001600160a01b03831660145b60606000611257836002611de0565b611262906002611c96565b6001600160401b0381111561127957611279611569565b6040519080825280601f01601f1916602001820160405280156112a3576020820181803683370190505b509050600360fc1b816000815181106112be576112be611ab5565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106112ed576112ed611ab5565b60200101906001600160f81b031916908160001a9053506000611311846002611de0565b61131c906001611c96565b90505b6001811115611394576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061135057611350611ab5565b1a60f81b82828151811061136657611366611ab5565b60200101906001600160f81b031916908160001a90535060049490941c9361138d81611dff565b905061131f565b5083156107ca5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610880565b80356001600160a01b03811681146113fa57600080fd5b919050565b60008083601f84011261141157600080fd5b5081356001600160401b0381111561142857600080fd5b60208301915083602082850101111561144057600080fd5b9250929050565b600080600080600080600060c0888a03121561146257600080fd5b61146b886113e3565b96506020880135955060408801356001600160401b0381111561148d57600080fd5b6114998a828b016113ff565b989b979a50986060810135976080820135975060a09091013595509350505050565b6000602082840312156114cd57600080fd5b81356001600160e01b0319811681146107ca57600080fd5b60008060008060008060a087890312156114fe57600080fd5b611507876113e3565b95506020870135945060408701356001600160401b0381111561152957600080fd5b61153589828a016113ff565b979a9699509760608101359660809091013595509350505050565b60006020828403121561156257600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156115a7576115a7611569565b604052919050565b600082601f8301126115c057600080fd5b81356001600160401b038111156115d9576115d9611569565b6115ec601f8201601f191660200161157f565b81815284602083860101111561160157600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561163457600080fd5b61163d856113e3565b935061164b602086016113e3565b92506040850135915060608501356001600160401b0381111561166d57600080fd5b611679878288016115af565b91505092959194509250565b6000806040838503121561169857600080fd5b823591506116a8602084016113e3565b90509250929050565b60008083601f8401126116c357600080fd5b5081356001600160401b038111156116da57600080fd5b6020830191508360208260051b850101111561144057600080fd5b600080600080600080600080600060c08a8c03121561171357600080fd5b89356001600160401b038082111561172a57600080fd5b6117368d838e016116b1565b909b50995060208c013591508082111561174f57600080fd5b61175b8d838e016116b1565b909950975060408c013591508082111561177457600080fd5b506117818c828d016116b1565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b0312156117c257600080fd5b88356001600160401b03808211156117d957600080fd5b6117e58c838d016116b1565b909a50985060208b01359150808211156117fe57600080fd5b61180a8c838d016116b1565b909850965060408b013591508082111561182357600080fd5b506118308b828c016116b1565b999c989b509699959896976060870135966080013595509350505050565b600082601f83011261185f57600080fd5b813560206001600160401b0382111561187a5761187a611569565b8160051b61188982820161157f565b92835284810182019282810190878511156118a357600080fd5b83870192505b848310156118c2578235825291830191908301906118a9565b979650505050505050565b600080600080600060a086880312156118e557600080fd5b6118ee866113e3565b94506118fc602087016113e3565b935060408601356001600160401b038082111561191857600080fd5b61192489838a0161184e565b9450606088013591508082111561193a57600080fd5b61194689838a0161184e565b9350608088013591508082111561195c57600080fd5b50611969888289016115af565b9150509295509295909350565b600080600080600060a0868803121561198e57600080fd5b611997866113e3565b94506119a5602087016113e3565b9350604086013592506060860135915060808601356001600160401b038111156119ce57600080fd5b611969888289016115af565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a060408201526000611a2b60a0830186886119da565b60608301949094525060800152949350505050565b60018060a01b0385168152836020820152606060408201526000611a686060830184866119da565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611add57600080fd5b6107ca826113e3565b6000808335601e19843603018112611afd57600080fd5b8301803591506001600160401b03821115611b1757600080fd5b60200191503681900382131561144057600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b5457611b54611b2c565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611bde5782840389528135601e19883603018112611b9657600080fd5b870180356001600160401b03811115611bae57600080fd5b803603891315611bbd57600080fd5b611bca86828985016119da565b9a87019a9550505090840190600101611b75565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611c2c576001600160a01b03611c17846113e3565b16825260209283019290910190600101611bfe565b5083810360208501528881526001600160fb1b03891115611c4c57600080fd5b8860051b9150818a602083013781810191505060208101600081526020848303016040850152611c7d81888a611b5b565b6060850196909652505050608001529695505050505050565b60008219821115611ca957611ca9611b2c565b500190565b60005b83811015611cc9578181015183820152602001611cb1565b83811115611cd8576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611d16816017850160208801611cae565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611d47816028840160208801611cae565b01602801949350505050565b6020815260008251806020840152611d72816040850160208701611cae565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b8183823760009101908152919050565b6000816000190483118215151615611dfa57611dfa611b2c565b500290565b600081611e0e57611e0e611b2c565b50600019019056fea2646970667358221220f2c34deb657e846ca2a170bc5db824db6351e77cbf18657e821e8e15f132a56964736f6c634300080d0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
