dmencu 0.1.39 → 0.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,70 @@
1
+ CACHE MANIFEST
2
+ #0813b
3
+
4
+ CACHE:
5
+ #--------------------------- JS ------------------------------------
6
+ ../lib/react.production.min.js
7
+ ../lib/react-dom.production.min.js
8
+ ../lib/material-ui.production.min.js
9
+ ../lib/clsx.min.js
10
+ ../lib/redux.min.js
11
+ ../lib/react-redux.min.js
12
+ ../lib/require-bro.js
13
+ ../lib/like-ar.js
14
+ ../lib/best-globals.js
15
+ ../lib/json4all.js
16
+ ../lib/js-to-html.js
17
+ ../lib/redux-typed-reducer.js
18
+ ../lib/memoize-one.js
19
+ ../adapt.js
20
+ ../tipos.js
21
+ ../digitov.js
22
+ ../redux-formulario.js
23
+ ../render-general.js
24
+ ../render-formulario.js
25
+ ../client_modules/row-validator.js
26
+ ../unlogged.js
27
+ ../lib/js-yaml.js
28
+ ../lib/xlsx.core.min.js
29
+ ../lib/lazy-some.js
30
+ ../lib/sql-tools.js
31
+ ../dialog-promise/dialog-promise.js
32
+ ../moment/min/moment.js
33
+ ../pikaday/pikaday.js
34
+ ../lib/polyfills-bro.js
35
+ ../lib/big.js
36
+ ../lib/type-store.js
37
+ ../lib/typed-controls.js
38
+ ../lib/ajax-best-promise.js
39
+ ../my-ajax.js
40
+ ../my-start.js
41
+ ../lib/my-localdb.js
42
+ ../lib/my-websqldb.js
43
+ ../lib/my-localdb.js.map
44
+ ../lib/my-websqldb.js.map
45
+ # NO VA ../lib/my-things.js
46
+ # NO VA ../lib/my-tables.js
47
+ ../lib/my-inform-net-status.js
48
+ # NO VA ../lib/my-menu.js
49
+ ../lib/my-skin.js
50
+ ../lib/cliente-en-castellano.js
51
+ ../client/client.js
52
+ ../client/menu.js
53
+
54
+ #------------------------------ CSS ---------------------------------
55
+ ../dialog-promise/dialog-promise.css
56
+ ../pikaday/pikaday.css
57
+ # NO VA ../css/my-things.css
58
+ # NO VA ../css/my-tables.css
59
+ # NO VA ../css/my-menu.css
60
+ ../css/offline-mode.css
61
+ ../css/formulario-react.css
62
+
63
+ #------------------------------ IMAGES ---------------------------------
64
+ ../img/main-loading.gif
65
+
66
+ FALLBACK:
67
+ ../menu* ../campo
68
+
69
+ NETWORK:
70
+ *
@@ -0,0 +1,84 @@
1
+ altoEtiqueta = 148px
2
+ mitadAltoEtiqueta = 75px
3
+ anchoEtiqueta = 390px
4
+ altoQr = 128px
5
+ altoLogoEstadistica = 73px
6
+ altoTexto = 41px
7
+ altoDmEncu = 73px
8
+ altoBA = 55px
9
+
10
+ .etiqueta
11
+ display flex
12
+ background-color #ffffff
13
+ width anchoEtiqueta
14
+ height altoEtiqueta
15
+ .columna
16
+ padding 11px 0px
17
+ .codigo-qr
18
+ height altoQr
19
+ width altoQr
20
+ img
21
+ height altoQr
22
+ .logo-estadistica
23
+ height altoLogoEstadistica
24
+ img
25
+ height altoLogoEstadistica
26
+ .texto-codigo
27
+ height altoTexto
28
+ padding 6px 0px
29
+ x-background-color yellow
30
+ text-align center
31
+ vertical-align middle
32
+ font-size 30px
33
+ .logo-dmencu
34
+ height altoDmEncu
35
+ img
36
+ height altoDmEncu
37
+ .logo-ba
38
+ height altoBA
39
+ img
40
+ height altoBA
41
+ .columna-derecha
42
+ padding 0px 0px
43
+
44
+ .not_print
45
+ @media print
46
+ display none
47
+
48
+ .pre-plancha
49
+ display flex
50
+ color #399947
51
+ margin-left 25px
52
+ padding-top 22px
53
+ min-height 32px
54
+ height 32px
55
+ vertical-align bottom
56
+ align-items bottom
57
+ font-size 130%
58
+ .plancha
59
+ margin-left 10px
60
+ display grid
61
+ grid-template-columns repeat(3, 1fr)
62
+ page-break-after always
63
+
64
+
65
+ .table-param-screen, .result-progress
66
+ @media print
67
+ display none
68
+
69
+ .etiqueta
70
+ @media screen
71
+ border 1px dashed orange
72
+
73
+ .result-div
74
+ @media print
75
+ zoom 0.65
76
+
77
+ .result-div[resultado-cargar=ok], .result-div[resultado-rectificar=ok]
78
+ background-color #5F5
79
+ .result-div[resultado-cargar='tenia']
80
+ background-color orange
81
+ .result-div[resultado-cargar]
82
+ .ficha-persona
83
+ label
84
+ font-weight 600
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ const CACHE_NAME = '#20-11-05';
12
+ const FALLBACK = 'campo';
13
+ var urlsToCache = [
14
+ "campo",
15
+ /*
16
+ "lib/react.production.min.js",
17
+ "lib/react-dom.production.min.js",
18
+ "lib/material-ui.production.min.js",
19
+ */
20
+ "lib/react.development.js",
21
+ "lib/react-dom.development.js",
22
+ "lib/material-ui.development.js",
23
+ "lib/clsx.min.js",
24
+ "lib/redux.min.js",
25
+ "lib/react-redux.min.js",
26
+ "lib/require-bro.js",
27
+ "lib/like-ar.js",
28
+ "lib/best-globals.js",
29
+ "lib/json4all.js",
30
+ "lib/js-to-html.js",
31
+ "lib/redux-typed-reducer.js",
32
+ "lib/memoize-one.js",
33
+ "adapt.js",
34
+ "tipos.js",
35
+ "digitov.js",
36
+ "redux-formulario.js",
37
+ "render-general.js",
38
+ "render-formulario.js",
39
+ "client_modules/row-validator.js",
40
+ "unlogged.js",
41
+ "lib/js-yaml.js",
42
+ "lib/xlsx.core.min.js",
43
+ "lib/lazy-some.js",
44
+ "lib/sql-tools.js",
45
+ "dialog-promise/dialog-promise.js",
46
+ "moment/min/moment.js",
47
+ "pikaday/pikaday.js",
48
+ "lib/polyfills-bro.js",
49
+ "lib/big.js",
50
+ "lib/type-store.js",
51
+ "lib/typed-controls.js",
52
+ "lib/ajax-best-promise.js",
53
+ "my-ajax.js",
54
+ "my-start.js",
55
+ "lib/my-localdb.js",
56
+ "lib/my-websqldb.js",
57
+ "lib/my-localdb.js.map",
58
+ "lib/my-websqldb.js.map",
59
+ "lib/my-inform-net-status.js",
60
+ "lib/my-skin.js",
61
+ "lib/cliente-en-castellano.js",
62
+ "client/client.js",
63
+ "client/menu.js",
64
+ "dialog-promise/dialog-promise.css",
65
+ "pikaday/pikaday.css",
66
+ "css/offline-mode.css",
67
+ "css/formulario-react.css",
68
+ "img/main-loading.gif",
69
+ ];
70
+ self.addEventListener('install', (event) => __awaiter(void 0, void 0, void 0, function* () {
71
+ //si hay cambios no espero para cambiarlo
72
+ self.skipWaiting();
73
+ console.log("instalando");
74
+ event.waitUntil(caches.open(CACHE_NAME).then((cache) => cache.addAll(urlsToCache)));
75
+ }));
76
+ self.addEventListener('fetch', (event) => {
77
+ var sourceParts = event.request.url.split('/');
78
+ var source = sourceParts[sourceParts.length - 1];
79
+ console.log("source", source);
80
+ if (source == '@version') {
81
+ var miBlob = new Blob();
82
+ var opciones = { "status": 200, "statusText": CACHE_NAME, ok: true };
83
+ var miRespuesta = new Response(miBlob, opciones);
84
+ event.respondWith(miRespuesta);
85
+ }
86
+ else {
87
+ event.respondWith(caches.open(CACHE_NAME).then((cache) => cache.match(event.request).then((response) => {
88
+ console.log("respuesta caché: ", response);
89
+ return response || fetch(event.request).then((response) => {
90
+ console.log("respuesta", response);
91
+ if (!response) {
92
+ console.log("no tiene respuesta");
93
+ throw Error('without response');
94
+ }
95
+ return response;
96
+ }).catch((err) => {
97
+ console.log(err);
98
+ return new Response(`<p>Se produjo un error al intentar cargar la p&aacute;gina, es posible que no haya conexi&oacute;n a internet</p><a href=${FALLBACK}>Volver a Hoja de Ruta</button>`, {
99
+ headers: { 'Content-Type': 'text/html' }
100
+ });
101
+ });
102
+ })));
103
+ }
104
+ });
105
+ self.addEventListener('activate', (event) => {
106
+ console.log("borrando caches viejas");
107
+ event.waitUntil(caches.keys().then((cacheNames) => {
108
+ return Promise.all(cacheNames.filter((cacheName) => cacheName != CACHE_NAME).map((cacheName) => {
109
+ console.log("borrando cache ", cacheName);
110
+ return caches.delete(cacheName);
111
+ }));
112
+ }));
113
+ });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L3NlcnZpY2Utd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7Ozs7OztBQUNiLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQztBQUMvQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUM7QUFDekIsSUFBSSxXQUFXLEdBQUc7SUFDZCxPQUFPO0lBQ1A7Ozs7TUFJRTtJQUNILDBCQUEwQjtJQUMxQiw4QkFBOEI7SUFDOUIsZ0NBQWdDO0lBQ2hDLGlCQUFpQjtJQUNoQixrQkFBa0I7SUFDbEIsd0JBQXdCO0lBQ3hCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsNEJBQTRCO0lBQzVCLG9CQUFvQjtJQUNwQixVQUFVO0lBQ1YsVUFBVTtJQUNWLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0QixpQ0FBaUM7SUFDakMsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixrQ0FBa0M7SUFDbEMsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsMEJBQTBCO0lBQzFCLFlBQVk7SUFDWixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLDZCQUE2QjtJQUM3QixnQkFBZ0I7SUFDaEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsbUNBQW1DO0lBQ25DLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLHNCQUFzQjtDQUN6QixDQUFDO0FBQ0YsSUFBSSxDQUFD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R0FBRyxDQUNkLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUMsRUFBRSxDQUMzQixTQUFTLElBQUksVUFBVSxDQUMxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBQyxFQUFFO1lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5jb25zdCBDQUNIRV9OQU1FID0gJyMyMC0xMS0wNSc7XHJcbmNvbnN0IEZBTExCQUNLID0gJ2NhbXBvJztcclxudmFyIHVybHNUb0NhY2hlID0gW1xyXG4gICAgXCJjYW1wb1wiLFxyXG4gICAgLypcclxuICAgIFwibGliL3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzXCIsXHJcbiAgICBcImxpYi9yZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanNcIixcclxuICAgIFwibGliL21hdGVyaWFsLXVpLnByb2R1Y3Rpb24ubWluLmpzXCIsXHJcbiAgICAqL1xyXG4gICBcImxpYi9yZWFjdC5kZXZlbG9wbWVudC5qc1wiLFxyXG4gICBcImxpYi9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanNcIixcclxuICAgXCJsaWIvbWF0ZXJpYWwtdWkuZGV2ZWxvcG1lbnQuanNcIixcclxuICAgXCJsaWIvY2xzeC5taW4uanNcIixcclxuICAgIFwibGliL3JlZHV4Lm1pbi5qc1wiLFxyXG4gICAgXCJsaWIvcmVhY3QtcmVkdXgubWluLmpzXCIsXHJcbiAgICBcImxpYi9yZXF1aXJlLWJyby5qc1wiLFxyXG4gICAgXCJsaWIvbGlrZS1hci5qc1wiLFxyXG4gICAgXCJsaWIvYmVzdC1nbG9iYWxzLmpzXCIsXHJcbiAgICBcImxpYi9qc29uNGFsbC5qc1wiLFxyXG4gICAgXCJsaWIvanMtdG8taHRtbC5qc1wiLFxyXG4gICAgXCJsaWIvcmVkdXgtdHlwZWQtcmVkdWNlci5qc1wiLFxyXG4gICAgXCJsaWIvbWVtb2l6ZS1vbmUuanNcIixcclxuICAgIFwiYWRhcHQuanNcIixcclxuICAgIFwidGlwb3MuanNcIixcclxuICAgIFwiZGlnaXRvdi5qc1wiLFxyXG4gICAgXCJyZWR1eC1mb3JtdWxhcmlvLmpzXCIsXHJcbiAgICBcInJlbmRlci1nZW5lcmFsLmpzXCIsXHJcbiAgICBcInJlbmRlci1mb3JtdWxhcmlvLmpzXCIsXHJcbiAgICBcImNsaWVudF9tb2R1bGVzL3Jvdy12YWxpZGF0b3IuanNcIixcclxuICAgIFwidW5sb2dnZWQuanNcIixcclxuICAgIFwibGliL2pzLXlhbWwuanNcIixcclxuICAgIFwibGliL3hsc3guY29yZS5taW4uanNcIixcclxuICAgIFwibGliL2xhenktc29tZS5qc1wiLFxyXG4gICAgXCJsaWIvc3FsLXRvb2xzLmpzXCIsXHJcbiAgICBcImRpYWxvZy1wcm9taXNlL2RpYWxvZy1wcm9taXNlLmpzXCIsXHJcbiAgICBcIm1vbWVudC9taW4vbW9tZW50LmpzXCIsXHJcbiAgICBcInBpa2FkYXkvcGlrYWRheS5qc1wiLFxyXG4gICAgXCJsaWIvcG9seWZpbGxzLWJyby5qc1wiLFxyXG4gICAgXCJsaWIvYmlnLmpzXCIsXHJcbiAgICBcImxpYi90eXBlLXN0b3JlLmpzXCIsXHJcbiAgICBcImxpYi90eXBlZC1jb250cm9scy5qc1wiLFxyXG4gICAgXCJsaWIvYWpheC1iZXN0LXByb21pc2UuanNcIixcclxuICAgIFwibXktYWpheC5qc1wiLFxyXG4gICAgXCJteS1zdGFydC5qc1wiLFxyXG4gICAgXCJsaWIvbXktbG9jYWxkYi5qc1wiLFxyXG4gICAgXCJsaWIvbXktd2Vic3FsZGIuanNcIixcclxuICAgIFwibGliL215LWxvY2FsZGIuanMubWFwXCIsXHJcbiAgICBcImxpYi9teS13ZWJzcWxkYi5qcy5tYXBcIixcclxuICAgIFwibGliL215LWluZm9ybS1uZXQtc3RhdHVzLmpzXCIsXHJcbiAgICBcImxpYi9teS1za2luLmpzXCIsXHJcbiAgICBcImxpYi9jbGllbnRlLWVuLWNhc3RlbGxhbm8uanNcIixcclxuICAgIFwiY2xpZW50L2NsaWVudC5qc1wiLFxyXG4gICAgXCJjbGllbnQvbWVudS5qc1wiLFxyXG4gICAgXCJkaWFsb2ctcHJvbWlzZS9kaWFsb2ctcHJvbWlzZS5jc3NcIixcclxuICAgIFwicGlrYWRheS9waWthZGF5LmNzc1wiLFxyXG4gICAgXCJjc3Mvb2ZmbGluZS1tb2RlLmNzc1wiLFxyXG4gICAgXCJjc3MvZm9ybXVsYXJpby1yZWFjdC5jc3NcIixcclxuICAgIFwiaW1nL21haW4tbG9hZGluZy5naWZcIixcclxuXTtcclxuc2VsZi5hZGRFdmVudExpc3RlbmVyKCdpbnN0YWxsJywgYXN5bmMgKGV2ZW50KT0+e1xyXG4gICAgLy9zaSBoYXkgY2FtYmlvcyBubyBlc3Blcm8gcGFyYSBjYW1iaWFybG9cclxuICAgIHNlbGYuc2tpcFdhaXRpbmcoKTtcclxuICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsYW5kb1wiKVxyXG4gICAgZXZlbnQud2FpdFVudGlsKFxyXG4gICAgICAgIGNhY2hlcy5vcGVuKENBQ0hFX05BTUUpLnRoZW4oKGNhY2hlKT0+XHJcbiAgICAgICAgICAgIGNhY2hlLmFkZEFsbCh1cmxzVG9DYWNoZSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG59KTtcclxuXHJcbnNlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCAoZXZlbnQpPT57XHJcbiAgICB2YXIgc291cmNlUGFydHMgPSBldmVudC5yZXF1ZXN0LnVybC5zcGxpdCgnLycpO1xyXG4gICAgdmFyIHNvdXJjZTpzdHJpbmcgPSBzb3VyY2VQYXJ0c1tzb3VyY2VQYXJ0cy5sZW5ndGgtMV07XHJcbiAgICBjb25zb2xlLmxvZyhcInNvdXJjZVwiLHNvdXJjZSlcclxuICAgIGlmKHNvdXJjZT09J0B2ZXJzaW9uJyl7XHJcbiAgICAgICAgdmFyIG1pQmxvYiA9IG5ldyBCbG9iKCk7XHJcbiAgICAgICAgdmFyIG9wY2lvbmVzID0geyBcInN0YXR1c1wiIDogMjAwICwgXCJzdGF0dXNUZXh0XCIgOiBDQUNIRV9OQU1FLCBvazp0cnVlIH07XHJcbiAgICAgICAgdmFyIG1pUmVzcHVlc3RhID0gbmV3IFJlc3BvbnNlKG1pQmxvYixvcGNpb25lcyk7XHJcbiAgICAgICAgZXZlbnQucmVzcG9uZFdpdGgobWlSZXNwdWVzdGEpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgICAgZXZlbnQucmVzcG9uZFdpdGgoXHJcbiAgICAgICAgICAgIGNhY2hlcy5vcGVuKENBQ0hFX05BTUUpLnRoZW4oKGNhY2hlKT0+XHJcbiAgICAgICAgICAgICAgICBjYWNoZS5tYXRjaChldmVudC5yZXF1ZXN0KS50aGVuKChyZXNwb25zZSk9PntcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInJlc3B1ZXN0YSBjYWNow6k6IFwiLCByZXNwb25zZSlcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UgfHwgZmV0Y2goZXZlbnQucmVxdWVzdCkudGhlbigocmVzcG9uc2UpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicmVzcHVlc3RhXCIsIHJlc3BvbnNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZighcmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibm8gdGllbmUgcmVzcHVlc3RhXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcignd2l0aG91dCByZXNwb25zZScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaCgoZXJyKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoYDxwPlNlIHByb2R1am8gdW4gZXJyb3IgYWwgaW50ZW50YXIgY2FyZ2FyIGxhIHAmYWFjdXRlO2dpbmEsIGVzIHBvc2libGUgcXVlIG5vIGhheWEgY29uZXhpJm9hY3V0ZTtuIGEgaW50ZXJuZXQ8L3A+PGEgaHJlZj0ke0ZBTExCQUNLfT5Wb2x2ZXIgYSBIb2phIGRlIFJ1dGE8L2J1dHRvbj5gLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICd0ZXh0L2h0bWwnfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59KTtcclxuc2VsZi5hZGRFdmVudExpc3RlbmVyKCdhY3RpdmF0ZScsIChldmVudCk9PntcclxuICAgIGNvbnNvbGUubG9nKFwiYm9ycmFuZG8gY2FjaGVzIHZpZWphc1wiKVxyXG4gICAgZXZlbnQud2FpdFVudGlsKFxyXG4gICAgICAgIGNhY2hlcy5rZXlzKCkudGhlbigoY2FjaGVOYW1lcyk9PntcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgICAgICAgY2FjaGVOYW1lcy5maWx0ZXIoKGNhY2hlTmFtZSk9PlxyXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlTmFtZSAhPSBDQUNIRV9OQU1FXHJcbiAgICAgICAgICAgICAgICApLm1hcCgoY2FjaGVOYW1lKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYm9ycmFuZG8gY2FjaGUgXCIsIGNhY2hlTmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlcy5kZWxldGUoY2FjaGVOYW1lKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbn0pOyJdfQ==