{
  "contractName": "DaoCreator",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "name": "_orgName",
          "type": "bytes32"
        },
        {
          "name": "_tokenName",
          "type": "string"
        },
        {
          "name": "_tokenSymbol",
          "type": "string"
        },
        {
          "name": "_founders",
          "type": "address[]"
        },
        {
          "name": "_foundersTokenAmount",
          "type": "uint256[]"
        },
        {
          "name": "_foundersReputationAmount",
          "type": "int256[]"
        },
        {
          "name": "_uController",
          "type": "address"
        }
      ],
      "name": "forgeOrg",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_schemes",
          "type": "address[]"
        },
        {
          "name": "_params",
          "type": "bytes32[]"
        },
        {
          "name": "_permissions",
          "type": "bytes4[]"
        }
      ],
      "name": "setSchemes",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_avatar",
          "type": "address"
        }
      ],
      "name": "NewOrg",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_avatar",
          "type": "address"
        }
      ],
      "name": "InitialSchemesSet",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b6156b88061001e6000396000f3006060604052600436106100325763ffffffff60e060020a6000350416635b7c7b0c8114610037578063722c9c3b146100b1575b600080fd5b341561004257600080fd5b61009560048035906024803580820192908101359160443580820192908101359160643580820192908101359160843580820192908101359160a435908101910135600160a060020a0360c435166100f6565b604051600160a060020a03909116815260200160405180910390f35b34156100bc57600080fd5b6100f460048035600160a060020a03169060248035808201929081013591604435808201929081013591606435908101910135610206565b005b60006101f58d8d8d8080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050508c8c8080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437508d94506104b29350505050565b9d9c50505050505050505050505050565b600160a060020a038781166000908152602081905260408120549091829133821691161461023357600080fd5b88600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561027957600080fd5b6102c65a03f1151561028a57600080fd5b5050506040518051925060009150505b868110156103bb57600160a060020a03821663e869d45f8989848181106102bd57fe5b90506020020135600160a060020a031688888581811015156102db57fe5b602002919091013590508787868181106102f157fe5b905060200201357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168d60006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527fffffffff0000000000000000000000000000000000000000000000000000000090911660448301529091166064820152608401602060405180830381600087803b151561039857600080fd5b6102c65a03f115156103a957600080fd5b5050506040518051505060010161029a565b81600160a060020a031663039de01d308b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561041a57600080fd5b6102c65a03f1151561042b57600080fd5b50505060405180515050600160a060020a03891660009081526020819052604090819020805473ffffffffffffffffffffffffffffffffffffffff191690557f9007c9042f12be953f7dbe3909f56c3f088e9fe294dbebbef4a67afa63462b6a908a9051600160a060020a03909116815260200160405180910390a1505050505050505050565b6000806000806000808b8b6104c5610a31565b808060200180602001838103835285818151815260200191508051906020019080838360005b838110156105035780820151838201526020016104eb565b50505050905090810190601f1680156105305780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561056657808201518382015260200161054e565b50505050905090810190601f1680156105935780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015156105b057600080fd5b94506105ba610a41565b604051809103906000f08015156105d057600080fd5b93508c85856105dd610a51565b928352600160a060020a0391821660208401521660408083019190915260609091019051809103906000f080151561061457600080fd5b9250600090505b89518110156107705784600160a060020a03166340c10f198b838151811061063f57fe5b906020019060200201518b848151811061065557fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156106ab57600080fd5b6102c65a03f115156106bc57600080fd5b50505060405180515050600160a060020a03841663fd9bf3aa8b83815181106106e157fe5b906020019060200201518a84815181106106f757fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561074d57600080fd5b6102c65a03f1151561075e57600080fd5b5050506040518051505060010161061b565b600160a060020a03871615156108185782610789610a61565b600160a060020a039091168152602001604051809103906000f08015156107af57600080fd5b915082600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156107ff57600080fd5b6102c65a03f1151561081057600080fd5b5050506108e0565b86915082600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561086957600080fd5b6102c65a03f1151561087a57600080fd5b50505086600160a060020a031663b99813648460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156108cb57600080fd5b6102c65a03f115156108dc57600080fd5b5050505b84600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561092e57600080fd5b6102c65a03f1151561093f57600080fd5b50505083600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561099057600080fd5b6102c65a03f115156109a157600080fd5b505050600160a060020a0383811660009081526020819052604090819020805473ffffffffffffffffffffffffffffffffffffffff191633909316929092179091557f244496352f5e67e59ce96b4a53ef9ea7cb88b7db33eb13dc5e771bd04385a60e90849051600160a060020a03909116815260200160405180910390a150909b9a5050505050505050505050565b604051610e9280610a7283390190565b60405161039a8061190483390190565b6040516109d580611c9e83390190565b60405161301a8061267383390190560060606040526003805460a060020a60ff0219169055341561001f57600080fd5b604051610e92380380610e928339810160405280805182019190602001805160038054600160a060020a03191633600160a060020a0316179055919091019050600482805161007292916020019061008e565b50600581805161008692916020019061008e565b505050610129565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cf57805160ff19168380011785556100fc565b828001600101855582156100fc579182015b828111156100fc5782518255916020019190600101906100e1565b5061010892915061010c565b5090565b61012691905b808211156101085760008155600101610112565b90565b610d5a806101386000396000f3006060604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010b57806306fdde0314610132578063095ea7b3146101bc57806318160ddd146101de57806323b872dd1461020357806340c10f191461022b57806342966c681461024d57806366188463146102655780636ab55fd91461028757806370a082311461029a5780637d64bcb4146102b957806383197ef0146102cc5780638da5cb5b146102df57806395d89b411461030e578063a9059cbb14610321578063d73dd62314610343578063dd62ed3e14610365578063f2fde38b1461038a578063f5074f41146103a9575b600080fd5b341561011657600080fd5b61011e6103c8565b604051901515815260200160405180910390f35b341561013d57600080fd5b6101456103d8565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610181578082015183820152602001610169565b50505050905090810190601f1680156101ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c757600080fd5b61011e600160a060020a0360043516602435610476565b34156101e957600080fd5b6101f16104e2565b60405190815260200160405180910390f35b341561020e57600080fd5b61011e600160a060020a03600435811690602435166044356104e8565b341561023657600080fd5b61011e600160a060020a036004351660243561066a565b341561025857600080fd5b610263600435610777565b005b341561027057600080fd5b61011e600160a060020a0360043516602435610832565b341561029257600080fd5b6101f161092c565b34156102a557600080fd5b6101f1600160a060020a0360043516610931565b34156102c457600080fd5b61011e61094c565b34156102d757600080fd5b6102636109d7565b34156102ea57600080fd5b6102f2610a00565b604051600160a060020a03909116815260200160405180910390f35b341561031957600080fd5b610145610a0f565b341561032c57600080fd5b61011e600160a060020a0360043516602435610a7a565b341561034e57600080fd5b61011e600160a060020a0360043516602435610b75565b341561037057600080fd5b6101f1600160a060020a0360043581169060243516610c19565b341561039557600080fd5b610263600160a060020a0360043516610c44565b34156103b457600080fd5b610263600160a060020a0360043516610cdf565b60035460a060020a900460ff1681565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b820191906000526020600020905b81548152906001019060200180831161045157829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a03831615156104ff57600080fd5b600160a060020a03841660009081526001602052604090205482111561052457600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482111561055757600080fd5b600160a060020a038416600090815260016020526040902054610580908363ffffffff610d0616565b600160a060020a0380861660009081526001602052604080822093909355908516815220546105b5908363ffffffff610d1816565b600160a060020a038085166000908152600160209081526040808320949094558783168252600281528382203390931682529190915220546105fd908363ffffffff610d0616565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a0390811691161461068857600080fd5b60035460a060020a900460ff161561069f57600080fd5b6000546106b2908363ffffffff610d1816565b6000908155600160a060020a0384168152600160205260409020546106dd908363ffffffff610d1816565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160a060020a03331660009081526001602052604081205482111561079c57600080fd5b5033600160a060020a0381166000908152600160205260409020546107c19083610d06565b600160a060020a038216600090815260016020526040812091909155546107ee908363ffffffff610d0616565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561088f57600160a060020a0333811660009081526002602090815260408083209388168352929052908120556108c6565b61089f818463ffffffff610d0616565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b601281565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a0390811691161461096a57600080fd5b60035460a060020a900460ff161561098157600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a039081169116146109f257600080fd5b600354600160a060020a0316ff5b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b6000600160a060020a0383161515610a9157600080fd5b600160a060020a033316600090815260016020526040902054821115610ab657600080fd5b600160a060020a033316600090815260016020526040902054610adf908363ffffffff610d0616565b600160a060020a033381166000908152600160205260408082209390935590851681522054610b14908363ffffffff610d1816565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610bad908363ffffffff610d1816565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610c5f57600080fd5b600160a060020a0381161515610c7457600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610cfa57600080fd5b80600160a060020a0316ff5b600082821115610d1257fe5b50900390565b600082820183811015610d2757fe5b93925050505600a165627a7a7230582015c808ce2d1c6fc5adc988d00a52117661c47ce966bdec764891c4ffe8df9aa6002960606040526012600355341561001457600080fd5b60008054600160a060020a033316600160a060020a0319909116811782558152600160205260408120819055600255610348806100526000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461007c578063313ce567146100a15780638da5cb5b146100b4578063db89c044146100e3578063f2fde38b14610102578063fd9bf3aa14610123575b600080fd5b341561008757600080fd5b61008f610159565b60405190815260200160405180910390f35b34156100ac57600080fd5b61008f61015f565b34156100bf57600080fd5b6100c7610165565b604051600160a060020a03909116815260200160405180910390f35b34156100ee57600080fd5b61008f600160a060020a0360043516610174565b341561010d57600080fd5b610121600160a060020a036004351661018f565b005b341561012e57600080fd5b610145600160a060020a036004351660243561022a565b604051901515815260200160405180910390f35b60025481565b60035481565b600054600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a039081169116146101aa57600080fd5b600160a060020a03811615156101bf57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a0390811691161461024857600080fd5b50600160a060020a03831660009081526001602052604081205483919082011261029757600160a060020a038416600090815260016020526040902080548401905560028054840190556102c3565b50600160a060020a03831660009081526001602052604081208054600280548290039055919055600019025b83600160a060020a03167f6f734b566c5e1cb976d9c7fba184b96a698a18931dd345168b16db217f8df0dd8260405190815260200160405180910390a260019150600254600090121561031557600080fd5b50929150505600a165627a7a72305820cb6b665f925c5fb361352f7a8515736a2f42c673c814c537a5e2d6d2193e29cc00296060604052341561000f57600080fd5b6040516060806109d583398101604052808051919060200180519190602001805160008054600160a060020a03338116600160a060020a031992831617909255600196909655600280549582169587169590951790945560038054949091169390941692909217909255505061094b8061008a6000396000f3006060604052600436106100955763ffffffff60e060020a6000350416631386dc2d81146100d45780636ce15a54146100f957806389ae1c901461016a5780638cf1355c146101995780638da5cb5b146101c1578063b756d5a2146101d4578063cb16d4a214610202578063d29ab9c414610224578063dab0efff1461024c578063e1758bd814610274578063f2fde38b14610287575b33600160a060020a03167ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a7043963460405190815260200160405180910390a2005b34156100df57600080fd5b6100e76102a8565b60405190815260200160405180910390f35b341561010457600080fd5b61015660048035600160a060020a03169060446024803590810190830135806020808202016040519081016040528093929190818152602001838360200280828437509496506102ae95505050505050565b604051901515815260200160405180910390f35b341561017557600080fd5b61017d610400565b604051600160a060020a03909116815260200160405180910390f35b34156101a457600080fd5b610156600160a060020a036004358116906024351660443561040f565b34156101cc57600080fd5b61017d6104fb565b34156101df57600080fd5b610156600160a060020a036004358116906024358116906044351660643561050a565b341561020d57600080fd5b610156600435600160a060020a0360243516610610565b341561022f57600080fd5b610156600160a060020a03600435811690602435166044356106a3565b341561025757600080fd5b610156600160a060020a036004358116906024351660443561078f565b341561027f57600080fd5b61017d610875565b341561029257600080fd5b6102a6600160a060020a0360043516610884565b005b60015481565b6000805433600160a060020a039081169116146102ca57600080fd5b82600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8360405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561033557808201518382015260200161031d565b505050509050019250505060405180910390a282600160a060020a03166040517f616374696f6e28627974657333325b5d290000000000000000000000000000008152601101604051809103902060e060020a900460208451856040518463ffffffff1660e060020a02815260040180848152602001838152602001828051906020019060200280838360005b838110156103da5780820151838201526020016103c2565b5050505090500193505050506000604051808303818661646e5a03f49695505050505050565b600354600160a060020a031681565b6000805433600160a060020a0390811691161461042b57600080fd5b83600160a060020a031663d73dd623848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561048857600080fd5b6102c65a03f1151561049957600080fd5b50505060405180515050600160a060020a0384167fbe7df27d98bd0614ae920a695c2c2be09c164d8456083da020a98538692c465f8484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461052657600080fd5b84600160a060020a03166323b872dd85858560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561059057600080fd5b6102c65a03f115156105a157600080fd5b50505060405180515050600160a060020a0385167f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e843858585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a2506001949350505050565b6000805433600160a060020a0390811691161461062c57600080fd5b600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561065d57600080fd5b81600160a060020a03167f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c8460405190815260200160405180910390a250600192915050565b6000805433600160a060020a039081169116146106bf57600080fd5b83600160a060020a03166366188463848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071c57600080fd5b6102c65a03f1151561072d57600080fd5b50505060405180515050600160a060020a0384167f495e426dd61227fe840d969dfba17620c573364af8c37748ea71f96f744ae3348484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b6000805433600160a060020a039081169116146107ab57600080fd5b83600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561080857600080fd5b6102c65a03f1151561081957600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d8460405190815260200160405180910390a35060019392505050565b600254600160a060020a031681565b60005433600160a060020a0390811691161461089f57600080fd5b600160a060020a03811615156108b457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058209fb765046638e28965ad32417323386abb52967769e0e58d579f0f4f17f4c53e0029606060405234156200001057600080fd5b6040516020806200301a8339810160405280805160018054600160a060020a031916600160a060020a03838116919091179182905591935016905063e1758bd86000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515620000a157600080fd5b6102c65a03f11515620000b357600080fd5b505050604051805160028054600160a060020a031916600160a060020a039283161790556001541690506389ae1c906000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156200013357600080fd5b6102c65a03f115156200014557600080fd5b505050604051805160038054600160a060020a031916600160a060020a03929092169190911790555060408051908101604090815260008083527c0f00000000000000000000000000000000000000000000000000000000602080850191909152600160a060020a033316825281905220815181556020820151600190910180547c010000000000000000000000000000000000000000000000000000000090920463ffffffff199092169190911790555050612e1280620002086000396000f30060606040526004361061013a5763ffffffff60e060020a600035041663039de01d811461014a5780631c4d5608146101835780633a02263c146101ba57806342427bf8146101e95780634f52b5be1461020e5780635aef7de6146102335780636035174814610246578063634965da146102a05780636407e432146102c8578063644b98ed146102f057806364f47ace1461031f57806365ab1ae8146103585780636c525b13146103905780636cfc6582146103af578063824f2f1f146103d757806389ae1c90146103f65780639b51e35a146104095780639be2faed1461044b578063b9a04cdd14610470578063c6ab78b91461049f578063db6149ce146104ce578063e1758bd81461050f578063e4537a7414610522578063e869d45f1461054b578063f76488be14610582578063fb4856a2146105a7575b341561014557600080fd5b600080fd5b341561015557600080fd5b61016f600160a060020a03600435811690602435166105dc565b604051901515815260200160405180910390f35b341561018e57600080fd5b6101a8600160a060020a036004358116906024351661091a565b60405190815260200160405180910390f35b34156101c557600080fd5b6101cd610936565b604051600160a060020a03909116815260200160405180910390f35b34156101f457600080fd5b61016f600160a060020a0360043581169060243516610945565b341561021957600080fd5b61016f600160a060020a0360043581169060243516610c58565b341561023e57600080fd5b6101cd610e6d565b341561025157600080fd5b61016f600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250610e7c915050565b34156102ab57600080fd5b61016f600435600160a060020a03602435811690604435166111d9565b34156102d357600080fd5b61016f600435600160a060020a03602435811690604435166114bd565b34156102fb57600080fd5b61016f600160a060020a036004358116906024358116906044359060643516611797565b341561032a57600080fd5b61033e600160a060020a0360043516611a99565b604051911515825260208201526040908101905180910390f35b341561036357600080fd5b61036e600435611ab8565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561039b57600080fd5b61016f600160a060020a0360043516611aee565b34156103ba57600080fd5b61016f600435600160a060020a0360243581169060443516611b6b565b34156103e257600080fd5b6101a8600160a060020a0360043516611e45565b341561040157600080fd5b6101cd611e4c565b341561041457600080fd5b61042e600160a060020a0360043581169060243516611e5b565b604051600160e060020a0319909116815260200160405180910390f35b341561045657600080fd5b61016f600160a060020a0360043581169060243516611e80565b341561047b57600080fd5b61016f600160a060020a036004358116906024358116906044359060643516611eaa565b34156104aa57600080fd5b61016f600160a060020a03600435811690602435811690604435906064351661219b565b34156104d957600080fd5b6104ed600160a060020a0360043516612493565b604051918252600160e060020a03191660208201526040908101905180910390f35b341561051a57600080fd5b6101cd6124b2565b341561052d57600080fd5b61016f600160a060020a0360043581169060243590604435166124c1565b341561055657600080fd5b61016f600160a060020a0360043581169060243590600160e060020a031960443516906064351661268c565b341561058d57600080fd5b61016f600160a060020a0360043581169060243516612a2a565b34156105b257600080fd5b61016f600160a060020a036004358116906024358116906044358116906064359060843516612a49565b600160a060020a03331660009081526020819052604081206001015460e060020a027c02000000000000000000000000000000000000000000000000000000009081161461062957600080fd5b7f756e7265676973746572536368656d650000000000000000000000000000000060005b60055481101561072d57600580548290811061066557fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061069857fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156106ff57600080fd5b6102c65a03f1151561071057600080fd5b50505060405180519050151561072557600080fd5b60010161064d565b600160a060020a03851660009081526020819052604090206001015460e060020a908102161515610761576000925061082e565b33600160a060020a0390811660009081526020819052604080822060019081015493891683529120015460e060020a918202199102167c0f0000000000000000000000000000000000000000000000000000000016156107c057600080fd5b84600160a060020a031633600160a060020a03167f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf60405160405180910390a3600160a060020a03851660009081526020819052604081209081556001908101805463ffffffff1916905592505b5060005b60055481101561091257600580548290811061084a57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061087d57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156108e457600080fd5b6102c65a03f115156108f557600080fd5b50505060405180519050151561090a57600080fd5b600101610832565b505092915050565b50600160a060020a031660009081526020819052604090205490565b600454600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a027c08000000000000000000000000000000000000000000000000000000009081161461099257600080fd5b600454600160a060020a0316156109a857600080fd5b600160a060020a03831615156109bd57600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091556001541663f2fde38b8460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610a3257600080fd5b6102c65a03f11515610a4357600080fd5b5050600254600160a060020a03308116925016638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610a9257600080fd5b6102c65a03f11515610aa357600080fd5b50505060405180519050600160a060020a03161415610b2157600254600160a060020a031663f2fde38b8460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610b0c57600080fd5b6102c65a03f11515610b1d57600080fd5b5050505b600354600160a060020a033081169116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b6d57600080fd5b6102c65a03f11515610b7e57600080fd5b50505060405180519050600160a060020a03161415610bfc57600354600160a060020a031663f2fde38b8460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610be757600080fd5b6102c65a03f11515610bf857600080fd5b5050505b6004547fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd903090600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a150600192915050565b6000610c62612d5f565b610c6a612d5f565b600160a060020a03331660009081526020819052604090206001015460e060020a027c040000000000000000000000000000000000000000000000000000000090811614610cb757600080fd5b600160a060020a03851660009081526006602052604090819020908051908101604052815460ff161515815260019091015460208201529150815115610e62576005546000190160208301511015610dd457600580546000198101908110610d1b57fe5b9060005260206000209060020201604080519081016040528154600160a060020a03168152600190910154602080830191909152909150819060059084015181548110610d6457fe5b90600052602060002090600202016000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600190910155506020820151600660008351600160a060020a031681526020810191909152604001600020600101555b6005805490610de7906000198301612d76565b50600160a060020a03851660009081526006602090815260408220805460ff19168155600101919091557f6ceab662049113d466f7e28b69edbec7cf641bc175522623536b09785887982a908690840151604051600160a060020a03909216825260208201526040908101905180910390a160019250610912565b506000949350505050565b600154600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614610eac57600080fd5b7f67656e65726963416374696f6e0000000000000000000000000000000000000060005b600554811015610fb0576005805482908110610ee857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110610f1b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610f8257600080fd5b6102c65a03f11515610f9357600080fd5b505050604051805190501515610fa857600080fd5b600101610ed0565b33600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8660405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561101b578082015183820152602001611003565b505050509050019250505060405180910390a2600154600160a060020a0316636ce15a5433876000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156110b457808201518382015260200161109c565b505050509050019350505050602060405180830381600087803b15156110d957600080fd5b6102c65a03f115156110ea57600080fd5b50505060405180519350505060005b60055481101561091257600580548290811061111157fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061114457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156111ab57600080fd5b6102c65a03f115156111bc57600080fd5b5050506040518051905015156111d157600080fd5b6001016110f9565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461120957600080fd5b7f73656e644574686572000000000000000000000000000000000000000000000060005b60055481101561130d57600580548290811061124557fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061127857fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156112df57600080fd5b6102c65a03f115156112f057600080fd5b50505060405180519050151561130557600080fd5b60010161122d565b84600160a060020a031633600160a060020a03167fda35e091786fbaaace32084910404a0e3a14f22a7645a4c3d0fec2c6731e3c348860405190815260200160405180910390a3600154600160a060020a031663cb16d4a2878760006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156113b457600080fd5b6102c65a03f115156113c557600080fd5b50505060405180519350505060005b6005548110156114b45760058054829081106113ec57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061141f57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561148657600080fd5b6102c65a03f1151561149757600080fd5b5050506040518051905015156114ac57600080fd5b6001016113d4565b50509392505050565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146114ed57600080fd5b7f6d696e74546f6b656e730000000000000000000000000000000000000000000060005b6005548110156115f157600580548290811061152957fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061155c57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156115c357600080fd5b6102c65a03f115156115d457600080fd5b5050506040518051905015156115e957600080fd5b600101611511565b84600160a060020a031633600160a060020a03167f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e8860405190815260200160405180910390a3600254600160a060020a03166340c10f19868860006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561169757600080fd5b6102c65a03f115156116a857600080fd5b50505060405180519350505060005b6005548110156114b45760058054829081106116cf57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061170257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561176957600080fd5b6102c65a03f1151561177a57600080fd5b50505060405180519050151561178f57600080fd5b6001016116b7565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146117c757600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b6005548110156118cb57600580548290811061180357fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061183657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561189d57600080fd5b6102c65a03f115156118ae57600080fd5b5050506040518051905015156118c357600080fd5b6001016117eb565b86600160a060020a031633600160a060020a03167f2cee0640e7c161518a78fa901d8c0e4b2f51d42612532184a4f017a45b01ba288888604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a0316638cf1355c88888860006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561198f57600080fd5b6102c65a03f115156119a057600080fd5b50505060405180519350505060005b600554811015611a8f5760058054829081106119c757fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d913391859081106119fa57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611a6157600080fd5b6102c65a03f11515611a7257600080fd5b505050604051805190501515611a8757600080fd5b6001016119af565b5050949350505050565b6006602052600090815260409020805460019091015460ff9091169082565b6005805482908110611ac657fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b6000611afb336000611e80565b1515611b0957506000611b66565b600160a060020a0333166000818152602081905260408082209182556001909101805463ffffffff1916905581907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf905160405180910390a35060015b919050565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614611b9b57600080fd5b7f6d696e7452657075746174696f6e00000000000000000000000000000000000060005b600554811015611c9f576005805482908110611bd757fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611c0a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611c7157600080fd5b6102c65a03f11515611c8257600080fd5b505050604051805190501515611c9757600080fd5b600101611bbf565b84600160a060020a031633600160a060020a03167fb6ced7e295ffd06d19f45bd872b3bd3fd172b1ba53b17ce0543c276d06f5a4228860405190815260200160405180910390a3600354600160a060020a031663fd9bf3aa868860006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611d4557600080fd5b6102c65a03f11515611d5657600080fd5b50505060405180519350505060005b6005548110156114b4576005805482908110611d7d57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110611db057fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611e1757600080fd5b6102c65a03f11515611e2857600080fd5b505050604051805190501515611e3d57600080fd5b600101611d65565b5060055490565b600354600160a060020a031681565b50600160a060020a031660009081526020819052604090206001015460e060020a0290565b50600160a060020a031660009081526020819052604090206001015460e060020a90810216151590565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614611eda57600080fd5b7f65787465726e616c546f6b656e5472616e73666572000000000000000000000060005b600554811015611fde576005805482908110611f1657fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611f4957fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611fb057600080fd5b6102c65a03f11515611fc157600080fd5b505050604051805190501515611fd657600080fd5b600101611efe565b85600160a060020a031687600160a060020a031633600160a060020a03167fd4c08afec48fd2cbe49032dc89d3b388b7a4e4f0563a1fdccd73339beb025aa18860405190815260200160405180910390a4600154600160a060020a031663dab0efff88888860006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561209b57600080fd5b6102c65a03f115156120ac57600080fd5b50505060405180519350505060005b600554811015611a8f5760058054829081106120d357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061210657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561216d57600080fd5b6102c65a03f1151561217e57600080fd5b50505060405180519050151561219357600080fd5b6001016120bb565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146121cb57600080fd5b7f65787465726e616c546f6b656e4465637265617365417070726f76616c00000060005b6005548110156122cf57600580548290811061220757fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061223a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156122a157600080fd5b6102c65a03f115156122b257600080fd5b5050506040518051905015156122c757600080fd5b6001016121ef565b86600160a060020a031633600160a060020a03167f56fc1f50d44108d3b715d77eb371d388bf2998c65b4eb5cf0ccd6c055be46d498888604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a031663d29ab9c488888860006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561239357600080fd5b6102c65a03f115156123a457600080fd5b50505060405180519350505060005b600554811015611a8f5760058054829081106123cb57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d913391859081106123fe57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561246557600080fd5b6102c65a03f1151561247657600080fd5b50505060405180519050151561248b57600080fd5b6001016123b3565b6000602081905290815260409020805460019091015460e060020a0282565b600254600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a027c04000000000000000000000000000000000000000000000000000000009081161461250e57600080fd5b600160a060020a03841660009081526006602052604090205460ff1615156125fe5760058054600181016125428382612d76565b9160005260206000209060020201600060408051908101604052600160a060020a0388168152602081018790529190508151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001909101555060409050805190810160409081526001825260055460001901602080840191909152600160a060020a03871660009081526006909152208151815460ff191690151517815560208201516001909101555061263e565b600160a060020a03841660009081526006602052604090206001015460058054859290811061262957fe5b60009182526020909120600160029092020101555b7f6f3ac186000a779fe66d0a5188f51993a6593d93c4ff052ec0453aa84f09dbcb8484604051600160a060020a03909216825260208201526040908101905180910390a15060019392505050565b6000612696612d5f565b600160a060020a03331660009081526020819052604090206001015460e060020a027c0200000000000000000000000000000000000000000000000000000000908116146126e357600080fd5b7f7265676973746572536368656d6500000000000000000000000000000000000060005b6005548110156127e757600580548290811061271f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061275257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156127b957600080fd5b6102c65a03f115156127ca57600080fd5b5050506040518051905015156127df57600080fd5b600101612707565b600160a060020a03881660009081526020819052604090819020908051908101604090815282548252600192830154600160e060020a031960e060020a918202166020808501918252600160a060020a03331660009081529081905292832090940154929650909291021990518818167c0f00000000000000000000000000000000000000000000000000000000161461288057600080fd5b600160a060020a03331660009081526020818152604082206001015460e060020a021990850151167c0f0000000000000000000000000000000000000000000000000000000016146128d157600080fd5b600160a060020a03888116600081815260208190526040908190208a8155600101805463ffffffff191660e060020a8b81170417905590913316907f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc905160405180910390a3600193505060005b600554811015612a1f57600580548290811061295757fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061298a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156129f157600080fd5b6102c65a03f11515612a0257600080fd5b505050604051805190501515612a1757600080fd5b60010161293f565b505050949350505050565b50600160a060020a031660009081526006602052604090205460ff1690565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614612a7957600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b600554811015612b7d576005805482908110612ab557fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110612ae857fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612b4f57600080fd5b6102c65a03f11515612b6057600080fd5b505050604051805190501515612b7557600080fd5b600101612a9d565b87600160a060020a031633600160a060020a03167f283faba4b8dcfe263728666be500623fdf5ae89ac78e40952fe2493f918ed62c898989604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a3600154600160a060020a031663b756d5a28989898960006040516020015260405160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381600087803b1515612c5457600080fd5b6102c65a03f11515612c6557600080fd5b50505060405180519350505060005b600554811015612d54576005805482908110612c8c57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110612cbf57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612d2657600080fd5b6102c65a03f11515612d3757600080fd5b505050604051805190501515612d4c57600080fd5b600101612c74565b505095945050505050565b604080519081016040526000808252602082015290565b815481835581811511612da257600202816002028360005260206000209182019101612da29190612da7565b505050565b612de391905b80821115612ddf57805473ffffffffffffffffffffffffffffffffffffffff1916815560006001820155600201612dad565b5090565b905600a165627a7a72305820645d61722e519e71a0e8c56d47a7117ab6cec4dd9955e1bab84bbc45dd31b5670029a165627a7a72305820e7e9ad861b366c8391084f4de642fd20eec31ced87c0d0d0b10d18daa5c3d42d0029",
  "deployedBytecode": "0x6060604052600436106100325763ffffffff60e060020a6000350416635b7c7b0c8114610037578063722c9c3b146100b1575b600080fd5b341561004257600080fd5b61009560048035906024803580820192908101359160443580820192908101359160643580820192908101359160843580820192908101359160a435908101910135600160a060020a0360c435166100f6565b604051600160a060020a03909116815260200160405180910390f35b34156100bc57600080fd5b6100f460048035600160a060020a03169060248035808201929081013591604435808201929081013591606435908101910135610206565b005b60006101f58d8d8d8080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050508c8c8080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437508d94506104b29350505050565b9d9c50505050505050505050505050565b600160a060020a038781166000908152602081905260408120549091829133821691161461023357600080fd5b88600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561027957600080fd5b6102c65a03f1151561028a57600080fd5b5050506040518051925060009150505b868110156103bb57600160a060020a03821663e869d45f8989848181106102bd57fe5b90506020020135600160a060020a031688888581811015156102db57fe5b602002919091013590508787868181106102f157fe5b905060200201357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168d60006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527fffffffff0000000000000000000000000000000000000000000000000000000090911660448301529091166064820152608401602060405180830381600087803b151561039857600080fd5b6102c65a03f115156103a957600080fd5b5050506040518051505060010161029a565b81600160a060020a031663039de01d308b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561041a57600080fd5b6102c65a03f1151561042b57600080fd5b50505060405180515050600160a060020a03891660009081526020819052604090819020805473ffffffffffffffffffffffffffffffffffffffff191690557f9007c9042f12be953f7dbe3909f56c3f088e9fe294dbebbef4a67afa63462b6a908a9051600160a060020a03909116815260200160405180910390a1505050505050505050565b6000806000806000808b8b6104c5610a31565b808060200180602001838103835285818151815260200191508051906020019080838360005b838110156105035780820151838201526020016104eb565b50505050905090810190601f1680156105305780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561056657808201518382015260200161054e565b50505050905090810190601f1680156105935780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015156105b057600080fd5b94506105ba610a41565b604051809103906000f08015156105d057600080fd5b93508c85856105dd610a51565b928352600160a060020a0391821660208401521660408083019190915260609091019051809103906000f080151561061457600080fd5b9250600090505b89518110156107705784600160a060020a03166340c10f198b838151811061063f57fe5b906020019060200201518b848151811061065557fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156106ab57600080fd5b6102c65a03f115156106bc57600080fd5b50505060405180515050600160a060020a03841663fd9bf3aa8b83815181106106e157fe5b906020019060200201518a84815181106106f757fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561074d57600080fd5b6102c65a03f1151561075e57600080fd5b5050506040518051505060010161061b565b600160a060020a03871615156108185782610789610a61565b600160a060020a039091168152602001604051809103906000f08015156107af57600080fd5b915082600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156107ff57600080fd5b6102c65a03f1151561081057600080fd5b5050506108e0565b86915082600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561086957600080fd5b6102c65a03f1151561087a57600080fd5b50505086600160a060020a031663b99813648460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156108cb57600080fd5b6102c65a03f115156108dc57600080fd5b5050505b84600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561092e57600080fd5b6102c65a03f1151561093f57600080fd5b50505083600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561099057600080fd5b6102c65a03f115156109a157600080fd5b505050600160a060020a0383811660009081526020819052604090819020805473ffffffffffffffffffffffffffffffffffffffff191633909316929092179091557f244496352f5e67e59ce96b4a53ef9ea7cb88b7db33eb13dc5e771bd04385a60e90849051600160a060020a03909116815260200160405180910390a150909b9a5050505050505050505050565b604051610e9280610a7283390190565b60405161039a8061190483390190565b6040516109d580611c9e83390190565b60405161301a8061267383390190560060606040526003805460a060020a60ff0219169055341561001f57600080fd5b604051610e92380380610e928339810160405280805182019190602001805160038054600160a060020a03191633600160a060020a0316179055919091019050600482805161007292916020019061008e565b50600581805161008692916020019061008e565b505050610129565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cf57805160ff19168380011785556100fc565b828001600101855582156100fc579182015b828111156100fc5782518255916020019190600101906100e1565b5061010892915061010c565b5090565b61012691905b808211156101085760008155600101610112565b90565b610d5a806101386000396000f3006060604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010b57806306fdde0314610132578063095ea7b3146101bc57806318160ddd146101de57806323b872dd1461020357806340c10f191461022b57806342966c681461024d57806366188463146102655780636ab55fd91461028757806370a082311461029a5780637d64bcb4146102b957806383197ef0146102cc5780638da5cb5b146102df57806395d89b411461030e578063a9059cbb14610321578063d73dd62314610343578063dd62ed3e14610365578063f2fde38b1461038a578063f5074f41146103a9575b600080fd5b341561011657600080fd5b61011e6103c8565b604051901515815260200160405180910390f35b341561013d57600080fd5b6101456103d8565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610181578082015183820152602001610169565b50505050905090810190601f1680156101ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c757600080fd5b61011e600160a060020a0360043516602435610476565b34156101e957600080fd5b6101f16104e2565b60405190815260200160405180910390f35b341561020e57600080fd5b61011e600160a060020a03600435811690602435166044356104e8565b341561023657600080fd5b61011e600160a060020a036004351660243561066a565b341561025857600080fd5b610263600435610777565b005b341561027057600080fd5b61011e600160a060020a0360043516602435610832565b341561029257600080fd5b6101f161092c565b34156102a557600080fd5b6101f1600160a060020a0360043516610931565b34156102c457600080fd5b61011e61094c565b34156102d757600080fd5b6102636109d7565b34156102ea57600080fd5b6102f2610a00565b604051600160a060020a03909116815260200160405180910390f35b341561031957600080fd5b610145610a0f565b341561032c57600080fd5b61011e600160a060020a0360043516602435610a7a565b341561034e57600080fd5b61011e600160a060020a0360043516602435610b75565b341561037057600080fd5b6101f1600160a060020a0360043581169060243516610c19565b341561039557600080fd5b610263600160a060020a0360043516610c44565b34156103b457600080fd5b610263600160a060020a0360043516610cdf565b60035460a060020a900460ff1681565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b820191906000526020600020905b81548152906001019060200180831161045157829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a03831615156104ff57600080fd5b600160a060020a03841660009081526001602052604090205482111561052457600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482111561055757600080fd5b600160a060020a038416600090815260016020526040902054610580908363ffffffff610d0616565b600160a060020a0380861660009081526001602052604080822093909355908516815220546105b5908363ffffffff610d1816565b600160a060020a038085166000908152600160209081526040808320949094558783168252600281528382203390931682529190915220546105fd908363ffffffff610d0616565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a0390811691161461068857600080fd5b60035460a060020a900460ff161561069f57600080fd5b6000546106b2908363ffffffff610d1816565b6000908155600160a060020a0384168152600160205260409020546106dd908363ffffffff610d1816565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160a060020a03331660009081526001602052604081205482111561079c57600080fd5b5033600160a060020a0381166000908152600160205260409020546107c19083610d06565b600160a060020a038216600090815260016020526040812091909155546107ee908363ffffffff610d0616565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561088f57600160a060020a0333811660009081526002602090815260408083209388168352929052908120556108c6565b61089f818463ffffffff610d0616565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b601281565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a0390811691161461096a57600080fd5b60035460a060020a900460ff161561098157600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a039081169116146109f257600080fd5b600354600160a060020a0316ff5b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b6000600160a060020a0383161515610a9157600080fd5b600160a060020a033316600090815260016020526040902054821115610ab657600080fd5b600160a060020a033316600090815260016020526040902054610adf908363ffffffff610d0616565b600160a060020a033381166000908152600160205260408082209390935590851681522054610b14908363ffffffff610d1816565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610bad908363ffffffff610d1816565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610c5f57600080fd5b600160a060020a0381161515610c7457600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610cfa57600080fd5b80600160a060020a0316ff5b600082821115610d1257fe5b50900390565b600082820183811015610d2757fe5b93925050505600a165627a7a7230582015c808ce2d1c6fc5adc988d00a52117661c47ce966bdec764891c4ffe8df9aa6002960606040526012600355341561001457600080fd5b60008054600160a060020a033316600160a060020a0319909116811782558152600160205260408120819055600255610348806100526000396000f3006060604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461007c578063313ce567146100a15780638da5cb5b146100b4578063db89c044146100e3578063f2fde38b14610102578063fd9bf3aa14610123575b600080fd5b341561008757600080fd5b61008f610159565b60405190815260200160405180910390f35b34156100ac57600080fd5b61008f61015f565b34156100bf57600080fd5b6100c7610165565b604051600160a060020a03909116815260200160405180910390f35b34156100ee57600080fd5b61008f600160a060020a0360043516610174565b341561010d57600080fd5b610121600160a060020a036004351661018f565b005b341561012e57600080fd5b610145600160a060020a036004351660243561022a565b604051901515815260200160405180910390f35b60025481565b60035481565b600054600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a039081169116146101aa57600080fd5b600160a060020a03811615156101bf57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a0390811691161461024857600080fd5b50600160a060020a03831660009081526001602052604081205483919082011261029757600160a060020a038416600090815260016020526040902080548401905560028054840190556102c3565b50600160a060020a03831660009081526001602052604081208054600280548290039055919055600019025b83600160a060020a03167f6f734b566c5e1cb976d9c7fba184b96a698a18931dd345168b16db217f8df0dd8260405190815260200160405180910390a260019150600254600090121561031557600080fd5b50929150505600a165627a7a72305820cb6b665f925c5fb361352f7a8515736a2f42c673c814c537a5e2d6d2193e29cc00296060604052341561000f57600080fd5b6040516060806109d583398101604052808051919060200180519190602001805160008054600160a060020a03338116600160a060020a031992831617909255600196909655600280549582169587169590951790945560038054949091169390941692909217909255505061094b8061008a6000396000f3006060604052600436106100955763ffffffff60e060020a6000350416631386dc2d81146100d45780636ce15a54146100f957806389ae1c901461016a5780638cf1355c146101995780638da5cb5b146101c1578063b756d5a2146101d4578063cb16d4a214610202578063d29ab9c414610224578063dab0efff1461024c578063e1758bd814610274578063f2fde38b14610287575b33600160a060020a03167ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a7043963460405190815260200160405180910390a2005b34156100df57600080fd5b6100e76102a8565b60405190815260200160405180910390f35b341561010457600080fd5b61015660048035600160a060020a03169060446024803590810190830135806020808202016040519081016040528093929190818152602001838360200280828437509496506102ae95505050505050565b604051901515815260200160405180910390f35b341561017557600080fd5b61017d610400565b604051600160a060020a03909116815260200160405180910390f35b34156101a457600080fd5b610156600160a060020a036004358116906024351660443561040f565b34156101cc57600080fd5b61017d6104fb565b34156101df57600080fd5b610156600160a060020a036004358116906024358116906044351660643561050a565b341561020d57600080fd5b610156600435600160a060020a0360243516610610565b341561022f57600080fd5b610156600160a060020a03600435811690602435166044356106a3565b341561025757600080fd5b610156600160a060020a036004358116906024351660443561078f565b341561027f57600080fd5b61017d610875565b341561029257600080fd5b6102a6600160a060020a0360043516610884565b005b60015481565b6000805433600160a060020a039081169116146102ca57600080fd5b82600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8360405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561033557808201518382015260200161031d565b505050509050019250505060405180910390a282600160a060020a03166040517f616374696f6e28627974657333325b5d290000000000000000000000000000008152601101604051809103902060e060020a900460208451856040518463ffffffff1660e060020a02815260040180848152602001838152602001828051906020019060200280838360005b838110156103da5780820151838201526020016103c2565b5050505090500193505050506000604051808303818661646e5a03f49695505050505050565b600354600160a060020a031681565b6000805433600160a060020a0390811691161461042b57600080fd5b83600160a060020a031663d73dd623848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561048857600080fd5b6102c65a03f1151561049957600080fd5b50505060405180515050600160a060020a0384167fbe7df27d98bd0614ae920a695c2c2be09c164d8456083da020a98538692c465f8484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461052657600080fd5b84600160a060020a03166323b872dd85858560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561059057600080fd5b6102c65a03f115156105a157600080fd5b50505060405180515050600160a060020a0385167f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e843858585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a2506001949350505050565b6000805433600160a060020a0390811691161461062c57600080fd5b600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561065d57600080fd5b81600160a060020a03167f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c8460405190815260200160405180910390a250600192915050565b6000805433600160a060020a039081169116146106bf57600080fd5b83600160a060020a03166366188463848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071c57600080fd5b6102c65a03f1151561072d57600080fd5b50505060405180515050600160a060020a0384167f495e426dd61227fe840d969dfba17620c573364af8c37748ea71f96f744ae3348484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b6000805433600160a060020a039081169116146107ab57600080fd5b83600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561080857600080fd5b6102c65a03f1151561081957600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d8460405190815260200160405180910390a35060019392505050565b600254600160a060020a031681565b60005433600160a060020a0390811691161461089f57600080fd5b600160a060020a03811615156108b457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058209fb765046638e28965ad32417323386abb52967769e0e58d579f0f4f17f4c53e0029606060405234156200001057600080fd5b6040516020806200301a8339810160405280805160018054600160a060020a031916600160a060020a03838116919091179182905591935016905063e1758bd86000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515620000a157600080fd5b6102c65a03f11515620000b357600080fd5b505050604051805160028054600160a060020a031916600160a060020a039283161790556001541690506389ae1c906000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156200013357600080fd5b6102c65a03f115156200014557600080fd5b505050604051805160038054600160a060020a031916600160a060020a03929092169190911790555060408051908101604090815260008083527c0f00000000000000000000000000000000000000000000000000000000602080850191909152600160a060020a033316825281905220815181556020820151600190910180547c010000000000000000000000000000000000000000000000000000000090920463ffffffff199092169190911790555050612e1280620002086000396000f30060606040526004361061013a5763ffffffff60e060020a600035041663039de01d811461014a5780631c4d5608146101835780633a02263c146101ba57806342427bf8146101e95780634f52b5be1461020e5780635aef7de6146102335780636035174814610246578063634965da146102a05780636407e432146102c8578063644b98ed146102f057806364f47ace1461031f57806365ab1ae8146103585780636c525b13146103905780636cfc6582146103af578063824f2f1f146103d757806389ae1c90146103f65780639b51e35a146104095780639be2faed1461044b578063b9a04cdd14610470578063c6ab78b91461049f578063db6149ce146104ce578063e1758bd81461050f578063e4537a7414610522578063e869d45f1461054b578063f76488be14610582578063fb4856a2146105a7575b341561014557600080fd5b600080fd5b341561015557600080fd5b61016f600160a060020a03600435811690602435166105dc565b604051901515815260200160405180910390f35b341561018e57600080fd5b6101a8600160a060020a036004358116906024351661091a565b60405190815260200160405180910390f35b34156101c557600080fd5b6101cd610936565b604051600160a060020a03909116815260200160405180910390f35b34156101f457600080fd5b61016f600160a060020a0360043581169060243516610945565b341561021957600080fd5b61016f600160a060020a0360043581169060243516610c58565b341561023e57600080fd5b6101cd610e6d565b341561025157600080fd5b61016f600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050509235600160a060020a03169250610e7c915050565b34156102ab57600080fd5b61016f600435600160a060020a03602435811690604435166111d9565b34156102d357600080fd5b61016f600435600160a060020a03602435811690604435166114bd565b34156102fb57600080fd5b61016f600160a060020a036004358116906024358116906044359060643516611797565b341561032a57600080fd5b61033e600160a060020a0360043516611a99565b604051911515825260208201526040908101905180910390f35b341561036357600080fd5b61036e600435611ab8565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561039b57600080fd5b61016f600160a060020a0360043516611aee565b34156103ba57600080fd5b61016f600435600160a060020a0360243581169060443516611b6b565b34156103e257600080fd5b6101a8600160a060020a0360043516611e45565b341561040157600080fd5b6101cd611e4c565b341561041457600080fd5b61042e600160a060020a0360043581169060243516611e5b565b604051600160e060020a0319909116815260200160405180910390f35b341561045657600080fd5b61016f600160a060020a0360043581169060243516611e80565b341561047b57600080fd5b61016f600160a060020a036004358116906024358116906044359060643516611eaa565b34156104aa57600080fd5b61016f600160a060020a03600435811690602435811690604435906064351661219b565b34156104d957600080fd5b6104ed600160a060020a0360043516612493565b604051918252600160e060020a03191660208201526040908101905180910390f35b341561051a57600080fd5b6101cd6124b2565b341561052d57600080fd5b61016f600160a060020a0360043581169060243590604435166124c1565b341561055657600080fd5b61016f600160a060020a0360043581169060243590600160e060020a031960443516906064351661268c565b341561058d57600080fd5b61016f600160a060020a0360043581169060243516612a2a565b34156105b257600080fd5b61016f600160a060020a036004358116906024358116906044358116906064359060843516612a49565b600160a060020a03331660009081526020819052604081206001015460e060020a027c02000000000000000000000000000000000000000000000000000000009081161461062957600080fd5b7f756e7265676973746572536368656d650000000000000000000000000000000060005b60055481101561072d57600580548290811061066557fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061069857fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156106ff57600080fd5b6102c65a03f1151561071057600080fd5b50505060405180519050151561072557600080fd5b60010161064d565b600160a060020a03851660009081526020819052604090206001015460e060020a908102161515610761576000925061082e565b33600160a060020a0390811660009081526020819052604080822060019081015493891683529120015460e060020a918202199102167c0f0000000000000000000000000000000000000000000000000000000016156107c057600080fd5b84600160a060020a031633600160a060020a03167f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf60405160405180910390a3600160a060020a03851660009081526020819052604081209081556001908101805463ffffffff1916905592505b5060005b60055481101561091257600580548290811061084a57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061087d57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156108e457600080fd5b6102c65a03f115156108f557600080fd5b50505060405180519050151561090a57600080fd5b600101610832565b505092915050565b50600160a060020a031660009081526020819052604090205490565b600454600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a027c08000000000000000000000000000000000000000000000000000000009081161461099257600080fd5b600454600160a060020a0316156109a857600080fd5b600160a060020a03831615156109bd57600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091556001541663f2fde38b8460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610a3257600080fd5b6102c65a03f11515610a4357600080fd5b5050600254600160a060020a03308116925016638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610a9257600080fd5b6102c65a03f11515610aa357600080fd5b50505060405180519050600160a060020a03161415610b2157600254600160a060020a031663f2fde38b8460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610b0c57600080fd5b6102c65a03f11515610b1d57600080fd5b5050505b600354600160a060020a033081169116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b6d57600080fd5b6102c65a03f11515610b7e57600080fd5b50505060405180519050600160a060020a03161415610bfc57600354600160a060020a031663f2fde38b8460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610be757600080fd5b6102c65a03f11515610bf857600080fd5b5050505b6004547fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd903090600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a150600192915050565b6000610c62612d5f565b610c6a612d5f565b600160a060020a03331660009081526020819052604090206001015460e060020a027c040000000000000000000000000000000000000000000000000000000090811614610cb757600080fd5b600160a060020a03851660009081526006602052604090819020908051908101604052815460ff161515815260019091015460208201529150815115610e62576005546000190160208301511015610dd457600580546000198101908110610d1b57fe5b9060005260206000209060020201604080519081016040528154600160a060020a03168152600190910154602080830191909152909150819060059084015181548110610d6457fe5b90600052602060002090600202016000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600190910155506020820151600660008351600160a060020a031681526020810191909152604001600020600101555b6005805490610de7906000198301612d76565b50600160a060020a03851660009081526006602090815260408220805460ff19168155600101919091557f6ceab662049113d466f7e28b69edbec7cf641bc175522623536b09785887982a908690840151604051600160a060020a03909216825260208201526040908101905180910390a160019250610912565b506000949350505050565b600154600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614610eac57600080fd5b7f67656e65726963416374696f6e0000000000000000000000000000000000000060005b600554811015610fb0576005805482908110610ee857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110610f1b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610f8257600080fd5b6102c65a03f11515610f9357600080fd5b505050604051805190501515610fa857600080fd5b600101610ed0565b33600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8660405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561101b578082015183820152602001611003565b505050509050019250505060405180910390a2600154600160a060020a0316636ce15a5433876000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156110b457808201518382015260200161109c565b505050509050019350505050602060405180830381600087803b15156110d957600080fd5b6102c65a03f115156110ea57600080fd5b50505060405180519350505060005b60055481101561091257600580548290811061111157fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061114457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156111ab57600080fd5b6102c65a03f115156111bc57600080fd5b5050506040518051905015156111d157600080fd5b6001016110f9565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461120957600080fd5b7f73656e644574686572000000000000000000000000000000000000000000000060005b60055481101561130d57600580548290811061124557fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061127857fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156112df57600080fd5b6102c65a03f115156112f057600080fd5b50505060405180519050151561130557600080fd5b60010161122d565b84600160a060020a031633600160a060020a03167fda35e091786fbaaace32084910404a0e3a14f22a7645a4c3d0fec2c6731e3c348860405190815260200160405180910390a3600154600160a060020a031663cb16d4a2878760006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156113b457600080fd5b6102c65a03f115156113c557600080fd5b50505060405180519350505060005b6005548110156114b45760058054829081106113ec57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061141f57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561148657600080fd5b6102c65a03f1151561149757600080fd5b5050506040518051905015156114ac57600080fd5b6001016113d4565b50509392505050565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146114ed57600080fd5b7f6d696e74546f6b656e730000000000000000000000000000000000000000000060005b6005548110156115f157600580548290811061152957fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061155c57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156115c357600080fd5b6102c65a03f115156115d457600080fd5b5050506040518051905015156115e957600080fd5b600101611511565b84600160a060020a031633600160a060020a03167f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e8860405190815260200160405180910390a3600254600160a060020a03166340c10f19868860006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561169757600080fd5b6102c65a03f115156116a857600080fd5b50505060405180519350505060005b6005548110156114b45760058054829081106116cf57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061170257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561176957600080fd5b6102c65a03f1151561177a57600080fd5b50505060405180519050151561178f57600080fd5b6001016116b7565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146117c757600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b6005548110156118cb57600580548290811061180357fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061183657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561189d57600080fd5b6102c65a03f115156118ae57600080fd5b5050506040518051905015156118c357600080fd5b6001016117eb565b86600160a060020a031633600160a060020a03167f2cee0640e7c161518a78fa901d8c0e4b2f51d42612532184a4f017a45b01ba288888604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a0316638cf1355c88888860006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561198f57600080fd5b6102c65a03f115156119a057600080fd5b50505060405180519350505060005b600554811015611a8f5760058054829081106119c757fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d913391859081106119fa57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611a6157600080fd5b6102c65a03f11515611a7257600080fd5b505050604051805190501515611a8757600080fd5b6001016119af565b5050949350505050565b6006602052600090815260409020805460019091015460ff9091169082565b6005805482908110611ac657fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b6000611afb336000611e80565b1515611b0957506000611b66565b600160a060020a0333166000818152602081905260408082209182556001909101805463ffffffff1916905581907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf905160405180910390a35060015b919050565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614611b9b57600080fd5b7f6d696e7452657075746174696f6e00000000000000000000000000000000000060005b600554811015611c9f576005805482908110611bd757fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611c0a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611c7157600080fd5b6102c65a03f11515611c8257600080fd5b505050604051805190501515611c9757600080fd5b600101611bbf565b84600160a060020a031633600160a060020a03167fb6ced7e295ffd06d19f45bd872b3bd3fd172b1ba53b17ce0543c276d06f5a4228860405190815260200160405180910390a3600354600160a060020a031663fd9bf3aa868860006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611d4557600080fd5b6102c65a03f11515611d5657600080fd5b50505060405180519350505060005b6005548110156114b4576005805482908110611d7d57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110611db057fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611e1757600080fd5b6102c65a03f11515611e2857600080fd5b505050604051805190501515611e3d57600080fd5b600101611d65565b5060055490565b600354600160a060020a031681565b50600160a060020a031660009081526020819052604090206001015460e060020a0290565b50600160a060020a031660009081526020819052604090206001015460e060020a90810216151590565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614611eda57600080fd5b7f65787465726e616c546f6b656e5472616e73666572000000000000000000000060005b600554811015611fde576005805482908110611f1657fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611f4957fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611fb057600080fd5b6102c65a03f11515611fc157600080fd5b505050604051805190501515611fd657600080fd5b600101611efe565b85600160a060020a031687600160a060020a031633600160a060020a03167fd4c08afec48fd2cbe49032dc89d3b388b7a4e4f0563a1fdccd73339beb025aa18860405190815260200160405180910390a4600154600160a060020a031663dab0efff88888860006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561209b57600080fd5b6102c65a03f115156120ac57600080fd5b50505060405180519350505060005b600554811015611a8f5760058054829081106120d357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061210657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561216d57600080fd5b6102c65a03f1151561217e57600080fd5b50505060405180519050151561219357600080fd5b6001016120bb565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146121cb57600080fd5b7f65787465726e616c546f6b656e4465637265617365417070726f76616c00000060005b6005548110156122cf57600580548290811061220757fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061223a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156122a157600080fd5b6102c65a03f115156122b257600080fd5b5050506040518051905015156122c757600080fd5b6001016121ef565b86600160a060020a031633600160a060020a03167f56fc1f50d44108d3b715d77eb371d388bf2998c65b4eb5cf0ccd6c055be46d498888604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a031663d29ab9c488888860006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561239357600080fd5b6102c65a03f115156123a457600080fd5b50505060405180519350505060005b600554811015611a8f5760058054829081106123cb57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d913391859081106123fe57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561246557600080fd5b6102c65a03f1151561247657600080fd5b50505060405180519050151561248b57600080fd5b6001016123b3565b6000602081905290815260409020805460019091015460e060020a0282565b600254600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a027c04000000000000000000000000000000000000000000000000000000009081161461250e57600080fd5b600160a060020a03841660009081526006602052604090205460ff1615156125fe5760058054600181016125428382612d76565b9160005260206000209060020201600060408051908101604052600160a060020a0388168152602081018790529190508151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001909101555060409050805190810160409081526001825260055460001901602080840191909152600160a060020a03871660009081526006909152208151815460ff191690151517815560208201516001909101555061263e565b600160a060020a03841660009081526006602052604090206001015460058054859290811061262957fe5b60009182526020909120600160029092020101555b7f6f3ac186000a779fe66d0a5188f51993a6593d93c4ff052ec0453aa84f09dbcb8484604051600160a060020a03909216825260208201526040908101905180910390a15060019392505050565b6000612696612d5f565b600160a060020a03331660009081526020819052604090206001015460e060020a027c0200000000000000000000000000000000000000000000000000000000908116146126e357600080fd5b7f7265676973746572536368656d6500000000000000000000000000000000000060005b6005548110156127e757600580548290811061271f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061275257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156127b957600080fd5b6102c65a03f115156127ca57600080fd5b5050506040518051905015156127df57600080fd5b600101612707565b600160a060020a03881660009081526020819052604090819020908051908101604090815282548252600192830154600160e060020a031960e060020a918202166020808501918252600160a060020a03331660009081529081905292832090940154929650909291021990518818167c0f00000000000000000000000000000000000000000000000000000000161461288057600080fd5b600160a060020a03331660009081526020818152604082206001015460e060020a021990850151167c0f0000000000000000000000000000000000000000000000000000000016146128d157600080fd5b600160a060020a03888116600081815260208190526040908190208a8155600101805463ffffffff191660e060020a8b81170417905590913316907f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc905160405180910390a3600193505060005b600554811015612a1f57600580548290811061295757fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061298a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156129f157600080fd5b6102c65a03f11515612a0257600080fd5b505050604051805190501515612a1757600080fd5b60010161293f565b505050949350505050565b50600160a060020a031660009081526006602052604090205460ff1690565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614612a7957600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b600554811015612b7d576005805482908110612ab557fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110612ae857fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612b4f57600080fd5b6102c65a03f11515612b6057600080fd5b505050604051805190501515612b7557600080fd5b600101612a9d565b87600160a060020a031633600160a060020a03167f283faba4b8dcfe263728666be500623fdf5ae89ac78e40952fe2493f918ed62c898989604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a3600154600160a060020a031663b756d5a28989898960006040516020015260405160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381600087803b1515612c5457600080fd5b6102c65a03f11515612c6557600080fd5b50505060405180519350505060005b600554811015612d54576005805482908110612c8c57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110612cbf57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612d2657600080fd5b6102c65a03f11515612d3757600080fd5b505050604051805190501515612d4c57600080fd5b600101612c74565b505095945050505050565b604080519081016040526000808252602082015290565b815481835581811511612da257600202816002028360005260206000209182019101612da29190612da7565b505050565b612de391905b80821115612ddf57805473ffffffffffffffffffffffffffffffffffffffff1916815560006001820155600201612dad565b5090565b905600a165627a7a72305820645d61722e519e71a0e8c56d47a7117ab6cec4dd9955e1bab84bbc45dd31b5670029a165627a7a72305820e7e9ad861b366c8391084f4de642fd20eec31ced87c0d0d0b10d18daa5c3d42d0029",
  "sourceMap": "276:4943:21:-;;;424:31;;;;;;;;276:4943;;;;;;",
  "deployedSourceMap": "276:4943:21:-;;;;;;;;;-1:-1:-1;;;276:4943:21;;;;;;;;;;;;;;;;;;1251:606;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1251:606:21;;;;;;;;-1:-1:-1;;;;;1251:606:21;;;;;;;;;;;;;;2169:804;;;;;;;;;;;;;-1:-1:-1;;;;;2169:804:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1251:606;1530:7;1646:204;1669:8;1691:10;;1646:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1715:12;;1646:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1741:9;;1646:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:20;;1646:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1798:25;;1646:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:12:21;;-1:-1:-1;1646:9:21;;-1:-1:-1;;;;1646:204:21:i;:::-;1639:211;1251:606;-1:-1:-1;;;;;;;;;;;;;1251:606:21:o;2169:804::-;-1:-1:-1;;;;;2455:23:21;;;2541:30;2455:23;;;;;;;;;;;2541:30;;;;2482:10;2455:37;;:23;;:37;2447:46;;;;;;2594:7;-1:-1:-1;;;;;2594:13:21;;:15;;;;;;;;;;;-1:-1:-1;;;2594:15:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2635:1:21;;-1:-1:-1;;2620:156:21;2639:19;;;2620:156;;;-1:-1:-1;;;;;2681:25:21;;;2707:8;;2716:1;2707:11;;;;;;;;;;;;;-1:-1:-1;;;;;2707:11:21;2720:7;;2728:1;2720:10;;;;;;;;;;;;;;;;;-1:-1:-1;2732:12:21;;2745:1;2732:15;;;;;;;;;;;;;;;;2756:7;2681:84;;;;;;;;-1:-1:-1;;;2681:84:21;;;;;;-1:-1:-1;;;;;2681:84:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2661:3:21;;2620:156;;;2814:10;-1:-1:-1;;;;;2814:27:21;;2842:4;2855:7;2814:50;;;;;;;;-1:-1:-1;;;2814:50:21;;;;;;-1:-1:-1;;;;;2814:50:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;2906:14:21;;:5;:14;;;;;;;;;;;;2899:21;;-1:-1:-1;;2899:21:21;;;2931:35;;2912:7;;2931:35;-1:-1:-1;;;;;2931:35:21;;;;;;;;;;;;;;2169:804;;;;;;;;;:::o;3785:1432::-;4050:7;4121:21;4193:28;4250:14;4328:31;4426:6;4158:10;4170:12;4145:38;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4121:62:21;;4224:16;;:::i;:::-;;;;;;;;;;;;;;;;;;4193:47;;4278:8;4288:11;4301:16;4267:51;;:::i;:::-;;;;-1:-1:-1;;;;;4267:51:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4250:68;;4435:1;4426:10;;4421:204;4443:9;:16;4439:1;:20;4421:204;;;4482:11;-1:-1:-1;;;;;4482:16:21;;4499:9;4509:1;4499:12;;;;;;;;;;;;;;;;4512:20;4533:1;4512:23;;;;;;;;;;;;;;;;4482:54;;;;;;;;-1:-1:-1;;;4482:54:21;;;;;;-1:-1:-1;;;;;4482:54:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;4550:21:21;;;4572:9;4582:1;4572:9;:12;;;;;;;;;;;;;;;4585:25;4611:1;4585:28;;;;;;;;;;;;;;;;4550:64;;;;;;;;-1:-1:-1;;;4550:64:21;;;;;;-1:-1:-1;;;;;4550:64:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4462:3:21;;4421:204;;;-1:-1:-1;;;;;4669:30:21;;;4665:302;;;4743:6;4728:22;;:::i;:::-;-1:-1:-1;;;;;4728:22:21;;;;;;;;;;;;;;;;;;;;;;;;4715:35;;4764:6;-1:-1:-1;;;;;4764:24:21;;4789:10;4764:36;;-1:-1:-1;;;4764:36:21;;;;;;-1:-1:-1;;;;;4764:36:21;;;;;;;;;-1:-1:-1;4764:36:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4665:302;;;4844:12;4831:25;;4870:6;-1:-1:-1;;;;;4870:24:21;;4895:10;4870:36;;-1:-1:-1;;;4870:36:21;;;;;;-1:-1:-1;;;;;4870:36:21;;;;;;;;;-1:-1:-1;4870:36:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4920:12;-1:-1:-1;;;;;4920:28:21;;4949:6;4920:36;;-1:-1:-1;;;4920:36:21;;;;;;-1:-1:-1;;;;;4920:36:21;;;;;;;;;-1:-1:-1;4920:36:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4665:302;5007:11;-1:-1:-1;;;;;5007:29:21;;5037:10;5007:41;;-1:-1:-1;;;5007:41:21;;;;;;-1:-1:-1;;;;;5007:41:21;;;;;;;;;-1:-1:-1;5007:41:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:16;-1:-1:-1;;;;;5058:34:21;;5093:10;5058:46;;-1:-1:-1;;;5058:46:21;;;;;;-1:-1:-1;;;;;5058:46:21;;;;;;;;;-1:-1:-1;5058:46:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;5115:13:21;;;:5;:13;;;;;;;;;;;;:26;;-1:-1:-1;;5115:26:21;5131:10;5115:26;;;;;;;;;;5152:24;;5115:13;;5152:24;-1:-1:-1;;;;;5152:24:21;;;;;;;;;;;;;;-1:-1:-1;5202:6:21;;3785:1432;-1:-1:-1;;;;;;;;;;;3785:1432:21:o;276:4943::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../controller/DAOToken.sol\";\nimport \"../controller/Reputation.sol\";\nimport \"./UniversalScheme.sol\";\nimport \"../controller/UController.sol\";\nimport \"../controller/Controller.sol\";\n\n\n/**\n * @title Genesis Scheme that creates organizations\n */\n\ncontract DaoCreator {\n\n    mapping(address=>address) locks;\n\n    event NewOrg (address _avatar);\n    event InitialSchemesSet (address _avatar);\n    function DaoCreator() public {}\n  /**\n    * @dev Create a new organization\n    * @param _orgName The name of the new organization\n    * @param _tokenName The name of the token associated with the organization\n    * @param _tokenSymbol The symbol of the token\n    * @param _founders An array with the addresses of the founders of the organization\n    * @param _foundersTokenAmount An array of amount of tokens that the founders\n    *  receive in the new organization\n    * @param _foundersReputationAmount An array of amount of reputation that the\n    *   founders receive in the new organization\n    * @param  _uController universal controller instance\n    *         if _uController address equal to zero the organization will use none universal controller.\n    * @return The address of the avatar of the controller\n    */\n    function forgeOrg (\n        bytes32 _orgName,\n        string _tokenName,\n        string _tokenSymbol,\n        address[] _founders,\n        uint[] _foundersTokenAmount,\n        int[] _foundersReputationAmount,\n        UController _uController\n      )\n      external\n      returns(address)\n      {\n        //The call for the private function is needed to bypass a deep stack issues\n        return _forgeOrg(\n            _orgName,\n            _tokenName,\n            _tokenSymbol,\n            _founders,\n            _foundersTokenAmount,\n            _foundersReputationAmount,\n            _uController);\n    }\n\n     /**\n      * @dev Set initial schemes for the organization.\n      * @param _avatar organization avatar (returns from forgeOrg)\n      * @param _schemes the schemes to register for the organization\n      * @param _params the schemes's params\n      * @param _permissions the schemes permissions.\n      */\n    function setSchemes (\n        Avatar _avatar,\n        address[] _schemes,\n        bytes32[] _params,\n        bytes4[] _permissions\n    )\n        external\n    {\n        // this action can only be executed by the account that holds the lock\n        // for this controller\n        require(locks[address(_avatar)] == msg.sender);\n\n        // register initial schemes:\n        ControllerInterface controller = ControllerInterface(_avatar.owner());\n        for ( uint i = 0 ; i < _schemes.length ; i++ ) {\n            controller.registerScheme(_schemes[i], _params[i], _permissions[i],address(_avatar));\n        }\n\n        // Unregister self:\n        controller.unregisterScheme(this,address(_avatar));\n\n        // Remove lock:\n        delete locks[_avatar];\n\n        InitialSchemesSet(address(_avatar));\n    }\n\n    /**\n     * @dev Create a new organization\n     * @param _orgName The name of the new organization\n     * @param _tokenName The name of the token associated with the organization\n     * @param _tokenSymbol The symbol of the token\n     * @param _founders An array with the addresses of the founders of the organization\n     * @param _foundersTokenAmount An array of amount of tokens that the founders\n     *  receive in the new organization\n     * @param _foundersReputationAmount An array of amount of reputation that the\n     *   founders receive in the new organization\n     * @param  _uController universal controller instance\n     *         if _uController address equal to zero the organization will use none universal controller.\n     * @return The address of the avatar of the controller\n     */\n    function _forgeOrg (\n        bytes32 _orgName,\n        string _tokenName,\n        string _tokenSymbol,\n        address[] _founders,\n        uint[] _foundersTokenAmount,\n        int[] _foundersReputationAmount,\n        UController _uController\n    ) private returns(address)\n    {\n        // Create Token, Reputation and Avatar:\n        DAOToken  nativeToken = new DAOToken(_tokenName, _tokenSymbol);\n        Reputation  nativeReputation = new Reputation();\n        Avatar  avatar = new Avatar(_orgName, nativeToken, nativeReputation);\n        ControllerInterface  controller;\n\n        // Mint token and reputation for founders:\n        for (uint i = 0 ; i < _founders.length ; i++ ) {\n            nativeToken.mint(_founders[i],_foundersTokenAmount[i]);\n            nativeReputation.mint(_founders[i],_foundersReputationAmount[i]);\n        }\n\n        // Create Controller:\n        if (UController(0) == _uController) {\n            controller = new Controller(avatar);\n            avatar.transferOwnership(controller);\n        } else {\n            controller = _uController;\n            avatar.transferOwnership(controller);\n            _uController.newOrganization(avatar);\n        }\n        // Transfer ownership:\n        nativeToken.transferOwnership(controller);\n        nativeReputation.transferOwnership(controller);\n\n        locks[avatar] = msg.sender;\n\n        NewOrg (address(avatar));\n        return (address(avatar));\n    }\n}\n",
  "sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/DaoCreator.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/DaoCreator.sol",
      "exportedSymbols": {
        "DaoCreator": [
          8006
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 7716,
        "name": "PragmaDirective",
        "src": "0:24:21"
      },
      {
        "attributes": {
          "SourceUnit": 5208,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/DAOToken.sol",
          "file": "../controller/DAOToken.sol",
          "scope": 8007,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7717,
        "name": "ImportDirective",
        "src": "26:36:21"
      },
      {
        "attributes": {
          "SourceUnit": 5353,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/Reputation.sol",
          "file": "../controller/Reputation.sol",
          "scope": 8007,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7718,
        "name": "ImportDirective",
        "src": "63:38:21"
      },
      {
        "attributes": {
          "SourceUnit": 9586,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 8007,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7719,
        "name": "ImportDirective",
        "src": "102:31:21"
      },
      {
        "attributes": {
          "SourceUnit": 6674,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/UController.sol",
          "file": "../controller/UController.sol",
          "scope": 8007,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7720,
        "name": "ImportDirective",
        "src": "134:39:21"
      },
      {
        "attributes": {
          "SourceUnit": 4968,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/controller/Controller.sol",
          "file": "../controller/Controller.sol",
          "scope": 8007,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7721,
        "name": "ImportDirective",
        "src": "174:38:21"
      },
      {
        "attributes": {
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            3873,
            4967,
            5207,
            5352
          ],
          "contractKind": "contract",
          "documentation": "@title Genesis Scheme that creates organizations",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            8006
          ],
          "name": "DaoCreator",
          "scope": 8007
        },
        "children": [
          {
            "attributes": {
              "constant": false,
              "name": "locks",
              "scope": 8006,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => address)",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => address)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 7722,
                    "name": "ElementaryTypeName",
                    "src": "311:7:21"
                  },
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 7723,
                    "name": "ElementaryTypeName",
                    "src": "320:7:21"
                  }
                ],
                "id": 7724,
                "name": "Mapping",
                "src": "303:25:21"
              }
            ],
            "id": 7725,
            "name": "VariableDeclaration",
            "src": "303:31:21"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "NewOrg"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_avatar",
                      "scope": 7729,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7726,
                        "name": "ElementaryTypeName",
                        "src": "355:7:21"
                      }
                    ],
                    "id": 7727,
                    "name": "VariableDeclaration",
                    "src": "355:15:21"
                  }
                ],
                "id": 7728,
                "name": "ParameterList",
                "src": "354:17:21"
              }
            ],
            "id": 7729,
            "name": "EventDefinition",
            "src": "341:31:21"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "InitialSchemesSet"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_avatar",
                      "scope": 7733,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7730,
                        "name": "ElementaryTypeName",
                        "src": "402:7:21"
                      }
                    ],
                    "id": 7731,
                    "name": "VariableDeclaration",
                    "src": "402:15:21"
                  }
                ],
                "id": 7732,
                "name": "ParameterList",
                "src": "401:17:21"
              }
            ],
            "id": 7733,
            "name": "EventDefinition",
            "src": "377:42:21"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "DaoCreator",
              "payable": false,
              "scope": 8006,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7734,
                "name": "ParameterList",
                "src": "443:2:21"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7735,
                "name": "ParameterList",
                "src": "453:0:21"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 7736,
                "name": "Block",
                "src": "453:2:21"
              }
            ],
            "id": 7737,
            "name": "FunctionDefinition",
            "src": "424:31:21"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "forgeOrg",
              "payable": false,
              "scope": 8006,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_orgName",
                      "scope": 7770,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7738,
                        "name": "ElementaryTypeName",
                        "src": "1279:7:21"
                      }
                    ],
                    "id": 7739,
                    "name": "VariableDeclaration",
                    "src": "1279:16:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_tokenName",
                      "scope": 7770,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "string calldata",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string storage pointer"
                        },
                        "id": 7740,
                        "name": "ElementaryTypeName",
                        "src": "1305:6:21"
                      }
                    ],
                    "id": 7741,
                    "name": "VariableDeclaration",
                    "src": "1305:17:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_tokenSymbol",
                      "scope": 7770,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "string calldata",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string storage pointer"
                        },
                        "id": 7742,
                        "name": "ElementaryTypeName",
                        "src": "1332:6:21"
                      }
                    ],
                    "id": 7743,
                    "name": "VariableDeclaration",
                    "src": "1332:19:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_founders",
                      "scope": 7770,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address[] calldata",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "address[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 7744,
                            "name": "ElementaryTypeName",
                            "src": "1361:7:21"
                          }
                        ],
                        "id": 7745,
                        "name": "ArrayTypeName",
                        "src": "1361:9:21"
                      }
                    ],
                    "id": 7746,
                    "name": "VariableDeclaration",
                    "src": "1361:19:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_foundersTokenAmount",
                      "scope": 7770,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] calldata",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7747,
                            "name": "ElementaryTypeName",
                            "src": "1390:4:21"
                          }
                        ],
                        "id": 7748,
                        "name": "ArrayTypeName",
                        "src": "1390:6:21"
                      }
                    ],
                    "id": 7749,
                    "name": "VariableDeclaration",
                    "src": "1390:27:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_foundersReputationAmount",
                      "scope": 7770,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256[] calldata",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "int256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 7750,
                            "name": "ElementaryTypeName",
                            "src": "1427:3:21"
                          }
                        ],
                        "id": 7751,
                        "name": "ArrayTypeName",
                        "src": "1427:5:21"
                      }
                    ],
                    "id": 7752,
                    "name": "VariableDeclaration",
                    "src": "1427:31:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_uController",
                      "scope": 7770,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract UController",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "UController",
                          "referencedDeclaration": 6673,
                          "type": "contract UController"
                        },
                        "id": 7753,
                        "name": "UserDefinedTypeName",
                        "src": "1468:11:21"
                      }
                    ],
                    "id": 7754,
                    "name": "VariableDeclaration",
                    "src": "1468:24:21"
                  }
                ],
                "id": 7755,
                "name": "ParameterList",
                "src": "1269:231:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7770,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7756,
                        "name": "ElementaryTypeName",
                        "src": "1530:7:21"
                      }
                    ],
                    "id": 7757,
                    "name": "VariableDeclaration",
                    "src": "1530:7:21"
                  }
                ],
                "id": 7758,
                "name": "ParameterList",
                "src": "1529:9:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 7758
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "address",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                },
                                {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                  "typeString": "address[] calldata"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                                  "typeString": "uint256[] calldata"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr",
                                  "typeString": "int256[] calldata"
                                },
                                {
                                  "typeIdentifier": "t_contract$_UController_$6673",
                                  "typeString": "contract UController"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8005,
                              "type": "function (bytes32,string memory,string memory,address[] memory,uint256[] memory,int256[] memory,contract UController) returns (address)",
                              "value": "_forgeOrg"
                            },
                            "id": 7759,
                            "name": "Identifier",
                            "src": "1646:9:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7739,
                              "type": "bytes32",
                              "value": "_orgName"
                            },
                            "id": 7760,
                            "name": "Identifier",
                            "src": "1669:8:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7741,
                              "type": "string calldata",
                              "value": "_tokenName"
                            },
                            "id": 7761,
                            "name": "Identifier",
                            "src": "1691:10:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7743,
                              "type": "string calldata",
                              "value": "_tokenSymbol"
                            },
                            "id": 7762,
                            "name": "Identifier",
                            "src": "1715:12:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7746,
                              "type": "address[] calldata",
                              "value": "_founders"
                            },
                            "id": 7763,
                            "name": "Identifier",
                            "src": "1741:9:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7749,
                              "type": "uint256[] calldata",
                              "value": "_foundersTokenAmount"
                            },
                            "id": 7764,
                            "name": "Identifier",
                            "src": "1764:20:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7752,
                              "type": "int256[] calldata",
                              "value": "_foundersReputationAmount"
                            },
                            "id": 7765,
                            "name": "Identifier",
                            "src": "1798:25:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7754,
                              "type": "contract UController",
                              "value": "_uController"
                            },
                            "id": 7766,
                            "name": "Identifier",
                            "src": "1837:12:21"
                          }
                        ],
                        "id": 7767,
                        "name": "FunctionCall",
                        "src": "1646:204:21"
                      }
                    ],
                    "id": 7768,
                    "name": "Return",
                    "src": "1639:211:21"
                  }
                ],
                "id": 7769,
                "name": "Block",
                "src": "1545:312:21"
              }
            ],
            "id": 7770,
            "name": "FunctionDefinition",
            "src": "1251:606:21"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setSchemes",
              "payable": false,
              "scope": 8006,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 7854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3873,
                          "type": "contract Avatar"
                        },
                        "id": 7771,
                        "name": "UserDefinedTypeName",
                        "src": "2199:6:21"
                      }
                    ],
                    "id": 7772,
                    "name": "VariableDeclaration",
                    "src": "2199:14:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_schemes",
                      "scope": 7854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address[] calldata",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "address[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 7773,
                            "name": "ElementaryTypeName",
                            "src": "2223:7:21"
                          }
                        ],
                        "id": 7774,
                        "name": "ArrayTypeName",
                        "src": "2223:9:21"
                      }
                    ],
                    "id": 7775,
                    "name": "VariableDeclaration",
                    "src": "2223:18:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_params",
                      "scope": 7854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32[] calldata",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "bytes32[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 7776,
                            "name": "ElementaryTypeName",
                            "src": "2251:7:21"
                          }
                        ],
                        "id": 7777,
                        "name": "ArrayTypeName",
                        "src": "2251:9:21"
                      }
                    ],
                    "id": 7778,
                    "name": "VariableDeclaration",
                    "src": "2251:17:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_permissions",
                      "scope": 7854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes4[] calldata",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "bytes4[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes4",
                              "type": "bytes4"
                            },
                            "id": 7779,
                            "name": "ElementaryTypeName",
                            "src": "2278:6:21"
                          }
                        ],
                        "id": 7780,
                        "name": "ArrayTypeName",
                        "src": "2278:8:21"
                      }
                    ],
                    "id": 7781,
                    "name": "VariableDeclaration",
                    "src": "2278:21:21"
                  }
                ],
                "id": 7782,
                "name": "ParameterList",
                "src": "2189:116:21"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7783,
                "name": "ParameterList",
                "src": "2327:0:21"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 7784,
                            "name": "Identifier",
                            "src": "2447:7:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7725,
                                      "type": "mapping(address => address)",
                                      "value": "locks"
                                    },
                                    "id": 7785,
                                    "name": "Identifier",
                                    "src": "2455:5:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "address",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_contract$_Avatar_$3873",
                                              "typeString": "contract Avatar"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "type": "type(address)",
                                          "value": "address"
                                        },
                                        "id": 7786,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "2461:7:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7772,
                                          "type": "contract Avatar",
                                          "value": "_avatar"
                                        },
                                        "id": 7787,
                                        "name": "Identifier",
                                        "src": "2469:7:21"
                                      }
                                    ],
                                    "id": 7788,
                                    "name": "FunctionCall",
                                    "src": "2461:16:21"
                                  }
                                ],
                                "id": 7789,
                                "name": "IndexAccess",
                                "src": "2455:23:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12011,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 7790,
                                    "name": "Identifier",
                                    "src": "2482:3:21"
                                  }
                                ],
                                "id": 7791,
                                "name": "MemberAccess",
                                "src": "2482:10:21"
                              }
                            ],
                            "id": 7792,
                            "name": "BinaryOperation",
                            "src": "2455:37:21"
                          }
                        ],
                        "id": 7793,
                        "name": "FunctionCall",
                        "src": "2447:46:21"
                      }
                    ],
                    "id": 7794,
                    "name": "ExpressionStatement",
                    "src": "2447:46:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7796
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "controller",
                          "scope": 7854,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract ControllerInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "ControllerInterface",
                              "referencedDeclaration": 5172,
                              "type": "contract ControllerInterface"
                            },
                            "id": 7795,
                            "name": "UserDefinedTypeName",
                            "src": "2541:19:21"
                          }
                        ],
                        "id": 7796,
                        "name": "VariableDeclaration",
                        "src": "2541:30:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract ControllerInterface",
                          "type_conversion": true
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5172,
                              "type": "type(contract ControllerInterface)",
                              "value": "ControllerInterface"
                            },
                            "id": 7797,
                            "name": "Identifier",
                            "src": "2574:19:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "arguments": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "owner",
                                  "referencedDeclaration": 11393,
                                  "type": "function () view external returns (address)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7772,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 7798,
                                    "name": "Identifier",
                                    "src": "2594:7:21"
                                  }
                                ],
                                "id": 7799,
                                "name": "MemberAccess",
                                "src": "2594:13:21"
                              }
                            ],
                            "id": 7800,
                            "name": "FunctionCall",
                            "src": "2594:15:21"
                          }
                        ],
                        "id": 7801,
                        "name": "FunctionCall",
                        "src": "2574:36:21"
                      }
                    ],
                    "id": 7802,
                    "name": "VariableDeclarationStatement",
                    "src": "2541:69:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            7804
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "i",
                              "scope": 7854,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 7803,
                                "name": "ElementaryTypeName",
                                "src": "2626:4:21"
                              }
                            ],
                            "id": 7804,
                            "name": "VariableDeclaration",
                            "src": "2626:6:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 7805,
                            "name": "Literal",
                            "src": "2635:1:21"
                          }
                        ],
                        "id": 7806,
                        "name": "VariableDeclarationStatement",
                        "src": "2626:10:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7804,
                              "type": "uint256",
                              "value": "i"
                            },
                            "id": 7807,
                            "name": "Identifier",
                            "src": "2639:1:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "length",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7775,
                                  "type": "address[] calldata",
                                  "value": "_schemes"
                                },
                                "id": 7808,
                                "name": "Identifier",
                                "src": "2643:8:21"
                              }
                            ],
                            "id": 7809,
                            "name": "MemberAccess",
                            "src": "2643:15:21"
                          }
                        ],
                        "id": 7810,
                        "name": "BinaryOperation",
                        "src": "2639:19:21"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7804,
                                  "type": "uint256",
                                  "value": "i"
                                },
                                "id": 7811,
                                "name": "Identifier",
                                "src": "2661:1:21"
                              }
                            ],
                            "id": 7812,
                            "name": "UnaryOperation",
                            "src": "2661:3:21"
                          }
                        ],
                        "id": 7813,
                        "name": "ExpressionStatement",
                        "src": "2661:3:21"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bool",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "registerScheme",
                                      "referencedDeclaration": 5008,
                                      "type": "function (address,bytes32,bytes4,address) external returns (bool)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7796,
                                          "type": "contract ControllerInterface",
                                          "value": "controller"
                                        },
                                        "id": 7814,
                                        "name": "Identifier",
                                        "src": "2681:10:21"
                                      }
                                    ],
                                    "id": 7816,
                                    "name": "MemberAccess",
                                    "src": "2681:25:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "address"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7775,
                                          "type": "address[] calldata",
                                          "value": "_schemes"
                                        },
                                        "id": 7817,
                                        "name": "Identifier",
                                        "src": "2707:8:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7804,
                                          "type": "uint256",
                                          "value": "i"
                                        },
                                        "id": 7818,
                                        "name": "Identifier",
                                        "src": "2716:1:21"
                                      }
                                    ],
                                    "id": 7819,
                                    "name": "IndexAccess",
                                    "src": "2707:11:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7778,
                                          "type": "bytes32[] calldata",
                                          "value": "_params"
                                        },
                                        "id": 7820,
                                        "name": "Identifier",
                                        "src": "2720:7:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7804,
                                          "type": "uint256",
                                          "value": "i"
                                        },
                                        "id": 7821,
                                        "name": "Identifier",
                                        "src": "2728:1:21"
                                      }
                                    ],
                                    "id": 7822,
                                    "name": "IndexAccess",
                                    "src": "2720:10:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "bytes4"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7781,
                                          "type": "bytes4[] calldata",
                                          "value": "_permissions"
                                        },
                                        "id": 7823,
                                        "name": "Identifier",
                                        "src": "2732:12:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7804,
                                          "type": "uint256",
                                          "value": "i"
                                        },
                                        "id": 7824,
                                        "name": "Identifier",
                                        "src": "2745:1:21"
                                      }
                                    ],
                                    "id": 7825,
                                    "name": "IndexAccess",
                                    "src": "2732:15:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "address",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_contract$_Avatar_$3873",
                                              "typeString": "contract Avatar"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "type": "type(address)",
                                          "value": "address"
                                        },
                                        "id": 7826,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "2748:7:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7772,
                                          "type": "contract Avatar",
                                          "value": "_avatar"
                                        },
                                        "id": 7827,
                                        "name": "Identifier",
                                        "src": "2756:7:21"
                                      }
                                    ],
                                    "id": 7828,
                                    "name": "FunctionCall",
                                    "src": "2748:16:21"
                                  }
                                ],
                                "id": 7829,
                                "name": "FunctionCall",
                                "src": "2681:84:21"
                              }
                            ],
                            "id": 7830,
                            "name": "ExpressionStatement",
                            "src": "2681:84:21"
                          }
                        ],
                        "id": 7831,
                        "name": "Block",
                        "src": "2667:109:21"
                      }
                    ],
                    "id": 7832,
                    "name": "ForStatement",
                    "src": "2620:156:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_DaoCreator_$8006",
                                  "typeString": "contract DaoCreator"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "unregisterScheme",
                              "referencedDeclaration": 5017,
                              "type": "function (address,address) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7796,
                                  "type": "contract ControllerInterface",
                                  "value": "controller"
                                },
                                "id": 7833,
                                "name": "Identifier",
                                "src": "2814:10:21"
                              }
                            ],
                            "id": 7835,
                            "name": "MemberAccess",
                            "src": "2814:27:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12092,
                              "type": "contract DaoCreator",
                              "value": "this"
                            },
                            "id": 7836,
                            "name": "Identifier",
                            "src": "2842:4:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 7837,
                                "name": "ElementaryTypeNameExpression",
                                "src": "2847:7:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7772,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 7838,
                                "name": "Identifier",
                                "src": "2855:7:21"
                              }
                            ],
                            "id": 7839,
                            "name": "FunctionCall",
                            "src": "2847:16:21"
                          }
                        ],
                        "id": 7840,
                        "name": "FunctionCall",
                        "src": "2814:50:21"
                      }
                    ],
                    "id": 7841,
                    "name": "ExpressionStatement",
                    "src": "2814:50:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7725,
                                  "type": "mapping(address => address)",
                                  "value": "locks"
                                },
                                "id": 7842,
                                "name": "Identifier",
                                "src": "2906:5:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7772,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 7843,
                                "name": "Identifier",
                                "src": "2912:7:21"
                              }
                            ],
                            "id": 7844,
                            "name": "IndexAccess",
                            "src": "2906:14:21"
                          }
                        ],
                        "id": 7845,
                        "name": "UnaryOperation",
                        "src": "2899:21:21"
                      }
                    ],
                    "id": 7846,
                    "name": "ExpressionStatement",
                    "src": "2899:21:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7733,
                              "type": "function (address)",
                              "value": "InitialSchemesSet"
                            },
                            "id": 7847,
                            "name": "Identifier",
                            "src": "2931:17:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 7848,
                                "name": "ElementaryTypeNameExpression",
                                "src": "2949:7:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7772,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 7849,
                                "name": "Identifier",
                                "src": "2957:7:21"
                              }
                            ],
                            "id": 7850,
                            "name": "FunctionCall",
                            "src": "2949:16:21"
                          }
                        ],
                        "id": 7851,
                        "name": "FunctionCall",
                        "src": "2931:35:21"
                      }
                    ],
                    "id": 7852,
                    "name": "ExpressionStatement",
                    "src": "2931:35:21"
                  }
                ],
                "id": 7853,
                "name": "Block",
                "src": "2327:646:21"
              }
            ],
            "id": 7854,
            "name": "FunctionDefinition",
            "src": "2169:804:21"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "_forgeOrg",
              "payable": false,
              "scope": 8006,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "private"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_orgName",
                      "scope": 8005,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7855,
                        "name": "ElementaryTypeName",
                        "src": "3814:7:21"
                      }
                    ],
                    "id": 7856,
                    "name": "VariableDeclaration",
                    "src": "3814:16:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_tokenName",
                      "scope": 8005,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "string memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string storage pointer"
                        },
                        "id": 7857,
                        "name": "ElementaryTypeName",
                        "src": "3840:6:21"
                      }
                    ],
                    "id": 7858,
                    "name": "VariableDeclaration",
                    "src": "3840:17:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_tokenSymbol",
                      "scope": 8005,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "string memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string storage pointer"
                        },
                        "id": 7859,
                        "name": "ElementaryTypeName",
                        "src": "3867:6:21"
                      }
                    ],
                    "id": 7860,
                    "name": "VariableDeclaration",
                    "src": "3867:19:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_founders",
                      "scope": 8005,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "address[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 7861,
                            "name": "ElementaryTypeName",
                            "src": "3896:7:21"
                          }
                        ],
                        "id": 7862,
                        "name": "ArrayTypeName",
                        "src": "3896:9:21"
                      }
                    ],
                    "id": 7863,
                    "name": "VariableDeclaration",
                    "src": "3896:19:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_foundersTokenAmount",
                      "scope": 8005,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7864,
                            "name": "ElementaryTypeName",
                            "src": "3925:4:21"
                          }
                        ],
                        "id": 7865,
                        "name": "ArrayTypeName",
                        "src": "3925:6:21"
                      }
                    ],
                    "id": 7866,
                    "name": "VariableDeclaration",
                    "src": "3925:27:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_foundersReputationAmount",
                      "scope": 8005,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "int256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 7867,
                            "name": "ElementaryTypeName",
                            "src": "3962:3:21"
                          }
                        ],
                        "id": 7868,
                        "name": "ArrayTypeName",
                        "src": "3962:5:21"
                      }
                    ],
                    "id": 7869,
                    "name": "VariableDeclaration",
                    "src": "3962:31:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_uController",
                      "scope": 8005,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract UController",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "UController",
                          "referencedDeclaration": 6673,
                          "type": "contract UController"
                        },
                        "id": 7870,
                        "name": "UserDefinedTypeName",
                        "src": "4003:11:21"
                      }
                    ],
                    "id": 7871,
                    "name": "VariableDeclaration",
                    "src": "4003:24:21"
                  }
                ],
                "id": 7872,
                "name": "ParameterList",
                "src": "3804:229:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8005,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7873,
                        "name": "ElementaryTypeName",
                        "src": "4050:7:21"
                      }
                    ],
                    "id": 7874,
                    "name": "VariableDeclaration",
                    "src": "4050:7:21"
                  }
                ],
                "id": 7875,
                "name": "ParameterList",
                "src": "4049:9:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        7877
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "nativeToken",
                          "scope": 8005,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract DAOToken",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "DAOToken",
                              "referencedDeclaration": 5207,
                              "type": "contract DAOToken"
                            },
                            "id": 7876,
                            "name": "UserDefinedTypeName",
                            "src": "4121:8:21"
                          }
                        ],
                        "id": 7877,
                        "name": "VariableDeclaration",
                        "src": "4121:21:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract DAOToken",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "function (string memory,string memory) returns (contract DAOToken)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "contractScope": null,
                                  "name": "DAOToken",
                                  "referencedDeclaration": 5207,
                                  "type": "contract DAOToken"
                                },
                                "id": 7878,
                                "name": "UserDefinedTypeName",
                                "src": "4149:8:21"
                              }
                            ],
                            "id": 7879,
                            "name": "NewExpression",
                            "src": "4145:12:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7858,
                              "type": "string memory",
                              "value": "_tokenName"
                            },
                            "id": 7880,
                            "name": "Identifier",
                            "src": "4158:10:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7860,
                              "type": "string memory",
                              "value": "_tokenSymbol"
                            },
                            "id": 7881,
                            "name": "Identifier",
                            "src": "4170:12:21"
                          }
                        ],
                        "id": 7882,
                        "name": "FunctionCall",
                        "src": "4145:38:21"
                      }
                    ],
                    "id": 7883,
                    "name": "VariableDeclarationStatement",
                    "src": "4121:62:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7885
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "nativeReputation",
                          "scope": 8005,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract Reputation",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Reputation",
                              "referencedDeclaration": 5352,
                              "type": "contract Reputation"
                            },
                            "id": 7884,
                            "name": "UserDefinedTypeName",
                            "src": "4193:10:21"
                          }
                        ],
                        "id": 7885,
                        "name": "VariableDeclaration",
                        "src": "4193:28:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "arguments": [
                            null
                          ],
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract Reputation",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "function () returns (contract Reputation)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "contractScope": null,
                                  "name": "Reputation",
                                  "referencedDeclaration": 5352,
                                  "type": "contract Reputation"
                                },
                                "id": 7886,
                                "name": "UserDefinedTypeName",
                                "src": "4228:10:21"
                              }
                            ],
                            "id": 7887,
                            "name": "NewExpression",
                            "src": "4224:14:21"
                          }
                        ],
                        "id": 7888,
                        "name": "FunctionCall",
                        "src": "4224:16:21"
                      }
                    ],
                    "id": 7889,
                    "name": "VariableDeclarationStatement",
                    "src": "4193:47:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7891
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "avatar",
                          "scope": 8005,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract Avatar",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Avatar",
                              "referencedDeclaration": 3873,
                              "type": "contract Avatar"
                            },
                            "id": 7890,
                            "name": "UserDefinedTypeName",
                            "src": "4250:6:21"
                          }
                        ],
                        "id": 7891,
                        "name": "VariableDeclaration",
                        "src": "4250:14:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract Avatar",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_DAOToken_$5207",
                                  "typeString": "contract DAOToken"
                                },
                                {
                                  "typeIdentifier": "t_contract$_Reputation_$5352",
                                  "typeString": "contract Reputation"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "function (bytes32,contract DAOToken,contract Reputation) returns (contract Avatar)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "contractScope": null,
                                  "name": "Avatar",
                                  "referencedDeclaration": 3873,
                                  "type": "contract Avatar"
                                },
                                "id": 7892,
                                "name": "UserDefinedTypeName",
                                "src": "4271:6:21"
                              }
                            ],
                            "id": 7893,
                            "name": "NewExpression",
                            "src": "4267:10:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7856,
                              "type": "bytes32",
                              "value": "_orgName"
                            },
                            "id": 7894,
                            "name": "Identifier",
                            "src": "4278:8:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7877,
                              "type": "contract DAOToken",
                              "value": "nativeToken"
                            },
                            "id": 7895,
                            "name": "Identifier",
                            "src": "4288:11:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7885,
                              "type": "contract Reputation",
                              "value": "nativeReputation"
                            },
                            "id": 7896,
                            "name": "Identifier",
                            "src": "4301:16:21"
                          }
                        ],
                        "id": 7897,
                        "name": "FunctionCall",
                        "src": "4267:51:21"
                      }
                    ],
                    "id": 7898,
                    "name": "VariableDeclarationStatement",
                    "src": "4250:68:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "controller",
                          "scope": 8005,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract ControllerInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "ControllerInterface",
                              "referencedDeclaration": 5172,
                              "type": "contract ControllerInterface"
                            },
                            "id": 7899,
                            "name": "UserDefinedTypeName",
                            "src": "4328:19:21"
                          }
                        ],
                        "id": 7900,
                        "name": "VariableDeclaration",
                        "src": "4328:31:21"
                      }
                    ],
                    "id": 7901,
                    "name": "VariableDeclarationStatement",
                    "src": "4328:31:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            7903
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "i",
                              "scope": 8005,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 7902,
                                "name": "ElementaryTypeName",
                                "src": "4426:4:21"
                              }
                            ],
                            "id": 7903,
                            "name": "VariableDeclaration",
                            "src": "4426:6:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 7904,
                            "name": "Literal",
                            "src": "4435:1:21"
                          }
                        ],
                        "id": 7905,
                        "name": "VariableDeclarationStatement",
                        "src": "4426:10:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7903,
                              "type": "uint256",
                              "value": "i"
                            },
                            "id": 7906,
                            "name": "Identifier",
                            "src": "4439:1:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "length",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7863,
                                  "type": "address[] memory",
                                  "value": "_founders"
                                },
                                "id": 7907,
                                "name": "Identifier",
                                "src": "4443:9:21"
                              }
                            ],
                            "id": 7908,
                            "name": "MemberAccess",
                            "src": "4443:16:21"
                          }
                        ],
                        "id": 7909,
                        "name": "BinaryOperation",
                        "src": "4439:20:21"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7903,
                                  "type": "uint256",
                                  "value": "i"
                                },
                                "id": 7910,
                                "name": "Identifier",
                                "src": "4462:1:21"
                              }
                            ],
                            "id": 7911,
                            "name": "UnaryOperation",
                            "src": "4462:3:21"
                          }
                        ],
                        "id": 7912,
                        "name": "ExpressionStatement",
                        "src": "4462:3:21"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bool",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "mint",
                                      "referencedDeclaration": 11733,
                                      "type": "function (address,uint256) external returns (bool)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7877,
                                          "type": "contract DAOToken",
                                          "value": "nativeToken"
                                        },
                                        "id": 7913,
                                        "name": "Identifier",
                                        "src": "4482:11:21"
                                      }
                                    ],
                                    "id": 7915,
                                    "name": "MemberAccess",
                                    "src": "4482:16:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "address"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7863,
                                          "type": "address[] memory",
                                          "value": "_founders"
                                        },
                                        "id": 7916,
                                        "name": "Identifier",
                                        "src": "4499:9:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7903,
                                          "type": "uint256",
                                          "value": "i"
                                        },
                                        "id": 7917,
                                        "name": "Identifier",
                                        "src": "4509:1:21"
                                      }
                                    ],
                                    "id": 7918,
                                    "name": "IndexAccess",
                                    "src": "4499:12:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7866,
                                          "type": "uint256[] memory",
                                          "value": "_foundersTokenAmount"
                                        },
                                        "id": 7919,
                                        "name": "Identifier",
                                        "src": "4512:20:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7903,
                                          "type": "uint256",
                                          "value": "i"
                                        },
                                        "id": 7920,
                                        "name": "Identifier",
                                        "src": "4533:1:21"
                                      }
                                    ],
                                    "id": 7921,
                                    "name": "IndexAccess",
                                    "src": "4512:23:21"
                                  }
                                ],
                                "id": 7922,
                                "name": "FunctionCall",
                                "src": "4482:54:21"
                              }
                            ],
                            "id": 7923,
                            "name": "ExpressionStatement",
                            "src": "4482:54:21"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bool",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "mint",
                                      "referencedDeclaration": 5351,
                                      "type": "function (address,int256) external returns (bool)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7885,
                                          "type": "contract Reputation",
                                          "value": "nativeReputation"
                                        },
                                        "id": 7924,
                                        "name": "Identifier",
                                        "src": "4550:16:21"
                                      }
                                    ],
                                    "id": 7926,
                                    "name": "MemberAccess",
                                    "src": "4550:21:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "address"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7863,
                                          "type": "address[] memory",
                                          "value": "_founders"
                                        },
                                        "id": 7927,
                                        "name": "Identifier",
                                        "src": "4572:9:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7903,
                                          "type": "uint256",
                                          "value": "i"
                                        },
                                        "id": 7928,
                                        "name": "Identifier",
                                        "src": "4582:1:21"
                                      }
                                    ],
                                    "id": 7929,
                                    "name": "IndexAccess",
                                    "src": "4572:12:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "int256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7869,
                                          "type": "int256[] memory",
                                          "value": "_foundersReputationAmount"
                                        },
                                        "id": 7930,
                                        "name": "Identifier",
                                        "src": "4585:25:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7903,
                                          "type": "uint256",
                                          "value": "i"
                                        },
                                        "id": 7931,
                                        "name": "Identifier",
                                        "src": "4611:1:21"
                                      }
                                    ],
                                    "id": 7932,
                                    "name": "IndexAccess",
                                    "src": "4585:28:21"
                                  }
                                ],
                                "id": 7933,
                                "name": "FunctionCall",
                                "src": "4550:64:21"
                              }
                            ],
                            "id": 7934,
                            "name": "ExpressionStatement",
                            "src": "4550:64:21"
                          }
                        ],
                        "id": 7935,
                        "name": "Block",
                        "src": "4468:157:21"
                      }
                    ],
                    "id": 7936,
                    "name": "ForStatement",
                    "src": "4421:204:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_contract$_UController_$6673",
                            "typeString": "contract UController"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract UController",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6673,
                                  "type": "type(contract UController)",
                                  "value": "UController"
                                },
                                "id": 7937,
                                "name": "Identifier",
                                "src": "4669:11:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 7938,
                                "name": "Literal",
                                "src": "4681:1:21"
                              }
                            ],
                            "id": 7939,
                            "name": "FunctionCall",
                            "src": "4669:14:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7871,
                              "type": "contract UController",
                              "value": "_uController"
                            },
                            "id": 7940,
                            "name": "Identifier",
                            "src": "4687:12:21"
                          }
                        ],
                        "id": 7941,
                        "name": "BinaryOperation",
                        "src": "4669:30:21"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "contract ControllerInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7900,
                                      "type": "contract ControllerInterface",
                                      "value": "controller"
                                    },
                                    "id": 7942,
                                    "name": "Identifier",
                                    "src": "4715:10:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "contract Controller",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_contract$_Avatar_$3873",
                                              "typeString": "contract Avatar"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "function (contract Avatar) returns (contract Controller)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "contractScope": null,
                                              "name": "Controller",
                                              "referencedDeclaration": 4967,
                                              "type": "contract Controller"
                                            },
                                            "id": 7943,
                                            "name": "UserDefinedTypeName",
                                            "src": "4732:10:21"
                                          }
                                        ],
                                        "id": 7944,
                                        "name": "NewExpression",
                                        "src": "4728:14:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7891,
                                          "type": "contract Avatar",
                                          "value": "avatar"
                                        },
                                        "id": 7945,
                                        "name": "Identifier",
                                        "src": "4743:6:21"
                                      }
                                    ],
                                    "id": 7946,
                                    "name": "FunctionCall",
                                    "src": "4728:22:21"
                                  }
                                ],
                                "id": 7947,
                                "name": "Assignment",
                                "src": "4715:35:21"
                              }
                            ],
                            "id": 7948,
                            "name": "ExpressionStatement",
                            "src": "4715:35:21"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "tuple()",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_ControllerInterface_$5172",
                                          "typeString": "contract ControllerInterface"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "transferOwnership",
                                      "referencedDeclaration": 11444,
                                      "type": "function (address) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7891,
                                          "type": "contract Avatar",
                                          "value": "avatar"
                                        },
                                        "id": 7949,
                                        "name": "Identifier",
                                        "src": "4764:6:21"
                                      }
                                    ],
                                    "id": 7951,
                                    "name": "MemberAccess",
                                    "src": "4764:24:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7900,
                                      "type": "contract ControllerInterface",
                                      "value": "controller"
                                    },
                                    "id": 7952,
                                    "name": "Identifier",
                                    "src": "4789:10:21"
                                  }
                                ],
                                "id": 7953,
                                "name": "FunctionCall",
                                "src": "4764:36:21"
                              }
                            ],
                            "id": 7954,
                            "name": "ExpressionStatement",
                            "src": "4764:36:21"
                          }
                        ],
                        "id": 7955,
                        "name": "Block",
                        "src": "4701:110:21"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "contract ControllerInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7900,
                                      "type": "contract ControllerInterface",
                                      "value": "controller"
                                    },
                                    "id": 7956,
                                    "name": "Identifier",
                                    "src": "4831:10:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7871,
                                      "type": "contract UController",
                                      "value": "_uController"
                                    },
                                    "id": 7957,
                                    "name": "Identifier",
                                    "src": "4844:12:21"
                                  }
                                ],
                                "id": 7958,
                                "name": "Assignment",
                                "src": "4831:25:21"
                              }
                            ],
                            "id": 7959,
                            "name": "ExpressionStatement",
                            "src": "4831:25:21"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "tuple()",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_ControllerInterface_$5172",
                                          "typeString": "contract ControllerInterface"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "transferOwnership",
                                      "referencedDeclaration": 11444,
                                      "type": "function (address) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7891,
                                          "type": "contract Avatar",
                                          "value": "avatar"
                                        },
                                        "id": 7960,
                                        "name": "Identifier",
                                        "src": "4870:6:21"
                                      }
                                    ],
                                    "id": 7962,
                                    "name": "MemberAccess",
                                    "src": "4870:24:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7900,
                                      "type": "contract ControllerInterface",
                                      "value": "controller"
                                    },
                                    "id": 7963,
                                    "name": "Identifier",
                                    "src": "4895:10:21"
                                  }
                                ],
                                "id": 7964,
                                "name": "FunctionCall",
                                "src": "4870:36:21"
                              }
                            ],
                            "id": 7965,
                            "name": "ExpressionStatement",
                            "src": "4870:36:21"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "tuple()",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_Avatar_$3873",
                                          "typeString": "contract Avatar"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "newOrganization",
                                      "referencedDeclaration": 5603,
                                      "type": "function (contract Avatar) external"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7871,
                                          "type": "contract UController",
                                          "value": "_uController"
                                        },
                                        "id": 7966,
                                        "name": "Identifier",
                                        "src": "4920:12:21"
                                      }
                                    ],
                                    "id": 7968,
                                    "name": "MemberAccess",
                                    "src": "4920:28:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7891,
                                      "type": "contract Avatar",
                                      "value": "avatar"
                                    },
                                    "id": 7969,
                                    "name": "Identifier",
                                    "src": "4949:6:21"
                                  }
                                ],
                                "id": 7970,
                                "name": "FunctionCall",
                                "src": "4920:36:21"
                              }
                            ],
                            "id": 7971,
                            "name": "ExpressionStatement",
                            "src": "4920:36:21"
                          }
                        ],
                        "id": 7972,
                        "name": "Block",
                        "src": "4817:150:21"
                      }
                    ],
                    "id": 7973,
                    "name": "IfStatement",
                    "src": "4665:302:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_ControllerInterface_$5172",
                                  "typeString": "contract ControllerInterface"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "transferOwnership",
                              "referencedDeclaration": 11444,
                              "type": "function (address) external"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7877,
                                  "type": "contract DAOToken",
                                  "value": "nativeToken"
                                },
                                "id": 7974,
                                "name": "Identifier",
                                "src": "5007:11:21"
                              }
                            ],
                            "id": 7976,
                            "name": "MemberAccess",
                            "src": "5007:29:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7900,
                              "type": "contract ControllerInterface",
                              "value": "controller"
                            },
                            "id": 7977,
                            "name": "Identifier",
                            "src": "5037:10:21"
                          }
                        ],
                        "id": 7978,
                        "name": "FunctionCall",
                        "src": "5007:41:21"
                      }
                    ],
                    "id": 7979,
                    "name": "ExpressionStatement",
                    "src": "5007:41:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_ControllerInterface_$5172",
                                  "typeString": "contract ControllerInterface"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "transferOwnership",
                              "referencedDeclaration": 11444,
                              "type": "function (address) external"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7885,
                                  "type": "contract Reputation",
                                  "value": "nativeReputation"
                                },
                                "id": 7980,
                                "name": "Identifier",
                                "src": "5058:16:21"
                              }
                            ],
                            "id": 7982,
                            "name": "MemberAccess",
                            "src": "5058:34:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7900,
                              "type": "contract ControllerInterface",
                              "value": "controller"
                            },
                            "id": 7983,
                            "name": "Identifier",
                            "src": "5093:10:21"
                          }
                        ],
                        "id": 7984,
                        "name": "FunctionCall",
                        "src": "5058:46:21"
                      }
                    ],
                    "id": 7985,
                    "name": "ExpressionStatement",
                    "src": "5058:46:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7725,
                                  "type": "mapping(address => address)",
                                  "value": "locks"
                                },
                                "id": 7986,
                                "name": "Identifier",
                                "src": "5115:5:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7891,
                                  "type": "contract Avatar",
                                  "value": "avatar"
                                },
                                "id": 7987,
                                "name": "Identifier",
                                "src": "5121:6:21"
                              }
                            ],
                            "id": 7988,
                            "name": "IndexAccess",
                            "src": "5115:13:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 7989,
                                "name": "Identifier",
                                "src": "5131:3:21"
                              }
                            ],
                            "id": 7990,
                            "name": "MemberAccess",
                            "src": "5131:10:21"
                          }
                        ],
                        "id": 7991,
                        "name": "Assignment",
                        "src": "5115:26:21"
                      }
                    ],
                    "id": 7992,
                    "name": "ExpressionStatement",
                    "src": "5115:26:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7729,
                              "type": "function (address)",
                              "value": "NewOrg"
                            },
                            "id": 7993,
                            "name": "Identifier",
                            "src": "5152:6:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 7994,
                                "name": "ElementaryTypeNameExpression",
                                "src": "5160:7:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7891,
                                  "type": "contract Avatar",
                                  "value": "avatar"
                                },
                                "id": 7995,
                                "name": "Identifier",
                                "src": "5168:6:21"
                              }
                            ],
                            "id": 7996,
                            "name": "FunctionCall",
                            "src": "5160:15:21"
                          }
                        ],
                        "id": 7997,
                        "name": "FunctionCall",
                        "src": "5152:24:21"
                      }
                    ],
                    "id": 7998,
                    "name": "ExpressionStatement",
                    "src": "5152:24:21"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7875
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 7999,
                                "name": "ElementaryTypeNameExpression",
                                "src": "5194:7:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7891,
                                  "type": "contract Avatar",
                                  "value": "avatar"
                                },
                                "id": 8000,
                                "name": "Identifier",
                                "src": "5202:6:21"
                              }
                            ],
                            "id": 8001,
                            "name": "FunctionCall",
                            "src": "5194:15:21"
                          }
                        ],
                        "id": 8002,
                        "name": "TupleExpression",
                        "src": "5193:17:21"
                      }
                    ],
                    "id": 8003,
                    "name": "Return",
                    "src": "5186:24:21"
                  }
                ],
                "id": 8004,
                "name": "Block",
                "src": "4063:1154:21"
              }
            ],
            "id": 8005,
            "name": "FunctionDefinition",
            "src": "3785:1432:21"
          }
        ],
        "id": 8006,
        "name": "ContractDefinition",
        "src": "276:4943:21"
      }
    ],
    "id": 8007,
    "name": "SourceUnit",
    "src": "0:5220:21"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-02-04T21:57:39.061Z"
}