diff options
author | Bennett <hello@vantezzen.io> | 2020-09-22 20:56:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-22 19:56:48 +0100 |
commit | 6f5e4a00588aefdda7a5a1cfe70935870e7e234a (patch) | |
tree | 9e29aa7aa0620a1a4a968ff8739b4b8ba96791a9 /recipes/googlecalendar | |
parent | Updated logos for Outlook/OWA (diff) | |
download | ferdium-recipes-6f5e4a00588aefdda7a5a1cfe70935870e7e234a.tar.gz ferdium-recipes-6f5e4a00588aefdda7a5a1cfe70935870e7e234a.tar.zst ferdium-recipes-6f5e4a00588aefdda7a5a1cfe70935870e7e234a.zip |
Unpack recipes and update recipes icons (#292)
Co-authored-by: Amine Mouafik <amine@mouafik.fr>
Diffstat (limited to 'recipes/googlecalendar')
-rw-r--r-- | recipes/googlecalendar/LICENSE | 19 | ||||
-rw-r--r-- | recipes/googlecalendar/README.md | 4 | ||||
-rw-r--r-- | recipes/googlecalendar/calendar.css | 41 | ||||
-rw-r--r-- | recipes/googlecalendar/icon.png | bin | 0 -> 31377 bytes | |||
-rw-r--r-- | recipes/googlecalendar/icon.svg | 1 | ||||
-rw-r--r-- | recipes/googlecalendar/index.js | 11 | ||||
-rw-r--r-- | recipes/googlecalendar/package.json | 15 | ||||
-rw-r--r-- | recipes/googlecalendar/webview.js | 41 |
8 files changed, 132 insertions, 0 deletions
diff --git a/recipes/googlecalendar/LICENSE b/recipes/googlecalendar/LICENSE new file mode 100644 index 0000000..4608c00 --- /dev/null +++ b/recipes/googlecalendar/LICENSE | |||
@@ -0,0 +1,19 @@ | |||
1 | Copyright 2017 Rico Herwig | ||
2 | |||
3 | Permission is hereby granted, free of charge, to any person obtaining | ||
4 | a copy of this software and associated documentation files (the "Software"), | ||
5 | to deal in the Software without restriction, including without limitation the | ||
6 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
7 | copies of the Software, and to permit persons to whom the Software is furnished | ||
8 | to do so, subject to the following conditions: | ||
9 | |||
10 | The above copyright notice and this permission notice shall be included | ||
11 | in all copies or substantial portions of the Software. | ||
12 | |||
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
14 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||
17 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
18 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE | ||
19 | OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
diff --git a/recipes/googlecalendar/README.md b/recipes/googlecalendar/README.md new file mode 100644 index 0000000..f540101 --- /dev/null +++ b/recipes/googlecalendar/README.md | |||
@@ -0,0 +1,4 @@ | |||
1 | # Franz 5 Recipe: Google Calendar | ||
2 | This recipe integrates the Google Calendar into Franz. | ||
3 | |||
4 | You can get the latest version of Franz [here](https://meetfranz.com/). \ No newline at end of file | ||
diff --git a/recipes/googlecalendar/calendar.css b/recipes/googlecalendar/calendar.css new file mode 100644 index 0000000..7cd726b --- /dev/null +++ b/recipes/googlecalendar/calendar.css | |||
@@ -0,0 +1,41 @@ | |||
1 | #franz-modal { | ||
2 | display: none; | ||
3 | position: fixed; | ||
4 | z-index: 9999; | ||
5 | left: 0; | ||
6 | top: 0; | ||
7 | right: 0; | ||
8 | bottom: 0; | ||
9 | overflow: auto; | ||
10 | background-color: rgba(0, 0, 0, 0.8); | ||
11 | } | ||
12 | |||
13 | #franz-modal.open { | ||
14 | display: block; | ||
15 | } | ||
16 | |||
17 | #franz-modal .modal-content { | ||
18 | background-color: #fefefe; | ||
19 | margin: 15% auto; | ||
20 | padding: 20px; | ||
21 | border: 1px solid #888; | ||
22 | width: 30%; | ||
23 | -webkit-border-radius: 3px; | ||
24 | -moz-border-radius: 3px; | ||
25 | border-radius: 3px; | ||
26 | } | ||
27 | |||
28 | #franz-modal .close { | ||
29 | color: #aaa; | ||
30 | float: right; | ||
31 | margin-top: -10px; | ||
32 | font-size: 20px; | ||
33 | font-weight: bold; | ||
34 | } | ||
35 | |||
36 | #franz-modal .close:hover, | ||
37 | #franz-modal .close:focus { | ||
38 | color: black; | ||
39 | text-decoration: none; | ||
40 | cursor: pointer; | ||
41 | } | ||
diff --git a/recipes/googlecalendar/icon.png b/recipes/googlecalendar/icon.png new file mode 100644 index 0000000..421388a --- /dev/null +++ b/recipes/googlecalendar/icon.png | |||
Binary files differ | |||
diff --git a/recipes/googlecalendar/icon.svg b/recipes/googlecalendar/icon.svg new file mode 100644 index 0000000..9c7a5f1 --- /dev/null +++ b/recipes/googlecalendar/icon.svg | |||
@@ -0,0 +1 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M67.852 9.367c1.935-.314 4.03-.346 5.843.51c2.684 1.082 4.583 3.652 5.233 6.422c.221 1.97.157 4.058-.775 5.857c-1.692 3.719-6.193 5.864-10.144 4.833c-4.054-.907-7.07-4.808-7.032-8.952c-.078-4.033 3.01-7.717 6.875-8.67" fill="#FFF"/><path d="M183.808 9.353c1.96-.307 4.073-.311 5.893.589c3.013 1.328 5.054 4.472 5.272 7.73c-.003 2.51-.842 5.13-2.702 6.886c-1.58 1.667-3.859 2.588-6.132 2.69c-3.519.05-7.067-2.051-8.445-5.334c-.892-1.753-.782-3.773-.667-5.672c.667-3.348 3.472-6.115 6.781-6.89" fill="#FFF"/><path d="M172.172 146.432c4.586-.021 9.173-.025 13.756 0c-.057 18.229-.01 36.46-.02 54.689c-4.57 0-9.139.004-13.71-.003c-.012-18.23.038-36.457-.026-54.686" fill="#FFF"/><path d="M183.808 9.353c-3.309.774-6.114 3.54-6.78 6.889c-.116 1.899-.226 3.919.666 5.672c1.378 3.283 4.926 5.385 8.445 5.335c2.273-.103 4.551-1.024 6.132-2.691c1.86-1.756 2.7-4.376 2.702-6.885c-.218-3.26-2.259-6.403-5.272-7.731c-1.82-.9-3.933-.896-5.893-.59m-115.956.015c-3.866.953-6.953 4.637-6.875 8.67c-.039 4.144 2.977 8.045 7.032 8.952c3.951 1.03 8.452-1.114 10.144-4.833c.932-1.8.996-3.887.775-5.857c-.65-2.77-2.549-5.34-5.233-6.422c-1.813-.856-3.908-.824-5.843-.51m-44.367-7.97C26.377.13 29.575-.063 32.691.016c64.251.007 128.502 0 192.753-.004c7.01-.117 13.84 4.216 16.673 10.636c1.195 2.53 1.702 5.34 1.652 8.13c-.028 6.248.064 12.494-.036 18.737c-2.073-.79-4.308-1-6.51-1.014c-72.7.015-145.399.007-218.099.01c-2.302.062-4.658.16-6.832 1.008c-.093-6.49-.043-12.978-.064-19.464c-.043-7.153 4.615-14.02 11.257-16.658" fill="#C7C7C7"/><path d="M182.73 91.715c1.029-.425 2.149-.403 3.238-.318c-.064 18.29.008 36.582-.035 54.87l-.004.165c-4.584-.025-9.17-.021-13.756 0v-.16c-.007-12.646-.012-25.288.002-37.935c-9.144 3.04-18.27 6.132-27.419 9.155c-.028-4.13.022-8.26-.024-12.388c12.65-4.51 25.341-8.906 37.999-13.39" fill="#C7C7C7"/><path d="M70.832 98.286c5.73-4.365 12.9-6.621 20.06-6.89c7.104-.25 14.456.9 20.67 4.509c4.916 2.816 8.806 7.324 10.925 12.57c2.114 5.24 2.785 11.034 2.142 16.634c-1.375 8.97-8.302 16.216-16.398 19.799a20.69 20.69 0 0 1 3.364 1.335a9.897 9.897 0 0 1-2.15.193c-9.55-.068-19.102.064-28.647-.065c-.035-2.073-.085-4.15.046-6.221c6.886-.164 14.15.678 20.592-2.341c5.292-2.234 9.23-7.296 9.976-13.01c.642-5.444.092-11.397-3.134-16.005c-2.538-3.648-6.839-5.668-11.14-6.307c-5.803-.81-12.168-.232-17.04 3.29c-4.796 3.374-7.335 9.327-7.213 15.106c-4.42.118-8.842.028-13.264.043c.087-2.427.271-4.87.904-7.221c1.52-6.128 5.271-11.636 10.307-15.42" fill="#C7C7C7"/><path d="M12.292 37.518c2.174-.846 4.53-.946 6.832-1.007c72.7-.003 145.399.004 218.099-.01c2.202.014 4.437.225 6.51 1.013c6.283 2.267 11.372 8.085 12.029 14.824c-1.278-4.619-4.04-8.917-8.17-11.462c-2.991-1.866-6.482-2.944-10.015-2.912c-72.932.05-145.868.05-218.803.05c-5.493-.1-11.029 2.27-14.53 6.546c-1.7 1.817-2.588 4.162-3.777 6.3c1.178-6.146 5.986-11.268 11.825-13.342" fill="#4483EF"/><path d="M171.916 146.293l.257-.021v.16c.064 18.229.013 36.457.024 54.686c4.572.007 9.142.004 13.71.004c.01-18.23-.036-36.461.022-54.69l.004-.164l.22.018c2.017.243 4.052.096 6.079.118c17.18-.011 34.362-.032 51.54 0c1.986 28.729 3.852 57.466 5.816 86.195c.192 3.284.61 6.657-.3 9.877l-.083.103c-.843.946-1.328 2.124-1.93 3.223c-3.224 5.26-9.214 8.802-15.424 8.742c-68.535-.04-137.065.03-205.595.006c-2.15 0-4.34.11-6.436-.453c-4.736-1.292-9.03-4.394-11.415-8.73c-.5-.95-.963-1.924-1.631-2.767l-.085-.118c-1.146-4.304-.215-8.766-.072-13.127c1.885-27.634 3.68-55.278 5.59-82.912c22.84-.057 45.684-.032 68.522-.014c.022 1.313.034 2.627.016 3.94c7.237.139 14.813-.728 21.668 2.138c4.63 1.807 8.431 5.676 9.895 10.455c1.613 5.289 1.427 11.143-.468 16.337c-1.767 4.868-6 8.63-10.944 10.083c-6.002 1.777-12.689 1.624-18.47-.857c-4.502-1.923-8.175-5.8-9.563-10.525c-.66-2.082-.916-4.27-.957-6.443c-4.376.028-8.752.018-13.128.004c.083 5.535 1.425 11.157 4.516 15.804c3.294 5.083 8.406 8.795 14.007 10.972c7.099 2.77 14.944 3.388 22.45 2.238c7.3-1.156 14.448-4.426 19.406-10.02c4.555-5.053 6.91-11.813 7.22-18.555c.419-6.436-1.063-13.196-5.15-18.308c-2.297-3.026-5.458-5.211-8.684-7.131c1.57-.196 3.155-.154 4.736-.146c16.185-.015 32.368.003 48.55-.008c2.028-.042 4.065.125 6.087-.114" fill="#4483EF"/><path d="M4.244 44.56c3.5-4.276 9.037-6.646 14.53-6.546c72.936 0 145.87 0 218.803-.05c3.533-.032 7.024 1.046 10.015 2.912c4.13 2.545 6.893 6.843 8.17 11.462c.354 1.631.257 3.323.072 4.972c-3.962 29.68-8.07 59.34-11.98 89.025c-16.485-.028-32.972.015-49.455-.003c-2.75-.022-5.501.103-8.245-.046l-.222-.018c.043-18.29-.028-36.582.036-54.872c-1.09-.085-2.21-.107-3.237.318c-12.657 4.483-25.35 8.881-38 13.39c.047 4.128-.003 8.258.026 12.388c9.148-3.023 18.275-6.115 27.419-9.156c-.014 12.647-.011 25.29-.003 37.935l-.257.021c-19.157.143-38.32.004-57.477.076c-.946-.022-1.945.271-2.844-.125a20.727 20.727 0 0 0-3.363-1.335c8.095-3.584 15.023-10.829 16.398-19.799c.642-5.6-.03-11.393-2.142-16.633c-2.12-5.247-6.011-9.755-10.926-12.57c-6.214-3.61-13.567-4.759-20.67-4.51c-7.16.268-14.331 2.524-20.06 6.89c-5.035 3.783-8.787 9.29-10.307 15.42c-.632 2.351-.818 4.792-.904 7.22c4.423-.015 8.845.074 13.264-.043c-.121-5.779 2.417-11.733 7.214-15.106c4.872-3.523 11.236-4.1 17.04-3.29c4.3.638 8.602 2.658 11.14 6.306c3.226 4.608 3.776 10.562 3.133 16.005c-.746 5.715-4.683 10.776-9.976 13.011c-6.442 3.02-13.706 2.177-20.591 2.341l-.171.003c.07 2.074-.011 4.152.046 6.23c-22.851-.037-45.705-.044-68.56.002C8.264 117.306 4.306 88.235.387 59.16c-.451-2.742-.604-5.586.082-8.299c1.188-2.138 2.077-4.483 3.776-6.3" fill="#3664D0"/><path d="M6.774 242.6c.667.843 1.132 1.817 1.63 2.767c2.386 4.336 6.68 7.438 11.416 8.73c2.095.564 4.287.453 6.435.453c68.53.025 137.062-.046 205.596-.007c6.21.06 12.2-3.48 15.423-8.741c.604-1.1 1.089-2.277 1.93-3.223c-1.512 5.857-6.223 10.718-11.984 12.524c-3.213 1.122-6.657.839-9.994.875l-200.25-.003c-2.662.02-5.386.046-7.95-.786c-5.874-1.742-10.703-6.65-12.252-12.59" fill="#3664D0"/></svg> \ No newline at end of file | |||
diff --git a/recipes/googlecalendar/index.js b/recipes/googlecalendar/index.js new file mode 100644 index 0000000..401a28f --- /dev/null +++ b/recipes/googlecalendar/index.js | |||
@@ -0,0 +1,11 @@ | |||
1 | var os = require('os') | ||
2 | |||
3 | module.exports = Franz => | ||
4 | class googlecalendar extends Franz { | ||
5 | overrideUserAgent() { | ||
6 | if (os.platform() == 'linux') | ||
7 | return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0" | ||
8 | else | ||
9 | return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0"; | ||
10 | } | ||
11 | }; | ||
diff --git a/recipes/googlecalendar/package.json b/recipes/googlecalendar/package.json new file mode 100644 index 0000000..95d4e1c --- /dev/null +++ b/recipes/googlecalendar/package.json | |||
@@ -0,0 +1,15 @@ | |||
1 | { | ||
2 | "id": "googlecalendar", | ||
3 | "name": "Google Calendar", | ||
4 | "version": "1.0.3", | ||
5 | "description": "Google Calendar", | ||
6 | "main": "index.js", | ||
7 | "author": "Rico Herwig <rherwig4711@gmail.com>", | ||
8 | "license": "MIT", | ||
9 | "config": { | ||
10 | "serviceURL": "https://calendar.google.com/calendar", | ||
11 | "hasNotificationSound": true, | ||
12 | "hasDirectMessages": true, | ||
13 | "openDevTools": true | ||
14 | } | ||
15 | } | ||
diff --git a/recipes/googlecalendar/webview.js b/recipes/googlecalendar/webview.js new file mode 100644 index 0000000..3d2b6f6 --- /dev/null +++ b/recipes/googlecalendar/webview.js | |||
@@ -0,0 +1,41 @@ | |||
1 | 'use strict'; | ||
2 | |||
3 | const path = require('path'); | ||
4 | |||
5 | module.exports = Franz => { | ||
6 | let modal; | ||
7 | let updates = 0; | ||
8 | |||
9 | const createModal = () => { | ||
10 | const franzModal = document.createElement('div'); | ||
11 | franzModal.setAttribute('id', 'franz-modal'); | ||
12 | franzModal.innerHTML = '<div class="modal-content"><span class="close">×</span><p></p></div>'; | ||
13 | franzModal.querySelector('.close').addEventListener('click', hideModal); | ||
14 | |||
15 | return franzModal; | ||
16 | }; | ||
17 | |||
18 | const showModal = text => { | ||
19 | modal.querySelector('p').innerHTML = text; | ||
20 | updates++; | ||
21 | modal.classList.add('open'); | ||
22 | }; | ||
23 | |||
24 | const hideModal = () => { | ||
25 | modal.querySelector('p').innerHTML = ''; | ||
26 | updates--; | ||
27 | modal.classList.remove('open'); | ||
28 | }; | ||
29 | |||
30 | window.alert = showModal; | ||
31 | |||
32 | const getMessages = () => Franz.setBadge(updates); | ||
33 | |||
34 | modal = createModal(); | ||
35 | document.body.appendChild(modal); | ||
36 | document.addEventListener('keydown', event => event.keyCode === 27 && hideModal()); | ||
37 | |||
38 | Franz.injectCSS(path.join(__dirname, 'calendar.css')); | ||
39 | Franz.loop(getMessages); | ||
40 | }; | ||
41 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdvb2dsZWNhbGVuZGFyL3dlYnZpZXcuanMiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJtb2RhbCIsInVwZGF0ZXMiLCJjcmVhdGVNb2RhbCIsImZyYW56TW9kYWwiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJpbm5lckhUTUwiLCJxdWVyeVNlbGVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsImhpZGVNb2RhbCIsInNob3dNb2RhbCIsInRleHQiLCJjbGFzc0xpc3QiLCJhZGQiLCJyZW1vdmUiLCJ3aW5kb3ciLCJhbGVydCIsImdldE1lc3NhZ2VzIiwic2V0QmFkZ2UiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJldmVudCIsImtleUNvZGUiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxPQUFPQyxRQUFRLE1BQVIsQ0FBYjs7QUFFQUMsT0FBT0MsT0FBUCxHQUFpQkMsU0FBUztBQUN4QixNQUFJQyxLQUFKO0FBQ0EsTUFBSUMsVUFBVSxDQUFkOztBQUVBLFFBQU1DLGNBQWMsTUFBTTtBQUN4QixVQUFNQyxhQUFhQyxTQUFTQyxhQUFULENBQXVCLEtBQXZCLENBQW5CO0FBQ0FGLGVBQVdHLFlBQVgsQ0FBd0IsSUFBeEIsRUFBOEIsYUFBOUI7QUFDQUgsZUFBV0ksU0FBWCxHQUF1Qiw0RUFBdkI7QUFDQUosZUFBV0ssYUFBWCxDQUF5QixRQUF6QixFQUFtQ0MsZ0JBQW5DLENBQW9ELE9BQXBELEVBQTZEQyxTQUE3RDs7QUFFQSxXQUFPUCxVQUFQO0FBQ0QsR0FQRDs7QUFTQSxRQUFNUSxZQUFZQyxRQUFRO0FBQ3hCWixVQUFNUSxhQUFOLENBQW9CLEdBQXBCLEVBQXlCRCxTQUF6QixHQUFxQ0ssSUFBckM7QUFDQVg7QUFDQUQsVUFBTWEsU0FBTixDQUFnQkMsR0FBaEIsQ0FBb0IsTUFBcEI7QUFDRCxHQUpEOztBQU1BLFFBQU1KLFlBQVksTUFBTTtBQUN0QlYsVUFBTVEsYUFBTixDQUFvQixHQUFwQixFQUF5QkQsU0FBekIsR0FBcUMsRUFBckM7QUFDQU47QUFDQUQsVUFBTWEsU0FBTixDQUFnQkUsTUFBaEIsQ0FBdUIsTUFBdkI7QUFDRCxHQUpEOztBQU1BQyxTQUFPQyxLQUFQLEdBQWVOLFNBQWY7O0FBRUEsUUFBTU8sY0FBYyxNQUFNbkIsTUFBTW9CLFFBQU4sQ0FBZWxCLE9BQWYsQ0FBMUI7O0FBRUFELFVBQVFFLGFBQVI7QUFDQUUsV0FBU2dCLElBQVQsQ0FBY0MsV0FBZCxDQUEwQnJCLEtBQTFCO0FBQ0FJLFdBQVNLLGdCQUFULENBQTBCLFNBQTFCLEVBQXFDYSxTQUFTQSxNQUFNQyxPQUFOLEtBQWtCLEVBQWxCLElBQXdCYixXQUF0RTs7QUFFQVgsUUFBTXlCLFNBQU4sQ0FBZ0I3QixLQUFLOEIsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLGNBQXJCLENBQWhCO0FBQ0EzQixRQUFNNEIsSUFBTixDQUFXVCxXQUFYO0FBQ0QsQ0FuQ0QiLCJmaWxlIjoiZ29vZ2xlY2FsZW5kYXIvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4ge1xuICBsZXQgbW9kYWw7XG4gIGxldCB1cGRhdGVzID0gMDtcblxuICBjb25zdCBjcmVhdGVNb2RhbCA9ICgpID0+IHtcbiAgICBjb25zdCBmcmFuek1vZGFsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZnJhbnpNb2RhbC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2ZyYW56LW1vZGFsJyk7XG4gICAgZnJhbnpNb2RhbC5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj48c3BhbiBjbGFzcz1cImNsb3NlXCI+JnRpbWVzOzwvc3Bhbj48cD48L3A+PC9kaXY+JztcbiAgICBmcmFuek1vZGFsLnF1ZXJ5U2VsZWN0b3IoJy5jbG9zZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGlkZU1vZGFsKTtcblxuICAgIHJldHVybiBmcmFuek1vZGFsO1xuICB9O1xuXG4gIGNvbnN0IHNob3dNb2RhbCA9IHRleHQgPT4ge1xuICAgIG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ3AnKS5pbm5lckhUTUwgPSB0ZXh0O1xuICAgIHVwZGF0ZXMrKztcbiAgICBtb2RhbC5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7XG4gIH07XG5cbiAgY29uc3QgaGlkZU1vZGFsID0gKCkgPT4ge1xuICAgIG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ3AnKS5pbm5lckhUTUwgPSAnJztcbiAgICB1cGRhdGVzLS07XG4gICAgbW9kYWwuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpO1xuICB9O1xuXG4gIHdpbmRvdy5hbGVydCA9IHNob3dNb2RhbDtcblxuICBjb25zdCBnZXRNZXNzYWdlcyA9ICgpID0+IEZyYW56LnNldEJhZGdlKHVwZGF0ZXMpO1xuXG4gIG1vZGFsID0gY3JlYXRlTW9kYWwoKTtcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChtb2RhbCk7XG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBldmVudCA9PiBldmVudC5rZXlDb2RlID09PSAyNyAmJiBoaWRlTW9kYWwoKSk7XG5cbiAgRnJhbnouaW5qZWN0Q1NTKHBhdGguam9pbihfX2Rpcm5hbWUsICdjYWxlbmRhci5jc3MnKSk7XG4gIEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xufTtcbiJdfQ== \ No newline at end of file | ||