{ "abi": [], "bytecode": { "object": "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122064e0deda595f67c095b36d14c7062ce249dca31bcdff3b57c54c82aa71e870b864736f6c63430008110033", "sourceMap": "231:3302:23:-:0;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x600080fdfea264697066735822122064e0deda595f67c095b36d14c7062ce249dca31bcdff3b57c54c82aa71e870b864736f6c63430008110033", "sourceMap": "231:3302:23:-:0;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides a set of functions to operate with Base64 strings. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_TABLE\":{\"details\":\"Base64 Encoding/Decoding Table\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Base64.sol\":\"Base64\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.17+commit.8df45f5f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ ":@ensdomains/=node_modules/@ensdomains/", ":@openzeppelin/=node_modules/@openzeppelin/", ":ds-test/=lib/forge-std/lib/ds-test/src/", ":eth-gas-reporter/=node_modules/eth-gas-reporter/", ":forge-std/=lib/forge-std/src/", ":hardhat-deploy/=node_modules/hardhat-deploy/", ":hardhat/=node_modules/hardhat/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "node_modules/@openzeppelin/contracts/utils/Base64.sol": "Base64" }, "libraries": {}, "viaIR": true }, "sources": { "node_modules/@openzeppelin/contracts/utils/Base64.sol": { "keccak256": "0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136", "urls": [ "bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96", "dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ" ], "license": "MIT" } }, "version": 1 }, "ast": { "absolutePath": "node_modules/@openzeppelin/contracts/utils/Base64.sol", "id": 27258, "exportedSymbols": { "Base64": [ 27257 ] }, "nodeType": "SourceUnit", "src": "100:3434:23", "nodes": [ { "id": 27212, "nodeType": "PragmaDirective", "src": "100:23:23", "nodes": [], "literals": [ "solidity", "^", "0.8", ".0" ] }, { "id": 27257, "nodeType": "ContractDefinition", "src": "231:3302:23", "nodes": [ { "id": 27217, "nodeType": "VariableDeclaration", "src": "311:100:23", "nodes": [], "constant": true, "documentation": { "id": 27214, "nodeType": "StructuredDocumentation", "src": "252:54:23", "text": " @dev Base64 Encoding/Decoding Table" }, "mutability": "constant", "name": "_TABLE", "nameLocation": "336:6:23", "scope": 27257, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 27215, "name": "string", "nodeType": "ElementaryTypeName", "src": "311:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": { "hexValue": "4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f", "id": 27216, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "345:66:23", "typeDescriptions": { "typeIdentifier": "t_stringliteral_84d8a590de33e00cbdc16e1f28c3506f5ec15c599fab9a6a4bcd575cc2f110ce", "typeString": "literal_string \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"" }, "value": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" }, "visibility": "internal" }, { "id": 27256, "nodeType": "FunctionDefinition", "src": "505:3026:23", "nodes": [], "body": { "id": 27255, "nodeType": "Block", "src": "578:2953:23", "nodes": [], "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 27225, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27220, "src": "795:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 27226, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "800:6:23", "memberName": "length", "nodeType": "MemberAccess", "src": "795:11:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 27227, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "810:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "795:16:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "documentation": " Inspired by Brecht Devos (Brechtpd) implementation - MIT licence\n https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol", "id": 27231, "nodeType": "IfStatement", "src": "791:31:23", "trueBody": { "expression": { "hexValue": "", "id": 27229, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "820:2:23", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, "functionReturnParameters": 27224, "id": 27230, "nodeType": "Return", "src": "813:9:23" } }, { "assignments": [ 27233 ], "declarations": [ { "constant": false, "id": 27233, "mutability": "mutable", "name": "table", "nameLocation": "886:5:23", "nodeType": "VariableDeclaration", "scope": 27255, "src": "872:19:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 27232, "name": "string", "nodeType": "ElementaryTypeName", "src": "872:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "id": 27235, "initialValue": { "id": 27234, "name": "_TABLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27217, "src": "894:6:23", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", "src": "872:28:23" }, { "assignments": [ 27237 ], "declarations": [ { "constant": false, "id": 27237, "mutability": "mutable", "name": "result", "nameLocation": "1317:6:23", "nodeType": "VariableDeclaration", "scope": 27255, "src": "1303:20:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 27236, "name": "string", "nodeType": "ElementaryTypeName", "src": "1303:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "id": 27251, "initialValue": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27249, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "34", "id": 27240, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1337:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" }, "value": "4" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27247, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 27244, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 27241, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27220, "src": "1343:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 27242, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1348:6:23", "memberName": "length", "nodeType": "MemberAccess", "src": "1343:11:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "32", "id": 27243, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1357:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "1343:15:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 27245, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1342:17:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "hexValue": "33", "id": 27246, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1362:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, "src": "1342:21:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 27248, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1341:23:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1337:27:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 27239, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "1326:10:23", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" }, "typeName": { "id": 27238, "name": "string", "nodeType": "ElementaryTypeName", "src": "1330:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } } }, "id": 27250, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1326:39:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", "src": "1303:62:23" }, { "AST": { "nodeType": "YulBlock", "src": "1428:2073:23", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1513:29:23", "value": { "arguments": [ { "name": "table", "nodeType": "YulIdentifier", "src": "1533:5:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1540:1:23", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1529:3:23" }, "nodeType": "YulFunctionCall", "src": "1529:13:23" }, "variables": [ { "name": "tablePtr", "nodeType": "YulTypedName", "src": "1517:8:23", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", "src": "1612:32:23", "value": { "arguments": [ { "name": "result", "nodeType": "YulIdentifier", "src": "1633:6:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1641:2:23", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1629:3:23" }, "nodeType": "YulFunctionCall", "src": "1629:15:23" }, "variables": [ { "name": "resultPtr", "nodeType": "YulTypedName", "src": "1616:9:23", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "1857:1257:23", "statements": [ { "nodeType": "YulAssignment", "src": "1910:26:23", "value": { "arguments": [ { "name": "dataPtr", "nodeType": "YulIdentifier", "src": "1925:7:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1934:1:23", "type": "", "value": "3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1921:3:23" }, "nodeType": "YulFunctionCall", "src": "1921:15:23" }, "variableNames": [ { "name": "dataPtr", "nodeType": "YulIdentifier", "src": "1910:7:23" } ] }, { "nodeType": "YulVariableDeclaration", "src": "1953:27:23", "value": { "arguments": [ { "name": "dataPtr", "nodeType": "YulIdentifier", "src": "1972:7:23" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "1966:5:23" }, "nodeType": "YulFunctionCall", "src": "1966:14:23" }, "variables": [ { "name": "input", "nodeType": "YulTypedName", "src": "1957:5:23", "type": "" } ] }, { "expression": { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2564:9:23" }, { "arguments": [ { "arguments": [ { "name": "tablePtr", "nodeType": "YulIdentifier", "src": "2585:8:23" }, { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2603:2:23", "type": "", "value": "18" }, { "name": "input", "nodeType": "YulIdentifier", "src": "2607:5:23" } ], "functionName": { "name": "shr", "nodeType": "YulIdentifier", "src": "2599:3:23" }, "nodeType": "YulFunctionCall", "src": "2599:14:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2615:4:23", "type": "", "value": "0x3F" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "2595:3:23" }, "nodeType": "YulFunctionCall", "src": "2595:25:23" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2581:3:23" }, "nodeType": "YulFunctionCall", "src": "2581:40:23" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "2575:5:23" }, "nodeType": "YulFunctionCall", "src": "2575:47:23" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", "src": "2556:7:23" }, "nodeType": "YulFunctionCall", "src": "2556:67:23" }, "nodeType": "YulExpressionStatement", "src": "2556:67:23" }, { "nodeType": "YulAssignment", "src": "2640:30:23", "value": { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2657:9:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2668:1:23", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2653:3:23" }, "nodeType": "YulFunctionCall", "src": "2653:17:23" }, "variableNames": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2640:9:23" } ] }, { "expression": { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2707:9:23" }, { "arguments": [ { "arguments": [ { "name": "tablePtr", "nodeType": "YulIdentifier", "src": "2728:8:23" }, { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2746:2:23", "type": "", "value": "12" }, { "name": "input", "nodeType": "YulIdentifier", "src": "2750:5:23" } ], "functionName": { "name": "shr", "nodeType": "YulIdentifier", "src": "2742:3:23" }, "nodeType": "YulFunctionCall", "src": "2742:14:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2758:4:23", "type": "", "value": "0x3F" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "2738:3:23" }, "nodeType": "YulFunctionCall", "src": "2738:25:23" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2724:3:23" }, "nodeType": "YulFunctionCall", "src": "2724:40:23" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "2718:5:23" }, "nodeType": "YulFunctionCall", "src": "2718:47:23" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", "src": "2699:7:23" }, "nodeType": "YulFunctionCall", "src": "2699:67:23" }, "nodeType": "YulExpressionStatement", "src": "2699:67:23" }, { "nodeType": "YulAssignment", "src": "2783:30:23", "value": { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2800:9:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2811:1:23", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2796:3:23" }, "nodeType": "YulFunctionCall", "src": "2796:17:23" }, "variableNames": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2783:9:23" } ] }, { "expression": { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2850:9:23" }, { "arguments": [ { "arguments": [ { "name": "tablePtr", "nodeType": "YulIdentifier", "src": "2871:8:23" }, { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2889:1:23", "type": "", "value": "6" }, { "name": "input", "nodeType": "YulIdentifier", "src": "2892:5:23" } ], "functionName": { "name": "shr", "nodeType": "YulIdentifier", "src": "2885:3:23" }, "nodeType": "YulFunctionCall", "src": "2885:13:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2900:4:23", "type": "", "value": "0x3F" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "2881:3:23" }, "nodeType": "YulFunctionCall", "src": "2881:24:23" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2867:3:23" }, "nodeType": "YulFunctionCall", "src": "2867:39:23" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "2861:5:23" }, "nodeType": "YulFunctionCall", "src": "2861:46:23" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", "src": "2842:7:23" }, "nodeType": "YulFunctionCall", "src": "2842:66:23" }, "nodeType": "YulExpressionStatement", "src": "2842:66:23" }, { "nodeType": "YulAssignment", "src": "2925:30:23", "value": { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2942:9:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2953:1:23", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2938:3:23" }, "nodeType": "YulFunctionCall", "src": "2938:17:23" }, "variableNames": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2925:9:23" } ] }, { "expression": { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "2992:9:23" }, { "arguments": [ { "arguments": [ { "name": "tablePtr", "nodeType": "YulIdentifier", "src": "3013:8:23" }, { "arguments": [ { "name": "input", "nodeType": "YulIdentifier", "src": "3027:5:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3034:4:23", "type": "", "value": "0x3F" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "3023:3:23" }, "nodeType": "YulFunctionCall", "src": "3023:16:23" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3009:3:23" }, "nodeType": "YulFunctionCall", "src": "3009:31:23" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "3003:5:23" }, "nodeType": "YulFunctionCall", "src": "3003:38:23" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", "src": "2984:7:23" }, "nodeType": "YulFunctionCall", "src": "2984:58:23" }, "nodeType": "YulExpressionStatement", "src": "2984:58:23" }, { "nodeType": "YulAssignment", "src": "3059:30:23", "value": { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "3076:9:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3087:1:23", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3072:3:23" }, "nodeType": "YulFunctionCall", "src": "3072:17:23" }, "variableNames": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "3059:9:23" } ] } ] }, "condition": { "arguments": [ { "name": "dataPtr", "nodeType": "YulIdentifier", "src": "1823:7:23" }, { "name": "endPtr", "nodeType": "YulIdentifier", "src": "1832:6:23" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "1820:2:23" }, "nodeType": "YulFunctionCall", "src": "1820:19:23" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", "src": "1840:16:23", "statements": [] }, "pre": { "nodeType": "YulBlock", "src": "1715:104:23", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1733:19:23", "value": { "name": "data", "nodeType": "YulIdentifier", "src": "1748:4:23" }, "variables": [ { "name": "dataPtr", "nodeType": "YulTypedName", "src": "1737:7:23", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", "src": "1769:36:23", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", "src": "1787:4:23" }, { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", "src": "1799:4:23" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "1793:5:23" }, "nodeType": "YulFunctionCall", "src": "1793:11:23" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1783:3:23" }, "nodeType": "YulFunctionCall", "src": "1783:22:23" }, "variables": [ { "name": "endPtr", "nodeType": "YulTypedName", "src": "1773:6:23", "type": "" } ] } ] }, "src": "1711:1403:23" }, { "cases": [ { "body": { "nodeType": "YulBlock", "src": "3294:113:23", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "3324:9:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3335:1:23", "type": "", "value": "1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "3320:3:23" }, "nodeType": "YulFunctionCall", "src": "3320:17:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3339:4:23", "type": "", "value": "0x3d" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", "src": "3312:7:23" }, "nodeType": "YulFunctionCall", "src": "3312:32:23" }, "nodeType": "YulExpressionStatement", "src": "3312:32:23" }, { "expression": { "arguments": [ { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "3373:9:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3384:1:23", "type": "", "value": "2" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "3369:3:23" }, "nodeType": "YulFunctionCall", "src": "3369:17:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3388:4:23", "type": "", "value": "0x3d" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", "src": "3361:7:23" }, "nodeType": "YulFunctionCall", "src": "3361:32:23" }, "nodeType": "YulExpressionStatement", "src": "3361:32:23" } ] }, "nodeType": "YulCase", "src": "3287:120:23", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "3292:1:23", "type": "", "value": "1" } }, { "body": { "nodeType": "YulBlock", "src": "3427:64:23", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "resultPtr", "nodeType": "YulIdentifier", "src": "3457:9:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3468:1:23", "type": "", "value": "1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "3453:3:23" }, "nodeType": "YulFunctionCall", "src": "3453:17:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3472:4:23", "type": "", "value": "0x3d" } ], "functionName": { "name": "mstore8", "nodeType": "YulIdentifier", "src": "3445:7:23" }, "nodeType": "YulFunctionCall", "src": "3445:32:23" }, "nodeType": "YulExpressionStatement", "src": "3445:32:23" } ] }, "nodeType": "YulCase", "src": "3420:71:23", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "3425:1:23", "type": "", "value": "2" } } ], "expression": { "arguments": [ { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", "src": "3265:4:23" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "3259:5:23" }, "nodeType": "YulFunctionCall", "src": "3259:11:23" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3272:1:23", "type": "", "value": "3" } ], "functionName": { "name": "mod", "nodeType": "YulIdentifier", "src": "3255:3:23" }, "nodeType": "YulFunctionCall", "src": "3255:19:23" }, "nodeType": "YulSwitch", "src": "3248:243:23" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "london", "externalReferences": [ { "declaration": 27220, "isOffset": false, "isSlot": false, "src": "1748:4:23", "valueSize": 1 }, { "declaration": 27220, "isOffset": false, "isSlot": false, "src": "1787:4:23", "valueSize": 1 }, { "declaration": 27220, "isOffset": false, "isSlot": false, "src": "1799:4:23", "valueSize": 1 }, { "declaration": 27220, "isOffset": false, "isSlot": false, "src": "3265:4:23", "valueSize": 1 }, { "declaration": 27237, "isOffset": false, "isSlot": false, "src": "1633:6:23", "valueSize": 1 }, { "declaration": 27233, "isOffset": false, "isSlot": false, "src": "1533:5:23", "valueSize": 1 } ], "id": 27252, "nodeType": "InlineAssembly", "src": "1419:2082:23" }, { "expression": { "id": 27253, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27237, "src": "3518:6:23", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 27224, "id": 27254, "nodeType": "Return", "src": "3511:13:23" } ] }, "documentation": { "id": 27218, "nodeType": "StructuredDocumentation", "src": "418:82:23", "text": " @dev Converts a `bytes` to its Bytes64 `string` representation." }, "implemented": true, "kind": "function", "modifiers": [], "name": "encode", "nameLocation": "514:6:23", "parameters": { "id": 27221, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27220, "mutability": "mutable", "name": "data", "nameLocation": "534:4:23", "nodeType": "VariableDeclaration", "scope": 27256, "src": "521:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 27219, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "521:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "520:19:23" }, "returnParameters": { "id": 27224, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27223, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27256, "src": "563:13:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 27222, "name": "string", "nodeType": "ElementaryTypeName", "src": "563:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "562:15:23" }, "scope": 27257, "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "abstract": false, "baseContracts": [], "canonicalName": "Base64", "contractDependencies": [], "contractKind": "library", "documentation": { "id": 27213, "nodeType": "StructuredDocumentation", "src": "125:105:23", "text": " @dev Provides a set of functions to operate with Base64 strings.\n _Available since v4.5._" }, "fullyImplemented": true, "linearizedBaseContracts": [ 27257 ], "name": "Base64", "nameLocation": "239:6:23", "scope": 27258, "usedErrors": [] } ], "license": "MIT" }, "id": 23 }