{
  "contractName": "Vault",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "_interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hasInitialized",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "TRANSFER_ROLE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_script",
          "type": "bytes"
        }
      ],
      "name": "getEVMScriptExecutor",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getRecoveryVault",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "deposit",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isDepositable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "allowRecoverability",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "appId",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getInitializationBlock",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "transferToVault",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_sender",
          "type": "address"
        },
        {
          "name": "_role",
          "type": "bytes32"
        },
        {
          "name": "_params",
          "type": "uint256[]"
        }
      ],
      "name": "canPerform",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getEVMScriptRegistry",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        },
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "kernel",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isPetrified",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "balance",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "payable": true,
      "stateMutability": "payable",
      "type": "fallback"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "token",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "VaultTransfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "token",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "VaultDeposit",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "executor",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "script",
          "type": "bytes"
        },
        {
          "indexed": false,
          "name": "input",
          "type": "bytes"
        },
        {
          "indexed": false,
          "name": "returnData",
          "type": "bytes"
        }
      ],
      "name": "ScriptResult",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "vault",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "token",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "RecoverToVault",
      "type": "event"
    }
  ],
  "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062001976833981519152640100000000620013406200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b50620002306000805160206200197683398151915282640100000000620016116200023782021704565b50565b5490565b9055565b61172b806200024b6000396000f3006080604052600436106100e25763ffffffff60e060020a60003504166301ffc9a781146102335780630803fac014610269578063206b60f91461027e5780632914b9bd146102a557806332f0a3b51461031a57806347e7ef241461032f57806348a0c8dd146103465780637e7db6e11461035b57806380afdea81461037c5780638129fc1c146103915780638b3dd749146103a65780639d4941d8146103bb578063a1658fad146103dc578063a479e50814610443578063beabacc814610458578063d4aae0c414610482578063de4796ed14610497578063e3d670d7146104ac575b6100ea6104cd565b6040805180820190915260148152606260020a731253925517d393d517d2539255125053125691510260208201529015156101a65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578181015183820152602001610153565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506040805180820190915260138152606860020a725641554c545f444154415f4e4f4e5f5a45524f02602082015236156102255760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506102316000346104f6565b005b34801561023f57600080fd5b50610255600160e060020a031960043516610785565b604080519115158252519081900360200190f35b34801561027557600080fd5b506102556104cd565b34801561028a57600080fd5b506102936107b6565b60408051918252519081900360200190f35b3480156102b157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102fe9436949293602493928401919081908401838280828437509497506107de9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561032657600080fd5b506102fe6108c4565b610231600160a060020a036004351660243561093c565b34801561035257600080fd5b506102556109d3565b34801561036757600080fd5b50610255600160a060020a03600435166109f1565b34801561038857600080fd5b506102936109f7565b34801561039d57600080fd5b50610231610a22565b3480156103b257600080fd5b50610293610ac2565b3480156103c757600080fd5b50610231600160a060020a0360043516610adb565b3480156103e857600080fd5b506040805160206004604435818101358381028086018501909652808552610255958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750610d629650505050505050565b34801561044f57600080fd5b506102fe610eb2565b34801561046457600080fd5b50610231600160a060020a0360043581169060243516604435610f51565b34801561048e57600080fd5b506102fe61123f565b3480156104a357600080fd5b5061025561126a565b3480156104b857600080fd5b50610293600160a060020a036004351661127d565b6000806104d8610ac2565b905080158015906104f05750806104ed6112b7565b10155b91505090565b6104fe6109d3565b6040805180820190915260158152605860020a745641554c545f4e4f545f4445504f53495441424c4502602082015290151561057f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506040805180820190915260188152604060020a775641554c545f4445504f5349545f56414c55455f5a45524f026020820152600082116106055760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50600160a060020a038216151561069c576040805180820190915260148152606360020a730ac82aa98a8beac8298aa8abe9a92a69a82a88690260208201523482146106965760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50610741565b6106b7600160a060020a03831633308463ffffffff6112bb16565b6040805190810160405280602081526020017f5641554c545f544f4b454e5f5452414e534645525f46524f4d5f52455645525481525090151561073f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b505b6040805182815290513391600160a060020a038516917f2790b90165fd3973ad7edde4eca71b4f8808dd4857a2a3a3e8ae5642a5cb196e9181900360200190a35050565b600061079082611324565b806107ae5750600160e060020a0319821660e260020a6315014f9b02145b90505b919050565b60408051609860020a6c5452414e534645525f524f4c45028152905190819003600d01902081565b60006107e8610eb2565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561084657818101518382015260200161082e565b50505050905090810190601f1680156108735780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561089257600080fd5b505af11580156108a6573d6000803e3d6000fd5b505050506040513d60208110156108bc57600080fd5b505192915050565b60006108ce61123f565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561090b57600080fd5b505af115801561091f573d6000803e3d6000fd5b505050506040513d602081101561093557600080fd5b5051905090565b6109446104cd565b6040805180820190915260148152606260020a731253925517d393d517d2539255125053125691510260208201529015156109c45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506109cf82826104f6565b5050565b60006109ec6000805160206116e0833981519152611340565b905090565b50600090565b60006109ec7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b611340565b610a2a610ac2565b6040805180820190915260188152604260020a771253925517d053149150511657d2539255125053125691510260208201529015610aad5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50610ab6611344565b610ac060016113f6565b565b60006109ec6000805160206116c0833981519152611340565b6000806000610ae9846109f1565b6040805180820190915260128152607260020a71149150d3d5915497d11254d0531313d5d151026020820152901515610b675760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50610b706108c4565b9250610b7b8361141b565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610c015760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50600160a060020a0384161515610c525760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610c4c573d6000803e3d6000fd5b50610d11565b5082610c6d600160a060020a0382163063ffffffff61144816565b9150610c89600160a060020a038216848463ffffffff61153216565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515610d0f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610d6d6104cd565b1515610d7c5760009150610eaa565b610d8461123f565b9050600160a060020a0381161515610d9f5760009150610eaa565b80600160a060020a031663fdef9106863087610dba88611592565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015610e2c578181015183820152602001610e14565b50505050905090810190601f168015610e595780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e7b57600080fd5b505af1158015610e8f573d6000803e3d6000fd5b505050506040513d6020811015610ea557600080fd5b505191505b509392505050565b600080610ebd61123f565b6040805160e360020a6317c0177b0281527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561089257600080fd5b60408051609860020a6c5452414e534645525f524f4c45028152905190819003600d019020610f8184848461159c565b610f8c338383610d62565b60408051808201909152600f8152608a60020a6e10541417d055551217d190525311510260208201529015156110075760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506040805180820190915260198152603860020a785641554c545f5452414e534645525f56414c55455f5a45524f0260208201526000841161108e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50600160a060020a038516151561114b57604051600160a060020a0385169084156108fc029085906000818181858888f19350505050604080519081016040528060138152602001606a60020a72159055531517d4d1539117d491559154951151028152509015156111455760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506111ed565b611165600160a060020a038616858563ffffffff61153216565b60408051808201909152601d81527f5641554c545f544f4b454e5f5452414e534645525f524556455254454400000060208201529015156111eb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b505b83600160a060020a031685600160a060020a03167f239e7f6cdac8fb35a788a46b431b54da87de90b82448a2c294be5e92a6e579af856040518082815260200191505060405180910390a35050505050565b60006109ec7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b611340565b6000600019611277610ac2565b14905090565b6000600160a060020a0382161515611297575030316107b1565b6112b0600160a060020a0383163063ffffffff61144816565b90506107b1565b4390565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a031660e060020a6323b872dd0217905260009061131a86826115c3565b9695505050505050565b600160e060020a0319811660e060020a6301ffc9a70214919050565b5490565b61134c610ac2565b6040805180820190915260188152604260020a771253925517d053149150511657d25392551250531256915102602082015290156113cf5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50610ac06113db6112b7565b6000805160206116c08339815191529063ffffffff61161116565b6114146000805160206116e08339815191528263ffffffff61161116565b50565b5490565b600080600160a060020a03831615156114375760009150611442565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a031660e060020a6370a0823102179052600090818061149d8684611615565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156115285760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a031660e060020a63a9059cbb0217905260009061158985826115c3565b95945050505050565b8051602002815290565b60606115bb84600160a060020a031684600160a060020a031684611646565b949350505050565b6000806040516020818551602087016000895af16000811115611607573d80156115f457602081146115fd57611605565b60019350611605565b600183511493505b505b5090949350505050565b9055565b6000806000806040516020818751602089018a5afa9250600083111561163a57805191505b50909590945092505050565b604080516003808252608082019092526060916020820183803883390190505090508381600081518110151561167857fe5b60209081029091010152805183908290600190811061169357fe5b6020908102909101015280518290829060029081106116ae57fe5b6020908102909101015293925050505600ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50ceaa165627a7a723058205d616b2f8330f14109b21dfff88672d9a4980bf08c62c5385312a3eb81ad56ea0029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e",
  "deployedBytecode": "0x6080604052600436106100e25763ffffffff60e060020a60003504166301ffc9a781146102335780630803fac014610269578063206b60f91461027e5780632914b9bd146102a557806332f0a3b51461031a57806347e7ef241461032f57806348a0c8dd146103465780637e7db6e11461035b57806380afdea81461037c5780638129fc1c146103915780638b3dd749146103a65780639d4941d8146103bb578063a1658fad146103dc578063a479e50814610443578063beabacc814610458578063d4aae0c414610482578063de4796ed14610497578063e3d670d7146104ac575b6100ea6104cd565b6040805180820190915260148152606260020a731253925517d393d517d2539255125053125691510260208201529015156101a65760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578181015183820152602001610153565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506040805180820190915260138152606860020a725641554c545f444154415f4e4f4e5f5a45524f02602082015236156102255760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506102316000346104f6565b005b34801561023f57600080fd5b50610255600160e060020a031960043516610785565b604080519115158252519081900360200190f35b34801561027557600080fd5b506102556104cd565b34801561028a57600080fd5b506102936107b6565b60408051918252519081900360200190f35b3480156102b157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102fe9436949293602493928401919081908401838280828437509497506107de9650505050505050565b60408051600160a060020a039092168252519081900360200190f35b34801561032657600080fd5b506102fe6108c4565b610231600160a060020a036004351660243561093c565b34801561035257600080fd5b506102556109d3565b34801561036757600080fd5b50610255600160a060020a03600435166109f1565b34801561038857600080fd5b506102936109f7565b34801561039d57600080fd5b50610231610a22565b3480156103b257600080fd5b50610293610ac2565b3480156103c757600080fd5b50610231600160a060020a0360043516610adb565b3480156103e857600080fd5b506040805160206004604435818101358381028086018501909652808552610255958335600160a060020a0316956024803596369695606495939492019291829185019084908082843750949750610d629650505050505050565b34801561044f57600080fd5b506102fe610eb2565b34801561046457600080fd5b50610231600160a060020a0360043581169060243516604435610f51565b34801561048e57600080fd5b506102fe61123f565b3480156104a357600080fd5b5061025561126a565b3480156104b857600080fd5b50610293600160a060020a036004351661127d565b6000806104d8610ac2565b905080158015906104f05750806104ed6112b7565b10155b91505090565b6104fe6109d3565b6040805180820190915260158152605860020a745641554c545f4e4f545f4445504f53495441424c4502602082015290151561057f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506040805180820190915260188152604060020a775641554c545f4445504f5349545f56414c55455f5a45524f026020820152600082116106055760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50600160a060020a038216151561069c576040805180820190915260148152606360020a730ac82aa98a8beac8298aa8abe9a92a69a82a88690260208201523482146106965760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50610741565b6106b7600160a060020a03831633308463ffffffff6112bb16565b6040805190810160405280602081526020017f5641554c545f544f4b454e5f5452414e534645525f46524f4d5f52455645525481525090151561073f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b505b6040805182815290513391600160a060020a038516917f2790b90165fd3973ad7edde4eca71b4f8808dd4857a2a3a3e8ae5642a5cb196e9181900360200190a35050565b600061079082611324565b806107ae5750600160e060020a0319821660e260020a6315014f9b02145b90505b919050565b60408051609860020a6c5452414e534645525f524f4c45028152905190819003600d01902081565b60006107e8610eb2565b600160a060020a03166304bf2a7f836040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561084657818101518382015260200161082e565b50505050905090810190601f1680156108735780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561089257600080fd5b505af11580156108a6573d6000803e3d6000fd5b505050506040513d60208110156108bc57600080fd5b505192915050565b60006108ce61123f565b600160a060020a03166332f0a3b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561090b57600080fd5b505af115801561091f573d6000803e3d6000fd5b505050506040513d602081101561093557600080fd5b5051905090565b6109446104cd565b6040805180820190915260148152606260020a731253925517d393d517d2539255125053125691510260208201529015156109c45760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506109cf82826104f6565b5050565b60006109ec6000805160206116e0833981519152611340565b905090565b50600090565b60006109ec7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b611340565b610a2a610ac2565b6040805180820190915260188152604260020a771253925517d053149150511657d2539255125053125691510260208201529015610aad5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50610ab6611344565b610ac060016113f6565b565b60006109ec6000805160206116c0833981519152611340565b6000806000610ae9846109f1565b6040805180820190915260128152607260020a71149150d3d5915497d11254d0531313d5d151026020820152901515610b675760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50610b706108c4565b9250610b7b8361141b565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610c015760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50600160a060020a0384161515610c525760405130319250600160a060020a0384169083156108fc029084906000818181858888f19350505050158015610c4c573d6000803e3d6000fd5b50610d11565b5082610c6d600160a060020a0382163063ffffffff61144816565b9150610c89600160a060020a038216848463ffffffff61153216565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515610d0f5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b505b83600160a060020a031683600160a060020a03167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610d6d6104cd565b1515610d7c5760009150610eaa565b610d8461123f565b9050600160a060020a0381161515610d9f5760009150610eaa565b80600160a060020a031663fdef9106863087610dba88611592565b60405160e060020a63ffffffff8716028152600160a060020a03808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b83811015610e2c578181015183820152602001610e14565b50505050905090810190601f168015610e595780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e7b57600080fd5b505af1158015610e8f573d6000803e3d6000fd5b505050506040513d6020811015610ea557600080fd5b505191505b509392505050565b600080610ebd61123f565b6040805160e360020a6317c0177b0281527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6160248201529051600160a060020a03929092169163be00bbd8916044808201926020929091908290030181600087803b15801561089257600080fd5b60408051609860020a6c5452414e534645525f524f4c45028152905190819003600d019020610f8184848461159c565b610f8c338383610d62565b60408051808201909152600f8152608a60020a6e10541417d055551217d190525311510260208201529015156110075760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506040805180820190915260198152603860020a785641554c545f5452414e534645525f56414c55455f5a45524f0260208201526000841161108e5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50600160a060020a038516151561114b57604051600160a060020a0385169084156108fc029085906000818181858888f19350505050604080519081016040528060138152602001606a60020a72159055531517d4d1539117d491559154951151028152509015156111455760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b506111ed565b611165600160a060020a038616858563ffffffff61153216565b60408051808201909152601d81527f5641554c545f544f4b454e5f5452414e534645525f524556455254454400000060208201529015156111eb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b505b83600160a060020a031685600160a060020a03167f239e7f6cdac8fb35a788a46b431b54da87de90b82448a2c294be5e92a6e579af856040518082815260200191505060405180910390a35050505050565b60006109ec7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b611340565b6000600019611277610ac2565b14905090565b6000600160a060020a0382161515611297575030316107b1565b6112b0600160a060020a0383163063ffffffff61144816565b90506107b1565b4390565b60408051600160a060020a038581166024830152841660448201526064808201849052825180830390910181526084909101909152602081018051600160e060020a031660e060020a6323b872dd0217905260009061131a86826115c3565b9695505050505050565b600160e060020a0319811660e060020a6301ffc9a70214919050565b5490565b61134c610ac2565b6040805180820190915260188152604260020a771253925517d053149150511657d25392551250531256915102602082015290156113cf5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b50610ac06113db6112b7565b6000805160206116c08339815191529063ffffffff61161116565b6114146000805160206116e08339815191528263ffffffff61161116565b50565b5490565b600080600160a060020a03831615156114375760009150611442565b823b90506000811191505b50919050565b60408051600160a060020a038316602480830191909152825180830390910181526044909101909152602081018051600160e060020a031660e060020a6370a0823102179052600090818061149d8684611615565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f524556455254454400000000602082015291935091508215156115285760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360008381101561016b578181015183820152602001610153565b5095945050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081018051600160e060020a031660e060020a63a9059cbb0217905260009061158985826115c3565b95945050505050565b8051602002815290565b60606115bb84600160a060020a031684600160a060020a031684611646565b949350505050565b6000806040516020818551602087016000895af16000811115611607573d80156115f457602081146115fd57611605565b60019350611605565b600183511493505b505b5090949350505050565b9055565b6000806000806040516020818751602089018a5afa9250600083111561163a57805191505b50909590945092505050565b604080516003808252608082019092526060916020820183803883390190505090508381600081518110151561167857fe5b60209081029091010152805183908290600190811061169357fe5b6020908102909101015280518290829060029081106116ae57fe5b6020908102909101015293925050505600ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e665fd576fbbe6f247aff98f5c94a561e3f71ec2d3c988d56f12d342396c50ceaa165627a7a723058205d616b2f8330f14109b21dfff88672d9a4980bf08c62c5385312a3eb81ad56ea0029",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
