From cff75db24a974dda19a4e48aa0328eded38d237f Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 2 Jul 2018 08:41:29 +0200 Subject: [PATCH 01/10] fix displaying call in terminal --- src/app/execution/txLogger.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/execution/txLogger.js b/src/app/execution/txLogger.js index 9e7d698747..68f0a9b774 100644 --- a/src/app/execution/txLogger.js +++ b/src/app/execution/txLogger.js @@ -371,7 +371,7 @@ function txDetails (e, tx, data, obj) { log.appendChild(arrowUp) table = createTable({ hash: data.tx.hash, - status: data.receipt.status, + status: data.receipt ? data.receipt.status : null, isCall: data.tx.isCall, contractAddress: data.tx.contractAddress, data: data.tx, From f5ad458ab75d7cf6c713c9f0f35d0fb061a2d786 Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 2 Jul 2018 08:55:02 +0200 Subject: [PATCH 02/10] fix import with firefox --- src/app/compiler/compiler-imports.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/app/compiler/compiler-imports.js b/src/app/compiler/compiler-imports.js index c1fb53de46..97fb1ab1a6 100644 --- a/src/app/compiler/compiler-imports.js +++ b/src/app/compiler/compiler-imports.js @@ -12,10 +12,7 @@ module.exports = class CompilerImports { return request.get( { url: 'https://api.github.com/repos/' + root + '/contents/' + path, - json: true, - headers: { - 'User-Agent': 'Remix' - } + json: true }, (err, r, data) => { if (err) { From 7dbfcd1450665296b7d945aeda7aa558a722aa56 Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 13 Jun 2018 15:27:09 +0200 Subject: [PATCH 03/10] Update release-process.md --- release-process.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/release-process.md b/release-process.md index a5e0ffdb6e..80c3281cf2 100644 --- a/release-process.md +++ b/release-process.md @@ -43,3 +43,17 @@ This is not strictly speaking a release. Updating the remix-alpha site is done t - Select `Master` - Click `Trigger custom build` - Once the build is finished (can take a while) and successful, check remix-alpha.ethereum.org is updated accordingly + +# beta testing remix + +We publish a new release roughly every month and greatly appreciate support on beta testing. + +By giving report, beta testers help to: + - verify viabilty (in term core and UX design) of new features + - track possible regression + - propose new update + - contribute on reviewing / building Pull Request + +Current Beta testers: + + From 50c809c3352d574b6da0645711d283bb1400d1a8 Mon Sep 17 00:00:00 2001 From: greg Date: Wed, 6 Jun 2018 22:32:30 -0400 Subject: [PATCH 04/10] Add ability to filter out compiler warnings --- src/app/tabs/compile-tab.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/app/tabs/compile-tab.js b/src/app/tabs/compile-tab.js index 9d7b71e0f5..7b85d9708a 100644 --- a/src/app/tabs/compile-tab.js +++ b/src/app/tabs/compile-tab.js @@ -35,6 +35,7 @@ module.exports = class CompileTab { maxTime: 1000, timeout: 300 } + self._opts.config.set('hideWarnings', false) self._events.editor.register('contentChanged', scheduleCompilation) self._events.editor.register('sessionSwitched', scheduleCompilation) function scheduleCompilation () { @@ -113,7 +114,13 @@ module.exports = class CompileTab { if (data.errors && data.errors.length) { error = true data.errors.forEach(function (err) { - self._opts.renderer.error(err.formattedMessage, self._view.errorContainer, {type: err.severity}) + if (self._opts.config.get('hideWarnings')) { + if (err.severity !== 'warning') { + self._opts.renderer.error(err.formattedMessage, self._view.errorContainer, {type: err.severity}) + } + } else { + self._opts.renderer.error(err.formattedMessage, self._view.errorContainer, {type: err.severity}) + } }) } if (!error && data.contracts) { @@ -137,6 +144,7 @@ module.exports = class CompileTab { self._view.compileIcon = yo`` self._view.compileButton = yo`
${self._view.compileIcon} Start to compile
` self._view.autoCompile = yo`` + self._view.hideWarningsBox = yo`` if (self.data.autoCompile) self._view.autoCompile.setAttribute('checked', '') self._view.compileContainer = yo`
@@ -147,6 +155,10 @@ module.exports = class CompileTab { Auto compile
${self._view.warnCompilationSlow} +
+ ${self._view.hideWarningsBox} + Hide warnings +
` self._view.errorContainer = yo`
` @@ -181,6 +193,10 @@ module.exports = class CompileTab { } function updateAutoCompile (event) { self._opts.config.set('autoCompile', self._view.autoCompile.checked) } function compile (event) { self._api.runCompiler() } + function hideWarnings (event) { + self._opts.config.set('hideWarnings', !self._opts.config.get('hideWarnings')) + self._api.runCompiler() + } function details () { const select = self._view.contractNames if (select.children.length > 0 && select.selectedIndex >= 0) { @@ -277,6 +293,11 @@ const css = csjs` display: flex; align-items: center; } + .hideWarningsContainer { + display: flex; + align-items: center; + margin-left: 2% + } .autocompile {} .autocompileTitle { font-weight: bold; From 9bb7496d2d287f1b9662bc0b2ee429e1f7e379cf Mon Sep 17 00:00:00 2001 From: greg Date: Wed, 6 Jun 2018 23:17:39 -0400 Subject: [PATCH 05/10] Mimic logic of autoCompile button --- src/app/tabs/compile-tab.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/tabs/compile-tab.js b/src/app/tabs/compile-tab.js index 7b85d9708a..ec977223e9 100644 --- a/src/app/tabs/compile-tab.js +++ b/src/app/tabs/compile-tab.js @@ -29,13 +29,13 @@ module.exports = class CompileTab { contractEl: null } self.data = { + hideWarnings: self._opts.config.get('hideWarnings') || false, autoCompile: self._opts.config.get('autoCompile'), compileTimeout: null, contractsDetails: {}, maxTime: 1000, timeout: 300 } - self._opts.config.set('hideWarnings', false) self._events.editor.register('contentChanged', scheduleCompilation) self._events.editor.register('sessionSwitched', scheduleCompilation) function scheduleCompilation () { @@ -146,6 +146,7 @@ module.exports = class CompileTab { self._view.autoCompile = yo`` self._view.hideWarningsBox = yo`` if (self.data.autoCompile) self._view.autoCompile.setAttribute('checked', '') + if (self.data.hideWarnings) self._view.hideWarningsBox.setAttribute('checked', '') self._view.compileContainer = yo`
@@ -194,7 +195,7 @@ module.exports = class CompileTab { function updateAutoCompile (event) { self._opts.config.set('autoCompile', self._view.autoCompile.checked) } function compile (event) { self._api.runCompiler() } function hideWarnings (event) { - self._opts.config.set('hideWarnings', !self._opts.config.get('hideWarnings')) + self._opts.config.set('hideWarnings', self._view.hideWarningsBox.checked) self._api.runCompiler() } function details () { From e1b3de2a017defc9c4e9919f54c043322566a56a Mon Sep 17 00:00:00 2001 From: greg Date: Thu, 7 Jun 2018 12:23:20 -0400 Subject: [PATCH 06/10] move styles to global file --- src/app/tabs/compile-tab.js | 5 ----- src/universal-dapp-styles.js | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/tabs/compile-tab.js b/src/app/tabs/compile-tab.js index ec977223e9..29a46055d7 100644 --- a/src/app/tabs/compile-tab.js +++ b/src/app/tabs/compile-tab.js @@ -294,11 +294,6 @@ const css = csjs` display: flex; align-items: center; } - .hideWarningsContainer { - display: flex; - align-items: center; - margin-left: 2% - } .autocompile {} .autocompileTitle { font-weight: bold; diff --git a/src/universal-dapp-styles.js b/src/universal-dapp-styles.js index 3ccca94d34..13d15666da 100644 --- a/src/universal-dapp-styles.js +++ b/src/universal-dapp-styles.js @@ -241,6 +241,11 @@ var css = csjs` padding-right: 26px; padding-top: 5px; float: right; + }, + .hideWarningsContainer { + display: flex; + align-items: center; + margin-left: 2% } ` From 90296705364dd6dfaf93967094e097993a95dce2 Mon Sep 17 00:00:00 2001 From: Edward Grech Date: Sun, 10 Jun 2018 17:11:06 +0200 Subject: [PATCH 07/10] Fixed issue #1292; terminal scrollbar may now be scrolled * Removed div.terminal_bg whose purpose was to hold the background SVG, as this div was occluding the scrollbar, and instead set SVG as the background-image of div.terminal_container using CSS. * As CSS does not have a background-opacity directive, manually decoded, edited and re-encoded the SVGs (light, dark) so that all s are wrapped in a top-level * Improved the rules of how the background image resizes --- src/app/panels/styles/terminal-styles.js | 23 ++++------------------- src/app/panels/terminal.js | 2 -- src/app/ui/styles-guide/style-guide.js | 2 +- src/app/ui/styles-guide/styleGuideDark.js | 2 +- 4 files changed, 6 insertions(+), 23 deletions(-) diff --git a/src/app/panels/styles/terminal-styles.js b/src/app/panels/styles/terminal-styles.js index f44083f01e..fab6475816 100644 --- a/src/app/panels/styles/terminal-styles.js +++ b/src/app/panels/styles/terminal-styles.js @@ -57,25 +57,10 @@ var css = csjs` overflow-y : auto; font-family : monospace; margin : 0px; - } - .terminal_bg { - display : flex; - flex-direction : column; - height : 100%; - padding-left : 5px; - padding-right : 5px; - padding-bottom : 3px; - overflow-y : auto; - font-family : monospace; - background-image : ${styles.terminal.backgroundImage_Terminal}; - opacity : 0.1; - top : 15%; - left : 33%; - bottom : 0; - right : 0; - position : absolute; - background-repeat : no-repeat; - background-size : 45%; + background-image : ${styles.terminal.backgroundImage_Terminal}; + background-repeat : no-repeat; + background-position : center 15%; + background-size : auto calc(75% - 1.7em); } .terminal { position: relative; diff --git a/src/app/panels/terminal.js b/src/app/panels/terminal.js index 1745496ba2..4dce6b3c58 100644 --- a/src/app/panels/terminal.js +++ b/src/app/panels/terminal.js @@ -145,8 +145,6 @@ class Terminal { self._view.term = yo`
-
-
${self._view.journal} ${self._view.cli} diff --git a/src/app/ui/styles-guide/style-guide.js b/src/app/ui/styles-guide/style-guide.js index 41bf21fb2d..9398008644 100644 --- a/src/app/ui/styles-guide/style-guide.js +++ b/src/app/ui/styles-guide/style-guide.js @@ -448,7 +448,7 @@ function styleGuide () { backgroundColor_Menu: appProperties.secondary_BackgroundColor, backgroundColor_Terminal: appProperties.seventh_BackgroundColor, backgroundColor_TerminalCLI: appProperties.seventh_BackgroundColor, - backgroundImage_Terminal: "url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiM0MTQwNDIiIGQ9Ik03MC41ODIsNDI4LjkwNGMwLjgxMSwwLDEuNjIyLDAuMjg1LDIuNDM3LDAuODUzYzAuODExLDAuNTcxLDEuMjE4LDEuMzQsMS4yMTgsMi4zMTQNCgkJYzAsMi4yNzctMS4wNTksMy40OTYtMy4xNjgsMy42NTZjLTUuMDM4LDAuODE0LTkuMzgxLDIuMzU2LTEzLjAzNyw0LjYzYy0zLjY1NSwyLjI3Ni02LjY2Myw1LjExNy05LjAxNiw4LjUyOA0KCQljLTIuMzU3LDMuNDExLTQuMTA0LDcuMjcyLTUuMjM5LDExLjU3NWMtMS4xMzksNC4zMDctMS43MDYsOC44MTQtMS43MDYsMTMuNTI0djMyLjY1M2MwLDIuMjczLTEuMTM5LDMuNDExLTMuNDEyLDMuNDExDQoJCWMtMi4yNzcsMC0zLjQxMi0xLjEzOC0zLjQxMi0zLjQxMXYtNzQuMzIzYzAtMi4yNzMsMS4xMzUtMy40MTEsMy40MTItMy40MTFjMi4yNzMsMCwzLjQxMiwxLjEzOCwzLjQxMiwzLjQxMXYxNS4xMDgNCgkJYzEuNDYyLTIuNDM3LDMuMjA2LTQuNzUyLDUuMjM5LTYuOTQ1YzIuMDI5LTIuMTkzLDQuMjY0LTQuMTQzLDYuNzAxLTUuODQ4YzIuNDM3LTEuNzA2LDUuMDc2LTMuMDg1LDcuOTE5LTQuMTQzDQoJCUM2NC43NzEsNDI5LjQzMyw2Ny42NTgsNDI4LjkwNCw3MC41ODIsNDI4LjkwNHoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMTM3Ljc3Myw0MjcuMTk4YzUuNjg1LDAsMTAuOTY2LDEuMTgxLDE1LjgzOSwzLjUzNGM0Ljg3NCwyLjM1Niw5LjA1NSw1LjQ4MiwxMi41NSw5LjM4MQ0KCQljMy40OTIsMy44OTksNi4yMTQsOC40MDcsOC4xNjQsMTMuNTI0YzEuOTQ5LDUuMTE3LDIuOTI0LDEwLjQ0LDIuOTI0LDE1Ljk2MWMwLDAuOTc2LTAuMzY2LDEuNzktMS4wOTcsMi40MzgNCgkJYy0wLjczMSwwLjY1LTEuNTgzLDAuOTc1LTIuNTU5LDAuOTc1aC02Ny45ODdjMC40ODcsNC4yMjYsMS41ODQsOC4yODUsMy4yOSwxMi4xODRjMS43MDYsMy44OTksMy45MzcsNy4zMTIsNi43MDEsMTAuMjM0DQoJCWMyLjc2MSwyLjkyNSw2LjAwOCw1LjI4MSw5Ljc0OCw3LjA2N2MzLjczNSwxLjc4OSw3Ljg3NywyLjY4MSwxMi40MjgsMi42ODFjMTIuMDIxLDAsMjEuMzYtNC43OSwyOC4wMjMtMTQuMzc3DQoJCWMwLjY0Ny0xLjEzNiwxLjYyMi0xLjcwNiwyLjkyNC0xLjcwNmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDEyYzAsMC4xNjMtMC4xNjQsMC43My0wLjQ4NywxLjcwNQ0KCQljLTMuNDEyLDYuMDEzLTguMjA1LDEwLjQ3OS0xNC4zNzcsMTMuNDAyYy02LjE3NiwyLjkyNC0xMi42NzEsNC4zODctMTkuNDk1LDQuMzg3Yy01LjY4OSwwLTEwLjkyOC0xLjE4MS0xNS43MTgtMy41MzMNCgkJYy00Ljc5My0yLjM1NC04LjkzNi01LjQ4My0xMi40MjgtOS4zODJjLTMuNDk1LTMuODk5LTYuMjE0LTguNDA3LTguMTYzLTEzLjUyNGMtMS45NS01LjExOC0yLjkyNC0xMC40MzctMi45MjQtMTUuOTYyDQoJCWMwLTUuNTIxLDAuOTc1LTEwLjg0NCwyLjkyNC0xNS45NjFjMS45NDktNS4xMTcsNC42NjgtOS42MjUsOC4xNjMtMTMuNTI0YzMuNDkyLTMuODk4LDcuNjM0LTcuMDI0LDEyLjQyOC05LjM4MQ0KCQlDMTI2Ljg0Niw0MjguMzc5LDEzMi4wODQsNDI3LjE5OCwxMzcuNzczLDQyNy4xOTh6IE0xNjkuOTQsNDY2LjE4OGMtMC4zMjgtNC4yMjMtMS4zNDEtOC4yODUtMy4wNDYtMTIuMTg0DQoJCWMtMS43MDYtMy44OTktMy45ODItNy4zMTItNi44MjMtMTAuMjM1Yy0yLjg0NC0yLjkyNC02LjE3NS01LjI3Ny05Ljk5MS03LjA2N2MtMy44MTktMS43ODUtNy45Mi0yLjY4LTEyLjMwNi0yLjY4DQoJCWMtNC41NSwwLTguNjkyLDAuODk1LTEyLjQyOCwyLjY4Yy0zLjczOSwxLjc5LTYuOTg3LDQuMTQ0LTkuNzQ4LDcuMDY3Yy0yLjc2NCwyLjkyNC00Ljk5NSw2LjMzNi02LjcwMSwxMC4yMzUNCgkJYy0xLjcwNiwzLjg5OC0yLjgwMiw3Ljk2MS0zLjI5LDEyLjE4NEgxNjkuOTR6Ii8+DQoJPHBhdGggZmlsbD0iIzQxNDA0MiIgZD0iTTMwNC42OSw0MjcuNDQxYzUuMDM0LDAsOS41MDQsMS4wMTgsMTMuNDAyLDMuMDQ3YzMuODk5LDIuMDMzLDcuMTg5LDQuNjcyLDkuODcsNy45Mg0KCQljMi42OCwzLjI1MSw0LjcwOSw3LjA2Niw2LjA5MiwxMS40NTJjMS4zNzksNC4zODcsMi4wNyw4Ljg1NiwyLjA3LDEzLjQwMnY0My42MmMwLDAuOTc1LTAuMzY1LDEuNzg5LTEuMDk3LDIuNDM4DQoJCWMtMC43MywwLjY0Ni0xLjUwMywwLjk3NS0yLjMxMywwLjk3NWMtMi4yNzYsMC0zLjQxMi0xLjE0LTMuNDEyLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTI5LTcuMTA0LTEuNTg0LTEwLjYNCgkJYy0xLjA1OS0zLjQ5MS0yLjYwMi02LjYxOC00LjYzLTkuMzgyYy0yLjAzMy0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4OC0xLjYyMS02LjY2Mi0yLjQzNi0xMC43MjItMi40MzYNCgkJYy01LjIsMC05LjU4NywxLjIxOC0xMy4xNTksMy42NTRjLTMuNTc0LDIuNDM4LTYuNDU3LDUuNTY2LTguNjUsOS4zODJjLTIuMTkzLDMuODE5LTMuODE4LDguMDQyLTQuODc0LDEyLjY3Mg0KCQljLTEuMDU5LDQuNjMtMS41ODQsOS4wNTgtMS41ODQsMTMuMjh2MzMuNjI5YzAsMC45NzUtMC4zNjUsMS43ODktMS4wOTYsMi40MzhjLTAuNzMxLDAuNjQ2LTEuNTA1LDAuOTc1LTIuMzE1LDAuOTc1DQoJCWMtMi4yNzYsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTMtNy4xMDQtMS41ODUtMTAuNmMtMS4wNTgtMy40OTEtMi42MDEtNi42MTgtNC42MjktOS4zODINCgkJYy0yLjAzNC0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4Ny0xLjYyMS02LjY2My0yLjQzNi0xMC43MjItMi40MzZjLTUuMDM3LDAtOS4zNDQsMC44OTUtMTIuOTE1LDIuNjgNCgkJYy0zLjU3NSwxLjc5LTYuNTQyLDQuMjY2LTguODk1LDcuNDMzYy0yLjM1NywzLjE2Ny00LjA2Myw2Ljk0NC01LjExNywxMS4zMzFjLTEuMDU5LDQuMzg2LTEuNTg0LDkuMS0xLjU4NCwxNC4xMzR2My44OTl2MC4yNDMNCgkJdjMyLjg5N2MwLDIuMjcyLTEuMTM4LDMuNDEyLTMuNDEyLDMuNDEyYy0yLjI3NiwwLTMuNDExLTEuMTQtMy40MTEtMy40MTJ2LTc0LjU2N2MwLTIuMjczLDEuMTM1LTMuNDExLDMuNDExLTMuNDExDQoJCWMyLjI3MywwLDMuNDEyLDEuMTM4LDMuNDEyLDMuNDExdjEyLjQyOGMyLjkyNC01LjE5Nyw2Ljg2MS05LjM4MiwxMS44MTktMTIuNTVjNC45NTQtMy4xNjcsMTAuNTE3LTQuNzUyLDE2LjY5Mi00Ljc1Mg0KCQljNi45ODMsMCwxMi45OTUsMS45OTEsMTguMDMyLDUuOTdjNS4wMzMsMy45ODMsOC42ODgsOS4yMjMsMTAuOTY2LDE1LjcxOWMyLjc2LTYuMzM2LDYuNzM5LTExLjUzMywxMS45NC0xNS41OTYNCgkJQzI5MS4xMjUsNDI5LjQ3NSwyOTcuMzgsNDI3LjQ0MSwzMDQuNjksNDI3LjQ0MXoiLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMzc4Ljc1Myw0MjkuMzkyYzAuODExLDAsMS41ODQsMC4zNjUsMi4zMTQsMS4wOTdjMC43MzEsMC43MywxLjA5NywxLjUwNCwxLjA5NywyLjMxNHY3NC4wOA0KCQljMCwwLjgxNC0wLjM2NSwxLjU4NC0xLjA5NywyLjMxNWMtMC43MywwLjczLTEuNTA0LDEuMDk3LTIuMzE0LDEuMDk3Yy0wLjk3NSwwLTEuNzktMC4zNjYtMi40MzgtMS4wOTcNCgkJYy0wLjY1LTAuNzMxLTAuOTc1LTEuNTAxLTAuOTc1LTIuMzE1di03NC4wOGMwLTAuODExLDAuMzI0LTEuNTg0LDAuOTc1LTIuMzE0QzM3Ni45NjMsNDI5Ljc1NywzNzcuNzc4LDQyOS4zOTIsMzc4Ljc1Myw0MjkuMzkyeiINCgkJLz4NCgk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNNDczLjM0LDQyOC42NmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDExbC0wLjQ4NywxLjk1bC0yNC4zNjgsMzUuMzM0bDI0LjM2OCwzNS41NzcNCgkJYzAuMzIzLDAuOTc2LDAuNDg3LDEuNjI2LDAuNDg3LDEuOTVjMCwyLjI3Mi0xLjEzOSwzLjQxMi0zLjQxMiwzLjQxMmMtMS4zMDIsMC0yLjE5My0wLjQ4OC0yLjY4LTEuNDYzbC0yMi45MDYtMzMuMzg0DQoJCWwtMjIuNjYzLDMzLjM4NGMtMC44MTQsMC45NzUtMS43OSwxLjQ2My0yLjkyNCwxLjQ2M2MtMi4yNzcsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEyYzAtMC4zMjQsMC4xNTktMC45NzUsMC40ODYtMS45NQ0KCQlsMjQuMzY5LTM1LjU3N2wtMjQuMzY5LTM1LjMzNGwtMC40ODYtMS45NWMwLTIuMjcyLDEuMTM0LTMuNDExLDMuNDExLTMuNDExYzEuMTM0LDAsMi4xMDksMC40ODcsMi45MjQsMS40NjJsMjIuNjYzLDMzLjE0MQ0KCQlsMjIuOTA2LTMzLjE0MUM0NzEuMTQ2LDQyOS4xNDcsNDcyLjAzOCw0MjguNjYsNDczLjM0LDQyOC42NnoiLz4NCjwvZz4NCjxnPg0KCTxnPg0KCQk8ZyBvcGFjaXR5PSIwLjQ1Ij4NCgkJCTxnPg0KCQkJCTxwb2x5Z29uIGZpbGw9IiMwMTAxMDEiIHBvaW50cz0iMTUwLjczNCwxOTYuMjEyIDI1NS45NjksMzQ0LjUwOCAyNTUuOTY5LDI1OC4zODcgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuOCI+DQoJCQk8Zz4NCgkJCQk8cG9seWdvbiBmaWxsPSIjMDEwMTAxIiBwb2ludHM9IjI1NS45NjksMjU4LjM4NyAyNTUuOTY5LDM0NC41MDggMzYxLjI2NywxOTYuMjEyIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjYiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDEyNi43ODEgMTUwLjczMywxNzQuNjExIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJCTxnIG9wYWNpdHk9IjAuNDUiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIxNTAuNzM0LDE3NC42MTIgMjU1Ljk2OSwyMzYuODE4IDI1NS45NjksMTI2Ljc4MiAyNTUuOTY5LDAuMDAxIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjgiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIyNTUuOTY5LDAgMjU1Ljk2OSwxMjYuNzgxIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEgCQkJCSIvPg0KCQkJPC9nPg0KCQk8L2c+DQoJPC9nPg0KPC9nPg0KPC9zdmc+DQo=')", + backgroundImage_Terminal: "url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCgk8ZyBvcGFjaXR5PSIwLjEiPg0KCQk8Zz4NCgkJCTxwYXRoIGZpbGw9IiM0MTQwNDIiIGQ9Ik03MC41ODIsNDI4LjkwNGMwLjgxMSwwLDEuNjIyLDAuMjg1LDIuNDM3LDAuODUzYzAuODExLDAuNTcxLDEuMjE4LDEuMzQsMS4yMTgsMi4zMTQNCgkJCQljMCwyLjI3Ny0xLjA1OSwzLjQ5Ni0zLjE2OCwzLjY1NmMtNS4wMzgsMC44MTQtOS4zODEsMi4zNTYtMTMuMDM3LDQuNjNjLTMuNjU1LDIuMjc2LTYuNjYzLDUuMTE3LTkuMDE2LDguNTI4DQoJCQkJYy0yLjM1NywzLjQxMS00LjEwNCw3LjI3Mi01LjIzOSwxMS41NzVjLTEuMTM5LDQuMzA3LTEuNzA2LDguODE0LTEuNzA2LDEzLjUyNHYzMi42NTNjMCwyLjI3My0xLjEzOSwzLjQxMS0zLjQxMiwzLjQxMQ0KCQkJCWMtMi4yNzcsMC0zLjQxMi0xLjEzOC0zLjQxMi0zLjQxMXYtNzQuMzIzYzAtMi4yNzMsMS4xMzUtMy40MTEsMy40MTItMy40MTFjMi4yNzMsMCwzLjQxMiwxLjEzOCwzLjQxMiwzLjQxMXYxNS4xMDgNCgkJCQljMS40NjItMi40MzcsMy4yMDYtNC43NTIsNS4yMzktNi45NDVjMi4wMjktMi4xOTMsNC4yNjQtNC4xNDMsNi43MDEtNS44NDhjMi40MzctMS43MDYsNS4wNzYtMy4wODUsNy45MTktNC4xNDMNCgkJCQlDNjQuNzcxLDQyOS40MzMsNjcuNjU4LDQyOC45MDQsNzAuNTgyLDQyOC45MDR6Ii8+DQoJCQk8cGF0aCBmaWxsPSIjNDE0MDQyIiBkPSJNMTM3Ljc3Myw0MjcuMTk4YzUuNjg1LDAsMTAuOTY2LDEuMTgxLDE1LjgzOSwzLjUzNGM0Ljg3NCwyLjM1Niw5LjA1NSw1LjQ4MiwxMi41NSw5LjM4MQ0KCQkJCWMzLjQ5MiwzLjg5OSw2LjIxNCw4LjQwNyw4LjE2NCwxMy41MjRjMS45NDksNS4xMTcsMi45MjQsMTAuNDQsMi45MjQsMTUuOTYxYzAsMC45NzYtMC4zNjYsMS43OS0xLjA5NywyLjQzOA0KCQkJCWMtMC43MzEsMC42NS0xLjU4MywwLjk3NS0yLjU1OSwwLjk3NWgtNjcuOTg3YzAuNDg3LDQuMjI2LDEuNTg0LDguMjg1LDMuMjksMTIuMTg0YzEuNzA2LDMuODk5LDMuOTM3LDcuMzEyLDYuNzAxLDEwLjIzNA0KCQkJCWMyLjc2MSwyLjkyNSw2LjAwOCw1LjI4MSw5Ljc0OCw3LjA2N2MzLjczNSwxLjc4OSw3Ljg3NywyLjY4MSwxMi40MjgsMi42ODFjMTIuMDIxLDAsMjEuMzYtNC43OSwyOC4wMjMtMTQuMzc3DQoJCQkJYzAuNjQ3LTEuMTM2LDEuNjIyLTEuNzA2LDIuOTI0LTEuNzA2YzIuMjczLDAsMy40MTIsMS4xMzksMy40MTIsMy40MTJjMCwwLjE2My0wLjE2NCwwLjczLTAuNDg3LDEuNzA1DQoJCQkJYy0zLjQxMiw2LjAxMy04LjIwNSwxMC40NzktMTQuMzc3LDEzLjQwMmMtNi4xNzYsMi45MjQtMTIuNjcxLDQuMzg3LTE5LjQ5NSw0LjM4N2MtNS42ODksMC0xMC45MjgtMS4xODEtMTUuNzE4LTMuNTMzDQoJCQkJYy00Ljc5My0yLjM1NC04LjkzNi01LjQ4My0xMi40MjgtOS4zODJjLTMuNDk1LTMuODk5LTYuMjE0LTguNDA3LTguMTYzLTEzLjUyNGMtMS45NS01LjExOC0yLjkyNC0xMC40MzctMi45MjQtMTUuOTYyDQoJCQkJYzAtNS41MjEsMC45NzUtMTAuODQ0LDIuOTI0LTE1Ljk2MWMxLjk0OS01LjExNyw0LjY2OC05LjYyNSw4LjE2My0xMy41MjRjMy40OTItMy44OTgsNy42MzQtNy4wMjQsMTIuNDI4LTkuMzgxDQoJCQkJQzEyNi44NDYsNDI4LjM3OSwxMzIuMDg0LDQyNy4xOTgsMTM3Ljc3Myw0MjcuMTk4eiBNMTY5Ljk0LDQ2Ni4xODhjLTAuMzI4LTQuMjIzLTEuMzQxLTguMjg1LTMuMDQ2LTEyLjE4NA0KCQkJCWMtMS43MDYtMy44OTktMy45ODItNy4zMTItNi44MjMtMTAuMjM1Yy0yLjg0NC0yLjkyNC02LjE3NS01LjI3Ny05Ljk5MS03LjA2N2MtMy44MTktMS43ODUtNy45Mi0yLjY4LTEyLjMwNi0yLjY4DQoJCQkJYy00LjU1LDAtOC42OTIsMC44OTUtMTIuNDI4LDIuNjhjLTMuNzM5LDEuNzktNi45ODcsNC4xNDQtOS43NDgsNy4wNjdjLTIuNzY0LDIuOTI0LTQuOTk1LDYuMzM2LTYuNzAxLDEwLjIzNQ0KCQkJCWMtMS43MDYsMy44OTgtMi44MDIsNy45NjEtMy4yOSwxMi4xODRIMTY5Ljk0eiIvPg0KCQkJPHBhdGggZmlsbD0iIzQxNDA0MiIgZD0iTTMwNC42OSw0MjcuNDQxYzUuMDM0LDAsOS41MDQsMS4wMTgsMTMuNDAyLDMuMDQ3YzMuODk5LDIuMDMzLDcuMTg5LDQuNjcyLDkuODcsNy45Mg0KCQkJCWMyLjY4LDMuMjUxLDQuNzA5LDcuMDY2LDYuMDkyLDExLjQ1MmMxLjM3OSw0LjM4NywyLjA3LDguODU2LDIuMDcsMTMuNDAydjQzLjYyYzAsMC45NzUtMC4zNjUsMS43ODktMS4wOTcsMi40MzgNCgkJCQljLTAuNzMsMC42NDYtMS41MDMsMC45NzUtMi4zMTMsMC45NzVjLTIuMjc2LDAtMy40MTItMS4xNC0zLjQxMi0zLjQxMnYtNDMuNjJjMC0zLjU3MS0wLjUyOS03LjEwNC0xLjU4NC0xMC42DQoJCQkJYy0xLjA1OS0zLjQ5MS0yLjYwMi02LjYxOC00LjYzLTkuMzgyYy0yLjAzMy0yLjc2MS00LjU5Mi00Ljk1My03LjY3Ny02LjU4Yy0zLjA4OC0xLjYyMS02LjY2Mi0yLjQzNi0xMC43MjItMi40MzYNCgkJCQljLTUuMiwwLTkuNTg3LDEuMjE4LTEzLjE1OSwzLjY1NGMtMy41NzQsMi40MzgtNi40NTcsNS41NjYtOC42NSw5LjM4MmMtMi4xOTMsMy44MTktMy44MTgsOC4wNDItNC44NzQsMTIuNjcyDQoJCQkJYy0xLjA1OSw0LjYzLTEuNTg0LDkuMDU4LTEuNTg0LDEzLjI4djMzLjYyOWMwLDAuOTc1LTAuMzY1LDEuNzg5LTEuMDk2LDIuNDM4Yy0wLjczMSwwLjY0Ni0xLjUwNSwwLjk3NS0yLjMxNSwwLjk3NQ0KCQkJCWMtMi4yNzYsMC0zLjQxMS0xLjE0LTMuNDExLTMuNDEydi00My42MmMwLTMuNTcxLTAuNTMtNy4xMDQtMS41ODUtMTAuNmMtMS4wNTgtMy40OTEtMi42MDEtNi42MTgtNC42MjktOS4zODINCgkJCQljLTIuMDM0LTIuNzYxLTQuNTkyLTQuOTUzLTcuNjc3LTYuNThjLTMuMDg3LTEuNjIxLTYuNjYzLTIuNDM2LTEwLjcyMi0yLjQzNmMtNS4wMzcsMC05LjM0NCwwLjg5NS0xMi45MTUsMi42OA0KCQkJCWMtMy41NzUsMS43OS02LjU0Miw0LjI2Ni04Ljg5NSw3LjQzM2MtMi4zNTcsMy4xNjctNC4wNjMsNi45NDQtNS4xMTcsMTEuMzMxYy0xLjA1OSw0LjM4Ni0xLjU4NCw5LjEtMS41ODQsMTQuMTM0djMuODk5djAuMjQzDQoJCQkJdjMyLjg5N2MwLDIuMjcyLTEuMTM4LDMuNDEyLTMuNDEyLDMuNDEyYy0yLjI3NiwwLTMuNDExLTEuMTQtMy40MTEtMy40MTJ2LTc0LjU2N2MwLTIuMjczLDEuMTM1LTMuNDExLDMuNDExLTMuNDExDQoJCQkJYzIuMjczLDAsMy40MTIsMS4xMzgsMy40MTIsMy40MTF2MTIuNDI4YzIuOTI0LTUuMTk3LDYuODYxLTkuMzgyLDExLjgxOS0xMi41NWM0Ljk1NC0zLjE2NywxMC41MTctNC43NTIsMTYuNjkyLTQuNzUyDQoJCQkJYzYuOTgzLDAsMTIuOTk1LDEuOTkxLDE4LjAzMiw1Ljk3YzUuMDMzLDMuOTgzLDguNjg4LDkuMjIzLDEwLjk2NiwxNS43MTljMi43Ni02LjMzNiw2LjczOS0xMS41MzMsMTEuOTQtMTUuNTk2DQoJCQkJQzI5MS4xMjUsNDI5LjQ3NSwyOTcuMzgsNDI3LjQ0MSwzMDQuNjksNDI3LjQ0MXoiLz4NCgkJCTxwYXRoIGZpbGw9IiM0MTQwNDIiIGQ9Ik0zNzguNzUzLDQyOS4zOTJjMC44MTEsMCwxLjU4NCwwLjM2NSwyLjMxNCwxLjA5N2MwLjczMSwwLjczLDEuMDk3LDEuNTA0LDEuMDk3LDIuMzE0djc0LjA4DQoJCQkJYzAsMC44MTQtMC4zNjUsMS41ODQtMS4wOTcsMi4zMTVjLTAuNzMsMC43My0xLjUwNCwxLjA5Ny0yLjMxNCwxLjA5N2MtMC45NzUsMC0xLjc5LTAuMzY2LTIuNDM4LTEuMDk3DQoJCQkJYy0wLjY1LTAuNzMxLTAuOTc1LTEuNTAxLTAuOTc1LTIuMzE1di03NC4wOGMwLTAuODExLDAuMzI0LTEuNTg0LDAuOTc1LTIuMzE0QzM3Ni45NjMsNDI5Ljc1NywzNzcuNzc4LDQyOS4zOTIsMzc4Ljc1Myw0MjkuMzkyeiINCgkJCQkvPg0KCQkJPHBhdGggZmlsbD0iIzQxNDA0MiIgZD0iTTQ3My4zNCw0MjguNjZjMi4yNzMsMCwzLjQxMiwxLjEzOSwzLjQxMiwzLjQxMWwtMC40ODcsMS45NWwtMjQuMzY4LDM1LjMzNGwyNC4zNjgsMzUuNTc3DQoJCQkJYzAuMzIzLDAuOTc2LDAuNDg3LDEuNjI2LDAuNDg3LDEuOTVjMCwyLjI3Mi0xLjEzOSwzLjQxMi0zLjQxMiwzLjQxMmMtMS4zMDIsMC0yLjE5My0wLjQ4OC0yLjY4LTEuNDYzbC0yMi45MDYtMzMuMzg0DQoJCQkJbC0yMi42NjMsMzMuMzg0Yy0wLjgxNCwwLjk3NS0xLjc5LDEuNDYzLTIuOTI0LDEuNDYzYy0yLjI3NywwLTMuNDExLTEuMTQtMy40MTEtMy40MTJjMC0wLjMyNCwwLjE1OS0wLjk3NSwwLjQ4Ni0xLjk1DQoJCQkJbDI0LjM2OS0zNS41NzdsLTI0LjM2OS0zNS4zMzRsLTAuNDg2LTEuOTVjMC0yLjI3MiwxLjEzNC0zLjQxMSwzLjQxMS0zLjQxMWMxLjEzNCwwLDIuMTA5LDAuNDg3LDIuOTI0LDEuNDYybDIyLjY2MywzMy4xNDENCgkJCQlsMjIuOTA2LTMzLjE0MUM0NzEuMTQ2LDQyOS4xNDcsNDcyLjAzOCw0MjguNjYsNDczLjM0LDQyOC42NnoiLz4NCgkJPC9nPg0KCQk8Zz4NCgkJCTxnPg0KCQkJCTxnIG9wYWNpdHk9IjAuNDUiPg0KCQkJCQk8Zz4NCgkJCQkJCTxwb2x5Z29uIGZpbGw9IiMwMTAxMDEiIHBvaW50cz0iMTUwLjczNCwxOTYuMjEyIDI1NS45NjksMzQ0LjUwOCAyNTUuOTY5LDI1OC4zODciLz4NCgkJCQkJPC9nPg0KCQkJCTwvZz4NCgkJCQk8ZyBvcGFjaXR5PSIwLjgiPg0KCQkJCQk8Zz4NCgkJCQkJCTxwb2x5Z29uIGZpbGw9IiMwMTAxMDEiIHBvaW50cz0iMjU1Ljk2OSwyNTguMzg3IDI1NS45NjksMzQ0LjUwOCAzNjEuMjY3LDE5Ni4yMTIiLz4NCgkJCQkJPC9nPg0KCQkJCTwvZz4NCgkJCQk8ZyBvcGFjaXR5PSIwLjYiPg0KCQkJCQk8Zz4NCgkJCQkJCTxwb2x5Z29uIGZpbGw9IiMwMTAxMDEiIHBvaW50cz0iMjU1Ljk2OSwxMjYuNzgxIDE1MC43MzMsMTc0LjYxMSAyNTUuOTY5LDIzNi44MTggMzYxLjIwNCwxNzQuNjExIi8+DQoJCQkJCTwvZz4NCgkJCQk8L2c+DQoJCQkJPGcgb3BhY2l0eT0iMC40NSI+DQoJCQkJCTxnPg0KCQkJCQkJPHBvbHlnb24gZmlsbD0iIzAxMDEwMSIgcG9pbnRzPSIxNTAuNzM0LDE3NC42MTIgMjU1Ljk2OSwyMzYuODE4IDI1NS45NjksMTI2Ljc4MiAyNTUuOTY5LDAuMDAxIi8+DQoJCQkJCTwvZz4NCgkJCQk8L2c+DQoJCQkJPGcgb3BhY2l0eT0iMC44Ij4NCgkJCQkJPGc+DQoJCQkJCQk8cG9seWdvbiBmaWxsPSIjMDEwMTAxIiBwb2ludHM9IjI1NS45NjksMCAyNTUuOTY5LDEyNi43ODEgMjU1Ljk2OSwyMzYuODE4IDM2MS4yMDQsMTc0LjYxMSIvPg0KCQkJCQk8L2c+DQoJCQkJPC9nPg0KCQkJPC9nPg0KCQk8L2c+DQoJPC9nPg0KPC9zdmc+DQo=')", text_Primary: appProperties.mainText_Color, text_Secondary: appProperties.supportText_Color, diff --git a/src/app/ui/styles-guide/styleGuideDark.js b/src/app/ui/styles-guide/styleGuideDark.js index 53170c9e30..70ad6b8b43 100644 --- a/src/app/ui/styles-guide/styleGuideDark.js +++ b/src/app/ui/styles-guide/styleGuideDark.js @@ -455,7 +455,7 @@ function styleGuideDark () { backgroundColor_Menu: appProperties.secondary_BackgroundColor, backgroundColor_Terminal: appProperties.seventh_BackgroundColor, backgroundColor_TerminalCLI: appProperties.seventh_BackgroundColor, - backgroundImage_Terminal: "url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik03MC41ODIsNDI4LjkwNGMwLjgxMSwwLDEuNjIyLDAuMjg1LDIuNDM3LDAuODU0YzAuODEyLDAuNTcsMS4yMTgsMS4zNCwxLjIxOCwyLjMxMw0KCQljMCwyLjI3Ny0xLjA1OSwzLjQ5Ni0zLjE2OCwzLjY1NmMtNS4wMzgsMC44MTMtOS4zODEsMi4zNTUtMTMuMDM2LDQuNjNjLTMuNjU1LDIuMjc2LTYuNjYzLDUuMTE3LTkuMDE3LDguNTI4DQoJCWMtMi4zNTYsMy40MTEtNC4xMDQsNy4yNzEtNS4yMzksMTEuNTc1Yy0xLjEzOSw0LjMwNy0xLjcwNiw4LjgxMy0xLjcwNiwxMy41MjN2MzIuNjUzYzAsMi4yNzItMS4xMzksMy40MTEtMy40MTEsMy40MTENCgkJYy0yLjI3NywwLTMuNDEyLTEuMTM5LTMuNDEyLTMuNDExdi03NC4zMjNjMC0yLjI3MywxLjEzNS0zLjQxMSwzLjQxMi0zLjQxMWMyLjI3MiwwLDMuNDExLDEuMTM4LDMuNDExLDMuNDExdjE1LjEwOA0KCQljMS40NjMtMi40MzgsMy4yMDYtNC43NTIsNS4yMzktNi45NDVjMi4wMjktMi4xOTMsNC4yNjUtNC4xNDMsNi43MDEtNS44NDhjMi40MzctMS43MDYsNS4wNzYtMy4wODUsNy45MTktNC4xNDQNCgkJQzY0Ljc3MSw0MjkuNDMzLDY3LjY1OCw0MjguOTA0LDcwLjU4Miw0MjguOTA0eiIvPg0KCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0xMzcuNzczLDQyNy4xOThjNS42ODYsMCwxMC45NjYsMS4xODIsMTUuODM5LDMuNTM0YzQuODc0LDIuMzU2LDkuMDU2LDUuNDgyLDEyLjU1MSw5LjM4MQ0KCQljMy40OTEsMy44OTksNi4yMTQsOC40MDcsOC4xNjQsMTMuNTI0YzEuOTQ4LDUuMTE3LDIuOTI0LDEwLjQzOSwyLjkyNCwxNS45NjFjMCwwLjk3Ni0wLjM2NiwxLjc5LTEuMDk4LDIuNDM4DQoJCWMtMC43MywwLjY1LTEuNTgzLDAuOTc2LTIuNTU5LDAuOTc2aC02Ny45ODdjMC40ODcsNC4yMjYsMS41ODQsOC4yODUsMy4yOSwxMi4xODRjMS43MDYsMy44OTksMy45MzgsNy4zMTIsNi43MDEsMTAuMjM0DQoJCWMyLjc2MSwyLjkyNSw2LjAwOCw1LjI4MSw5Ljc0OCw3LjA2NmMzLjczNSwxLjc4OSw3Ljg3NywyLjY4MiwxMi40MjgsMi42ODJjMTIuMDIxLDAsMjEuMzYtNC43OSwyOC4wMjMtMTQuMzc3DQoJCWMwLjY0Ni0xLjEzNywxLjYyMi0xLjcwNiwyLjkyNC0xLjcwNmMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDEyYzAsMC4xNjMtMC4xNjQsMC43MjktMC40ODcsMS43MDQNCgkJYy0zLjQxMiw2LjAxNC04LjIwNSwxMC40NzktMTQuMzc3LDEzLjQwMmMtNi4xNzYsMi45MjQtMTIuNjcxLDQuMzg3LTE5LjQ5NSw0LjM4N2MtNS42ODgsMC0xMC45MjgtMS4xODEtMTUuNzE4LTMuNTMyDQoJCWMtNC43OTMtMi4zNTQtOC45MzYtNS40ODMtMTIuNDI4LTkuMzgyYy0zLjQ5NS0zLjg5OS02LjIxNC04LjQwNy04LjE2My0xMy41MjRjLTEuOTUtNS4xMTgtMi45MjQtMTAuNDM4LTIuOTI0LTE1Ljk2Mg0KCQljMC01LjUyMSwwLjk3NS0xMC44NDQsMi45MjQtMTUuOTYxczQuNjY4LTkuNjI1LDguMTYzLTEzLjUyNGMzLjQ5Mi0zLjg5Nyw3LjYzNC03LjAyMywxMi40MjgtOS4zODENCgkJQzEyNi44NDYsNDI4LjM4LDEzMi4wODQsNDI3LjE5OCwxMzcuNzczLDQyNy4xOTh6IE0xNjkuOTQsNDY2LjE4OGMtMC4zMjgtNC4yMjMtMS4zNDEtOC4yODUtMy4wNDYtMTIuMTg0DQoJCWMtMS43MDYtMy44OTktMy45ODEtNy4zMTItNi44MjMtMTAuMjM1Yy0yLjg0NC0yLjkyNC02LjE3NS01LjI3Ny05Ljk5LTcuMDY3Yy0zLjgxOS0xLjc4NC03LjkyLTIuNjgtMTIuMzA3LTIuNjgNCgkJYy00LjU1LDAtOC42OTEsMC44OTYtMTIuNDI4LDIuNjhjLTMuNzM5LDEuNzktNi45ODcsNC4xNDUtOS43NDgsNy4wNjdjLTIuNzY0LDIuOTI0LTQuOTk1LDYuMzM2LTYuNzAxLDEwLjIzNQ0KCQljLTEuNzA2LDMuODk3LTIuODAyLDcuOTYxLTMuMjksMTIuMTg0SDE2OS45NHoiLz4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMzA0LjY5LDQyNy40NDFjNS4wMzQsMCw5LjUwNCwxLjAxOSwxMy40MDIsMy4wNDdjMy44OTksMi4wMzMsNy4xODgsNC42NzIsOS44Nyw3LjkyDQoJCWMyLjY4LDMuMjUxLDQuNzA5LDcuMDY2LDYuMDkyLDExLjQ1MmMxLjM3OSw0LjM4NywyLjA3LDguODU2LDIuMDcsMTMuNDAydjQzLjYyYzAsMC45NzUtMC4zNjUsMS43ODktMS4wOTgsMi40MzgNCgkJYy0wLjcyOSwwLjY0Ni0xLjUwMywwLjk3Ni0yLjMxMiwwLjk3NmMtMi4yNzYsMC0zLjQxMi0xLjE0MS0zLjQxMi0zLjQxMnYtNDMuNjJjMC0zLjU3MS0wLjUyOS03LjEwNC0xLjU4NC0xMC42MDENCgkJYy0xLjA1OS0zLjQ5LTIuNjAyLTYuNjE3LTQuNjMtOS4zODJjLTIuMDMzLTIuNzYxLTQuNTkyLTQuOTUzLTcuNjc3LTYuNThjLTMuMDg4LTEuNjIxLTYuNjYyLTIuNDM2LTEwLjcyMy0yLjQzNg0KCQljLTUuMiwwLTkuNTg3LDEuMjE4LTEzLjE1OSwzLjY1NGMtMy41NzMsMi40MzgtNi40NTYsNS41NjUtOC42NDksOS4zODJjLTIuMTkzLDMuODE4LTMuODE4LDguMDQyLTQuODc0LDEyLjY3Mg0KCQljLTEuMDU5LDQuNjMtMS41ODQsOS4wNTgtMS41ODQsMTMuMjh2MzMuNjI5YzAsMC45NzUtMC4zNjUsMS43ODktMS4wOTYsMi40MzhjLTAuNzMxLDAuNjQ2LTEuNTA2LDAuOTc2LTIuMzE1LDAuOTc2DQoJCWMtMi4yNzYsMC0zLjQxMS0xLjE0MS0zLjQxMS0zLjQxMnYtNDMuNjJjMC0zLjU3MS0wLjUzLTcuMTA0LTEuNTg1LTEwLjYwMWMtMS4wNTgtMy40OS0yLjYwMS02LjYxNy00LjYyOS05LjM4Mg0KCQljLTIuMDM0LTIuNzYxLTQuNTkyLTQuOTUzLTcuNjc3LTYuNThjLTMuMDg3LTEuNjIxLTYuNjYzLTIuNDM2LTEwLjcyMy0yLjQzNmMtNS4wMzYsMC05LjM0NCwwLjg5NS0xMi45MTUsMi42OA0KCQljLTMuNTc0LDEuNzktNi41NDIsNC4yNjctOC44OTUsNy40MzRjLTIuMzU3LDMuMTY3LTQuMDYzLDYuOTQzLTUuMTE3LDExLjMzMWMtMS4wNTksNC4zODYtMS41ODQsOS4xLTEuNTg0LDE0LjEzNHYzLjg5OHYwLjI0Mw0KCQl2MzIuODk3YzAsMi4yNzEtMS4xMzgsMy40MTItMy40MTIsMy40MTJjLTIuMjc1LDAtMy40MTEtMS4xNDEtMy40MTEtMy40MTJ2LTc0LjU2N2MwLTIuMjcyLDEuMTM2LTMuNDExLDMuNDExLTMuNDExDQoJCWMyLjI3MywwLDMuNDEyLDEuMTM5LDMuNDEyLDMuNDExdjEyLjQyOGMyLjkyNC01LjE5Niw2Ljg2MS05LjM4MiwxMS44MTktMTIuNTVjNC45NTQtMy4xNjcsMTAuNTE3LTQuNzUyLDE2LjY5MS00Ljc1Mg0KCQljNi45ODMsMCwxMi45OTUsMS45OTEsMTguMDMyLDUuOTdjNS4wMzMsMy45ODMsOC42ODgsOS4yMjQsMTAuOTY2LDE1LjcyYzIuNzYxLTYuMzM2LDYuNzM5LTExLjUzMywxMS45NC0xNS41OTcNCgkJQzI5MS4xMjUsNDI5LjQ3NSwyOTcuMzgsNDI3LjQ0MSwzMDQuNjksNDI3LjQ0MXoiLz4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMzc4Ljc1Myw0MjkuMzkyYzAuODExLDAsMS41ODQsMC4zNjUsMi4zMTMsMS4wOTdjMC43MzEsMC43MywxLjA5OCwxLjUwNCwxLjA5OCwyLjMxNHY3NC4wOA0KCQljMCwwLjgxMy0wLjM2NSwxLjU4NC0xLjA5OCwyLjMxNGMtMC43MjksMC43My0xLjUwNCwxLjA5OC0yLjMxMywxLjA5OGMtMC45NzYsMC0xLjc5LTAuMzY2LTIuNDM4LTEuMDk4DQoJCWMtMC42NDktMC43My0wLjk3NS0xLjUwMS0wLjk3NS0yLjMxNHYtNzQuMDhjMC0wLjgxMiwwLjMyNC0xLjU4NCwwLjk3NS0yLjMxNEMzNzYuOTYzLDQyOS43NTgsMzc3Ljc3OCw0MjkuMzkyLDM3OC43NTMsNDI5LjM5MnoiDQoJCS8+DQoJPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQ3My4zNCw0MjguNjZjMi4yNzIsMCwzLjQxMiwxLjE0LDMuNDEyLDMuNDExbC0wLjQ4NywxLjk1bC0yNC4zNjgsMzUuMzM0bDI0LjM2OCwzNS41NzcNCgkJYzAuMzIzLDAuOTc2LDAuNDg3LDEuNjI2LDAuNDg3LDEuOTVjMCwyLjI3MS0xLjE0LDMuNDEyLTMuNDEyLDMuNDEyYy0xLjMwMywwLTIuMTkzLTAuNDg4LTIuNjgxLTEuNDY0bC0yMi45MDUtMzMuMzg0DQoJCWwtMjIuNjYzLDMzLjM4NGMtMC44MTQsMC45NzYtMS43OSwxLjQ2NC0yLjkyNSwxLjQ2NGMtMi4yNzYsMC0zLjQxLTEuMTQxLTMuNDEtMy40MTJjMC0wLjMyNCwwLjE1OC0wLjk3NiwwLjQ4NS0xLjk1DQoJCWwyNC4zNjktMzUuNTc3bC0yNC4zNjktMzUuMzM0bC0wLjQ4NS0xLjk1YzAtMi4yNzEsMS4xMzQtMy40MTEsMy40MS0zLjQxMWMxLjEzNSwwLDIuMTA5LDAuNDg3LDIuOTI1LDEuNDYybDIyLjY2MywzMy4xNDINCgkJbDIyLjkwNS0zMy4xNDJDNDcxLjE0Niw0MjkuMTQ3LDQ3Mi4wMzcsNDI4LjY2LDQ3My4zNCw0MjguNjZ6Ii8+DQo8L2c+DQo8Zz4NCgk8Zz4NCgkJPGcgb3BhY2l0eT0iMC40NSI+DQoJCQk8Zz4NCgkJCQk8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjE1MC43MzQsMTk2LjIxMiAyNTUuOTY5LDM0NC41MDkgMjU1Ljk2OSwyNTguMzg3IAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjgiPg0KCQkJPGc+DQoJCQkJPHBvbHlnb24gZmlsbD0iI0ZGRkZGRiIgcG9pbnRzPSIyNTUuOTY5LDI1OC4zODcgMjU1Ljk2OSwzNDQuNTA5IDM2MS4yNjcsMTk2LjIxMiAJCQkJIi8+DQoJCQk8L2c+DQoJCTwvZz4NCgkJPGcgb3BhY2l0eT0iMC42Ij4NCgkJCTxnPg0KCQkJCTxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMjU1Ljk2OSwxMjYuNzgxIDE1MC43MzMsMTc0LjYxMSAyNTUuOTY5LDIzNi44MTggMzYxLjIwNCwxNzQuNjExIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCQk8ZyBvcGFjaXR5PSIwLjQ1Ij4NCgkJCTxnPg0KCQkJCTxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMTUwLjczNCwxNzQuNjEyIDI1NS45NjksMjM2LjgxOCAyNTUuOTY5LDEyNi43ODIgMjU1Ljk2OSwwLjAwMSAJCQkJIi8+DQoJCQk8L2c+DQoJCTwvZz4NCgkJPGcgb3BhY2l0eT0iMC44Ij4NCgkJCTxnPg0KCQkJCTxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMjU1Ljk2OSwwIDI1NS45NjksMTI2Ljc4MSAyNTUuOTY5LDIzNi44MTggMzYxLjIwNCwxNzQuNjExIAkJCQkiLz4NCgkJCTwvZz4NCgkJPC9nPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0K')", + backgroundImage_Terminal: "url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCgk8ZyBvcGFjaXR5PSIwLjEiPg0KCQk8Zz4NCgkJCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik03MC41ODIsNDI4LjkwNGMwLjgxMSwwLDEuNjIyLDAuMjg1LDIuNDM3LDAuODU0YzAuODEyLDAuNTcsMS4yMTgsMS4zNCwxLjIxOCwyLjMxMw0KCQkJCWMwLDIuMjc3LTEuMDU5LDMuNDk2LTMuMTY4LDMuNjU2Yy01LjAzOCwwLjgxMy05LjM4MSwyLjM1NS0xMy4wMzYsNC42M2MtMy42NTUsMi4yNzYtNi42NjMsNS4xMTctOS4wMTcsOC41MjgNCgkJCQljLTIuMzU2LDMuNDExLTQuMTA0LDcuMjcxLTUuMjM5LDExLjU3NWMtMS4xMzksNC4zMDctMS43MDYsOC44MTMtMS43MDYsMTMuNTIzdjMyLjY1M2MwLDIuMjcyLTEuMTM5LDMuNDExLTMuNDExLDMuNDExDQoJCQkJYy0yLjI3NywwLTMuNDEyLTEuMTM5LTMuNDEyLTMuNDExdi03NC4zMjNjMC0yLjI3MywxLjEzNS0zLjQxMSwzLjQxMi0zLjQxMWMyLjI3MiwwLDMuNDExLDEuMTM4LDMuNDExLDMuNDExdjE1LjEwOA0KCQkJCWMxLjQ2My0yLjQzOCwzLjIwNi00Ljc1Miw1LjIzOS02Ljk0NWMyLjAyOS0yLjE5Myw0LjI2NS00LjE0Myw2LjcwMS01Ljg0OGMyLjQzNy0xLjcwNiw1LjA3Ni0zLjA4NSw3LjkxOS00LjE0NA0KCQkJCUM2NC43NzEsNDI5LjQzMyw2Ny42NTgsNDI4LjkwNCw3MC41ODIsNDI4LjkwNHoiLz4NCgkJCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0xMzcuNzczLDQyNy4xOThjNS42ODYsMCwxMC45NjYsMS4xODIsMTUuODM5LDMuNTM0YzQuODc0LDIuMzU2LDkuMDU2LDUuNDgyLDEyLjU1MSw5LjM4MQ0KCQkJCWMzLjQ5MSwzLjg5OSw2LjIxNCw4LjQwNyw4LjE2NCwxMy41MjRjMS45NDgsNS4xMTcsMi45MjQsMTAuNDM5LDIuOTI0LDE1Ljk2MWMwLDAuOTc2LTAuMzY2LDEuNzktMS4wOTgsMi40MzgNCgkJCQljLTAuNzMsMC42NS0xLjU4MywwLjk3Ni0yLjU1OSwwLjk3NmgtNjcuOTg3YzAuNDg3LDQuMjI2LDEuNTg0LDguMjg1LDMuMjksMTIuMTg0YzEuNzA2LDMuODk5LDMuOTM4LDcuMzEyLDYuNzAxLDEwLjIzNA0KCQkJCWMyLjc2MSwyLjkyNSw2LjAwOCw1LjI4MSw5Ljc0OCw3LjA2NmMzLjczNSwxLjc4OSw3Ljg3NywyLjY4MiwxMi40MjgsMi42ODJjMTIuMDIxLDAsMjEuMzYtNC43OSwyOC4wMjMtMTQuMzc3DQoJCQkJYzAuNjQ2LTEuMTM3LDEuNjIyLTEuNzA2LDIuOTI0LTEuNzA2YzIuMjczLDAsMy40MTIsMS4xMzksMy40MTIsMy40MTJjMCwwLjE2My0wLjE2NCwwLjcyOS0wLjQ4NywxLjcwNA0KCQkJCWMtMy40MTIsNi4wMTQtOC4yMDUsMTAuNDc5LTE0LjM3NywxMy40MDJjLTYuMTc2LDIuOTI0LTEyLjY3MSw0LjM4Ny0xOS40OTUsNC4zODdjLTUuNjg4LDAtMTAuOTI4LTEuMTgxLTE1LjcxOC0zLjUzMg0KCQkJCWMtNC43OTMtMi4zNTQtOC45MzYtNS40ODMtMTIuNDI4LTkuMzgyYy0zLjQ5NS0zLjg5OS02LjIxNC04LjQwNy04LjE2My0xMy41MjRjLTEuOTUtNS4xMTgtMi45MjQtMTAuNDM4LTIuOTI0LTE1Ljk2Mg0KCQkJCWMwLTUuNTIxLDAuOTc1LTEwLjg0NCwyLjkyNC0xNS45NjFzNC42NjgtOS42MjUsOC4xNjMtMTMuNTI0YzMuNDkyLTMuODk3LDcuNjM0LTcuMDIzLDEyLjQyOC05LjM4MQ0KCQkJCUMxMjYuODQ2LDQyOC4zOCwxMzIuMDg0LDQyNy4xOTgsMTM3Ljc3Myw0MjcuMTk4eiBNMTY5Ljk0LDQ2Ni4xODhjLTAuMzI4LTQuMjIzLTEuMzQxLTguMjg1LTMuMDQ2LTEyLjE4NA0KCQkJCWMtMS43MDYtMy44OTktMy45ODEtNy4zMTItNi44MjMtMTAuMjM1Yy0yLjg0NC0yLjkyNC02LjE3NS01LjI3Ny05Ljk5LTcuMDY3Yy0zLjgxOS0xLjc4NC03LjkyLTIuNjgtMTIuMzA3LTIuNjgNCgkJCQljLTQuNTUsMC04LjY5MSwwLjg5Ni0xMi40MjgsMi42OGMtMy43MzksMS43OS02Ljk4Nyw0LjE0NS05Ljc0OCw3LjA2N2MtMi43NjQsMi45MjQtNC45OTUsNi4zMzYtNi43MDEsMTAuMjM1DQoJCQkJYy0xLjcwNiwzLjg5Ny0yLjgwMiw3Ljk2MS0zLjI5LDEyLjE4NEgxNjkuOTR6Ii8+DQoJCQk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMzA0LjY5LDQyNy40NDFjNS4wMzQsMCw5LjUwNCwxLjAxOSwxMy40MDIsMy4wNDdjMy44OTksMi4wMzMsNy4xODgsNC42NzIsOS44Nyw3LjkyDQoJCQkJYzIuNjgsMy4yNTEsNC43MDksNy4wNjYsNi4wOTIsMTEuNDUyYzEuMzc5LDQuMzg3LDIuMDcsOC44NTYsMi4wNywxMy40MDJ2NDMuNjJjMCwwLjk3NS0wLjM2NSwxLjc4OS0xLjA5OCwyLjQzOA0KCQkJCWMtMC43MjksMC42NDYtMS41MDMsMC45NzYtMi4zMTIsMC45NzZjLTIuMjc2LDAtMy40MTItMS4xNDEtMy40MTItMy40MTJ2LTQzLjYyYzAtMy41NzEtMC41MjktNy4xMDQtMS41ODQtMTAuNjAxDQoJCQkJYy0xLjA1OS0zLjQ5LTIuNjAyLTYuNjE3LTQuNjMtOS4zODJjLTIuMDMzLTIuNzYxLTQuNTkyLTQuOTUzLTcuNjc3LTYuNThjLTMuMDg4LTEuNjIxLTYuNjYyLTIuNDM2LTEwLjcyMy0yLjQzNg0KCQkJCWMtNS4yLDAtOS41ODcsMS4yMTgtMTMuMTU5LDMuNjU0Yy0zLjU3MywyLjQzOC02LjQ1Niw1LjU2NS04LjY0OSw5LjM4MmMtMi4xOTMsMy44MTgtMy44MTgsOC4wNDItNC44NzQsMTIuNjcyDQoJCQkJYy0xLjA1OSw0LjYzLTEuNTg0LDkuMDU4LTEuNTg0LDEzLjI4djMzLjYyOWMwLDAuOTc1LTAuMzY1LDEuNzg5LTEuMDk2LDIuNDM4Yy0wLjczMSwwLjY0Ni0xLjUwNiwwLjk3Ni0yLjMxNSwwLjk3Ng0KCQkJCWMtMi4yNzYsMC0zLjQxMS0xLjE0MS0zLjQxMS0zLjQxMnYtNDMuNjJjMC0zLjU3MS0wLjUzLTcuMTA0LTEuNTg1LTEwLjYwMWMtMS4wNTgtMy40OS0yLjYwMS02LjYxNy00LjYyOS05LjM4Mg0KCQkJCWMtMi4wMzQtMi43NjEtNC41OTItNC45NTMtNy42NzctNi41OGMtMy4wODctMS42MjEtNi42NjMtMi40MzYtMTAuNzIzLTIuNDM2Yy01LjAzNiwwLTkuMzQ0LDAuODk1LTEyLjkxNSwyLjY4DQoJCQkJYy0zLjU3NCwxLjc5LTYuNTQyLDQuMjY3LTguODk1LDcuNDM0Yy0yLjM1NywzLjE2Ny00LjA2Myw2Ljk0My01LjExNywxMS4zMzFjLTEuMDU5LDQuMzg2LTEuNTg0LDkuMS0xLjU4NCwxNC4xMzR2My44OTh2MC4yNDMNCgkJCQl2MzIuODk3YzAsMi4yNzEtMS4xMzgsMy40MTItMy40MTIsMy40MTJjLTIuMjc1LDAtMy40MTEtMS4xNDEtMy40MTEtMy40MTJ2LTc0LjU2N2MwLTIuMjcyLDEuMTM2LTMuNDExLDMuNDExLTMuNDExDQoJCQkJYzIuMjczLDAsMy40MTIsMS4xMzksMy40MTIsMy40MTF2MTIuNDI4YzIuOTI0LTUuMTk2LDYuODYxLTkuMzgyLDExLjgxOS0xMi41NWM0Ljk1NC0zLjE2NywxMC41MTctNC43NTIsMTYuNjkxLTQuNzUyDQoJCQkJYzYuOTgzLDAsMTIuOTk1LDEuOTkxLDE4LjAzMiw1Ljk3YzUuMDMzLDMuOTgzLDguNjg4LDkuMjI0LDEwLjk2NiwxNS43MmMyLjc2MS02LjMzNiw2LjczOS0xMS41MzMsMTEuOTQtMTUuNTk3DQoJCQkJQzI5MS4xMjUsNDI5LjQ3NSwyOTcuMzgsNDI3LjQ0MSwzMDQuNjksNDI3LjQ0MXoiLz4NCgkJCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0zNzguNzUzLDQyOS4zOTJjMC44MTEsMCwxLjU4NCwwLjM2NSwyLjMxMywxLjA5N2MwLjczMSwwLjczLDEuMDk4LDEuNTA0LDEuMDk4LDIuMzE0djc0LjA4DQoJCQkJYzAsMC44MTMtMC4zNjUsMS41ODQtMS4wOTgsMi4zMTRjLTAuNzI5LDAuNzMtMS41MDQsMS4wOTgtMi4zMTMsMS4wOThjLTAuOTc2LDAtMS43OS0wLjM2Ni0yLjQzOC0xLjA5OA0KCQkJCWMtMC42NDktMC43My0wLjk3NS0xLjUwMS0wLjk3NS0yLjMxNHYtNzQuMDhjMC0wLjgxMiwwLjMyNC0xLjU4NCwwLjk3NS0yLjMxNEMzNzYuOTYzLDQyOS43NTgsMzc3Ljc3OCw0MjkuMzkyLDM3OC43NTMsNDI5LjM5MnoiDQoJCQkJLz4NCgkJCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik00NzMuMzQsNDI4LjY2YzIuMjcyLDAsMy40MTIsMS4xNCwzLjQxMiwzLjQxMWwtMC40ODcsMS45NWwtMjQuMzY4LDM1LjMzNGwyNC4zNjgsMzUuNTc3DQoJCQkJYzAuMzIzLDAuOTc2LDAuNDg3LDEuNjI2LDAuNDg3LDEuOTVjMCwyLjI3MS0xLjE0LDMuNDEyLTMuNDEyLDMuNDEyYy0xLjMwMywwLTIuMTkzLTAuNDg4LTIuNjgxLTEuNDY0bC0yMi45MDUtMzMuMzg0DQoJCQkJbC0yMi42NjMsMzMuMzg0Yy0wLjgxNCwwLjk3Ni0xLjc5LDEuNDY0LTIuOTI1LDEuNDY0Yy0yLjI3NiwwLTMuNDEtMS4xNDEtMy40MS0zLjQxMmMwLTAuMzI0LDAuMTU4LTAuOTc2LDAuNDg1LTEuOTUNCgkJCQlsMjQuMzY5LTM1LjU3N2wtMjQuMzY5LTM1LjMzNGwtMC40ODUtMS45NWMwLTIuMjcxLDEuMTM0LTMuNDExLDMuNDEtMy40MTFjMS4xMzUsMCwyLjEwOSwwLjQ4NywyLjkyNSwxLjQ2MmwyMi42NjMsMzMuMTQyDQoJCQkJbDIyLjkwNS0zMy4xNDJDNDcxLjE0Niw0MjkuMTQ3LDQ3Mi4wMzcsNDI4LjY2LDQ3My4zNCw0MjguNjZ6Ii8+DQoJCTwvZz4NCgkJPGc+DQoJCQk8Zz4NCgkJCQk8ZyBvcGFjaXR5PSIwLjQ1Ij4NCgkJCQkJPGc+DQoJCQkJCQk8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjE1MC43MzQsMTk2LjIxMiAyNTUuOTY5LDM0NC41MDkgMjU1Ljk2OSwyNTguMzg3Ii8+DQoJCQkJCTwvZz4NCgkJCQk8L2c+DQoJCQkJPGcgb3BhY2l0eT0iMC44Ij4NCgkJCQkJPGc+DQoJCQkJCQk8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjI1NS45NjksMjU4LjM4NyAyNTUuOTY5LDM0NC41MDkgMzYxLjI2NywxOTYuMjEyIi8+DQoJCQkJCTwvZz4NCgkJCQk8L2c+DQoJCQkJPGcgb3BhY2l0eT0iMC42Ij4NCgkJCQkJPGc+DQoJCQkJCQk8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjI1NS45NjksMTI2Ljc4MSAxNTAuNzMzLDE3NC42MTEgMjU1Ljk2OSwyMzYuODE4IDM2MS4yMDQsMTc0LjYxMSIvPg0KCQkJCQk8L2c+DQoJCQkJPC9nPg0KCQkJCTxnIG9wYWNpdHk9IjAuNDUiPg0KCQkJCQk8Zz4NCgkJCQkJCTxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMTUwLjczNCwxNzQuNjEyIDI1NS45NjksMjM2LjgxOCAyNTUuOTY5LDEyNi43ODIgMjU1Ljk2OSwwLjAwMSIvPg0KCQkJCQk8L2c+DQoJCQkJPC9nPg0KCQkJCTxnIG9wYWNpdHk9IjAuOCI+DQoJCQkJCTxnPg0KCQkJCQkJPHBvbHlnb24gZmlsbD0iI0ZGRkZGRiIgcG9pbnRzPSIyNTUuOTY5LDAgMjU1Ljk2OSwxMjYuNzgxIDI1NS45NjksMjM2LjgxOCAzNjEuMjA0LDE3NC42MTEiLz4NCgkJCQkJPC9nPg0KCQkJCTwvZz4NCgkJCTwvZz4NCgkJPC9nPg0KCTwvZz4NCjwvc3ZnPg0K')", text_Primary: appProperties.mainText_Color, text_Secondary: appProperties.supportText_Color, From c077302c20aef3cce4f2261732a9f08b7c593ddb Mon Sep 17 00:00:00 2001 From: bakaoh Date: Mon, 25 Jun 2018 09:45:09 +0700 Subject: [PATCH 08/10] Remove id from MultiParam input --- src/multiParamManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/multiParamManager.js b/src/multiParamManager.js index 6e62253c08..dd4e55559d 100644 --- a/src/multiParamManager.js +++ b/src/multiParamManager.js @@ -100,7 +100,7 @@ class MultiParamManager { if (this.funABI.inputs) { return yo`
${this.funABI.inputs.map(function (inp) { - return yo`
` + return yo`
` })}
` } From 07cc54bfaa9cbb46428eaafed6b5a05e84a2461a Mon Sep 17 00:00:00 2001 From: Thomas Schoffelen Date: Wed, 13 Jun 2018 20:26:46 +0200 Subject: [PATCH 09/10] Added copy buttons for ABI and Bytecode --- src/app/tabs/compile-tab.js | 69 +++++++++++++++++++++++++++++++++---- 1 file changed, 63 insertions(+), 6 deletions(-) diff --git a/src/app/tabs/compile-tab.js b/src/app/tabs/compile-tab.js index 29a46055d7..dbf6abbc1b 100644 --- a/src/app/tabs/compile-tab.js +++ b/src/app/tabs/compile-tab.js @@ -1,5 +1,6 @@ const yo = require('yo-yo') const csjs = require('csjs-inject') +const copy = require('clipboard-copy') const TreeView = require('../ui/TreeView') const modalDialog = require('../ui/modaldialog') @@ -8,6 +9,7 @@ const modalDialogCustom = require('../ui/modal-dialog-custom') const styleGuide = require('../ui/styles-guide/theme-chooser') const parseContracts = require('../contract/contractParser') const publishOnSwarm = require('../contract/publishOnSwarm') +const addTooltip = require('../ui/tooltip') const styles = styleGuide.chooser() @@ -166,10 +168,18 @@ module.exports = class CompileTab { self._view.contractNames = yo`` self._view.contractEl = yo`
- ${self._view.contractNames} -
+
+ ${self._view.contractNames} +
+
Details
Publish on Swarm
+
+ ABI +
+
+ Bytecode +
` self._view.el = yo` @@ -198,6 +208,36 @@ module.exports = class CompileTab { self._opts.config.set('hideWarnings', self._view.hideWarningsBox.checked) self._api.runCompiler() } + function getContractProperty (property) { + const select = self._view.contractNames + if (select.children.length > 0 && select.selectedIndex >= 0) { + const contractName = select.children[select.selectedIndex].innerHTML + const contractProperties = self.data.contractsDetails[contractName] + return contractProperties[property] || null + } + } + function copyContractProperty (property) { + let content = getContractProperty(property) + if (!content) { + addTooltip('No content available for ' + property) + return + } + + try { + if (typeof content !== 'string') { + content = JSON.stringify(content, null, '\t') + } + } catch (e) {} + + copy(content) + addTooltip('Copied value to clipboard') + } + function copyABI () { + copyContractProperty('abi') + } + function copyBytecode () { + copyContractProperty('bytecode') + } function details () { const select = self._view.contractNames if (select.children.length > 0 && select.selectedIndex >= 0) { @@ -331,25 +371,42 @@ const css = csjs` .container { ${styles.rightPanel.compileTab.box_CompileContainer}; margin: 0; + margin-bottom: 2%; + } + .contractContainer { display: flex; align-items: center; + margin-bottom: 2%; } .contractNames { ${styles.rightPanel.compileTab.dropdown_CompileContract}; - margin-right: 5%; } - .contractButtons { + .contractHelperButtons { display: flex; cursor: pointer; - justify-content: center; + justify-content: space-between; text-align: center; } + .copyButton { + ${styles.rightPanel.compileTab.button_Details}; + padding: 0 7px; + min-width: 50px; + width: auto; + margin-left: 5px; + } + .bytecodeButton { + min-width: 80px; + } + .copyIcon { + margin-right: 5px; + } .details { ${styles.rightPanel.compileTab.button_Details}; } .publish { ${styles.rightPanel.compileTab.button_Publish}; - margin-left: 2%; + margin-left: 5px; + margin-right: 5px; width: 120px; } .log { From 2596af61b550c9aa62d3a6bd27129f34c758b3db Mon Sep 17 00:00:00 2001 From: yann300 Date: Thu, 28 Jun 2018 11:32:32 +0200 Subject: [PATCH 10/10] Update compile-tab.js --- src/app/tabs/compile-tab.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/tabs/compile-tab.js b/src/app/tabs/compile-tab.js index dbf6abbc1b..d425a9bfdd 100644 --- a/src/app/tabs/compile-tab.js +++ b/src/app/tabs/compile-tab.js @@ -384,7 +384,6 @@ const css = csjs` .contractHelperButtons { display: flex; cursor: pointer; - justify-content: space-between; text-align: center; } .copyButton {