{
  "contractName": "ERC223TokenRenderer",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "inputsRenderer",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipRenounced",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_renderers",
          "type": "address[]"
        }
      ],
      "name": "setAdminWidgetRenderers",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "index",
          "type": "uint256"
        }
      ],
      "name": "getAdminWidgetRendererAt",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "numberOfAdminWidgetRenderers",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_renderers",
          "type": "address[]"
        }
      ],
      "name": "setUserWidgetRenderers",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "index",
          "type": "uint256"
        }
      ],
      "name": "getUserWidgetRendererAt",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "numberOfUserWidgetRenderers",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_locale",
          "type": "string"
        },
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "adminWidgets",
      "outputs": [
        {
          "name": "jsonObject",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_locale",
          "type": "string"
        },
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "userWidgets",
      "outputs": [
        {
          "name": "jsonObject",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_renderer",
          "type": "address"
        }
      ],
      "name": "setInputsRenderer",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_locale",
          "type": "string"
        },
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "inputs",
      "outputs": [
        {
          "name": "jsonArray",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260008054600160a060020a03191633179055610cdd806100256000396000f3006080604052600436106100ce5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416626c8e7f81146100d3578063020849be146101075780630a709e591461015e5780633634a20c146101735780635d36af89146101c8578063715018a6146101e057806385295c19146101f55780638da5cb5b1461021c578063a1f40d8f14610231578063bbb7b46a14610252578063bf3bed5414610267578063e77cee3d14610340578063e9499555146103a4578063f2fde38b14610408575b600080fd5b3480156100df57600080fd5b506100eb600435610429565b60408051600160a060020a039092168252519081900360200190f35b34801561011357600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104559650505050505050565b005b34801561016a57600080fd5b506100eb610483565b34801561017f57600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104929650505050505050565b3480156101d457600080fd5b506100eb6004356104bc565b3480156101ec57600080fd5b5061015c6104cd565b34801561020157600080fd5b5061020a610539565b60408051918252519081900360200190f35b34801561022857600080fd5b506100eb610540565b34801561023d57600080fd5b5061015c600160a060020a036004351661054f565b34801561025e57600080fd5b5061020a610595565b34801561027357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061059b92505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103055781810151838201526020016102ed565b50505050905090810190601f1680156103325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a031693506106ff92505050565b3480156103b057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061076d92505050565b34801561041457600080fd5b5061015c600160a060020a03600435166107d2565b600060028281548110151561043a57fe5b600091825260209091200154600160a060020a031692915050565b600054600160a060020a0316331461046c57600080fd5b805161047f906002906020840190610bf7565b5050565b600354600160a060020a031681565b600054600160a060020a031633146104a957600080fd5b805161047f906001906020840190610bf7565b600060018281548110151561043a57fe5b600054600160a060020a031633146104e457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6001545b90565b600054600160a060020a031681565b600054600160a060020a0316331461056657600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025490565b600354604080517fca1a70be000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260048201928352855160448301528551606094919091169263ca1a70be9287928792918291606490910190602086019080838360005b8381101561062357818101518382015260200161060b565b50505050905090810190601f1680156106505780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156106ad57600080fd5b8101908080516401000000008111156106c557600080fd5b820160208101848111156106d857600080fd5b81516401000000008111828201871017156106f257600080fd5b5090979650505050505050565b60606107668383600280548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161073e575b50505050506107f5565b9392505050565b60606107668383600180548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020908154600160a060020a0316815260019091019060200180831161073e5750505050506107f5565b600054600160a060020a031633146107e957600080fd5b6107f281610a99565b50565b60408051808201909152600181527f5b00000000000000000000000000000000000000000000000000000000000000602082015260609060008080845b8651831015610a4b57868381518110151561084957fe5b90602001906020020151915081600160a060020a031663ca1a70be8a8a6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b838110156108e65781810151838201526020016108ce565b50505050905090810190601f1680156109135780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561093357600080fd5b505af1158015610947573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561097057600080fd5b81019080805164010000000081111561098857600080fd5b8201602081018481111561099b57600080fd5b81516401000000008111828201871017156109b557600080fd5b50509291905050509050600081511115610a40576000841115610a2b57610a28610a136040805190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250610b16565b610a1c87610b16565b9063ffffffff610b3c16565b94505b610a37610a1382610b16565b94506001909301925b600190920191610832565b610a8c610a136040805190810160405280600181526020017f5d00000000000000000000000000000000000000000000000000000000000000815250610b16565b9998505050505050505050565b600160a060020a0381161515610aae57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b610b1e610c69565b50604080518082019091528151815260209182019181019190915290565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015610b79578160200160208202803883390190505b509150602082019050610b958186602001518760000151610bb3565b845160208501518551610bab9284019190610bb3565b509392505050565b60005b60208210610bd8578251845260209384019390920191601f1990910190610bb6565b50905182516020929092036101000a6000190180199091169116179052565b828054828255906000526020600020908101928215610c59579160200282015b82811115610c59578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909116178255602090920191600190910190610c17565b50610c65929150610c80565b5090565b604080518082019091526000808252602082015290565b61053d91905b80821115610c6557805473ffffffffffffffffffffffffffffffffffffffff19168155600101610c865600a165627a7a723058203138ad311864e4afea932441bf7fad752559d82a0556d2f0703023487e1aa9d10029",
  "deployedBytecode": "0x6080604052600436106100ce5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416626c8e7f81146100d3578063020849be146101075780630a709e591461015e5780633634a20c146101735780635d36af89146101c8578063715018a6146101e057806385295c19146101f55780638da5cb5b1461021c578063a1f40d8f14610231578063bbb7b46a14610252578063bf3bed5414610267578063e77cee3d14610340578063e9499555146103a4578063f2fde38b14610408575b600080fd5b3480156100df57600080fd5b506100eb600435610429565b60408051600160a060020a039092168252519081900360200190f35b34801561011357600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104559650505050505050565b005b34801561016a57600080fd5b506100eb610483565b34801561017f57600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104929650505050505050565b3480156101d457600080fd5b506100eb6004356104bc565b3480156101ec57600080fd5b5061015c6104cd565b34801561020157600080fd5b5061020a610539565b60408051918252519081900360200190f35b34801561022857600080fd5b506100eb610540565b34801561023d57600080fd5b5061015c600160a060020a036004351661054f565b34801561025e57600080fd5b5061020a610595565b34801561027357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061059b92505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103055781810151838201526020016102ed565b50505050905090810190601f1680156103325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a031693506106ff92505050565b3480156103b057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061076d92505050565b34801561041457600080fd5b5061015c600160a060020a03600435166107d2565b600060028281548110151561043a57fe5b600091825260209091200154600160a060020a031692915050565b600054600160a060020a0316331461046c57600080fd5b805161047f906002906020840190610bf7565b5050565b600354600160a060020a031681565b600054600160a060020a031633146104a957600080fd5b805161047f906001906020840190610bf7565b600060018281548110151561043a57fe5b600054600160a060020a031633146104e457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6001545b90565b600054600160a060020a031681565b600054600160a060020a0316331461056657600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025490565b600354604080517fca1a70be000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260048201928352855160448301528551606094919091169263ca1a70be9287928792918291606490910190602086019080838360005b8381101561062357818101518382015260200161060b565b50505050905090810190601f1680156106505780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156106ad57600080fd5b8101908080516401000000008111156106c557600080fd5b820160208101848111156106d857600080fd5b81516401000000008111828201871017156106f257600080fd5b5090979650505050505050565b60606107668383600280548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161073e575b50505050506107f5565b9392505050565b60606107668383600180548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020908154600160a060020a0316815260019091019060200180831161073e5750505050506107f5565b600054600160a060020a031633146107e957600080fd5b6107f281610a99565b50565b60408051808201909152600181527f5b00000000000000000000000000000000000000000000000000000000000000602082015260609060008080845b8651831015610a4b57868381518110151561084957fe5b90602001906020020151915081600160a060020a031663ca1a70be8a8a6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b838110156108e65781810151838201526020016108ce565b50505050905090810190601f1680156109135780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561093357600080fd5b505af1158015610947573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561097057600080fd5b81019080805164010000000081111561098857600080fd5b8201602081018481111561099b57600080fd5b81516401000000008111828201871017156109b557600080fd5b50509291905050509050600081511115610a40576000841115610a2b57610a28610a136040805190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250610b16565b610a1c87610b16565b9063ffffffff610b3c16565b94505b610a37610a1382610b16565b94506001909301925b600190920191610832565b610a8c610a136040805190810160405280600181526020017f5d00000000000000000000000000000000000000000000000000000000000000815250610b16565b9998505050505050505050565b600160a060020a0381161515610aae57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b610b1e610c69565b50604080518082019091528151815260209182019181019190915290565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015610b79578160200160208202803883390190505b509150602082019050610b958186602001518760000151610bb3565b845160208501518551610bab9284019190610bb3565b509392505050565b60005b60208210610bd8578251845260209384019390920191601f1990910190610bb6565b50905182516020929092036101000a6000190180199091169116179052565b828054828255906000526020600020908101928215610c59579160200282015b82811115610c59578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909116178255602090920191600190910190610c17565b50610c65929150610c80565b5090565b604080518082019091526000808252602082015290565b61053d91905b80821115610c6557805473ffffffffffffffffffffffffffffffffffffffff19168155600101610c865600a165627a7a723058203138ad311864e4afea932441bf7fad752559d82a0556d2f0703023487e1aa9d10029",
  "sourceMap": "111:2426:11:-;;;567:5:43;:18;;-1:-1:-1;;;;;;567:18:43;575:10;567:18;;;111:2426:11;;;;;;",
  "deployedSourceMap": "111:2426:11:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;909:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;909:143:11;;;;;;;;;-1:-1:-1;;;;;909:143:11;;;;;;;;;;;;;;765:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;765:138:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;765:138:11;;-1:-1:-1;765:138:11;;-1:-1:-1;;;;;;;765:138:11;;;290:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;290:47:11;;;;344:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;344:140:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;344:140:11;;-1:-1:-1;344:140:11;;-1:-1:-1;;;;;;;344:140:11;490:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;490:145:11;;;;;1001:111:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:43;;;;641:118:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;641:118:11;;;;;;;;;;;;;;;;;;;;238:20:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:43;;;;1528:124:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1528:124:11;-1:-1:-1;;;;;1528:124:11;;;;;1058:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1058:116:11;;;;2382:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2382:153:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2382:153:11;;-1:-1:-1;;;2382:153:11;;-1:-1:-1;;;;;2382:153:11;;-1:-1:-1;2382:153:11;;-1:-1:-1;;;2382:153:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2382:153:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1355:167;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1355:167:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1355:167:11;;-1:-1:-1;;;1355:167:11;;-1:-1:-1;;;;;1355:167:11;;-1:-1:-1;1355:167:11;;-1:-1:-1;;;1355:167:11;1180:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1180:169:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1180:169:11;;-1:-1:-1;;;1180:169:11;;-1:-1:-1;;;;;1180:169:11;;-1:-1:-1;1180:169:11;;-1:-1:-1;;;1180:169:11;1274:103:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:43;-1:-1:-1;;;;;1274:103:43;;;;;909:143:11;975:25;1019:19;1039:5;1019:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1019:26:11;;909:143;-1:-1:-1;;909:143:11:o;765:138::-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;864:32:11;;;;:19;;:32;;;;;:::i;:::-;;765:138;:::o;290:47::-;;;-1:-1:-1;;;;;290:47:11;;:::o;344:140::-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;444:33:11;;;;:20;;:33;;;;;:::i;490:145::-;557:25;601:20;622:5;601:27;;;;;;;;;1001:111:43;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1077:5;;;1058:25;;-1:-1:-1;;;;;1077:5:43;;;;1058:25;;;1105:1;1089:18;;-1:-1:-1;;1089:18:43;;;1001:111::o;641:118:11:-;725:20;:27;641:118;;:::o;238:20:43:-;;;-1:-1:-1;;;;;238:20:43;;:::o;1528:124:11:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1619:14:11;:26;;-1:-1:-1;;1619:26:11;-1:-1:-1;;;;;1619:26:11;;;;;;;;;;1528:124::o;1058:116::-;1141:19;:26;1058:116;:::o;2382:153::-;2490:14;;:38;;;;;;-1:-1:-1;;;;;2490:38:11;;;;;;;;;;;;;;;;;;;;;2455:16;;2490:14;;;;;:21;;2512:7;;2521:6;;2490:38;;;;;;;;;;;;;;;:14;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2490:38:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2490:38:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2490:38:11;;;;;;39:16:-1;36:1;17:17;2:54;101:4;2490:38:11;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;2490:38:11;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;-1:-1;2490:38:11;;2382:153;-1:-1:-1;;;;;;;2382:153:11:o;1355:167::-;1433:17;1469:46;1478:7;1487:6;1495:19;1469:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1469:46:11;;;;;;;;;;;;;;;;;;;;;:8;:46::i;:::-;1462:53;1355:167;-1:-1:-1;;;1355:167:11:o;1180:169::-;1259:17;1295:47;1304:7;1313:6;1321:20;1295:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1295:47:11;;;;;;;;;;;;;;;;;;;;:8;:47::i;1274:103:43:-;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;1658:718:11:-;1796:24;;;;;;;;;;;;;;;;;1778:6;;1830:11;;;1778:6;1855:462;1876:14;:21;1872:1;:25;1855:462;;;1955:14;1970:1;1955:17;;;;;;;;;;;;;;;;;;1918:54;;2009:8;-1:-1:-1;;;;;2009:15:11;;2025:7;2034:6;2009:32;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2009:32:11;-1:-1:-1;;;;;2009:32:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2009:32:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2009:32:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2009:32:11;;;;;;39:16:-1;36:1;17:17;2:54;101:4;2009:32:11;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;2009:32:11;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;2009:32:11;;;;;;1986:55;;2082:1;2065:6;2059:20;:24;2055:252;;;2116:1;2107:6;:10;2103:100;;;2148:36;2170:13;:11;;;;;;;;;;;;;;;;;;;:13::i;:::-;2148:14;:4;:12;:14::i;:::-;:21;:36;:21;:36;:::i;:::-;2141:43;;2103:100;2227:39;2249:16;:6;:14;:16::i;2227:39::-;2220:46;-1:-1:-1;2284:8:11;;;;;2055:252;1899:3;;;;;1855:462;;;2333:36;2355:13;:11;;;;;;;;;;;;;;;;;;;:13::i;2333:36::-;2326:43;1658:718;-1:-1:-1;;;;;;;;;1658:718:11:o;1512:171:43:-;-1:-1:-1;;;;;1582:23:43;;;;1574:32;;;;;;1638:5;;;1617:38;;-1:-1:-1;;;;;1617:38:43;;;;1638:5;;;1617:38;;;1661:5;:17;;-1:-1:-1;;1661:17:43;-1:-1:-1;;;;;1661:17:43;;;;;;;;;;1512:171::o;2837:210:30:-;2897:5;;:::i;:::-;-1:-1:-1;3010:30:30;;;;;;;;;3016:18;;3010:30;;2979:4;2969:15;;;3010:30;;;;;;;;2837:210::o;23944:355::-;24022:6;24047:17;24111:11;24090:5;:10;;;24078:4;:9;;;:22;24067:34;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;24067:34:30;;24047:54;;24162:2;24157:3;24153:12;24143:22;;24176:36;24183:6;24191:4;:9;;;24202:4;:9;;;24176:6;:36::i;:::-;24238:9;;24249:10;;;;24261;;24222:50;;24229:18;;;24249:10;24222:6;:50::i;:::-;-1:-1:-1;24289:3:30;23944:355;-1:-1:-1;;;23944:355:30:o;2089:548::-;2415:9;2209:164;2222:2;2215:9;;2209:164;;2291:10;;2278:24;;2337:2;2329:10;;;;2353:9;;;;-1:-1:-1;;2226:9:30;;;;2209:164;;;-1:-1:-1;2500:10:30;;2555:11;;2435:2;:8;;;;2427:3;:17;-1:-1:-1;;2427:21:30;2512:9;;2496:26;;;2551:22;;2599:21;2586:35;;2467:164::o;111:2426:11:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;111:2426:11;-1:-1:-1;;;;;111:2426:11;;;;;;;;;;;-1:-1:-1;111:2426:11;;;;;;;-1:-1:-1;111:2426:11;;;-1:-1:-1;111:2426:11;:::i;:::-;;;:::o;:::-;;;;;;;;;;-1:-1:-1;111:2426:11;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;111:2426:11;;;;;;",
  "source": "pragma solidity ^0.4.24;\n\nimport \"./ERC223TokenWidgetRenderer.sol\";\nimport \"./ERC223TokenInputsRenderer.sol\";\n\ncontract ERC223TokenRenderer is Ownable {\n    using strings for *;\n\n    ERC223TokenWidgetRenderer[] adminWidgetRenderers;\n    ERC223TokenWidgetRenderer[] userWidgetRenderers;\n    ERC223TokenInputsRenderer public inputsRenderer;\n\n    function setAdminWidgetRenderers(ERC223TokenWidgetRenderer[] _renderers) public onlyOwner {\n        adminWidgetRenderers = _renderers;\n    }\n\n    function getAdminWidgetRendererAt(uint index) public view returns (ERC223TokenWidgetRenderer) {\n        return adminWidgetRenderers[index];\n    }\n\n    function numberOfAdminWidgetRenderers() public view returns (uint) {\n        return adminWidgetRenderers.length;\n    }\n\n    function setUserWidgetRenderers(ERC223TokenWidgetRenderer[] _renderers) public onlyOwner {\n        userWidgetRenderers = _renderers;\n    }\n\n    function getUserWidgetRendererAt(uint index) public view returns (ERC223TokenWidgetRenderer) {\n        return userWidgetRenderers[index];\n    }\n\n    function numberOfUserWidgetRenderers() public view returns (uint) {\n        return userWidgetRenderers.length;\n    }\n\n    function adminWidgets(string _locale, ERC223Token _token) public view returns (string jsonObject) {\n        return _widgets(_locale, _token, adminWidgetRenderers);\n    }\n\n    function userWidgets(string _locale, ERC223Token _token) public view returns (string jsonObject) {\n        return _widgets(_locale, _token, userWidgetRenderers);\n    }\n\n    function setInputsRenderer(ERC223TokenInputsRenderer _renderer) onlyOwner public {\n        inputsRenderer = _renderer;\n    }\n\n    function _widgets(string _locale, ERC223Token _token, ERC223TokenWidgetRenderer[] _widgetRenders) private view returns (string) {\n        string memory json = \"[\";\n        uint length = 0;\n        for (uint i = 0; i < _widgetRenders.length; i++) {\n            ERC223TokenWidgetRenderer renderer = _widgetRenders[i];\n            string memory widget = renderer.render(_locale, _token);\n            if (bytes(widget).length > 0) {\n                if (length > 0) {\n                    json = json.toSlice().concat(\",\".toSlice());\n                }\n                json = json.toSlice().concat(widget.toSlice());\n                length++;\n            }\n        }\n        return json.toSlice().concat(\"]\".toSlice());\n    }\n\n    function inputs(string _locale, ERC223Token _token) public view returns (string jsonArray) {\n        return inputsRenderer.render(_locale, _token);\n    }\n}\n",
  "sourcePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenRenderer.sol",
  "ast": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenRenderer.sol",
    "exportedSymbols": {
      "ERC223TokenRenderer": [
        1933
      ]
    },
    "id": 1934,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1695,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:11"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenWidgetRenderer.sol",
        "file": "./ERC223TokenWidgetRenderer.sol",
        "id": 1696,
        "nodeType": "ImportDirective",
        "scope": 1934,
        "sourceUnit": 1953,
        "src": "26:41:11",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenInputsRenderer.sol",
        "file": "./ERC223TokenInputsRenderer.sol",
        "id": 1697,
        "nodeType": "ImportDirective",
        "scope": 1934,
        "sourceUnit": 1694,
        "src": "68:41:11",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1698,
              "name": "Ownable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6902,
              "src": "143:7:11",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Ownable_$6902",
                "typeString": "contract Ownable"
              }
            },
            "id": 1699,
            "nodeType": "InheritanceSpecifier",
            "src": "143:7:11"
          }
        ],
        "contractDependencies": [
          6902
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 1933,
        "linearizedBaseContracts": [
          1933,
          6902
        ],
        "name": "ERC223TokenRenderer",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 1701,
            "libraryName": {
              "contractScope": null,
              "id": 1700,
              "name": "strings",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 5456,
              "src": "163:7:11",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_strings_$5456",
                "typeString": "library strings"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "157:20:11",
            "typeName": null
          },
          {
            "constant": false,
            "id": 1704,
            "name": "adminWidgetRenderers",
            "nodeType": "VariableDeclaration",
            "scope": 1933,
            "src": "183:48:11",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
              "typeString": "contract ERC223TokenWidgetRenderer[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 1702,
                "name": "ERC223TokenWidgetRenderer",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 1952,
                "src": "183:25:11",
                "typeDescriptions": {
                  "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                  "typeString": "contract ERC223TokenWidgetRenderer"
                }
              },
              "id": 1703,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "183:27:11",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                "typeString": "contract ERC223TokenWidgetRenderer[]"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 1707,
            "name": "userWidgetRenderers",
            "nodeType": "VariableDeclaration",
            "scope": 1933,
            "src": "237:47:11",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
              "typeString": "contract ERC223TokenWidgetRenderer[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 1705,
                "name": "ERC223TokenWidgetRenderer",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 1952,
                "src": "237:25:11",
                "typeDescriptions": {
                  "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                  "typeString": "contract ERC223TokenWidgetRenderer"
                }
              },
              "id": 1706,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "237:27:11",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                "typeString": "contract ERC223TokenWidgetRenderer[]"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 1709,
            "name": "inputsRenderer",
            "nodeType": "VariableDeclaration",
            "scope": 1933,
            "src": "290:47:11",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
              "typeString": "contract ERC223TokenInputsRenderer"
            },
            "typeName": {
              "contractScope": null,
              "id": 1708,
              "name": "ERC223TokenInputsRenderer",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1693,
              "src": "290:25:11",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                "typeString": "contract ERC223TokenInputsRenderer"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1721,
              "nodeType": "Block",
              "src": "434:50:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1719,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1717,
                      "name": "adminWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1704,
                      "src": "444:20:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1718,
                      "name": "_renderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1712,
                      "src": "467:10:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                        "typeString": "contract ERC223TokenWidgetRenderer[] memory"
                      }
                    },
                    "src": "444:33:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                      "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                    }
                  },
                  "id": 1720,
                  "nodeType": "ExpressionStatement",
                  "src": "444:33:11"
                }
              ]
            },
            "documentation": null,
            "id": 1722,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1715,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1714,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "424:9:11",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "424:9:11"
              }
            ],
            "name": "setAdminWidgetRenderers",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1713,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1712,
                  "name": "_renderers",
                  "nodeType": "VariableDeclaration",
                  "scope": 1722,
                  "src": "377:38:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                    "typeString": "contract ERC223TokenWidgetRenderer[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 1710,
                      "name": "ERC223TokenWidgetRenderer",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 1952,
                      "src": "377:25:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                        "typeString": "contract ERC223TokenWidgetRenderer"
                      }
                    },
                    "id": 1711,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "377:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                      "typeString": "contract ERC223TokenWidgetRenderer[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "376:40:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1716,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "434:0:11"
            },
            "scope": 1933,
            "src": "344:140:11",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1733,
              "nodeType": "Block",
              "src": "584:51:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1729,
                      "name": "adminWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1704,
                      "src": "601:20:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "id": 1731,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1730,
                      "name": "index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1724,
                      "src": "622:5:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "601:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                      "typeString": "contract ERC223TokenWidgetRenderer"
                    }
                  },
                  "functionReturnParameters": 1728,
                  "id": 1732,
                  "nodeType": "Return",
                  "src": "594:34:11"
                }
              ]
            },
            "documentation": null,
            "id": 1734,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getAdminWidgetRendererAt",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1725,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1724,
                  "name": "index",
                  "nodeType": "VariableDeclaration",
                  "scope": 1734,
                  "src": "524:10:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1723,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "524:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "523:12:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1728,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1727,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1734,
                  "src": "557:25:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                    "typeString": "contract ERC223TokenWidgetRenderer"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1726,
                    "name": "ERC223TokenWidgetRenderer",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1952,
                    "src": "557:25:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                      "typeString": "contract ERC223TokenWidgetRenderer"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "556:27:11"
            },
            "scope": 1933,
            "src": "490:145:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1742,
              "nodeType": "Block",
              "src": "708:51:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 1739,
                      "name": "adminWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1704,
                      "src": "725:20:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "id": 1740,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "725:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1738,
                  "id": 1741,
                  "nodeType": "Return",
                  "src": "718:34:11"
                }
              ]
            },
            "documentation": null,
            "id": 1743,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "numberOfAdminWidgetRenderers",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1735,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "678:2:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1738,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1737,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1743,
                  "src": "702:4:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1736,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "702:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "701:6:11"
            },
            "scope": 1933,
            "src": "641:118:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1755,
              "nodeType": "Block",
              "src": "854:49:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1753,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1751,
                      "name": "userWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1707,
                      "src": "864:19:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1752,
                      "name": "_renderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1746,
                      "src": "886:10:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                        "typeString": "contract ERC223TokenWidgetRenderer[] memory"
                      }
                    },
                    "src": "864:32:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                      "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                    }
                  },
                  "id": 1754,
                  "nodeType": "ExpressionStatement",
                  "src": "864:32:11"
                }
              ]
            },
            "documentation": null,
            "id": 1756,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1749,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1748,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "844:9:11",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "844:9:11"
              }
            ],
            "name": "setUserWidgetRenderers",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1747,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1746,
                  "name": "_renderers",
                  "nodeType": "VariableDeclaration",
                  "scope": 1756,
                  "src": "797:38:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                    "typeString": "contract ERC223TokenWidgetRenderer[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 1744,
                      "name": "ERC223TokenWidgetRenderer",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 1952,
                      "src": "797:25:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                        "typeString": "contract ERC223TokenWidgetRenderer"
                      }
                    },
                    "id": 1745,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "797:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                      "typeString": "contract ERC223TokenWidgetRenderer[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "796:40:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1750,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "854:0:11"
            },
            "scope": 1933,
            "src": "765:138:11",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1767,
              "nodeType": "Block",
              "src": "1002:50:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1763,
                      "name": "userWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1707,
                      "src": "1019:19:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "id": 1765,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1764,
                      "name": "index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1758,
                      "src": "1039:5:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1019:26:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                      "typeString": "contract ERC223TokenWidgetRenderer"
                    }
                  },
                  "functionReturnParameters": 1762,
                  "id": 1766,
                  "nodeType": "Return",
                  "src": "1012:33:11"
                }
              ]
            },
            "documentation": null,
            "id": 1768,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getUserWidgetRendererAt",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1759,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1758,
                  "name": "index",
                  "nodeType": "VariableDeclaration",
                  "scope": 1768,
                  "src": "942:10:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1757,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "942:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "941:12:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1762,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1761,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1768,
                  "src": "975:25:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                    "typeString": "contract ERC223TokenWidgetRenderer"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1760,
                    "name": "ERC223TokenWidgetRenderer",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1952,
                    "src": "975:25:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                      "typeString": "contract ERC223TokenWidgetRenderer"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "974:27:11"
            },
            "scope": 1933,
            "src": "909:143:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1776,
              "nodeType": "Block",
              "src": "1124:50:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 1773,
                      "name": "userWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1707,
                      "src": "1141:19:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "id": 1774,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "1141:26:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1772,
                  "id": 1775,
                  "nodeType": "Return",
                  "src": "1134:33:11"
                }
              ]
            },
            "documentation": null,
            "id": 1777,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "numberOfUserWidgetRenderers",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1769,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1094:2:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1771,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1777,
                  "src": "1118:4:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1770,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1118:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1117:6:11"
            },
            "scope": 1933,
            "src": "1058:116:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1792,
              "nodeType": "Block",
              "src": "1278:71:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1787,
                        "name": "_locale",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1779,
                        "src": "1304:7:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1788,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1781,
                        "src": "1313:6:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1789,
                        "name": "adminWidgetRenderers",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1704,
                        "src": "1321:20:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                          "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        },
                        {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                          "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                        }
                      ],
                      "id": 1786,
                      "name": "_widgets",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1916,
                      "src": "1295:8:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_contract$_ERC223Token_$1036_$_t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory,contract ERC223Token,contract ERC223TokenWidgetRenderer[] memory) view returns (string memory)"
                      }
                    },
                    "id": 1790,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1295:47:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 1785,
                  "id": 1791,
                  "nodeType": "Return",
                  "src": "1288:54:11"
                }
              ]
            },
            "documentation": null,
            "id": 1793,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "adminWidgets",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1782,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1779,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 1793,
                  "src": "1202:14:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1778,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1202:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1781,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 1793,
                  "src": "1218:18:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1780,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "1218:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1201:36:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1785,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1784,
                  "name": "jsonObject",
                  "nodeType": "VariableDeclaration",
                  "scope": 1793,
                  "src": "1259:17:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1783,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1259:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1258:19:11"
            },
            "scope": 1933,
            "src": "1180:169:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1808,
              "nodeType": "Block",
              "src": "1452:70:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1803,
                        "name": "_locale",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1795,
                        "src": "1478:7:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1804,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1797,
                        "src": "1487:6:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1805,
                        "name": "userWidgetRenderers",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1707,
                        "src": "1495:19:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                          "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        },
                        {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                          "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                        }
                      ],
                      "id": 1802,
                      "name": "_widgets",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1916,
                      "src": "1469:8:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_contract$_ERC223Token_$1036_$_t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory,contract ERC223Token,contract ERC223TokenWidgetRenderer[] memory) view returns (string memory)"
                      }
                    },
                    "id": 1806,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1469:46:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 1801,
                  "id": 1807,
                  "nodeType": "Return",
                  "src": "1462:53:11"
                }
              ]
            },
            "documentation": null,
            "id": 1809,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "userWidgets",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1798,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1795,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 1809,
                  "src": "1376:14:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1794,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1376:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1797,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 1809,
                  "src": "1392:18:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1796,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "1392:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1375:36:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1801,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1800,
                  "name": "jsonObject",
                  "nodeType": "VariableDeclaration",
                  "scope": 1809,
                  "src": "1433:17:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1799,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1433:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1432:19:11"
            },
            "scope": 1933,
            "src": "1355:167:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1820,
              "nodeType": "Block",
              "src": "1609:43:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1818,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1816,
                      "name": "inputsRenderer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1709,
                      "src": "1619:14:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                        "typeString": "contract ERC223TokenInputsRenderer"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1817,
                      "name": "_renderer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1811,
                      "src": "1636:9:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                        "typeString": "contract ERC223TokenInputsRenderer"
                      }
                    },
                    "src": "1619:26:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                      "typeString": "contract ERC223TokenInputsRenderer"
                    }
                  },
                  "id": 1819,
                  "nodeType": "ExpressionStatement",
                  "src": "1619:26:11"
                }
              ]
            },
            "documentation": null,
            "id": 1821,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1814,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1813,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "1592:9:11",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1592:9:11"
              }
            ],
            "name": "setInputsRenderer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1812,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1811,
                  "name": "_renderer",
                  "nodeType": "VariableDeclaration",
                  "scope": 1821,
                  "src": "1555:35:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                    "typeString": "contract ERC223TokenInputsRenderer"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1810,
                    "name": "ERC223TokenInputsRenderer",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1693,
                    "src": "1555:25:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                      "typeString": "contract ERC223TokenInputsRenderer"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1554:37:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1815,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1609:0:11"
            },
            "scope": 1933,
            "src": "1528:124:11",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1915,
              "nodeType": "Block",
              "src": "1786:590:11",
              "statements": [
                {
                  "assignments": [
                    1834
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1834,
                      "name": "json",
                      "nodeType": "VariableDeclaration",
                      "scope": 1916,
                      "src": "1796:18:11",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1833,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "1796:6:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1836,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "5b",
                    "id": 1835,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1817:3:11",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_9f50164828976b6baa479ea39c718c745bbc0d2521b67dfde8474cbdc9711057",
                      "typeString": "literal_string \"[\""
                    },
                    "value": "["
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1796:24:11"
                },
                {
                  "assignments": [
                    1838
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1838,
                      "name": "length",
                      "nodeType": "VariableDeclaration",
                      "scope": 1916,
                      "src": "1830:11:11",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 1837,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "1830:4:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1840,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 1839,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1844:1:11",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1830:15:11"
                },
                {
                  "body": {
                    "id": 1904,
                    "nodeType": "Block",
                    "src": "1904:413:11",
                    "statements": [
                      {
                        "assignments": [
                          1853
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1853,
                            "name": "renderer",
                            "nodeType": "VariableDeclaration",
                            "scope": 1916,
                            "src": "1918:34:11",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                              "typeString": "contract ERC223TokenWidgetRenderer"
                            },
                            "typeName": {
                              "contractScope": null,
                              "id": 1852,
                              "name": "ERC223TokenWidgetRenderer",
                              "nodeType": "UserDefinedTypeName",
                              "referencedDeclaration": 1952,
                              "src": "1918:25:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                                "typeString": "contract ERC223TokenWidgetRenderer"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 1857,
                        "initialValue": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 1854,
                            "name": "_widgetRenders",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1828,
                            "src": "1955:14:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                              "typeString": "contract ERC223TokenWidgetRenderer[] memory"
                            }
                          },
                          "id": 1856,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 1855,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1842,
                            "src": "1970:1:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1955:17:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                            "typeString": "contract ERC223TokenWidgetRenderer"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1918:54:11"
                      },
                      {
                        "assignments": [
                          1859
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1859,
                            "name": "widget",
                            "nodeType": "VariableDeclaration",
                            "scope": 1916,
                            "src": "1986:20:11",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 1858,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "1986:6:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 1865,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 1862,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1823,
                              "src": "2025:7:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 1863,
                              "name": "_token",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1825,
                              "src": "2034:6:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                "typeString": "contract ERC223Token"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                "typeString": "contract ERC223Token"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 1860,
                              "name": "renderer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1853,
                              "src": "2009:8:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                                "typeString": "contract ERC223TokenWidgetRenderer"
                              }
                            },
                            "id": 1861,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "render",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1951,
                            "src": "2009:15:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_contract$_ERC223Token_$1036_$returns$_t_string_memory_ptr_$",
                              "typeString": "function (string memory,contract ERC223Token) view external returns (string memory)"
                            }
                          },
                          "id": 1864,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2009:32:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1986:55:11"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1871,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1867,
                                  "name": "widget",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1859,
                                  "src": "2065:6:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 1866,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2059:5:11",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                  "typeString": "type(bytes storage pointer)"
                                },
                                "typeName": "bytes"
                              },
                              "id": 1868,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2059:13:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 1869,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2059:20:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 1870,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2082:1:11",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2059:24:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 1903,
                        "nodeType": "IfStatement",
                        "src": "2055:252:11",
                        "trueBody": {
                          "id": 1902,
                          "nodeType": "Block",
                          "src": "2085:222:11",
                          "statements": [
                            {
                              "condition": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 1874,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 1872,
                                  "name": "length",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1838,
                                  "src": "2107:6:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 1873,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "2116:1:11",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "2107:10:11",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": null,
                              "id": 1887,
                              "nodeType": "IfStatement",
                              "src": "2103:100:11",
                              "trueBody": {
                                "id": 1886,
                                "nodeType": "Block",
                                "src": "2119:84:11",
                                "statements": [
                                  {
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 1884,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "argumentTypes": null,
                                        "id": 1875,
                                        "name": "json",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1834,
                                        "src": "2141:4:11",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "arguments": [],
                                            "expression": {
                                              "argumentTypes": [],
                                              "expression": {
                                                "argumentTypes": null,
                                                "hexValue": "2c",
                                                "id": 1880,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "2170:3:11",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb",
                                                  "typeString": "literal_string \",\""
                                                },
                                                "value": ","
                                              },
                                              "id": 1881,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "toSlice",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 3828,
                                              "src": "2170:11:11",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                                "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                              }
                                            },
                                            "id": 1882,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "2170:13:11",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                              "typeString": "struct strings.slice memory"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                              "typeString": "struct strings.slice memory"
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": null,
                                            "arguments": [],
                                            "expression": {
                                              "argumentTypes": [],
                                              "expression": {
                                                "argumentTypes": null,
                                                "id": 1876,
                                                "name": "json",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1834,
                                                "src": "2148:4:11",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                }
                                              },
                                              "id": 1877,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "toSlice",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 3828,
                                              "src": "2148:12:11",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                                "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                              }
                                            },
                                            "id": 1878,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "2148:14:11",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                              "typeString": "struct strings.slice memory"
                                            }
                                          },
                                          "id": 1879,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "concat",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 5341,
                                          "src": "2148:21:11",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                                            "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                          }
                                        },
                                        "id": 1883,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2148:36:11",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "src": "2141:43:11",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    "id": 1885,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2141:43:11"
                                  }
                                ]
                              }
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 1897,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 1888,
                                  "name": "json",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1834,
                                  "src": "2220:4:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 1893,
                                          "name": "widget",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1859,
                                          "src": "2249:6:11",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        "id": 1894,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "toSlice",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 3828,
                                        "src": "2249:14:11",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                          "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                        }
                                      },
                                      "id": 1895,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "2249:16:11",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 1889,
                                          "name": "json",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1834,
                                          "src": "2227:4:11",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        "id": 1890,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "toSlice",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 3828,
                                        "src": "2227:12:11",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                          "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                        }
                                      },
                                      "id": 1891,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "2227:14:11",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    },
                                    "id": 1892,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "concat",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 5341,
                                    "src": "2227:21:11",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                                      "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                    }
                                  },
                                  "id": 1896,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2227:39:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "src": "2220:46:11",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "id": 1898,
                              "nodeType": "ExpressionStatement",
                              "src": "2220:46:11"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 1900,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "++",
                                "prefix": false,
                                "src": "2284:8:11",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "id": 1899,
                                  "name": "length",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1838,
                                  "src": "2284:6:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 1901,
                              "nodeType": "ExpressionStatement",
                              "src": "2284:8:11"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 1848,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 1845,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1842,
                      "src": "1872:1:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 1846,
                        "name": "_widgetRenders",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1828,
                        "src": "1876:14:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                          "typeString": "contract ERC223TokenWidgetRenderer[] memory"
                        }
                      },
                      "id": 1847,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1876:21:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1872:25:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 1905,
                  "initializationExpression": {
                    "assignments": [
                      1842
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 1842,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 1916,
                        "src": "1860:6:11",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 1841,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "1860:4:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 1844,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 1843,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1869:1:11",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "1860:10:11"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 1850,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "1899:3:11",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 1849,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1842,
                        "src": "1899:1:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 1851,
                    "nodeType": "ExpressionStatement",
                    "src": "1899:3:11"
                  },
                  "nodeType": "ForStatement",
                  "src": "1855:462:11"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "hexValue": "5d",
                            "id": 1910,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2355:3:11",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            },
                            "value": "]"
                          },
                          "id": 1911,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "toSlice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3828,
                          "src": "2355:11:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                          }
                        },
                        "id": 1912,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2355:13:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 1906,
                            "name": "json",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1834,
                            "src": "2333:4:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "id": 1907,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "toSlice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3828,
                          "src": "2333:12:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                          }
                        },
                        "id": 1908,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2333:14:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      },
                      "id": 1909,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "concat",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 5341,
                      "src": "2333:21:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                        "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                      }
                    },
                    "id": 1913,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2333:36:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 1832,
                  "id": 1914,
                  "nodeType": "Return",
                  "src": "2326:43:11"
                }
              ]
            },
            "documentation": null,
            "id": 1916,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "_widgets",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1829,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1823,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 1916,
                  "src": "1676:14:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1822,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1676:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1825,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 1916,
                  "src": "1692:18:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1824,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "1692:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1828,
                  "name": "_widgetRenders",
                  "nodeType": "VariableDeclaration",
                  "scope": 1916,
                  "src": "1712:42:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                    "typeString": "contract ERC223TokenWidgetRenderer[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 1826,
                      "name": "ERC223TokenWidgetRenderer",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 1952,
                      "src": "1712:25:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                        "typeString": "contract ERC223TokenWidgetRenderer"
                      }
                    },
                    "id": 1827,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1712:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                      "typeString": "contract ERC223TokenWidgetRenderer[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1675:80:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1832,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1831,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1916,
                  "src": "1778:6:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1830,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1778:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1777:8:11"
            },
            "scope": 1933,
            "src": "1658:718:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 1931,
              "nodeType": "Block",
              "src": "2473:62:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1927,
                        "name": "_locale",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1918,
                        "src": "2512:7:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1928,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1920,
                        "src": "2521:6:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1925,
                        "name": "inputsRenderer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1709,
                        "src": "2490:14:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                          "typeString": "contract ERC223TokenInputsRenderer"
                        }
                      },
                      "id": 1926,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "render",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1692,
                      "src": "2490:21:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_contract$_ERC223Token_$1036_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory,contract ERC223Token) view external returns (string memory)"
                      }
                    },
                    "id": 1929,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2490:38:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 1924,
                  "id": 1930,
                  "nodeType": "Return",
                  "src": "2483:45:11"
                }
              ]
            },
            "documentation": null,
            "id": 1932,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "inputs",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1921,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1918,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 1932,
                  "src": "2398:14:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1917,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2398:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1920,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 1932,
                  "src": "2414:18:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1919,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "2414:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2397:36:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1924,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1923,
                  "name": "jsonArray",
                  "nodeType": "VariableDeclaration",
                  "scope": 1932,
                  "src": "2455:16:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1922,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2455:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2454:18:11"
            },
            "scope": 1933,
            "src": "2382:153:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 1934,
        "src": "111:2426:11"
      }
    ],
    "src": "0:2538:11"
  },
  "legacyAST": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenRenderer.sol",
    "exportedSymbols": {
      "ERC223TokenRenderer": [
        1933
      ]
    },
    "id": 1934,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1695,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:11"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenWidgetRenderer.sol",
        "file": "./ERC223TokenWidgetRenderer.sol",
        "id": 1696,
        "nodeType": "ImportDirective",
        "scope": 1934,
        "sourceUnit": 1953,
        "src": "26:41:11",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenInputsRenderer.sol",
        "file": "./ERC223TokenInputsRenderer.sol",
        "id": 1697,
        "nodeType": "ImportDirective",
        "scope": 1934,
        "sourceUnit": 1694,
        "src": "68:41:11",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1698,
              "name": "Ownable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6902,
              "src": "143:7:11",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Ownable_$6902",
                "typeString": "contract Ownable"
              }
            },
            "id": 1699,
            "nodeType": "InheritanceSpecifier",
            "src": "143:7:11"
          }
        ],
        "contractDependencies": [
          6902
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 1933,
        "linearizedBaseContracts": [
          1933,
          6902
        ],
        "name": "ERC223TokenRenderer",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 1701,
            "libraryName": {
              "contractScope": null,
              "id": 1700,
              "name": "strings",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 5456,
              "src": "163:7:11",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_strings_$5456",
                "typeString": "library strings"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "157:20:11",
            "typeName": null
          },
          {
            "constant": false,
            "id": 1704,
            "name": "adminWidgetRenderers",
            "nodeType": "VariableDeclaration",
            "scope": 1933,
            "src": "183:48:11",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
              "typeString": "contract ERC223TokenWidgetRenderer[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 1702,
                "name": "ERC223TokenWidgetRenderer",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 1952,
                "src": "183:25:11",
                "typeDescriptions": {
                  "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                  "typeString": "contract ERC223TokenWidgetRenderer"
                }
              },
              "id": 1703,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "183:27:11",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                "typeString": "contract ERC223TokenWidgetRenderer[]"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 1707,
            "name": "userWidgetRenderers",
            "nodeType": "VariableDeclaration",
            "scope": 1933,
            "src": "237:47:11",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
              "typeString": "contract ERC223TokenWidgetRenderer[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 1705,
                "name": "ERC223TokenWidgetRenderer",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 1952,
                "src": "237:25:11",
                "typeDescriptions": {
                  "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                  "typeString": "contract ERC223TokenWidgetRenderer"
                }
              },
              "id": 1706,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "237:27:11",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                "typeString": "contract ERC223TokenWidgetRenderer[]"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 1709,
            "name": "inputsRenderer",
            "nodeType": "VariableDeclaration",
            "scope": 1933,
            "src": "290:47:11",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
              "typeString": "contract ERC223TokenInputsRenderer"
            },
            "typeName": {
              "contractScope": null,
              "id": 1708,
              "name": "ERC223TokenInputsRenderer",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1693,
              "src": "290:25:11",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                "typeString": "contract ERC223TokenInputsRenderer"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1721,
              "nodeType": "Block",
              "src": "434:50:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1719,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1717,
                      "name": "adminWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1704,
                      "src": "444:20:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1718,
                      "name": "_renderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1712,
                      "src": "467:10:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                        "typeString": "contract ERC223TokenWidgetRenderer[] memory"
                      }
                    },
                    "src": "444:33:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                      "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                    }
                  },
                  "id": 1720,
                  "nodeType": "ExpressionStatement",
                  "src": "444:33:11"
                }
              ]
            },
            "documentation": null,
            "id": 1722,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1715,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1714,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "424:9:11",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "424:9:11"
              }
            ],
            "name": "setAdminWidgetRenderers",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1713,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1712,
                  "name": "_renderers",
                  "nodeType": "VariableDeclaration",
                  "scope": 1722,
                  "src": "377:38:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                    "typeString": "contract ERC223TokenWidgetRenderer[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 1710,
                      "name": "ERC223TokenWidgetRenderer",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 1952,
                      "src": "377:25:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                        "typeString": "contract ERC223TokenWidgetRenderer"
                      }
                    },
                    "id": 1711,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "377:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                      "typeString": "contract ERC223TokenWidgetRenderer[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "376:40:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1716,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "434:0:11"
            },
            "scope": 1933,
            "src": "344:140:11",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1733,
              "nodeType": "Block",
              "src": "584:51:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1729,
                      "name": "adminWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1704,
                      "src": "601:20:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "id": 1731,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1730,
                      "name": "index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1724,
                      "src": "622:5:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "601:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                      "typeString": "contract ERC223TokenWidgetRenderer"
                    }
                  },
                  "functionReturnParameters": 1728,
                  "id": 1732,
                  "nodeType": "Return",
                  "src": "594:34:11"
                }
              ]
            },
            "documentation": null,
            "id": 1734,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getAdminWidgetRendererAt",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1725,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1724,
                  "name": "index",
                  "nodeType": "VariableDeclaration",
                  "scope": 1734,
                  "src": "524:10:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1723,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "524:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "523:12:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1728,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1727,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1734,
                  "src": "557:25:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                    "typeString": "contract ERC223TokenWidgetRenderer"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1726,
                    "name": "ERC223TokenWidgetRenderer",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1952,
                    "src": "557:25:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                      "typeString": "contract ERC223TokenWidgetRenderer"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "556:27:11"
            },
            "scope": 1933,
            "src": "490:145:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1742,
              "nodeType": "Block",
              "src": "708:51:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 1739,
                      "name": "adminWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1704,
                      "src": "725:20:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "id": 1740,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "725:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1738,
                  "id": 1741,
                  "nodeType": "Return",
                  "src": "718:34:11"
                }
              ]
            },
            "documentation": null,
            "id": 1743,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "numberOfAdminWidgetRenderers",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1735,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "678:2:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1738,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1737,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1743,
                  "src": "702:4:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1736,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "702:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "701:6:11"
            },
            "scope": 1933,
            "src": "641:118:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1755,
              "nodeType": "Block",
              "src": "854:49:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1753,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1751,
                      "name": "userWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1707,
                      "src": "864:19:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1752,
                      "name": "_renderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1746,
                      "src": "886:10:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                        "typeString": "contract ERC223TokenWidgetRenderer[] memory"
                      }
                    },
                    "src": "864:32:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                      "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                    }
                  },
                  "id": 1754,
                  "nodeType": "ExpressionStatement",
                  "src": "864:32:11"
                }
              ]
            },
            "documentation": null,
            "id": 1756,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1749,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1748,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "844:9:11",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "844:9:11"
              }
            ],
            "name": "setUserWidgetRenderers",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1747,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1746,
                  "name": "_renderers",
                  "nodeType": "VariableDeclaration",
                  "scope": 1756,
                  "src": "797:38:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                    "typeString": "contract ERC223TokenWidgetRenderer[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 1744,
                      "name": "ERC223TokenWidgetRenderer",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 1952,
                      "src": "797:25:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                        "typeString": "contract ERC223TokenWidgetRenderer"
                      }
                    },
                    "id": 1745,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "797:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                      "typeString": "contract ERC223TokenWidgetRenderer[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "796:40:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1750,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "854:0:11"
            },
            "scope": 1933,
            "src": "765:138:11",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1767,
              "nodeType": "Block",
              "src": "1002:50:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1763,
                      "name": "userWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1707,
                      "src": "1019:19:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "id": 1765,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1764,
                      "name": "index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1758,
                      "src": "1039:5:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1019:26:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                      "typeString": "contract ERC223TokenWidgetRenderer"
                    }
                  },
                  "functionReturnParameters": 1762,
                  "id": 1766,
                  "nodeType": "Return",
                  "src": "1012:33:11"
                }
              ]
            },
            "documentation": null,
            "id": 1768,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getUserWidgetRendererAt",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1759,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1758,
                  "name": "index",
                  "nodeType": "VariableDeclaration",
                  "scope": 1768,
                  "src": "942:10:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1757,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "942:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "941:12:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1762,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1761,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1768,
                  "src": "975:25:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                    "typeString": "contract ERC223TokenWidgetRenderer"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1760,
                    "name": "ERC223TokenWidgetRenderer",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1952,
                    "src": "975:25:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                      "typeString": "contract ERC223TokenWidgetRenderer"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "974:27:11"
            },
            "scope": 1933,
            "src": "909:143:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1776,
              "nodeType": "Block",
              "src": "1124:50:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 1773,
                      "name": "userWidgetRenderers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1707,
                      "src": "1141:19:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                        "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                      }
                    },
                    "id": 1774,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "1141:26:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1772,
                  "id": 1775,
                  "nodeType": "Return",
                  "src": "1134:33:11"
                }
              ]
            },
            "documentation": null,
            "id": 1777,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "numberOfUserWidgetRenderers",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1769,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1094:2:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1771,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1777,
                  "src": "1118:4:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1770,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1118:4:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1117:6:11"
            },
            "scope": 1933,
            "src": "1058:116:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1792,
              "nodeType": "Block",
              "src": "1278:71:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1787,
                        "name": "_locale",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1779,
                        "src": "1304:7:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1788,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1781,
                        "src": "1313:6:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1789,
                        "name": "adminWidgetRenderers",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1704,
                        "src": "1321:20:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                          "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        },
                        {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                          "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                        }
                      ],
                      "id": 1786,
                      "name": "_widgets",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1916,
                      "src": "1295:8:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_contract$_ERC223Token_$1036_$_t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory,contract ERC223Token,contract ERC223TokenWidgetRenderer[] memory) view returns (string memory)"
                      }
                    },
                    "id": 1790,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1295:47:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 1785,
                  "id": 1791,
                  "nodeType": "Return",
                  "src": "1288:54:11"
                }
              ]
            },
            "documentation": null,
            "id": 1793,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "adminWidgets",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1782,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1779,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 1793,
                  "src": "1202:14:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1778,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1202:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1781,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 1793,
                  "src": "1218:18:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1780,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "1218:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1201:36:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1785,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1784,
                  "name": "jsonObject",
                  "nodeType": "VariableDeclaration",
                  "scope": 1793,
                  "src": "1259:17:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1783,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1259:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1258:19:11"
            },
            "scope": 1933,
            "src": "1180:169:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1808,
              "nodeType": "Block",
              "src": "1452:70:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1803,
                        "name": "_locale",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1795,
                        "src": "1478:7:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1804,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1797,
                        "src": "1487:6:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1805,
                        "name": "userWidgetRenderers",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1707,
                        "src": "1495:19:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                          "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        },
                        {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage",
                          "typeString": "contract ERC223TokenWidgetRenderer[] storage ref"
                        }
                      ],
                      "id": 1802,
                      "name": "_widgets",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1916,
                      "src": "1469:8:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_contract$_ERC223Token_$1036_$_t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory,contract ERC223Token,contract ERC223TokenWidgetRenderer[] memory) view returns (string memory)"
                      }
                    },
                    "id": 1806,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1469:46:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 1801,
                  "id": 1807,
                  "nodeType": "Return",
                  "src": "1462:53:11"
                }
              ]
            },
            "documentation": null,
            "id": 1809,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "userWidgets",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1798,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1795,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 1809,
                  "src": "1376:14:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1794,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1376:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1797,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 1809,
                  "src": "1392:18:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1796,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "1392:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1375:36:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1801,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1800,
                  "name": "jsonObject",
                  "nodeType": "VariableDeclaration",
                  "scope": 1809,
                  "src": "1433:17:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1799,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1433:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1432:19:11"
            },
            "scope": 1933,
            "src": "1355:167:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1820,
              "nodeType": "Block",
              "src": "1609:43:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1818,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1816,
                      "name": "inputsRenderer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1709,
                      "src": "1619:14:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                        "typeString": "contract ERC223TokenInputsRenderer"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1817,
                      "name": "_renderer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1811,
                      "src": "1636:9:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                        "typeString": "contract ERC223TokenInputsRenderer"
                      }
                    },
                    "src": "1619:26:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                      "typeString": "contract ERC223TokenInputsRenderer"
                    }
                  },
                  "id": 1819,
                  "nodeType": "ExpressionStatement",
                  "src": "1619:26:11"
                }
              ]
            },
            "documentation": null,
            "id": 1821,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1814,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1813,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "1592:9:11",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1592:9:11"
              }
            ],
            "name": "setInputsRenderer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1812,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1811,
                  "name": "_renderer",
                  "nodeType": "VariableDeclaration",
                  "scope": 1821,
                  "src": "1555:35:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                    "typeString": "contract ERC223TokenInputsRenderer"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1810,
                    "name": "ERC223TokenInputsRenderer",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1693,
                    "src": "1555:25:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                      "typeString": "contract ERC223TokenInputsRenderer"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1554:37:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1815,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1609:0:11"
            },
            "scope": 1933,
            "src": "1528:124:11",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1915,
              "nodeType": "Block",
              "src": "1786:590:11",
              "statements": [
                {
                  "assignments": [
                    1834
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1834,
                      "name": "json",
                      "nodeType": "VariableDeclaration",
                      "scope": 1916,
                      "src": "1796:18:11",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1833,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "1796:6:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1836,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "5b",
                    "id": 1835,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1817:3:11",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_9f50164828976b6baa479ea39c718c745bbc0d2521b67dfde8474cbdc9711057",
                      "typeString": "literal_string \"[\""
                    },
                    "value": "["
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1796:24:11"
                },
                {
                  "assignments": [
                    1838
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1838,
                      "name": "length",
                      "nodeType": "VariableDeclaration",
                      "scope": 1916,
                      "src": "1830:11:11",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 1837,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "1830:4:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1840,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 1839,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1844:1:11",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1830:15:11"
                },
                {
                  "body": {
                    "id": 1904,
                    "nodeType": "Block",
                    "src": "1904:413:11",
                    "statements": [
                      {
                        "assignments": [
                          1853
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1853,
                            "name": "renderer",
                            "nodeType": "VariableDeclaration",
                            "scope": 1916,
                            "src": "1918:34:11",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                              "typeString": "contract ERC223TokenWidgetRenderer"
                            },
                            "typeName": {
                              "contractScope": null,
                              "id": 1852,
                              "name": "ERC223TokenWidgetRenderer",
                              "nodeType": "UserDefinedTypeName",
                              "referencedDeclaration": 1952,
                              "src": "1918:25:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                                "typeString": "contract ERC223TokenWidgetRenderer"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 1857,
                        "initialValue": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 1854,
                            "name": "_widgetRenders",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1828,
                            "src": "1955:14:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                              "typeString": "contract ERC223TokenWidgetRenderer[] memory"
                            }
                          },
                          "id": 1856,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 1855,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1842,
                            "src": "1970:1:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1955:17:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                            "typeString": "contract ERC223TokenWidgetRenderer"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1918:54:11"
                      },
                      {
                        "assignments": [
                          1859
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 1859,
                            "name": "widget",
                            "nodeType": "VariableDeclaration",
                            "scope": 1916,
                            "src": "1986:20:11",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 1858,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "1986:6:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 1865,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 1862,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1823,
                              "src": "2025:7:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 1863,
                              "name": "_token",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1825,
                              "src": "2034:6:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                "typeString": "contract ERC223Token"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                "typeString": "contract ERC223Token"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 1860,
                              "name": "renderer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1853,
                              "src": "2009:8:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                                "typeString": "contract ERC223TokenWidgetRenderer"
                              }
                            },
                            "id": 1861,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "render",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1951,
                            "src": "2009:15:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_contract$_ERC223Token_$1036_$returns$_t_string_memory_ptr_$",
                              "typeString": "function (string memory,contract ERC223Token) view external returns (string memory)"
                            }
                          },
                          "id": 1864,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2009:32:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1986:55:11"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1871,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1867,
                                  "name": "widget",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1859,
                                  "src": "2065:6:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 1866,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2059:5:11",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                  "typeString": "type(bytes storage pointer)"
                                },
                                "typeName": "bytes"
                              },
                              "id": 1868,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2059:13:11",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 1869,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2059:20:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 1870,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2082:1:11",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2059:24:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 1903,
                        "nodeType": "IfStatement",
                        "src": "2055:252:11",
                        "trueBody": {
                          "id": 1902,
                          "nodeType": "Block",
                          "src": "2085:222:11",
                          "statements": [
                            {
                              "condition": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 1874,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 1872,
                                  "name": "length",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1838,
                                  "src": "2107:6:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 1873,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "2116:1:11",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "2107:10:11",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": null,
                              "id": 1887,
                              "nodeType": "IfStatement",
                              "src": "2103:100:11",
                              "trueBody": {
                                "id": 1886,
                                "nodeType": "Block",
                                "src": "2119:84:11",
                                "statements": [
                                  {
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 1884,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "argumentTypes": null,
                                        "id": 1875,
                                        "name": "json",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1834,
                                        "src": "2141:4:11",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "arguments": [],
                                            "expression": {
                                              "argumentTypes": [],
                                              "expression": {
                                                "argumentTypes": null,
                                                "hexValue": "2c",
                                                "id": 1880,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "2170:3:11",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb",
                                                  "typeString": "literal_string \",\""
                                                },
                                                "value": ","
                                              },
                                              "id": 1881,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "toSlice",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 3828,
                                              "src": "2170:11:11",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                                "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                              }
                                            },
                                            "id": 1882,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "2170:13:11",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                              "typeString": "struct strings.slice memory"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                              "typeString": "struct strings.slice memory"
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": null,
                                            "arguments": [],
                                            "expression": {
                                              "argumentTypes": [],
                                              "expression": {
                                                "argumentTypes": null,
                                                "id": 1876,
                                                "name": "json",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1834,
                                                "src": "2148:4:11",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                }
                                              },
                                              "id": 1877,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "toSlice",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 3828,
                                              "src": "2148:12:11",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                                "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                              }
                                            },
                                            "id": 1878,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "2148:14:11",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                              "typeString": "struct strings.slice memory"
                                            }
                                          },
                                          "id": 1879,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "concat",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 5341,
                                          "src": "2148:21:11",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                                            "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                          }
                                        },
                                        "id": 1883,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2148:36:11",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "src": "2141:43:11",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    "id": 1885,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2141:43:11"
                                  }
                                ]
                              }
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 1897,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 1888,
                                  "name": "json",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1834,
                                  "src": "2220:4:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 1893,
                                          "name": "widget",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1859,
                                          "src": "2249:6:11",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        "id": 1894,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "toSlice",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 3828,
                                        "src": "2249:14:11",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                          "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                        }
                                      },
                                      "id": 1895,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "2249:16:11",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 1889,
                                          "name": "json",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 1834,
                                          "src": "2227:4:11",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        "id": 1890,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "toSlice",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 3828,
                                        "src": "2227:12:11",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                                          "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                                        }
                                      },
                                      "id": 1891,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "2227:14:11",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                                        "typeString": "struct strings.slice memory"
                                      }
                                    },
                                    "id": 1892,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "concat",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 5341,
                                    "src": "2227:21:11",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                                      "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                                    }
                                  },
                                  "id": 1896,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2227:39:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "src": "2220:46:11",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "id": 1898,
                              "nodeType": "ExpressionStatement",
                              "src": "2220:46:11"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 1900,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "++",
                                "prefix": false,
                                "src": "2284:8:11",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "id": 1899,
                                  "name": "length",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1838,
                                  "src": "2284:6:11",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 1901,
                              "nodeType": "ExpressionStatement",
                              "src": "2284:8:11"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 1848,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 1845,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1842,
                      "src": "1872:1:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 1846,
                        "name": "_widgetRenders",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1828,
                        "src": "1876:14:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                          "typeString": "contract ERC223TokenWidgetRenderer[] memory"
                        }
                      },
                      "id": 1847,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1876:21:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1872:25:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 1905,
                  "initializationExpression": {
                    "assignments": [
                      1842
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 1842,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 1916,
                        "src": "1860:6:11",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 1841,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "1860:4:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 1844,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 1843,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1869:1:11",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "1860:10:11"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 1850,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "1899:3:11",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 1849,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1842,
                        "src": "1899:1:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 1851,
                    "nodeType": "ExpressionStatement",
                    "src": "1899:3:11"
                  },
                  "nodeType": "ForStatement",
                  "src": "1855:462:11"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "hexValue": "5d",
                            "id": 1910,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2355:3:11",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            },
                            "value": "]"
                          },
                          "id": 1911,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "toSlice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3828,
                          "src": "2355:11:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                          }
                        },
                        "id": 1912,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2355:13:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 1906,
                            "name": "json",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1834,
                            "src": "2333:4:11",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "id": 1907,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "toSlice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3828,
                          "src": "2333:12:11",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
                            "typeString": "function (string memory) pure returns (struct strings.slice memory)"
                          }
                        },
                        "id": 1908,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2333:14:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
                          "typeString": "struct strings.slice memory"
                        }
                      },
                      "id": 1909,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "concat",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 5341,
                      "src": "2333:21:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
                        "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
                      }
                    },
                    "id": 1913,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2333:36:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 1832,
                  "id": 1914,
                  "nodeType": "Return",
                  "src": "2326:43:11"
                }
              ]
            },
            "documentation": null,
            "id": 1916,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "_widgets",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1829,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1823,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 1916,
                  "src": "1676:14:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1822,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1676:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1825,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 1916,
                  "src": "1692:18:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1824,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "1692:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1828,
                  "name": "_widgetRenders",
                  "nodeType": "VariableDeclaration",
                  "scope": 1916,
                  "src": "1712:42:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_memory_ptr",
                    "typeString": "contract ERC223TokenWidgetRenderer[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 1826,
                      "name": "ERC223TokenWidgetRenderer",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 1952,
                      "src": "1712:25:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                        "typeString": "contract ERC223TokenWidgetRenderer"
                      }
                    },
                    "id": 1827,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1712:27:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_ERC223TokenWidgetRenderer_$1952_$dyn_storage_ptr",
                      "typeString": "contract ERC223TokenWidgetRenderer[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1675:80:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1832,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1831,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1916,
                  "src": "1778:6:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1830,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1778:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1777:8:11"
            },
            "scope": 1933,
            "src": "1658:718:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 1931,
              "nodeType": "Block",
              "src": "2473:62:11",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1927,
                        "name": "_locale",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1918,
                        "src": "2512:7:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1928,
                        "name": "_token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1920,
                        "src": "2521:6:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_contract$_ERC223Token_$1036",
                          "typeString": "contract ERC223Token"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1925,
                        "name": "inputsRenderer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1709,
                        "src": "2490:14:11",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERC223TokenInputsRenderer_$1693",
                          "typeString": "contract ERC223TokenInputsRenderer"
                        }
                      },
                      "id": 1926,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "render",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1692,
                      "src": "2490:21:11",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_contract$_ERC223Token_$1036_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory,contract ERC223Token) view external returns (string memory)"
                      }
                    },
                    "id": 1929,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2490:38:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 1924,
                  "id": 1930,
                  "nodeType": "Return",
                  "src": "2483:45:11"
                }
              ]
            },
            "documentation": null,
            "id": 1932,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "inputs",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1921,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1918,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 1932,
                  "src": "2398:14:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1917,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2398:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1920,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 1932,
                  "src": "2414:18:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1919,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "2414:11:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2397:36:11"
            },
            "payable": false,
            "returnParameters": {
              "id": 1924,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1923,
                  "name": "jsonArray",
                  "nodeType": "VariableDeclaration",
                  "scope": 1932,
                  "src": "2455:16:11",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1922,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2455:6:11",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2454:18:11"
            },
            "scope": 1933,
            "src": "2382:153:11",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 1934,
        "src": "111:2426:11"
      }
    ],
    "src": "0:2538:11"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {
    "5777": {
      "events": {},
      "links": {},
      "address": "0xacbfbe05ff4dade2d5d535b2fd56902ed702b2ab",
      "transactionHash": "0x533f8bb33fc9ec7f98b31858d6a53f7980d8aaca7bdd6a337b9cf41aca51a181"
    }
  },
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-10-24T12:56:52.505Z"
}