From c145f530cfa6f9ab666fcb1396f55db4dca48113 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Fri, 3 Mar 2023 16:35:59 +0100 Subject: [PATCH] move files around --- apps/remix-ide/src/app/plugins/docgen.ts | 43 + .../src/app/plugins}/docgen/common/helpers.ts | 0 .../app/plugins}/docgen/common/properties.ts | 0 .../src/app/plugins}/docgen/config.ts | 0 .../src/app/plugins}/docgen/doc-item.ts | 0 .../src/app/plugins}/docgen/render.ts | 0 .../src/app/plugins}/docgen/site.ts | 0 .../src/app/plugins}/docgen/templates.ts | 0 .../docgen/themes/markdown/common.hbs | 0 .../docgen/themes/markdown/contract.hbs | 0 .../plugins}/docgen/themes/markdown/enum.hbs | 0 .../plugins}/docgen/themes/markdown/error.hbs | 0 .../plugins}/docgen/themes/markdown/event.hbs | 0 .../docgen/themes/markdown/function.hbs | 0 .../docgen/themes/markdown/helpers.ts | 0 .../docgen/themes/markdown/modifier.hbs | 0 .../plugins}/docgen/themes/markdown/page.hbs | 0 .../docgen/themes/markdown/struct.hbs | 0 .../markdown/user-defined-value-type.hbs | 0 .../docgen/themes/markdown/variable.hbs | 0 .../app/plugins}/docgen/utils/ItemError.ts | 0 .../app/plugins}/docgen/utils/arrays-equal.ts | 0 .../docgen/utils/assert-equal-types.ts | 0 .../src/app/plugins}/docgen/utils/clone.ts | 0 .../app/plugins}/docgen/utils/ensure-array.ts | 0 .../src/app/plugins}/docgen/utils/execall.ts | 0 .../src/app/plugins}/docgen/utils/is-child.ts | 0 .../app/plugins}/docgen/utils/item-type.ts | 0 .../src/app/plugins}/docgen/utils/map-keys.ts | 0 .../app/plugins}/docgen/utils/map-values.ts | 0 .../plugins}/docgen/utils/memoized-getter.ts | 0 .../src/app/plugins}/docgen/utils/natspec.ts | 0 .../plugins}/docgen/utils/read-item-docs.ts | 0 .../src/app/plugins}/docgen/utils/scope.ts | 0 apps/remixdocgen/.coveralls.yml | 2 - apps/remixdocgen/.eslintcache | 1 - apps/remixdocgen/.eslintrc.json | 34 + apps/remixdocgen/.prettierrc | 13 + apps/remixdocgen/docs/img/ethdoc.png | Bin 121370 -> 0 bytes apps/remixdocgen/docs/index.md | 29 - apps/remixdocgen/mkdocs.yml | 4 - apps/remixdocgen/project.json | 62 + apps/remixdocgen/public/index.html | 76 - apps/remixdocgen/public/logo192.png | Bin 5347 -> 0 bytes apps/remixdocgen/public/logo512.png | Bin 9664 -> 0 bytes apps/remixdocgen/public/manifest.json | 25 - apps/remixdocgen/public/robots.txt | 3 - apps/remixdocgen/{public => src}/favicon.ico | Bin apps/remixdocgen/src/index.html | 14 + apps/remixdocgen/src/{index.tsx => main.tsx} | 0 apps/remixdocgen/src/utils/faker.ts | 30 - apps/remixdocgen/src/utils/index.ts | 2 - apps/remixdocgen/src/utils/publisher.test.ts | 40 - apps/remixdocgen/src/utils/publisher.ts | 18 - .../src/utils/sample-data/file.json | 4272 ---------------- .../sample-artifact-with-comments.json | 4287 ----------------- .../utils/sample-data/sample-artifact.json | 3771 --------------- apps/remixdocgen/src/utils/template.ts | 151 - apps/remixdocgen/src/utils/types.ts | 41 - apps/remixdocgen/src/utils/utils.test.ts | 209 - apps/remixdocgen/src/utils/utils.ts | 125 - apps/remixdocgen/tslint.json | 16 - 62 files changed, 166 insertions(+), 13102 deletions(-) create mode 100644 apps/remix-ide/src/app/plugins/docgen.ts rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/common/helpers.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/common/properties.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/config.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/doc-item.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/render.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/site.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/templates.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/common.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/contract.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/enum.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/error.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/event.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/function.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/helpers.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/modifier.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/page.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/struct.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/user-defined-value-type.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/themes/markdown/variable.hbs (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/ItemError.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/arrays-equal.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/assert-equal-types.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/clone.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/ensure-array.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/execall.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/is-child.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/item-type.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/map-keys.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/map-values.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/memoized-getter.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/natspec.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/read-item-docs.ts (100%) rename apps/{remixdocgen/src/app => remix-ide/src/app/plugins}/docgen/utils/scope.ts (100%) delete mode 100644 apps/remixdocgen/.coveralls.yml delete mode 100644 apps/remixdocgen/.eslintcache create mode 100644 apps/remixdocgen/.eslintrc.json create mode 100644 apps/remixdocgen/.prettierrc delete mode 100644 apps/remixdocgen/docs/img/ethdoc.png delete mode 100644 apps/remixdocgen/docs/index.md delete mode 100644 apps/remixdocgen/mkdocs.yml create mode 100644 apps/remixdocgen/project.json delete mode 100644 apps/remixdocgen/public/index.html delete mode 100644 apps/remixdocgen/public/logo192.png delete mode 100644 apps/remixdocgen/public/logo512.png delete mode 100644 apps/remixdocgen/public/manifest.json delete mode 100644 apps/remixdocgen/public/robots.txt rename apps/remixdocgen/{public => src}/favicon.ico (100%) create mode 100644 apps/remixdocgen/src/index.html rename apps/remixdocgen/src/{index.tsx => main.tsx} (100%) delete mode 100644 apps/remixdocgen/src/utils/faker.ts delete mode 100644 apps/remixdocgen/src/utils/index.ts delete mode 100644 apps/remixdocgen/src/utils/publisher.test.ts delete mode 100644 apps/remixdocgen/src/utils/publisher.ts delete mode 100644 apps/remixdocgen/src/utils/sample-data/file.json delete mode 100644 apps/remixdocgen/src/utils/sample-data/sample-artifact-with-comments.json delete mode 100644 apps/remixdocgen/src/utils/sample-data/sample-artifact.json delete mode 100644 apps/remixdocgen/src/utils/template.ts delete mode 100644 apps/remixdocgen/src/utils/types.ts delete mode 100644 apps/remixdocgen/src/utils/utils.test.ts delete mode 100644 apps/remixdocgen/src/utils/utils.ts delete mode 100644 apps/remixdocgen/tslint.json diff --git a/apps/remix-ide/src/app/plugins/docgen.ts b/apps/remix-ide/src/app/plugins/docgen.ts new file mode 100644 index 0000000000..1e8f6f504a --- /dev/null +++ b/apps/remix-ide/src/app/plugins/docgen.ts @@ -0,0 +1,43 @@ +'use strict' +import { Plugin } from '@remixproject/engine' +import { Build, buildSite } from './docgen/site'; +import { render } from './docgen/render'; +import { Config, defaults } from './docgen/config'; +import { loadTemplates } from './docgen/templates'; +import { SolcInput, SolcOutput } from 'solidity-ast/solc'; + +const profile = { + name: 'docgen', + desciption: 'solidity doc gen plugin for Remix', + methods: ['docgen'], + events: [''], + version: '0.0.1' +} + + + +export class DocGen extends Plugin { + + constructor() { + super(profile) + } + + onActivation(): void { + //this.docgen([{ output: example, input: inp }]) + this.on('solidity', 'compilationFinished', (file, source, languageVersion, data, input, version) => { + this.docgen([{ output: data, input: JSON.parse(input) }]) + }) + } + + async docgen(builds: Build[], userConfig?: Config): Promise { + const config = { ...defaults, ...userConfig }; + const templates = await loadTemplates(config.theme, config.root, config.templates); + const site = buildSite(builds, config, templates.properties ?? {}); + const renderedSite = render(site, templates, config.collapseNewlines); + for (const { id, contents } of renderedSite) { + await this.call('fileManager', 'setFile', id, contents) + } + } + + +} \ No newline at end of file diff --git a/apps/remixdocgen/src/app/docgen/common/helpers.ts b/apps/remix-ide/src/app/plugins/docgen/common/helpers.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/common/helpers.ts rename to apps/remix-ide/src/app/plugins/docgen/common/helpers.ts diff --git a/apps/remixdocgen/src/app/docgen/common/properties.ts b/apps/remix-ide/src/app/plugins/docgen/common/properties.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/common/properties.ts rename to apps/remix-ide/src/app/plugins/docgen/common/properties.ts diff --git a/apps/remixdocgen/src/app/docgen/config.ts b/apps/remix-ide/src/app/plugins/docgen/config.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/config.ts rename to apps/remix-ide/src/app/plugins/docgen/config.ts diff --git a/apps/remixdocgen/src/app/docgen/doc-item.ts b/apps/remix-ide/src/app/plugins/docgen/doc-item.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/doc-item.ts rename to apps/remix-ide/src/app/plugins/docgen/doc-item.ts diff --git a/apps/remixdocgen/src/app/docgen/render.ts b/apps/remix-ide/src/app/plugins/docgen/render.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/render.ts rename to apps/remix-ide/src/app/plugins/docgen/render.ts diff --git a/apps/remixdocgen/src/app/docgen/site.ts b/apps/remix-ide/src/app/plugins/docgen/site.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/site.ts rename to apps/remix-ide/src/app/plugins/docgen/site.ts diff --git a/apps/remixdocgen/src/app/docgen/templates.ts b/apps/remix-ide/src/app/plugins/docgen/templates.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/templates.ts rename to apps/remix-ide/src/app/plugins/docgen/templates.ts diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/common.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/common.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/common.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/common.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/contract.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/contract.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/contract.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/contract.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/enum.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/enum.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/enum.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/enum.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/error.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/error.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/error.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/error.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/event.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/event.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/event.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/event.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/function.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/function.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/function.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/function.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/helpers.ts b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/helpers.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/helpers.ts rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/helpers.ts diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/modifier.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/modifier.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/modifier.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/modifier.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/page.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/page.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/page.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/page.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/struct.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/struct.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/struct.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/struct.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/user-defined-value-type.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/user-defined-value-type.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/user-defined-value-type.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/user-defined-value-type.hbs diff --git a/apps/remixdocgen/src/app/docgen/themes/markdown/variable.hbs b/apps/remix-ide/src/app/plugins/docgen/themes/markdown/variable.hbs similarity index 100% rename from apps/remixdocgen/src/app/docgen/themes/markdown/variable.hbs rename to apps/remix-ide/src/app/plugins/docgen/themes/markdown/variable.hbs diff --git a/apps/remixdocgen/src/app/docgen/utils/ItemError.ts b/apps/remix-ide/src/app/plugins/docgen/utils/ItemError.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/ItemError.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/ItemError.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/arrays-equal.ts b/apps/remix-ide/src/app/plugins/docgen/utils/arrays-equal.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/arrays-equal.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/arrays-equal.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/assert-equal-types.ts b/apps/remix-ide/src/app/plugins/docgen/utils/assert-equal-types.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/assert-equal-types.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/assert-equal-types.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/clone.ts b/apps/remix-ide/src/app/plugins/docgen/utils/clone.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/clone.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/clone.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/ensure-array.ts b/apps/remix-ide/src/app/plugins/docgen/utils/ensure-array.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/ensure-array.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/ensure-array.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/execall.ts b/apps/remix-ide/src/app/plugins/docgen/utils/execall.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/execall.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/execall.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/is-child.ts b/apps/remix-ide/src/app/plugins/docgen/utils/is-child.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/is-child.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/is-child.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/item-type.ts b/apps/remix-ide/src/app/plugins/docgen/utils/item-type.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/item-type.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/item-type.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/map-keys.ts b/apps/remix-ide/src/app/plugins/docgen/utils/map-keys.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/map-keys.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/map-keys.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/map-values.ts b/apps/remix-ide/src/app/plugins/docgen/utils/map-values.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/map-values.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/map-values.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/memoized-getter.ts b/apps/remix-ide/src/app/plugins/docgen/utils/memoized-getter.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/memoized-getter.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/memoized-getter.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/natspec.ts b/apps/remix-ide/src/app/plugins/docgen/utils/natspec.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/natspec.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/natspec.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/read-item-docs.ts b/apps/remix-ide/src/app/plugins/docgen/utils/read-item-docs.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/read-item-docs.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/read-item-docs.ts diff --git a/apps/remixdocgen/src/app/docgen/utils/scope.ts b/apps/remix-ide/src/app/plugins/docgen/utils/scope.ts similarity index 100% rename from apps/remixdocgen/src/app/docgen/utils/scope.ts rename to apps/remix-ide/src/app/plugins/docgen/utils/scope.ts diff --git a/apps/remixdocgen/.coveralls.yml b/apps/remixdocgen/.coveralls.yml deleted file mode 100644 index 1403477128..0000000000 --- a/apps/remixdocgen/.coveralls.yml +++ /dev/null @@ -1,2 +0,0 @@ -service_name: circleci -repo_token: $COVERALLS_REPO_TOKEN \ No newline at end of file diff --git a/apps/remixdocgen/.eslintcache b/apps/remixdocgen/.eslintcache deleted file mode 100644 index 905075cb71..0000000000 --- a/apps/remixdocgen/.eslintcache +++ /dev/null @@ -1 +0,0 @@ -[{"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/index.tsx":"1","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/App.tsx":"2","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/utils/utils.ts":"3","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/routes.tsx":"4","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/AppContext.tsx":"5","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/hooks/useLocalStorage.tsx":"6","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/utils/template.ts":"7","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/views/index.ts":"8","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/views/ErrorView.tsx":"9","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/views/HomeView.tsx":"10","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/utils/index.ts":"11","/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/utils/publisher.ts":"12"},{"size":235,"mtime":1621830872059,"results":"13","hashOfConfig":"14"},{"size":3284,"mtime":1621832627202,"results":"15","hashOfConfig":"14"},{"size":3501,"mtime":1621832476597,"results":"16","hashOfConfig":"14"},{"size":673,"mtime":1621830872059,"results":"17","hashOfConfig":"14"},{"size":711,"mtime":1621832627220,"results":"18","hashOfConfig":"14"},{"size":1255,"mtime":1621830872059,"results":"19","hashOfConfig":"14"},{"size":3850,"mtime":1621832488723,"results":"20","hashOfConfig":"14"},{"size":80,"mtime":1621830872062,"results":"21","hashOfConfig":"14"},{"size":729,"mtime":1621830872062,"results":"22","hashOfConfig":"14"},{"size":6248,"mtime":1621832627316,"results":"23","hashOfConfig":"14"},{"size":54,"mtime":1621830872059,"results":"24","hashOfConfig":"14"},{"size":395,"mtime":1621830872060,"results":"25","hashOfConfig":"14"},{"filePath":"26","messages":"27","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"iuk8ym",{"filePath":"28","messages":"29","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"30","messages":"31","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"32","messages":"33","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"34","messages":"35","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"38","messages":"39","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"40","messages":"41","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"42","messages":"43","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"44","messages":"45","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"46","messages":"47","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"48","messages":"49","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/index.tsx",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/App.tsx",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/utils/utils.ts",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/routes.tsx",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/AppContext.tsx",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/hooks/useLocalStorage.tsx",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/utils/template.ts",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/views/index.ts",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/views/ErrorView.tsx",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/views/HomeView.tsx",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/utils/index.ts",[],"/Users/edsonalcala/RemixRepos/remix-ethdoc-plugin/src/utils/publisher.ts",[]] \ No newline at end of file diff --git a/apps/remixdocgen/.eslintrc.json b/apps/remixdocgen/.eslintrc.json new file mode 100644 index 0000000000..a92d0f887a --- /dev/null +++ b/apps/remixdocgen/.eslintrc.json @@ -0,0 +1,34 @@ +{ + "extends": [ + "plugin:@nrwl/nx/react", + "../../.eslintrc.json" + ], + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts", + "*.tsx", + "*.js", + "*.jsx" + ], + "rules": {} + }, + { + "files": [ + "*.ts", + "*.tsx" + ], + "rules": {} + }, + { + "files": [ + "*.js", + "*.jsx" + ], + "rules": {} + } + ] +} \ No newline at end of file diff --git a/apps/remixdocgen/.prettierrc b/apps/remixdocgen/.prettierrc new file mode 100644 index 0000000000..6e6d086922 --- /dev/null +++ b/apps/remixdocgen/.prettierrc @@ -0,0 +1,13 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "all", + "printWidth": 120, + "tabWidth": 2, + "useTabs": false, + "arrowParens": "avoid", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "endOfLine": "lf" +} \ No newline at end of file diff --git a/apps/remixdocgen/docs/img/ethdoc.png b/apps/remixdocgen/docs/img/ethdoc.png deleted file mode 100644 index ee977ad56e63201d5da55dc699964e97d3fef3a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121370 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%0DAu#5mQu%D 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 diff --git a/apps/remixdocgen/docs/index.md b/apps/remixdocgen/docs/index.md deleted file mode 100644 index 8b0479be44..0000000000 --- a/apps/remixdocgen/docs/index.md +++ /dev/null @@ -1,29 +0,0 @@ -# Remix EthDoc Plugin - -The Remix EthDoc plugin allow you to generate HTML documents from solidity smart contracts. It also gives you the capability to publish the generated HTML documents to IPFS. - -## Activate - -EthDoc consists of 2 plugins: the EthDoc Viewer and the EthdDoc Generator. The EthDoc Generator will activate the EthDoc Viewer, so to use EthDoc, you only need to activate EthDoc Generator. - -The following image illustrates both sections of the plugin. - -![Screenshot](img/ethdoc.png) - -The EthDoc viewer appears in a tab in the main area of the Remix Editor and the EthDoc generator will appear in the side panel. - -## How to generate documentation - -To generate HTML documents, the first thing you need to do is to compile smart contracts. - -Once the contracts are compiled, go to the EthDoc Generator in the side panel and click the button to generate the docs. To see the generated docs, click the EthDoc Viewer tab in Remix's Editor. - -## How to publish - -In order to publish an HTML document, you need to first select a generated HTML document and then click the "Publish" button. - -Then, you should be redirected to the published version of the HTML document. - -## Issues - -If you have any issues, please feel free to create an issue in our [Github repository](https://github.com/Machinalabs/remix-ethdoc-plugin/issues). diff --git a/apps/remixdocgen/mkdocs.yml b/apps/remixdocgen/mkdocs.yml deleted file mode 100644 index b12b460a95..0000000000 --- a/apps/remixdocgen/mkdocs.yml +++ /dev/null @@ -1,4 +0,0 @@ -site_name: Remix Ethdoc -nav: - - Home: index.md -theme: readthedocs \ No newline at end of file diff --git a/apps/remixdocgen/project.json b/apps/remixdocgen/project.json new file mode 100644 index 0000000000..b9c2b1e9c7 --- /dev/null +++ b/apps/remixdocgen/project.json @@ -0,0 +1,62 @@ +{ + "name": "etherscan", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/remixdocgen/src", + "projectType": "application", + "implicitDependencies": [ + "docgen" + ], + "targets": { + "build": { + "executor": "@nrwl/webpack:webpack", + "outputs": ["{options.outputPath}"], + "defaultConfiguration": "development", + "options": { + "compiler": "babel", + "outputPath": "dist/apps/remixdocgen", + "index": "apps/etherscan/src/index.html", + "baseHref": "/", + "main": "apps/etherscan/src/main.tsx", + "polyfills": "apps/etherscan/src/polyfills.ts", + "tsConfig": "apps/etherscan/tsconfig.app.json", + "assets": [ + "apps/etherscan/src/favicon.ico", + "apps/etherscan/src/assets" + ], + "styles": ["apps/etherscan/src/styles.css"], + "scripts": [], + "webpackConfig": "apps/etherscan/webpack.config.js" + }, + "configurations": { + "development": { + }, + "production": { + "fileReplacements": [ + { + "replace": "apps/etherscan/src/environments/environment.ts", + "with": "apps/etherscan/src/environments/environment.prod.ts" + } + ] + } + } + }, + "serve": { + "executor": "@nrwl/webpack:dev-server", + "defaultConfiguration": "development", + "options": { + "buildTarget": "etherscan:build", + "hmr": true + }, + "configurations": { + "development": { + "buildTarget": "etherscan:build:development", + "port": 6003 + }, + "production": { + "buildTarget": "etherscan:build:production" + } + } + } + }, + "tags": [] +} diff --git a/apps/remixdocgen/public/index.html b/apps/remixdocgen/public/index.html deleted file mode 100644 index 0d3342c0db..0000000000 --- a/apps/remixdocgen/public/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - Remix Plugin - - - - -
- - - diff --git a/apps/remixdocgen/public/logo192.png b/apps/remixdocgen/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/apps/remixdocgen/public/manifest.json b/apps/remixdocgen/public/manifest.json deleted file mode 100644 index 080d6c77ac..0000000000 --- a/apps/remixdocgen/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/apps/remixdocgen/public/robots.txt b/apps/remixdocgen/public/robots.txt deleted file mode 100644 index e9e57dc4d4..0000000000 --- a/apps/remixdocgen/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/apps/remixdocgen/public/favicon.ico b/apps/remixdocgen/src/favicon.ico similarity index 100% rename from apps/remixdocgen/public/favicon.ico rename to apps/remixdocgen/src/favicon.ico diff --git a/apps/remixdocgen/src/index.html b/apps/remixdocgen/src/index.html new file mode 100644 index 0000000000..7d7781859d --- /dev/null +++ b/apps/remixdocgen/src/index.html @@ -0,0 +1,14 @@ + + + + + Remix Docgen + + + + + + +
+ + diff --git a/apps/remixdocgen/src/index.tsx b/apps/remixdocgen/src/main.tsx similarity index 100% rename from apps/remixdocgen/src/index.tsx rename to apps/remixdocgen/src/main.tsx diff --git a/apps/remixdocgen/src/utils/faker.ts b/apps/remixdocgen/src/utils/faker.ts deleted file mode 100644 index 162bc32776..0000000000 --- a/apps/remixdocgen/src/utils/faker.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { CompiledContract, ABIParameter } from "@remixproject/plugin-api/lib/compiler"; - -import sampleData from "./sample-data/sample-artifact.json"; -import sampleDataWithComments from "./sample-data/sample-artifact-with-comments.json"; - -export const buildFakeArtifact: () => CompiledContract = () => { - const result = (sampleData as never) as CompiledContract; - return result; -}; - -export const buildFakeArtifactWithComments: () => CompiledContract = () => { - const result = (sampleDataWithComments as never) as CompiledContract; - return result; -}; - -export const buildFakeABIParameter: () => ABIParameter = () => { - return { - internalType: "address", - name: "allocator", - type: "address", - }; -}; - -export const buildFakeABIParameterWithDocumentation: () => ABIParameter = () => { - return { - internalType: "address", - name: "allocator", - type: "address", - }; -}; diff --git a/apps/remixdocgen/src/utils/index.ts b/apps/remixdocgen/src/utils/index.ts deleted file mode 100644 index 2648b019f2..0000000000 --- a/apps/remixdocgen/src/utils/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./utils"; -export * from "./publisher"; diff --git a/apps/remixdocgen/src/utils/publisher.test.ts b/apps/remixdocgen/src/utils/publisher.test.ts deleted file mode 100644 index 25a76b8d08..0000000000 --- a/apps/remixdocgen/src/utils/publisher.test.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { publish } from "./publisher"; - -// tslint:disable-next-line -const open = require("open"); - -jest.setTimeout(10000); - -describe("Publisher tests", () => { - test("it can publish", async () => { - const result = await publish("hello 123"); - - expect(result).toBeDefined(); - }); - - test("it can publish html", async () => { - const result = await publish(` - - - - - - - -
Content custom
- - - `); - - // Uncomment for testing - - // const url = `https://ipfs.io/ipfs/${result}`; - - // await open(url, { app: ['google chrome', '--incognito'] }); - - expect(result).toBeDefined(); - }); -}); diff --git a/apps/remixdocgen/src/utils/publisher.ts b/apps/remixdocgen/src/utils/publisher.ts deleted file mode 100644 index 07cc6c98ca..0000000000 --- a/apps/remixdocgen/src/utils/publisher.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { HTMLContent } from "./types"; - -// tslint:disable-next-line -const IpfsClient = require("ipfs-mini"); - -export const publish = async (content: HTMLContent) => { - const ipfs = new IpfsClient({ - host: "ipfs.infura.io", - port: 5001, - protocol: "https", - }); - - const documentHash = await ipfs.add(content); - - console.log("Document hash", documentHash); - - return documentHash; -}; diff --git a/apps/remixdocgen/src/utils/sample-data/file.json b/apps/remixdocgen/src/utils/sample-data/file.json deleted file mode 100644 index c784806fa5..0000000000 --- a/apps/remixdocgen/src/utils/sample-data/file.json +++ /dev/null @@ -1,4272 +0,0 @@ -{ - "abi": [ - { - "constant": false, - "inputs": [], - "name": "Fal1out", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "rings", - "type": "uint256" - } - ], - "name": "age", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "allocate", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "allocator", - "type": "address" - } - ], - "name": "allocatorBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "collectAllocations", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address payable", - "name": "allocator", - "type": "address" - } - ], - "name": "sendAllocation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "author": "Mary A. Botanist", - "methods": {} - }, - "evm": { - "bytecode": { - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50610650806100206000396000f3fe6080604052600436106100705760003560e01c80638da5cb5b1161004e5780638da5cb5b146100e5578063a2dea26f1461013c578063abaa99161461018d578063ffd40b561461019757610070565b80636ba61782146100755780636fab5ddf146100c45780638aa96f38146100ce575b600080fd5b34801561008157600080fd5b506100ae6004803603602081101561009857600080fd5b81019080803590602001909291905050506101fc565b6040518082815260200191505060405180910390f35b6100cc610209565b005b3480156100da57600080fd5b506100e36102b1565b005b3480156100f157600080fd5b506100fa6103bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b5061018b6004803603602081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e3565b005b6101956104b6565b005b3480156101a357600080fd5b506101e6600480360360208110156101ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054b565b6040518082815260200191505060405180910390f35b6000600182019050919050565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610374576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156103ba573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161042e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156104b2573d6000803e3d6000fd5b5050565b610507346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461059390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080828401905083811015610611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fea265627a7a723158204f37ab4276d1ae66ddc30e015934768668c163bcda4b8e33f7be1974f7212e1364736f6c63430005110032", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x650 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x70 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xE5 JUMPI DUP1 PUSH4 0xA2DEA26F EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0xABAA9916 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0xFFD40B56 EQ PUSH2 0x197 JUMPI PUSH2 0x70 JUMP JUMPDEST DUP1 PUSH4 0x6BA61782 EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x6FAB5DDF EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x8AA96F38 EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAE PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCC PUSH2 0x209 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE3 PUSH2 0x2B1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH2 0x3BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3E3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x195 PUSH2 0x4B6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x54B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x374 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x3BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x4B2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x507 CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x593 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x611 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 0x4F CALLDATACOPY 0xAB TIMESTAMP PUSH23 0xD1AE66DDC30E015934768668C163BCDA4B8E33F7BE1974 0xF7 0x21 0x2E SGT PUSH5 0x736F6C6343 STOP SDIV GT STOP ORIGIN ", - "sourceMap": "148:984:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;148:984:0;;;;;;;" - }, - "deployedBytecode": { - "linkReferences": {}, - "object": "6080604052600436106100705760003560e01c80638da5cb5b1161004e5780638da5cb5b146100e5578063a2dea26f1461013c578063abaa99161461018d578063ffd40b561461019757610070565b80636ba61782146100755780636fab5ddf146100c45780638aa96f38146100ce575b600080fd5b34801561008157600080fd5b506100ae6004803603602081101561009857600080fd5b81019080803590602001909291905050506101fc565b6040518082815260200191505060405180910390f35b6100cc610209565b005b3480156100da57600080fd5b506100e36102b1565b005b3480156100f157600080fd5b506100fa6103bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b5061018b6004803603602081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e3565b005b6101956104b6565b005b3480156101a357600080fd5b506101e6600480360360208110156101ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054b565b6040518082815260200191505060405180910390f35b6000600182019050919050565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610374576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156103ba573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161042e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156104b2573d6000803e3d6000fd5b5050565b610507346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461059390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080828401905083811015610611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fea265627a7a723158204f37ab4276d1ae66ddc30e015934768668c163bcda4b8e33f7be1974f7212e1364736f6c63430005110032", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x70 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xE5 JUMPI DUP1 PUSH4 0xA2DEA26F EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0xABAA9916 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0xFFD40B56 EQ PUSH2 0x197 JUMPI PUSH2 0x70 JUMP JUMPDEST DUP1 PUSH4 0x6BA61782 EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x6FAB5DDF EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x8AA96F38 EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAE PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCC PUSH2 0x209 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE3 PUSH2 0x2B1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH2 0x3BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3E3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x195 PUSH2 0x4B6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x54B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x374 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x3BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x4B2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x507 CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x593 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x611 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 0x4F CALLDATACOPY 0xAB TIMESTAMP PUSH23 0xD1AE66DDC30E015934768668C163BCDA4B8E33F7BE1974 0xF7 0x21 0x2E SGT PUSH5 0x736F6C6343 STOP SDIV GT STOP ORIGIN ", - "sourceMap": "148:984:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;548:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;548:88:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;548:88:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;297:99;;;:::i;:::-;;914:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;914:100:0;;;:::i;:::-;;243:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;243:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;758:152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;758:152:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;758:152:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;644:110;;;:::i;:::-;;1018:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1018:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1018:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;548:88;599:7;629:1;621:5;:9;614:16;;548:88;;;:::o;297:99::-;345:10;337:5;;:18;;;;;;;;;;;;;;;;;;382:9;361:11;:18;373:5;;;;;;;;;;;361:18;;;;;;;;;;;;;;;:30;;;;297:99::o;914:100::-;466:5;;;;;;;;;;;452:19;;:10;:19;;;430:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;967:10;:19;;:42;987:21;967:42;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;967:42:0;914:100::o;243:28::-;;;;;;;;;;;;;:::o;758:152::-;855:1;830:11;:22;842:9;830:22;;;;;;;;;;;;;;;;:26;822:35;;;;;;863:9;:18;;:42;882:11;:22;894:9;882:22;;;;;;;;;;;;;;;;863:42;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;863:42:0;758:152;:::o;644:110::-;711:38;739:9;711:11;:23;723:10;711:23;;;;;;;;;;;;;;;;:27;;:38;;;;:::i;:::-;685:11;:23;697:10;685:23;;;;;;;;;;;;;;;:64;;;;644:110::o;1018:112::-;1084:4;1103:11;:22;1115:9;1103:22;;;;;;;;;;;;;;;;1096:29;;1018:112;;;:::o;834:176:1:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "323200", - "executionCost": "362", - "totalCost": "323562" - }, - "external": { - "Fal1out()": "41948", - "age(uint256)": "307", - "allocate()": "infinite", - "allocatorBalance(address)": "1262", - "collectAllocations()": "infinite", - "owner()": "1053", - "sendAllocation(address)": "infinite" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "80" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "40" - }, - { - "begin": 148, - "end": 1132, - "name": "MSTORE" - }, - { - "begin": 148, - "end": 1132, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "1" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "1" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 148, - "end": 1132, - "name": "POP" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH #[$]", - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [$]", - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "0" - }, - { - "begin": 148, - "end": 1132, - "name": "CODECOPY" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "0" - }, - { - "begin": 148, - "end": 1132, - "name": "RETURN" - } - ], - ".data": { - "0": { - ".auxdata": "a265627a7a723158204f37ab4276d1ae66ddc30e015934768668c163bcda4b8e33f7be1974f7212e1364736f6c63430005110032", - ".code": [ - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "80" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "40" - }, - { - "begin": 148, - "end": 1132, - "name": "MSTORE" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "4" - }, - { - "begin": 148, - "end": 1132, - "name": "CALLDATASIZE" - }, - { - "begin": 148, - "end": 1132, - "name": "LT" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "1" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPI" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "0" - }, - { - "begin": 148, - "end": 1132, - "name": "CALLDATALOAD" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "E0" - }, - { - "begin": 148, - "end": 1132, - "name": "SHR" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "8DA5CB5B" - }, - { - "begin": 148, - "end": 1132, - "name": "GT" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "9" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPI" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "8DA5CB5B" - }, - { - "begin": 148, - "end": 1132, - "name": "EQ" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "5" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPI" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "A2DEA26F" - }, - { - "begin": 148, - "end": 1132, - "name": "EQ" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "6" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPI" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "ABAA9916" - }, - { - "begin": 148, - "end": 1132, - "name": "EQ" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "7" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPI" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "FFD40B56" - }, - { - "begin": 148, - "end": 1132, - "name": "EQ" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "8" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPI" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "1" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMP" - }, - { - "begin": 148, - "end": 1132, - "name": "tag", - "value": "9" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPDEST" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "6BA61782" - }, - { - "begin": 148, - "end": 1132, - "name": "EQ" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "2" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPI" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "6FAB5DDF" - }, - { - "begin": 148, - "end": 1132, - "name": "EQ" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "3" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPI" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "8AA96F38" - }, - { - "begin": 148, - "end": 1132, - "name": "EQ" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH [tag]", - "value": "4" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPI" - }, - { - "begin": 148, - "end": 1132, - "name": "tag", - "value": "1" - }, - { - "begin": 148, - "end": 1132, - "name": "JUMPDEST" - }, - { - "begin": 148, - "end": 1132, - "name": "PUSH", - "value": "0" - }, - { - "begin": 148, - "end": 1132, - "name": "DUP1" - }, - { - "begin": 148, - "end": 1132, - "name": "REVERT" - }, - { - "begin": 548, - "end": 636, - "name": "tag", - "value": "2" - }, - { - "begin": 548, - "end": 636, - "name": "JUMPDEST" - }, - { - "begin": 548, - "end": 636, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "10" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "10" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 548, - "end": 636, - "name": "POP" - }, - { - "begin": 548, - "end": 636, - "name": "PUSH [tag]", - "value": "11" - }, - { - "begin": 548, - "end": 636, - "name": "PUSH", - "value": "4" - }, - { - "begin": 548, - "end": 636, - "name": "DUP1" - }, - { - "begin": 548, - "end": 636, - "name": "CALLDATASIZE" - }, - { - "begin": 548, - "end": 636, - "name": "SUB" - }, - { - "begin": 13, - "end": 15, - "name": "PUSH", - "value": "20" - }, - { - "begin": 8, - "end": 11, - "name": "DUP2" - }, - { - "begin": 5, - "end": 16, - "name": "LT" - }, - { - "begin": 2, - "end": 4, - "name": "ISZERO" - }, - { - "begin": 2, - "end": 4, - "name": "PUSH [tag]", - "value": "12" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPI" - }, - { - "begin": 29, - "end": 30, - "name": "PUSH", - "value": "0" - }, - { - "begin": 26, - "end": 27, - "name": "DUP1" - }, - { - "begin": 19, - "end": 31, - "name": "REVERT" - }, - { - "begin": 2, - "end": 4, - "name": "tag", - "value": "12" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPDEST" - }, - { - "begin": 548, - "end": 636, - "name": "DUP2" - }, - { - "begin": 548, - "end": 636, - "name": "ADD" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP1" - }, - { - "begin": 548, - "end": 636, - "name": "DUP1" - }, - { - "begin": 548, - "end": 636, - "name": "DUP1" - }, - { - "begin": 548, - "end": 636, - "name": "CALLDATALOAD" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP1" - }, - { - "begin": 548, - "end": 636, - "name": "PUSH", - "value": "20" - }, - { - "begin": 548, - "end": 636, - "name": "ADD" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP1" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP3" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP2" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP1" - }, - { - "begin": 548, - "end": 636, - "name": "POP" - }, - { - "begin": 548, - "end": 636, - "name": "POP" - }, - { - "begin": 548, - "end": 636, - "name": "POP" - }, - { - "begin": 548, - "end": 636, - "name": "PUSH [tag]", - "value": "13" - }, - { - "begin": 548, - "end": 636, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 548, - "end": 636, - "name": "tag", - "value": "11" - }, - { - "begin": 548, - "end": 636, - "name": "JUMPDEST" - }, - { - "begin": 548, - "end": 636, - "name": "PUSH", - "value": "40" - }, - { - "begin": 548, - "end": 636, - "name": "MLOAD" - }, - { - "begin": 548, - "end": 636, - "name": "DUP1" - }, - { - "begin": 548, - "end": 636, - "name": "DUP3" - }, - { - "begin": 548, - "end": 636, - "name": "DUP2" - }, - { - "begin": 548, - "end": 636, - "name": "MSTORE" - }, - { - "begin": 548, - "end": 636, - "name": "PUSH", - "value": "20" - }, - { - "begin": 548, - "end": 636, - "name": "ADD" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP2" - }, - { - "begin": 548, - "end": 636, - "name": "POP" - }, - { - "begin": 548, - "end": 636, - "name": "POP" - }, - { - "begin": 548, - "end": 636, - "name": "PUSH", - "value": "40" - }, - { - "begin": 548, - "end": 636, - "name": "MLOAD" - }, - { - "begin": 548, - "end": 636, - "name": "DUP1" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP2" - }, - { - "begin": 548, - "end": 636, - "name": "SUB" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP1" - }, - { - "begin": 548, - "end": 636, - "name": "RETURN" - }, - { - "begin": 297, - "end": 396, - "name": "tag", - "value": "3" - }, - { - "begin": 297, - "end": 396, - "name": "JUMPDEST" - }, - { - "begin": 297, - "end": 396, - "name": "PUSH [tag]", - "value": "14" - }, - { - "begin": 297, - "end": 396, - "name": "PUSH [tag]", - "value": "15" - }, - { - "begin": 297, - "end": 396, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 297, - "end": 396, - "name": "tag", - "value": "14" - }, - { - "begin": 297, - "end": 396, - "name": "JUMPDEST" - }, - { - "begin": 297, - "end": 396, - "name": "STOP" - }, - { - "begin": 914, - "end": 1014, - "name": "tag", - "value": "4" - }, - { - "begin": 914, - "end": 1014, - "name": "JUMPDEST" - }, - { - "begin": 914, - "end": 1014, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "16" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "16" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 914, - "end": 1014, - "name": "POP" - }, - { - "begin": 914, - "end": 1014, - "name": "PUSH [tag]", - "value": "17" - }, - { - "begin": 914, - "end": 1014, - "name": "PUSH [tag]", - "value": "18" - }, - { - "begin": 914, - "end": 1014, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 914, - "end": 1014, - "name": "tag", - "value": "17" - }, - { - "begin": 914, - "end": 1014, - "name": "JUMPDEST" - }, - { - "begin": 914, - "end": 1014, - "name": "STOP" - }, - { - "begin": 243, - "end": 271, - "name": "tag", - "value": "5" - }, - { - "begin": 243, - "end": 271, - "name": "JUMPDEST" - }, - { - "begin": 243, - "end": 271, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "19" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "19" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 243, - "end": 271, - "name": "POP" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH [tag]", - "value": "20" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH [tag]", - "value": "21" - }, - { - "begin": 243, - "end": 271, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 243, - "end": 271, - "name": "tag", - "value": "20" - }, - { - "begin": 243, - "end": 271, - "name": "JUMPDEST" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH", - "value": "40" - }, - { - "begin": 243, - "end": 271, - "name": "MLOAD" - }, - { - "begin": 243, - "end": 271, - "name": "DUP1" - }, - { - "begin": 243, - "end": 271, - "name": "DUP3" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 243, - "end": 271, - "name": "AND" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 243, - "end": 271, - "name": "AND" - }, - { - "begin": 243, - "end": 271, - "name": "DUP2" - }, - { - "begin": 243, - "end": 271, - "name": "MSTORE" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH", - "value": "20" - }, - { - "begin": 243, - "end": 271, - "name": "ADD" - }, - { - "begin": 243, - "end": 271, - "name": "SWAP2" - }, - { - "begin": 243, - "end": 271, - "name": "POP" - }, - { - "begin": 243, - "end": 271, - "name": "POP" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH", - "value": "40" - }, - { - "begin": 243, - "end": 271, - "name": "MLOAD" - }, - { - "begin": 243, - "end": 271, - "name": "DUP1" - }, - { - "begin": 243, - "end": 271, - "name": "SWAP2" - }, - { - "begin": 243, - "end": 271, - "name": "SUB" - }, - { - "begin": 243, - "end": 271, - "name": "SWAP1" - }, - { - "begin": 243, - "end": 271, - "name": "RETURN" - }, - { - "begin": 758, - "end": 910, - "name": "tag", - "value": "6" - }, - { - "begin": 758, - "end": 910, - "name": "JUMPDEST" - }, - { - "begin": 758, - "end": 910, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "22" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "22" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 758, - "end": 910, - "name": "POP" - }, - { - "begin": 758, - "end": 910, - "name": "PUSH [tag]", - "value": "23" - }, - { - "begin": 758, - "end": 910, - "name": "PUSH", - "value": "4" - }, - { - "begin": 758, - "end": 910, - "name": "DUP1" - }, - { - "begin": 758, - "end": 910, - "name": "CALLDATASIZE" - }, - { - "begin": 758, - "end": 910, - "name": "SUB" - }, - { - "begin": 13, - "end": 15, - "name": "PUSH", - "value": "20" - }, - { - "begin": 8, - "end": 11, - "name": "DUP2" - }, - { - "begin": 5, - "end": 16, - "name": "LT" - }, - { - "begin": 2, - "end": 4, - "name": "ISZERO" - }, - { - "begin": 2, - "end": 4, - "name": "PUSH [tag]", - "value": "24" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPI" - }, - { - "begin": 29, - "end": 30, - "name": "PUSH", - "value": "0" - }, - { - "begin": 26, - "end": 27, - "name": "DUP1" - }, - { - "begin": 19, - "end": 31, - "name": "REVERT" - }, - { - "begin": 2, - "end": 4, - "name": "tag", - "value": "24" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPDEST" - }, - { - "begin": 758, - "end": 910, - "name": "DUP2" - }, - { - "begin": 758, - "end": 910, - "name": "ADD" - }, - { - "begin": 758, - "end": 910, - "name": "SWAP1" - }, - { - "begin": 758, - "end": 910, - "name": "DUP1" - }, - { - "begin": 758, - "end": 910, - "name": "DUP1" - }, - { - "begin": 758, - "end": 910, - "name": "CALLDATALOAD" - }, - { - "begin": 758, - "end": 910, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 758, - "end": 910, - "name": "AND" - }, - { - "begin": 758, - "end": 910, - "name": "SWAP1" - }, - { - "begin": 758, - "end": 910, - "name": "PUSH", - "value": "20" - }, - { - "begin": 758, - "end": 910, - "name": "ADD" - }, - { - "begin": 758, - "end": 910, - "name": "SWAP1" - }, - { - "begin": 758, - "end": 910, - "name": "SWAP3" - }, - { - "begin": 758, - "end": 910, - "name": "SWAP2" - }, - { - "begin": 758, - "end": 910, - "name": "SWAP1" - }, - { - "begin": 758, - "end": 910, - "name": "POP" - }, - { - "begin": 758, - "end": 910, - "name": "POP" - }, - { - "begin": 758, - "end": 910, - "name": "POP" - }, - { - "begin": 758, - "end": 910, - "name": "PUSH [tag]", - "value": "25" - }, - { - "begin": 758, - "end": 910, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 758, - "end": 910, - "name": "tag", - "value": "23" - }, - { - "begin": 758, - "end": 910, - "name": "JUMPDEST" - }, - { - "begin": 758, - "end": 910, - "name": "STOP" - }, - { - "begin": 644, - "end": 754, - "name": "tag", - "value": "7" - }, - { - "begin": 644, - "end": 754, - "name": "JUMPDEST" - }, - { - "begin": 644, - "end": 754, - "name": "PUSH [tag]", - "value": "26" - }, - { - "begin": 644, - "end": 754, - "name": "PUSH [tag]", - "value": "27" - }, - { - "begin": 644, - "end": 754, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 644, - "end": 754, - "name": "tag", - "value": "26" - }, - { - "begin": 644, - "end": 754, - "name": "JUMPDEST" - }, - { - "begin": 644, - "end": 754, - "name": "STOP" - }, - { - "begin": 1018, - "end": 1130, - "name": "tag", - "value": "8" - }, - { - "begin": 1018, - "end": 1130, - "name": "JUMPDEST" - }, - { - "begin": 1018, - "end": 1130, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "28" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "28" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 1018, - "end": 1130, - "name": "POP" - }, - { - "begin": 1018, - "end": 1130, - "name": "PUSH [tag]", - "value": "29" - }, - { - "begin": 1018, - "end": 1130, - "name": "PUSH", - "value": "4" - }, - { - "begin": 1018, - "end": 1130, - "name": "DUP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "CALLDATASIZE" - }, - { - "begin": 1018, - "end": 1130, - "name": "SUB" - }, - { - "begin": 13, - "end": 15, - "name": "PUSH", - "value": "20" - }, - { - "begin": 8, - "end": 11, - "name": "DUP2" - }, - { - "begin": 5, - "end": 16, - "name": "LT" - }, - { - "begin": 2, - "end": 4, - "name": "ISZERO" - }, - { - "begin": 2, - "end": 4, - "name": "PUSH [tag]", - "value": "30" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPI" - }, - { - "begin": 29, - "end": 30, - "name": "PUSH", - "value": "0" - }, - { - "begin": 26, - "end": 27, - "name": "DUP1" - }, - { - "begin": 19, - "end": 31, - "name": "REVERT" - }, - { - "begin": 2, - "end": 4, - "name": "tag", - "value": "30" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPDEST" - }, - { - "begin": 1018, - "end": 1130, - "name": "DUP2" - }, - { - "begin": 1018, - "end": 1130, - "name": "ADD" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "DUP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "DUP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "CALLDATALOAD" - }, - { - "begin": 1018, - "end": 1130, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1018, - "end": 1130, - "name": "AND" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1018, - "end": 1130, - "name": "ADD" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP3" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP2" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "POP" - }, - { - "begin": 1018, - "end": 1130, - "name": "POP" - }, - { - "begin": 1018, - "end": 1130, - "name": "POP" - }, - { - "begin": 1018, - "end": 1130, - "name": "PUSH [tag]", - "value": "31" - }, - { - "begin": 1018, - "end": 1130, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 1018, - "end": 1130, - "name": "tag", - "value": "29" - }, - { - "begin": 1018, - "end": 1130, - "name": "JUMPDEST" - }, - { - "begin": 1018, - "end": 1130, - "name": "PUSH", - "value": "40" - }, - { - "begin": 1018, - "end": 1130, - "name": "MLOAD" - }, - { - "begin": 1018, - "end": 1130, - "name": "DUP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "DUP3" - }, - { - "begin": 1018, - "end": 1130, - "name": "DUP2" - }, - { - "begin": 1018, - "end": 1130, - "name": "MSTORE" - }, - { - "begin": 1018, - "end": 1130, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1018, - "end": 1130, - "name": "ADD" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP2" - }, - { - "begin": 1018, - "end": 1130, - "name": "POP" - }, - { - "begin": 1018, - "end": 1130, - "name": "POP" - }, - { - "begin": 1018, - "end": 1130, - "name": "PUSH", - "value": "40" - }, - { - "begin": 1018, - "end": 1130, - "name": "MLOAD" - }, - { - "begin": 1018, - "end": 1130, - "name": "DUP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP2" - }, - { - "begin": 1018, - "end": 1130, - "name": "SUB" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "RETURN" - }, - { - "begin": 548, - "end": 636, - "name": "tag", - "value": "13" - }, - { - "begin": 548, - "end": 636, - "name": "JUMPDEST" - }, - { - "begin": 599, - "end": 606, - "name": "PUSH", - "value": "0" - }, - { - "begin": 629, - "end": 630, - "name": "PUSH", - "value": "1" - }, - { - "begin": 621, - "end": 626, - "name": "DUP3" - }, - { - "begin": 621, - "end": 630, - "name": "ADD" - }, - { - "begin": 614, - "end": 630, - "name": "SWAP1" - }, - { - "begin": 614, - "end": 630, - "name": "POP" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP2" - }, - { - "begin": 548, - "end": 636, - "name": "SWAP1" - }, - { - "begin": 548, - "end": 636, - "name": "POP" - }, - { - "begin": 548, - "end": 636, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 297, - "end": 396, - "name": "tag", - "value": "15" - }, - { - "begin": 297, - "end": 396, - "name": "JUMPDEST" - }, - { - "begin": 345, - "end": 355, - "name": "CALLER" - }, - { - "begin": 337, - "end": 342, - "name": "PUSH", - "value": "1" - }, - { - "begin": 337, - "end": 342, - "name": "PUSH", - "value": "0" - }, - { - "begin": 337, - "end": 355, - "name": "PUSH", - "value": "100" - }, - { - "begin": 337, - "end": 355, - "name": "EXP" - }, - { - "begin": 337, - "end": 355, - "name": "DUP2" - }, - { - "begin": 337, - "end": 355, - "name": "SLOAD" - }, - { - "begin": 337, - "end": 355, - "name": "DUP2" - }, - { - "begin": 337, - "end": 355, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 337, - "end": 355, - "name": "MUL" - }, - { - "begin": 337, - "end": 355, - "name": "NOT" - }, - { - "begin": 337, - "end": 355, - "name": "AND" - }, - { - "begin": 337, - "end": 355, - "name": "SWAP1" - }, - { - "begin": 337, - "end": 355, - "name": "DUP4" - }, - { - "begin": 337, - "end": 355, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 337, - "end": 355, - "name": "AND" - }, - { - "begin": 337, - "end": 355, - "name": "MUL" - }, - { - "begin": 337, - "end": 355, - "name": "OR" - }, - { - "begin": 337, - "end": 355, - "name": "SWAP1" - }, - { - "begin": 337, - "end": 355, - "name": "SSTORE" - }, - { - "begin": 337, - "end": 355, - "name": "POP" - }, - { - "begin": 382, - "end": 391, - "name": "CALLVALUE" - }, - { - "begin": 361, - "end": 372, - "name": "PUSH", - "value": "0" - }, - { - "begin": 361, - "end": 379, - "name": "DUP1" - }, - { - "begin": 373, - "end": 378, - "name": "PUSH", - "value": "1" - }, - { - "begin": 373, - "end": 378, - "name": "PUSH", - "value": "0" - }, - { - "begin": 373, - "end": 378, - "name": "SWAP1" - }, - { - "begin": 373, - "end": 378, - "name": "SLOAD" - }, - { - "begin": 373, - "end": 378, - "name": "SWAP1" - }, - { - "begin": 373, - "end": 378, - "name": "PUSH", - "value": "100" - }, - { - "begin": 373, - "end": 378, - "name": "EXP" - }, - { - "begin": 373, - "end": 378, - "name": "SWAP1" - }, - { - "begin": 373, - "end": 378, - "name": "DIV" - }, - { - "begin": 373, - "end": 378, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 373, - "end": 378, - "name": "AND" - }, - { - "begin": 361, - "end": 379, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 361, - "end": 379, - "name": "AND" - }, - { - "begin": 361, - "end": 379, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 361, - "end": 379, - "name": "AND" - }, - { - "begin": 361, - "end": 379, - "name": "DUP2" - }, - { - "begin": 361, - "end": 379, - "name": "MSTORE" - }, - { - "begin": 361, - "end": 379, - "name": "PUSH", - "value": "20" - }, - { - "begin": 361, - "end": 379, - "name": "ADD" - }, - { - "begin": 361, - "end": 379, - "name": "SWAP1" - }, - { - "begin": 361, - "end": 379, - "name": "DUP2" - }, - { - "begin": 361, - "end": 379, - "name": "MSTORE" - }, - { - "begin": 361, - "end": 379, - "name": "PUSH", - "value": "20" - }, - { - "begin": 361, - "end": 379, - "name": "ADD" - }, - { - "begin": 361, - "end": 379, - "name": "PUSH", - "value": "0" - }, - { - "begin": 361, - "end": 379, - "name": "KECCAK256" - }, - { - "begin": 361, - "end": 391, - "name": "DUP2" - }, - { - "begin": 361, - "end": 391, - "name": "SWAP1" - }, - { - "begin": 361, - "end": 391, - "name": "SSTORE" - }, - { - "begin": 361, - "end": 391, - "name": "POP" - }, - { - "begin": 297, - "end": 396, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 914, - "end": 1014, - "name": "tag", - "value": "18" - }, - { - "begin": 914, - "end": 1014, - "name": "JUMPDEST" - }, - { - "begin": 466, - "end": 471, - "name": "PUSH", - "value": "1" - }, - { - "begin": 466, - "end": 471, - "name": "PUSH", - "value": "0" - }, - { - "begin": 466, - "end": 471, - "name": "SWAP1" - }, - { - "begin": 466, - "end": 471, - "name": "SLOAD" - }, - { - "begin": 466, - "end": 471, - "name": "SWAP1" - }, - { - "begin": 466, - "end": 471, - "name": "PUSH", - "value": "100" - }, - { - "begin": 466, - "end": 471, - "name": "EXP" - }, - { - "begin": 466, - "end": 471, - "name": "SWAP1" - }, - { - "begin": 466, - "end": 471, - "name": "DIV" - }, - { - "begin": 466, - "end": 471, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 466, - "end": 471, - "name": "AND" - }, - { - "begin": 452, - "end": 471, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 452, - "end": 471, - "name": "AND" - }, - { - "begin": 452, - "end": 462, - "name": "CALLER" - }, - { - "begin": 452, - "end": 471, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 452, - "end": 471, - "name": "AND" - }, - { - "begin": 452, - "end": 471, - "name": "EQ" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH [tag]", - "value": "35" - }, - { - "begin": 430, - "end": 522, - "name": "JUMPI" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH", - "value": "40" - }, - { - "begin": 430, - "end": 522, - "name": "MLOAD" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH", - "value": "8C379A000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 430, - "end": 522, - "name": "DUP2" - }, - { - "begin": 430, - "end": 522, - "name": "MSTORE" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH", - "value": "4" - }, - { - "begin": 430, - "end": 522, - "name": "ADD" - }, - { - "begin": 430, - "end": 522, - "name": "DUP1" - }, - { - "begin": 430, - "end": 522, - "name": "DUP1" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH", - "value": "20" - }, - { - "begin": 430, - "end": 522, - "name": "ADD" - }, - { - "begin": 430, - "end": 522, - "name": "DUP3" - }, - { - "begin": 430, - "end": 522, - "name": "DUP2" - }, - { - "begin": 430, - "end": 522, - "name": "SUB" - }, - { - "begin": 430, - "end": 522, - "name": "DUP3" - }, - { - "begin": 430, - "end": 522, - "name": "MSTORE" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH", - "value": "17" - }, - { - "begin": 430, - "end": 522, - "name": "DUP2" - }, - { - "begin": 430, - "end": 522, - "name": "MSTORE" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH", - "value": "20" - }, - { - "begin": 430, - "end": 522, - "name": "ADD" - }, - { - "begin": 430, - "end": 522, - "name": "DUP1" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH", - "value": "63616C6C6572206973206E6F7420746865206F776E6572000000000000000000" - }, - { - "begin": 430, - "end": 522, - "name": "DUP2" - }, - { - "begin": 430, - "end": 522, - "name": "MSTORE" - }, - { - "begin": 430, - "end": 522, - "name": "POP" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH", - "value": "20" - }, - { - "begin": 430, - "end": 522, - "name": "ADD" - }, - { - "begin": 430, - "end": 522, - "name": "SWAP2" - }, - { - "begin": 430, - "end": 522, - "name": "POP" - }, - { - "begin": 430, - "end": 522, - "name": "POP" - }, - { - "begin": 430, - "end": 522, - "name": "PUSH", - "value": "40" - }, - { - "begin": 430, - "end": 522, - "name": "MLOAD" - }, - { - "begin": 430, - "end": 522, - "name": "DUP1" - }, - { - "begin": 430, - "end": 522, - "name": "SWAP2" - }, - { - "begin": 430, - "end": 522, - "name": "SUB" - }, - { - "begin": 430, - "end": 522, - "name": "SWAP1" - }, - { - "begin": 430, - "end": 522, - "name": "REVERT" - }, - { - "begin": 430, - "end": 522, - "name": "tag", - "value": "35" - }, - { - "begin": 430, - "end": 522, - "name": "JUMPDEST" - }, - { - "begin": 967, - "end": 977, - "name": "CALLER" - }, - { - "begin": 967, - "end": 986, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 967, - "end": 986, - "name": "AND" - }, - { - "begin": 967, - "end": 1009, - "name": "PUSH", - "value": "8FC" - }, - { - "begin": 987, - "end": 1008, - "name": "SELFBALANCE" - }, - { - "begin": 967, - "end": 1009, - "name": "SWAP1" - }, - { - "begin": 967, - "end": 1009, - "name": "DUP2" - }, - { - "begin": 967, - "end": 1009, - "name": "ISZERO" - }, - { - "begin": 967, - "end": 1009, - "name": "MUL" - }, - { - "begin": 967, - "end": 1009, - "name": "SWAP1" - }, - { - "begin": 967, - "end": 1009, - "name": "PUSH", - "value": "40" - }, - { - "begin": 967, - "end": 1009, - "name": "MLOAD" - }, - { - "begin": 967, - "end": 1009, - "name": "PUSH", - "value": "0" - }, - { - "begin": 967, - "end": 1009, - "name": "PUSH", - "value": "40" - }, - { - "begin": 967, - "end": 1009, - "name": "MLOAD" - }, - { - "begin": 967, - "end": 1009, - "name": "DUP1" - }, - { - "begin": 967, - "end": 1009, - "name": "DUP4" - }, - { - "begin": 967, - "end": 1009, - "name": "SUB" - }, - { - "begin": 967, - "end": 1009, - "name": "DUP2" - }, - { - "begin": 967, - "end": 1009, - "name": "DUP6" - }, - { - "begin": 967, - "end": 1009, - "name": "DUP9" - }, - { - "begin": 967, - "end": 1009, - "name": "DUP9" - }, - { - "begin": 967, - "end": 1009, - "name": "CALL" - }, - { - "begin": 967, - "end": 1009, - "name": "SWAP4" - }, - { - "begin": 967, - "end": 1009, - "name": "POP" - }, - { - "begin": 967, - "end": 1009, - "name": "POP" - }, - { - "begin": 967, - "end": 1009, - "name": "POP" - }, - { - "begin": 967, - "end": 1009, - "name": "POP" - }, - { - "begin": 967, - "end": 1009, - "name": "ISZERO" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "37" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 45, - "end": 61, - "name": "RETURNDATASIZE" - }, - { - "begin": 42, - "end": 43, - "name": "PUSH", - "value": "0" - }, - { - "begin": 39, - "end": 40, - "name": "DUP1" - }, - { - "begin": 24, - "end": 62, - "name": "RETURNDATACOPY" - }, - { - "begin": 77, - "end": 93, - "name": "RETURNDATASIZE" - }, - { - "begin": 74, - "end": 75, - "name": "PUSH", - "value": "0" - }, - { - "begin": 67, - "end": 94, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "37" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 967, - "end": 1009, - "name": "POP" - }, - { - "begin": 914, - "end": 1014, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 243, - "end": 271, - "name": "tag", - "value": "21" - }, - { - "begin": 243, - "end": 271, - "name": "JUMPDEST" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH", - "value": "1" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH", - "value": "0" - }, - { - "begin": 243, - "end": 271, - "name": "SWAP1" - }, - { - "begin": 243, - "end": 271, - "name": "SLOAD" - }, - { - "begin": 243, - "end": 271, - "name": "SWAP1" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH", - "value": "100" - }, - { - "begin": 243, - "end": 271, - "name": "EXP" - }, - { - "begin": 243, - "end": 271, - "name": "SWAP1" - }, - { - "begin": 243, - "end": 271, - "name": "DIV" - }, - { - "begin": 243, - "end": 271, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 243, - "end": 271, - "name": "AND" - }, - { - "begin": 243, - "end": 271, - "name": "DUP2" - }, - { - "begin": 243, - "end": 271, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 758, - "end": 910, - "name": "tag", - "value": "25" - }, - { - "begin": 758, - "end": 910, - "name": "JUMPDEST" - }, - { - "begin": 855, - "end": 856, - "name": "PUSH", - "value": "0" - }, - { - "begin": 830, - "end": 841, - "name": "DUP1" - }, - { - "begin": 830, - "end": 852, - "name": "PUSH", - "value": "0" - }, - { - "begin": 842, - "end": 851, - "name": "DUP4" - }, - { - "begin": 830, - "end": 852, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 830, - "end": 852, - "name": "AND" - }, - { - "begin": 830, - "end": 852, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 830, - "end": 852, - "name": "AND" - }, - { - "begin": 830, - "end": 852, - "name": "DUP2" - }, - { - "begin": 830, - "end": 852, - "name": "MSTORE" - }, - { - "begin": 830, - "end": 852, - "name": "PUSH", - "value": "20" - }, - { - "begin": 830, - "end": 852, - "name": "ADD" - }, - { - "begin": 830, - "end": 852, - "name": "SWAP1" - }, - { - "begin": 830, - "end": 852, - "name": "DUP2" - }, - { - "begin": 830, - "end": 852, - "name": "MSTORE" - }, - { - "begin": 830, - "end": 852, - "name": "PUSH", - "value": "20" - }, - { - "begin": 830, - "end": 852, - "name": "ADD" - }, - { - "begin": 830, - "end": 852, - "name": "PUSH", - "value": "0" - }, - { - "begin": 830, - "end": 852, - "name": "KECCAK256" - }, - { - "begin": 830, - "end": 852, - "name": "SLOAD" - }, - { - "begin": 830, - "end": 856, - "name": "GT" - }, - { - "begin": 822, - "end": 857, - "name": "PUSH [tag]", - "value": "39" - }, - { - "begin": 822, - "end": 857, - "name": "JUMPI" - }, - { - "begin": 822, - "end": 857, - "name": "PUSH", - "value": "0" - }, - { - "begin": 822, - "end": 857, - "name": "DUP1" - }, - { - "begin": 822, - "end": 857, - "name": "REVERT" - }, - { - "begin": 822, - "end": 857, - "name": "tag", - "value": "39" - }, - { - "begin": 822, - "end": 857, - "name": "JUMPDEST" - }, - { - "begin": 863, - "end": 872, - "name": "DUP1" - }, - { - "begin": 863, - "end": 881, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 863, - "end": 881, - "name": "AND" - }, - { - "begin": 863, - "end": 905, - "name": "PUSH", - "value": "8FC" - }, - { - "begin": 882, - "end": 893, - "name": "PUSH", - "value": "0" - }, - { - "begin": 882, - "end": 904, - "name": "DUP1" - }, - { - "begin": 894, - "end": 903, - "name": "DUP5" - }, - { - "begin": 882, - "end": 904, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 882, - "end": 904, - "name": "AND" - }, - { - "begin": 882, - "end": 904, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 882, - "end": 904, - "name": "AND" - }, - { - "begin": 882, - "end": 904, - "name": "DUP2" - }, - { - "begin": 882, - "end": 904, - "name": "MSTORE" - }, - { - "begin": 882, - "end": 904, - "name": "PUSH", - "value": "20" - }, - { - "begin": 882, - "end": 904, - "name": "ADD" - }, - { - "begin": 882, - "end": 904, - "name": "SWAP1" - }, - { - "begin": 882, - "end": 904, - "name": "DUP2" - }, - { - "begin": 882, - "end": 904, - "name": "MSTORE" - }, - { - "begin": 882, - "end": 904, - "name": "PUSH", - "value": "20" - }, - { - "begin": 882, - "end": 904, - "name": "ADD" - }, - { - "begin": 882, - "end": 904, - "name": "PUSH", - "value": "0" - }, - { - "begin": 882, - "end": 904, - "name": "KECCAK256" - }, - { - "begin": 882, - "end": 904, - "name": "SLOAD" - }, - { - "begin": 863, - "end": 905, - "name": "SWAP1" - }, - { - "begin": 863, - "end": 905, - "name": "DUP2" - }, - { - "begin": 863, - "end": 905, - "name": "ISZERO" - }, - { - "begin": 863, - "end": 905, - "name": "MUL" - }, - { - "begin": 863, - "end": 905, - "name": "SWAP1" - }, - { - "begin": 863, - "end": 905, - "name": "PUSH", - "value": "40" - }, - { - "begin": 863, - "end": 905, - "name": "MLOAD" - }, - { - "begin": 863, - "end": 905, - "name": "PUSH", - "value": "0" - }, - { - "begin": 863, - "end": 905, - "name": "PUSH", - "value": "40" - }, - { - "begin": 863, - "end": 905, - "name": "MLOAD" - }, - { - "begin": 863, - "end": 905, - "name": "DUP1" - }, - { - "begin": 863, - "end": 905, - "name": "DUP4" - }, - { - "begin": 863, - "end": 905, - "name": "SUB" - }, - { - "begin": 863, - "end": 905, - "name": "DUP2" - }, - { - "begin": 863, - "end": 905, - "name": "DUP6" - }, - { - "begin": 863, - "end": 905, - "name": "DUP9" - }, - { - "begin": 863, - "end": 905, - "name": "DUP9" - }, - { - "begin": 863, - "end": 905, - "name": "CALL" - }, - { - "begin": 863, - "end": 905, - "name": "SWAP4" - }, - { - "begin": 863, - "end": 905, - "name": "POP" - }, - { - "begin": 863, - "end": 905, - "name": "POP" - }, - { - "begin": 863, - "end": 905, - "name": "POP" - }, - { - "begin": 863, - "end": 905, - "name": "POP" - }, - { - "begin": 863, - "end": 905, - "name": "ISZERO" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "40" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 45, - "end": 61, - "name": "RETURNDATASIZE" - }, - { - "begin": 42, - "end": 43, - "name": "PUSH", - "value": "0" - }, - { - "begin": 39, - "end": 40, - "name": "DUP1" - }, - { - "begin": 24, - "end": 62, - "name": "RETURNDATACOPY" - }, - { - "begin": 77, - "end": 93, - "name": "RETURNDATASIZE" - }, - { - "begin": 74, - "end": 75, - "name": "PUSH", - "value": "0" - }, - { - "begin": 67, - "end": 94, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "40" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 863, - "end": 905, - "name": "POP" - }, - { - "begin": 758, - "end": 910, - "name": "POP" - }, - { - "begin": 758, - "end": 910, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 644, - "end": 754, - "name": "tag", - "value": "27" - }, - { - "begin": 644, - "end": 754, - "name": "JUMPDEST" - }, - { - "begin": 711, - "end": 749, - "name": "PUSH [tag]", - "value": "42" - }, - { - "begin": 739, - "end": 748, - "name": "CALLVALUE" - }, - { - "begin": 711, - "end": 722, - "name": "PUSH", - "value": "0" - }, - { - "begin": 711, - "end": 734, - "name": "DUP1" - }, - { - "begin": 723, - "end": 733, - "name": "CALLER" - }, - { - "begin": 711, - "end": 734, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 711, - "end": 734, - "name": "AND" - }, - { - "begin": 711, - "end": 734, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 711, - "end": 734, - "name": "AND" - }, - { - "begin": 711, - "end": 734, - "name": "DUP2" - }, - { - "begin": 711, - "end": 734, - "name": "MSTORE" - }, - { - "begin": 711, - "end": 734, - "name": "PUSH", - "value": "20" - }, - { - "begin": 711, - "end": 734, - "name": "ADD" - }, - { - "begin": 711, - "end": 734, - "name": "SWAP1" - }, - { - "begin": 711, - "end": 734, - "name": "DUP2" - }, - { - "begin": 711, - "end": 734, - "name": "MSTORE" - }, - { - "begin": 711, - "end": 734, - "name": "PUSH", - "value": "20" - }, - { - "begin": 711, - "end": 734, - "name": "ADD" - }, - { - "begin": 711, - "end": 734, - "name": "PUSH", - "value": "0" - }, - { - "begin": 711, - "end": 734, - "name": "KECCAK256" - }, - { - "begin": 711, - "end": 734, - "name": "SLOAD" - }, - { - "begin": 711, - "end": 738, - "name": "PUSH [tag]", - "value": "43" - }, - { - "begin": 711, - "end": 738, - "name": "SWAP1" - }, - { - "begin": 711, - "end": 749, - "name": "SWAP2" - }, - { - "begin": 711, - "end": 749, - "name": "SWAP1" - }, - { - "begin": 711, - "end": 749, - "name": "PUSH", - "value": "FFFFFFFF" - }, - { - "begin": 711, - "end": 749, - "name": "AND" - }, - { - "begin": 711, - "end": 749, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 711, - "end": 749, - "name": "tag", - "value": "42" - }, - { - "begin": 711, - "end": 749, - "name": "JUMPDEST" - }, - { - "begin": 685, - "end": 696, - "name": "PUSH", - "value": "0" - }, - { - "begin": 685, - "end": 708, - "name": "DUP1" - }, - { - "begin": 697, - "end": 707, - "name": "CALLER" - }, - { - "begin": 685, - "end": 708, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 685, - "end": 708, - "name": "AND" - }, - { - "begin": 685, - "end": 708, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 685, - "end": 708, - "name": "AND" - }, - { - "begin": 685, - "end": 708, - "name": "DUP2" - }, - { - "begin": 685, - "end": 708, - "name": "MSTORE" - }, - { - "begin": 685, - "end": 708, - "name": "PUSH", - "value": "20" - }, - { - "begin": 685, - "end": 708, - "name": "ADD" - }, - { - "begin": 685, - "end": 708, - "name": "SWAP1" - }, - { - "begin": 685, - "end": 708, - "name": "DUP2" - }, - { - "begin": 685, - "end": 708, - "name": "MSTORE" - }, - { - "begin": 685, - "end": 708, - "name": "PUSH", - "value": "20" - }, - { - "begin": 685, - "end": 708, - "name": "ADD" - }, - { - "begin": 685, - "end": 708, - "name": "PUSH", - "value": "0" - }, - { - "begin": 685, - "end": 708, - "name": "KECCAK256" - }, - { - "begin": 685, - "end": 749, - "name": "DUP2" - }, - { - "begin": 685, - "end": 749, - "name": "SWAP1" - }, - { - "begin": 685, - "end": 749, - "name": "SSTORE" - }, - { - "begin": 685, - "end": 749, - "name": "POP" - }, - { - "begin": 644, - "end": 754, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 1018, - "end": 1130, - "name": "tag", - "value": "31" - }, - { - "begin": 1018, - "end": 1130, - "name": "JUMPDEST" - }, - { - "begin": 1084, - "end": 1088, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1103, - "end": 1114, - "name": "DUP1" - }, - { - "begin": 1103, - "end": 1125, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1115, - "end": 1124, - "name": "DUP4" - }, - { - "begin": 1103, - "end": 1125, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1103, - "end": 1125, - "name": "AND" - }, - { - "begin": 1103, - "end": 1125, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1103, - "end": 1125, - "name": "AND" - }, - { - "begin": 1103, - "end": 1125, - "name": "DUP2" - }, - { - "begin": 1103, - "end": 1125, - "name": "MSTORE" - }, - { - "begin": 1103, - "end": 1125, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1103, - "end": 1125, - "name": "ADD" - }, - { - "begin": 1103, - "end": 1125, - "name": "SWAP1" - }, - { - "begin": 1103, - "end": 1125, - "name": "DUP2" - }, - { - "begin": 1103, - "end": 1125, - "name": "MSTORE" - }, - { - "begin": 1103, - "end": 1125, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1103, - "end": 1125, - "name": "ADD" - }, - { - "begin": 1103, - "end": 1125, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1103, - "end": 1125, - "name": "KECCAK256" - }, - { - "begin": 1103, - "end": 1125, - "name": "SLOAD" - }, - { - "begin": 1096, - "end": 1125, - "name": "SWAP1" - }, - { - "begin": 1096, - "end": 1125, - "name": "POP" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP2" - }, - { - "begin": 1018, - "end": 1130, - "name": "SWAP1" - }, - { - "begin": 1018, - "end": 1130, - "name": "POP" - }, - { - "begin": 1018, - "end": 1130, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 834, - "end": 1010, - "name": "tag", - "value": "43" - }, - { - "begin": 834, - "end": 1010, - "name": "JUMPDEST" - }, - { - "begin": 892, - "end": 899, - "name": "PUSH", - "value": "0" - }, - { - "begin": 911, - "end": 920, - "name": "DUP1" - }, - { - "begin": 927, - "end": 928, - "name": "DUP3" - }, - { - "begin": 923, - "end": 924, - "name": "DUP5" - }, - { - "begin": 923, - "end": 928, - "name": "ADD" - }, - { - "begin": 911, - "end": 928, - "name": "SWAP1" - }, - { - "begin": 911, - "end": 928, - "name": "POP" - }, - { - "begin": 951, - "end": 952, - "name": "DUP4" - }, - { - "begin": 946, - "end": 947, - "name": "DUP2" - }, - { - "begin": 946, - "end": 952, - "name": "LT" - }, - { - "begin": 946, - "end": 952, - "name": "ISZERO" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH [tag]", - "value": "46" - }, - { - "begin": 938, - "end": 984, - "name": "JUMPI" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "40" - }, - { - "begin": 938, - "end": 984, - "name": "MLOAD" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "8C379A000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "4" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "20" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP3" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "SUB" - }, - { - "begin": 938, - "end": 984, - "name": "DUP3" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "1B" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "20" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "536166654D6174683A206164646974696F6E206F766572666C6F770000000000" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "POP" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "20" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "SWAP2" - }, - { - "begin": 938, - "end": 984, - "name": "POP" - }, - { - "begin": 938, - "end": 984, - "name": "POP" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "40" - }, - { - "begin": 938, - "end": 984, - "name": "MLOAD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "SWAP2" - }, - { - "begin": 938, - "end": 984, - "name": "SUB" - }, - { - "begin": 938, - "end": 984, - "name": "SWAP1" - }, - { - "begin": 938, - "end": 984, - "name": "REVERT" - }, - { - "begin": 938, - "end": 984, - "name": "tag", - "value": "46" - }, - { - "begin": 938, - "end": 984, - "name": "JUMPDEST" - }, - { - "begin": 1002, - "end": 1003, - "name": "DUP1" - }, - { - "begin": 995, - "end": 1003, - "name": "SWAP2" - }, - { - "begin": 995, - "end": 1003, - "name": "POP" - }, - { - "begin": 995, - "end": 1003, - "name": "POP" - }, - { - "begin": 834, - "end": 1010, - "name": "SWAP3" - }, - { - "begin": 834, - "end": 1010, - "name": "SWAP2" - }, - { - "begin": 834, - "end": 1010, - "name": "POP" - }, - { - "begin": 834, - "end": 1010, - "name": "POP" - }, - { - "begin": 834, - "end": 1010, - "name": "JUMP", - "value": "[out]" - } - ] - } - } - }, - "methodIdentifiers": { - "Fal1out()": "6fab5ddf", - "age(uint256)": "6ba61782", - "allocate()": "abaa9916", - "allocatorBalance(address)": "ffd40b56", - "collectAllocations()": "8aa96f38", - "owner()": "8da5cb5b", - "sendAllocation(address)": "a2dea26f" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"Fal1out\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rings\",\"type\":\"uint256\"}],\"name\":\"age\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"allocate\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"allocator\",\"type\":\"address\"}],\"name\":\"allocatorBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"collectAllocations\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"allocator\",\"type\":\"address\"}],\"name\":\"sendAllocation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Mary A. Botanist\",\"methods\":{}},\"userdoc\":{\"methods\":{},\"notice\":\"Calculate tree age in years, rounded up, for live trees\"}},\"settings\":{\"compilationTarget\":{\"browser/Fallout.sol\":\"Fallout\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"browser/Fallout.sol\":{\"keccak256\":\"0xd545eab656870e8b80bd39971a7b5dd4d98e25821048764ec003c3f4be3432bf\",\"urls\":[\"bzz-raw://377d23420fe8bc074562c57540384149da4e5d79c44e6bc5ab71ed4a2d84139f\",\"dweb:/ipfs/QmVuMX6Dwf7zbBvR2LdY4HmupxDD5fq6dxUUsxZ1KqgPD2\"]},\"browser/SafeMath.sol\":{\"keccak256\":\"0x440e126d35c767f263ad60029d68b9f1a946caedcc51ae10266f28e305fffe40\",\"urls\":[\"bzz-raw://87eaf2dfa0a988fd31e8b44703ffbf21a99a8c663263c2fad2c26dc9a120d5c3\",\"dweb:/ipfs/QmenpSEG3kX4SbXDuDVDi7EwHgSrRTYrbEdJ1H2H14HxGZ\"]}},\"version\":1}", - "userdoc": { - "methods": {}, - "notice": "Calculate tree age in years, rounded up, for live trees" - } -} \ No newline at end of file diff --git a/apps/remixdocgen/src/utils/sample-data/sample-artifact-with-comments.json b/apps/remixdocgen/src/utils/sample-data/sample-artifact-with-comments.json deleted file mode 100644 index bea57d7386..0000000000 --- a/apps/remixdocgen/src/utils/sample-data/sample-artifact-with-comments.json +++ /dev/null @@ -1,4287 +0,0 @@ -{ - "abi": [ - { - "constant": false, - "inputs": [], - "name": "Fal1out", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "rings", - "type": "uint256" - } - ], - "name": "age", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "allocate", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "allocator", - "type": "address" - } - ], - "name": "allocatorBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "collectAllocations", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address payable", - "name": "allocator", - "type": "address" - } - ], - "name": "sendAllocation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "author": "Larry A. Gardner", - "details": "All function calls are currently implemented without side effects", - "methods": { - "age(uint256)": { - "author": "Mary A. Botanist", - "details": "The Alexandr N. Tetearing algorithm could increase precision", - "params": { - "rings": "The number of rings from dendrochronological sample" - }, - "return": "age in years, rounded up for partial years" - } - }, - "title": "A simulator for trees" - }, - "evm": { - "bytecode": { - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50610650806100206000396000f3fe6080604052600436106100705760003560e01c80638da5cb5b1161004e5780638da5cb5b146100e5578063a2dea26f1461013c578063abaa99161461018d578063ffd40b561461019757610070565b80636ba61782146100755780636fab5ddf146100c45780638aa96f38146100ce575b600080fd5b34801561008157600080fd5b506100ae6004803603602081101561009857600080fd5b81019080803590602001909291905050506101fc565b6040518082815260200191505060405180910390f35b6100cc610209565b005b3480156100da57600080fd5b506100e36102b1565b005b3480156100f157600080fd5b506100fa6103bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b5061018b6004803603602081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e3565b005b6101956104b6565b005b3480156101a357600080fd5b506101e6600480360360208110156101ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054b565b6040518082815260200191505060405180910390f35b6000600182019050919050565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610374576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156103ba573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161042e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156104b2573d6000803e3d6000fd5b5050565b610507346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461059390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080828401905083811015610611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fea265627a7a72315820b1fbadd70fc44cba7bc7cccc76b76128e6192047cdb163ed15a2a7acc1180c3964736f6c63430005110032", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x650 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x70 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xE5 JUMPI DUP1 PUSH4 0xA2DEA26F EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0xABAA9916 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0xFFD40B56 EQ PUSH2 0x197 JUMPI PUSH2 0x70 JUMP JUMPDEST DUP1 PUSH4 0x6BA61782 EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x6FAB5DDF EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x8AA96F38 EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAE PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCC PUSH2 0x209 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE3 PUSH2 0x2B1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH2 0x3BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3E3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x195 PUSH2 0x4B6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x54B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x374 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x3BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x4B2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x507 CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x593 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x611 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 0xB1 0xFB 0xAD 0xD7 0xF 0xC4 0x4C 0xBA PUSH28 0xC7CCCC76B76128E6192047CDB163ED15A2A7ACC1180C3964736F6C63 NUMBER STOP SDIV GT STOP ORIGIN ", - "sourceMap": "261:1289:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;261:1289:0;;;;;;;" - }, - "deployedBytecode": { - "linkReferences": {}, - "object": "6080604052600436106100705760003560e01c80638da5cb5b1161004e5780638da5cb5b146100e5578063a2dea26f1461013c578063abaa99161461018d578063ffd40b561461019757610070565b80636ba61782146100755780636fab5ddf146100c45780638aa96f38146100ce575b600080fd5b34801561008157600080fd5b506100ae6004803603602081101561009857600080fd5b81019080803590602001909291905050506101fc565b6040518082815260200191505060405180910390f35b6100cc610209565b005b3480156100da57600080fd5b506100e36102b1565b005b3480156100f157600080fd5b506100fa6103bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b5061018b6004803603602081101561015f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e3565b005b6101956104b6565b005b3480156101a357600080fd5b506101e6600480360360208110156101ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054b565b6040518082815260200191505060405180910390f35b6000600182019050919050565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610374576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156103ba573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161042e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156104b2573d6000803e3d6000fd5b5050565b610507346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461059390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080828401905083811015610611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fea265627a7a72315820b1fbadd70fc44cba7bc7cccc76b76128e6192047cdb163ed15a2a7acc1180c3964736f6c63430005110032", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x70 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xE5 JUMPI DUP1 PUSH4 0xA2DEA26F EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0xABAA9916 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0xFFD40B56 EQ PUSH2 0x197 JUMPI PUSH2 0x70 JUMP JUMPDEST DUP1 PUSH4 0x6BA61782 EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x6FAB5DDF EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x8AA96F38 EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAE PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCC PUSH2 0x209 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE3 PUSH2 0x2B1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFA PUSH2 0x3BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3E3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x195 PUSH2 0x4B6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x54B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x374 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x3BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x4B2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x507 CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x593 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x611 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 0xB1 0xFB 0xAD 0xD7 0xF 0xC4 0x4C 0xBA PUSH28 0xC7CCCC76B76128E6192047CDB163ED15A2A7ACC1180C3964736F6C63 NUMBER STOP SDIV GT STOP ORIGIN ", - "sourceMap": "261:1289:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;966:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;966:88:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;966:88:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;410:99;;;:::i;:::-;;1332:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1332:100:0;;;:::i;:::-;;356:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;356:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1176:152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1176:152:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1176:152:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1062:110;;;:::i;:::-;;1436:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1436:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1436:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;966:88;1017:7;1047:1;1039:5;:9;1032:16;;966:88;;;:::o;410:99::-;458:10;450:5;;:18;;;;;;;;;;;;;;;;;;495:9;474:11;:18;486:5;;;;;;;;;;;474:18;;;;;;;;;;;;;;;:30;;;;410:99::o;1332:100::-;579:5;;;;;;;;;;;565:19;;:10;:19;;;543:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1385:10;:19;;:42;1405:21;1385:42;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1385:42:0;1332:100::o;356:28::-;;;;;;;;;;;;;:::o;1176:152::-;1273:1;1248:11;:22;1260:9;1248:22;;;;;;;;;;;;;;;;:26;1240:35;;;;;;1281:9;:18;;:42;1300:11;:22;1312:9;1300:22;;;;;;;;;;;;;;;;1281:42;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1281:42:0;1176:152;:::o;1062:110::-;1129:38;1157:9;1129:11;:23;1141:10;1129:23;;;;;;;;;;;;;;;;:27;;:38;;;;:::i;:::-;1103:11;:23;1115:10;1103:23;;;;;;;;;;;;;;;:64;;;;1062:110::o;1436:112::-;1502:4;1521:11;:22;1533:9;1521:22;;;;;;;;;;;;;;;;1514:29;;1436:112;;;:::o;834:176:1:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "323200", - "executionCost": "362", - "totalCost": "323562" - }, - "external": { - "Fal1out()": "41948", - "age(uint256)": "307", - "allocate()": "infinite", - "allocatorBalance(address)": "1262", - "collectAllocations()": "infinite", - "owner()": "1053", - "sendAllocation(address)": "infinite" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "80" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "40" - }, - { - "begin": 261, - "end": 1550, - "name": "MSTORE" - }, - { - "begin": 261, - "end": 1550, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "1" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "1" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 261, - "end": 1550, - "name": "POP" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH #[$]", - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [$]", - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "0" - }, - { - "begin": 261, - "end": 1550, - "name": "CODECOPY" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "0" - }, - { - "begin": 261, - "end": 1550, - "name": "RETURN" - } - ], - ".data": { - "0": { - ".auxdata": "a265627a7a72315820b1fbadd70fc44cba7bc7cccc76b76128e6192047cdb163ed15a2a7acc1180c3964736f6c63430005110032", - ".code": [ - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "80" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "40" - }, - { - "begin": 261, - "end": 1550, - "name": "MSTORE" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "4" - }, - { - "begin": 261, - "end": 1550, - "name": "CALLDATASIZE" - }, - { - "begin": 261, - "end": 1550, - "name": "LT" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "1" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPI" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "0" - }, - { - "begin": 261, - "end": 1550, - "name": "CALLDATALOAD" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "E0" - }, - { - "begin": 261, - "end": 1550, - "name": "SHR" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "8DA5CB5B" - }, - { - "begin": 261, - "end": 1550, - "name": "GT" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "9" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPI" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "8DA5CB5B" - }, - { - "begin": 261, - "end": 1550, - "name": "EQ" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "5" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPI" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "A2DEA26F" - }, - { - "begin": 261, - "end": 1550, - "name": "EQ" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "6" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPI" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "ABAA9916" - }, - { - "begin": 261, - "end": 1550, - "name": "EQ" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "7" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPI" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "FFD40B56" - }, - { - "begin": 261, - "end": 1550, - "name": "EQ" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "8" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPI" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "1" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMP" - }, - { - "begin": 261, - "end": 1550, - "name": "tag", - "value": "9" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPDEST" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "6BA61782" - }, - { - "begin": 261, - "end": 1550, - "name": "EQ" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "2" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPI" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "6FAB5DDF" - }, - { - "begin": 261, - "end": 1550, - "name": "EQ" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "3" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPI" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "8AA96F38" - }, - { - "begin": 261, - "end": 1550, - "name": "EQ" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH [tag]", - "value": "4" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPI" - }, - { - "begin": 261, - "end": 1550, - "name": "tag", - "value": "1" - }, - { - "begin": 261, - "end": 1550, - "name": "JUMPDEST" - }, - { - "begin": 261, - "end": 1550, - "name": "PUSH", - "value": "0" - }, - { - "begin": 261, - "end": 1550, - "name": "DUP1" - }, - { - "begin": 261, - "end": 1550, - "name": "REVERT" - }, - { - "begin": 966, - "end": 1054, - "name": "tag", - "value": "2" - }, - { - "begin": 966, - "end": 1054, - "name": "JUMPDEST" - }, - { - "begin": 966, - "end": 1054, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "10" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "10" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 966, - "end": 1054, - "name": "POP" - }, - { - "begin": 966, - "end": 1054, - "name": "PUSH [tag]", - "value": "11" - }, - { - "begin": 966, - "end": 1054, - "name": "PUSH", - "value": "4" - }, - { - "begin": 966, - "end": 1054, - "name": "DUP1" - }, - { - "begin": 966, - "end": 1054, - "name": "CALLDATASIZE" - }, - { - "begin": 966, - "end": 1054, - "name": "SUB" - }, - { - "begin": 13, - "end": 15, - "name": "PUSH", - "value": "20" - }, - { - "begin": 8, - "end": 11, - "name": "DUP2" - }, - { - "begin": 5, - "end": 16, - "name": "LT" - }, - { - "begin": 2, - "end": 4, - "name": "ISZERO" - }, - { - "begin": 2, - "end": 4, - "name": "PUSH [tag]", - "value": "12" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPI" - }, - { - "begin": 29, - "end": 30, - "name": "PUSH", - "value": "0" - }, - { - "begin": 26, - "end": 27, - "name": "DUP1" - }, - { - "begin": 19, - "end": 31, - "name": "REVERT" - }, - { - "begin": 2, - "end": 4, - "name": "tag", - "value": "12" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPDEST" - }, - { - "begin": 966, - "end": 1054, - "name": "DUP2" - }, - { - "begin": 966, - "end": 1054, - "name": "ADD" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP1" - }, - { - "begin": 966, - "end": 1054, - "name": "DUP1" - }, - { - "begin": 966, - "end": 1054, - "name": "DUP1" - }, - { - "begin": 966, - "end": 1054, - "name": "CALLDATALOAD" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP1" - }, - { - "begin": 966, - "end": 1054, - "name": "PUSH", - "value": "20" - }, - { - "begin": 966, - "end": 1054, - "name": "ADD" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP1" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP3" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP2" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP1" - }, - { - "begin": 966, - "end": 1054, - "name": "POP" - }, - { - "begin": 966, - "end": 1054, - "name": "POP" - }, - { - "begin": 966, - "end": 1054, - "name": "POP" - }, - { - "begin": 966, - "end": 1054, - "name": "PUSH [tag]", - "value": "13" - }, - { - "begin": 966, - "end": 1054, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 966, - "end": 1054, - "name": "tag", - "value": "11" - }, - { - "begin": 966, - "end": 1054, - "name": "JUMPDEST" - }, - { - "begin": 966, - "end": 1054, - "name": "PUSH", - "value": "40" - }, - { - "begin": 966, - "end": 1054, - "name": "MLOAD" - }, - { - "begin": 966, - "end": 1054, - "name": "DUP1" - }, - { - "begin": 966, - "end": 1054, - "name": "DUP3" - }, - { - "begin": 966, - "end": 1054, - "name": "DUP2" - }, - { - "begin": 966, - "end": 1054, - "name": "MSTORE" - }, - { - "begin": 966, - "end": 1054, - "name": "PUSH", - "value": "20" - }, - { - "begin": 966, - "end": 1054, - "name": "ADD" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP2" - }, - { - "begin": 966, - "end": 1054, - "name": "POP" - }, - { - "begin": 966, - "end": 1054, - "name": "POP" - }, - { - "begin": 966, - "end": 1054, - "name": "PUSH", - "value": "40" - }, - { - "begin": 966, - "end": 1054, - "name": "MLOAD" - }, - { - "begin": 966, - "end": 1054, - "name": "DUP1" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP2" - }, - { - "begin": 966, - "end": 1054, - "name": "SUB" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP1" - }, - { - "begin": 966, - "end": 1054, - "name": "RETURN" - }, - { - "begin": 410, - "end": 509, - "name": "tag", - "value": "3" - }, - { - "begin": 410, - "end": 509, - "name": "JUMPDEST" - }, - { - "begin": 410, - "end": 509, - "name": "PUSH [tag]", - "value": "14" - }, - { - "begin": 410, - "end": 509, - "name": "PUSH [tag]", - "value": "15" - }, - { - "begin": 410, - "end": 509, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 410, - "end": 509, - "name": "tag", - "value": "14" - }, - { - "begin": 410, - "end": 509, - "name": "JUMPDEST" - }, - { - "begin": 410, - "end": 509, - "name": "STOP" - }, - { - "begin": 1332, - "end": 1432, - "name": "tag", - "value": "4" - }, - { - "begin": 1332, - "end": 1432, - "name": "JUMPDEST" - }, - { - "begin": 1332, - "end": 1432, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "16" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "16" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 1332, - "end": 1432, - "name": "POP" - }, - { - "begin": 1332, - "end": 1432, - "name": "PUSH [tag]", - "value": "17" - }, - { - "begin": 1332, - "end": 1432, - "name": "PUSH [tag]", - "value": "18" - }, - { - "begin": 1332, - "end": 1432, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 1332, - "end": 1432, - "name": "tag", - "value": "17" - }, - { - "begin": 1332, - "end": 1432, - "name": "JUMPDEST" - }, - { - "begin": 1332, - "end": 1432, - "name": "STOP" - }, - { - "begin": 356, - "end": 384, - "name": "tag", - "value": "5" - }, - { - "begin": 356, - "end": 384, - "name": "JUMPDEST" - }, - { - "begin": 356, - "end": 384, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "19" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "19" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 356, - "end": 384, - "name": "POP" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH [tag]", - "value": "20" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH [tag]", - "value": "21" - }, - { - "begin": 356, - "end": 384, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 356, - "end": 384, - "name": "tag", - "value": "20" - }, - { - "begin": 356, - "end": 384, - "name": "JUMPDEST" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH", - "value": "40" - }, - { - "begin": 356, - "end": 384, - "name": "MLOAD" - }, - { - "begin": 356, - "end": 384, - "name": "DUP1" - }, - { - "begin": 356, - "end": 384, - "name": "DUP3" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 356, - "end": 384, - "name": "AND" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 356, - "end": 384, - "name": "AND" - }, - { - "begin": 356, - "end": 384, - "name": "DUP2" - }, - { - "begin": 356, - "end": 384, - "name": "MSTORE" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH", - "value": "20" - }, - { - "begin": 356, - "end": 384, - "name": "ADD" - }, - { - "begin": 356, - "end": 384, - "name": "SWAP2" - }, - { - "begin": 356, - "end": 384, - "name": "POP" - }, - { - "begin": 356, - "end": 384, - "name": "POP" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH", - "value": "40" - }, - { - "begin": 356, - "end": 384, - "name": "MLOAD" - }, - { - "begin": 356, - "end": 384, - "name": "DUP1" - }, - { - "begin": 356, - "end": 384, - "name": "SWAP2" - }, - { - "begin": 356, - "end": 384, - "name": "SUB" - }, - { - "begin": 356, - "end": 384, - "name": "SWAP1" - }, - { - "begin": 356, - "end": 384, - "name": "RETURN" - }, - { - "begin": 1176, - "end": 1328, - "name": "tag", - "value": "6" - }, - { - "begin": 1176, - "end": 1328, - "name": "JUMPDEST" - }, - { - "begin": 1176, - "end": 1328, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "22" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "22" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 1176, - "end": 1328, - "name": "POP" - }, - { - "begin": 1176, - "end": 1328, - "name": "PUSH [tag]", - "value": "23" - }, - { - "begin": 1176, - "end": 1328, - "name": "PUSH", - "value": "4" - }, - { - "begin": 1176, - "end": 1328, - "name": "DUP1" - }, - { - "begin": 1176, - "end": 1328, - "name": "CALLDATASIZE" - }, - { - "begin": 1176, - "end": 1328, - "name": "SUB" - }, - { - "begin": 13, - "end": 15, - "name": "PUSH", - "value": "20" - }, - { - "begin": 8, - "end": 11, - "name": "DUP2" - }, - { - "begin": 5, - "end": 16, - "name": "LT" - }, - { - "begin": 2, - "end": 4, - "name": "ISZERO" - }, - { - "begin": 2, - "end": 4, - "name": "PUSH [tag]", - "value": "24" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPI" - }, - { - "begin": 29, - "end": 30, - "name": "PUSH", - "value": "0" - }, - { - "begin": 26, - "end": 27, - "name": "DUP1" - }, - { - "begin": 19, - "end": 31, - "name": "REVERT" - }, - { - "begin": 2, - "end": 4, - "name": "tag", - "value": "24" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPDEST" - }, - { - "begin": 1176, - "end": 1328, - "name": "DUP2" - }, - { - "begin": 1176, - "end": 1328, - "name": "ADD" - }, - { - "begin": 1176, - "end": 1328, - "name": "SWAP1" - }, - { - "begin": 1176, - "end": 1328, - "name": "DUP1" - }, - { - "begin": 1176, - "end": 1328, - "name": "DUP1" - }, - { - "begin": 1176, - "end": 1328, - "name": "CALLDATALOAD" - }, - { - "begin": 1176, - "end": 1328, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1176, - "end": 1328, - "name": "AND" - }, - { - "begin": 1176, - "end": 1328, - "name": "SWAP1" - }, - { - "begin": 1176, - "end": 1328, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1176, - "end": 1328, - "name": "ADD" - }, - { - "begin": 1176, - "end": 1328, - "name": "SWAP1" - }, - { - "begin": 1176, - "end": 1328, - "name": "SWAP3" - }, - { - "begin": 1176, - "end": 1328, - "name": "SWAP2" - }, - { - "begin": 1176, - "end": 1328, - "name": "SWAP1" - }, - { - "begin": 1176, - "end": 1328, - "name": "POP" - }, - { - "begin": 1176, - "end": 1328, - "name": "POP" - }, - { - "begin": 1176, - "end": 1328, - "name": "POP" - }, - { - "begin": 1176, - "end": 1328, - "name": "PUSH [tag]", - "value": "25" - }, - { - "begin": 1176, - "end": 1328, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 1176, - "end": 1328, - "name": "tag", - "value": "23" - }, - { - "begin": 1176, - "end": 1328, - "name": "JUMPDEST" - }, - { - "begin": 1176, - "end": 1328, - "name": "STOP" - }, - { - "begin": 1062, - "end": 1172, - "name": "tag", - "value": "7" - }, - { - "begin": 1062, - "end": 1172, - "name": "JUMPDEST" - }, - { - "begin": 1062, - "end": 1172, - "name": "PUSH [tag]", - "value": "26" - }, - { - "begin": 1062, - "end": 1172, - "name": "PUSH [tag]", - "value": "27" - }, - { - "begin": 1062, - "end": 1172, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 1062, - "end": 1172, - "name": "tag", - "value": "26" - }, - { - "begin": 1062, - "end": 1172, - "name": "JUMPDEST" - }, - { - "begin": 1062, - "end": 1172, - "name": "STOP" - }, - { - "begin": 1436, - "end": 1548, - "name": "tag", - "value": "8" - }, - { - "begin": 1436, - "end": 1548, - "name": "JUMPDEST" - }, - { - "begin": 1436, - "end": 1548, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "28" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "28" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 1436, - "end": 1548, - "name": "POP" - }, - { - "begin": 1436, - "end": 1548, - "name": "PUSH [tag]", - "value": "29" - }, - { - "begin": 1436, - "end": 1548, - "name": "PUSH", - "value": "4" - }, - { - "begin": 1436, - "end": 1548, - "name": "DUP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "CALLDATASIZE" - }, - { - "begin": 1436, - "end": 1548, - "name": "SUB" - }, - { - "begin": 13, - "end": 15, - "name": "PUSH", - "value": "20" - }, - { - "begin": 8, - "end": 11, - "name": "DUP2" - }, - { - "begin": 5, - "end": 16, - "name": "LT" - }, - { - "begin": 2, - "end": 4, - "name": "ISZERO" - }, - { - "begin": 2, - "end": 4, - "name": "PUSH [tag]", - "value": "30" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPI" - }, - { - "begin": 29, - "end": 30, - "name": "PUSH", - "value": "0" - }, - { - "begin": 26, - "end": 27, - "name": "DUP1" - }, - { - "begin": 19, - "end": 31, - "name": "REVERT" - }, - { - "begin": 2, - "end": 4, - "name": "tag", - "value": "30" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPDEST" - }, - { - "begin": 1436, - "end": 1548, - "name": "DUP2" - }, - { - "begin": 1436, - "end": 1548, - "name": "ADD" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "DUP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "DUP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "CALLDATALOAD" - }, - { - "begin": 1436, - "end": 1548, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1436, - "end": 1548, - "name": "AND" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1436, - "end": 1548, - "name": "ADD" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP3" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP2" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "POP" - }, - { - "begin": 1436, - "end": 1548, - "name": "POP" - }, - { - "begin": 1436, - "end": 1548, - "name": "POP" - }, - { - "begin": 1436, - "end": 1548, - "name": "PUSH [tag]", - "value": "31" - }, - { - "begin": 1436, - "end": 1548, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 1436, - "end": 1548, - "name": "tag", - "value": "29" - }, - { - "begin": 1436, - "end": 1548, - "name": "JUMPDEST" - }, - { - "begin": 1436, - "end": 1548, - "name": "PUSH", - "value": "40" - }, - { - "begin": 1436, - "end": 1548, - "name": "MLOAD" - }, - { - "begin": 1436, - "end": 1548, - "name": "DUP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "DUP3" - }, - { - "begin": 1436, - "end": 1548, - "name": "DUP2" - }, - { - "begin": 1436, - "end": 1548, - "name": "MSTORE" - }, - { - "begin": 1436, - "end": 1548, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1436, - "end": 1548, - "name": "ADD" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP2" - }, - { - "begin": 1436, - "end": 1548, - "name": "POP" - }, - { - "begin": 1436, - "end": 1548, - "name": "POP" - }, - { - "begin": 1436, - "end": 1548, - "name": "PUSH", - "value": "40" - }, - { - "begin": 1436, - "end": 1548, - "name": "MLOAD" - }, - { - "begin": 1436, - "end": 1548, - "name": "DUP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP2" - }, - { - "begin": 1436, - "end": 1548, - "name": "SUB" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "RETURN" - }, - { - "begin": 966, - "end": 1054, - "name": "tag", - "value": "13" - }, - { - "begin": 966, - "end": 1054, - "name": "JUMPDEST" - }, - { - "begin": 1017, - "end": 1024, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1047, - "end": 1048, - "name": "PUSH", - "value": "1" - }, - { - "begin": 1039, - "end": 1044, - "name": "DUP3" - }, - { - "begin": 1039, - "end": 1048, - "name": "ADD" - }, - { - "begin": 1032, - "end": 1048, - "name": "SWAP1" - }, - { - "begin": 1032, - "end": 1048, - "name": "POP" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP2" - }, - { - "begin": 966, - "end": 1054, - "name": "SWAP1" - }, - { - "begin": 966, - "end": 1054, - "name": "POP" - }, - { - "begin": 966, - "end": 1054, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 410, - "end": 509, - "name": "tag", - "value": "15" - }, - { - "begin": 410, - "end": 509, - "name": "JUMPDEST" - }, - { - "begin": 458, - "end": 468, - "name": "CALLER" - }, - { - "begin": 450, - "end": 455, - "name": "PUSH", - "value": "1" - }, - { - "begin": 450, - "end": 455, - "name": "PUSH", - "value": "0" - }, - { - "begin": 450, - "end": 468, - "name": "PUSH", - "value": "100" - }, - { - "begin": 450, - "end": 468, - "name": "EXP" - }, - { - "begin": 450, - "end": 468, - "name": "DUP2" - }, - { - "begin": 450, - "end": 468, - "name": "SLOAD" - }, - { - "begin": 450, - "end": 468, - "name": "DUP2" - }, - { - "begin": 450, - "end": 468, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 450, - "end": 468, - "name": "MUL" - }, - { - "begin": 450, - "end": 468, - "name": "NOT" - }, - { - "begin": 450, - "end": 468, - "name": "AND" - }, - { - "begin": 450, - "end": 468, - "name": "SWAP1" - }, - { - "begin": 450, - "end": 468, - "name": "DUP4" - }, - { - "begin": 450, - "end": 468, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 450, - "end": 468, - "name": "AND" - }, - { - "begin": 450, - "end": 468, - "name": "MUL" - }, - { - "begin": 450, - "end": 468, - "name": "OR" - }, - { - "begin": 450, - "end": 468, - "name": "SWAP1" - }, - { - "begin": 450, - "end": 468, - "name": "SSTORE" - }, - { - "begin": 450, - "end": 468, - "name": "POP" - }, - { - "begin": 495, - "end": 504, - "name": "CALLVALUE" - }, - { - "begin": 474, - "end": 485, - "name": "PUSH", - "value": "0" - }, - { - "begin": 474, - "end": 492, - "name": "DUP1" - }, - { - "begin": 486, - "end": 491, - "name": "PUSH", - "value": "1" - }, - { - "begin": 486, - "end": 491, - "name": "PUSH", - "value": "0" - }, - { - "begin": 486, - "end": 491, - "name": "SWAP1" - }, - { - "begin": 486, - "end": 491, - "name": "SLOAD" - }, - { - "begin": 486, - "end": 491, - "name": "SWAP1" - }, - { - "begin": 486, - "end": 491, - "name": "PUSH", - "value": "100" - }, - { - "begin": 486, - "end": 491, - "name": "EXP" - }, - { - "begin": 486, - "end": 491, - "name": "SWAP1" - }, - { - "begin": 486, - "end": 491, - "name": "DIV" - }, - { - "begin": 486, - "end": 491, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 486, - "end": 491, - "name": "AND" - }, - { - "begin": 474, - "end": 492, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 474, - "end": 492, - "name": "AND" - }, - { - "begin": 474, - "end": 492, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 474, - "end": 492, - "name": "AND" - }, - { - "begin": 474, - "end": 492, - "name": "DUP2" - }, - { - "begin": 474, - "end": 492, - "name": "MSTORE" - }, - { - "begin": 474, - "end": 492, - "name": "PUSH", - "value": "20" - }, - { - "begin": 474, - "end": 492, - "name": "ADD" - }, - { - "begin": 474, - "end": 492, - "name": "SWAP1" - }, - { - "begin": 474, - "end": 492, - "name": "DUP2" - }, - { - "begin": 474, - "end": 492, - "name": "MSTORE" - }, - { - "begin": 474, - "end": 492, - "name": "PUSH", - "value": "20" - }, - { - "begin": 474, - "end": 492, - "name": "ADD" - }, - { - "begin": 474, - "end": 492, - "name": "PUSH", - "value": "0" - }, - { - "begin": 474, - "end": 492, - "name": "KECCAK256" - }, - { - "begin": 474, - "end": 504, - "name": "DUP2" - }, - { - "begin": 474, - "end": 504, - "name": "SWAP1" - }, - { - "begin": 474, - "end": 504, - "name": "SSTORE" - }, - { - "begin": 474, - "end": 504, - "name": "POP" - }, - { - "begin": 410, - "end": 509, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 1332, - "end": 1432, - "name": "tag", - "value": "18" - }, - { - "begin": 1332, - "end": 1432, - "name": "JUMPDEST" - }, - { - "begin": 579, - "end": 584, - "name": "PUSH", - "value": "1" - }, - { - "begin": 579, - "end": 584, - "name": "PUSH", - "value": "0" - }, - { - "begin": 579, - "end": 584, - "name": "SWAP1" - }, - { - "begin": 579, - "end": 584, - "name": "SLOAD" - }, - { - "begin": 579, - "end": 584, - "name": "SWAP1" - }, - { - "begin": 579, - "end": 584, - "name": "PUSH", - "value": "100" - }, - { - "begin": 579, - "end": 584, - "name": "EXP" - }, - { - "begin": 579, - "end": 584, - "name": "SWAP1" - }, - { - "begin": 579, - "end": 584, - "name": "DIV" - }, - { - "begin": 579, - "end": 584, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 579, - "end": 584, - "name": "AND" - }, - { - "begin": 565, - "end": 584, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 565, - "end": 584, - "name": "AND" - }, - { - "begin": 565, - "end": 575, - "name": "CALLER" - }, - { - "begin": 565, - "end": 584, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 565, - "end": 584, - "name": "AND" - }, - { - "begin": 565, - "end": 584, - "name": "EQ" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH [tag]", - "value": "35" - }, - { - "begin": 543, - "end": 635, - "name": "JUMPI" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH", - "value": "40" - }, - { - "begin": 543, - "end": 635, - "name": "MLOAD" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH", - "value": "8C379A000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 543, - "end": 635, - "name": "DUP2" - }, - { - "begin": 543, - "end": 635, - "name": "MSTORE" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH", - "value": "4" - }, - { - "begin": 543, - "end": 635, - "name": "ADD" - }, - { - "begin": 543, - "end": 635, - "name": "DUP1" - }, - { - "begin": 543, - "end": 635, - "name": "DUP1" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH", - "value": "20" - }, - { - "begin": 543, - "end": 635, - "name": "ADD" - }, - { - "begin": 543, - "end": 635, - "name": "DUP3" - }, - { - "begin": 543, - "end": 635, - "name": "DUP2" - }, - { - "begin": 543, - "end": 635, - "name": "SUB" - }, - { - "begin": 543, - "end": 635, - "name": "DUP3" - }, - { - "begin": 543, - "end": 635, - "name": "MSTORE" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH", - "value": "17" - }, - { - "begin": 543, - "end": 635, - "name": "DUP2" - }, - { - "begin": 543, - "end": 635, - "name": "MSTORE" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH", - "value": "20" - }, - { - "begin": 543, - "end": 635, - "name": "ADD" - }, - { - "begin": 543, - "end": 635, - "name": "DUP1" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH", - "value": "63616C6C6572206973206E6F7420746865206F776E6572000000000000000000" - }, - { - "begin": 543, - "end": 635, - "name": "DUP2" - }, - { - "begin": 543, - "end": 635, - "name": "MSTORE" - }, - { - "begin": 543, - "end": 635, - "name": "POP" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH", - "value": "20" - }, - { - "begin": 543, - "end": 635, - "name": "ADD" - }, - { - "begin": 543, - "end": 635, - "name": "SWAP2" - }, - { - "begin": 543, - "end": 635, - "name": "POP" - }, - { - "begin": 543, - "end": 635, - "name": "POP" - }, - { - "begin": 543, - "end": 635, - "name": "PUSH", - "value": "40" - }, - { - "begin": 543, - "end": 635, - "name": "MLOAD" - }, - { - "begin": 543, - "end": 635, - "name": "DUP1" - }, - { - "begin": 543, - "end": 635, - "name": "SWAP2" - }, - { - "begin": 543, - "end": 635, - "name": "SUB" - }, - { - "begin": 543, - "end": 635, - "name": "SWAP1" - }, - { - "begin": 543, - "end": 635, - "name": "REVERT" - }, - { - "begin": 543, - "end": 635, - "name": "tag", - "value": "35" - }, - { - "begin": 543, - "end": 635, - "name": "JUMPDEST" - }, - { - "begin": 1385, - "end": 1395, - "name": "CALLER" - }, - { - "begin": 1385, - "end": 1404, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1385, - "end": 1404, - "name": "AND" - }, - { - "begin": 1385, - "end": 1427, - "name": "PUSH", - "value": "8FC" - }, - { - "begin": 1405, - "end": 1426, - "name": "SELFBALANCE" - }, - { - "begin": 1385, - "end": 1427, - "name": "SWAP1" - }, - { - "begin": 1385, - "end": 1427, - "name": "DUP2" - }, - { - "begin": 1385, - "end": 1427, - "name": "ISZERO" - }, - { - "begin": 1385, - "end": 1427, - "name": "MUL" - }, - { - "begin": 1385, - "end": 1427, - "name": "SWAP1" - }, - { - "begin": 1385, - "end": 1427, - "name": "PUSH", - "value": "40" - }, - { - "begin": 1385, - "end": 1427, - "name": "MLOAD" - }, - { - "begin": 1385, - "end": 1427, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1385, - "end": 1427, - "name": "PUSH", - "value": "40" - }, - { - "begin": 1385, - "end": 1427, - "name": "MLOAD" - }, - { - "begin": 1385, - "end": 1427, - "name": "DUP1" - }, - { - "begin": 1385, - "end": 1427, - "name": "DUP4" - }, - { - "begin": 1385, - "end": 1427, - "name": "SUB" - }, - { - "begin": 1385, - "end": 1427, - "name": "DUP2" - }, - { - "begin": 1385, - "end": 1427, - "name": "DUP6" - }, - { - "begin": 1385, - "end": 1427, - "name": "DUP9" - }, - { - "begin": 1385, - "end": 1427, - "name": "DUP9" - }, - { - "begin": 1385, - "end": 1427, - "name": "CALL" - }, - { - "begin": 1385, - "end": 1427, - "name": "SWAP4" - }, - { - "begin": 1385, - "end": 1427, - "name": "POP" - }, - { - "begin": 1385, - "end": 1427, - "name": "POP" - }, - { - "begin": 1385, - "end": 1427, - "name": "POP" - }, - { - "begin": 1385, - "end": 1427, - "name": "POP" - }, - { - "begin": 1385, - "end": 1427, - "name": "ISZERO" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "37" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 45, - "end": 61, - "name": "RETURNDATASIZE" - }, - { - "begin": 42, - "end": 43, - "name": "PUSH", - "value": "0" - }, - { - "begin": 39, - "end": 40, - "name": "DUP1" - }, - { - "begin": 24, - "end": 62, - "name": "RETURNDATACOPY" - }, - { - "begin": 77, - "end": 93, - "name": "RETURNDATASIZE" - }, - { - "begin": 74, - "end": 75, - "name": "PUSH", - "value": "0" - }, - { - "begin": 67, - "end": 94, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "37" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 1385, - "end": 1427, - "name": "POP" - }, - { - "begin": 1332, - "end": 1432, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 356, - "end": 384, - "name": "tag", - "value": "21" - }, - { - "begin": 356, - "end": 384, - "name": "JUMPDEST" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH", - "value": "1" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH", - "value": "0" - }, - { - "begin": 356, - "end": 384, - "name": "SWAP1" - }, - { - "begin": 356, - "end": 384, - "name": "SLOAD" - }, - { - "begin": 356, - "end": 384, - "name": "SWAP1" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH", - "value": "100" - }, - { - "begin": 356, - "end": 384, - "name": "EXP" - }, - { - "begin": 356, - "end": 384, - "name": "SWAP1" - }, - { - "begin": 356, - "end": 384, - "name": "DIV" - }, - { - "begin": 356, - "end": 384, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 356, - "end": 384, - "name": "AND" - }, - { - "begin": 356, - "end": 384, - "name": "DUP2" - }, - { - "begin": 356, - "end": 384, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 1176, - "end": 1328, - "name": "tag", - "value": "25" - }, - { - "begin": 1176, - "end": 1328, - "name": "JUMPDEST" - }, - { - "begin": 1273, - "end": 1274, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1248, - "end": 1259, - "name": "DUP1" - }, - { - "begin": 1248, - "end": 1270, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1260, - "end": 1269, - "name": "DUP4" - }, - { - "begin": 1248, - "end": 1270, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1248, - "end": 1270, - "name": "AND" - }, - { - "begin": 1248, - "end": 1270, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1248, - "end": 1270, - "name": "AND" - }, - { - "begin": 1248, - "end": 1270, - "name": "DUP2" - }, - { - "begin": 1248, - "end": 1270, - "name": "MSTORE" - }, - { - "begin": 1248, - "end": 1270, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1248, - "end": 1270, - "name": "ADD" - }, - { - "begin": 1248, - "end": 1270, - "name": "SWAP1" - }, - { - "begin": 1248, - "end": 1270, - "name": "DUP2" - }, - { - "begin": 1248, - "end": 1270, - "name": "MSTORE" - }, - { - "begin": 1248, - "end": 1270, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1248, - "end": 1270, - "name": "ADD" - }, - { - "begin": 1248, - "end": 1270, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1248, - "end": 1270, - "name": "KECCAK256" - }, - { - "begin": 1248, - "end": 1270, - "name": "SLOAD" - }, - { - "begin": 1248, - "end": 1274, - "name": "GT" - }, - { - "begin": 1240, - "end": 1275, - "name": "PUSH [tag]", - "value": "39" - }, - { - "begin": 1240, - "end": 1275, - "name": "JUMPI" - }, - { - "begin": 1240, - "end": 1275, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1240, - "end": 1275, - "name": "DUP1" - }, - { - "begin": 1240, - "end": 1275, - "name": "REVERT" - }, - { - "begin": 1240, - "end": 1275, - "name": "tag", - "value": "39" - }, - { - "begin": 1240, - "end": 1275, - "name": "JUMPDEST" - }, - { - "begin": 1281, - "end": 1290, - "name": "DUP1" - }, - { - "begin": 1281, - "end": 1299, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1281, - "end": 1299, - "name": "AND" - }, - { - "begin": 1281, - "end": 1323, - "name": "PUSH", - "value": "8FC" - }, - { - "begin": 1300, - "end": 1311, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1300, - "end": 1322, - "name": "DUP1" - }, - { - "begin": 1312, - "end": 1321, - "name": "DUP5" - }, - { - "begin": 1300, - "end": 1322, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1300, - "end": 1322, - "name": "AND" - }, - { - "begin": 1300, - "end": 1322, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1300, - "end": 1322, - "name": "AND" - }, - { - "begin": 1300, - "end": 1322, - "name": "DUP2" - }, - { - "begin": 1300, - "end": 1322, - "name": "MSTORE" - }, - { - "begin": 1300, - "end": 1322, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1300, - "end": 1322, - "name": "ADD" - }, - { - "begin": 1300, - "end": 1322, - "name": "SWAP1" - }, - { - "begin": 1300, - "end": 1322, - "name": "DUP2" - }, - { - "begin": 1300, - "end": 1322, - "name": "MSTORE" - }, - { - "begin": 1300, - "end": 1322, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1300, - "end": 1322, - "name": "ADD" - }, - { - "begin": 1300, - "end": 1322, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1300, - "end": 1322, - "name": "KECCAK256" - }, - { - "begin": 1300, - "end": 1322, - "name": "SLOAD" - }, - { - "begin": 1281, - "end": 1323, - "name": "SWAP1" - }, - { - "begin": 1281, - "end": 1323, - "name": "DUP2" - }, - { - "begin": 1281, - "end": 1323, - "name": "ISZERO" - }, - { - "begin": 1281, - "end": 1323, - "name": "MUL" - }, - { - "begin": 1281, - "end": 1323, - "name": "SWAP1" - }, - { - "begin": 1281, - "end": 1323, - "name": "PUSH", - "value": "40" - }, - { - "begin": 1281, - "end": 1323, - "name": "MLOAD" - }, - { - "begin": 1281, - "end": 1323, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1281, - "end": 1323, - "name": "PUSH", - "value": "40" - }, - { - "begin": 1281, - "end": 1323, - "name": "MLOAD" - }, - { - "begin": 1281, - "end": 1323, - "name": "DUP1" - }, - { - "begin": 1281, - "end": 1323, - "name": "DUP4" - }, - { - "begin": 1281, - "end": 1323, - "name": "SUB" - }, - { - "begin": 1281, - "end": 1323, - "name": "DUP2" - }, - { - "begin": 1281, - "end": 1323, - "name": "DUP6" - }, - { - "begin": 1281, - "end": 1323, - "name": "DUP9" - }, - { - "begin": 1281, - "end": 1323, - "name": "DUP9" - }, - { - "begin": 1281, - "end": 1323, - "name": "CALL" - }, - { - "begin": 1281, - "end": 1323, - "name": "SWAP4" - }, - { - "begin": 1281, - "end": 1323, - "name": "POP" - }, - { - "begin": 1281, - "end": 1323, - "name": "POP" - }, - { - "begin": 1281, - "end": 1323, - "name": "POP" - }, - { - "begin": 1281, - "end": 1323, - "name": "POP" - }, - { - "begin": 1281, - "end": 1323, - "name": "ISZERO" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "40" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 45, - "end": 61, - "name": "RETURNDATASIZE" - }, - { - "begin": 42, - "end": 43, - "name": "PUSH", - "value": "0" - }, - { - "begin": 39, - "end": 40, - "name": "DUP1" - }, - { - "begin": 24, - "end": 62, - "name": "RETURNDATACOPY" - }, - { - "begin": 77, - "end": 93, - "name": "RETURNDATASIZE" - }, - { - "begin": 74, - "end": 75, - "name": "PUSH", - "value": "0" - }, - { - "begin": 67, - "end": 94, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "40" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 1281, - "end": 1323, - "name": "POP" - }, - { - "begin": 1176, - "end": 1328, - "name": "POP" - }, - { - "begin": 1176, - "end": 1328, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 1062, - "end": 1172, - "name": "tag", - "value": "27" - }, - { - "begin": 1062, - "end": 1172, - "name": "JUMPDEST" - }, - { - "begin": 1129, - "end": 1167, - "name": "PUSH [tag]", - "value": "42" - }, - { - "begin": 1157, - "end": 1166, - "name": "CALLVALUE" - }, - { - "begin": 1129, - "end": 1140, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1129, - "end": 1152, - "name": "DUP1" - }, - { - "begin": 1141, - "end": 1151, - "name": "CALLER" - }, - { - "begin": 1129, - "end": 1152, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1129, - "end": 1152, - "name": "AND" - }, - { - "begin": 1129, - "end": 1152, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1129, - "end": 1152, - "name": "AND" - }, - { - "begin": 1129, - "end": 1152, - "name": "DUP2" - }, - { - "begin": 1129, - "end": 1152, - "name": "MSTORE" - }, - { - "begin": 1129, - "end": 1152, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1129, - "end": 1152, - "name": "ADD" - }, - { - "begin": 1129, - "end": 1152, - "name": "SWAP1" - }, - { - "begin": 1129, - "end": 1152, - "name": "DUP2" - }, - { - "begin": 1129, - "end": 1152, - "name": "MSTORE" - }, - { - "begin": 1129, - "end": 1152, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1129, - "end": 1152, - "name": "ADD" - }, - { - "begin": 1129, - "end": 1152, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1129, - "end": 1152, - "name": "KECCAK256" - }, - { - "begin": 1129, - "end": 1152, - "name": "SLOAD" - }, - { - "begin": 1129, - "end": 1156, - "name": "PUSH [tag]", - "value": "43" - }, - { - "begin": 1129, - "end": 1156, - "name": "SWAP1" - }, - { - "begin": 1129, - "end": 1167, - "name": "SWAP2" - }, - { - "begin": 1129, - "end": 1167, - "name": "SWAP1" - }, - { - "begin": 1129, - "end": 1167, - "name": "PUSH", - "value": "FFFFFFFF" - }, - { - "begin": 1129, - "end": 1167, - "name": "AND" - }, - { - "begin": 1129, - "end": 1167, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 1129, - "end": 1167, - "name": "tag", - "value": "42" - }, - { - "begin": 1129, - "end": 1167, - "name": "JUMPDEST" - }, - { - "begin": 1103, - "end": 1114, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1103, - "end": 1126, - "name": "DUP1" - }, - { - "begin": 1115, - "end": 1125, - "name": "CALLER" - }, - { - "begin": 1103, - "end": 1126, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1103, - "end": 1126, - "name": "AND" - }, - { - "begin": 1103, - "end": 1126, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1103, - "end": 1126, - "name": "AND" - }, - { - "begin": 1103, - "end": 1126, - "name": "DUP2" - }, - { - "begin": 1103, - "end": 1126, - "name": "MSTORE" - }, - { - "begin": 1103, - "end": 1126, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1103, - "end": 1126, - "name": "ADD" - }, - { - "begin": 1103, - "end": 1126, - "name": "SWAP1" - }, - { - "begin": 1103, - "end": 1126, - "name": "DUP2" - }, - { - "begin": 1103, - "end": 1126, - "name": "MSTORE" - }, - { - "begin": 1103, - "end": 1126, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1103, - "end": 1126, - "name": "ADD" - }, - { - "begin": 1103, - "end": 1126, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1103, - "end": 1126, - "name": "KECCAK256" - }, - { - "begin": 1103, - "end": 1167, - "name": "DUP2" - }, - { - "begin": 1103, - "end": 1167, - "name": "SWAP1" - }, - { - "begin": 1103, - "end": 1167, - "name": "SSTORE" - }, - { - "begin": 1103, - "end": 1167, - "name": "POP" - }, - { - "begin": 1062, - "end": 1172, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 1436, - "end": 1548, - "name": "tag", - "value": "31" - }, - { - "begin": 1436, - "end": 1548, - "name": "JUMPDEST" - }, - { - "begin": 1502, - "end": 1506, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1521, - "end": 1532, - "name": "DUP1" - }, - { - "begin": 1521, - "end": 1543, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1533, - "end": 1542, - "name": "DUP4" - }, - { - "begin": 1521, - "end": 1543, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1521, - "end": 1543, - "name": "AND" - }, - { - "begin": 1521, - "end": 1543, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1521, - "end": 1543, - "name": "AND" - }, - { - "begin": 1521, - "end": 1543, - "name": "DUP2" - }, - { - "begin": 1521, - "end": 1543, - "name": "MSTORE" - }, - { - "begin": 1521, - "end": 1543, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1521, - "end": 1543, - "name": "ADD" - }, - { - "begin": 1521, - "end": 1543, - "name": "SWAP1" - }, - { - "begin": 1521, - "end": 1543, - "name": "DUP2" - }, - { - "begin": 1521, - "end": 1543, - "name": "MSTORE" - }, - { - "begin": 1521, - "end": 1543, - "name": "PUSH", - "value": "20" - }, - { - "begin": 1521, - "end": 1543, - "name": "ADD" - }, - { - "begin": 1521, - "end": 1543, - "name": "PUSH", - "value": "0" - }, - { - "begin": 1521, - "end": 1543, - "name": "KECCAK256" - }, - { - "begin": 1521, - "end": 1543, - "name": "SLOAD" - }, - { - "begin": 1514, - "end": 1543, - "name": "SWAP1" - }, - { - "begin": 1514, - "end": 1543, - "name": "POP" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP2" - }, - { - "begin": 1436, - "end": 1548, - "name": "SWAP1" - }, - { - "begin": 1436, - "end": 1548, - "name": "POP" - }, - { - "begin": 1436, - "end": 1548, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 834, - "end": 1010, - "name": "tag", - "value": "43" - }, - { - "begin": 834, - "end": 1010, - "name": "JUMPDEST" - }, - { - "begin": 892, - "end": 899, - "name": "PUSH", - "value": "0" - }, - { - "begin": 911, - "end": 920, - "name": "DUP1" - }, - { - "begin": 927, - "end": 928, - "name": "DUP3" - }, - { - "begin": 923, - "end": 924, - "name": "DUP5" - }, - { - "begin": 923, - "end": 928, - "name": "ADD" - }, - { - "begin": 911, - "end": 928, - "name": "SWAP1" - }, - { - "begin": 911, - "end": 928, - "name": "POP" - }, - { - "begin": 951, - "end": 952, - "name": "DUP4" - }, - { - "begin": 946, - "end": 947, - "name": "DUP2" - }, - { - "begin": 946, - "end": 952, - "name": "LT" - }, - { - "begin": 946, - "end": 952, - "name": "ISZERO" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH [tag]", - "value": "46" - }, - { - "begin": 938, - "end": 984, - "name": "JUMPI" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "40" - }, - { - "begin": 938, - "end": 984, - "name": "MLOAD" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "8C379A000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "4" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "20" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP3" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "SUB" - }, - { - "begin": 938, - "end": 984, - "name": "DUP3" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "1B" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "20" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "536166654D6174683A206164646974696F6E206F766572666C6F770000000000" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "POP" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "20" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "SWAP2" - }, - { - "begin": 938, - "end": 984, - "name": "POP" - }, - { - "begin": 938, - "end": 984, - "name": "POP" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "40" - }, - { - "begin": 938, - "end": 984, - "name": "MLOAD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "SWAP2" - }, - { - "begin": 938, - "end": 984, - "name": "SUB" - }, - { - "begin": 938, - "end": 984, - "name": "SWAP1" - }, - { - "begin": 938, - "end": 984, - "name": "REVERT" - }, - { - "begin": 938, - "end": 984, - "name": "tag", - "value": "46" - }, - { - "begin": 938, - "end": 984, - "name": "JUMPDEST" - }, - { - "begin": 1002, - "end": 1003, - "name": "DUP1" - }, - { - "begin": 995, - "end": 1003, - "name": "SWAP2" - }, - { - "begin": 995, - "end": 1003, - "name": "POP" - }, - { - "begin": 995, - "end": 1003, - "name": "POP" - }, - { - "begin": 834, - "end": 1010, - "name": "SWAP3" - }, - { - "begin": 834, - "end": 1010, - "name": "SWAP2" - }, - { - "begin": 834, - "end": 1010, - "name": "POP" - }, - { - "begin": 834, - "end": 1010, - "name": "POP" - }, - { - "begin": 834, - "end": 1010, - "name": "JUMP", - "value": "[out]" - } - ] - } - } - }, - "methodIdentifiers": { - "Fal1out()": "6fab5ddf", - "age(uint256)": "6ba61782", - "allocate()": "abaa9916", - "allocatorBalance(address)": "ffd40b56", - "collectAllocations()": "8aa96f38", - "owner()": "8da5cb5b", - "sendAllocation(address)": "a2dea26f" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"Fal1out\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rings\",\"type\":\"uint256\"}],\"name\":\"age\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"allocate\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"allocator\",\"type\":\"address\"}],\"name\":\"allocatorBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"collectAllocations\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"allocator\",\"type\":\"address\"}],\"name\":\"sendAllocation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Larry A. Gardner\",\"details\":\"All function calls are currently implemented without side effects\",\"methods\":{\"age(uint256)\":{\"author\":\"Mary A. Botanist\",\"details\":\"The Alexandr N. Tetearing algorithm could increase precision\",\"params\":{\"rings\":\"The number of rings from dendrochronological sample\"},\"return\":\"age in years, rounded up for partial years\"}},\"title\":\"A simulator for trees\"},\"userdoc\":{\"methods\":{\"age(uint256)\":{\"notice\":\"Calculate tree age in years, rounded up, for live trees\"}},\"notice\":\"You can use this contract for only the most basic simulation\"}},\"settings\":{\"compilationTarget\":{\"browser/Fallout.sol\":\"Fallout\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"browser/Fallout.sol\":{\"keccak256\":\"0xad082f74ba1b39235d2aae9ebe7367b10a7b164c4c5f9a6ebb139bce106b72cb\",\"urls\":[\"bzz-raw://d6d6235ca9a20e1cfc3da11e0bdfce0bdf5549e8fc52c64911857953fcd58bd8\",\"dweb:/ipfs/QmZJXfB8A9yQf6ixs7Amswj8SovAWXVJbMNM1qCw7uzMxN\"]},\"browser/SafeMath.sol\":{\"keccak256\":\"0x440e126d35c767f263ad60029d68b9f1a946caedcc51ae10266f28e305fffe40\",\"urls\":[\"bzz-raw://87eaf2dfa0a988fd31e8b44703ffbf21a99a8c663263c2fad2c26dc9a120d5c3\",\"dweb:/ipfs/QmenpSEG3kX4SbXDuDVDi7EwHgSrRTYrbEdJ1H2H14HxGZ\"]}},\"version\":1}", - "userdoc": { - "methods": { - "age(uint256)": { - "notice": "Calculate tree age in years, rounded up, for live trees" - } - }, - "notice": "You can use this contract for only the most basic simulation" - } -} \ No newline at end of file diff --git a/apps/remixdocgen/src/utils/sample-data/sample-artifact.json b/apps/remixdocgen/src/utils/sample-data/sample-artifact.json deleted file mode 100644 index d4696d1293..0000000000 --- a/apps/remixdocgen/src/utils/sample-data/sample-artifact.json +++ /dev/null @@ -1,3771 +0,0 @@ -{ - "abi": [ - { - "constant": false, - "inputs": [], - "name": "Fal1out", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "allocate", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "allocator", - "type": "address" - } - ], - "name": "allocatorBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "collectAllocations", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address payable", - "name": "allocator", - "type": "address" - } - ], - "name": "sendAllocation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "methods": {} - }, - "evm": { - "bytecode": { - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506105f0806100206000396000f3fe6080604052600436106100555760003560e01c80636fab5ddf1461005a5780638aa96f38146100645780638da5cb5b1461007b578063a2dea26f146100d2578063abaa991614610123578063ffd40b561461012d575b600080fd5b610062610192565b005b34801561007057600080fd5b5061007961023a565b005b34801561008757600080fd5b5061009061035d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100de57600080fd5b50610121600480360360208110156100f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610383565b005b61012b610456565b005b34801561013957600080fd5b5061017c6004803603602081101561015057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104eb565b6040518082815260200191505060405180910390f35b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015801561035a573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116103ce57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f19350505050158015610452573d6000803e3d6000fd5b5050565b6104a7346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461053390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000808284019050838110156105b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fea265627a7a723158206a4ee66bdda0ffe5072deb89ed27493542d04913e850ea14fd2c8fe5d5c8eebf64736f6c634300050c0032", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5F0 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FAB5DDF EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x8AA96F38 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7B JUMPI DUP1 PUSH4 0xA2DEA26F EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0xABAA9916 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0xFFD40B56 EQ PUSH2 0x12D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x62 PUSH2 0x192 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x79 PUSH2 0x23A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90 PUSH2 0x35D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x383 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x12B PUSH2 0x456 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x139 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x4EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2FD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND BALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x35A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x452 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x4A7 CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x533 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x5B1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 PUSH11 0x4EE66BDDA0FFE5072DEB89 0xed 0x27 0x49 CALLDATALOAD TIMESTAMP 0xd0 0x49 SGT 0xe8 POP 0xea EQ REVERT 0x2c DUP16 0xe5 0xd5 0xc8 0xee 0xbf PUSH5 0x736F6C6343 STOP SDIV 0xc STOP ORIGIN ", - "sourceMap": "51:886:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;51:886:0;;;;;;;" - }, - "deployedBytecode": { - "linkReferences": {}, - "object": "6080604052600436106100555760003560e01c80636fab5ddf1461005a5780638aa96f38146100645780638da5cb5b1461007b578063a2dea26f146100d2578063abaa991614610123578063ffd40b561461012d575b600080fd5b610062610192565b005b34801561007057600080fd5b5061007961023a565b005b34801561008757600080fd5b5061009061035d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100de57600080fd5b50610121600480360360208110156100f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610383565b005b61012b610456565b005b34801561013957600080fd5b5061017c6004803603602081101561015057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104eb565b6040518082815260200191505060405180910390f35b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015801561035a573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116103ce57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549081150290604051600060405180830381858888f19350505050158015610452573d6000803e3d6000fd5b5050565b6104a7346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461053390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000808284019050838110156105b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fea265627a7a723158206a4ee66bdda0ffe5072deb89ed27493542d04913e850ea14fd2c8fe5d5c8eebf64736f6c634300050c0032", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FAB5DDF EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x8AA96F38 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7B JUMPI DUP1 PUSH4 0xA2DEA26F EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0xABAA9916 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0xFFD40B56 EQ PUSH2 0x12D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x62 PUSH2 0x192 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x79 PUSH2 0x23A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90 PUSH2 0x35D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x383 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x12B PUSH2 0x456 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x139 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x4EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2FD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x17 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x63616C6C6572206973206E6F7420746865206F776E6572000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND BALANCE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x35A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x3CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x452 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x4A7 CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x533 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x5B1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH6 0x627A7A723158 KECCAK256 PUSH11 0x4EE66BDDA0FFE5072DEB89 0xed 0x27 0x49 CALLDATALOAD TIMESTAMP 0xd0 0x49 SGT 0xe8 POP 0xea EQ REVERT 0x2c DUP16 0xe5 0xd5 0xc8 0xee 0xbf PUSH5 0x736F6C6343 STOP SDIV 0xc STOP ORIGIN ", - "sourceMap": "51:886:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;200:99;;;:::i;:::-;;719:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;719:100:0;;;:::i;:::-;;146:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;146:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;563:152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;563:152:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;563:152:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;449:110;;;:::i;:::-;;823:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;823:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;823:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;200:99;248:10;240:5;;:18;;;;;;;;;;;;;;;;;;285:9;264:11;:18;276:5;;;;;;;;;;;264:18;;;;;;;;;;;;;;;:30;;;;200:99::o;719:100::-;369:5;;;;;;;;;;;355:19;;:10;:19;;;333:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;772:10;:19;;:42;800:4;792:21;;;772:42;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;772:42:0;719:100::o;146:28::-;;;;;;;;;;;;;:::o;563:152::-;660:1;635:11;:22;647:9;635:22;;;;;;;;;;;;;;;;:26;627:35;;;;;;668:9;:18;;:42;687:11;:22;699:9;687:22;;;;;;;;;;;;;;;;668:42;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;668:42:0;563:152;:::o;449:110::-;516:38;544:9;516:11;:23;528:10;516:23;;;;;;;;;;;;;;;;:27;;:38;;;;:::i;:::-;490:11;:23;502:10;490:23;;;;;;;;;;;;;;;:64;;;;449:110::o;823:112::-;889:4;908:11;:22;920:9;908:22;;;;;;;;;;;;;;;;901:29;;823:112;;;:::o;834:176:1:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "304000", - "executionCost": "343", - "totalCost": "304343" - }, - "external": { - "Fal1out()": "40703", - "allocate()": "infinite", - "allocatorBalance(address)": "684", - "collectAllocations()": "infinite", - "owner()": "475", - "sendAllocation(address)": "infinite" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "80" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "40" - }, - { - "begin": 51, - "end": 937, - "name": "MSTORE" - }, - { - "begin": 51, - "end": 937, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "1" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "1" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 51, - "end": 937, - "name": "POP" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH #[$]", - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 51, - "end": 937, - "name": "DUP1" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH [$]", - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "0" - }, - { - "begin": 51, - "end": 937, - "name": "CODECOPY" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "0" - }, - { - "begin": 51, - "end": 937, - "name": "RETURN" - } - ], - ".data": { - "0": { - ".auxdata": "a265627a7a723158206a4ee66bdda0ffe5072deb89ed27493542d04913e850ea14fd2c8fe5d5c8eebf64736f6c634300050c0032", - ".code": [ - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "80" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "40" - }, - { - "begin": 51, - "end": 937, - "name": "MSTORE" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "4" - }, - { - "begin": 51, - "end": 937, - "name": "CALLDATASIZE" - }, - { - "begin": 51, - "end": 937, - "name": "LT" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH [tag]", - "value": "1" - }, - { - "begin": 51, - "end": 937, - "name": "JUMPI" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "0" - }, - { - "begin": 51, - "end": 937, - "name": "CALLDATALOAD" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "E0" - }, - { - "begin": 51, - "end": 937, - "name": "SHR" - }, - { - "begin": 51, - "end": 937, - "name": "DUP1" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "6FAB5DDF" - }, - { - "begin": 51, - "end": 937, - "name": "EQ" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH [tag]", - "value": "2" - }, - { - "begin": 51, - "end": 937, - "name": "JUMPI" - }, - { - "begin": 51, - "end": 937, - "name": "DUP1" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "8AA96F38" - }, - { - "begin": 51, - "end": 937, - "name": "EQ" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH [tag]", - "value": "3" - }, - { - "begin": 51, - "end": 937, - "name": "JUMPI" - }, - { - "begin": 51, - "end": 937, - "name": "DUP1" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "8DA5CB5B" - }, - { - "begin": 51, - "end": 937, - "name": "EQ" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH [tag]", - "value": "4" - }, - { - "begin": 51, - "end": 937, - "name": "JUMPI" - }, - { - "begin": 51, - "end": 937, - "name": "DUP1" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "A2DEA26F" - }, - { - "begin": 51, - "end": 937, - "name": "EQ" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH [tag]", - "value": "5" - }, - { - "begin": 51, - "end": 937, - "name": "JUMPI" - }, - { - "begin": 51, - "end": 937, - "name": "DUP1" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "ABAA9916" - }, - { - "begin": 51, - "end": 937, - "name": "EQ" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH [tag]", - "value": "6" - }, - { - "begin": 51, - "end": 937, - "name": "JUMPI" - }, - { - "begin": 51, - "end": 937, - "name": "DUP1" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "FFD40B56" - }, - { - "begin": 51, - "end": 937, - "name": "EQ" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH [tag]", - "value": "7" - }, - { - "begin": 51, - "end": 937, - "name": "JUMPI" - }, - { - "begin": 51, - "end": 937, - "name": "tag", - "value": "1" - }, - { - "begin": 51, - "end": 937, - "name": "JUMPDEST" - }, - { - "begin": 51, - "end": 937, - "name": "PUSH", - "value": "0" - }, - { - "begin": 51, - "end": 937, - "name": "DUP1" - }, - { - "begin": 51, - "end": 937, - "name": "REVERT" - }, - { - "begin": 200, - "end": 299, - "name": "tag", - "value": "2" - }, - { - "begin": 200, - "end": 299, - "name": "JUMPDEST" - }, - { - "begin": 200, - "end": 299, - "name": "PUSH [tag]", - "value": "8" - }, - { - "begin": 200, - "end": 299, - "name": "PUSH [tag]", - "value": "9" - }, - { - "begin": 200, - "end": 299, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 200, - "end": 299, - "name": "tag", - "value": "8" - }, - { - "begin": 200, - "end": 299, - "name": "JUMPDEST" - }, - { - "begin": 200, - "end": 299, - "name": "STOP" - }, - { - "begin": 719, - "end": 819, - "name": "tag", - "value": "3" - }, - { - "begin": 719, - "end": 819, - "name": "JUMPDEST" - }, - { - "begin": 719, - "end": 819, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "10" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "10" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 719, - "end": 819, - "name": "POP" - }, - { - "begin": 719, - "end": 819, - "name": "PUSH [tag]", - "value": "11" - }, - { - "begin": 719, - "end": 819, - "name": "PUSH [tag]", - "value": "12" - }, - { - "begin": 719, - "end": 819, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 719, - "end": 819, - "name": "tag", - "value": "11" - }, - { - "begin": 719, - "end": 819, - "name": "JUMPDEST" - }, - { - "begin": 719, - "end": 819, - "name": "STOP" - }, - { - "begin": 146, - "end": 174, - "name": "tag", - "value": "4" - }, - { - "begin": 146, - "end": 174, - "name": "JUMPDEST" - }, - { - "begin": 146, - "end": 174, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "13" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "13" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 146, - "end": 174, - "name": "POP" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH [tag]", - "value": "14" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH [tag]", - "value": "15" - }, - { - "begin": 146, - "end": 174, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 146, - "end": 174, - "name": "tag", - "value": "14" - }, - { - "begin": 146, - "end": 174, - "name": "JUMPDEST" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH", - "value": "40" - }, - { - "begin": 146, - "end": 174, - "name": "MLOAD" - }, - { - "begin": 146, - "end": 174, - "name": "DUP1" - }, - { - "begin": 146, - "end": 174, - "name": "DUP3" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 146, - "end": 174, - "name": "AND" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 146, - "end": 174, - "name": "AND" - }, - { - "begin": 146, - "end": 174, - "name": "DUP2" - }, - { - "begin": 146, - "end": 174, - "name": "MSTORE" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH", - "value": "20" - }, - { - "begin": 146, - "end": 174, - "name": "ADD" - }, - { - "begin": 146, - "end": 174, - "name": "SWAP2" - }, - { - "begin": 146, - "end": 174, - "name": "POP" - }, - { - "begin": 146, - "end": 174, - "name": "POP" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH", - "value": "40" - }, - { - "begin": 146, - "end": 174, - "name": "MLOAD" - }, - { - "begin": 146, - "end": 174, - "name": "DUP1" - }, - { - "begin": 146, - "end": 174, - "name": "SWAP2" - }, - { - "begin": 146, - "end": 174, - "name": "SUB" - }, - { - "begin": 146, - "end": 174, - "name": "SWAP1" - }, - { - "begin": 146, - "end": 174, - "name": "RETURN" - }, - { - "begin": 563, - "end": 715, - "name": "tag", - "value": "5" - }, - { - "begin": 563, - "end": 715, - "name": "JUMPDEST" - }, - { - "begin": 563, - "end": 715, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "16" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "16" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 563, - "end": 715, - "name": "POP" - }, - { - "begin": 563, - "end": 715, - "name": "PUSH [tag]", - "value": "17" - }, - { - "begin": 563, - "end": 715, - "name": "PUSH", - "value": "4" - }, - { - "begin": 563, - "end": 715, - "name": "DUP1" - }, - { - "begin": 563, - "end": 715, - "name": "CALLDATASIZE" - }, - { - "begin": 563, - "end": 715, - "name": "SUB" - }, - { - "begin": 13, - "end": 15, - "name": "PUSH", - "value": "20" - }, - { - "begin": 8, - "end": 11, - "name": "DUP2" - }, - { - "begin": 5, - "end": 16, - "name": "LT" - }, - { - "begin": 2, - "end": 4, - "name": "ISZERO" - }, - { - "begin": 2, - "end": 4, - "name": "PUSH [tag]", - "value": "18" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPI" - }, - { - "begin": 29, - "end": 30, - "name": "PUSH", - "value": "0" - }, - { - "begin": 26, - "end": 27, - "name": "DUP1" - }, - { - "begin": 19, - "end": 31, - "name": "REVERT" - }, - { - "begin": 2, - "end": 4, - "name": "tag", - "value": "18" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPDEST" - }, - { - "begin": 563, - "end": 715, - "name": "DUP2" - }, - { - "begin": 563, - "end": 715, - "name": "ADD" - }, - { - "begin": 563, - "end": 715, - "name": "SWAP1" - }, - { - "begin": 563, - "end": 715, - "name": "DUP1" - }, - { - "begin": 563, - "end": 715, - "name": "DUP1" - }, - { - "begin": 563, - "end": 715, - "name": "CALLDATALOAD" - }, - { - "begin": 563, - "end": 715, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 563, - "end": 715, - "name": "AND" - }, - { - "begin": 563, - "end": 715, - "name": "SWAP1" - }, - { - "begin": 563, - "end": 715, - "name": "PUSH", - "value": "20" - }, - { - "begin": 563, - "end": 715, - "name": "ADD" - }, - { - "begin": 563, - "end": 715, - "name": "SWAP1" - }, - { - "begin": 563, - "end": 715, - "name": "SWAP3" - }, - { - "begin": 563, - "end": 715, - "name": "SWAP2" - }, - { - "begin": 563, - "end": 715, - "name": "SWAP1" - }, - { - "begin": 563, - "end": 715, - "name": "POP" - }, - { - "begin": 563, - "end": 715, - "name": "POP" - }, - { - "begin": 563, - "end": 715, - "name": "POP" - }, - { - "begin": 563, - "end": 715, - "name": "PUSH [tag]", - "value": "19" - }, - { - "begin": 563, - "end": 715, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 563, - "end": 715, - "name": "tag", - "value": "17" - }, - { - "begin": 563, - "end": 715, - "name": "JUMPDEST" - }, - { - "begin": 563, - "end": 715, - "name": "STOP" - }, - { - "begin": 449, - "end": 559, - "name": "tag", - "value": "6" - }, - { - "begin": 449, - "end": 559, - "name": "JUMPDEST" - }, - { - "begin": 449, - "end": 559, - "name": "PUSH [tag]", - "value": "20" - }, - { - "begin": 449, - "end": 559, - "name": "PUSH [tag]", - "value": "21" - }, - { - "begin": 449, - "end": 559, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 449, - "end": 559, - "name": "tag", - "value": "20" - }, - { - "begin": 449, - "end": 559, - "name": "JUMPDEST" - }, - { - "begin": 449, - "end": 559, - "name": "STOP" - }, - { - "begin": 823, - "end": 935, - "name": "tag", - "value": "7" - }, - { - "begin": 823, - "end": 935, - "name": "JUMPDEST" - }, - { - "begin": 823, - "end": 935, - "name": "CALLVALUE" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "22" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 30, - "end": 31, - "name": "PUSH", - "value": "0" - }, - { - "begin": 27, - "end": 28, - "name": "DUP1" - }, - { - "begin": 20, - "end": 32, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "22" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 823, - "end": 935, - "name": "POP" - }, - { - "begin": 823, - "end": 935, - "name": "PUSH [tag]", - "value": "23" - }, - { - "begin": 823, - "end": 935, - "name": "PUSH", - "value": "4" - }, - { - "begin": 823, - "end": 935, - "name": "DUP1" - }, - { - "begin": 823, - "end": 935, - "name": "CALLDATASIZE" - }, - { - "begin": 823, - "end": 935, - "name": "SUB" - }, - { - "begin": 13, - "end": 15, - "name": "PUSH", - "value": "20" - }, - { - "begin": 8, - "end": 11, - "name": "DUP2" - }, - { - "begin": 5, - "end": 16, - "name": "LT" - }, - { - "begin": 2, - "end": 4, - "name": "ISZERO" - }, - { - "begin": 2, - "end": 4, - "name": "PUSH [tag]", - "value": "24" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPI" - }, - { - "begin": 29, - "end": 30, - "name": "PUSH", - "value": "0" - }, - { - "begin": 26, - "end": 27, - "name": "DUP1" - }, - { - "begin": 19, - "end": 31, - "name": "REVERT" - }, - { - "begin": 2, - "end": 4, - "name": "tag", - "value": "24" - }, - { - "begin": 2, - "end": 4, - "name": "JUMPDEST" - }, - { - "begin": 823, - "end": 935, - "name": "DUP2" - }, - { - "begin": 823, - "end": 935, - "name": "ADD" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP1" - }, - { - "begin": 823, - "end": 935, - "name": "DUP1" - }, - { - "begin": 823, - "end": 935, - "name": "DUP1" - }, - { - "begin": 823, - "end": 935, - "name": "CALLDATALOAD" - }, - { - "begin": 823, - "end": 935, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 823, - "end": 935, - "name": "AND" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP1" - }, - { - "begin": 823, - "end": 935, - "name": "PUSH", - "value": "20" - }, - { - "begin": 823, - "end": 935, - "name": "ADD" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP1" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP3" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP2" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP1" - }, - { - "begin": 823, - "end": 935, - "name": "POP" - }, - { - "begin": 823, - "end": 935, - "name": "POP" - }, - { - "begin": 823, - "end": 935, - "name": "POP" - }, - { - "begin": 823, - "end": 935, - "name": "PUSH [tag]", - "value": "25" - }, - { - "begin": 823, - "end": 935, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 823, - "end": 935, - "name": "tag", - "value": "23" - }, - { - "begin": 823, - "end": 935, - "name": "JUMPDEST" - }, - { - "begin": 823, - "end": 935, - "name": "PUSH", - "value": "40" - }, - { - "begin": 823, - "end": 935, - "name": "MLOAD" - }, - { - "begin": 823, - "end": 935, - "name": "DUP1" - }, - { - "begin": 823, - "end": 935, - "name": "DUP3" - }, - { - "begin": 823, - "end": 935, - "name": "DUP2" - }, - { - "begin": 823, - "end": 935, - "name": "MSTORE" - }, - { - "begin": 823, - "end": 935, - "name": "PUSH", - "value": "20" - }, - { - "begin": 823, - "end": 935, - "name": "ADD" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP2" - }, - { - "begin": 823, - "end": 935, - "name": "POP" - }, - { - "begin": 823, - "end": 935, - "name": "POP" - }, - { - "begin": 823, - "end": 935, - "name": "PUSH", - "value": "40" - }, - { - "begin": 823, - "end": 935, - "name": "MLOAD" - }, - { - "begin": 823, - "end": 935, - "name": "DUP1" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP2" - }, - { - "begin": 823, - "end": 935, - "name": "SUB" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP1" - }, - { - "begin": 823, - "end": 935, - "name": "RETURN" - }, - { - "begin": 200, - "end": 299, - "name": "tag", - "value": "9" - }, - { - "begin": 200, - "end": 299, - "name": "JUMPDEST" - }, - { - "begin": 248, - "end": 258, - "name": "CALLER" - }, - { - "begin": 240, - "end": 245, - "name": "PUSH", - "value": "1" - }, - { - "begin": 240, - "end": 245, - "name": "PUSH", - "value": "0" - }, - { - "begin": 240, - "end": 258, - "name": "PUSH", - "value": "100" - }, - { - "begin": 240, - "end": 258, - "name": "EXP" - }, - { - "begin": 240, - "end": 258, - "name": "DUP2" - }, - { - "begin": 240, - "end": 258, - "name": "SLOAD" - }, - { - "begin": 240, - "end": 258, - "name": "DUP2" - }, - { - "begin": 240, - "end": 258, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 240, - "end": 258, - "name": "MUL" - }, - { - "begin": 240, - "end": 258, - "name": "NOT" - }, - { - "begin": 240, - "end": 258, - "name": "AND" - }, - { - "begin": 240, - "end": 258, - "name": "SWAP1" - }, - { - "begin": 240, - "end": 258, - "name": "DUP4" - }, - { - "begin": 240, - "end": 258, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 240, - "end": 258, - "name": "AND" - }, - { - "begin": 240, - "end": 258, - "name": "MUL" - }, - { - "begin": 240, - "end": 258, - "name": "OR" - }, - { - "begin": 240, - "end": 258, - "name": "SWAP1" - }, - { - "begin": 240, - "end": 258, - "name": "SSTORE" - }, - { - "begin": 240, - "end": 258, - "name": "POP" - }, - { - "begin": 285, - "end": 294, - "name": "CALLVALUE" - }, - { - "begin": 264, - "end": 275, - "name": "PUSH", - "value": "0" - }, - { - "begin": 264, - "end": 282, - "name": "DUP1" - }, - { - "begin": 276, - "end": 281, - "name": "PUSH", - "value": "1" - }, - { - "begin": 276, - "end": 281, - "name": "PUSH", - "value": "0" - }, - { - "begin": 276, - "end": 281, - "name": "SWAP1" - }, - { - "begin": 276, - "end": 281, - "name": "SLOAD" - }, - { - "begin": 276, - "end": 281, - "name": "SWAP1" - }, - { - "begin": 276, - "end": 281, - "name": "PUSH", - "value": "100" - }, - { - "begin": 276, - "end": 281, - "name": "EXP" - }, - { - "begin": 276, - "end": 281, - "name": "SWAP1" - }, - { - "begin": 276, - "end": 281, - "name": "DIV" - }, - { - "begin": 276, - "end": 281, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 276, - "end": 281, - "name": "AND" - }, - { - "begin": 264, - "end": 282, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 264, - "end": 282, - "name": "AND" - }, - { - "begin": 264, - "end": 282, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 264, - "end": 282, - "name": "AND" - }, - { - "begin": 264, - "end": 282, - "name": "DUP2" - }, - { - "begin": 264, - "end": 282, - "name": "MSTORE" - }, - { - "begin": 264, - "end": 282, - "name": "PUSH", - "value": "20" - }, - { - "begin": 264, - "end": 282, - "name": "ADD" - }, - { - "begin": 264, - "end": 282, - "name": "SWAP1" - }, - { - "begin": 264, - "end": 282, - "name": "DUP2" - }, - { - "begin": 264, - "end": 282, - "name": "MSTORE" - }, - { - "begin": 264, - "end": 282, - "name": "PUSH", - "value": "20" - }, - { - "begin": 264, - "end": 282, - "name": "ADD" - }, - { - "begin": 264, - "end": 282, - "name": "PUSH", - "value": "0" - }, - { - "begin": 264, - "end": 282, - "name": "KECCAK256" - }, - { - "begin": 264, - "end": 294, - "name": "DUP2" - }, - { - "begin": 264, - "end": 294, - "name": "SWAP1" - }, - { - "begin": 264, - "end": 294, - "name": "SSTORE" - }, - { - "begin": 264, - "end": 294, - "name": "POP" - }, - { - "begin": 200, - "end": 299, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 719, - "end": 819, - "name": "tag", - "value": "12" - }, - { - "begin": 719, - "end": 819, - "name": "JUMPDEST" - }, - { - "begin": 369, - "end": 374, - "name": "PUSH", - "value": "1" - }, - { - "begin": 369, - "end": 374, - "name": "PUSH", - "value": "0" - }, - { - "begin": 369, - "end": 374, - "name": "SWAP1" - }, - { - "begin": 369, - "end": 374, - "name": "SLOAD" - }, - { - "begin": 369, - "end": 374, - "name": "SWAP1" - }, - { - "begin": 369, - "end": 374, - "name": "PUSH", - "value": "100" - }, - { - "begin": 369, - "end": 374, - "name": "EXP" - }, - { - "begin": 369, - "end": 374, - "name": "SWAP1" - }, - { - "begin": 369, - "end": 374, - "name": "DIV" - }, - { - "begin": 369, - "end": 374, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 369, - "end": 374, - "name": "AND" - }, - { - "begin": 355, - "end": 374, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 355, - "end": 374, - "name": "AND" - }, - { - "begin": 355, - "end": 365, - "name": "CALLER" - }, - { - "begin": 355, - "end": 374, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 355, - "end": 374, - "name": "AND" - }, - { - "begin": 355, - "end": 374, - "name": "EQ" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH [tag]", - "value": "28" - }, - { - "begin": 333, - "end": 425, - "name": "JUMPI" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH", - "value": "40" - }, - { - "begin": 333, - "end": 425, - "name": "MLOAD" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH", - "value": "8C379A000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 333, - "end": 425, - "name": "DUP2" - }, - { - "begin": 333, - "end": 425, - "name": "MSTORE" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH", - "value": "4" - }, - { - "begin": 333, - "end": 425, - "name": "ADD" - }, - { - "begin": 333, - "end": 425, - "name": "DUP1" - }, - { - "begin": 333, - "end": 425, - "name": "DUP1" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH", - "value": "20" - }, - { - "begin": 333, - "end": 425, - "name": "ADD" - }, - { - "begin": 333, - "end": 425, - "name": "DUP3" - }, - { - "begin": 333, - "end": 425, - "name": "DUP2" - }, - { - "begin": 333, - "end": 425, - "name": "SUB" - }, - { - "begin": 333, - "end": 425, - "name": "DUP3" - }, - { - "begin": 333, - "end": 425, - "name": "MSTORE" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH", - "value": "17" - }, - { - "begin": 333, - "end": 425, - "name": "DUP2" - }, - { - "begin": 333, - "end": 425, - "name": "MSTORE" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH", - "value": "20" - }, - { - "begin": 333, - "end": 425, - "name": "ADD" - }, - { - "begin": 333, - "end": 425, - "name": "DUP1" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH", - "value": "63616C6C6572206973206E6F7420746865206F776E6572000000000000000000" - }, - { - "begin": 333, - "end": 425, - "name": "DUP2" - }, - { - "begin": 333, - "end": 425, - "name": "MSTORE" - }, - { - "begin": 333, - "end": 425, - "name": "POP" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH", - "value": "20" - }, - { - "begin": 333, - "end": 425, - "name": "ADD" - }, - { - "begin": 333, - "end": 425, - "name": "SWAP2" - }, - { - "begin": 333, - "end": 425, - "name": "POP" - }, - { - "begin": 333, - "end": 425, - "name": "POP" - }, - { - "begin": 333, - "end": 425, - "name": "PUSH", - "value": "40" - }, - { - "begin": 333, - "end": 425, - "name": "MLOAD" - }, - { - "begin": 333, - "end": 425, - "name": "DUP1" - }, - { - "begin": 333, - "end": 425, - "name": "SWAP2" - }, - { - "begin": 333, - "end": 425, - "name": "SUB" - }, - { - "begin": 333, - "end": 425, - "name": "SWAP1" - }, - { - "begin": 333, - "end": 425, - "name": "REVERT" - }, - { - "begin": 333, - "end": 425, - "name": "tag", - "value": "28" - }, - { - "begin": 333, - "end": 425, - "name": "JUMPDEST" - }, - { - "begin": 772, - "end": 782, - "name": "CALLER" - }, - { - "begin": 772, - "end": 791, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 772, - "end": 791, - "name": "AND" - }, - { - "begin": 772, - "end": 814, - "name": "PUSH", - "value": "8FC" - }, - { - "begin": 800, - "end": 804, - "name": "ADDRESS" - }, - { - "begin": 792, - "end": 813, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 792, - "end": 813, - "name": "AND" - }, - { - "begin": 792, - "end": 813, - "name": "BALANCE" - }, - { - "begin": 772, - "end": 814, - "name": "SWAP1" - }, - { - "begin": 772, - "end": 814, - "name": "DUP2" - }, - { - "begin": 772, - "end": 814, - "name": "ISZERO" - }, - { - "begin": 772, - "end": 814, - "name": "MUL" - }, - { - "begin": 772, - "end": 814, - "name": "SWAP1" - }, - { - "begin": 772, - "end": 814, - "name": "PUSH", - "value": "40" - }, - { - "begin": 772, - "end": 814, - "name": "MLOAD" - }, - { - "begin": 772, - "end": 814, - "name": "PUSH", - "value": "0" - }, - { - "begin": 772, - "end": 814, - "name": "PUSH", - "value": "40" - }, - { - "begin": 772, - "end": 814, - "name": "MLOAD" - }, - { - "begin": 772, - "end": 814, - "name": "DUP1" - }, - { - "begin": 772, - "end": 814, - "name": "DUP4" - }, - { - "begin": 772, - "end": 814, - "name": "SUB" - }, - { - "begin": 772, - "end": 814, - "name": "DUP2" - }, - { - "begin": 772, - "end": 814, - "name": "DUP6" - }, - { - "begin": 772, - "end": 814, - "name": "DUP9" - }, - { - "begin": 772, - "end": 814, - "name": "DUP9" - }, - { - "begin": 772, - "end": 814, - "name": "CALL" - }, - { - "begin": 772, - "end": 814, - "name": "SWAP4" - }, - { - "begin": 772, - "end": 814, - "name": "POP" - }, - { - "begin": 772, - "end": 814, - "name": "POP" - }, - { - "begin": 772, - "end": 814, - "name": "POP" - }, - { - "begin": 772, - "end": 814, - "name": "POP" - }, - { - "begin": 772, - "end": 814, - "name": "ISZERO" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "30" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 45, - "end": 61, - "name": "RETURNDATASIZE" - }, - { - "begin": 42, - "end": 43, - "name": "PUSH", - "value": "0" - }, - { - "begin": 39, - "end": 40, - "name": "DUP1" - }, - { - "begin": 24, - "end": 62, - "name": "RETURNDATACOPY" - }, - { - "begin": 77, - "end": 93, - "name": "RETURNDATASIZE" - }, - { - "begin": 74, - "end": 75, - "name": "PUSH", - "value": "0" - }, - { - "begin": 67, - "end": 94, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "30" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 772, - "end": 814, - "name": "POP" - }, - { - "begin": 719, - "end": 819, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 146, - "end": 174, - "name": "tag", - "value": "15" - }, - { - "begin": 146, - "end": 174, - "name": "JUMPDEST" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH", - "value": "1" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH", - "value": "0" - }, - { - "begin": 146, - "end": 174, - "name": "SWAP1" - }, - { - "begin": 146, - "end": 174, - "name": "SLOAD" - }, - { - "begin": 146, - "end": 174, - "name": "SWAP1" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH", - "value": "100" - }, - { - "begin": 146, - "end": 174, - "name": "EXP" - }, - { - "begin": 146, - "end": 174, - "name": "SWAP1" - }, - { - "begin": 146, - "end": 174, - "name": "DIV" - }, - { - "begin": 146, - "end": 174, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 146, - "end": 174, - "name": "AND" - }, - { - "begin": 146, - "end": 174, - "name": "DUP2" - }, - { - "begin": 146, - "end": 174, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 563, - "end": 715, - "name": "tag", - "value": "19" - }, - { - "begin": 563, - "end": 715, - "name": "JUMPDEST" - }, - { - "begin": 660, - "end": 661, - "name": "PUSH", - "value": "0" - }, - { - "begin": 635, - "end": 646, - "name": "DUP1" - }, - { - "begin": 635, - "end": 657, - "name": "PUSH", - "value": "0" - }, - { - "begin": 647, - "end": 656, - "name": "DUP4" - }, - { - "begin": 635, - "end": 657, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 635, - "end": 657, - "name": "AND" - }, - { - "begin": 635, - "end": 657, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 635, - "end": 657, - "name": "AND" - }, - { - "begin": 635, - "end": 657, - "name": "DUP2" - }, - { - "begin": 635, - "end": 657, - "name": "MSTORE" - }, - { - "begin": 635, - "end": 657, - "name": "PUSH", - "value": "20" - }, - { - "begin": 635, - "end": 657, - "name": "ADD" - }, - { - "begin": 635, - "end": 657, - "name": "SWAP1" - }, - { - "begin": 635, - "end": 657, - "name": "DUP2" - }, - { - "begin": 635, - "end": 657, - "name": "MSTORE" - }, - { - "begin": 635, - "end": 657, - "name": "PUSH", - "value": "20" - }, - { - "begin": 635, - "end": 657, - "name": "ADD" - }, - { - "begin": 635, - "end": 657, - "name": "PUSH", - "value": "0" - }, - { - "begin": 635, - "end": 657, - "name": "KECCAK256" - }, - { - "begin": 635, - "end": 657, - "name": "SLOAD" - }, - { - "begin": 635, - "end": 661, - "name": "GT" - }, - { - "begin": 627, - "end": 662, - "name": "PUSH [tag]", - "value": "32" - }, - { - "begin": 627, - "end": 662, - "name": "JUMPI" - }, - { - "begin": 627, - "end": 662, - "name": "PUSH", - "value": "0" - }, - { - "begin": 627, - "end": 662, - "name": "DUP1" - }, - { - "begin": 627, - "end": 662, - "name": "REVERT" - }, - { - "begin": 627, - "end": 662, - "name": "tag", - "value": "32" - }, - { - "begin": 627, - "end": 662, - "name": "JUMPDEST" - }, - { - "begin": 668, - "end": 677, - "name": "DUP1" - }, - { - "begin": 668, - "end": 686, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 668, - "end": 686, - "name": "AND" - }, - { - "begin": 668, - "end": 710, - "name": "PUSH", - "value": "8FC" - }, - { - "begin": 687, - "end": 698, - "name": "PUSH", - "value": "0" - }, - { - "begin": 687, - "end": 709, - "name": "DUP1" - }, - { - "begin": 699, - "end": 708, - "name": "DUP5" - }, - { - "begin": 687, - "end": 709, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 687, - "end": 709, - "name": "AND" - }, - { - "begin": 687, - "end": 709, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 687, - "end": 709, - "name": "AND" - }, - { - "begin": 687, - "end": 709, - "name": "DUP2" - }, - { - "begin": 687, - "end": 709, - "name": "MSTORE" - }, - { - "begin": 687, - "end": 709, - "name": "PUSH", - "value": "20" - }, - { - "begin": 687, - "end": 709, - "name": "ADD" - }, - { - "begin": 687, - "end": 709, - "name": "SWAP1" - }, - { - "begin": 687, - "end": 709, - "name": "DUP2" - }, - { - "begin": 687, - "end": 709, - "name": "MSTORE" - }, - { - "begin": 687, - "end": 709, - "name": "PUSH", - "value": "20" - }, - { - "begin": 687, - "end": 709, - "name": "ADD" - }, - { - "begin": 687, - "end": 709, - "name": "PUSH", - "value": "0" - }, - { - "begin": 687, - "end": 709, - "name": "KECCAK256" - }, - { - "begin": 687, - "end": 709, - "name": "SLOAD" - }, - { - "begin": 668, - "end": 710, - "name": "SWAP1" - }, - { - "begin": 668, - "end": 710, - "name": "DUP2" - }, - { - "begin": 668, - "end": 710, - "name": "ISZERO" - }, - { - "begin": 668, - "end": 710, - "name": "MUL" - }, - { - "begin": 668, - "end": 710, - "name": "SWAP1" - }, - { - "begin": 668, - "end": 710, - "name": "PUSH", - "value": "40" - }, - { - "begin": 668, - "end": 710, - "name": "MLOAD" - }, - { - "begin": 668, - "end": 710, - "name": "PUSH", - "value": "0" - }, - { - "begin": 668, - "end": 710, - "name": "PUSH", - "value": "40" - }, - { - "begin": 668, - "end": 710, - "name": "MLOAD" - }, - { - "begin": 668, - "end": 710, - "name": "DUP1" - }, - { - "begin": 668, - "end": 710, - "name": "DUP4" - }, - { - "begin": 668, - "end": 710, - "name": "SUB" - }, - { - "begin": 668, - "end": 710, - "name": "DUP2" - }, - { - "begin": 668, - "end": 710, - "name": "DUP6" - }, - { - "begin": 668, - "end": 710, - "name": "DUP9" - }, - { - "begin": 668, - "end": 710, - "name": "DUP9" - }, - { - "begin": 668, - "end": 710, - "name": "CALL" - }, - { - "begin": 668, - "end": 710, - "name": "SWAP4" - }, - { - "begin": 668, - "end": 710, - "name": "POP" - }, - { - "begin": 668, - "end": 710, - "name": "POP" - }, - { - "begin": 668, - "end": 710, - "name": "POP" - }, - { - "begin": 668, - "end": 710, - "name": "POP" - }, - { - "begin": 668, - "end": 710, - "name": "ISZERO" - }, - { - "begin": 8, - "end": 17, - "name": "DUP1" - }, - { - "begin": 5, - "end": 7, - "name": "ISZERO" - }, - { - "begin": 5, - "end": 7, - "name": "PUSH [tag]", - "value": "33" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPI" - }, - { - "begin": 45, - "end": 61, - "name": "RETURNDATASIZE" - }, - { - "begin": 42, - "end": 43, - "name": "PUSH", - "value": "0" - }, - { - "begin": 39, - "end": 40, - "name": "DUP1" - }, - { - "begin": 24, - "end": 62, - "name": "RETURNDATACOPY" - }, - { - "begin": 77, - "end": 93, - "name": "RETURNDATASIZE" - }, - { - "begin": 74, - "end": 75, - "name": "PUSH", - "value": "0" - }, - { - "begin": 67, - "end": 94, - "name": "REVERT" - }, - { - "begin": 5, - "end": 7, - "name": "tag", - "value": "33" - }, - { - "begin": 5, - "end": 7, - "name": "JUMPDEST" - }, - { - "begin": 668, - "end": 710, - "name": "POP" - }, - { - "begin": 563, - "end": 715, - "name": "POP" - }, - { - "begin": 563, - "end": 715, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 449, - "end": 559, - "name": "tag", - "value": "21" - }, - { - "begin": 449, - "end": 559, - "name": "JUMPDEST" - }, - { - "begin": 516, - "end": 554, - "name": "PUSH [tag]", - "value": "35" - }, - { - "begin": 544, - "end": 553, - "name": "CALLVALUE" - }, - { - "begin": 516, - "end": 527, - "name": "PUSH", - "value": "0" - }, - { - "begin": 516, - "end": 539, - "name": "DUP1" - }, - { - "begin": 528, - "end": 538, - "name": "CALLER" - }, - { - "begin": 516, - "end": 539, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 516, - "end": 539, - "name": "AND" - }, - { - "begin": 516, - "end": 539, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 516, - "end": 539, - "name": "AND" - }, - { - "begin": 516, - "end": 539, - "name": "DUP2" - }, - { - "begin": 516, - "end": 539, - "name": "MSTORE" - }, - { - "begin": 516, - "end": 539, - "name": "PUSH", - "value": "20" - }, - { - "begin": 516, - "end": 539, - "name": "ADD" - }, - { - "begin": 516, - "end": 539, - "name": "SWAP1" - }, - { - "begin": 516, - "end": 539, - "name": "DUP2" - }, - { - "begin": 516, - "end": 539, - "name": "MSTORE" - }, - { - "begin": 516, - "end": 539, - "name": "PUSH", - "value": "20" - }, - { - "begin": 516, - "end": 539, - "name": "ADD" - }, - { - "begin": 516, - "end": 539, - "name": "PUSH", - "value": "0" - }, - { - "begin": 516, - "end": 539, - "name": "KECCAK256" - }, - { - "begin": 516, - "end": 539, - "name": "SLOAD" - }, - { - "begin": 516, - "end": 543, - "name": "PUSH [tag]", - "value": "36" - }, - { - "begin": 516, - "end": 543, - "name": "SWAP1" - }, - { - "begin": 516, - "end": 554, - "name": "SWAP2" - }, - { - "begin": 516, - "end": 554, - "name": "SWAP1" - }, - { - "begin": 516, - "end": 554, - "name": "PUSH", - "value": "FFFFFFFF" - }, - { - "begin": 516, - "end": 554, - "name": "AND" - }, - { - "begin": 516, - "end": 554, - "name": "JUMP", - "value": "[in]" - }, - { - "begin": 516, - "end": 554, - "name": "tag", - "value": "35" - }, - { - "begin": 516, - "end": 554, - "name": "JUMPDEST" - }, - { - "begin": 490, - "end": 501, - "name": "PUSH", - "value": "0" - }, - { - "begin": 490, - "end": 513, - "name": "DUP1" - }, - { - "begin": 502, - "end": 512, - "name": "CALLER" - }, - { - "begin": 490, - "end": 513, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 490, - "end": 513, - "name": "AND" - }, - { - "begin": 490, - "end": 513, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 490, - "end": 513, - "name": "AND" - }, - { - "begin": 490, - "end": 513, - "name": "DUP2" - }, - { - "begin": 490, - "end": 513, - "name": "MSTORE" - }, - { - "begin": 490, - "end": 513, - "name": "PUSH", - "value": "20" - }, - { - "begin": 490, - "end": 513, - "name": "ADD" - }, - { - "begin": 490, - "end": 513, - "name": "SWAP1" - }, - { - "begin": 490, - "end": 513, - "name": "DUP2" - }, - { - "begin": 490, - "end": 513, - "name": "MSTORE" - }, - { - "begin": 490, - "end": 513, - "name": "PUSH", - "value": "20" - }, - { - "begin": 490, - "end": 513, - "name": "ADD" - }, - { - "begin": 490, - "end": 513, - "name": "PUSH", - "value": "0" - }, - { - "begin": 490, - "end": 513, - "name": "KECCAK256" - }, - { - "begin": 490, - "end": 554, - "name": "DUP2" - }, - { - "begin": 490, - "end": 554, - "name": "SWAP1" - }, - { - "begin": 490, - "end": 554, - "name": "SSTORE" - }, - { - "begin": 490, - "end": 554, - "name": "POP" - }, - { - "begin": 449, - "end": 559, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 823, - "end": 935, - "name": "tag", - "value": "25" - }, - { - "begin": 823, - "end": 935, - "name": "JUMPDEST" - }, - { - "begin": 889, - "end": 893, - "name": "PUSH", - "value": "0" - }, - { - "begin": 908, - "end": 919, - "name": "DUP1" - }, - { - "begin": 908, - "end": 930, - "name": "PUSH", - "value": "0" - }, - { - "begin": 920, - "end": 929, - "name": "DUP4" - }, - { - "begin": 908, - "end": 930, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 908, - "end": 930, - "name": "AND" - }, - { - "begin": 908, - "end": 930, - "name": "PUSH", - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 908, - "end": 930, - "name": "AND" - }, - { - "begin": 908, - "end": 930, - "name": "DUP2" - }, - { - "begin": 908, - "end": 930, - "name": "MSTORE" - }, - { - "begin": 908, - "end": 930, - "name": "PUSH", - "value": "20" - }, - { - "begin": 908, - "end": 930, - "name": "ADD" - }, - { - "begin": 908, - "end": 930, - "name": "SWAP1" - }, - { - "begin": 908, - "end": 930, - "name": "DUP2" - }, - { - "begin": 908, - "end": 930, - "name": "MSTORE" - }, - { - "begin": 908, - "end": 930, - "name": "PUSH", - "value": "20" - }, - { - "begin": 908, - "end": 930, - "name": "ADD" - }, - { - "begin": 908, - "end": 930, - "name": "PUSH", - "value": "0" - }, - { - "begin": 908, - "end": 930, - "name": "KECCAK256" - }, - { - "begin": 908, - "end": 930, - "name": "SLOAD" - }, - { - "begin": 901, - "end": 930, - "name": "SWAP1" - }, - { - "begin": 901, - "end": 930, - "name": "POP" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP2" - }, - { - "begin": 823, - "end": 935, - "name": "SWAP1" - }, - { - "begin": 823, - "end": 935, - "name": "POP" - }, - { - "begin": 823, - "end": 935, - "name": "JUMP", - "value": "[out]" - }, - { - "begin": 834, - "end": 1010, - "name": "tag", - "value": "36" - }, - { - "begin": 834, - "end": 1010, - "name": "JUMPDEST" - }, - { - "begin": 892, - "end": 899, - "name": "PUSH", - "value": "0" - }, - { - "begin": 911, - "end": 920, - "name": "DUP1" - }, - { - "begin": 927, - "end": 928, - "name": "DUP3" - }, - { - "begin": 923, - "end": 924, - "name": "DUP5" - }, - { - "begin": 923, - "end": 928, - "name": "ADD" - }, - { - "begin": 911, - "end": 928, - "name": "SWAP1" - }, - { - "begin": 911, - "end": 928, - "name": "POP" - }, - { - "begin": 951, - "end": 952, - "name": "DUP4" - }, - { - "begin": 946, - "end": 947, - "name": "DUP2" - }, - { - "begin": 946, - "end": 952, - "name": "LT" - }, - { - "begin": 946, - "end": 952, - "name": "ISZERO" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH [tag]", - "value": "39" - }, - { - "begin": 938, - "end": 984, - "name": "JUMPI" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "40" - }, - { - "begin": 938, - "end": 984, - "name": "MLOAD" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "8C379A000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "4" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "20" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP3" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "SUB" - }, - { - "begin": 938, - "end": 984, - "name": "DUP3" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "1B" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "20" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "536166654D6174683A206164646974696F6E206F766572666C6F770000000000" - }, - { - "begin": 938, - "end": 984, - "name": "DUP2" - }, - { - "begin": 938, - "end": 984, - "name": "MSTORE" - }, - { - "begin": 938, - "end": 984, - "name": "POP" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "20" - }, - { - "begin": 938, - "end": 984, - "name": "ADD" - }, - { - "begin": 938, - "end": 984, - "name": "SWAP2" - }, - { - "begin": 938, - "end": 984, - "name": "POP" - }, - { - "begin": 938, - "end": 984, - "name": "POP" - }, - { - "begin": 938, - "end": 984, - "name": "PUSH", - "value": "40" - }, - { - "begin": 938, - "end": 984, - "name": "MLOAD" - }, - { - "begin": 938, - "end": 984, - "name": "DUP1" - }, - { - "begin": 938, - "end": 984, - "name": "SWAP2" - }, - { - "begin": 938, - "end": 984, - "name": "SUB" - }, - { - "begin": 938, - "end": 984, - "name": "SWAP1" - }, - { - "begin": 938, - "end": 984, - "name": "REVERT" - }, - { - "begin": 938, - "end": 984, - "name": "tag", - "value": "39" - }, - { - "begin": 938, - "end": 984, - "name": "JUMPDEST" - }, - { - "begin": 1002, - "end": 1003, - "name": "DUP1" - }, - { - "begin": 995, - "end": 1003, - "name": "SWAP2" - }, - { - "begin": 995, - "end": 1003, - "name": "POP" - }, - { - "begin": 995, - "end": 1003, - "name": "POP" - }, - { - "begin": 834, - "end": 1010, - "name": "SWAP3" - }, - { - "begin": 834, - "end": 1010, - "name": "SWAP2" - }, - { - "begin": 834, - "end": 1010, - "name": "POP" - }, - { - "begin": 834, - "end": 1010, - "name": "POP" - }, - { - "begin": 834, - "end": 1010, - "name": "JUMP", - "value": "[out]" - } - ] - } - } - }, - "methodIdentifiers": { - "Fal1out()": "6fab5ddf", - "allocate()": "abaa9916", - "allocatorBalance(address)": "ffd40b56", - "collectAllocations()": "8aa96f38", - "owner()": "8da5cb5b", - "sendAllocation(address)": "a2dea26f" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.5.12+commit.7709ece9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"Fal1out\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"allocate\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"allocator\",\"type\":\"address\"}],\"name\":\"allocatorBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"collectAllocations\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"allocator\",\"type\":\"address\"}],\"name\":\"sendAllocation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"browser/Fallout.sol\":\"Fallout\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"browser/Fallout.sol\":{\"keccak256\":\"0x3e98b9d316e26b66db2ad8a57532a58f4c1c352f87859863d719cea4164b719d\",\"urls\":[\"bzz-raw://e6c562e74cc92f8e7487768f0a534cf591f04d21b4d40a285b35fc5267562af3\",\"dweb:/ipfs/QmafXnUVPwjfwcQoYmMkChGQzPgfeSuqLHp81kkZBqn7jq\"]},\"browser/SafeMath.sol\":{\"keccak256\":\"0x440e126d35c767f263ad60029d68b9f1a946caedcc51ae10266f28e305fffe40\",\"urls\":[\"bzz-raw://87eaf2dfa0a988fd31e8b44703ffbf21a99a8c663263c2fad2c26dc9a120d5c3\",\"dweb:/ipfs/QmenpSEG3kX4SbXDuDVDi7EwHgSrRTYrbEdJ1H2H14HxGZ\"]}},\"version\":1}", - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/apps/remixdocgen/src/utils/template.ts b/apps/remixdocgen/src/utils/template.ts deleted file mode 100644 index 2aa7dcdeba..0000000000 --- a/apps/remixdocgen/src/utils/template.ts +++ /dev/null @@ -1,151 +0,0 @@ -import { - FunctionDocumentation, - TemplateDoc, - MethodDoc, - ContractDocumentation, - ParameterDocumentation, -} from "./types"; -type HTMLContent = string; - -export const htmlTemplate = (content: HTMLContent) => { - return ` - - - - - - - - - ${content} - - -`; -}; - -export const template = ( - name: string, - contractDoc: ContractDocumentation, - functions: FunctionDocumentation[] -) => ` - - -
- - ${functions.length === 0 - ? "No contract to display" - : renderHeader(name, contractDoc) - } - - ${functions - .map( - (item) => ` -
-
${item.name}
- - ${getMethodDetails(item.devdoc)} - - ${renderParameterDocumentation(item.inputs)} - -

Returns:

- - ${renderParameterDocumentation(item.outputs)} - ` - ) - .join("\n")} - -
-`; - -const devMethodDocTemplate: Partial> = { - author: (author: string) => `

Created By ${author}

`, - details: (details: string) => `

${details}

`, - return: (value: string) => `

Return : ${value}

`, - notice: (notice: string) => (notice ? `

${notice}

` : ""), - // returns: () => '', // Implemented by getParams() - params: () => "", // Implemented by getParams() -}; - -export const renderHeader = ( - name: string, - contractDoc: ContractDocumentation -) => ` -

${name} ${contractDoc.title ? `: ${contractDoc.title}` : "" - }

- - ${contractDoc.notice ? `

${contractDoc.notice}

` : ""} - - ${contractDoc.author ? `

Author: ${contractDoc.author}

` : ""} - -
-

Functions

-`; - -export const renderParameterDocumentation = ( - parameters: ParameterDocumentation[] -) => - `${parameters.length > 0 - ? ` - - - - - - - - - ${parameters - .map( - (output) => ` - - - - ` - ) - .join("")} - -
NameTypeDescription
${output.name}${output.type}${output.description}
` - : "

No parameters

" - }`; - -export const getMethodDetails = (devMethod?: Partial) => { - const finalResult = !devMethod - ? "

**Add Documentation for the method here**

" - : Object.keys(devMethod) - .filter((key) => key !== "params") - .map((key) => { - const funcToGetTemplate = (devMethodDocTemplate as any)[key]; - - if (!funcToGetTemplate) { - return ""; - } - const funcParameter = (devMethod as any)[key]; - const result = funcToGetTemplate(funcParameter); - return result; - }) - .join("\n"); - - console.log("finalResult", finalResult); - return finalResult; -}; diff --git a/apps/remixdocgen/src/utils/types.ts b/apps/remixdocgen/src/utils/types.ts deleted file mode 100644 index f0d91c5588..0000000000 --- a/apps/remixdocgen/src/utils/types.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { - UserMethodDoc, - DevMethodDoc, - DeveloperDocumentation, - UserDocumentation, -} from "@remixproject/plugin-api/lib/compiler"; - -export interface MethodsDocumentation { - [x: string]: UserMethodDoc | DevMethodDoc; -} - -export interface ContractDocumentation { - methods: MethodsDocumentation; - author: string; - title: string; - details: string; - notice: string; -} - -export type MethodDoc = DevMethodDoc & UserMethodDoc; - -export type TemplateDoc = { [key in keyof T]: (...params: any[]) => string }; - -// Contract -export type ContractDoc = DeveloperDocumentation & UserDocumentation; - -export interface FunctionDocumentation { - name: string; - type: string; - devdoc?: Partial; - inputs: ParameterDocumentation[]; - outputs: ParameterDocumentation[]; -} - -export interface ParameterDocumentation { - name: string; - type: string; - description: string; -} - -export type HTMLContent = string; diff --git a/apps/remixdocgen/src/utils/utils.test.ts b/apps/remixdocgen/src/utils/utils.test.ts deleted file mode 100644 index 04d204a150..0000000000 --- a/apps/remixdocgen/src/utils/utils.test.ts +++ /dev/null @@ -1,209 +0,0 @@ -// tslint:disable-next-line -const open = require("open"); - -import { - getContractDoc, - mergeParametersWithDevdoc, - getFunctionDocumentation, - getContractDocumentation, -} from "./utils"; -import { FunctionDescription } from "@remixproject/plugin"; -import { buildFakeArtifactWithComments, buildFakeABIParameter } from "./faker"; - -jest.setTimeout(10000); - -describe("Publisher tests", () => { - describe("getContractDocumentation", () => { - test("getContractDocumentation", () => { - const result = getContractDocumentation(buildFakeArtifactWithComments()); - - const result2 = { - methods: { - "age(uint256)": { - author: "Mary A. Botanist", - details: - "The Alexandr N. Tetearing algorithm could increase precision", - params: [Object], - return: "age in years, rounded up for partial years", - }, - }, - notice: "You can use this contract for only the most basic simulation", - author: "Larry A. Gardner", - details: - "All function calls are currently implemented without side effects", - title: "A simulator for trees", - }; - - expect(result).toBeDefined(); - }); - - test('getContract with ballot', () => { - const contract = { - "abi": - [{ - "inputs": - [{ "internalType": "bytes32[]", "name": "proposalNames", "type": "bytes32[]" }], "stateMutability": "nonpayable", "type": "constructor" - }, { "inputs": [], "name": "chairperson", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "to", "type": "address" }], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "voter", "type": "address" }], "name": "giveRightToVote", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "name": "proposals", "outputs": [{ "internalType": "bytes32", "name": "name", "type": "bytes32" }, { "internalType": "uint256", "name": "voteCount", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "proposal", "type": "uint256" }], "name": "vote", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "", "type": "address" }], "name": "voters", "outputs": [{ "internalType": "uint256", "name": "weight", "type": "uint256" }, { "internalType": "bool", "name": "voted", "type": "bool" }, { "internalType": "address", "name": "delegate", "type": "address" }, { "internalType": "uint256", "name": "vote", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "winnerName", "outputs": [{ "internalType": "bytes32", "name": "winnerName_", "type": "bytes32" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "winningProposal", "outputs": [{ "internalType": "uint256", "name": "winningProposal_", "type": "uint256" }], "stateMutability": "view", "type": "function" }], "devdoc": - { - "details": - "Implements voting process along with vote delegation", - "methods": - { - "constructor": - { - "details": "Create a new ballot to choose one of 'proposalNames'.", - "params": { "proposalNames": "names of proposals" } - }, "delegate(address)": { "details": "Delegate your vote to the voter 'to'.", "params": { "to": "address to which vote is delegated" } }, "giveRightToVote(address)": { "details": "Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.", "params": { "voter": "address of voter" } }, "vote(uint256)": { "details": "Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.", "params": { "proposal": "index of proposal in the proposals array" } }, "winnerName()": { "details": "Calls winningProposal() function to get the index of the winner contained in the proposals array and then", "returns": { "winnerName_": "the name of the winner" } }, "winningProposal()": { "details": "Computes the winning proposal taking all previous votes into account.", "returns": { "winningProposal_": "index of winning proposal in the proposals array" } } - }, "title": "Ballot" - }, - "evm": { "bytecode": { "linkReferences": {}, "object": "608060405234801561001057600080fd5b50604051610e27380380610e278339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b8382019150602082018581111561006957600080fd5b825186602082028301116401000000008211171561008657600080fd5b8083526020830192505050908051906020019060200280838360005b838110156100bd5780820151818401526020810190506100a2565b50505050905001604052505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555060008090505b81518110156101f8576002604051806040016040528084848151811061019a57fe5b6020026020010151815260200160008152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550508080600101915050610178565b5050610c1e806102096000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063609ff1bd1161005b578063609ff1bd146101925780639e7b8d61146101b0578063a3ec138d146101f4578063e2ba53f01461029157610088565b80630121b93f1461008d578063013cf08b146100bb5780632e4176cf146101045780635c19a95c1461014e575b600080fd5b6100b9600480360360208110156100a357600080fd5b81019080803590602001909291905050506102af565b005b6100e7600480360360208110156100d157600080fd5b810190808035906020019092919050505061044c565b604051808381526020018281526020019250505060405180910390f35b61010c61047d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101906004803603602081101561016457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104a2565b005b61019a6108be565b6040518082815260200191505060405180910390f35b6101f2600480360360208110156101c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610935565b005b6102366004803603602081101561020a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b36565b60405180858152602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b610299610b93565b6040518082815260200191505060405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154141561036d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f486173206e6f20726967687420746f20766f746500000000000000000000000081525060200191505060405180910390fd5b8060010160009054906101000a900460ff16156103f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f416c726561647920766f7465642e00000000000000000000000000000000000081525060200191505060405180910390fd5b60018160010160006101000a81548160ff02191690831515021790555081816002018190555080600001546002838154811061042a57fe5b9060005260206000209060020201600101600082825401925050819055505050565b6002818154811061045957fe5b90600052602060002090600202016000915090508060000154908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff161561056a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920766f7465642e000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e000081525060200191505060405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107af57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f466f756e64206c6f6f7020696e2064656c65676174696f6e2e0000000000000081525060200191505060405180910390fd5b61060d565b60018160010160006101000a81548160ff021916908315150217905550818160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156108a2578160000154600282600201548154811061087f57fe5b9060005260206000209060020201600101600082825401925050819055506108b9565b816000015481600001600082825401925050819055505b505050565b6000806000905060008090505b6002805490508110156109305781600282815481106108e657fe5b9060005260206000209060020201600101541115610923576002818154811061090b57fe5b90600052602060002090600202016001015491508092505b80806001019150506108cb565b505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610bc16028913960400191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff1615610a9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f54686520766f74657220616c726561647920766f7465642e000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414610aec57600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905084565b60006002610b9f6108be565b81548110610ba957fe5b90600052602060002090600202016000015490509056fe4f6e6c79206368616972706572736f6e2063616e206769766520726967687420746f20766f74652ea26469706673582212201d31a2570bf00292ffec872de1729aa45f08cd0033271a9509f9a2b12fc3d1d464736f6c63430006060033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xE27 CODESIZE SUB DUP1 PUSH2 0xE27 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x20 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP3 POP POP POP SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH1 0x20 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBD JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA2 JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD PUSH1 0x40 MSTORE POP POP POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x1 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 SWAP1 POP JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1F8 JUMPI PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x19A JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x178 JUMP JUMPDEST POP POP PUSH2 0xC1E DUP1 PUSH2 0x209 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x609FF1BD GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x609FF1BD EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x9E7B8D61 EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xA3EC138D EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0xE2BA53F0 EQ PUSH2 0x291 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x121B93F EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x13CF08B EQ PUSH2 0xBB JUMPI DUP1 PUSH4 0x2E4176CF EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0x5C19A95C EQ PUSH2 0x14E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2AF JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x44C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10C PUSH2 0x47D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x190 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x4A2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19A PUSH2 0x8BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F2 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x935 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x236 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x20A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xB36 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP5 POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x299 PUSH2 0xB93 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD EQ ISZERO PUSH2 0x36D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x486173206E6F20726967687420746F20766F7465000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3F2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x416C726561647920766F7465642E000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x42A JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x459 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x56A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520616C726561647920766F7465642E0000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x60C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x53656C662D64656C65676174696F6E20697320646973616C6C6F7765642E0000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7AF JUMPI PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x466F756E64206C6F6F7020696E2064656C65676174696F6E2E00000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x60D JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x8A2 JUMPI DUP2 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP3 PUSH1 0x2 ADD SLOAD DUP2 SLOAD DUP2 LT PUSH2 0x87F JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x8B9 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 DUP1 SWAP1 POP JUMPDEST PUSH1 0x2 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x930 JUMPI DUP2 PUSH1 0x2 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x8E6 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD GT ISZERO PUSH2 0x923 JUMPI PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x90B JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP DUP1 SWAP3 POP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x8CB JUMP JUMPDEST POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x9DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0xBC1 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xA9D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x54686520766F74657220616C726561647920766F7465642E0000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ PUSH2 0xAEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH2 0xB9F PUSH2 0x8BE JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xBA9 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP1 JUMP INVALID 0x4F PUSH15 0x6C79206368616972706572736F6E20 PUSH4 0x616E2067 PUSH10 0x76652072696768742074 PUSH16 0x20766F74652EA2646970667358221220 SAR BALANCE LOG2 JUMPI SIGNEXTEND CREATE MUL SWAP3 SELFDESTRUCT 0xEC DUP8 0x2D 0xE1 PUSH19 0x9AA45F08CD0033271A9509F9A2B12FC3D1D464 PUSH20 0x6F6C634300060600330000000000000000000000 ", "sourceMap": "121:4369:0:-:0;;;922:488;5:9:-1;2:2;;;27:1;24;17:12;2:2;922:488:0;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;922:488:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;385:12;380:3;373:25;421:4;416:3;412:14;405:21;;0:433;;922:488:0;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;922:488:0;;;;;;;;;;;997:10;983:11;;:24;;;;;;;;;;;;;;;;;;1046:1;1017:6;:19;1024:11;;;;;;;;;;;1017:19;;;;;;;;;;;;;;;:26;;:30;;;;1063:6;1072:1;1063:10;;1058:346;1079:13;:20;1075:1;:24;1058:346;;;1283:9;1298:94;;;;;;;;1331:13;1345:1;1331:16;;;;;;;;;;;;;;1298:94;;;;1376:1;1298:94;;;1283:110;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1283:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1101:3;;;;;;;1058:346;;;;922:488;121:4369;;;;;;" }, "deployedBytecode": { "immutableReferences": {}, "linkReferences": {}, "object": "608060405234801561001057600080fd5b50600436106100885760003560e01c8063609ff1bd1161005b578063609ff1bd146101925780639e7b8d61146101b0578063a3ec138d146101f4578063e2ba53f01461029157610088565b80630121b93f1461008d578063013cf08b146100bb5780632e4176cf146101045780635c19a95c1461014e575b600080fd5b6100b9600480360360208110156100a357600080fd5b81019080803590602001909291905050506102af565b005b6100e7600480360360208110156100d157600080fd5b810190808035906020019092919050505061044c565b604051808381526020018281526020019250505060405180910390f35b61010c61047d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101906004803603602081101561016457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104a2565b005b61019a6108be565b6040518082815260200191505060405180910390f35b6101f2600480360360208110156101c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610935565b005b6102366004803603602081101561020a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b36565b60405180858152602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b610299610b93565b6040518082815260200191505060405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154141561036d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f486173206e6f20726967687420746f20766f746500000000000000000000000081525060200191505060405180910390fd5b8060010160009054906101000a900460ff16156103f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f416c726561647920766f7465642e00000000000000000000000000000000000081525060200191505060405180910390fd5b60018160010160006101000a81548160ff02191690831515021790555081816002018190555080600001546002838154811061042a57fe5b9060005260206000209060020201600101600082825401925050819055505050565b6002818154811061045957fe5b90600052602060002090600202016000915090508060000154908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff161561056a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920766f7465642e000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e000081525060200191505060405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107af57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f466f756e64206c6f6f7020696e2064656c65676174696f6e2e0000000000000081525060200191505060405180910390fd5b61060d565b60018160010160006101000a81548160ff021916908315150217905550818160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156108a2578160000154600282600201548154811061087f57fe5b9060005260206000209060020201600101600082825401925050819055506108b9565b816000015481600001600082825401925050819055505b505050565b6000806000905060008090505b6002805490508110156109305781600282815481106108e657fe5b9060005260206000209060020201600101541115610923576002818154811061090b57fe5b90600052602060002090600202016001015491508092505b80806001019150506108cb565b505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610bc16028913960400191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff1615610a9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f54686520766f74657220616c726561647920766f7465642e000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414610aec57600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905084565b60006002610b9f6108be565b81548110610ba957fe5b90600052602060002090600202016000015490509056fe4f6e6c79206368616972706572736f6e2063616e206769766520726967687420746f20766f74652ea26469706673582212201d31a2570bf00292ffec872de1729aa45f08cd0033271a9509f9a2b12fc3d1d464736f6c63430006060033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x609FF1BD GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x609FF1BD EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x9E7B8D61 EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xA3EC138D EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0xE2BA53F0 EQ PUSH2 0x291 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x121B93F EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x13CF08B EQ PUSH2 0xBB JUMPI DUP1 PUSH4 0x2E4176CF EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0x5C19A95C EQ PUSH2 0x14E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2AF JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x44C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10C PUSH2 0x47D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x190 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x4A2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19A PUSH2 0x8BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F2 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x935 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x236 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x20A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xB36 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP5 POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x299 PUSH2 0xB93 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD EQ ISZERO PUSH2 0x36D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x486173206E6F20726967687420746F20766F7465000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3F2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x416C726561647920766F7465642E000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x42A JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x459 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x56A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520616C726561647920766F7465642E0000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x60C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x53656C662D64656C65676174696F6E20697320646973616C6C6F7765642E0000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7AF JUMPI PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x466F756E64206C6F6F7020696E2064656C65676174696F6E2E00000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x60D JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x8A2 JUMPI DUP2 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP3 PUSH1 0x2 ADD SLOAD DUP2 SLOAD DUP2 LT PUSH2 0x87F JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x8B9 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 DUP1 SWAP1 POP JUMPDEST PUSH1 0x2 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x930 JUMPI DUP2 PUSH1 0x2 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x8E6 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD GT ISZERO PUSH2 0x923 JUMPI PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x90B JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP DUP1 SWAP3 POP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x8CB JUMP JUMPDEST POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x9DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0xBC1 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xA9D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x54686520766F74657220616C726561647920766F7465642E0000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ PUSH2 0xAEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH2 0xB9F PUSH2 0x8BE JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xBA9 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP1 JUMP INVALID 0x4F PUSH15 0x6C79206368616972706572736F6E20 PUSH4 0x616E2067 PUSH10 0x76652072696768742074 PUSH16 0x20766F74652EA2646970667358221220 SAR BALANCE LOG2 JUMPI SIGNEXTEND CREATE MUL SWAP3 SELFDESTRUCT 0xEC DUP8 0x2D 0xE1 PUSH19 0x9AA45F08CD0033271A9509F9A2B12FC3D1D464 PUSH20 0x6F6C634300060600330000000000000000000000 ", "sourceMap": "121:4369:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;121:4369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;3144:458:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3144:458:0;;;;;;;;;;;;;;;;;:::i;:::-;;758:27;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;758:27:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;679:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2049:907;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2049:907:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3788:365;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1570:355;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1570:355:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;712:39;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;712:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4344:144;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3144:458;3190:20;3213:6;:18;3220:10;3213:18;;;;;;;;;;;;;;;3190:41;;3266:1;3249:6;:13;;;:18;;3241:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3311:6;:12;;;;;;;;;;;;3310:13;3302:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3367:4;3352:6;:12;;;:19;;;;;;;;;;;;;;;;;;3395:8;3381:6;:11;;:22;;;;3582:6;:13;;;3549:9;3559:8;3549:19;;;;;;;;;;;;;;;;;;:29;;;:46;;;;;;;;;;;3144:458;;:::o;758:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;679:26::-;;;;;;;;;;;;;:::o;2049:907::-;2096:20;2119:6;:18;2126:10;2119:18;;;;;;;;;;;;;;;2096:41;;2156:6;:12;;;;;;;;;;;;2155:13;2147:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2215:10;2209:16;;:2;:16;;;;2201:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2271:223;2309:1;2278:33;;:6;:10;2285:2;2278:10;;;;;;;;;;;;;;;:19;;;;;;;;;;;;:33;;;2271:223;;2332:6;:10;2339:2;2332:10;;;;;;;;;;;;;;;:19;;;;;;;;;;;;2327:24;;2443:10;2437:16;;:2;:16;;;;2429:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2271:223;;;2518:4;2503:6;:12;;;:19;;;;;;;;;;;;;;;;;;2550:2;2532:6;:15;;;:20;;;;;;;;;;;;;;;;;;2562:23;2588:6;:10;2595:2;2588:10;;;;;;;;;;;;;;;2562:36;;2612:9;:15;;;;;;;;;;;;2608:342;;;2779:6;:13;;;2740:9;2750;:14;;;2740:25;;;;;;;;;;;;;;;;;;:35;;;:52;;;;;;;;;;;2608:342;;;2926:6;:13;;;2906:9;:16;;;:33;;;;;;;;;;;2608:342;2049:907;;;:::o;3788:365::-;3848:21;3885;3909:1;3885:25;;3925:6;3934:1;3925:10;;3920:227;3941:9;:16;;;;3937:1;:20;3920:227;;;4007:16;3982:9;3992:1;3982:12;;;;;;;;;;;;;;;;;;:22;;;:41;3978:159;;;4062:9;4072:1;4062:12;;;;;;;;;;;;;;;;;;:22;;;4043:41;;4121:1;4102:20;;3978:159;3959:3;;;;;;;3920:227;;;;3788:365;;:::o;1570:355::-;1662:11;;;;;;;;;;;1648:25;;:10;:25;;;1627:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:6;:13;1778:5;1771:13;;;;;;;;;;;;;;;:19;;;;;;;;;;;;1770:20;1749:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1882:1;1858:6;:13;1865:5;1858:13;;;;;;;;;;;;;;;:20;;;:25;1850:34;;12:1:-1;9;2:12;1850:34:0;1917:1;1894:6;:13;1901:5;1894:13;;;;;;;;;;;;;;;:20;;:24;;;;1570:355;:::o;712:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4344:144::-;4399:19;4448:9;4458:17;:15;:17::i;:::-;4448:28;;;;;;;;;;;;;;;;;;:33;;;4434:47;;4344:144;:::o" }, "gasEstimates": { "creation": { "codeDepositCost": "620400", "executionCost": "infinite", "totalCost": "infinite" }, "external": { "chairperson()": "1098", "delegate(address)": "infinite", "giveRightToVote(address)": "infinite", "proposals(uint256)": "2860", "vote(uint256)": "65454", "voters(address)": "3869", "winnerName()": "infinite", "winningProposal()": "infinite" } }, "legacyAssembly": { ".code": [{ "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 121, "end": 4490, "name": "MSTORE", "source": 0 }, { "begin": 922, "end": 1410, "name": "CALLVALUE", "source": 0 }, { "begin": 5, "end": 14, "name": "DUP1", "source": -1 }, { "begin": 2, "end": 4, "name": "ISZERO", "source": -1 }, { "begin": 2, "end": 4, "name": "PUSH [tag]", "source": -1, "value": "1" }, { "begin": 2, "end": 4, "name": "JUMPI", "source": -1 }, { "begin": 27, "end": 28, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 24, "end": 25, "name": "DUP1", "source": -1 }, { "begin": 17, "end": 29, "name": "REVERT", "source": -1 }, { "begin": 2, "end": 4, "name": "tag", "source": -1, "value": "1" }, { "begin": 2, "end": 4, "name": "JUMPDEST", "source": -1 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 922, "end": 1410, "name": "MLOAD", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSHSIZE", "source": 0 }, { "begin": 922, "end": 1410, "name": "CODESIZE", "source": 0 }, { "begin": 922, "end": 1410, "name": "SUB", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSHSIZE", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP4", "source": 0 }, { "begin": 922, "end": 1410, "name": "CODECOPY", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP2", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP2", "source": 0 }, { "begin": 922, "end": 1410, "name": "ADD", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 922, "end": 1410, "name": "MSTORE", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "2" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "2" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 922, "end": 1410, "name": "DUP2", "source": 0 }, { "begin": 922, "end": 1410, "name": "ADD", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "MLOAD", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 922, "end": 1410, "name": "MLOAD", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP4", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP3", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP2", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP5", "source": 0 }, { "begin": 19, "end": 30, "name": "PUSH", "source": -1, "value": "100000000" }, { "begin": 14, "end": 17, "name": "DUP3", "source": -1 }, { "begin": 11, "end": 31, "name": "GT", "source": -1 }, { "begin": 8, "end": 10, "name": "ISZERO", "source": -1 }, { "begin": 8, "end": 10, "name": "PUSH [tag]", "source": -1, "value": "3" }, { "begin": 8, "end": 10, "name": "JUMPI", "source": -1 }, { "begin": 44, "end": 45, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 41, "end": 42, "name": "DUP1", "source": -1 }, { "begin": 34, "end": 46, "name": "REVERT", "source": -1 }, { "begin": 8, "end": 10, "name": "tag", "source": -1, "value": "3" }, { "begin": 8, "end": 10, "name": "JUMPDEST", "source": -1 }, { "begin": 71, "end": 82, "name": "DUP4", "source": -1 }, { "begin": 66, "end": 69, "name": "DUP3", "source": -1 }, { "begin": 62, "end": 83, "name": "ADD", "source": -1 }, { "begin": 55, "end": 83, "name": "SWAP2", "source": -1 }, { "begin": 55, "end": 83, "name": "POP", "source": -1 }, { "begin": 123, "end": 127, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 118, "end": 121, "name": "DUP3", "source": -1 }, { "begin": 114, "end": 128, "name": "ADD", "source": -1 }, { "begin": 159, "end": 168, "name": "DUP6", "source": -1 }, { "begin": 141, "end": 157, "name": "DUP2", "source": -1 }, { "begin": 138, "end": 169, "name": "GT", "source": -1 }, { "begin": 135, "end": 137, "name": "ISZERO", "source": -1 }, { "begin": 135, "end": 137, "name": "PUSH [tag]", "source": -1, "value": "4" }, { "begin": 135, "end": 137, "name": "JUMPI", "source": -1 }, { "begin": 182, "end": 183, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 179, "end": 180, "name": "DUP1", "source": -1 }, { "begin": 172, "end": 184, "name": "REVERT", "source": -1 }, { "begin": 135, "end": 137, "name": "tag", "source": -1, "value": "4" }, { "begin": 135, "end": 137, "name": "JUMPDEST", "source": -1 }, { "begin": 219, "end": 222, "name": "DUP3", "source": -1 }, { "begin": 213, "end": 223, "name": "MLOAD", "source": -1 }, { "begin": 331, "end": 340, "name": "DUP7", "source": -1 }, { "begin": 325, "end": 327, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 311, "end": 323, "name": "DUP3", "source": -1 }, { "begin": 307, "end": 328, "name": "MUL", "source": -1 }, { "begin": 289, "end": 305, "name": "DUP4", "source": -1 }, { "begin": 285, "end": 329, "name": "ADD", "source": -1 }, { "begin": 282, "end": 341, "name": "GT", "source": -1 }, { "begin": 261, "end": 272, "name": "PUSH", "source": -1, "value": "100000000" }, { "begin": 247, "end": 259, "name": "DUP3", "source": -1 }, { "begin": 244, "end": 273, "name": "GT", "source": -1 }, { "begin": 233, "end": 349, "name": "OR", "source": -1 }, { "begin": 230, "end": 232, "name": "ISZERO", "source": -1 }, { "begin": 230, "end": 232, "name": "PUSH [tag]", "source": -1, "value": "5" }, { "begin": 230, "end": 232, "name": "JUMPI", "source": -1 }, { "begin": 362, "end": 363, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 359, "end": 360, "name": "DUP1", "source": -1 }, { "begin": 352, "end": 364, "name": "REVERT", "source": -1 }, { "begin": 230, "end": 232, "name": "tag", "source": -1, "value": "5" }, { "begin": 230, "end": 232, "name": "JUMPDEST", "source": -1 }, { "begin": 385, "end": 397, "name": "DUP1", "source": -1 }, { "begin": 380, "end": 383, "name": "DUP4", "source": -1 }, { "begin": 373, "end": 398, "name": "MSTORE", "source": -1 }, { "begin": 421, "end": 425, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 416, "end": 419, "name": "DUP4", "source": -1 }, { "begin": 412, "end": 426, "name": "ADD", "source": -1 }, { "begin": 405, "end": 426, "name": "SWAP3", "source": -1 }, { "begin": 405, "end": 426, "name": "POP", "source": -1 }, { "begin": 0, "end": 433, "name": "POP", "source": -1 }, { "begin": 0, "end": 433, "name": "POP", "source": -1 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "MLOAD", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 922, "end": 1410, "name": "ADD", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 922, "end": 1410, "name": "MUL", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP4", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP4", "source": 0 }, { "begin": 23, "end": 24, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 8, "end": 108, "name": "tag", "source": -1, "value": "6" }, { "begin": 8, "end": 108, "name": "JUMPDEST", "source": -1 }, { "begin": 33, "end": 36, "name": "DUP4", "source": -1 }, { "begin": 30, "end": 31, "name": "DUP2", "source": -1 }, { "begin": 27, "end": 37, "name": "LT", "source": -1 }, { "begin": 8, "end": 108, "name": "ISZERO", "source": -1 }, { "begin": 8, "end": 108, "name": "PUSH [tag]", "source": -1, "value": "8" }, { "begin": 8, "end": 108, "name": "JUMPI", "source": -1 }, { "begin": 99, "end": 100, "name": "DUP1", "source": -1 }, { "begin": 94, "end": 97, "name": "DUP3", "source": -1 }, { "begin": 90, "end": 101, "name": "ADD", "source": -1 }, { "begin": 84, "end": 102, "name": "MLOAD", "source": -1 }, { "begin": 80, "end": 81, "name": "DUP2", "source": -1 }, { "begin": 75, "end": 78, "name": "DUP5", "source": -1 }, { "begin": 71, "end": 82, "name": "ADD", "source": -1 }, { "begin": 64, "end": 103, "name": "MSTORE", "source": -1 }, { "begin": 52, "end": 54, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 49, "end": 50, "name": "DUP2", "source": -1 }, { "begin": 45, "end": 55, "name": "ADD", "source": -1 }, { "begin": 40, "end": 55, "name": "SWAP1", "source": -1 }, { "begin": 40, "end": 55, "name": "POP", "source": -1 }, { "begin": 8, "end": 108, "name": "PUSH [tag]", "source": -1, "value": "6" }, { "begin": 8, "end": 108, "name": "JUMP", "source": -1 }, { "begin": 8, "end": 108, "name": "tag", "source": -1, "value": "8" }, { "begin": 8, "end": 108, "name": "JUMPDEST", "source": -1 }, { "begin": 12, "end": 26, "name": "POP", "source": -1 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "ADD", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 922, "end": 1410, "name": "MSTORE", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 997, "end": 1007, "name": "CALLER", "source": 0 }, { "begin": 983, "end": 994, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 983, "end": 994, "name": "DUP1", "source": 0 }, { "begin": 983, "end": 1007, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 983, "end": 1007, "name": "EXP", "source": 0 }, { "begin": 983, "end": 1007, "name": "DUP2", "source": 0 }, { "begin": 983, "end": 1007, "name": "SLOAD", "source": 0 }, { "begin": 983, "end": 1007, "name": "DUP2", "source": 0 }, { "begin": 983, "end": 1007, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 983, "end": 1007, "name": "MUL", "source": 0 }, { "begin": 983, "end": 1007, "name": "NOT", "source": 0 }, { "begin": 983, "end": 1007, "name": "AND", "source": 0 }, { "begin": 983, "end": 1007, "name": "SWAP1", "source": 0 }, { "begin": 983, "end": 1007, "name": "DUP4", "source": 0 }, { "begin": 983, "end": 1007, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 983, "end": 1007, "name": "AND", "source": 0 }, { "begin": 983, "end": 1007, "name": "MUL", "source": 0 }, { "begin": 983, "end": 1007, "name": "OR", "source": 0 }, { "begin": 983, "end": 1007, "name": "SWAP1", "source": 0 }, { "begin": 983, "end": 1007, "name": "SSTORE", "source": 0 }, { "begin": 983, "end": 1007, "name": "POP", "source": 0 }, { "begin": 1046, "end": 1047, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1017, "end": 1023, "name": "DUP1", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1024, "end": 1035, "name": "DUP1", "source": 0 }, { "begin": 1024, "end": 1035, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1024, "end": 1035, "name": "SWAP1", "source": 0 }, { "begin": 1024, "end": 1035, "name": "SLOAD", "source": 0 }, { "begin": 1024, "end": 1035, "name": "SWAP1", "source": 0 }, { "begin": 1024, "end": 1035, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1024, "end": 1035, "name": "EXP", "source": 0 }, { "begin": 1024, "end": 1035, "name": "SWAP1", "source": 0 }, { "begin": 1024, "end": 1035, "name": "DIV", "source": 0 }, { "begin": 1024, "end": 1035, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1024, "end": 1035, "name": "AND", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1017, "end": 1036, "name": "AND", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1017, "end": 1036, "name": "AND", "source": 0 }, { "begin": 1017, "end": 1036, "name": "DUP2", "source": 0 }, { "begin": 1017, "end": 1036, "name": "MSTORE", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1017, "end": 1036, "name": "ADD", "source": 0 }, { "begin": 1017, "end": 1036, "name": "SWAP1", "source": 0 }, { "begin": 1017, "end": 1036, "name": "DUP2", "source": 0 }, { "begin": 1017, "end": 1036, "name": "MSTORE", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1017, "end": 1036, "name": "ADD", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1017, "end": 1036, "name": "KECCAK256", "source": 0 }, { "begin": 1017, "end": 1043, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1017, "end": 1043, "name": "ADD", "source": 0 }, { "begin": 1017, "end": 1047, "name": "DUP2", "source": 0 }, { "begin": 1017, "end": 1047, "name": "SWAP1", "source": 0 }, { "begin": 1017, "end": 1047, "name": "SSTORE", "source": 0 }, { "begin": 1017, "end": 1047, "name": "POP", "source": 0 }, { "begin": 1063, "end": 1069, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1072, "end": 1073, "name": "DUP1", "source": 0 }, { "begin": 1063, "end": 1073, "name": "SWAP1", "source": 0 }, { "begin": 1063, "end": 1073, "name": "POP", "source": 0 }, { "begin": 1058, "end": 1404, "name": "tag", "source": 0, "value": "11" }, { "begin": 1058, "end": 1404, "name": "JUMPDEST", "source": 0 }, { "begin": 1079, "end": 1092, "name": "DUP2", "source": 0 }, { "begin": 1079, "end": 1099, "name": "MLOAD", "source": 0 }, { "begin": 1075, "end": 1076, "name": "DUP2", "source": 0 }, { "begin": 1075, "end": 1099, "name": "LT", "source": 0 }, { "begin": 1058, "end": 1404, "name": "ISZERO", "source": 0 }, { "begin": 1058, "end": 1404, "name": "PUSH [tag]", "source": 0, "value": "12" }, { "begin": 1058, "end": 1404, "name": "JUMPI", "source": 0 }, { "begin": 1283, "end": 1292, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 1298, "end": 1392, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1298, "end": 1392, "name": "MLOAD", "source": 0 }, { "begin": 1298, "end": 1392, "name": "DUP1", "source": 0 }, { "begin": 1298, "end": 1392, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1298, "end": 1392, "name": "ADD", "source": 0 }, { "begin": 1298, "end": 1392, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1298, "end": 1392, "name": "MSTORE", "source": 0 }, { "begin": 1298, "end": 1392, "name": "DUP1", "source": 0 }, { "begin": 1331, "end": 1344, "name": "DUP5", "source": 0 }, { "begin": 1345, "end": 1346, "name": "DUP5", "source": 0 }, { "begin": 1331, "end": 1347, "name": "DUP2", "source": 0 }, { "begin": 1331, "end": 1347, "name": "MLOAD", "source": 0 }, { "begin": 1331, "end": 1347, "name": "DUP2", "source": 0 }, { "begin": 1331, "end": 1347, "name": "LT", "source": 0 }, { "begin": 1331, "end": 1347, "name": "PUSH [tag]", "source": 0, "value": "14" }, { "begin": 1331, "end": 1347, "name": "JUMPI", "source": 0 }, { "begin": 1331, "end": 1347, "name": "INVALID", "source": 0 }, { "begin": 1331, "end": 1347, "name": "tag", "source": 0, "value": "14" }, { "begin": 1331, "end": 1347, "name": "JUMPDEST", "source": 0 }, { "begin": 1331, "end": 1347, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1331, "end": 1347, "name": "MUL", "source": 0 }, { "begin": 1331, "end": 1347, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1331, "end": 1347, "name": "ADD", "source": 0 }, { "begin": 1331, "end": 1347, "name": "ADD", "source": 0 }, { "begin": 1331, "end": 1347, "name": "MLOAD", "source": 0 }, { "begin": 1298, "end": 1392, "name": "DUP2", "source": 0 }, { "begin": 1298, "end": 1392, "name": "MSTORE", "source": 0 }, { "begin": 1298, "end": 1392, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1298, "end": 1392, "name": "ADD", "source": 0 }, { "begin": 1376, "end": 1377, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1298, "end": 1392, "name": "DUP2", "source": 0 }, { "begin": 1298, "end": 1392, "name": "MSTORE", "source": 0 }, { "begin": 1298, "end": 1392, "name": "POP", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "DUP1", "source": 0 }, { "begin": 39, "end": 40, "name": "PUSH", "source": -1, "value": "1" }, { "begin": 33, "end": 36, "name": "DUP2", "source": -1 }, { "begin": 27, "end": 37, "name": "SLOAD", "source": -1 }, { "begin": 23, "end": 41, "name": "ADD", "source": -1 }, { "begin": 57, "end": 67, "name": "DUP1", "source": -1 }, { "begin": 52, "end": 55, "name": "DUP3", "source": -1 }, { "begin": 45, "end": 68, "name": "SSTORE", "source": -1 }, { "begin": 79, "end": 89, "name": "DUP1", "source": -1 }, { "begin": 72, "end": 89, "name": "SWAP2", "source": -1 }, { "begin": 72, "end": 89, "name": "POP", "source": -1 }, { "begin": 0, "end": 93, "name": "POP", "source": -1 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SUB", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "MSTORE", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "KECCAK256", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 1283, "end": 1393, "name": "MUL", "source": 0 }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "POP", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "DUP3", "source": 0 }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "MLOAD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "DUP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SSTORE", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1283, "end": 1393, "name": "DUP3", "source": 0 }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "MLOAD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "DUP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SSTORE", "source": 0 }, { "begin": 1283, "end": 1393, "name": "POP", "source": 0 }, { "begin": 1283, "end": 1393, "name": "POP", "source": 0 }, { "begin": 1101, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 1101, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 1101, "end": 1104, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1101, "end": 1104, "name": "ADD", "source": 0 }, { "begin": 1101, "end": 1104, "name": "SWAP2", "source": 0 }, { "begin": 1101, "end": 1104, "name": "POP", "source": 0 }, { "begin": 1101, "end": 1104, "name": "POP", "source": 0 }, { "begin": 1058, "end": 1404, "name": "PUSH [tag]", "source": 0, "value": "11" }, { "begin": 1058, "end": 1404, "name": "JUMP", "source": 0 }, { "begin": 1058, "end": 1404, "name": "tag", "source": 0, "value": "12" }, { "begin": 1058, "end": 1404, "name": "JUMPDEST", "source": 0 }, { "begin": 1058, "end": 1404, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH #[$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 121, "end": 4490, "name": "CODECOPY", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 121, "end": 4490, "name": "RETURN", "source": 0 }], ".data": { "0": { ".auxdata": "a26469706673582212201d31a2570bf00292ffec872de1729aa45f08cd0033271a9509f9a2b12fc3d1d464736f6c63430006060033", ".code": [{ "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 121, "end": 4490, "name": "MSTORE", "source": 0 }, { "begin": 121, "end": 4490, "name": "CALLVALUE", "source": 0 }, { "begin": 5, "end": 14, "name": "DUP1", "source": -1 }, { "begin": 2, "end": 4, "name": "ISZERO", "source": -1 }, { "begin": 2, "end": 4, "name": "PUSH [tag]", "source": -1, "value": "1" }, { "begin": 2, "end": 4, "name": "JUMPI", "source": -1 }, { "begin": 27, "end": 28, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 24, "end": 25, "name": "DUP1", "source": -1 }, { "begin": 17, "end": 29, "name": "REVERT", "source": -1 }, { "begin": 2, "end": 4, "name": "tag", "source": -1, "value": "1" }, { "begin": 2, "end": 4, "name": "JUMPDEST", "source": -1 }, { "begin": 121, "end": 4490, "name": "POP", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 121, "end": 4490, "name": "CALLDATASIZE", "source": 0 }, { "begin": 121, "end": 4490, "name": "LT", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "2" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 121, "end": 4490, "name": "CALLDATALOAD", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "E0" }, { "begin": 121, "end": 4490, "name": "SHR", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "609FF1BD" }, { "begin": 121, "end": 4490, "name": "GT", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "11" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "609FF1BD" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "7" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "9E7B8D61" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "8" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "A3EC138D" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "9" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "E2BA53F0" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "10" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "2" }, { "begin": 121, "end": 4490, "name": "JUMP", "source": 0 }, { "begin": 121, "end": 4490, "name": "tag", "source": 0, "value": "11" }, { "begin": 121, "end": 4490, "name": "JUMPDEST", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "121B93F" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "3" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "13CF08B" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "4" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "2E4176CF" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "5" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "5C19A95C" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "6" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "tag", "source": 0, "value": "2" }, { "begin": 121, "end": 4490, "name": "JUMPDEST", "source": 0 }, { "begin": 12, "end": 13, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 9, "end": 10, "name": "DUP1", "source": -1 }, { "begin": 2, "end": 14, "name": "REVERT", "source": -1 }, { "begin": 3144, "end": 3602, "name": "tag", "source": 0, "value": "3" }, { "begin": 3144, "end": 3602, "name": "JUMPDEST", "source": 0 }, { "begin": 3144, "end": 3602, "name": "PUSH [tag]", "source": 0, "value": "12" }, { "begin": 3144, "end": 3602, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 3144, "end": 3602, "name": "DUP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "CALLDATASIZE", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "13" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "13" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 3144, "end": 3602, "name": "DUP2", "source": 0 }, { "begin": 3144, "end": 3602, "name": "ADD", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "DUP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "DUP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "CALLDATALOAD", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3144, "end": 3602, "name": "ADD", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP3", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP2", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "PUSH [tag]", "source": 0, "value": "14" }, { "begin": 3144, "end": 3602, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 3144, "end": 3602, "name": "tag", "source": 0, "value": "12" }, { "begin": 3144, "end": 3602, "name": "JUMPDEST", "source": 0 }, { "begin": 3144, "end": 3602, "name": "STOP", "source": 0 }, { "begin": 758, "end": 785, "name": "tag", "source": 0, "value": "4" }, { "begin": 758, "end": 785, "name": "JUMPDEST", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH [tag]", "source": 0, "value": "15" }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "CALLDATASIZE", "source": 0 }, { "begin": 758, "end": 785, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "16" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "16" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "CALLDATALOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP3", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP2", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH [tag]", "source": 0, "value": "17" }, { "begin": 758, "end": 785, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 758, "end": 785, "name": "tag", "source": 0, "value": "15" }, { "begin": 758, "end": 785, "name": "JUMPDEST", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 758, "end": 785, "name": "MLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP4", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "MSTORE", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP3", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "MSTORE", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP3", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 758, "end": 785, "name": "MLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP2", "source": 0 }, { "begin": 758, "end": 785, "name": "SUB", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "RETURN", "source": 0 }, { "begin": 679, "end": 705, "name": "tag", "source": 0, "value": "5" }, { "begin": 679, "end": 705, "name": "JUMPDEST", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH [tag]", "source": 0, "value": "18" }, { "begin": 679, "end": 705, "name": "PUSH [tag]", "source": 0, "value": "19" }, { "begin": 679, "end": 705, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 679, "end": 705, "name": "tag", "source": 0, "value": "18" }, { "begin": 679, "end": 705, "name": "JUMPDEST", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 679, "end": 705, "name": "MLOAD", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP1", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP3", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 679, "end": 705, "name": "AND", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 679, "end": 705, "name": "AND", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP2", "source": 0 }, { "begin": 679, "end": 705, "name": "MSTORE", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 679, "end": 705, "name": "ADD", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP2", "source": 0 }, { "begin": 679, "end": 705, "name": "POP", "source": 0 }, { "begin": 679, "end": 705, "name": "POP", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 679, "end": 705, "name": "MLOAD", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP1", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP2", "source": 0 }, { "begin": 679, "end": 705, "name": "SUB", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP1", "source": 0 }, { "begin": 679, "end": 705, "name": "RETURN", "source": 0 }, { "begin": 2049, "end": 2956, "name": "tag", "source": 0, "value": "6" }, { "begin": 2049, "end": 2956, "name": "JUMPDEST", "source": 0 }, { "begin": 2049, "end": 2956, "name": "PUSH [tag]", "source": 0, "value": "20" }, { "begin": 2049, "end": 2956, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2049, "end": 2956, "name": "DUP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "CALLDATASIZE", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "21" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "21" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 2049, "end": 2956, "name": "DUP2", "source": 0 }, { "begin": 2049, "end": 2956, "name": "ADD", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "DUP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "DUP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "CALLDATALOAD", "source": 0 }, { "begin": 2049, "end": 2956, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2049, "end": 2956, "name": "AND", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2049, "end": 2956, "name": "ADD", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP3", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP2", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "PUSH [tag]", "source": 0, "value": "22" }, { "begin": 2049, "end": 2956, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 2049, "end": 2956, "name": "tag", "source": 0, "value": "20" }, { "begin": 2049, "end": 2956, "name": "JUMPDEST", "source": 0 }, { "begin": 2049, "end": 2956, "name": "STOP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "tag", "source": 0, "value": "7" }, { "begin": 3788, "end": 4153, "name": "JUMPDEST", "source": 0 }, { "begin": 3788, "end": 4153, "name": "PUSH [tag]", "source": 0, "value": "23" }, { "begin": 3788, "end": 4153, "name": "PUSH [tag]", "source": 0, "value": "24" }, { "begin": 3788, "end": 4153, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 3788, "end": 4153, "name": "tag", "source": 0, "value": "23" }, { "begin": 3788, "end": 4153, "name": "JUMPDEST", "source": 0 }, { "begin": 3788, "end": 4153, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3788, "end": 4153, "name": "MLOAD", "source": 0 }, { "begin": 3788, "end": 4153, "name": "DUP1", "source": 0 }, { "begin": 3788, "end": 4153, "name": "DUP3", "source": 0 }, { "begin": 3788, "end": 4153, "name": "DUP2", "source": 0 }, { "begin": 3788, "end": 4153, "name": "MSTORE", "source": 0 }, { "begin": 3788, "end": 4153, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3788, "end": 4153, "name": "ADD", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SWAP2", "source": 0 }, { "begin": 3788, "end": 4153, "name": "POP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "POP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3788, "end": 4153, "name": "MLOAD", "source": 0 }, { "begin": 3788, "end": 4153, "name": "DUP1", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SWAP2", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SUB", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SWAP1", "source": 0 }, { "begin": 3788, "end": 4153, "name": "RETURN", "source": 0 }, { "begin": 1570, "end": 1925, "name": "tag", "source": 0, "value": "8" }, { "begin": 1570, "end": 1925, "name": "JUMPDEST", "source": 0 }, { "begin": 1570, "end": 1925, "name": "PUSH [tag]", "source": 0, "value": "25" }, { "begin": 1570, "end": 1925, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1570, "end": 1925, "name": "DUP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "CALLDATASIZE", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "26" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "26" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 1570, "end": 1925, "name": "DUP2", "source": 0 }, { "begin": 1570, "end": 1925, "name": "ADD", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "DUP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "DUP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "CALLDATALOAD", "source": 0 }, { "begin": 1570, "end": 1925, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1570, "end": 1925, "name": "AND", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1570, "end": 1925, "name": "ADD", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP3", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP2", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "PUSH [tag]", "source": 0, "value": "27" }, { "begin": 1570, "end": 1925, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 1570, "end": 1925, "name": "tag", "source": 0, "value": "25" }, { "begin": 1570, "end": 1925, "name": "JUMPDEST", "source": 0 }, { "begin": 1570, "end": 1925, "name": "STOP", "source": 0 }, { "begin": 712, "end": 751, "name": "tag", "source": 0, "value": "9" }, { "begin": 712, "end": 751, "name": "JUMPDEST", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH [tag]", "source": 0, "value": "28" }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "CALLDATASIZE", "source": 0 }, { "begin": 712, "end": 751, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "29" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "29" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "CALLDATALOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP3", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP2", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH [tag]", "source": 0, "value": "30" }, { "begin": 712, "end": 751, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 712, "end": 751, "name": "tag", "source": 0, "value": "28" }, { "begin": 712, "end": 751, "name": "JUMPDEST", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 712, "end": 751, "name": "MLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP6", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP5", "source": 0 }, { "begin": 712, "end": 751, "name": "ISZERO", "source": 0 }, { "begin": 712, "end": 751, "name": "ISZERO", "source": 0 }, { "begin": 712, "end": 751, "name": "ISZERO", "source": 0 }, { "begin": 712, "end": 751, "name": "ISZERO", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP4", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP3", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP5", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 712, "end": 751, "name": "MLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP2", "source": 0 }, { "begin": 712, "end": 751, "name": "SUB", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "RETURN", "source": 0 }, { "begin": 4344, "end": 4488, "name": "tag", "source": 0, "value": "10" }, { "begin": 4344, "end": 4488, "name": "JUMPDEST", "source": 0 }, { "begin": 4344, "end": 4488, "name": "PUSH [tag]", "source": 0, "value": "31" }, { "begin": 4344, "end": 4488, "name": "PUSH [tag]", "source": 0, "value": "32" }, { "begin": 4344, "end": 4488, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 4344, "end": 4488, "name": "tag", "source": 0, "value": "31" }, { "begin": 4344, "end": 4488, "name": "JUMPDEST", "source": 0 }, { "begin": 4344, "end": 4488, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 4344, "end": 4488, "name": "MLOAD", "source": 0 }, { "begin": 4344, "end": 4488, "name": "DUP1", "source": 0 }, { "begin": 4344, "end": 4488, "name": "DUP3", "source": 0 }, { "begin": 4344, "end": 4488, "name": "DUP2", "source": 0 }, { "begin": 4344, "end": 4488, "name": "MSTORE", "source": 0 }, { "begin": 4344, "end": 4488, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 4344, "end": 4488, "name": "ADD", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SWAP2", "source": 0 }, { "begin": 4344, "end": 4488, "name": "POP", "source": 0 }, { "begin": 4344, "end": 4488, "name": "POP", "source": 0 }, { "begin": 4344, "end": 4488, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 4344, "end": 4488, "name": "MLOAD", "source": 0 }, { "begin": 4344, "end": 4488, "name": "DUP1", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SWAP2", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SUB", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SWAP1", "source": 0 }, { "begin": 4344, "end": 4488, "name": "RETURN", "source": 0 }, { "begin": 3144, "end": 3602, "name": "tag", "source": 0, "value": "14" }, { "begin": 3144, "end": 3602, "name": "JUMPDEST", "source": 0 }, { "begin": 3190, "end": 3210, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3213, "end": 3219, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3220, "end": 3230, "name": "CALLER", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 3213, "end": 3231, "name": "AND", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 3213, "end": 3231, "name": "AND", "source": 0 }, { "begin": 3213, "end": 3231, "name": "DUP2", "source": 0 }, { "begin": 3213, "end": 3231, "name": "MSTORE", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3213, "end": 3231, "name": "ADD", "source": 0 }, { "begin": 3213, "end": 3231, "name": "SWAP1", "source": 0 }, { "begin": 3213, "end": 3231, "name": "DUP2", "source": 0 }, { "begin": 3213, "end": 3231, "name": "MSTORE", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3213, "end": 3231, "name": "ADD", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3213, "end": 3231, "name": "KECCAK256", "source": 0 }, { "begin": 3190, "end": 3231, "name": "SWAP1", "source": 0 }, { "begin": 3190, "end": 3231, "name": "POP", "source": 0 }, { "begin": 3266, "end": 3267, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3249, "end": 3255, "name": "DUP2", "source": 0 }, { "begin": 3249, "end": 3262, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3249, "end": 3262, "name": "ADD", "source": 0 }, { "begin": 3249, "end": 3262, "name": "SLOAD", "source": 0 }, { "begin": 3249, "end": 3267, "name": "EQ", "source": 0 }, { "begin": 3249, "end": 3267, "name": "ISZERO", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH [tag]", "source": 0, "value": "34" }, { "begin": 3241, "end": 3292, "name": "JUMPI", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3241, "end": 3292, "name": "MLOAD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 3241, "end": 3292, "name": "DUP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "MSTORE", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 3241, "end": 3292, "name": "ADD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3241, "end": 3292, "name": "ADD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP3", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SUB", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP3", "source": 0 }, { "begin": 3241, "end": 3292, "name": "MSTORE", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "14" }, { "begin": 3241, "end": 3292, "name": "DUP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "MSTORE", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3241, "end": 3292, "name": "ADD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "486173206E6F20726967687420746F20766F7465000000000000000000000000" }, { "begin": 3241, "end": 3292, "name": "DUP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "MSTORE", "source": 0 }, { "begin": 3241, "end": 3292, "name": "POP", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3241, "end": 3292, "name": "ADD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SWAP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "POP", "source": 0 }, { "begin": 3241, "end": 3292, "name": "POP", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3241, "end": 3292, "name": "MLOAD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SWAP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SUB", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SWAP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "REVERT", "source": 0 }, { "begin": 3241, "end": 3292, "name": "tag", "source": 0, "value": "34" }, { "begin": 3241, "end": 3292, "name": "JUMPDEST", "source": 0 }, { "begin": 3311, "end": 3317, "name": "DUP1", "source": 0 }, { "begin": 3311, "end": 3323, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3311, "end": 3323, "name": "ADD", "source": 0 }, { "begin": 3311, "end": 3323, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3311, "end": 3323, "name": "SWAP1", "source": 0 }, { "begin": 3311, "end": 3323, "name": "SLOAD", "source": 0 }, { "begin": 3311, "end": 3323, "name": "SWAP1", "source": 0 }, { "begin": 3311, "end": 3323, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 3311, "end": 3323, "name": "EXP", "source": 0 }, { "begin": 3311, "end": 3323, "name": "SWAP1", "source": 0 }, { "begin": 3311, "end": 3323, "name": "DIV", "source": 0 }, { "begin": 3311, "end": 3323, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 3311, "end": 3323, "name": "AND", "source": 0 }, { "begin": 3310, "end": 3323, "name": "ISZERO", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH [tag]", "source": 0, "value": "35" }, { "begin": 3302, "end": 3342, "name": "JUMPI", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3302, "end": 3342, "name": "MLOAD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 3302, "end": 3342, "name": "DUP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "MSTORE", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 3302, "end": 3342, "name": "ADD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3302, "end": 3342, "name": "ADD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP3", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SUB", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP3", "source": 0 }, { "begin": 3302, "end": 3342, "name": "MSTORE", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "E" }, { "begin": 3302, "end": 3342, "name": "DUP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "MSTORE", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3302, "end": 3342, "name": "ADD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "416C726561647920766F7465642E000000000000000000000000000000000000" }, { "begin": 3302, "end": 3342, "name": "DUP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "MSTORE", "source": 0 }, { "begin": 3302, "end": 3342, "name": "POP", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3302, "end": 3342, "name": "ADD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SWAP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "POP", "source": 0 }, { "begin": 3302, "end": 3342, "name": "POP", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3302, "end": 3342, "name": "MLOAD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SWAP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SUB", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SWAP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "REVERT", "source": 0 }, { "begin": 3302, "end": 3342, "name": "tag", "source": 0, "value": "35" }, { "begin": 3302, "end": 3342, "name": "JUMPDEST", "source": 0 }, { "begin": 3367, "end": 3371, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3352, "end": 3358, "name": "DUP2", "source": 0 }, { "begin": 3352, "end": 3364, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3352, "end": 3364, "name": "ADD", "source": 0 }, { "begin": 3352, "end": 3364, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3352, "end": 3371, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 3352, "end": 3371, "name": "EXP", "source": 0 }, { "begin": 3352, "end": 3371, "name": "DUP2", "source": 0 }, { "begin": 3352, "end": 3371, "name": "SLOAD", "source": 0 }, { "begin": 3352, "end": 3371, "name": "DUP2", "source": 0 }, { "begin": 3352, "end": 3371, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 3352, "end": 3371, "name": "MUL", "source": 0 }, { "begin": 3352, "end": 3371, "name": "NOT", "source": 0 }, { "begin": 3352, "end": 3371, "name": "AND", "source": 0 }, { "begin": 3352, "end": 3371, "name": "SWAP1", "source": 0 }, { "begin": 3352, "end": 3371, "name": "DUP4", "source": 0 }, { "begin": 3352, "end": 3371, "name": "ISZERO", "source": 0 }, { "begin": 3352, "end": 3371, "name": "ISZERO", "source": 0 }, { "begin": 3352, "end": 3371, "name": "MUL", "source": 0 }, { "begin": 3352, "end": 3371, "name": "OR", "source": 0 }, { "begin": 3352, "end": 3371, "name": "SWAP1", "source": 0 }, { "begin": 3352, "end": 3371, "name": "SSTORE", "source": 0 }, { "begin": 3352, "end": 3371, "name": "POP", "source": 0 }, { "begin": 3395, "end": 3403, "name": "DUP2", "source": 0 }, { "begin": 3381, "end": 3387, "name": "DUP2", "source": 0 }, { "begin": 3381, "end": 3392, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3381, "end": 3392, "name": "ADD", "source": 0 }, { "begin": 3381, "end": 3403, "name": "DUP2", "source": 0 }, { "begin": 3381, "end": 3403, "name": "SWAP1", "source": 0 }, { "begin": 3381, "end": 3403, "name": "SSTORE", "source": 0 }, { "begin": 3381, "end": 3403, "name": "POP", "source": 0 }, { "begin": 3582, "end": 3588, "name": "DUP1", "source": 0 }, { "begin": 3582, "end": 3595, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3582, "end": 3595, "name": "ADD", "source": 0 }, { "begin": 3582, "end": 3595, "name": "SLOAD", "source": 0 }, { "begin": 3549, "end": 3558, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3559, "end": 3567, "name": "DUP4", "source": 0 }, { "begin": 3549, "end": 3568, "name": "DUP2", "source": 0 }, { "begin": 3549, "end": 3568, "name": "SLOAD", "source": 0 }, { "begin": 3549, "end": 3568, "name": "DUP2", "source": 0 }, { "begin": 3549, "end": 3568, "name": "LT", "source": 0 }, { "begin": 3549, "end": 3568, "name": "PUSH [tag]", "source": 0, "value": "36" }, { "begin": 3549, "end": 3568, "name": "JUMPI", "source": 0 }, { "begin": 3549, "end": 3568, "name": "INVALID", "source": 0 }, { "begin": 3549, "end": 3568, "name": "tag", "source": 0, "value": "36" }, { "begin": 3549, "end": 3568, "name": "JUMPDEST", "source": 0 }, { "begin": 3549, "end": 3568, "name": "SWAP1", "source": 0 }, { "begin": 3549, "end": 3568, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3549, "end": 3568, "name": "MSTORE", "source": 0 }, { "begin": 3549, "end": 3568, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3549, "end": 3568, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3549, "end": 3568, "name": "KECCAK256", "source": 0 }, { "begin": 3549, "end": 3568, "name": "SWAP1", "source": 0 }, { "begin": 3549, "end": 3568, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3549, "end": 3568, "name": "MUL", "source": 0 }, { "begin": 3549, "end": 3568, "name": "ADD", "source": 0 }, { "begin": 3549, "end": 3578, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3549, "end": 3578, "name": "ADD", "source": 0 }, { "begin": 3549, "end": 3578, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3549, "end": 3595, "name": "DUP3", "source": 0 }, { "begin": 3549, "end": 3595, "name": "DUP3", "source": 0 }, { "begin": 3549, "end": 3595, "name": "SLOAD", "source": 0 }, { "begin": 3549, "end": 3595, "name": "ADD", "source": 0 }, { "begin": 3549, "end": 3595, "name": "SWAP3", "source": 0 }, { "begin": 3549, "end": 3595, "name": "POP", "source": 0 }, { "begin": 3549, "end": 3595, "name": "POP", "source": 0 }, { "begin": 3549, "end": 3595, "name": "DUP2", "source": 0 }, { "begin": 3549, "end": 3595, "name": "SWAP1", "source": 0 }, { "begin": 3549, "end": 3595, "name": "SSTORE", "source": 0 }, { "begin": 3549, "end": 3595, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 758, "end": 785, "name": "tag", "source": 0, "value": "17" }, { "begin": 758, "end": 785, "name": "JUMPDEST", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "SLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "LT", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH [tag]", "source": 0, "value": "38" }, { "begin": 758, "end": 785, "name": "JUMPI", "source": 0 }, { "begin": 758, "end": 785, "name": "INVALID", "source": 0 }, { "begin": 758, "end": 785, "name": "tag", "source": 0, "value": "38" }, { "begin": 758, "end": 785, "name": "JUMPDEST", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 758, "end": 785, "name": "MSTORE", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 758, "end": 785, "name": "KECCAK256", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 758, "end": 785, "name": "MUL", "source": 0 }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 758, "end": 785, "name": "SWAP2", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP3", "source": 0 }, { "begin": 758, "end": 785, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 679, "end": 705, "name": "tag", "source": 0, "value": "19" }, { "begin": 679, "end": 705, "name": "JUMPDEST", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 679, "end": 705, "name": "DUP1", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP1", "source": 0 }, { "begin": 679, "end": 705, "name": "SLOAD", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP1", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 679, "end": 705, "name": "EXP", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP1", "source": 0 }, { "begin": 679, "end": 705, "name": "DIV", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 679, "end": 705, "name": "AND", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP2", "source": 0 }, { "begin": 679, "end": 705, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 2049, "end": 2956, "name": "tag", "source": 0, "value": "22" }, { "begin": 2049, "end": 2956, "name": "JUMPDEST", "source": 0 }, { "begin": 2096, "end": 2116, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2119, "end": 2125, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2126, "end": 2136, "name": "CALLER", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2119, "end": 2137, "name": "AND", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2119, "end": 2137, "name": "AND", "source": 0 }, { "begin": 2119, "end": 2137, "name": "DUP2", "source": 0 }, { "begin": 2119, "end": 2137, "name": "MSTORE", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2119, "end": 2137, "name": "ADD", "source": 0 }, { "begin": 2119, "end": 2137, "name": "SWAP1", "source": 0 }, { "begin": 2119, "end": 2137, "name": "DUP2", "source": 0 }, { "begin": 2119, "end": 2137, "name": "MSTORE", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2119, "end": 2137, "name": "ADD", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2119, "end": 2137, "name": "KECCAK256", "source": 0 }, { "begin": 2096, "end": 2137, "name": "SWAP1", "source": 0 }, { "begin": 2096, "end": 2137, "name": "POP", "source": 0 }, { "begin": 2156, "end": 2162, "name": "DUP1", "source": 0 }, { "begin": 2156, "end": 2168, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2156, "end": 2168, "name": "ADD", "source": 0 }, { "begin": 2156, "end": 2168, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2156, "end": 2168, "name": "SWAP1", "source": 0 }, { "begin": 2156, "end": 2168, "name": "SLOAD", "source": 0 }, { "begin": 2156, "end": 2168, "name": "SWAP1", "source": 0 }, { "begin": 2156, "end": 2168, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2156, "end": 2168, "name": "EXP", "source": 0 }, { "begin": 2156, "end": 2168, "name": "SWAP1", "source": 0 }, { "begin": 2156, "end": 2168, "name": "DIV", "source": 0 }, { "begin": 2156, "end": 2168, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 2156, "end": 2168, "name": "AND", "source": 0 }, { "begin": 2155, "end": 2168, "name": "ISZERO", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH [tag]", "source": 0, "value": "41" }, { "begin": 2147, "end": 2191, "name": "JUMPI", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2147, "end": 2191, "name": "MLOAD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 2147, "end": 2191, "name": "DUP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "MSTORE", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2147, "end": 2191, "name": "ADD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2147, "end": 2191, "name": "ADD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP3", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SUB", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP3", "source": 0 }, { "begin": 2147, "end": 2191, "name": "MSTORE", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "12" }, { "begin": 2147, "end": 2191, "name": "DUP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "MSTORE", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2147, "end": 2191, "name": "ADD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "596F7520616C726561647920766F7465642E0000000000000000000000000000" }, { "begin": 2147, "end": 2191, "name": "DUP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "MSTORE", "source": 0 }, { "begin": 2147, "end": 2191, "name": "POP", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2147, "end": 2191, "name": "ADD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SWAP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "POP", "source": 0 }, { "begin": 2147, "end": 2191, "name": "POP", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2147, "end": 2191, "name": "MLOAD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SWAP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SUB", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SWAP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "REVERT", "source": 0 }, { "begin": 2147, "end": 2191, "name": "tag", "source": 0, "value": "41" }, { "begin": 2147, "end": 2191, "name": "JUMPDEST", "source": 0 }, { "begin": 2215, "end": 2225, "name": "CALLER", "source": 0 }, { "begin": 2209, "end": 2225, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2209, "end": 2225, "name": "AND", "source": 0 }, { "begin": 2209, "end": 2211, "name": "DUP3", "source": 0 }, { "begin": 2209, "end": 2225, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2209, "end": 2225, "name": "AND", "source": 0 }, { "begin": 2209, "end": 2225, "name": "EQ", "source": 0 }, { "begin": 2209, "end": 2225, "name": "ISZERO", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH [tag]", "source": 0, "value": "42" }, { "begin": 2201, "end": 2260, "name": "JUMPI", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2201, "end": 2260, "name": "MLOAD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 2201, "end": 2260, "name": "DUP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "MSTORE", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2201, "end": 2260, "name": "ADD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2201, "end": 2260, "name": "ADD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP3", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SUB", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP3", "source": 0 }, { "begin": 2201, "end": 2260, "name": "MSTORE", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "1E" }, { "begin": 2201, "end": 2260, "name": "DUP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "MSTORE", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2201, "end": 2260, "name": "ADD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "53656C662D64656C65676174696F6E20697320646973616C6C6F7765642E0000" }, { "begin": 2201, "end": 2260, "name": "DUP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "MSTORE", "source": 0 }, { "begin": 2201, "end": 2260, "name": "POP", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2201, "end": 2260, "name": "ADD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SWAP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "POP", "source": 0 }, { "begin": 2201, "end": 2260, "name": "POP", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2201, "end": 2260, "name": "MLOAD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SWAP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SUB", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SWAP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "REVERT", "source": 0 }, { "begin": 2201, "end": 2260, "name": "tag", "source": 0, "value": "42" }, { "begin": 2201, "end": 2260, "name": "JUMPDEST", "source": 0 }, { "begin": 2271, "end": 2494, "name": "tag", "source": 0, "value": "43" }, { "begin": 2271, "end": 2494, "name": "JUMPDEST", "source": 0 }, { "begin": 2309, "end": 2310, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2278, "end": 2311, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2311, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2284, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2285, "end": 2287, "name": "DUP5", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2288, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2288, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2288, "name": "DUP2", "source": 0 }, { "begin": 2278, "end": 2288, "name": "MSTORE", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2278, "end": 2288, "name": "ADD", "source": 0 }, { "begin": 2278, "end": 2288, "name": "SWAP1", "source": 0 }, { "begin": 2278, "end": 2288, "name": "DUP2", "source": 0 }, { "begin": 2278, "end": 2288, "name": "MSTORE", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2278, "end": 2288, "name": "ADD", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2278, "end": 2288, "name": "KECCAK256", "source": 0 }, { "begin": 2278, "end": 2297, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2278, "end": 2297, "name": "ADD", "source": 0 }, { "begin": 2278, "end": 2297, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2278, "end": 2297, "name": "SWAP1", "source": 0 }, { "begin": 2278, "end": 2297, "name": "SLOAD", "source": 0 }, { "begin": 2278, "end": 2297, "name": "SWAP1", "source": 0 }, { "begin": 2278, "end": 2297, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2278, "end": 2297, "name": "EXP", "source": 0 }, { "begin": 2278, "end": 2297, "name": "SWAP1", "source": 0 }, { "begin": 2278, "end": 2297, "name": "DIV", "source": 0 }, { "begin": 2278, "end": 2297, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2297, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2311, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2311, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2311, "name": "EQ", "source": 0 }, { "begin": 2271, "end": 2494, "name": "PUSH [tag]", "source": 0, "value": "44" }, { "begin": 2271, "end": 2494, "name": "JUMPI", "source": 0 }, { "begin": 2332, "end": 2338, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2339, "end": 2341, "name": "DUP4", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2332, "end": 2342, "name": "AND", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2332, "end": 2342, "name": "AND", "source": 0 }, { "begin": 2332, "end": 2342, "name": "DUP2", "source": 0 }, { "begin": 2332, "end": 2342, "name": "MSTORE", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2332, "end": 2342, "name": "ADD", "source": 0 }, { "begin": 2332, "end": 2342, "name": "SWAP1", "source": 0 }, { "begin": 2332, "end": 2342, "name": "DUP2", "source": 0 }, { "begin": 2332, "end": 2342, "name": "MSTORE", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2332, "end": 2342, "name": "ADD", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2332, "end": 2342, "name": "KECCAK256", "source": 0 }, { "begin": 2332, "end": 2351, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2332, "end": 2351, "name": "ADD", "source": 0 }, { "begin": 2332, "end": 2351, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2332, "end": 2351, "name": "SWAP1", "source": 0 }, { "begin": 2332, "end": 2351, "name": "SLOAD", "source": 0 }, { "begin": 2332, "end": 2351, "name": "SWAP1", "source": 0 }, { "begin": 2332, "end": 2351, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2332, "end": 2351, "name": "EXP", "source": 0 }, { "begin": 2332, "end": 2351, "name": "SWAP1", "source": 0 }, { "begin": 2332, "end": 2351, "name": "DIV", "source": 0 }, { "begin": 2332, "end": 2351, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2332, "end": 2351, "name": "AND", "source": 0 }, { "begin": 2327, "end": 2351, "name": "SWAP2", "source": 0 }, { "begin": 2327, "end": 2351, "name": "POP", "source": 0 }, { "begin": 2443, "end": 2453, "name": "CALLER", "source": 0 }, { "begin": 2437, "end": 2453, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2437, "end": 2453, "name": "AND", "source": 0 }, { "begin": 2437, "end": 2439, "name": "DUP3", "source": 0 }, { "begin": 2437, "end": 2453, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2437, "end": 2453, "name": "AND", "source": 0 }, { "begin": 2437, "end": 2453, "name": "EQ", "source": 0 }, { "begin": 2437, "end": 2453, "name": "ISZERO", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH [tag]", "source": 0, "value": "45" }, { "begin": 2429, "end": 2483, "name": "JUMPI", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2429, "end": 2483, "name": "MLOAD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 2429, "end": 2483, "name": "DUP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "MSTORE", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2429, "end": 2483, "name": "ADD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2429, "end": 2483, "name": "ADD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP3", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SUB", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP3", "source": 0 }, { "begin": 2429, "end": 2483, "name": "MSTORE", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "19" }, { "begin": 2429, "end": 2483, "name": "DUP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "MSTORE", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2429, "end": 2483, "name": "ADD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "466F756E64206C6F6F7020696E2064656C65676174696F6E2E00000000000000" }, { "begin": 2429, "end": 2483, "name": "DUP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "MSTORE", "source": 0 }, { "begin": 2429, "end": 2483, "name": "POP", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2429, "end": 2483, "name": "ADD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SWAP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "POP", "source": 0 }, { "begin": 2429, "end": 2483, "name": "POP", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2429, "end": 2483, "name": "MLOAD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SWAP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SUB", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SWAP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "REVERT", "source": 0 }, { "begin": 2429, "end": 2483, "name": "tag", "source": 0, "value": "45" }, { "begin": 2429, "end": 2483, "name": "JUMPDEST", "source": 0 }, { "begin": 2271, "end": 2494, "name": "PUSH [tag]", "source": 0, "value": "43" }, { "begin": 2271, "end": 2494, "name": "JUMP", "source": 0 }, { "begin": 2271, "end": 2494, "name": "tag", "source": 0, "value": "44" }, { "begin": 2271, "end": 2494, "name": "JUMPDEST", "source": 0 }, { "begin": 2518, "end": 2522, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2503, "end": 2509, "name": "DUP2", "source": 0 }, { "begin": 2503, "end": 2515, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2503, "end": 2515, "name": "ADD", "source": 0 }, { "begin": 2503, "end": 2515, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2503, "end": 2522, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2503, "end": 2522, "name": "EXP", "source": 0 }, { "begin": 2503, "end": 2522, "name": "DUP2", "source": 0 }, { "begin": 2503, "end": 2522, "name": "SLOAD", "source": 0 }, { "begin": 2503, "end": 2522, "name": "DUP2", "source": 0 }, { "begin": 2503, "end": 2522, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 2503, "end": 2522, "name": "MUL", "source": 0 }, { "begin": 2503, "end": 2522, "name": "NOT", "source": 0 }, { "begin": 2503, "end": 2522, "name": "AND", "source": 0 }, { "begin": 2503, "end": 2522, "name": "SWAP1", "source": 0 }, { "begin": 2503, "end": 2522, "name": "DUP4", "source": 0 }, { "begin": 2503, "end": 2522, "name": "ISZERO", "source": 0 }, { "begin": 2503, "end": 2522, "name": "ISZERO", "source": 0 }, { "begin": 2503, "end": 2522, "name": "MUL", "source": 0 }, { "begin": 2503, "end": 2522, "name": "OR", "source": 0 }, { "begin": 2503, "end": 2522, "name": "SWAP1", "source": 0 }, { "begin": 2503, "end": 2522, "name": "SSTORE", "source": 0 }, { "begin": 2503, "end": 2522, "name": "POP", "source": 0 }, { "begin": 2550, "end": 2552, "name": "DUP2", "source": 0 }, { "begin": 2532, "end": 2538, "name": "DUP2", "source": 0 }, { "begin": 2532, "end": 2547, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2532, "end": 2547, "name": "ADD", "source": 0 }, { "begin": 2532, "end": 2547, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2532, "end": 2552, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2532, "end": 2552, "name": "EXP", "source": 0 }, { "begin": 2532, "end": 2552, "name": "DUP2", "source": 0 }, { "begin": 2532, "end": 2552, "name": "SLOAD", "source": 0 }, { "begin": 2532, "end": 2552, "name": "DUP2", "source": 0 }, { "begin": 2532, "end": 2552, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2532, "end": 2552, "name": "MUL", "source": 0 }, { "begin": 2532, "end": 2552, "name": "NOT", "source": 0 }, { "begin": 2532, "end": 2552, "name": "AND", "source": 0 }, { "begin": 2532, "end": 2552, "name": "SWAP1", "source": 0 }, { "begin": 2532, "end": 2552, "name": "DUP4", "source": 0 }, { "begin": 2532, "end": 2552, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2532, "end": 2552, "name": "AND", "source": 0 }, { "begin": 2532, "end": 2552, "name": "MUL", "source": 0 }, { "begin": 2532, "end": 2552, "name": "OR", "source": 0 }, { "begin": 2532, "end": 2552, "name": "SWAP1", "source": 0 }, { "begin": 2532, "end": 2552, "name": "SSTORE", "source": 0 }, { "begin": 2532, "end": 2552, "name": "POP", "source": 0 }, { "begin": 2562, "end": 2585, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2588, "end": 2594, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2595, "end": 2597, "name": "DUP5", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2588, "end": 2598, "name": "AND", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2588, "end": 2598, "name": "AND", "source": 0 }, { "begin": 2588, "end": 2598, "name": "DUP2", "source": 0 }, { "begin": 2588, "end": 2598, "name": "MSTORE", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2588, "end": 2598, "name": "ADD", "source": 0 }, { "begin": 2588, "end": 2598, "name": "SWAP1", "source": 0 }, { "begin": 2588, "end": 2598, "name": "DUP2", "source": 0 }, { "begin": 2588, "end": 2598, "name": "MSTORE", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2588, "end": 2598, "name": "ADD", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2588, "end": 2598, "name": "KECCAK256", "source": 0 }, { "begin": 2562, "end": 2598, "name": "SWAP1", "source": 0 }, { "begin": 2562, "end": 2598, "name": "POP", "source": 0 }, { "begin": 2612, "end": 2621, "name": "DUP1", "source": 0 }, { "begin": 2612, "end": 2627, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2612, "end": 2627, "name": "ADD", "source": 0 }, { "begin": 2612, "end": 2627, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2612, "end": 2627, "name": "SWAP1", "source": 0 }, { "begin": 2612, "end": 2627, "name": "SLOAD", "source": 0 }, { "begin": 2612, "end": 2627, "name": "SWAP1", "source": 0 }, { "begin": 2612, "end": 2627, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2612, "end": 2627, "name": "EXP", "source": 0 }, { "begin": 2612, "end": 2627, "name": "SWAP1", "source": 0 }, { "begin": 2612, "end": 2627, "name": "DIV", "source": 0 }, { "begin": 2612, "end": 2627, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 2612, "end": 2627, "name": "AND", "source": 0 }, { "begin": 2608, "end": 2950, "name": "ISZERO", "source": 0 }, { "begin": 2608, "end": 2950, "name": "PUSH [tag]", "source": 0, "value": "46" }, { "begin": 2608, "end": 2950, "name": "JUMPI", "source": 0 }, { "begin": 2779, "end": 2785, "name": "DUP2", "source": 0 }, { "begin": 2779, "end": 2792, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2779, "end": 2792, "name": "ADD", "source": 0 }, { "begin": 2779, "end": 2792, "name": "SLOAD", "source": 0 }, { "begin": 2740, "end": 2749, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 2750, "end": 2759, "name": "DUP3", "source": 0 }, { "begin": 2750, "end": 2764, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 2750, "end": 2764, "name": "ADD", "source": 0 }, { "begin": 2750, "end": 2764, "name": "SLOAD", "source": 0 }, { "begin": 2740, "end": 2765, "name": "DUP2", "source": 0 }, { "begin": 2740, "end": 2765, "name": "SLOAD", "source": 0 }, { "begin": 2740, "end": 2765, "name": "DUP2", "source": 0 }, { "begin": 2740, "end": 2765, "name": "LT", "source": 0 }, { "begin": 2740, "end": 2765, "name": "PUSH [tag]", "source": 0, "value": "47" }, { "begin": 2740, "end": 2765, "name": "JUMPI", "source": 0 }, { "begin": 2740, "end": 2765, "name": "INVALID", "source": 0 }, { "begin": 2740, "end": 2765, "name": "tag", "source": 0, "value": "47" }, { "begin": 2740, "end": 2765, "name": "JUMPDEST", "source": 0 }, { "begin": 2740, "end": 2765, "name": "SWAP1", "source": 0 }, { "begin": 2740, "end": 2765, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2740, "end": 2765, "name": "MSTORE", "source": 0 }, { "begin": 2740, "end": 2765, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2740, "end": 2765, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2740, "end": 2765, "name": "KECCAK256", "source": 0 }, { "begin": 2740, "end": 2765, "name": "SWAP1", "source": 0 }, { "begin": 2740, "end": 2765, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 2740, "end": 2765, "name": "MUL", "source": 0 }, { "begin": 2740, "end": 2765, "name": "ADD", "source": 0 }, { "begin": 2740, "end": 2775, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2740, "end": 2775, "name": "ADD", "source": 0 }, { "begin": 2740, "end": 2775, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2740, "end": 2792, "name": "DUP3", "source": 0 }, { "begin": 2740, "end": 2792, "name": "DUP3", "source": 0 }, { "begin": 2740, "end": 2792, "name": "SLOAD", "source": 0 }, { "begin": 2740, "end": 2792, "name": "ADD", "source": 0 }, { "begin": 2740, "end": 2792, "name": "SWAP3", "source": 0 }, { "begin": 2740, "end": 2792, "name": "POP", "source": 0 }, { "begin": 2740, "end": 2792, "name": "POP", "source": 0 }, { "begin": 2740, "end": 2792, "name": "DUP2", "source": 0 }, { "begin": 2740, "end": 2792, "name": "SWAP1", "source": 0 }, { "begin": 2740, "end": 2792, "name": "SSTORE", "source": 0 }, { "begin": 2740, "end": 2792, "name": "POP", "source": 0 }, { "begin": 2608, "end": 2950, "name": "PUSH [tag]", "source": 0, "value": "49" }, { "begin": 2608, "end": 2950, "name": "JUMP", "source": 0 }, { "begin": 2608, "end": 2950, "name": "tag", "source": 0, "value": "46" }, { "begin": 2608, "end": 2950, "name": "JUMPDEST", "source": 0 }, { "begin": 2926, "end": 2932, "name": "DUP2", "source": 0 }, { "begin": 2926, "end": 2939, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2926, "end": 2939, "name": "ADD", "source": 0 }, { "begin": 2926, "end": 2939, "name": "SLOAD", "source": 0 }, { "begin": 2906, "end": 2915, "name": "DUP2", "source": 0 }, { "begin": 2906, "end": 2922, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2906, "end": 2922, "name": "ADD", "source": 0 }, { "begin": 2906, "end": 2922, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2906, "end": 2939, "name": "DUP3", "source": 0 }, { "begin": 2906, "end": 2939, "name": "DUP3", "source": 0 }, { "begin": 2906, "end": 2939, "name": "SLOAD", "source": 0 }, { "begin": 2906, "end": 2939, "name": "ADD", "source": 0 }, { "begin": 2906, "end": 2939, "name": "SWAP3", "source": 0 }, { "begin": 2906, "end": 2939, "name": "POP", "source": 0 }, { "begin": 2906, "end": 2939, "name": "POP", "source": 0 }, { "begin": 2906, "end": 2939, "name": "DUP2", "source": 0 }, { "begin": 2906, "end": 2939, "name": "SWAP1", "source": 0 }, { "begin": 2906, "end": 2939, "name": "SSTORE", "source": 0 }, { "begin": 2906, "end": 2939, "name": "POP", "source": 0 }, { "begin": 2608, "end": 2950, "name": "tag", "source": 0, "value": "49" }, { "begin": 2608, "end": 2950, "name": "JUMPDEST", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 3788, "end": 4153, "name": "tag", "source": 0, "value": "24" }, { "begin": 3788, "end": 4153, "name": "JUMPDEST", "source": 0 }, { "begin": 3848, "end": 3869, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3885, "end": 3906, "name": "DUP1", "source": 0 }, { "begin": 3909, "end": 3910, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3885, "end": 3910, "name": "SWAP1", "source": 0 }, { "begin": 3885, "end": 3910, "name": "POP", "source": 0 }, { "begin": 3925, "end": 3931, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3934, "end": 3935, "name": "DUP1", "source": 0 }, { "begin": 3925, "end": 3935, "name": "SWAP1", "source": 0 }, { "begin": 3925, "end": 3935, "name": "POP", "source": 0 }, { "begin": 3920, "end": 4147, "name": "tag", "source": 0, "value": "51" }, { "begin": 3920, "end": 4147, "name": "JUMPDEST", "source": 0 }, { "begin": 3941, "end": 3950, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3941, "end": 3957, "name": "DUP1", "source": 0 }, { "begin": 3941, "end": 3957, "name": "SLOAD", "source": 0 }, { "begin": 3941, "end": 3957, "name": "SWAP1", "source": 0 }, { "begin": 3941, "end": 3957, "name": "POP", "source": 0 }, { "begin": 3937, "end": 3938, "name": "DUP2", "source": 0 }, { "begin": 3937, "end": 3957, "name": "LT", "source": 0 }, { "begin": 3920, "end": 4147, "name": "ISZERO", "source": 0 }, { "begin": 3920, "end": 4147, "name": "PUSH [tag]", "source": 0, "value": "52" }, { "begin": 3920, "end": 4147, "name": "JUMPI", "source": 0 }, { "begin": 4007, "end": 4023, "name": "DUP2", "source": 0 }, { "begin": 3982, "end": 3991, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3992, "end": 3993, "name": "DUP3", "source": 0 }, { "begin": 3982, "end": 3994, "name": "DUP2", "source": 0 }, { "begin": 3982, "end": 3994, "name": "SLOAD", "source": 0 }, { "begin": 3982, "end": 3994, "name": "DUP2", "source": 0 }, { "begin": 3982, "end": 3994, "name": "LT", "source": 0 }, { "begin": 3982, "end": 3994, "name": "PUSH [tag]", "source": 0, "value": "54" }, { "begin": 3982, "end": 3994, "name": "JUMPI", "source": 0 }, { "begin": 3982, "end": 3994, "name": "INVALID", "source": 0 }, { "begin": 3982, "end": 3994, "name": "tag", "source": 0, "value": "54" }, { "begin": 3982, "end": 3994, "name": "JUMPDEST", "source": 0 }, { "begin": 3982, "end": 3994, "name": "SWAP1", "source": 0 }, { "begin": 3982, "end": 3994, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3982, "end": 3994, "name": "MSTORE", "source": 0 }, { "begin": 3982, "end": 3994, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3982, "end": 3994, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3982, "end": 3994, "name": "KECCAK256", "source": 0 }, { "begin": 3982, "end": 3994, "name": "SWAP1", "source": 0 }, { "begin": 3982, "end": 3994, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3982, "end": 3994, "name": "MUL", "source": 0 }, { "begin": 3982, "end": 3994, "name": "ADD", "source": 0 }, { "begin": 3982, "end": 4004, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3982, "end": 4004, "name": "ADD", "source": 0 }, { "begin": 3982, "end": 4004, "name": "SLOAD", "source": 0 }, { "begin": 3982, "end": 4023, "name": "GT", "source": 0 }, { "begin": 3978, "end": 4137, "name": "ISZERO", "source": 0 }, { "begin": 3978, "end": 4137, "name": "PUSH [tag]", "source": 0, "value": "56" }, { "begin": 3978, "end": 4137, "name": "JUMPI", "source": 0 }, { "begin": 4062, "end": 4071, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 4072, "end": 4073, "name": "DUP2", "source": 0 }, { "begin": 4062, "end": 4074, "name": "DUP2", "source": 0 }, { "begin": 4062, "end": 4074, "name": "SLOAD", "source": 0 }, { "begin": 4062, "end": 4074, "name": "DUP2", "source": 0 }, { "begin": 4062, "end": 4074, "name": "LT", "source": 0 }, { "begin": 4062, "end": 4074, "name": "PUSH [tag]", "source": 0, "value": "57" }, { "begin": 4062, "end": 4074, "name": "JUMPI", "source": 0 }, { "begin": 4062, "end": 4074, "name": "INVALID", "source": 0 }, { "begin": 4062, "end": 4074, "name": "tag", "source": 0, "value": "57" }, { "begin": 4062, "end": 4074, "name": "JUMPDEST", "source": 0 }, { "begin": 4062, "end": 4074, "name": "SWAP1", "source": 0 }, { "begin": 4062, "end": 4074, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4062, "end": 4074, "name": "MSTORE", "source": 0 }, { "begin": 4062, "end": 4074, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 4062, "end": 4074, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4062, "end": 4074, "name": "KECCAK256", "source": 0 }, { "begin": 4062, "end": 4074, "name": "SWAP1", "source": 0 }, { "begin": 4062, "end": 4074, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 4062, "end": 4074, "name": "MUL", "source": 0 }, { "begin": 4062, "end": 4074, "name": "ADD", "source": 0 }, { "begin": 4062, "end": 4084, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 4062, "end": 4084, "name": "ADD", "source": 0 }, { "begin": 4062, "end": 4084, "name": "SLOAD", "source": 0 }, { "begin": 4043, "end": 4084, "name": "SWAP2", "source": 0 }, { "begin": 4043, "end": 4084, "name": "POP", "source": 0 }, { "begin": 4121, "end": 4122, "name": "DUP1", "source": 0 }, { "begin": 4102, "end": 4122, "name": "SWAP3", "source": 0 }, { "begin": 4102, "end": 4122, "name": "POP", "source": 0 }, { "begin": 3978, "end": 4137, "name": "tag", "source": 0, "value": "56" }, { "begin": 3978, "end": 4137, "name": "JUMPDEST", "source": 0 }, { "begin": 3959, "end": 3962, "name": "DUP1", "source": 0 }, { "begin": 3959, "end": 3962, "name": "DUP1", "source": 0 }, { "begin": 3959, "end": 3962, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3959, "end": 3962, "name": "ADD", "source": 0 }, { "begin": 3959, "end": 3962, "name": "SWAP2", "source": 0 }, { "begin": 3959, "end": 3962, "name": "POP", "source": 0 }, { "begin": 3959, "end": 3962, "name": "POP", "source": 0 }, { "begin": 3920, "end": 4147, "name": "PUSH [tag]", "source": 0, "value": "51" }, { "begin": 3920, "end": 4147, "name": "JUMP", "source": 0 }, { "begin": 3920, "end": 4147, "name": "tag", "source": 0, "value": "52" }, { "begin": 3920, "end": 4147, "name": "JUMPDEST", "source": 0 }, { "begin": 3920, "end": 4147, "name": "POP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "POP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SWAP1", "source": 0 }, { "begin": 3788, "end": 4153, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 1570, "end": 1925, "name": "tag", "source": 0, "value": "27" }, { "begin": 1570, "end": 1925, "name": "JUMPDEST", "source": 0 }, { "begin": 1662, "end": 1673, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1662, "end": 1673, "name": "DUP1", "source": 0 }, { "begin": 1662, "end": 1673, "name": "SWAP1", "source": 0 }, { "begin": 1662, "end": 1673, "name": "SLOAD", "source": 0 }, { "begin": 1662, "end": 1673, "name": "SWAP1", "source": 0 }, { "begin": 1662, "end": 1673, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1662, "end": 1673, "name": "EXP", "source": 0 }, { "begin": 1662, "end": 1673, "name": "SWAP1", "source": 0 }, { "begin": 1662, "end": 1673, "name": "DIV", "source": 0 }, { "begin": 1662, "end": 1673, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1662, "end": 1673, "name": "AND", "source": 0 }, { "begin": 1648, "end": 1673, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1648, "end": 1673, "name": "AND", "source": 0 }, { "begin": 1648, "end": 1658, "name": "CALLER", "source": 0 }, { "begin": 1648, "end": 1673, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1648, "end": 1673, "name": "AND", "source": 0 }, { "begin": 1648, "end": 1673, "name": "EQ", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH [tag]", "source": 0, "value": "60" }, { "begin": 1627, "end": 1739, "name": "JUMPI", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1627, "end": 1739, "name": "MLOAD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 1627, "end": 1739, "name": "DUP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "MSTORE", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1627, "end": 1739, "name": "ADD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1627, "end": 1739, "name": "ADD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP3", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SUB", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP3", "source": 0 }, { "begin": 1627, "end": 1739, "name": "MSTORE", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "28" }, { "begin": 1627, "end": 1739, "name": "DUP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "MSTORE", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1627, "end": 1739, "name": "ADD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH data", "source": 0, "value": "80126CE3251AB2B6E4ADE14FE5B2BC11F593510CBE9E3550C09BFF1989E33B95" }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "28" }, { "begin": 1627, "end": 1739, "name": "SWAP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "CODECOPY", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1627, "end": 1739, "name": "ADD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SWAP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "POP", "source": 0 }, { "begin": 1627, "end": 1739, "name": "POP", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1627, "end": 1739, "name": "MLOAD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SWAP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SUB", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SWAP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "REVERT", "source": 0 }, { "begin": 1627, "end": 1739, "name": "tag", "source": 0, "value": "60" }, { "begin": 1627, "end": 1739, "name": "JUMPDEST", "source": 0 }, { "begin": 1771, "end": 1777, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1778, "end": 1783, "name": "DUP3", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1771, "end": 1784, "name": "AND", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1771, "end": 1784, "name": "AND", "source": 0 }, { "begin": 1771, "end": 1784, "name": "DUP2", "source": 0 }, { "begin": 1771, "end": 1784, "name": "MSTORE", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1771, "end": 1784, "name": "ADD", "source": 0 }, { "begin": 1771, "end": 1784, "name": "SWAP1", "source": 0 }, { "begin": 1771, "end": 1784, "name": "DUP2", "source": 0 }, { "begin": 1771, "end": 1784, "name": "MSTORE", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1771, "end": 1784, "name": "ADD", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1771, "end": 1784, "name": "KECCAK256", "source": 0 }, { "begin": 1771, "end": 1790, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1771, "end": 1790, "name": "ADD", "source": 0 }, { "begin": 1771, "end": 1790, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1771, "end": 1790, "name": "SWAP1", "source": 0 }, { "begin": 1771, "end": 1790, "name": "SLOAD", "source": 0 }, { "begin": 1771, "end": 1790, "name": "SWAP1", "source": 0 }, { "begin": 1771, "end": 1790, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1771, "end": 1790, "name": "EXP", "source": 0 }, { "begin": 1771, "end": 1790, "name": "SWAP1", "source": 0 }, { "begin": 1771, "end": 1790, "name": "DIV", "source": 0 }, { "begin": 1771, "end": 1790, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 1771, "end": 1790, "name": "AND", "source": 0 }, { "begin": 1770, "end": 1790, "name": "ISZERO", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH [tag]", "source": 0, "value": "61" }, { "begin": 1749, "end": 1840, "name": "JUMPI", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1749, "end": 1840, "name": "MLOAD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 1749, "end": 1840, "name": "DUP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "MSTORE", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1749, "end": 1840, "name": "ADD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1749, "end": 1840, "name": "ADD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP3", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SUB", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP3", "source": 0 }, { "begin": 1749, "end": 1840, "name": "MSTORE", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "18" }, { "begin": 1749, "end": 1840, "name": "DUP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "MSTORE", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1749, "end": 1840, "name": "ADD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "54686520766F74657220616C726561647920766F7465642E0000000000000000" }, { "begin": 1749, "end": 1840, "name": "DUP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "MSTORE", "source": 0 }, { "begin": 1749, "end": 1840, "name": "POP", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1749, "end": 1840, "name": "ADD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SWAP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "POP", "source": 0 }, { "begin": 1749, "end": 1840, "name": "POP", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1749, "end": 1840, "name": "MLOAD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SWAP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SUB", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SWAP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "REVERT", "source": 0 }, { "begin": 1749, "end": 1840, "name": "tag", "source": 0, "value": "61" }, { "begin": 1749, "end": 1840, "name": "JUMPDEST", "source": 0 }, { "begin": 1882, "end": 1883, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1858, "end": 1864, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1865, "end": 1870, "name": "DUP4", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1858, "end": 1871, "name": "AND", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1858, "end": 1871, "name": "AND", "source": 0 }, { "begin": 1858, "end": 1871, "name": "DUP2", "source": 0 }, { "begin": 1858, "end": 1871, "name": "MSTORE", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1858, "end": 1871, "name": "ADD", "source": 0 }, { "begin": 1858, "end": 1871, "name": "SWAP1", "source": 0 }, { "begin": 1858, "end": 1871, "name": "DUP2", "source": 0 }, { "begin": 1858, "end": 1871, "name": "MSTORE", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1858, "end": 1871, "name": "ADD", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1858, "end": 1871, "name": "KECCAK256", "source": 0 }, { "begin": 1858, "end": 1878, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1858, "end": 1878, "name": "ADD", "source": 0 }, { "begin": 1858, "end": 1878, "name": "SLOAD", "source": 0 }, { "begin": 1858, "end": 1883, "name": "EQ", "source": 0 }, { "begin": 1850, "end": 1884, "name": "PUSH [tag]", "source": 0, "value": "62" }, { "begin": 1850, "end": 1884, "name": "JUMPI", "source": 0 }, { "begin": 12, "end": 13, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 9, "end": 10, "name": "DUP1", "source": -1 }, { "begin": 2, "end": 14, "name": "REVERT", "source": -1 }, { "begin": 1850, "end": 1884, "name": "tag", "source": 0, "value": "62" }, { "begin": 1850, "end": 1884, "name": "JUMPDEST", "source": 0 }, { "begin": 1917, "end": 1918, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1894, "end": 1900, "name": "DUP1", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1901, "end": 1906, "name": "DUP4", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1894, "end": 1907, "name": "AND", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1894, "end": 1907, "name": "AND", "source": 0 }, { "begin": 1894, "end": 1907, "name": "DUP2", "source": 0 }, { "begin": 1894, "end": 1907, "name": "MSTORE", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1894, "end": 1907, "name": "ADD", "source": 0 }, { "begin": 1894, "end": 1907, "name": "SWAP1", "source": 0 }, { "begin": 1894, "end": 1907, "name": "DUP2", "source": 0 }, { "begin": 1894, "end": 1907, "name": "MSTORE", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1894, "end": 1907, "name": "ADD", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1894, "end": 1907, "name": "KECCAK256", "source": 0 }, { "begin": 1894, "end": 1914, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1894, "end": 1914, "name": "ADD", "source": 0 }, { "begin": 1894, "end": 1918, "name": "DUP2", "source": 0 }, { "begin": 1894, "end": 1918, "name": "SWAP1", "source": 0 }, { "begin": 1894, "end": 1918, "name": "SSTORE", "source": 0 }, { "begin": 1894, "end": 1918, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 712, "end": 751, "name": "tag", "source": 0, "value": "30" }, { "begin": 712, "end": 751, "name": "JUMPDEST", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "KECCAK256", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "SWAP2", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "SLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 712, "end": 751, "name": "EXP", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DIV", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "SLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 712, "end": 751, "name": "EXP", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DIV", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP5", "source": 0 }, { "begin": 712, "end": 751, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 4344, "end": 4488, "name": "tag", "source": 0, "value": "32" }, { "begin": 4344, "end": 4488, "name": "JUMPDEST", "source": 0 }, { "begin": 4399, "end": 4418, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4448, "end": 4457, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 4458, "end": 4475, "name": "PUSH [tag]", "source": 0, "value": "64" }, { "begin": 4458, "end": 4473, "name": "PUSH [tag]", "source": 0, "value": "24" }, { "begin": 4458, "end": 4475, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 4458, "end": 4475, "name": "tag", "source": 0, "value": "64" }, { "begin": 4458, "end": 4475, "name": "JUMPDEST", "source": 0 }, { "begin": 4448, "end": 4476, "name": "DUP2", "source": 0 }, { "begin": 4448, "end": 4476, "name": "SLOAD", "source": 0 }, { "begin": 4448, "end": 4476, "name": "DUP2", "source": 0 }, { "begin": 4448, "end": 4476, "name": "LT", "source": 0 }, { "begin": 4448, "end": 4476, "name": "PUSH [tag]", "source": 0, "value": "65" }, { "begin": 4448, "end": 4476, "name": "JUMPI", "source": 0 }, { "begin": 4448, "end": 4476, "name": "INVALID", "source": 0 }, { "begin": 4448, "end": 4476, "name": "tag", "source": 0, "value": "65" }, { "begin": 4448, "end": 4476, "name": "JUMPDEST", "source": 0 }, { "begin": 4448, "end": 4476, "name": "SWAP1", "source": 0 }, { "begin": 4448, "end": 4476, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4448, "end": 4476, "name": "MSTORE", "source": 0 }, { "begin": 4448, "end": 4476, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 4448, "end": 4476, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4448, "end": 4476, "name": "KECCAK256", "source": 0 }, { "begin": 4448, "end": 4476, "name": "SWAP1", "source": 0 }, { "begin": 4448, "end": 4476, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 4448, "end": 4476, "name": "MUL", "source": 0 }, { "begin": 4448, "end": 4476, "name": "ADD", "source": 0 }, { "begin": 4448, "end": 4481, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4448, "end": 4481, "name": "ADD", "source": 0 }, { "begin": 4448, "end": 4481, "name": "SLOAD", "source": 0 }, { "begin": 4434, "end": 4481, "name": "SWAP1", "source": 0 }, { "begin": 4434, "end": 4481, "name": "POP", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SWAP1", "source": 0 }, { "begin": 4344, "end": 4488, "name": "JUMP", "source": 0, "value": "[out]" }], ".data": { "80126CE3251AB2B6E4ADE14FE5B2BC11F593510CBE9E3550C09BFF1989E33B95": "4f6e6c79206368616972706572736f6e2063616e206769766520726967687420746f20766f74652e" } } } }, "methodIdentifiers": { "chairperson()": "2e4176cf", "delegate(address)": "5c19a95c", "giveRightToVote(address)": "9e7b8d61", "proposals(uint256)": "013cf08b", "vote(uint256)": "0121b93f", "voters(address)": "a3ec138d", "winnerName()": "e2ba53f0", "winningProposal()": "609ff1bd" } }, "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"proposalNames\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"chairperson\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"giveRightToVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"voteCount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposal\",\"type\":\"uint256\"}],\"name\":\"vote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"voters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"voted\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"winnerName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"winnerName_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"winningProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"winningProposal_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implements voting process along with vote delegation\",\"methods\":{\"constructor\":{\"details\":\"Create a new ballot to choose one of 'proposalNames'.\",\"params\":{\"proposalNames\":\"names of proposals\"}},\"delegate(address)\":{\"details\":\"Delegate your vote to the voter 'to'.\",\"params\":{\"to\":\"address to which vote is delegated\"}},\"giveRightToVote(address)\":{\"details\":\"Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.\",\"params\":{\"voter\":\"address of voter\"}},\"vote(uint256)\":{\"details\":\"Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.\",\"params\":{\"proposal\":\"index of proposal in the proposals array\"}},\"winnerName()\":{\"details\":\"Calls winningProposal() function to get the index of the winner contained in the proposals array and then\",\"returns\":{\"winnerName_\":\"the name of the winner\"}},\"winningProposal()\":{\"details\":\"Computes the winning proposal taking all previous votes into account.\",\"returns\":{\"winningProposal_\":\"index of winning proposal in the proposals array\"}}},\"title\":\"Ballot\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"browser/3_Ballot.sol\":\"Ballot\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"browser/3_Ballot.sol\":{\"keccak256\":\"0xb5cf7721806a100913a616711fe86acd30e5ed34e185bce00d552cabec7aa89c\",\"urls\":[\"bzz-raw://f6713ca66de945047eb4295a26498689bfd63ed7cf8f59708483827358c4a0a5\",\"dweb:/ipfs/QmNZtigHzHGEabexfwzaKoKJy5LhPftMirfF6N6qQbFQGk\"]}},\"version\":1}", "userdoc": { "methods": {} } - } - - const result = getContractDocumentation(contract as any); - - expect(result).toBeDefined() - - }) - }); - - describe("getContractDoc", () => { - test("getContractDoc", () => { - const template = getContractDoc( - "Fallout", - buildFakeArtifactWithComments() - ); - - expect(template).toBeDefined(); - }); - - test("getContractDoc", () => { - const template = getContractDoc("Owner", { - ...buildFakeArtifactWithComments(), - abi: [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "oldOwner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "OwnerSet", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "changeOwner", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "getOwner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - ] as any, - devdoc: { - details: "Set & change owner", - methods: { - "changeOwner(address)": { - details: "Change owner", - params: { - newOwner: "address of new owner", - }, - }, - constructor: { - details: "Set contract deployer as owner", - }, - "getOwner()": { - details: "Return owner address ", - returns: { - _0: "address of owner", - }, - }, - }, - title: "Owner", - } as any, - userdoc: { - methods: {}, - } as any, - }); - - expect(template).toBeDefined(); - }); - }); - - describe("getFunctionDocumentation", () => { - test("getFunctionDocumentation", () => { - const abiItem: FunctionDescription = { - constant: false, - inputs: [], - name: "Fal1out", - outputs: [], - payable: true, - stateMutability: "payable", - type: "function", - }; - - const result = getFunctionDocumentation(abiItem, {}); - - expect(result).toBeDefined(); - }); - }); - - describe("mergeParametersWithDevdoc", () => { - test("mergeParametersWithDevdoc", () => { - const abiParameters = [buildFakeABIParameter()]; - const devParams = {}; - const result = mergeParametersWithDevdoc(abiParameters, devParams); - - expect(result.length).toEqual(1); - }); - - test("mergeParametersWithDevdoc with documentation", () => { - const abiParameters = [buildFakeABIParameter()]; - const devParams = {}; - const result = mergeParametersWithDevdoc(abiParameters, devParams); - - expect(result.length).toEqual(1); - }); - }); - - test.skip("html generation", async () => { - await open( - "https://ipfs.io/ipfs/QmPYQyWyTrUZt3tjiPsEnkRQxedChYUjgEk9zLQ36SfpyW", - { app: ["google chrome", "--incognito"] } - ); - // start server - // generate html - // server it - }); -}); diff --git a/apps/remixdocgen/src/utils/utils.ts b/apps/remixdocgen/src/utils/utils.ts deleted file mode 100644 index c56077fba2..0000000000 --- a/apps/remixdocgen/src/utils/utils.ts +++ /dev/null @@ -1,125 +0,0 @@ -import { - CompilationResult, - CompiledContract, - FunctionDescription, - ABIParameter, - ABIDescription, -} from "@remixproject/plugin-api/lib/compiler"; - -import { FileName, Documentation, ContractName } from "../types"; -import { template } from "./template"; -import { - ContractDocumentation, - MethodDoc, - FunctionDocumentation, - ParameterDocumentation, -} from "./types"; - -export const createDocumentation = ( - fileName: FileName, - compilationResult: CompilationResult -) => { - console.log("Filename", fileName); - const result = new Map(); - - const contracts = compilationResult.contracts[fileName]; - console.log("Contracts", contracts); - - Object.keys(contracts).forEach((name) => { - console.log("CompiledContract", JSON.stringify(contracts[name])); - result.set(name, getContractDoc(name, contracts[name])); - }); - - return result; -}; - -export const getContractDoc = (name: string, contract: CompiledContract) => { - const contractDoc: ContractDocumentation = getContractDocumentation(contract); - - const onlyFunctions = contract.abi.filter((item) => { - return item.type !== "event"; - }); - - const functionsDocumentation = onlyFunctions.map((def: ABIDescription) => { - if (def.type === "constructor") { - def.name = "constructor"; - // because "constructor" is a string and not a { notice } object for userdoc we need to do that - const methodDoc = { - ...(contract.devdoc.methods.constructor || {}), - notice: - Object.keys(contract.userdoc.methods.constructor).length > 0 - ? (contract.userdoc.methods.constructor as string) - : "", - }; - return getFunctionDocumentation(def, methodDoc); - } else { - if (def.type === "fallback") { - def.name = "fallback"; - } - const method = Object.keys(contractDoc.methods).find((key) => - key.includes(def.name as string) - ) as string; - const methodDoc = contractDoc.methods[method]; - return getFunctionDocumentation(def as FunctionDescription, methodDoc); - } - }); - - // console.log("contractDoc", contractDoc) - // console.log("functionsDocumentation", functionsDocumentation) - - try { - const finalResult = template(name, contractDoc, functionsDocumentation); - return finalResult - - } catch (error) { - console.log("ERROR", error) - return '' - } - -}; - -export const getContractDocumentation = (contract: CompiledContract) => { - const methods = { ...contract.userdoc.methods, ...contract.devdoc.methods } - const contractDoc = { ...contract.userdoc, ...contract.devdoc, ...methods }; - - return contractDoc; -}; - -export const getFunctionDocumentation = ( - def: FunctionDescription, - devdoc?: Partial -) => { - const doc = devdoc || {}; - const devparams = doc.params || {}; - const inputsWithDescription = mergeParametersWithDevdoc( - def.inputs || [], - devparams - ); - const outputsWithDescription = mergeParametersWithDevdoc( - def.outputs || [], - devparams - ); - const type = def.constant ? "view" : "read"; - - return { - name: def.name, - type, - devdoc, - inputs: inputsWithDescription, - outputs: outputsWithDescription, - } as FunctionDocumentation; -}; - -export const mergeParametersWithDevdoc = ( - params: ABIParameter[], - devparams: any -) => { - return params.map((input) => { - const description = devparams[input.name] || ""; - return { - name: input.name, - type: input.type, - description, - } as ParameterDocumentation; - }); -}; diff --git a/apps/remixdocgen/tslint.json b/apps/remixdocgen/tslint.json deleted file mode 100644 index 0d36c4819f..0000000000 --- a/apps/remixdocgen/tslint.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": [ - "tslint:recommended", - "tslint-react", - "tslint-config-prettier" - ], - "rulesDirectory": [ - "tslint-plugin-prettier" - ], - "rules": { - "prettier": true, - "interface-name": false, - "no-console": false, - "jsx-no-lambda": false - } - } \ No newline at end of file