testcafe 1.20.2-alpha.1 → 2.0.0-rc.3

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.
Files changed (231) hide show
  1. package/lib/api/request-hooks/assert-type.js +2 -2
  2. package/lib/api/request-hooks/hook.js +2 -2
  3. package/lib/api/request-hooks/request-logger.js +2 -2
  4. package/lib/api/skip-js-errors/index.js +62 -0
  5. package/lib/api/structure/base-unit.js +2 -2
  6. package/lib/api/structure/fixture.js +13 -13
  7. package/lib/api/structure/test.js +18 -17
  8. package/lib/api/structure/testing-unit.js +26 -16
  9. package/lib/api/test-controller/assertion.js +5 -5
  10. package/lib/api/test-controller/execution-context.js +2 -2
  11. package/lib/api/test-controller/index.js +33 -30
  12. package/lib/api/test-controller/proxy.js +2 -2
  13. package/lib/api/test-page-url.js +4 -4
  14. package/lib/api/test-run-tracker.js +2 -2
  15. package/lib/api/wrap-test-function.js +3 -3
  16. package/lib/assertions/executor.js +4 -4
  17. package/lib/assertions/get-fn.js +3 -3
  18. package/lib/browser/connection/gateway.js +18 -18
  19. package/lib/browser/connection/get-hints.js +8 -8
  20. package/lib/browser/connection/index.js +11 -11
  21. package/lib/browser/connection/remotes-queue.js +4 -4
  22. package/lib/browser/provider/built-in/dedicated/base.js +6 -6
  23. package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/index.js +10 -10
  24. package/lib/browser/provider/built-in/dedicated/chrome/config.js +17 -17
  25. package/lib/browser/provider/built-in/dedicated/chrome/create-temp-profile.js +4 -4
  26. package/lib/browser/provider/built-in/dedicated/chrome/index.js +6 -6
  27. package/lib/browser/provider/built-in/dedicated/chrome/local-chrome.js +6 -6
  28. package/lib/browser/provider/built-in/dedicated/chrome/runtime-info.js +4 -4
  29. package/lib/browser/provider/built-in/dedicated/edge/runtime-info.js +2 -2
  30. package/lib/browser/provider/built-in/dedicated/firefox/config.js +8 -8
  31. package/lib/browser/provider/built-in/dedicated/firefox/create-temp-profile.js +3 -3
  32. package/lib/browser/provider/built-in/dedicated/firefox/index.js +5 -5
  33. package/lib/browser/provider/built-in/dedicated/firefox/local-firefox.js +2 -2
  34. package/lib/browser/provider/built-in/dedicated/firefox/marionette-client/index.js +7 -7
  35. package/lib/browser/provider/built-in/dedicated/firefox/runtime-info.js +3 -3
  36. package/lib/browser/provider/built-in/path.js +2 -2
  37. package/lib/browser/provider/built-in/remote.js +3 -3
  38. package/lib/browser/provider/index.js +5 -5
  39. package/lib/browser/provider/plugin-host.js +5 -6
  40. package/lib/browser/provider/pool.js +4 -4
  41. package/lib/browser/provider/utils/argument-parsing.js +3 -3
  42. package/lib/browser/provider/utils/browser-starter.js +2 -2
  43. package/lib/cli/argument-parser/index.js +52 -41
  44. package/lib/cli/argument-parser/parse-utils.js +2 -2
  45. package/lib/cli/authentication-helper.js +3 -3
  46. package/lib/cli/cli.js +8 -8
  47. package/lib/cli/correct-browsers-and-sources.js +2 -2
  48. package/lib/cli/index.js +2 -2
  49. package/lib/cli/log.js +3 -3
  50. package/lib/cli/remotes-wizard.js +3 -3
  51. package/lib/client/automation/index.js +120 -34
  52. package/lib/client/automation/index.min.js +1 -1
  53. package/lib/client/browser/idle-page/index.js +321 -317
  54. package/lib/client/browser/service-worker.js +244 -290
  55. package/lib/client/core/deps/hammerhead.js +12 -4
  56. package/lib/client/core/index.js +145 -55
  57. package/lib/client/core/index.min.js +1 -1
  58. package/lib/client/core/utils/dom.js +33 -28
  59. package/lib/client/core/utils/position.js +18 -14
  60. package/lib/client/core/utils/style.js +8 -4
  61. package/lib/client/driver/command-executors/client-functions/selector-executor/filter.js +5 -5
  62. package/lib/client/driver/command-executors/client-functions/selector-executor/utils.js +3 -3
  63. package/lib/client/driver/deps/hammerhead.js +12 -4
  64. package/lib/client/driver/deps/testcafe-core.js +12 -4
  65. package/lib/client/driver/deps/testcafe-ui.js +12 -4
  66. package/lib/client/driver/index.js +654 -630
  67. package/lib/client/driver/index.min.js +1 -1
  68. package/lib/client/driver/status.js +2 -2
  69. package/lib/client/ui/index.js +10 -8
  70. package/lib/client/ui/index.min.js +1 -1
  71. package/lib/client-functions/builder-symbol.js +1 -2
  72. package/lib/client-functions/client-function-builder.js +12 -12
  73. package/lib/client-functions/replicator.js +2 -2
  74. package/lib/client-functions/selector-api-execution-mode.js +2 -2
  75. package/lib/client-functions/selectors/add-api.js +48 -48
  76. package/lib/client-functions/selectors/selector-builder.js +17 -17
  77. package/lib/compiler/compile-client-function.js +6 -6
  78. package/lib/compiler/index.js +9 -9
  79. package/lib/compiler/test-file/api-based.js +8 -8
  80. package/lib/compiler/test-file/base.js +6 -6
  81. package/lib/compiler/test-file/exportble-lib-path.js +2 -2
  82. package/lib/compiler/test-file/formats/coffeescript/compiler.js +2 -2
  83. package/lib/compiler/test-file/formats/coffeescript/get-test-list.js +2 -2
  84. package/lib/compiler/test-file/formats/es-next/compiler.js +4 -4
  85. package/lib/compiler/test-file/formats/es-next/get-test-list.js +4 -4
  86. package/lib/compiler/test-file/formats/raw.js +2 -2
  87. package/lib/compiler/test-file/formats/typescript/compiler.js +11 -11
  88. package/lib/compiler/test-file/formats/typescript/get-test-list.js +3 -3
  89. package/lib/compiler/test-file/test-file-parser-base.js +3 -3
  90. package/lib/configuration/configuration-base.js +15 -15
  91. package/lib/configuration/interfaces.js +1 -1
  92. package/lib/configuration/skip-js-errors-option-names.js +11 -0
  93. package/lib/configuration/testcafe-configuration.js +21 -16
  94. package/lib/configuration/types.js +1 -1
  95. package/lib/configuration/typescript-configuration.js +4 -4
  96. package/lib/custom-client-scripts/assert-type.js +2 -2
  97. package/lib/custom-client-scripts/client-script.js +6 -6
  98. package/lib/custom-client-scripts/get-code.js +2 -2
  99. package/lib/custom-client-scripts/routing.js +3 -3
  100. package/lib/custom-client-scripts/utils.js +3 -3
  101. package/lib/dashboard/connector.js +4 -4
  102. package/lib/dashboard/get-default-project-link.js +2 -2
  103. package/lib/dashboard/index.js +26 -26
  104. package/lib/errors/create-stack-filter.js +2 -2
  105. package/lib/errors/error-list.js +2 -2
  106. package/lib/errors/get-callsite.js +2 -2
  107. package/lib/errors/is-internal-stack-frame.js +5 -5
  108. package/lib/errors/process-test-fn-error.js +2 -2
  109. package/lib/errors/runtime/index.js +10 -10
  110. package/lib/errors/runtime/templates.js +5 -2
  111. package/lib/errors/runtime/type-assertions.js +6 -6
  112. package/lib/errors/stack-cleaning-hook.js +2 -2
  113. package/lib/errors/test-run/formattable-adapter.js +7 -7
  114. package/lib/errors/test-run/index.js +25 -5
  115. package/lib/errors/test-run/render-error-template/index.js +6 -6
  116. package/lib/errors/test-run/render-error-template/utils.js +2 -2
  117. package/lib/errors/test-run/templates.js +40 -31
  118. package/lib/errors/test-run/utils.js +7 -7
  119. package/lib/errors/types.js +5 -1
  120. package/lib/index.js +1 -1
  121. package/lib/live/file-watcher/index.js +2 -2
  122. package/lib/live/keyboard-observer.js +3 -3
  123. package/lib/live/test-run-controller.js +3 -3
  124. package/lib/live/test-run.js +3 -2
  125. package/lib/live/test-runner.js +2 -2
  126. package/lib/load-assets.js +2 -2
  127. package/lib/notifications/add-rendered-warning.js +4 -4
  128. package/lib/notifications/debug-logger.js +6 -6
  129. package/lib/notifications/deprecated.js +2 -2
  130. package/lib/notifications/information-message.js +4 -3
  131. package/lib/proxyless/resource-injector.js +4 -4
  132. package/lib/reporter/command/command-formatter.js +4 -4
  133. package/lib/reporter/index.js +10 -10
  134. package/lib/reporter/plugin-host.js +7 -7
  135. package/lib/role/index.js +8 -8
  136. package/lib/role/role.js +2 -2
  137. package/lib/runner/bootstrapper.js +20 -20
  138. package/lib/runner/browser-job.js +3 -3
  139. package/lib/runner/browser-set.js +12 -12
  140. package/lib/runner/fixture-hook-controller.js +5 -5
  141. package/lib/runner/index.js +43 -33
  142. package/lib/runner/task/index.js +10 -6
  143. package/lib/runner/test-run-hook-controller.js +5 -5
  144. package/lib/runner/tested-app.js +7 -7
  145. package/lib/screenshots/capturer.js +17 -17
  146. package/lib/screenshots/crop.js +8 -8
  147. package/lib/screenshots/index.js +6 -10
  148. package/lib/screenshots/utils.js +4 -4
  149. package/lib/services/compiler/host.js +8 -8
  150. package/lib/services/compiler/service.js +13 -13
  151. package/lib/services/compiler/test-run-proxy.js +8 -8
  152. package/lib/services/serialization/replicator/transforms/callsite-record-transform.js +2 -2
  153. package/lib/services/serialization/replicator/transforms/command-base-trasform/command-constructors.js +2 -1
  154. package/lib/services/serialization/replicator/transforms/command-base-trasform/index.js +3 -3
  155. package/lib/services/serialization/replicator/transforms/raw-command-callsite-record-transform.js +2 -2
  156. package/lib/services/serialization/test-structure.js +4 -4
  157. package/lib/services/utils/ipc/interfaces.js +1 -3
  158. package/lib/services/utils/ipc/io.js +3 -3
  159. package/lib/services/utils/ipc/message.js +2 -2
  160. package/lib/services/utils/ipc/proxy.js +4 -4
  161. package/lib/services/utils/ipc/transport.js +2 -2
  162. package/lib/shared/errors/index.js +9 -2
  163. package/lib/shared/errors/selector-error-ctor-callback.js +7 -3
  164. package/lib/test-run/bookmark.js +1 -1
  165. package/lib/test-run/browser-manipulation-queue.js +3 -3
  166. package/lib/test-run/commands/actions.js +66 -46
  167. package/lib/test-run/commands/assertion.js +3 -3
  168. package/lib/test-run/commands/base.js +2 -2
  169. package/lib/test-run/commands/browser-manipulation.js +8 -8
  170. package/lib/test-run/commands/observation.js +4 -4
  171. package/lib/test-run/commands/options.js +27 -12
  172. package/lib/test-run/commands/type.js +2 -1
  173. package/lib/test-run/commands/utils.js +3 -2
  174. package/lib/test-run/commands/validations/argument.js +19 -10
  175. package/lib/test-run/commands/validations/factories.js +10 -2
  176. package/lib/test-run/commands/validations/initializers.js +4 -4
  177. package/lib/test-run/debug-log.js +4 -4
  178. package/lib/test-run/execute-js-expression/index.js +4 -4
  179. package/lib/test-run/index.js +48 -41
  180. package/lib/test-run/request/create-request-options.js +9 -9
  181. package/lib/test-run/request/process-response-data.js +2 -2
  182. package/lib/test-run/request/send.js +5 -5
  183. package/lib/testcafe.js +8 -4
  184. package/lib/utils/check-file-path.js +2 -2
  185. package/lib/utils/check-url.js +2 -2
  186. package/lib/utils/correct-file-path.js +4 -4
  187. package/lib/utils/delegated-api.js +1 -1
  188. package/lib/utils/detect-ffmpeg.js +3 -3
  189. package/lib/utils/diff/colors.js +2 -2
  190. package/lib/utils/diff/index.js +11 -7
  191. package/lib/utils/diff/util.js +5 -5
  192. package/lib/utils/diff.js +4 -4
  193. package/lib/utils/escape-user-agent.js +2 -2
  194. package/lib/utils/execute-fn-with-timeout.js +2 -2
  195. package/lib/utils/get-browser.js +2 -2
  196. package/lib/utils/get-filter-fn.js +4 -4
  197. package/lib/utils/get-options/base.js +2 -2
  198. package/lib/utils/get-options/compiler.js +2 -2
  199. package/lib/utils/get-options/dashboard.js +2 -2
  200. package/lib/utils/get-options/get-assertion-timeout.js +1 -1
  201. package/lib/utils/get-options/index.js +4 -2
  202. package/lib/utils/get-options/meta.js +2 -2
  203. package/lib/utils/get-options/quarantine.js +8 -6
  204. package/lib/utils/get-options/screenshot.js +2 -2
  205. package/lib/utils/get-options/skip-js-errors.js +35 -0
  206. package/lib/utils/get-options/ssl.js +6 -6
  207. package/lib/utils/get-options/video.js +2 -2
  208. package/lib/utils/is-password-input.js +1 -1
  209. package/lib/utils/log-entry.js +2 -2
  210. package/lib/utils/make-reg-exp.js +19 -6
  211. package/lib/utils/moment-loader.js +2 -2
  212. package/lib/utils/parse-file-list.js +7 -7
  213. package/lib/utils/path-pattern.js +4 -4
  214. package/lib/utils/prepare-reporters.js +2 -2
  215. package/lib/utils/prerender-callsite.js +6 -6
  216. package/lib/utils/process.js +7 -7
  217. package/lib/utils/promisified-functions.js +14 -14
  218. package/lib/utils/raw-command-callsite-record.js +2 -2
  219. package/lib/utils/resolve-path-relatively-cwd.js +2 -2
  220. package/lib/utils/string.js +3 -3
  221. package/lib/utils/temp-directory/cleanup-process/index.js +6 -6
  222. package/lib/utils/temp-directory/cleanup-process/worker.js +4 -4
  223. package/lib/utils/temp-directory/index.js +6 -6
  224. package/lib/utils/temp-directory/lockfile.js +2 -2
  225. package/lib/video-recorder/process.js +6 -6
  226. package/lib/video-recorder/recorder.js +9 -9
  227. package/lib/video-recorder/test-run-video-recorder.js +2 -2
  228. package/package.json +8 -7
  229. package/ts-defs/index.d.ts +46 -7
  230. package/ts-defs/selectors.d.ts +39 -0
  231. package/ts-defs/testcafe-scripts.d.ts +39 -0
@@ -557,12 +557,12 @@ window['%hammerhead%'].utils.removeInjectedScript();
557
557
  return ProgressPanel;
558
558
  }());
559
559
 
560
- /*! *****************************************************************************
560
+ /******************************************************************************
561
561
  Copyright (c) Microsoft Corporation.
562
-
562
+
563
563
  Permission to use, copy, modify, and/or distribute this software for any
564
564
  purpose with or without fee is hereby granted.
565
-
565
+
566
566
  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
567
567
  REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
568
568
  AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
@@ -572,15 +572,17 @@ window['%hammerhead%'].utils.removeInjectedScript();
572
572
  PERFORMANCE OF THIS SOFTWARE.
573
573
  ***************************************************************************** */
574
574
  /* global Reflect, Promise */
575
-
576
- var extendStatics = function(d, b) {
575
+ var extendStatics = function (d, b) {
577
576
  extendStatics = Object.setPrototypeOf ||
578
577
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
579
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
578
+ function (d, b) { for (var p in b)
579
+ if (Object.prototype.hasOwnProperty.call(b, p))
580
+ d[p] = b[p]; };
580
581
  return extendStatics(d, b);
581
582
  };
582
-
583
583
  function __extends(d, b) {
584
+ if (typeof b !== "function" && b !== null)
585
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
584
586
  extendStatics(d, b);
585
587
  function __() { this.constructor = d; }
586
588
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -939,7 +941,7 @@ window['%hammerhead%'].utils.removeInjectedScript();
939
941
  shadowUI$6.addClass(this.statusDiv, INFO_CLASS);
940
942
  statusContainer.appendChild(this.statusDiv);
941
943
  var fixtureDiv = document.createElement('div');
942
- nativeMethods$4.nodeTextContentSetter.call(fixtureDiv, this.fixtureName + " - " + this.testName);
944
+ nativeMethods$4.nodeTextContentSetter.call(fixtureDiv, "".concat(this.fixtureName, " - ").concat(this.testName));
943
945
  shadowUI$6.addClass(fixtureDiv, FIXTURE_DIV_CLASS);
944
946
  shadowUI$6.addClass(fixtureDiv, INFO_CLASS);
945
947
  statusContainer.appendChild(fixtureDiv);
@@ -1 +1 @@
1
- window["%hammerhead%"].utils.removeInjectedScript(),function Re(We){var Oe=We.document;!function(s,o,t){var e="default"in s?s.default:s,i="default"in o?o.default:o;t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var r={uiRoot:null,element:function(){return this.uiRoot||(this.uiRoot=Oe.createElement("div"),s.shadowUI.getRoot().appendChild(this.uiRoot)),this.uiRoot},hide:function(){this.uiRoot&&(this.uiRoot.style.visibility="hidden")},show:function(){this.uiRoot&&(this.uiRoot.style.visibility="")},remove:function(){var t=s.shadowUI.getRoot();s.nativeMethods.nodeParentNodeGetter.call(t).removeChild(t)}},c=e.shadowUI,u=e.utils.browser,a=e.utils.featureDetection,d=e.nativeMethods,h=e.eventSandbox.eventSimulator,l=e.eventSandbox.listeners,p=i.positionUtils,m=i.domUtils,g=i.styleUtils,f=i.eventUtils,v=i.arrayUtils,y="tcOptionList",E="tcOptionGroup",C="tcOption",_="disabled",w=u.isIE?30:20,S=null,x=null,I=[],b=[];function T(t){var e=d.eventTargetGetter.call(t);(e||t.srcElement)===S||m.containsElement(S,e)||m.containsElement(x,e)||M()}function B(t,e,i){var n,s=d.eventTargetGetter.call(t),o=v.indexOf(b,s);o<0||(i(),(n=-1<s.className.indexOf(_))&&u.isWebKit||function(t,e){var i=S.selectedIndex,n=S.getElementsByTagName("option")[t],s=!e&&t!==i;s&&!u.isIE&&(S.selectedIndex=t),u.isFirefox||u.isIE||!s||(h.input(S),h.change(S)),(u.isFirefox||u.isIE)&&h.mousedown(u.isFirefox?n:S),a.isTouchDevice||h.mouseup(u.isFirefox?n:S),(u.isFirefox||u.isIE)&&s&&(u.isIE&&(S.selectedIndex=t),u.isIE||h.input(S),h.change(S)),a.isTouchDevice||h.click(u.isFirefox||u.isIE?n:S),e||M()}(o,n))}function U(t,e){for(var i,n,s,o,a,r,l,u=m.getChildrenLength(t),h=0;h<u;h++)m.isOptionElement(t[h])?(o=t[h],a=e,l=r=void 0,r=Oe.createElement("div"),l=o.disabled||"optgroup"===m.getTagName(o.parentElement)&&o.parentElement.disabled,d.nodeTextContentSetter.call(r,o.text),a.appendChild(r),c.addClass(r,C),l&&(c.addClass(r,_),g.set(r,"color",g.get(o,"color"))),b.push(r)):"optgroup"===m.getTagName(t[h])&&(i=t[h],n=e,s=void 0,s=Oe.createElement("div"),d.nodeTextContentSetter.call(s,i.label||" "),n.appendChild(s),c.addClass(s,E),s.disabled&&(c.addClass(s,_),g.set(s,"color",g.get(i,"color"))),U(i.children,s),I.push(s))}function M(){m.remove(x),f.unbind(Oe,"mousedown",T),S=x=null,b=[],I=[]}function A(t){return t?t===S:!!S}var n=Object.freeze({__proto__:null,expandOptionList:function(t){var e=t.children;if(e.length&&!t.disabled){if(S){var i=t===S;if(M(),i)return}S=t,x=Oe.createElement("div"),r.element().appendChild(x),c.addClass(x,y),U(e,x),l.addInternalEventBeforeListener(We,["click"],B),d.setTimeout.call(We,function(){f.bind(Oe,"mousedown",T)},0),g.set(x,{position:"absolute",fontSize:g.get(S,"fontSize"),fontFamily:g.get(S,"fontFamily"),minWidth:g.getWidth(S)+"px",left:p.getOffsetPosition(S).left+"px",height:m.getSelectVisibleChildren(t).length>w?g.getOptionHeight(t)*w:""});var n,s=p.getOffsetPosition(S).top,o=g.getHeight(x),a=s+g.getHeight(S)+2;a+o>g.getScrollTop(We)+g.getHeight(We)&&(n=s-3-o)>=g.getScrollTop(We)&&(a=n),g.set(x,"top",a+"px")}},collapseOptionList:M,isOptionListExpanded:A,getEmulatedChildElement:function(t){var e="optgroup"===m.getTagName(t),i=m.getElementIndexInParent(S,t);return e?I[i]:b[i]},scrollOptionListByChild:function(t){var e,i,n,s,o,a,r=m.getSelectParent(t);r&&(e=g.getSelectElementSize(r),i=g.getOptionHeight(r),n=0,o=(s=Math.max(g.getScrollTop(r)/i,0))+e-1,(a=m.getChildVisibleIndex(r,t))<s?(n=i*(s-a),g.setScrollTop(r,Math.max(g.getScrollTop(r)-n,0))):o<a&&(n=i*(a-o),g.setScrollTop(r,g.getScrollTop(r)+n)))},getSelectChildCenter:function(t){var e=m.getSelectParent(t);if(!e)return{x:0,y:0};var i=g.getOptionHeight(e),n=p.getElementRectangle(t);return{x:Math.round(n.left+n.width/2),y:Math.round(n.top+i/2)}},switchOptionsByKeys:function(t,e){var i=g.getSelectElementSize(t),n=!g.hasDimensions(c.select("."+y)[0]);if(/down|up/.test(e)||!u.isIE&&(i<=1||u.isFirefox)&&(n||u.isFirefox)&&/left|right/.test(e)){for(var s=t.querySelectorAll("option"),o=[],a=0;a<s.length;a++){var r=s[a].parentElement;s[a].disabled||"optgroup"===m.getTagName(r)&&r.disabled||o.push(s[a])}var l=v.indexOf(o,s[t.selectedIndex])+(/down|right/.test(e)?1:-1);0<=l&&l<o.length&&(t.selectedIndex=v.indexOf(s,o[l]),u.isIE||h.input(t),h.change(t))}},isOptionElementVisible:function(t){var e=m.getSelectParent(t);if(!e)return!0;var i=A(e),n=g.getSelectElementSize(e);return i||1<n}}),V="Loading page...",D="modal-background",P="loading-text",k="loading-icon",R=null,W=null,O=null,N=!1;function F(){function t(){var t=o.styleUtils.getHeight(We),e=o.styleUtils.getWidth(We);o.styleUtils.set(R,"width",e+"px"),o.styleUtils.set(R,"height",t+"px"),o.styleUtils.set(O,{left:Math.round((e-o.styleUtils.getWidth(O))/2)+"px",top:Math.round((t-o.styleUtils.getHeight(O))/2)+"px"})}t(),o.eventUtils.bind(We,"resize",t)}function L(){var t,e,i,n;t=r.element(),R=Oe.createElement("div"),t.appendChild(R),s.shadowUI.addClass(R,D),W=Oe.createElement("div"),s.nativeMethods.nodeTextContentSetter.call(W,V),t.appendChild(W),s.shadowUI.addClass(W,P),O=Oe.createElement("div"),o.styleUtils.set(O,"visibility","hidden"),t.appendChild(O),s.shadowUI.addClass(O,k),F(),e=o.styleUtils.getHeight(We),i=o.styleUtils.getWidth(We),(n=!o.styleUtils.hasDimensions(W))&&(o.styleUtils.set(W,"visibility","hidden"),o.styleUtils.set(W,"display","block")),o.styleUtils.set(W,{left:Math.max((i-o.styleUtils.getWidth(W))/2,0)+"px",top:Math.max((e-o.styleUtils.getHeight(W))/2,0)+"px"}),n&&(o.styleUtils.set(W,"display","none"),o.styleUtils.set(W,"visibility","")),N=!0}var H=Object.freeze({__proto__:null,initAndShowLoadingText:function(){function t(){L(),o.styleUtils.set(R,"opacity",.8),o.styleUtils.set(R,"display","block"),o.styleUtils.set(W,"display","block"),e=!0}var e=!1,i=function(){e||(Oe.body?t():s.nativeMethods.setTimeout.call(We,i,0))};i(),o.eventUtils.documentReady().then(function(){e||t()})},show:function(t){N||L(),o.styleUtils.set(R,"opacity",t?0:.7),o.styleUtils.set(R,"display","block")},hide:function(){N&&(o.styleUtils.set(W,"display","none"),o.styleUtils.set(R,"display","none"))},showLoadingIcon:function(){o.styleUtils.set(O,"visibility","visible")},hideLoadingIcon:function(){o.styleUtils.set(O,"visibility","hidden")}}),q=e.shadowUI,z=i.styleUtils,G="success",j=(K.prototype.setValue=function(t){t="number"!=typeof t?0:Math.min(Math.max(t,0),100),z.set(this.valueElement,"width",t+"%")},K.prototype.setSuccess=function(t){t?q.addClass(this.containerElement,G):q.removeClass(this.containerElement,G)},K);function K(t){this.containerElement=Oe.createElement("div"),this.valueElement=Oe.createElement("div"),t.appendChild(this.containerElement),this.containerElement.appendChild(this.valueElement),q.addClass(this.containerElement,"progress-bar"),q.addClass(this.valueElement,"value")}var Y=e.shadowUI,X=e.nativeMethods,J=i.eventUtils,Q=i.styleUtils,Z="progress-panel",$="title",tt="content",et=(it._getInvisibleElementProperty=function(t,e){var i="none"===Q.get(t,"display");i&&Q.set(t,"display","block");var n=t[e];return i&&Q.set(t,"display","none"),n},it._showAtWindowCenter=function(t){var e=it._getInvisibleElementProperty(t,"offsetHeight"),i=it._getInvisibleElementProperty(t,"offsetWidth"),n=Math.round(Q.getHeight(We)/2-e/2),s=Math.round(Q.getWidth(We)/2-i/2);Q.set(t,{left:s+"px",top:n+"px"})},it.prototype._setCurrentProgress=function(){var t=Math.round((X.dateNow()-this.startTime)/this.maxTimeout*100);this.progressBar.setValue(t)},it.prototype._setSuccess=function(t){this.progressBar.setSuccess(t)},it.prototype._stopAnimation=function(){X.clearInterval.call(We,this.animationInterval)},it.prototype._animate=function(t,e,i,n){var s,o,a,r=this,l=X.dateNow(),u=i?0:1;i&&(Q.set(t,"opacity",u),Q.set(t,"display","block")),this._stopAnimation(),this.animationInterval=X.setInterval.call(We,function(){s=X.dateNow()-l,o=Math.min(s/e,1),a=.5-Math.cos(o*Math.PI)/2,Q.set(t,"opacity",u+(i?a:-a)),1===o&&(r._stopAnimation(),n&&n())},10)},it.prototype._showPanel=function(){J.bind(We,"resize",this.disposePanel),this._animate(this.panelDiv,200,!0)},it.prototype._hidePanel=function(t){var e=this;this.startTime=null,J.unbind(We,"resize",this.disposePanel),this._animate(this.panelDiv,t?0:600,!1,function(){return Q.set(e.panelDiv,"display","none")})},it.prototype.show=function(t,e){var i=this;this.startTime=X.dateNow(),this.maxTimeout=e,X.nodeTextContentSetter.call(this.titleDiv,t),this._setSuccess(!1),this.openingTimeout=X.setTimeout.call(We,function(){i.openingTimeout=null,i._setCurrentProgress(),i._showPanel(),i.updateInterval=X.setInterval.call(We,function(){return i._setCurrentProgress()},100)},300)},it.prototype.close=function(t){var e=this;t&&this._setSuccess(!0),this.openingTimeout&&(X.clearTimeout.call(We,this.openingTimeout),this.openingTimeout=null),this.updateInterval&&(X.clearInterval.call(We,this.updateInterval),this.updateInterval=null),t?this.startTime&&X.dateNow()-this.startTime<1e3?X.setTimeout.call(We,function(){X.setTimeout.call(We,function(){return e._hidePanel(!1)},200)},100):X.setTimeout.call(We,function(){return e._hidePanel(!1)},200):this._hidePanel(!0)},it);function it(){var t=this;this.startTime=null,this.openingTimeout=null,this.updateInterval=null,this.animationInterval=null,this.panelDiv=Oe.createElement("div"),r.element().appendChild(this.panelDiv),this.titleDiv=Oe.createElement("div"),this.panelDiv.appendChild(this.titleDiv),this.contentDiv=Oe.createElement("div"),this.panelDiv.appendChild(this.contentDiv),Y.addClass(this.panelDiv,Z),Y.addClass(this.titleDiv,$),Y.addClass(this.contentDiv,tt),it._showAtWindowCenter(this.panelDiv),this.progressBar=new j(this.contentDiv),this.disposePanel=function(){return it._showAtWindowCenter(t.panelDiv)}}var nt=function(t,e){return(nt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};function st(t,e){function i(){this.constructor=t}nt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var ot=e.shadowUI,at=e.nativeMethods,rt=i.styleUtils,lt="determinate",ut=(ht.prototype._setCurrentProgress=function(){var t=(at.dateNow()-this.startTime)/this.maxTimeout,e=Math.min(Math.max(t,0),1),i=rt.getWidth(this.progressBar),n=Math.round(i*e);rt.set(this.firstValueElement,"width",n+"px")},ht.prototype.start=function(t,e){var i=this;ot.addClass(this.progressBar,lt),this.maxTimeout=t,this.startTime=e||at.dateNow(),this._setCurrentProgress(),this.animationInterval=at.setInterval.call(We,function(){return i._setCurrentProgress()},10)},ht.prototype.stop=function(){this.animationInterval&&(at.clearInterval.call(We,this.animationInterval),this.animationInterval=null)},ht.prototype.reset=function(){rt.set(this.firstValueElement,"width",0),ot.removeClass(this.progressBar,lt)},ht);function ht(t,e){this.progressBar=t,this.firstValueElement=e,this.maxTimeout=null,this.startTime=null,this.animationInterval=null}function ct(t,e,i){if(e.x===t.x)return 0;var n=(e.y-t.y)/(e.x-t.x),s=t.x*(t.y-e.y)/(e.x-t.x)+t.y;return Math.round(n*i+s)}var dt=e.shadowUI,pt=e.nativeMethods,mt=i.styleUtils,gt={time:2800,points:[.815,.395],positionByCompletePercent:{0:{left:-35,right:100},.6:{left:100,right:-90},1:{left:100,right:-90}}},ft={time:3e3,points:[.84,1],positionByCompletePercent:{0:{left:-200,right:100},.6:{left:107,right:-8},1:{left:107,right:-8}}},vt=0,yt=.6,Et=1,Ct="indeterminate",_t=(wt._updateValueAnimation=function(t,e,i){var n,s,o,a,r,l,u,h,c,d,p=i.time,m=i.points,g=i.positionByCompletePercent,f=pt.dateNow()-t,v=(n=f/p,s=m[0],o=m[1],3*Math.pow(1-n,2)*n*s+3*(1-n)*n*n*o+n*n*n),y=(h=(l=(a=v)<yt)?yt:Et,c=(r=g)[u=l?vt:yt],d=r[h],{left:ct({x:u,y:c.left},{x:h,y:d.left},a),right:ct({x:u,y:c.right},{x:h,y:d.right},a)}),E=y.left,C=y.right;mt.set(e,"left",Math.round(E)+"%"),mt.set(e,"right",Math.round(C)+"%")},wt.prototype._clearFirstValueAnimation=function(){this.animationInterval&&(pt.clearInterval.call(We,this.animationInterval),this.animationInterval=null),mt.set(this.firstValue,"left","-35%"),mt.set(this.firstValue,"right","100%")},wt.prototype._clearSecondValueAnimation=function(){this.secondValueAnimationInterval&&(pt.clearInterval.call(We,this.secondValueAnimationInterval),this.secondValueAnimationInterval=null),mt.set(this.secondValue,"left","-200%"),mt.set(this.secondValue,"right","100%")},wt.prototype._startFirstValueAnimation=function(){var t=this;this._clearFirstValueAnimation();var e=pt.dateNow();this.animationInterval=pt.setInterval.call(We,function(){wt._updateValueAnimation(e,t.firstValue,gt)},10)},wt.prototype._startSecondValueAnimation=function(){var t=this;this._clearSecondValueAnimation();var e=pt.dateNow();this.secondValueAnimationInterval=pt.setInterval.call(We,function(){wt._updateValueAnimation(e,t.secondValue,ft)},10)},wt.prototype._startAnimation=function(){var t=this;this._startFirstValueAnimation(),this.secondValueAnimationTimeout=pt.setTimeout.call(We,function(){return t._startSecondValueAnimation()},1e3),this.restartAnimationTimeout=pt.setTimeout.call(We,function(){return t._startAnimation()},1950)},wt.prototype._stopAnimation=function(){this._clearFirstValueAnimation(),this._clearSecondValueAnimation(),this.secondValueAnimationTimeout&&(pt.clearInterval.call(We,this.secondValueAnimationTimeout),this.secondValueAnimationTimeout=null),this.restartAnimationTimeout&&(pt.clearInterval.call(We,this.restartAnimationTimeout),this.restartAnimationTimeout=null)},wt.prototype.start=function(){dt.addClass(this.progressBar,Ct),this._startAnimation()},wt.prototype.stop=function(){dt.removeClass(this.progressBar,Ct),this._stopAnimation()},wt);function wt(t,e,i){this.progressBar=t,this.firstValue=e,this.secondValue=i,this.animationInterval=null,this.secondValueAnimationInterval=null,this.secondValueAnimationTimeout=null,this.restartAnimationTimeout=null}var St=e.shadowUI,xt=i.styleUtils,It=(bt.prototype._create=function(t){this.progressBar=Oe.createElement("div"),St.addClass(this.progressBar,"progress-bar"),t.appendChild(this.progressBar);var e=Oe.createElement("div");St.addClass(e,"value-container"),this.progressBar.appendChild(e),this.firstValueElement=Oe.createElement("div"),St.addClass(this.firstValueElement,"value"),e.appendChild(this.firstValueElement),this.secondValueElement=Oe.createElement("div"),St.addClass(this.secondValueElement,"value"),e.appendChild(this.secondValueElement)},bt.prototype.show=function(){xt.set(this.progressBar,"visibility","visible")},bt.prototype.hide=function(){xt.set(this.progressBar,"visibility","hidden")},bt);function bt(t){this.progressBar=null,this.firstValueElement=null,this.secondValueElement=null,this._create(t),this.determinateIndicator=new ut(this.progressBar,this.firstValueElement),this.indeterminateIndicator=new _t(this.progressBar,this.firstValueElement,this.secondValueElement)}var Tt,Bt="start-waiting-element",Ut="end-waiting-element-request",Mt="end-waiting-element-response",At="start-waiting-assertion-retries",Vt="end-waiting-assertion-retries-request",Dt="end-waiting-assertion-retries-response",Pt="step",kt="resume",Rt=e.Promise,Wt=e.shadowUI,Ot=e.nativeMethods,Nt=e.eventSandbox.message,Ft=e.utils.browser,Lt=e.utils.featureDetection,Ht=e.eventSandbox.listeners,qt=i.styleUtils,zt=i.eventUtils,Gt=i.domUtils,jt=i.serviceUtils,Kt=i.arrayUtils,Yt="waiting-element-failed",Xt="waiting-element-success",Jt="%testCafeStatusPrefix%",Qt=(st(Zt,Tt=jt.EventEmitter),Zt.prototype._createButton=function(t,e){var i=Oe.createElement("div"),n=Oe.createElement("div"),s=Oe.createElement("span");return Ot.nodeTextContentSetter.call(s,t),Wt.addClass(i,"button"),Wt.addClass(i,e),Wt.addClass(n,"button-icon"),Ft.isSafari&&(s.style.position="relative",s.style.top="1px"),i.appendChild(n),i.appendChild(s),i},Zt.prototype._createIconArea=function(){this.icon=Oe.createElement("div"),Wt.addClass(this.icon,"icon"),this.statusBar.appendChild(this.icon)},Zt.prototype._createInformationArea=function(){this.infoContainer=Oe.createElement("div"),Wt.addClass(this.infoContainer,"info-container"),this.statusBar.appendChild(this.infoContainer);var t=Oe.createElement("div");Wt.addClass(t,"info-text-container"),this.infoContainer.appendChild(t);var e=Oe.createElement("div");Wt.addClass(e,"status-container"),t.appendChild(e),this.statusDiv=Oe.createElement("div"),this.statusDiv=Oe.createElement("div"),Ot.nodeTextContentSetter.call(this.statusDiv,this._getFullStatusText("Loading Web Page...")),Wt.addClass(this.statusDiv,"status"),Wt.addClass(this.statusDiv,"info"),e.appendChild(this.statusDiv);var i=Oe.createElement("div");Ot.nodeTextContentSetter.call(i,this.fixtureName+" - "+this.testName),Wt.addClass(i,"fixture"),Wt.addClass(i,"info"),e.appendChild(i);var n=Oe.createElement("div");Ot.nodeTextContentSetter.call(n,this.userAgent),Wt.addClass(n,"user-agent"),t.appendChild(n)},Zt.prototype._createActionsArea=function(){var t=this;this.actionsContainer=Oe.createElement("div"),Wt.addClass(this.actionsContainer,"actions-container"),this.statusBar.appendChild(this.actionsContainer),this.buttons=Oe.createElement("div"),Wt.addClass(this.buttons,"buttons"),this.actionsContainer.appendChild(this.buttons),this.unlockButton=this._createButton("Unlock Page","locked"),this.resumeButton=this._createButton("Resume","resume"),this.nextButton=this._createButton("Next Action","step"),this.finishButton=this._createButton("Finish","finish"),this.buttons.appendChild(this.unlockButton),this.buttons.appendChild(this.resumeButton),this.buttons.appendChild(this.nextButton),this.actionsContainer.style.display="none",this._bindClickOnce([this.unlockButton],function(){Wt.removeClass(t.unlockButton,"locked"),Wt.addClass(t.unlockButton,"unlocked"),Ot.nodeTextContentSetter.call(t.unlockButton.querySelector("span"),"Page unlocked"),t.state.locked=!1,t.emit(t.UNLOCK_PAGE_BTN_CLICK,{})}),this.unlockButton.style.display="none"},Zt.prototype._create=function(){this.statusBar=Oe.createElement("div"),Wt.addClass(this.statusBar,"status-bar"),this._createIconArea(),this._createInformationArea(),this._createActionsArea(),this.progressBar=new It(this.infoContainer),this.progressBar.indeterminateIndicator.start(),this.progressBar.show(),r.element().appendChild(this.statusBar),this._bindHandlers(),this.state.created=!0},Zt.prototype._createBeforeReady=function(){var t,e=this;this.state.created||(t=We).top!==t||(Oe.body?this._create():Ot.setTimeout.call(We,function(){return e._createBeforeReady()},0))},Zt.prototype._animate=function(t){var e,i,n,s=this,o=Ot.dateNow(),a=parseInt(qt.get(this.statusBar,"opacity"),10)||0;this._stopAnimation(),t&&(qt.set(this.statusBar,"visibility",""),this.state.hidden=!1),this.animationInterval=Ot.setInterval.call(We,function(){e=Ot.dateNow()-o,i=Math.min(e/500,1),n=.5-Math.cos(i*Math.PI)/2,qt.set(s.statusBar,"opacity",a+(t?n:-n)),1===i&&(s._stopAnimation(),t||(qt.set(s.statusBar,"visibility","hidden"),s.state.hidden=!0),s.state.showing=!1,s.state.hiding=!1)},10)},Zt.prototype._stopAnimation=function(){this.animationInterval&&(Ot.clearInterval.call(We,this.animationInterval),this.animationInterval=null)},Zt.prototype._fadeOut=function(){this.state.hiding||this.state.debugging||(this.state.showing=!1,this.state.hiding=!0,this._animate())},Zt.prototype._fadeIn=function(){this.state.showing||this.state.debugging||(this.state.hiding=!1,this.state.showing=!0,this._animate(!0))},Zt.prototype._bindHandlers=function(){var e=this;Ht.initElementListening(We,["resize"]),Ht.addInternalEventBeforeListener(We,["resize"],function(){e.windowHeight=We.innerHeight});var i=qt.getHeight(this.statusBar);Ht.addFirstInternalEventBeforeListener(We,["mousemove","mouseout","touchmove"],function(t){"mouseout"!==t.type||t.relatedTarget?"mousemove"!==t.type&&"touchmove"!==t.type||(t.clientY>e.windowHeight-i?e._fadeOut(t):e.state.hidden&&e._fadeIn(t)):e._fadeIn(t)})},Zt.prototype._bindClickOnce=function(i,n){var s=this,o=Lt.isTouchDevice?"touchstart":"mousedown",a=function(t){var e=Ot.eventTargetGetter.call(t);Kt.find(i,function(t){return Gt.containsElement(t,e)})?(zt.preventDefault(t),Ht.removeInternalEventBeforeListener(We,[o],a),n(t)):Gt.containsElement(s.statusBar,e)&&zt.preventDefault(t)};Ht.addInternalEventBeforeListener(We,[o],a)},Zt.prototype._initChildListening=function(){var i=this;Nt.on(Nt.SERVICE_MSG_RECEIVED_EVENT,function(t){var e=t.message;e.cmd===Bt?i.showWaitingElementStatus(e.timeout):e.cmd===Ut?i.hideWaitingElementStatus(e.waitingSuccess).then(function(){return Nt.sendServiceMsg({cmd:Mt},t.source)}):e.cmd===At?i.showWaitingAssertionRetriesStatus(e.timeout):e.cmd===Vt&&i.hideWaitingAssertionRetriesStatus(e.waitingSuccess).then(function(){return Nt.sendServiceMsg({cmd:Dt},t.source)})})},Zt.prototype._resetState=function(){this.state.debugging=!1,this.actionsContainer.style.display="none",this.unlockButton.style.display="none",Ot.nodeTextContentSetter.call(this.statusDiv,this._getFullStatusText("")),this.progressBar.hide()},Zt.prototype._getFullStatusText=function(t){var e=this.contextStorage.getItem(Jt)||"";return e+(e&&t?". ":"")+t},Zt.prototype._showWaitingStatus=function(){var t=this.state.assertionRetries?"Waiting for assertion execution...":"Waiting for element to appear...";Ot.nodeTextContentSetter.call(this.statusDiv,this._getFullStatusText(t)),this.progressBar.show()},Zt.prototype._hideWaitingStatus=function(e){var i=this;return new Rt(function(t){Ot.setTimeout.call(We,function(){i.state.waiting||i.state.debugging||(Wt.removeClass(i.statusBar,Xt),Wt.removeClass(i.statusBar,Yt),i.progressBar.determinateIndicator.reset(),i._resetState()),t()},e?0:500)})},Zt.prototype._showDebuggingStatus=function(t){var s=this;return new Rt(function(n){s.state.debugging=!0,s.state.locked=!0,t?(s.buttons.removeChild(s.nextButton),s.buttons.removeChild(s.resumeButton),s.buttons.appendChild(s.finishButton),Ot.nodeTextContentSetter.call(s.statusDiv,s._getFullStatusText("Test failed")),Wt.removeClass(s.statusBar,Xt),Wt.addClass(s.statusBar,Yt)):Ot.nodeTextContentSetter.call(s.statusDiv,s._getFullStatusText("Debugging test...")),s.actionsContainer.style.display="",s.unlockButton.style.display="",s._bindClickOnce([s.resumeButton,s.nextButton,s.finishButton],function(t){var e=Ot.eventTargetGetter.call(t),i=Gt.containsElement(s.nextButton,e);s._resetState(),n(i?Pt:kt)})})},Zt.prototype._setWaitingStatus=function(t,e){var i=this;this.state.waiting=!0,this.progressBar.determinateIndicator.start(t,e),this.showingTimeout=Ot.setTimeout.call(We,function(){i.showingTimeout=null,i._showWaitingStatus()},300)},Zt.prototype._resetWaitingStatus=function(t){this.state.waiting=!1,this.progressBar.determinateIndicator.stop(),t?Wt.addClass(this.statusBar,Xt):Wt.addClass(this.statusBar,Yt);var e=this.showingTimeout&&t;return this.showingTimeout&&(Ot.clearTimeout.call(We,this.showingTimeout),this.showingTimeout=null,t||this._showWaitingStatus()),this._hideWaitingStatus(e)},Zt.prototype.hidePageLoadingStatus=function(){this.state.created||this._create(),this.progressBar.indeterminateIndicator.stop(),this._resetState()},Zt.prototype.showDebuggingStatus=function(t){return this._stopAnimation(),qt.set(this.statusBar,"opacity",1),qt.set(this.statusBar,"visibility",""),this.state.hiden=!1,this._showDebuggingStatus(t)},Zt.prototype.showWaitingElementStatus=function(t){this.state.assertionRetries||this._setWaitingStatus(t)},Zt.prototype.hideWaitingElementStatus=function(t){return this.state.assertionRetries?Rt.resolve():this._resetWaitingStatus(t)},Zt.prototype.showWaitingAssertionRetriesStatus=function(t,e){this.state.assertionRetries=!0,this._setWaitingStatus(t,e)},Zt.prototype.hideWaitingAssertionRetriesStatus=function(t){var e=this;return this._resetWaitingStatus(t).then(function(){e.state.assertionRetries=!1})},Zt.prototype.setStatusPrefix=function(t){this.contextStorage.setItem(Jt,t),Ot.nodeTextContentSetter.call(this.statusDiv,this._getFullStatusText(""))},Zt);function Zt(t,e,i,n){var s=Tt.call(this)||this;return s.UNLOCK_PAGE_BTN_CLICK="testcafe|ui|status-bar|unlock-page-btn-click",s.userAgent=t,s.fixtureName=e,s.testName=i,s.contextStorage=n,s.statusBar=null,s.infoContainer=null,s.actionsContainer=null,s.icon=null,s.resumeButton=null,s.finishButton=null,s.nextButton=null,s.statusDiv=null,s.buttons=null,s.progressBar=null,s.animationInterval=null,s.showingTimeout=null,s.windowHeight=Oe.documentElement?qt.getHeight(We):We.innerHeight,s.state={created:!1,showing:!1,hiding:!1,debugging:!1,waiting:!1,assertionRetries:!1,hidden:!1},s.currentView=null,s._createBeforeReady(),s._initChildListening(),s}var $t,te=i.sendRequestToFrame,ee=e.eventSandbox.message,ie=(st(ne,$t=Qt),ne.prototype.showWaitingElementStatus=function(t){ee.sendServiceMsg({cmd:Bt,timeout:t},We.top)},ne.prototype.hideWaitingElementStatus=function(t){return te({cmd:Ut,waitingSuccess:t},Mt,We.top)},ne.prototype.showWaitingAssertionRetriesStatus=function(t){ee.sendServiceMsg({cmd:At,timeout:t},We.top)},ne.prototype.hideWaitingAssertionRetriesStatus=function(t){return te({cmd:Vt,waitingSuccess:t},Dt,We.top)},ne);function ne(){return $t.call(this)||this}var se="ui|cursor|move|request",oe="ui|cursor|leftbuttondown|request",ae="ui|cursor|rightbuttondown|request",re="ui|cursor|buttonup|request",le="ui|cursor|move|response",ue="ui|cursor|leftbuttondown|response",he="ui|cursor|rightbuttondown|response",ce="ui|cursor|buttonup|response",de=e.Promise,pe=e.shadowUI,me=e.utils.browser,ge=e.utils.featureDetection,fe=e.eventSandbox.message,ve=i.styleUtils,ye=i.positionUtils,Ee="l-mouse-down",Ce="r-mouse-down",_e=[Ee,Ce].join(" ");fe.on(fe.SERVICE_MSG_RECEIVED_EVENT,function(t){var e=t.message;switch(e.cmd){case se:we.move(ye.getIframePointRelativeToParentFrame({x:e.x,y:e.y},t.source)).then(function(){return fe.sendServiceMsg({cmd:le},t.source)});break;case oe:we.leftButtonDown().then(function(){return fe.sendServiceMsg({cmd:ue},t.source)});break;case ae:we.rightButtonDown().then(function(){return fe.sendServiceMsg({cmd:he},t.source)});break;case re:we.buttonUp().then(function(){return fe.sendServiceMsg({cmd:ce},t.source)})}});var we={cursorElement:null,x:50,y:50,pointerOffsetX:0,pointerOffsetY:0,_createElement:function(){this.cursorElement=Oe.createElement("div"),pe.addClass(this.cursorElement,"cursor"),ge.isTouchDevice&&!me.isIE&&(pe.addClass(this.cursorElement,"touch"),this.pointerOffsetX=Math.ceil(ve.getWidth(this.cursorElement)/2),this.pointerOffsetY=Math.ceil(ve.getHeight(this.cursorElement)/2)),r.element().appendChild(this.cursorElement)},isVisible:function(){return this.cursorElement&&"hidden"!==ve.get(this.cursorElement,"visibility")},hide:function(){this.cursorElement||this._createElement(),this.isVisible()&&ve.set(this.cursorElement,"visibility","hidden")},show:function(){this.cursorElement||this._createElement(),ve.set(this.cursorElement,"visibility","")},move:function(t){return this.x=t.x,this.y=t.y,this.cursorElement||this._createElement(),ve.set(this.cursorElement,{left:this.x-this.pointerOffsetX+"px",top:this.y-this.pointerOffsetY+"px"}),de.resolve()},leftButtonDown:function(){return this.cursorElement||this._createElement(),pe.removeClass(this.cursorElement,_e),pe.addClass(this.cursorElement,Ee),de.resolve()},rightButtonDown:function(){return this.cursorElement||this._createElement(),pe.removeClass(this.cursorElement,_e),pe.addClass(this.cursorElement,Ce),de.resolve()},buttonUp:function(){return this.cursorElement||this._createElement(),pe.removeClass(this.cursorElement,_e),de.resolve()}},Se=e.utils.browser.isIE?1:0,xe={move:function(t){var e={cmd:se,x:t.x+Se,y:t.y+Se};return o.sendRequestToFrame(e,le,We.parent)},leftButtonDown:function(){return o.sendRequestToFrame({cmd:oe},ue,We.parent)},rightButtonDown:function(){return o.sendRequestToFrame({cmd:ae},he,We.parent)},buttonUp:function(){return o.sendRequestToFrame({cmd:re},ce,We.parent)}},Ie={screenshotMark:null,_createMark:function(){this.screenshotMark=Oe.createElement("img"),s.shadowUI.addClass(this.screenshotMark,"screenshot-mark"),this.screenshotMark.style.right=10/We.devicePixelRatio+"px",this.screenshotMark.style.width=32/We.devicePixelRatio+"px",this.screenshotMark.style.height=10/We.devicePixelRatio+"px",this.hide(),s.shadowUI.getRoot().appendChild(this.screenshotMark)},hide:function(){this.screenshotMark&&(this.screenshotMark.style.visibility="hidden")},show:function(t){this.screenshotMark||this._createMark(),s.nativeMethods.imageSrcSetter.call(this.screenshotMark,t),this.screenshotMark.style.visibility=""}},be=e.Promise,Te=e.eventSandbox.message,Be=i.sendRequestToFrame,Ue="ui|hide|request",Me="ui|hide|response",Ae="ui|show|request",Ve="ui|show|response";Te.on(Te.SERVICE_MSG_RECEIVED_EVENT,function(t){t.message.cmd===Ue?(r.hide(),Te.sendServiceMsg({cmd:Me},t.source)):t.message.cmd===Ae&&(r.show(),Te.sendServiceMsg({cmd:Ve},t.source))});var De={};De.uiRoot=r,De.cursorUI=we,De.iframeCursorUI=xe,De.selectElement=n,De.modalBackground=H,De.ProgressPanel=et,De.StatusBar=Qt,De.IframeStatusBar=ie,De.hide=function(t){return t?Be({cmd:Ue},Me,We.top):(r.hide(),be.resolve())},De.show=function(t){return t?Be({cmd:Ae},Ve,We.top):(r.show(),be.resolve())},De.showScreenshotMark=function(t){return Ie.show(t)},De.hideScreenshotMark=function(){return Ie.hide()};var Pe=e.nativeMethods,ke=e.EVENTS.evalIframeScript;Pe.objectDefineProperty(We,"%testCafeUI%",{configurable:!0,value:De}),e.on(ke,function(t){return Re(Pe.contentWindowGetter.call(t.iframe))})}(We["%hammerhead%"],We["%testCafeCore%"],We["%hammerhead%"].Promise)}(window);
1
+ window["%hammerhead%"].utils.removeInjectedScript(),function Re(Oe){var We=Oe.document;!function(s,o,t){var e="default"in s?s.default:s,i="default"in o?o.default:o;t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var r={uiRoot:null,element:function(){return this.uiRoot||(this.uiRoot=We.createElement("div"),s.shadowUI.getRoot().appendChild(this.uiRoot)),this.uiRoot},hide:function(){this.uiRoot&&(this.uiRoot.style.visibility="hidden")},show:function(){this.uiRoot&&(this.uiRoot.style.visibility="")},remove:function(){var t=s.shadowUI.getRoot();s.nativeMethods.nodeParentNodeGetter.call(t).removeChild(t)}},c=e.shadowUI,u=e.utils.browser,a=e.utils.featureDetection,d=e.nativeMethods,h=e.eventSandbox.eventSimulator,l=e.eventSandbox.listeners,p=i.positionUtils,m=i.domUtils,g=i.styleUtils,f=i.eventUtils,v=i.arrayUtils,y="tcOptionList",E="tcOptionGroup",C="tcOption",_="disabled",w=u.isIE?30:20,S=null,x=null,I=[],b=[];function T(t){var e=d.eventTargetGetter.call(t);(e||t.srcElement)===S||m.containsElement(S,e)||m.containsElement(x,e)||M()}function B(t,e,i){var n,s=d.eventTargetGetter.call(t),o=v.indexOf(b,s);o<0||(i(),(n=-1<s.className.indexOf(_))&&u.isWebKit||function(t,e){var i=S.selectedIndex,n=S.getElementsByTagName("option")[t],s=!e&&t!==i;s&&!u.isIE&&(S.selectedIndex=t),u.isFirefox||u.isIE||!s||(h.input(S),h.change(S)),(u.isFirefox||u.isIE)&&h.mousedown(u.isFirefox?n:S),a.isTouchDevice||h.mouseup(u.isFirefox?n:S),(u.isFirefox||u.isIE)&&s&&(u.isIE&&(S.selectedIndex=t),u.isIE||h.input(S),h.change(S)),a.isTouchDevice||h.click(u.isFirefox||u.isIE?n:S),e||M()}(o,n))}function U(t,e){for(var i,n,s,o,a,r,l,u=m.getChildrenLength(t),h=0;h<u;h++)m.isOptionElement(t[h])?(o=t[h],a=e,l=r=void 0,r=We.createElement("div"),l=o.disabled||"optgroup"===m.getTagName(o.parentElement)&&o.parentElement.disabled,d.nodeTextContentSetter.call(r,o.text),a.appendChild(r),c.addClass(r,C),l&&(c.addClass(r,_),g.set(r,"color",g.get(o,"color"))),b.push(r)):"optgroup"===m.getTagName(t[h])&&(i=t[h],n=e,s=void 0,s=We.createElement("div"),d.nodeTextContentSetter.call(s,i.label||" "),n.appendChild(s),c.addClass(s,E),s.disabled&&(c.addClass(s,_),g.set(s,"color",g.get(i,"color"))),U(i.children,s),I.push(s))}function M(){m.remove(x),f.unbind(We,"mousedown",T),S=x=null,b=[],I=[]}function A(t){return t?t===S:!!S}var n=Object.freeze({__proto__:null,expandOptionList:function(t){var e=t.children;if(e.length&&!t.disabled){if(S){var i=t===S;if(M(),i)return}S=t,x=We.createElement("div"),r.element().appendChild(x),c.addClass(x,y),U(e,x),l.addInternalEventBeforeListener(Oe,["click"],B),d.setTimeout.call(Oe,function(){f.bind(We,"mousedown",T)},0),g.set(x,{position:"absolute",fontSize:g.get(S,"fontSize"),fontFamily:g.get(S,"fontFamily"),minWidth:g.getWidth(S)+"px",left:p.getOffsetPosition(S).left+"px",height:m.getSelectVisibleChildren(t).length>w?g.getOptionHeight(t)*w:""});var n,s=p.getOffsetPosition(S).top,o=g.getHeight(x),a=s+g.getHeight(S)+2;a+o>g.getScrollTop(Oe)+g.getHeight(Oe)&&(n=s-3-o)>=g.getScrollTop(Oe)&&(a=n),g.set(x,"top",a+"px")}},collapseOptionList:M,isOptionListExpanded:A,getEmulatedChildElement:function(t){var e="optgroup"===m.getTagName(t),i=m.getElementIndexInParent(S,t);return e?I[i]:b[i]},scrollOptionListByChild:function(t){var e,i,n,s,o,a,r=m.getSelectParent(t);r&&(e=g.getSelectElementSize(r),i=g.getOptionHeight(r),n=0,o=(s=Math.max(g.getScrollTop(r)/i,0))+e-1,(a=m.getChildVisibleIndex(r,t))<s?(n=i*(s-a),g.setScrollTop(r,Math.max(g.getScrollTop(r)-n,0))):o<a&&(n=i*(a-o),g.setScrollTop(r,g.getScrollTop(r)+n)))},getSelectChildCenter:function(t){var e=m.getSelectParent(t);if(!e)return{x:0,y:0};var i=g.getOptionHeight(e),n=p.getElementRectangle(t);return{x:Math.round(n.left+n.width/2),y:Math.round(n.top+i/2)}},switchOptionsByKeys:function(t,e){var i=g.getSelectElementSize(t),n=!g.hasDimensions(c.select("."+y)[0]);if(/down|up/.test(e)||!u.isIE&&(i<=1||u.isFirefox)&&(n||u.isFirefox)&&/left|right/.test(e)){for(var s=t.querySelectorAll("option"),o=[],a=0;a<s.length;a++){var r=s[a].parentElement;s[a].disabled||"optgroup"===m.getTagName(r)&&r.disabled||o.push(s[a])}var l=v.indexOf(o,s[t.selectedIndex])+(/down|right/.test(e)?1:-1);0<=l&&l<o.length&&(t.selectedIndex=v.indexOf(s,o[l]),u.isIE||h.input(t),h.change(t))}},isOptionElementVisible:function(t){var e=m.getSelectParent(t);if(!e)return!0;var i=A(e),n=g.getSelectElementSize(e);return i||1<n}}),V="Loading page...",D="modal-background",P="loading-text",k="loading-icon",R=null,O=null,W=null,N=!1;function F(){function t(){var t=o.styleUtils.getHeight(Oe),e=o.styleUtils.getWidth(Oe);o.styleUtils.set(R,"width",e+"px"),o.styleUtils.set(R,"height",t+"px"),o.styleUtils.set(W,{left:Math.round((e-o.styleUtils.getWidth(W))/2)+"px",top:Math.round((t-o.styleUtils.getHeight(W))/2)+"px"})}t(),o.eventUtils.bind(Oe,"resize",t)}function L(){var t,e,i,n;t=r.element(),R=We.createElement("div"),t.appendChild(R),s.shadowUI.addClass(R,D),O=We.createElement("div"),s.nativeMethods.nodeTextContentSetter.call(O,V),t.appendChild(O),s.shadowUI.addClass(O,P),W=We.createElement("div"),o.styleUtils.set(W,"visibility","hidden"),t.appendChild(W),s.shadowUI.addClass(W,k),F(),e=o.styleUtils.getHeight(Oe),i=o.styleUtils.getWidth(Oe),(n=!o.styleUtils.hasDimensions(O))&&(o.styleUtils.set(O,"visibility","hidden"),o.styleUtils.set(O,"display","block")),o.styleUtils.set(O,{left:Math.max((i-o.styleUtils.getWidth(O))/2,0)+"px",top:Math.max((e-o.styleUtils.getHeight(O))/2,0)+"px"}),n&&(o.styleUtils.set(O,"display","none"),o.styleUtils.set(O,"visibility","")),N=!0}var H=Object.freeze({__proto__:null,initAndShowLoadingText:function(){function t(){L(),o.styleUtils.set(R,"opacity",.8),o.styleUtils.set(R,"display","block"),o.styleUtils.set(O,"display","block"),e=!0}var e=!1,i=function(){e||(We.body?t():s.nativeMethods.setTimeout.call(Oe,i,0))};i(),o.eventUtils.documentReady().then(function(){e||t()})},show:function(t){N||L(),o.styleUtils.set(R,"opacity",t?0:.7),o.styleUtils.set(R,"display","block")},hide:function(){N&&(o.styleUtils.set(O,"display","none"),o.styleUtils.set(R,"display","none"))},showLoadingIcon:function(){o.styleUtils.set(W,"visibility","visible")},hideLoadingIcon:function(){o.styleUtils.set(W,"visibility","hidden")}}),q=e.shadowUI,z=i.styleUtils,G="success",j=(K.prototype.setValue=function(t){t="number"!=typeof t?0:Math.min(Math.max(t,0),100),z.set(this.valueElement,"width",t+"%")},K.prototype.setSuccess=function(t){t?q.addClass(this.containerElement,G):q.removeClass(this.containerElement,G)},K);function K(t){this.containerElement=We.createElement("div"),this.valueElement=We.createElement("div"),t.appendChild(this.containerElement),this.containerElement.appendChild(this.valueElement),q.addClass(this.containerElement,"progress-bar"),q.addClass(this.valueElement,"value")}var Y=e.shadowUI,X=e.nativeMethods,J=i.eventUtils,Q=i.styleUtils,Z="progress-panel",$="title",tt="content",et=(it._getInvisibleElementProperty=function(t,e){var i="none"===Q.get(t,"display");i&&Q.set(t,"display","block");var n=t[e];return i&&Q.set(t,"display","none"),n},it._showAtWindowCenter=function(t){var e=it._getInvisibleElementProperty(t,"offsetHeight"),i=it._getInvisibleElementProperty(t,"offsetWidth"),n=Math.round(Q.getHeight(Oe)/2-e/2),s=Math.round(Q.getWidth(Oe)/2-i/2);Q.set(t,{left:s+"px",top:n+"px"})},it.prototype._setCurrentProgress=function(){var t=Math.round((X.dateNow()-this.startTime)/this.maxTimeout*100);this.progressBar.setValue(t)},it.prototype._setSuccess=function(t){this.progressBar.setSuccess(t)},it.prototype._stopAnimation=function(){X.clearInterval.call(Oe,this.animationInterval)},it.prototype._animate=function(t,e,i,n){var s,o,a,r=this,l=X.dateNow(),u=i?0:1;i&&(Q.set(t,"opacity",u),Q.set(t,"display","block")),this._stopAnimation(),this.animationInterval=X.setInterval.call(Oe,function(){s=X.dateNow()-l,o=Math.min(s/e,1),a=.5-Math.cos(o*Math.PI)/2,Q.set(t,"opacity",u+(i?a:-a)),1===o&&(r._stopAnimation(),n&&n())},10)},it.prototype._showPanel=function(){J.bind(Oe,"resize",this.disposePanel),this._animate(this.panelDiv,200,!0)},it.prototype._hidePanel=function(t){var e=this;this.startTime=null,J.unbind(Oe,"resize",this.disposePanel),this._animate(this.panelDiv,t?0:600,!1,function(){return Q.set(e.panelDiv,"display","none")})},it.prototype.show=function(t,e){var i=this;this.startTime=X.dateNow(),this.maxTimeout=e,X.nodeTextContentSetter.call(this.titleDiv,t),this._setSuccess(!1),this.openingTimeout=X.setTimeout.call(Oe,function(){i.openingTimeout=null,i._setCurrentProgress(),i._showPanel(),i.updateInterval=X.setInterval.call(Oe,function(){return i._setCurrentProgress()},100)},300)},it.prototype.close=function(t){var e=this;t&&this._setSuccess(!0),this.openingTimeout&&(X.clearTimeout.call(Oe,this.openingTimeout),this.openingTimeout=null),this.updateInterval&&(X.clearInterval.call(Oe,this.updateInterval),this.updateInterval=null),t?this.startTime&&X.dateNow()-this.startTime<1e3?X.setTimeout.call(Oe,function(){X.setTimeout.call(Oe,function(){return e._hidePanel(!1)},200)},100):X.setTimeout.call(Oe,function(){return e._hidePanel(!1)},200):this._hidePanel(!0)},it);function it(){var t=this;this.startTime=null,this.openingTimeout=null,this.updateInterval=null,this.animationInterval=null,this.panelDiv=We.createElement("div"),r.element().appendChild(this.panelDiv),this.titleDiv=We.createElement("div"),this.panelDiv.appendChild(this.titleDiv),this.contentDiv=We.createElement("div"),this.panelDiv.appendChild(this.contentDiv),Y.addClass(this.panelDiv,Z),Y.addClass(this.titleDiv,$),Y.addClass(this.contentDiv,tt),it._showAtWindowCenter(this.panelDiv),this.progressBar=new j(this.contentDiv),this.disposePanel=function(){return it._showAtWindowCenter(t.panelDiv)}}var nt=function(t,e){return(nt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)};function st(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}nt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var ot=e.shadowUI,at=e.nativeMethods,rt=i.styleUtils,lt="determinate",ut=(ht.prototype._setCurrentProgress=function(){var t=(at.dateNow()-this.startTime)/this.maxTimeout,e=Math.min(Math.max(t,0),1),i=rt.getWidth(this.progressBar),n=Math.round(i*e);rt.set(this.firstValueElement,"width",n+"px")},ht.prototype.start=function(t,e){var i=this;ot.addClass(this.progressBar,lt),this.maxTimeout=t,this.startTime=e||at.dateNow(),this._setCurrentProgress(),this.animationInterval=at.setInterval.call(Oe,function(){return i._setCurrentProgress()},10)},ht.prototype.stop=function(){this.animationInterval&&(at.clearInterval.call(Oe,this.animationInterval),this.animationInterval=null)},ht.prototype.reset=function(){rt.set(this.firstValueElement,"width",0),ot.removeClass(this.progressBar,lt)},ht);function ht(t,e){this.progressBar=t,this.firstValueElement=e,this.maxTimeout=null,this.startTime=null,this.animationInterval=null}function ct(t,e,i){if(e.x===t.x)return 0;var n=(e.y-t.y)/(e.x-t.x),s=t.x*(t.y-e.y)/(e.x-t.x)+t.y;return Math.round(n*i+s)}var dt=e.shadowUI,pt=e.nativeMethods,mt=i.styleUtils,gt={time:2800,points:[.815,.395],positionByCompletePercent:{0:{left:-35,right:100},.6:{left:100,right:-90},1:{left:100,right:-90}}},ft={time:3e3,points:[.84,1],positionByCompletePercent:{0:{left:-200,right:100},.6:{left:107,right:-8},1:{left:107,right:-8}}},vt=0,yt=.6,Et=1,Ct="indeterminate",_t=(wt._updateValueAnimation=function(t,e,i){var n,s,o,a,r,l,u,h,c,d,p=i.time,m=i.points,g=i.positionByCompletePercent,f=pt.dateNow()-t,v=(n=f/p,s=m[0],o=m[1],3*Math.pow(1-n,2)*n*s+3*(1-n)*n*n*o+n*n*n),y=(h=(l=(a=v)<yt)?yt:Et,c=(r=g)[u=l?vt:yt],d=r[h],{left:ct({x:u,y:c.left},{x:h,y:d.left},a),right:ct({x:u,y:c.right},{x:h,y:d.right},a)}),E=y.left,C=y.right;mt.set(e,"left",Math.round(E)+"%"),mt.set(e,"right",Math.round(C)+"%")},wt.prototype._clearFirstValueAnimation=function(){this.animationInterval&&(pt.clearInterval.call(Oe,this.animationInterval),this.animationInterval=null),mt.set(this.firstValue,"left","-35%"),mt.set(this.firstValue,"right","100%")},wt.prototype._clearSecondValueAnimation=function(){this.secondValueAnimationInterval&&(pt.clearInterval.call(Oe,this.secondValueAnimationInterval),this.secondValueAnimationInterval=null),mt.set(this.secondValue,"left","-200%"),mt.set(this.secondValue,"right","100%")},wt.prototype._startFirstValueAnimation=function(){var t=this;this._clearFirstValueAnimation();var e=pt.dateNow();this.animationInterval=pt.setInterval.call(Oe,function(){wt._updateValueAnimation(e,t.firstValue,gt)},10)},wt.prototype._startSecondValueAnimation=function(){var t=this;this._clearSecondValueAnimation();var e=pt.dateNow();this.secondValueAnimationInterval=pt.setInterval.call(Oe,function(){wt._updateValueAnimation(e,t.secondValue,ft)},10)},wt.prototype._startAnimation=function(){var t=this;this._startFirstValueAnimation(),this.secondValueAnimationTimeout=pt.setTimeout.call(Oe,function(){return t._startSecondValueAnimation()},1e3),this.restartAnimationTimeout=pt.setTimeout.call(Oe,function(){return t._startAnimation()},1950)},wt.prototype._stopAnimation=function(){this._clearFirstValueAnimation(),this._clearSecondValueAnimation(),this.secondValueAnimationTimeout&&(pt.clearInterval.call(Oe,this.secondValueAnimationTimeout),this.secondValueAnimationTimeout=null),this.restartAnimationTimeout&&(pt.clearInterval.call(Oe,this.restartAnimationTimeout),this.restartAnimationTimeout=null)},wt.prototype.start=function(){dt.addClass(this.progressBar,Ct),this._startAnimation()},wt.prototype.stop=function(){dt.removeClass(this.progressBar,Ct),this._stopAnimation()},wt);function wt(t,e,i){this.progressBar=t,this.firstValue=e,this.secondValue=i,this.animationInterval=null,this.secondValueAnimationInterval=null,this.secondValueAnimationTimeout=null,this.restartAnimationTimeout=null}var St=e.shadowUI,xt=i.styleUtils,It=(bt.prototype._create=function(t){this.progressBar=We.createElement("div"),St.addClass(this.progressBar,"progress-bar"),t.appendChild(this.progressBar);var e=We.createElement("div");St.addClass(e,"value-container"),this.progressBar.appendChild(e),this.firstValueElement=We.createElement("div"),St.addClass(this.firstValueElement,"value"),e.appendChild(this.firstValueElement),this.secondValueElement=We.createElement("div"),St.addClass(this.secondValueElement,"value"),e.appendChild(this.secondValueElement)},bt.prototype.show=function(){xt.set(this.progressBar,"visibility","visible")},bt.prototype.hide=function(){xt.set(this.progressBar,"visibility","hidden")},bt);function bt(t){this.progressBar=null,this.firstValueElement=null,this.secondValueElement=null,this._create(t),this.determinateIndicator=new ut(this.progressBar,this.firstValueElement),this.indeterminateIndicator=new _t(this.progressBar,this.firstValueElement,this.secondValueElement)}var Tt,Bt="start-waiting-element",Ut="end-waiting-element-request",Mt="end-waiting-element-response",At="start-waiting-assertion-retries",Vt="end-waiting-assertion-retries-request",Dt="end-waiting-assertion-retries-response",Pt="step",kt="resume",Rt=e.Promise,Ot=e.shadowUI,Wt=e.nativeMethods,Nt=e.eventSandbox.message,Ft=e.utils.browser,Lt=e.utils.featureDetection,Ht=e.eventSandbox.listeners,qt=i.styleUtils,zt=i.eventUtils,Gt=i.domUtils,jt=i.serviceUtils,Kt=i.arrayUtils,Yt="waiting-element-failed",Xt="waiting-element-success",Jt="%testCafeStatusPrefix%",Qt=(st(Zt,Tt=jt.EventEmitter),Zt.prototype._createButton=function(t,e){var i=We.createElement("div"),n=We.createElement("div"),s=We.createElement("span");return Wt.nodeTextContentSetter.call(s,t),Ot.addClass(i,"button"),Ot.addClass(i,e),Ot.addClass(n,"button-icon"),Ft.isSafari&&(s.style.position="relative",s.style.top="1px"),i.appendChild(n),i.appendChild(s),i},Zt.prototype._createIconArea=function(){this.icon=We.createElement("div"),Ot.addClass(this.icon,"icon"),this.statusBar.appendChild(this.icon)},Zt.prototype._createInformationArea=function(){this.infoContainer=We.createElement("div"),Ot.addClass(this.infoContainer,"info-container"),this.statusBar.appendChild(this.infoContainer);var t=We.createElement("div");Ot.addClass(t,"info-text-container"),this.infoContainer.appendChild(t);var e=We.createElement("div");Ot.addClass(e,"status-container"),t.appendChild(e),this.statusDiv=We.createElement("div"),this.statusDiv=We.createElement("div"),Wt.nodeTextContentSetter.call(this.statusDiv,this._getFullStatusText("Loading Web Page...")),Ot.addClass(this.statusDiv,"status"),Ot.addClass(this.statusDiv,"info"),e.appendChild(this.statusDiv);var i=We.createElement("div");Wt.nodeTextContentSetter.call(i,"".concat(this.fixtureName," - ").concat(this.testName)),Ot.addClass(i,"fixture"),Ot.addClass(i,"info"),e.appendChild(i);var n=We.createElement("div");Wt.nodeTextContentSetter.call(n,this.userAgent),Ot.addClass(n,"user-agent"),t.appendChild(n)},Zt.prototype._createActionsArea=function(){var t=this;this.actionsContainer=We.createElement("div"),Ot.addClass(this.actionsContainer,"actions-container"),this.statusBar.appendChild(this.actionsContainer),this.buttons=We.createElement("div"),Ot.addClass(this.buttons,"buttons"),this.actionsContainer.appendChild(this.buttons),this.unlockButton=this._createButton("Unlock Page","locked"),this.resumeButton=this._createButton("Resume","resume"),this.nextButton=this._createButton("Next Action","step"),this.finishButton=this._createButton("Finish","finish"),this.buttons.appendChild(this.unlockButton),this.buttons.appendChild(this.resumeButton),this.buttons.appendChild(this.nextButton),this.actionsContainer.style.display="none",this._bindClickOnce([this.unlockButton],function(){Ot.removeClass(t.unlockButton,"locked"),Ot.addClass(t.unlockButton,"unlocked"),Wt.nodeTextContentSetter.call(t.unlockButton.querySelector("span"),"Page unlocked"),t.state.locked=!1,t.emit(t.UNLOCK_PAGE_BTN_CLICK,{})}),this.unlockButton.style.display="none"},Zt.prototype._create=function(){this.statusBar=We.createElement("div"),Ot.addClass(this.statusBar,"status-bar"),this._createIconArea(),this._createInformationArea(),this._createActionsArea(),this.progressBar=new It(this.infoContainer),this.progressBar.indeterminateIndicator.start(),this.progressBar.show(),r.element().appendChild(this.statusBar),this._bindHandlers(),this.state.created=!0},Zt.prototype._createBeforeReady=function(){var t,e=this;this.state.created||(t=Oe).top!==t||(We.body?this._create():Wt.setTimeout.call(Oe,function(){return e._createBeforeReady()},0))},Zt.prototype._animate=function(t){var e,i,n,s=this,o=Wt.dateNow(),a=parseInt(qt.get(this.statusBar,"opacity"),10)||0;this._stopAnimation(),t&&(qt.set(this.statusBar,"visibility",""),this.state.hidden=!1),this.animationInterval=Wt.setInterval.call(Oe,function(){e=Wt.dateNow()-o,i=Math.min(e/500,1),n=.5-Math.cos(i*Math.PI)/2,qt.set(s.statusBar,"opacity",a+(t?n:-n)),1===i&&(s._stopAnimation(),t||(qt.set(s.statusBar,"visibility","hidden"),s.state.hidden=!0),s.state.showing=!1,s.state.hiding=!1)},10)},Zt.prototype._stopAnimation=function(){this.animationInterval&&(Wt.clearInterval.call(Oe,this.animationInterval),this.animationInterval=null)},Zt.prototype._fadeOut=function(){this.state.hiding||this.state.debugging||(this.state.showing=!1,this.state.hiding=!0,this._animate())},Zt.prototype._fadeIn=function(){this.state.showing||this.state.debugging||(this.state.hiding=!1,this.state.showing=!0,this._animate(!0))},Zt.prototype._bindHandlers=function(){var e=this;Ht.initElementListening(Oe,["resize"]),Ht.addInternalEventBeforeListener(Oe,["resize"],function(){e.windowHeight=Oe.innerHeight});var i=qt.getHeight(this.statusBar);Ht.addFirstInternalEventBeforeListener(Oe,["mousemove","mouseout","touchmove"],function(t){"mouseout"!==t.type||t.relatedTarget?"mousemove"!==t.type&&"touchmove"!==t.type||(t.clientY>e.windowHeight-i?e._fadeOut(t):e.state.hidden&&e._fadeIn(t)):e._fadeIn(t)})},Zt.prototype._bindClickOnce=function(i,n){var s=this,o=Lt.isTouchDevice?"touchstart":"mousedown",a=function(t){var e=Wt.eventTargetGetter.call(t);Kt.find(i,function(t){return Gt.containsElement(t,e)})?(zt.preventDefault(t),Ht.removeInternalEventBeforeListener(Oe,[o],a),n(t)):Gt.containsElement(s.statusBar,e)&&zt.preventDefault(t)};Ht.addInternalEventBeforeListener(Oe,[o],a)},Zt.prototype._initChildListening=function(){var i=this;Nt.on(Nt.SERVICE_MSG_RECEIVED_EVENT,function(t){var e=t.message;e.cmd===Bt?i.showWaitingElementStatus(e.timeout):e.cmd===Ut?i.hideWaitingElementStatus(e.waitingSuccess).then(function(){return Nt.sendServiceMsg({cmd:Mt},t.source)}):e.cmd===At?i.showWaitingAssertionRetriesStatus(e.timeout):e.cmd===Vt&&i.hideWaitingAssertionRetriesStatus(e.waitingSuccess).then(function(){return Nt.sendServiceMsg({cmd:Dt},t.source)})})},Zt.prototype._resetState=function(){this.state.debugging=!1,this.actionsContainer.style.display="none",this.unlockButton.style.display="none",Wt.nodeTextContentSetter.call(this.statusDiv,this._getFullStatusText("")),this.progressBar.hide()},Zt.prototype._getFullStatusText=function(t){var e=this.contextStorage.getItem(Jt)||"";return e+(e&&t?". ":"")+t},Zt.prototype._showWaitingStatus=function(){var t=this.state.assertionRetries?"Waiting for assertion execution...":"Waiting for element to appear...";Wt.nodeTextContentSetter.call(this.statusDiv,this._getFullStatusText(t)),this.progressBar.show()},Zt.prototype._hideWaitingStatus=function(e){var i=this;return new Rt(function(t){Wt.setTimeout.call(Oe,function(){i.state.waiting||i.state.debugging||(Ot.removeClass(i.statusBar,Xt),Ot.removeClass(i.statusBar,Yt),i.progressBar.determinateIndicator.reset(),i._resetState()),t()},e?0:500)})},Zt.prototype._showDebuggingStatus=function(t){var s=this;return new Rt(function(n){s.state.debugging=!0,s.state.locked=!0,t?(s.buttons.removeChild(s.nextButton),s.buttons.removeChild(s.resumeButton),s.buttons.appendChild(s.finishButton),Wt.nodeTextContentSetter.call(s.statusDiv,s._getFullStatusText("Test failed")),Ot.removeClass(s.statusBar,Xt),Ot.addClass(s.statusBar,Yt)):Wt.nodeTextContentSetter.call(s.statusDiv,s._getFullStatusText("Debugging test...")),s.actionsContainer.style.display="",s.unlockButton.style.display="",s._bindClickOnce([s.resumeButton,s.nextButton,s.finishButton],function(t){var e=Wt.eventTargetGetter.call(t),i=Gt.containsElement(s.nextButton,e);s._resetState(),n(i?Pt:kt)})})},Zt.prototype._setWaitingStatus=function(t,e){var i=this;this.state.waiting=!0,this.progressBar.determinateIndicator.start(t,e),this.showingTimeout=Wt.setTimeout.call(Oe,function(){i.showingTimeout=null,i._showWaitingStatus()},300)},Zt.prototype._resetWaitingStatus=function(t){this.state.waiting=!1,this.progressBar.determinateIndicator.stop(),t?Ot.addClass(this.statusBar,Xt):Ot.addClass(this.statusBar,Yt);var e=this.showingTimeout&&t;return this.showingTimeout&&(Wt.clearTimeout.call(Oe,this.showingTimeout),this.showingTimeout=null,t||this._showWaitingStatus()),this._hideWaitingStatus(e)},Zt.prototype.hidePageLoadingStatus=function(){this.state.created||this._create(),this.progressBar.indeterminateIndicator.stop(),this._resetState()},Zt.prototype.showDebuggingStatus=function(t){return this._stopAnimation(),qt.set(this.statusBar,"opacity",1),qt.set(this.statusBar,"visibility",""),this.state.hiden=!1,this._showDebuggingStatus(t)},Zt.prototype.showWaitingElementStatus=function(t){this.state.assertionRetries||this._setWaitingStatus(t)},Zt.prototype.hideWaitingElementStatus=function(t){return this.state.assertionRetries?Rt.resolve():this._resetWaitingStatus(t)},Zt.prototype.showWaitingAssertionRetriesStatus=function(t,e){this.state.assertionRetries=!0,this._setWaitingStatus(t,e)},Zt.prototype.hideWaitingAssertionRetriesStatus=function(t){var e=this;return this._resetWaitingStatus(t).then(function(){e.state.assertionRetries=!1})},Zt.prototype.setStatusPrefix=function(t){this.contextStorage.setItem(Jt,t),Wt.nodeTextContentSetter.call(this.statusDiv,this._getFullStatusText(""))},Zt);function Zt(t,e,i,n){var s=Tt.call(this)||this;return s.UNLOCK_PAGE_BTN_CLICK="testcafe|ui|status-bar|unlock-page-btn-click",s.userAgent=t,s.fixtureName=e,s.testName=i,s.contextStorage=n,s.statusBar=null,s.infoContainer=null,s.actionsContainer=null,s.icon=null,s.resumeButton=null,s.finishButton=null,s.nextButton=null,s.statusDiv=null,s.buttons=null,s.progressBar=null,s.animationInterval=null,s.showingTimeout=null,s.windowHeight=We.documentElement?qt.getHeight(Oe):Oe.innerHeight,s.state={created:!1,showing:!1,hiding:!1,debugging:!1,waiting:!1,assertionRetries:!1,hidden:!1},s.currentView=null,s._createBeforeReady(),s._initChildListening(),s}var $t,te=i.sendRequestToFrame,ee=e.eventSandbox.message,ie=(st(ne,$t=Qt),ne.prototype.showWaitingElementStatus=function(t){ee.sendServiceMsg({cmd:Bt,timeout:t},Oe.top)},ne.prototype.hideWaitingElementStatus=function(t){return te({cmd:Ut,waitingSuccess:t},Mt,Oe.top)},ne.prototype.showWaitingAssertionRetriesStatus=function(t){ee.sendServiceMsg({cmd:At,timeout:t},Oe.top)},ne.prototype.hideWaitingAssertionRetriesStatus=function(t){return te({cmd:Vt,waitingSuccess:t},Dt,Oe.top)},ne);function ne(){return $t.call(this)||this}var se="ui|cursor|move|request",oe="ui|cursor|leftbuttondown|request",ae="ui|cursor|rightbuttondown|request",re="ui|cursor|buttonup|request",le="ui|cursor|move|response",ue="ui|cursor|leftbuttondown|response",he="ui|cursor|rightbuttondown|response",ce="ui|cursor|buttonup|response",de=e.Promise,pe=e.shadowUI,me=e.utils.browser,ge=e.utils.featureDetection,fe=e.eventSandbox.message,ve=i.styleUtils,ye=i.positionUtils,Ee="l-mouse-down",Ce="r-mouse-down",_e=[Ee,Ce].join(" ");fe.on(fe.SERVICE_MSG_RECEIVED_EVENT,function(t){var e=t.message;switch(e.cmd){case se:we.move(ye.getIframePointRelativeToParentFrame({x:e.x,y:e.y},t.source)).then(function(){return fe.sendServiceMsg({cmd:le},t.source)});break;case oe:we.leftButtonDown().then(function(){return fe.sendServiceMsg({cmd:ue},t.source)});break;case ae:we.rightButtonDown().then(function(){return fe.sendServiceMsg({cmd:he},t.source)});break;case re:we.buttonUp().then(function(){return fe.sendServiceMsg({cmd:ce},t.source)})}});var we={cursorElement:null,x:50,y:50,pointerOffsetX:0,pointerOffsetY:0,_createElement:function(){this.cursorElement=We.createElement("div"),pe.addClass(this.cursorElement,"cursor"),ge.isTouchDevice&&!me.isIE&&(pe.addClass(this.cursorElement,"touch"),this.pointerOffsetX=Math.ceil(ve.getWidth(this.cursorElement)/2),this.pointerOffsetY=Math.ceil(ve.getHeight(this.cursorElement)/2)),r.element().appendChild(this.cursorElement)},isVisible:function(){return this.cursorElement&&"hidden"!==ve.get(this.cursorElement,"visibility")},hide:function(){this.cursorElement||this._createElement(),this.isVisible()&&ve.set(this.cursorElement,"visibility","hidden")},show:function(){this.cursorElement||this._createElement(),ve.set(this.cursorElement,"visibility","")},move:function(t){return this.x=t.x,this.y=t.y,this.cursorElement||this._createElement(),ve.set(this.cursorElement,{left:this.x-this.pointerOffsetX+"px",top:this.y-this.pointerOffsetY+"px"}),de.resolve()},leftButtonDown:function(){return this.cursorElement||this._createElement(),pe.removeClass(this.cursorElement,_e),pe.addClass(this.cursorElement,Ee),de.resolve()},rightButtonDown:function(){return this.cursorElement||this._createElement(),pe.removeClass(this.cursorElement,_e),pe.addClass(this.cursorElement,Ce),de.resolve()},buttonUp:function(){return this.cursorElement||this._createElement(),pe.removeClass(this.cursorElement,_e),de.resolve()}},Se=e.utils.browser.isIE?1:0,xe={move:function(t){var e={cmd:se,x:t.x+Se,y:t.y+Se};return o.sendRequestToFrame(e,le,Oe.parent)},leftButtonDown:function(){return o.sendRequestToFrame({cmd:oe},ue,Oe.parent)},rightButtonDown:function(){return o.sendRequestToFrame({cmd:ae},he,Oe.parent)},buttonUp:function(){return o.sendRequestToFrame({cmd:re},ce,Oe.parent)}},Ie={screenshotMark:null,_createMark:function(){this.screenshotMark=We.createElement("img"),s.shadowUI.addClass(this.screenshotMark,"screenshot-mark"),this.screenshotMark.style.right=10/Oe.devicePixelRatio+"px",this.screenshotMark.style.width=32/Oe.devicePixelRatio+"px",this.screenshotMark.style.height=10/Oe.devicePixelRatio+"px",this.hide(),s.shadowUI.getRoot().appendChild(this.screenshotMark)},hide:function(){this.screenshotMark&&(this.screenshotMark.style.visibility="hidden")},show:function(t){this.screenshotMark||this._createMark(),s.nativeMethods.imageSrcSetter.call(this.screenshotMark,t),this.screenshotMark.style.visibility=""}},be=e.Promise,Te=e.eventSandbox.message,Be=i.sendRequestToFrame,Ue="ui|hide|request",Me="ui|hide|response",Ae="ui|show|request",Ve="ui|show|response";Te.on(Te.SERVICE_MSG_RECEIVED_EVENT,function(t){t.message.cmd===Ue?(r.hide(),Te.sendServiceMsg({cmd:Me},t.source)):t.message.cmd===Ae&&(r.show(),Te.sendServiceMsg({cmd:Ve},t.source))});var De={};De.uiRoot=r,De.cursorUI=we,De.iframeCursorUI=xe,De.selectElement=n,De.modalBackground=H,De.ProgressPanel=et,De.StatusBar=Qt,De.IframeStatusBar=ie,De.hide=function(t){return t?Be({cmd:Ue},Me,Oe.top):(r.hide(),be.resolve())},De.show=function(t){return t?Be({cmd:Ae},Ve,Oe.top):(r.show(),be.resolve())},De.showScreenshotMark=function(t){return Ie.show(t)},De.hideScreenshotMark=function(){return Ie.hide()};var Pe=e.nativeMethods,ke=e.EVENTS.evalIframeScript;Pe.objectDefineProperty(Oe,"%testCafeUI%",{configurable:!0,value:De}),e.on(ke,function(t){return Re(Pe.contentWindowGetter.call(t.iframe))})}(Oe["%hammerhead%"],Oe["%testCafeCore%"],Oe["%hammerhead%"].Promise)}(window);
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- /*global Symbol*/
4
3
  exports.default = Symbol('functionBuilder');
5
4
  module.exports = exports.default;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci1zeW1ib2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50LWZ1bmN0aW9ucy9idWlsZGVyLXN5bWJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlCQUFpQjtBQUNqQixrQkFBZSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qZ2xvYmFsIFN5bWJvbCovXG5leHBvcnQgZGVmYXVsdCBTeW1ib2woJ2Z1bmN0aW9uQnVpbGRlcicpO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci1zeW1ib2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50LWZ1bmN0aW9ucy9idWlsZGVyLXN5bWJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFlLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgU3ltYm9sKCdmdW5jdGlvbkJ1aWxkZXInKTtcbiJdfQ==
@@ -26,7 +26,7 @@ class ClientFunctionBuilder {
26
26
  instantiation: callsiteNames.instantiation,
27
27
  execution: callsiteNames.execution || DEFAULT_EXECUTION_CALLSITE_NAME,
28
28
  };
29
- if (lodash_1.isNil(options))
29
+ if ((0, lodash_1.isNil)(options))
30
30
  options = {};
31
31
  this._validateOptions(options);
32
32
  this.fn = fn;
@@ -34,14 +34,14 @@ class ClientFunctionBuilder {
34
34
  this.compiledFnCode = this._getCompiledFnCode();
35
35
  if (!this.compiledFnCode)
36
36
  throw this._createInvalidFnTypeError();
37
- this.replicator = replicator_1.createReplicator(this._getReplicatorTransforms());
37
+ this.replicator = (0, replicator_1.createReplicator)(this._getReplicatorTransforms());
38
38
  }
39
39
  _renderError(error) {
40
40
  // The rendered template is shown in the Watch panel of browser dev tools or IDE.
41
41
  // Viewport size is unlimited there.
42
42
  const viewportWidth = Number.MIN_SAFE_INTEGER;
43
43
  const renderedMessage = templates_1.default[error.code](error, viewportWidth);
44
- return dedent_1.default(renderedMessage);
44
+ return (0, dedent_1.default)(renderedMessage);
45
45
  }
46
46
  _decorateFunction(clientFn) {
47
47
  clientFn[builder_symbol_1.default] = this;
@@ -51,7 +51,7 @@ class ClientFunctionBuilder {
51
51
  }
52
52
  _getClientFnWithOverriddenOptions(options) {
53
53
  if (typeof options === 'object')
54
- options = lodash_1.assign({}, this.options, options);
54
+ options = (0, lodash_1.assign)({}, this.options, options);
55
55
  const builder = new this.constructor(this.fn, options, {
56
56
  instantiation: 'with',
57
57
  execution: this.callsiteNames.execution,
@@ -75,7 +75,7 @@ class ClientFunctionBuilder {
75
75
  const builder = this;
76
76
  const clientFn = function __$$clientFunction$$() {
77
77
  const testRun = builder._getTestRun();
78
- const callsite = get_callsite_1.getCallsiteForMethod(builder.callsiteNames.execution);
78
+ const callsite = (0, get_callsite_1.getCallsiteForMethod)(builder.callsiteNames.execution);
79
79
  const args = [];
80
80
  // OPTIMIZATION: don't leak `arguments` object.
81
81
  for (let i = 0; i < arguments.length; i++)
@@ -87,7 +87,7 @@ class ClientFunctionBuilder {
87
87
  this._decorateFunction(clientFn);
88
88
  return clientFn;
89
89
  }
90
- getCommand(args) {
90
+ getCommand(args = []) {
91
91
  const encodedArgs = this.replicator.encode(args);
92
92
  const encodedDependencies = this.replicator.encode(this.getFunctionDependencies());
93
93
  return this._createTestRunCommand(encodedArgs, encodedDependencies);
@@ -106,7 +106,7 @@ class ClientFunctionBuilder {
106
106
  }
107
107
  _getCompiledFnCode() {
108
108
  if (typeof this.fn === 'function')
109
- return compile_client_function_1.default(this.fn.toString(), this.options.dependencies, this.callsiteNames.instantiation, this.callsiteNames.instantiation);
109
+ return (0, compile_client_function_1.default)(this.fn.toString(), this.options.dependencies, this.callsiteNames.instantiation, this.callsiteNames.instantiation);
110
110
  return null;
111
111
  }
112
112
  _createInvalidFnTypeError() {
@@ -155,15 +155,15 @@ class ClientFunctionBuilder {
155
155
  return this.replicator.decode(result);
156
156
  }
157
157
  _validateOptions(options) {
158
- type_assertions_1.assertType(type_assertions_1.is.nonNullObject, this.callsiteNames.instantiation, 'The "options" argument', options);
159
- if (!lodash_1.isNil(options.boundTestRun)) {
158
+ (0, type_assertions_1.assertType)(type_assertions_1.is.nonNullObject, this.callsiteNames.instantiation, 'The "options" argument', options);
159
+ if (!(0, lodash_1.isNil)(options.boundTestRun)) {
160
160
  // NOTE: `boundTestRun` can be either TestController or TestRun instance.
161
161
  const boundTestRun = options.boundTestRun.testRun || options.boundTestRun;
162
162
  if (!boundTestRun[marker_symbol_1.default])
163
163
  throw new runtime_1.APIError(this.callsiteNames.instantiation, types_1.RUNTIME_ERRORS.invalidClientFunctionTestRunBinding);
164
164
  }
165
- if (!lodash_1.isNil(options.dependencies))
166
- type_assertions_1.assertType(type_assertions_1.is.nonNullObject, this.callsiteNames.instantiation, 'The "dependencies" option', options.dependencies);
165
+ if (!(0, lodash_1.isNil)(options.dependencies))
166
+ (0, type_assertions_1.assertType)(type_assertions_1.is.nonNullObject, this.callsiteNames.instantiation, 'The "dependencies" option', options.dependencies);
167
167
  }
168
168
  _getReplicatorTransforms() {
169
169
  return [
@@ -173,4 +173,4 @@ class ClientFunctionBuilder {
173
173
  }
174
174
  exports.default = ClientFunctionBuilder;
175
175
  module.exports = exports.default;
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWZ1bmN0aW9uLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50LWZ1bmN0aW9ucy9jbGllbnQtZnVuY3Rpb24tYnVpbGRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUE0RDtBQUM1RCwrRUFBcUQ7QUFDckQsc0VBQXFEO0FBQ3JELDZDQUFtRTtBQUNuRSxrRUFBZ0Y7QUFDaEYsa0dBQXdFO0FBQ3hFLCtDQUFxRTtBQUNyRSx1RUFBbUU7QUFDbkUsMkNBQWlEO0FBQ2pELHlEQUE4RDtBQUM5RCwyRkFBaUU7QUFDakUsOEVBQXNEO0FBQ3RELGdHQUFxRTtBQUNyRSxvSkFBNEg7QUFDNUgsNkVBQXFEO0FBQ3JELG9EQUE0QjtBQUU1QixNQUFNLCtCQUErQixHQUFHLHNCQUFzQixDQUFDO0FBRS9ELE1BQXFCLHFCQUFxQjtJQUN0QyxZQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxHQUFHLEVBQUU7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNqQixhQUFhLEVBQUUsYUFBYSxDQUFDLGFBQWE7WUFDMUMsU0FBUyxFQUFNLGFBQWEsQ0FBQyxTQUFTLElBQUksK0JBQStCO1NBQzVFLENBQUM7UUFFRixJQUFJLGNBQWlCLENBQUMsT0FBTyxDQUFDO1lBQzFCLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxFQUFFLEdBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQVUsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQ3BCLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFFM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyw2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LGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSwyQkFBMkIsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVELHdCQUF3QjtRQUNwQixPQUFPO1lBQ0gsSUFBSSw4QkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzVDLENBQUM7SUFDTixDQUFDO0NBQ0o7QUF2TUQsd0NBdU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNOaWwgYXMgaXNOdWxsT3JVbmRlZmluZWQsIGFzc2lnbiB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgdGVzdFJ1blRyYWNrZXIgZnJvbSAnLi4vYXBpL3Rlc3QtcnVuLXRyYWNrZXInO1xuaW1wb3J0IGZ1bmN0aW9uQnVpbGRlclN5bWJvbCBmcm9tICcuL2J1aWxkZXItc3ltYm9sJztcbmltcG9ydCB7IGNyZWF0ZVJlcGxpY2F0b3IsIEZ1bmN0aW9uVHJhbnNmb3JtIH0gZnJvbSAnLi9yZXBsaWNhdG9yJztcbmltcG9ydCB7IEV4ZWN1dGVDbGllbnRGdW5jdGlvbkNvbW1hbmQgfSBmcm9tICcuLi90ZXN0LXJ1bi9jb21tYW5kcy9vYnNlcnZhdGlvbic7XG5pbXBvcnQgY29tcGlsZUNsaWVudEZ1bmN0aW9uIGZyb20gJy4uL2NvbXBpbGVyL2NvbXBpbGUtY2xpZW50LWZ1bmN0aW9uJztcbmltcG9ydCB7IEFQSUVycm9yLCBDbGllbnRGdW5jdGlvbkFQSUVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgYXNzZXJ0VHlwZSwgaXMgfSBmcm9tICcuLi9lcnJvcnMvcnVudGltZS90eXBlLWFzc2VydGlvbnMnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0Q2FsbHNpdGVGb3JNZXRob2QgfSBmcm9tICcuLi9lcnJvcnMvZ2V0LWNhbGxzaXRlJztcbmltcG9ydCBSZUV4ZWN1dGFibGVQcm9taXNlIGZyb20gJy4uL3V0aWxzL3JlLWV4ZWN1dGFibGUtcHJvbWlzZSc7XG5pbXBvcnQgdGVzdFJ1bk1hcmtlciBmcm9tICcuLi90ZXN0LXJ1bi9tYXJrZXItc3ltYm9sJztcbmltcG9ydCBzZWxlY3RvckFwaUV4ZWN1dGlvbk1vZGUgZnJvbSAnLi9zZWxlY3Rvci1hcGktZXhlY3V0aW9uLW1vZGUnO1xuaW1wb3J0IENIRUNLX0VMRU1FTlRfREVMQVkgZnJvbSAnLi4vY2xpZW50L2RyaXZlci9jb21tYW5kLWV4ZWN1dG9ycy9jbGllbnQtZnVuY3Rpb25zL3NlbGVjdG9yLWV4ZWN1dG9yL2NoZWNrLWVsZW1lbnQtZGVsYXknO1xuaW1wb3J0IFRFTVBMQVRFUyBmcm9tICcuLi9lcnJvcnMvdGVzdC1ydW4vdGVtcGxhdGVzJztcbmltcG9ydCBkZWRlbnQgZnJvbSAnZGVkZW50JztcblxuY29uc3QgREVGQVVMVF9FWEVDVVRJT05fQ0FMTFNJVEVfTkFNRSA9ICdfXyQkY2xpZW50RnVuY3Rpb24kJCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENsaWVudEZ1bmN0aW9uQnVpbGRlciB7XG4gICAgY29uc3RydWN0b3IgKGZuLCBvcHRpb25zLCBjYWxsc2l0ZU5hbWVzID0ge30pIHtcbiAgICAgICAgdGhpcy5jYWxsc2l0ZU5hbWVzID0ge1xuICAgICAgICAgICAgaW5zdGFudGlhdGlvbjogY2FsbHNpdGVOYW1lcy5pbnN0YW50aWF0aW9uLFxuICAgICAgICAgICAgZXhlY3V0aW9uOiAgICAgY2FsbHNpdGVOYW1lcy5leGVjdXRpb24gfHwgREVGQVVMVF9FWEVDVVRJT05fQ0FMTFNJVEVfTkFNRSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQob3B0aW9ucykpXG4gICAgICAgICAgICBvcHRpb25zID0ge307XG5cbiAgICAgICAgdGhpcy5fdmFsaWRhdGVPcHRpb25zKG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuZm4gICAgICAgICAgICAgPSBmbjtcbiAgICAgICAgdGhpcy5vcHRpb25zICAgICAgICA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuY29tcGlsZWRGbkNvZGUgPSB0aGlzLl9nZXRDb21waWxlZEZuQ29kZSgpO1xuXG4gICAgICAgIGlmICghdGhpcy5jb21waWxlZEZuQ29kZSlcbiAgICAgICAgICAgIHRocm93IHRoaXMuX2NyZWF0ZUludmFsaWRGblR5cGVFcnJvcigpO1xuXG4gICAgICAgIHRoaXMucmVwbGljYXRvciA9IGNyZWF0ZVJlcGxpY2F0b3IodGhpcy5fZ2V0UmVwbGljYXRvclRyYW5zZm9ybXMoKSk7XG4gICAgfVxuXG4gICAgX3JlbmRlckVycm9yIChlcnJvcikge1xuICAgICAgICAvLyBUaGUgcmVuZGVyZWQgdGVtcGxhdGUgaXMgc2hvd24gaW4gdGhlIFdhdGNoIHBhbmVsIG9mIGJyb3dzZXIgZGV2IHRvb2xzIG9yIElERS5cbiAgICAgICAgLy8gVmlld3BvcnQgc2l6ZSBpcyB1bmxpbWl0ZWQgdGhlcmUuXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0V2lkdGggICA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xuICAgICAgICBjb25zdCByZW5kZXJlZE1lc3NhZ2UgPSBURU1QTEFURVNbZXJyb3IuY29kZV0oZXJyb3IsIHZpZXdwb3J0V2lkdGgpO1xuXG4gICAgICAgIHJldHVybiBkZWRlbnQocmVuZGVyZWRNZXNzYWdlKTtcbiAgICB9XG5cbiAgICBfZGVjb3JhdGVGdW5jdGlvbiAoY2xpZW50Rm4pIHtcbiAgICAgICAgY2xpZW50Rm5bZnVuY3Rpb25CdWlsZGVyU3ltYm9sXSA9IHRoaXM7XG5cbiAgICAgICAgY2xpZW50Rm4ud2l0aCA9IG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dldENsaWVudEZuV2l0aE92ZXJyaWRkZW5PcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIF9nZXRDbGllbnRGbldpdGhPdmVycmlkZGVuT3B0aW9ucyAob3B0aW9ucykge1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgb3B0aW9ucyA9IGFzc2lnbih7fSwgdGhpcy5vcHRpb25zLCBvcHRpb25zKTtcblxuICAgICAgICBjb25zdCBidWlsZGVyID0gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5mbiwgb3B0aW9ucywge1xuICAgICAgICAgICAgaW5zdGFudGlhdGlvbjogJ3dpdGgnLFxuICAgICAgICAgICAgZXhlY3V0aW9uOiAgICAgdGhpcy5jYWxsc2l0ZU5hbWVzLmV4ZWN1dGlvbixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGJ1aWxkZXIuZ2V0RnVuY3Rpb24oKTtcbiAgICB9XG5cbiAgICBnZXRCb3VuZFRlc3RSdW4gKCkge1xuICAgICAgICAvLyBOT1RFOiBgYm91bmRUZXN0UnVuYCBjYW4gYmUgZWl0aGVyIFRlc3RDb250cm9sbGVyIG9yIFRlc3RSdW4gaW5zdGFuY2UuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYm91bmRUZXN0UnVuKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5ib3VuZFRlc3RSdW4udGVzdFJ1biB8fCB0aGlzLm9wdGlvbnMuYm91bmRUZXN0UnVuO1xuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIF9nZXRUZXN0UnVuICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Qm91bmRUZXN0UnVuKCkgfHwgdGVzdFJ1blRyYWNrZXIucmVzb2x2ZUNvbnRleHRUZXN0UnVuKCk7XG4gICAgfVxuXG4gICAgX2dldE9ic2VydmVkQ2FsbHNpdGVzICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldFRlc3RSdW4oKT8ub2JzZXJ2ZWRDYWxsc2l0ZXMgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXRGdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IGJ1aWxkZXIgPSB0aGlzO1xuXG4gICAgICAgIGNvbnN0IGNsaWVudEZuID0gZnVuY3Rpb24gX18kJGNsaWVudEZ1bmN0aW9uJCQgKCkge1xuICAgICAgICAgICAgY29uc3QgdGVzdFJ1biAgPSBidWlsZGVyLl9nZXRUZXN0UnVuKCk7XG4gICAgICAgICAgICBjb25zdCBjYWxsc2l0ZSA9IGdldENhbGxzaXRlRm9yTWV0aG9kKGJ1aWxkZXIuY2FsbHNpdGVOYW1lcy5leGVjdXRpb24pO1xuICAgICAgICAgICAgY29uc3QgYXJncyAgICAgPSBbXTtcblxuICAgICAgICAgICAgLy8gT1BUSU1JWkFUSU9OOiBkb24ndCBsZWFrIGBhcmd1bWVudHNgIG9iamVjdC5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgICAgIGFyZ3MucHVzaChhcmd1bWVudHNbaV0pO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0b3JBcGlFeGVjdXRpb25Nb2RlLmlzU3luYylcbiAgICAgICAgICAgICAgICByZXR1cm4gYnVpbGRlci5fZXhlY3V0ZUNvbW1hbmRTeW5jKGFyZ3MsIHRlc3RSdW4sIGNhbGxzaXRlKTtcblxuICAgICAgICAgICAgcmV0dXJuIGJ1aWxkZXIuX2V4ZWN1dGVDb21tYW5kKGFyZ3MsIHRlc3RSdW4sIGNhbGxzaXRlKTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLl9kZWNvcmF0ZUZ1bmN0aW9uKGNsaWVudEZuKTtcblxuICAgICAgICByZXR1cm4gY2xpZW50Rm47XG4gICAgfVxuXG4gICAgZ2V0Q29tbWFuZCAoYXJncykge1xuICAgICAgICBjb25zdCBlbmNvZGVkQXJncyAgICAgICAgID0gdGhpcy5yZXBsaWNhdG9yLmVuY29kZShhcmdzKTtcbiAgICAgICAgY29uc3QgZW5jb2RlZERlcGVuZGVuY2llcyA9IHRoaXMucmVwbGljYXRvci5lbmNvZGUodGhpcy5nZXRGdW5jdGlvbkRlcGVuZGVuY2llcygpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY3JlYXRlVGVzdFJ1bkNvbW1hbmQoZW5jb2RlZEFyZ3MsIGVuY29kZWREZXBlbmRlbmNpZXMpO1xuICAgIH1cblxuXG4gICAgLy8gT3ZlcnJpZGFibGUgbWV0aG9kc1xuICAgIGdldEZ1bmN0aW9uRGVwZW5kZW5jaWVzICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5kZXBlbmRlbmNpZXMgfHwge307XG4gICAgfVxuXG4gICAgX2NyZWF0ZVRlc3RSdW5Db21tYW5kIChlbmNvZGVkQXJncywgZW5jb2RlZERlcGVuZGVuY2llcykge1xuICAgICAgICByZXR1cm4gbmV3IEV4ZWN1dGVDbGllbnRGdW5jdGlvbkNvbW1hbmQoe1xuICAgICAgICAgICAgaW5zdGFudGlhdGlvbkNhbGxzaXRlTmFtZTogdGhpcy5jYWxsc2l0ZU5hbWVzLmluc3RhbnRpYXRpb24sXG4gICAgICAgICAgICBmbkNvZGU6ICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBpbGVkRm5Db2RlLFxuICAgICAgICAgICAgYXJnczogICAgICAgICAgICAgICAgICAgICAgZW5jb2RlZEFyZ3MsXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXM6ICAgICAgICAgICAgICBlbmNvZGVkRGVwZW5kZW5jaWVzLFxuICAgICAgICB9LCB0aGlzLl9nZXRUZXN0UnVuKCkpO1xuICAgIH1cblxuICAgIF9nZXRDb21waWxlZEZuQ29kZSAoKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mbiA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgIHJldHVybiBjb21waWxlQ2xpZW50RnVuY3Rpb24odGhpcy5mbi50b1N0cmluZygpLCB0aGlzLm9wdGlvbnMuZGVwZW5kZW5jaWVzLCB0aGlzLmNhbGxzaXRlTmFtZXMuaW5zdGFudGlhdGlvbiwgdGhpcy5jYWxsc2l0ZU5hbWVzLmluc3RhbnRpYXRpb24pO1xuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIF9jcmVhdGVJbnZhbGlkRm5UeXBlRXJyb3IgKCkge1xuICAgICAgICByZXR1cm4gbmV3IENsaWVudEZ1bmN0aW9uQVBJRXJyb3IodGhpcy5jYWxsc2l0ZU5hbWVzLmluc3RhbnRpYXRpb24sIHRoaXMuY2FsbHNpdGVOYW1lcy5pbnN0YW50aWF0aW9uLCBSVU5USU1FX0VSUk9SUy5jbGllbnRGdW5jdGlvbkNvZGVJc05vdEFGdW5jdGlvbiwgdHlwZW9mIHRoaXMuZm4pO1xuICAgIH1cblxuICAgIF9leGVjdXRlQ29tbWFuZCAoYXJncywgdGVzdFJ1biwgY2FsbHNpdGUpIHtcbiAgICAgICAgLy8gTk9URTogc2hvdWxkIGJlIGtlcHQgb3V0c2lkZSBvZiBsYXp5IHByb21pc2UgdG8gcHJlc2VydmVcbiAgICAgICAgLy8gY29ycmVjdCBjYWxsc2l0ZSBpbiBjYXNlIG9mIHJlcGxpY2F0b3IgZXJyb3IuXG4gICAgICAgIGNvbnN0IGNvbW1hbmQgPSB0aGlzLmdldENvbW1hbmQoYXJncyk7XG5cbiAgICAgICAgcmV0dXJuIFJlRXhlY3V0YWJsZVByb21pc2UuZnJvbUZuKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGVzdFJ1bikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBDbGllbnRGdW5jdGlvbkFQSUVycm9yKHRoaXMuY2FsbHNpdGVOYW1lcy5leGVjdXRpb24sIHRoaXMuY2FsbHNpdGVOYW1lcy5pbnN0YW50aWF0aW9uLCBSVU5USU1FX0VSUk9SUy5jbGllbnRGdW5jdGlvbkNhbm5vdFJlc29sdmVUZXN0UnVuKTtcblxuICAgICAgICAgICAgICAgIC8vIE5PVEU6IGZvcmNlIGNhbGxzaXRlIGhlcmUsIGJlY2F1c2UgbW9yZSBsaWtlbHkgaXQgd2lsbFxuICAgICAgICAgICAgICAgIC8vIGJlIGltcG9zc2libGUgdG8gcmVzb2x2ZSBpdCBieSBtZXRob2QgbmFtZSBmcm9tIGEgbGF6eSBwcm9taXNlLlxuICAgICAgICAgICAgICAgIGVyci5jYWxsc2l0ZSA9IGNhbGxzaXRlO1xuXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0ZXN0UnVuLmV4ZWN1dGVDb21tYW5kKGNvbW1hbmQsIGNhbGxzaXRlKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NSZXN1bHQocmVzdWx0LCBhcmdzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX2V4ZWN1dGVDb21tYW5kU3luYyAoYXJncywgdGVzdFJ1biwgY2FsbHNpdGUpIHtcbiAgICAgICAgLy8gTk9URTogc2hvdWxkIGJlIGtlcHQgb3V0c2lkZSBvZiBsYXp5IHByb21pc2UgdG8gcHJlc2VydmVcbiAgICAgICAgLy8gY29ycmVjdCBjYWxsc2l0ZSBpbiBjYXNlIG9mIHJlcGxpY2F0b3IgZXJyb3IuXG4gICAgICAgIGNvbnN0IGNvbW1hbmQgPSB0aGlzLmdldENvbW1hbmQoYXJncyk7XG5cbiAgICAgICAgaWYgKCF0ZXN0UnVuKSB7XG4gICAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgQ2xpZW50RnVuY3Rpb25BUElFcnJvcih0aGlzLmNhbGxzaXRlTmFtZXMuZXhlY3V0aW9uLCB0aGlzLmNhbGxzaXRlTmFtZXMuaW5zdGFudGlhdGlvbiwgUlVOVElNRV9FUlJPUlMuY2xpZW50RnVuY3Rpb25DYW5ub3RSZXNvbHZlVGVzdFJ1bik7XG5cbiAgICAgICAgICAgIC8vIE5PVEU6IGZvcmNlIGNhbGxzaXRlIGhlcmUsIGJlY2F1c2UgbW9yZSBsaWtlbHkgaXQgd2lsbFxuICAgICAgICAgICAgLy8gYmUgaW1wb3NzaWJsZSB0byByZXNvbHZlIGl0IGJ5IG1ldGhvZCBuYW1lIGZyb20gYSBsYXp5IHByb21pc2UuXG4gICAgICAgICAgICBlcnIuY2FsbHNpdGUgPSBjYWxsc2l0ZTtcblxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTk9URTogcmVzZXQgdGhlIGNvbW1hbmQgdGltZW91dCB0byBtaW5pbWFsIGNoZWNrIGludGVydmFsIHRvXG4gICAgICAgIC8vIGVuc3VyZSB0aGUgZmluZCBlbGVtZW50IGxvb3Agd2lsbCBleGVjdXRlIG9ubHkgb25lIHRpbWUuXG4gICAgICAgIGlmICh0eXBlb2YgY29tbWFuZC50aW1lb3V0ICE9PSAnbnVtYmVyJylcbiAgICAgICAgICAgIGNvbW1hbmQudGltZW91dCA9IENIRUNLX0VMRU1FTlRfREVMQVk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRlc3RSdW4uZXhlY3V0ZUNvbW1hbmRTeW5jKGNvbW1hbmQsIGNhbGxzaXRlKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NSZXN1bHQocmVzdWx0LCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLl9yZW5kZXJFcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX3Byb2Nlc3NSZXN1bHQgKHJlc3VsdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXBsaWNhdG9yLmRlY29kZShyZXN1bHQpO1xuICAgIH1cblxuICAgIF92YWxpZGF0ZU9wdGlvbnMgKG9wdGlvbnMpIHtcbiAgICAgICAgYXNzZXJ0VHlwZShpcy5ub25OdWxsT2JqZWN0LCB0aGlzLmNhbGxzaXRlTmFtZXMuaW5zdGFudGlhdGlvbiwgJ1RoZSBcIm9wdGlvbnNcIiBhcmd1bWVudCcsIG9wdGlvbnMpO1xuXG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQob3B0aW9ucy5ib3VuZFRlc3RSdW4pKSB7XG4gICAgICAgICAgICAvLyBOT1RFOiBgYm91bmRUZXN0UnVuYCBjYW4gYmUgZWl0aGVyIFRlc3RDb250cm9sbGVyIG9yIFRlc3RSdW4gaW5zdGFuY2UuXG4gICAgICAgICAgICBjb25zdCBib3VuZFRlc3RSdW4gPSBvcHRpb25zLmJvdW5kVGVzdFJ1bi50ZXN0UnVuIHx8IG9wdGlvbnMuYm91bmRUZXN0UnVuO1xuXG4gICAgICAgICAgICBpZiAoIWJvdW5kVGVzdFJ1blt0ZXN0UnVuTWFya2VyXSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IodGhpcy5jYWxsc2l0ZU5hbWVzLmluc3RhbnRpYXRpb24sIFJVTlRJTUVfRVJST1JTLmludmFsaWRDbGllbnRGdW5jdGlvblRlc3RSdW5CaW5kaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQob3B0aW9ucy5kZXBlbmRlbmNpZXMpKVxuICAgICAgICAgICAgYXNzZXJ0VHlwZShpcy5ub25OdWxsT2JqZWN0LCB0aGlzLmNhbGxzaXRlTmFtZXMuaW5zdGFudGlhdGlvbiwgJ1RoZSBcImRlcGVuZGVuY2llc1wiIG9wdGlvbicsIG9wdGlvbnMuZGVwZW5kZW5jaWVzKTtcbiAgICB9XG5cbiAgICBfZ2V0UmVwbGljYXRvclRyYW5zZm9ybXMgKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmV3IEZ1bmN0aW9uVHJhbnNmb3JtKHRoaXMuY2FsbHNpdGVOYW1lcyksXG4gICAgICAgIF07XG4gICAgfVxufVxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWZ1bmN0aW9uLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50LWZ1bmN0aW9ucy9jbGllbnQtZnVuY3Rpb24tYnVpbGRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUE0RDtBQUM1RCwrRUFBcUQ7QUFDckQsc0VBQXFEO0FBQ3JELDZDQUFtRTtBQUNuRSxrRUFBZ0Y7QUFDaEYsa0dBQXdFO0FBQ3hFLCtDQUFxRTtBQUNyRSx1RUFBbUU7QUFDbkUsMkNBQWlEO0FBQ2pELHlEQUE4RDtBQUM5RCwyRkFBaUU7QUFDakUsOEVBQXNEO0FBQ3RELGdHQUFxRTtBQUNyRSxvSkFBNEg7QUFDNUgsNkVBQXFEO0FBQ3JELG9EQUE0QjtBQUU1QixNQUFNLCtCQUErQixHQUFHLHNCQUFzQixDQUFDO0FBRS9ELE1BQXFCLHFCQUFxQjtJQUN0QyxZQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxHQUFHLEVBQUU7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNqQixhQUFhLEVBQUUsYUFBYSxDQUFDLGFBQWE7WUFDMUMsU0FBUyxFQUFNLGFBQWEsQ0FBQyxTQUFTLElBQUksK0JBQStCO1NBQzVFLENBQUM7UUFFRixJQUFJLElBQUEsY0FBaUIsRUFBQyxPQUFPLENBQUM7WUFDMUIsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLEVBQUUsR0FBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBVSxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUVoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDcEIsTUFBTSxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUUzQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsNkJBQWdCLEVBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsWUFBWSxDQUFFLEtBQUs7UUFDZixpRkFBaUY7UUFDakYsb0NBQW9DO1FBQ3BDLE1BQU0sYUFBYSxHQUFLLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxNQUFNLGVBQWUsR0FBRyxtQkFBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFcEUsT0FBTyxJQUFBLGdCQUFNLEVBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQixDQUFFLFFBQVE7UUFDdkIsUUFBUSxDQUFDLHdCQUFxQixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRXZDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGlDQUFpQyxDQUFFLE9BQU87UUFDdEMsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQzNCLE9BQU8sR0FBRyxJQUFBLGVBQU0sRUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7WUFDbkQsYUFBYSxFQUFFLE1BQU07WUFDckIsU0FBUyxFQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUztTQUM5QyxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNYLHlFQUF5RTtRQUN6RSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTtZQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUUxRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLDBCQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQscUJBQXFCOztRQUNqQixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsV0FBVyxFQUFFLDBDQUFFLGlCQUFpQixLQUFJLElBQUksQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNQLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQztRQUVyQixNQUFNLFFBQVEsR0FBRyxTQUFTLG9CQUFvQjtZQUMxQyxNQUFNLE9BQU8sR0FBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsTUFBTSxRQUFRLEdBQUcsSUFBQSxtQ0FBb0IsRUFBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sSUFBSSxHQUFPLEVBQUUsQ0FBQztZQUVwQiwrQ0FBK0M7WUFDL0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTVCLElBQUkscUNBQXdCLENBQUMsTUFBTTtnQkFDL0IsT0FBTyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUVoRSxPQUFPLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFakMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVUsQ0FBRSxJQUFJLEdBQUcsRUFBRTtRQUNqQixNQUFNLFdBQVcsR0FBVyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUM7UUFFbkYsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUdELHNCQUFzQjtJQUN0Qix1QkFBdUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELHFCQUFxQixDQUFFLFdBQVcsRUFBRSxtQkFBbUI7UUFDbkQsT0FBTyxJQUFJLDBDQUE0QixDQUFDO1lBQ3BDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYTtZQUMzRCxNQUFNLEVBQXFCLElBQUksQ0FBQyxjQUFjO1lBQzlDLElBQUksRUFBdUIsV0FBVztZQUN0QyxZQUFZLEVBQWUsbUJBQW1CO1NBQ2pELEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLFVBQVU7WUFDN0IsT0FBTyxJQUFBLGlDQUFxQixFQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVwSixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQseUJBQXlCO1FBQ3JCLE9BQU8sSUFBSSxnQ0FBc0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxzQkFBYyxDQUFDLGdDQUFnQyxFQUFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNLLENBQUM7SUFFRCxlQUFlLENBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRO1FBQ3BDLDJEQUEyRDtRQUMzRCxnREFBZ0Q7UUFDaEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxPQUFPLCtCQUFtQixDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN6QyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNWLE1BQU0sR0FBRyxHQUFHLElBQUksZ0NBQXNCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsc0JBQWMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2dCQUUxSix5REFBeUQ7Z0JBQ3pELGtFQUFrRTtnQkFDbEUsR0FBRyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBRXhCLE1BQU0sR0FBRyxDQUFDO2FBQ2I7WUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRS9ELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsbUJBQW1CLENBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRO1FBQ3hDLDJEQUEyRDtRQUMzRCxnREFBZ0Q7UUFDaEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsTUFBTSxHQUFHLEdBQUcsSUFBSSxnQ0FBc0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxzQkFBYyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFFMUoseURBQXlEO1lBQ3pELGtFQUFrRTtZQUNsRSxHQUFHLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUV4QixNQUFNLEdBQUcsQ0FBQztTQUNiO1FBRUQsK0RBQStEO1FBQy9ELDJEQUEyRDtRQUMzRCxJQUFJLE9BQU8sT0FBTyxDQUFDLE9BQU8sS0FBSyxRQUFRO1lBQ25DLE9BQU8sQ0FBQyxPQUFPLEdBQUcsNkJBQW1CLENBQUM7UUFFMUMsSUFBSTtZQUNBLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFN0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM1QztRQUNELE9BQU8sR0FBRyxFQUFFO1lBQ1IsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBRSxNQUFNO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGdCQUFnQixDQUFFLE9BQU87UUFDckIsSUFBQSw0QkFBVSxFQUFDLG9CQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWxHLElBQUksQ0FBQyxJQUFBLGNBQWlCLEVBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzFDLHlFQUF5RTtZQUN6RSxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDO1lBRTFFLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQWEsQ0FBQztnQkFDNUIsTUFBTSxJQUFJLGtCQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsc0JBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ2hIO1FBRUQsSUFBSSxDQUFDLElBQUEsY0FBaUIsRUFBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQ3hDLElBQUEsNEJBQVUsRUFBQyxvQkFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSwyQkFBMkIsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVELHdCQUF3QjtRQUNwQixPQUFPO1lBQ0gsSUFBSSw4QkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzVDLENBQUM7SUFDTixDQUFDO0NBQ0o7QUF2TUQsd0NBdU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNOaWwgYXMgaXNOdWxsT3JVbmRlZmluZWQsIGFzc2lnbiB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgdGVzdFJ1blRyYWNrZXIgZnJvbSAnLi4vYXBpL3Rlc3QtcnVuLXRyYWNrZXInO1xuaW1wb3J0IGZ1bmN0aW9uQnVpbGRlclN5bWJvbCBmcm9tICcuL2J1aWxkZXItc3ltYm9sJztcbmltcG9ydCB7IGNyZWF0ZVJlcGxpY2F0b3IsIEZ1bmN0aW9uVHJhbnNmb3JtIH0gZnJvbSAnLi9yZXBsaWNhdG9yJztcbmltcG9ydCB7IEV4ZWN1dGVDbGllbnRGdW5jdGlvbkNvbW1hbmQgfSBmcm9tICcuLi90ZXN0LXJ1bi9jb21tYW5kcy9vYnNlcnZhdGlvbic7XG5pbXBvcnQgY29tcGlsZUNsaWVudEZ1bmN0aW9uIGZyb20gJy4uL2NvbXBpbGVyL2NvbXBpbGUtY2xpZW50LWZ1bmN0aW9uJztcbmltcG9ydCB7IEFQSUVycm9yLCBDbGllbnRGdW5jdGlvbkFQSUVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgYXNzZXJ0VHlwZSwgaXMgfSBmcm9tICcuLi9lcnJvcnMvcnVudGltZS90eXBlLWFzc2VydGlvbnMnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0Q2FsbHNpdGVGb3JNZXRob2QgfSBmcm9tICcuLi9lcnJvcnMvZ2V0LWNhbGxzaXRlJztcbmltcG9ydCBSZUV4ZWN1dGFibGVQcm9taXNlIGZyb20gJy4uL3V0aWxzL3JlLWV4ZWN1dGFibGUtcHJvbWlzZSc7XG5pbXBvcnQgdGVzdFJ1bk1hcmtlciBmcm9tICcuLi90ZXN0LXJ1bi9tYXJrZXItc3ltYm9sJztcbmltcG9ydCBzZWxlY3RvckFwaUV4ZWN1dGlvbk1vZGUgZnJvbSAnLi9zZWxlY3Rvci1hcGktZXhlY3V0aW9uLW1vZGUnO1xuaW1wb3J0IENIRUNLX0VMRU1FTlRfREVMQVkgZnJvbSAnLi4vY2xpZW50L2RyaXZlci9jb21tYW5kLWV4ZWN1dG9ycy9jbGllbnQtZnVuY3Rpb25zL3NlbGVjdG9yLWV4ZWN1dG9yL2NoZWNrLWVsZW1lbnQtZGVsYXknO1xuaW1wb3J0IFRFTVBMQVRFUyBmcm9tICcuLi9lcnJvcnMvdGVzdC1ydW4vdGVtcGxhdGVzJztcbmltcG9ydCBkZWRlbnQgZnJvbSAnZGVkZW50JztcblxuY29uc3QgREVGQVVMVF9FWEVDVVRJT05fQ0FMTFNJVEVfTkFNRSA9ICdfXyQkY2xpZW50RnVuY3Rpb24kJCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENsaWVudEZ1bmN0aW9uQnVpbGRlciB7XG4gICAgY29uc3RydWN0b3IgKGZuLCBvcHRpb25zLCBjYWxsc2l0ZU5hbWVzID0ge30pIHtcbiAgICAgICAgdGhpcy5jYWxsc2l0ZU5hbWVzID0ge1xuICAgICAgICAgICAgaW5zdGFudGlhdGlvbjogY2FsbHNpdGVOYW1lcy5pbnN0YW50aWF0aW9uLFxuICAgICAgICAgICAgZXhlY3V0aW9uOiAgICAgY2FsbHNpdGVOYW1lcy5leGVjdXRpb24gfHwgREVGQVVMVF9FWEVDVVRJT05fQ0FMTFNJVEVfTkFNRSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQob3B0aW9ucykpXG4gICAgICAgICAgICBvcHRpb25zID0ge307XG5cbiAgICAgICAgdGhpcy5fdmFsaWRhdGVPcHRpb25zKG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuZm4gICAgICAgICAgICAgPSBmbjtcbiAgICAgICAgdGhpcy5vcHRpb25zICAgICAgICA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuY29tcGlsZWRGbkNvZGUgPSB0aGlzLl9nZXRDb21waWxlZEZuQ29kZSgpO1xuXG4gICAgICAgIGlmICghdGhpcy5jb21waWxlZEZuQ29kZSlcbiAgICAgICAgICAgIHRocm93IHRoaXMuX2NyZWF0ZUludmFsaWRGblR5cGVFcnJvcigpO1xuXG4gICAgICAgIHRoaXMucmVwbGljYXRvciA9IGNyZWF0ZVJlcGxpY2F0b3IodGhpcy5fZ2V0UmVwbGljYXRvclRyYW5zZm9ybXMoKSk7XG4gICAgfVxuXG4gICAgX3JlbmRlckVycm9yIChlcnJvcikge1xuICAgICAgICAvLyBUaGUgcmVuZGVyZWQgdGVtcGxhdGUgaXMgc2hvd24gaW4gdGhlIFdhdGNoIHBhbmVsIG9mIGJyb3dzZXIgZGV2IHRvb2xzIG9yIElERS5cbiAgICAgICAgLy8gVmlld3BvcnQgc2l6ZSBpcyB1bmxpbWl0ZWQgdGhlcmUuXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0V2lkdGggICA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xuICAgICAgICBjb25zdCByZW5kZXJlZE1lc3NhZ2UgPSBURU1QTEFURVNbZXJyb3IuY29kZV0oZXJyb3IsIHZpZXdwb3J0V2lkdGgpO1xuXG4gICAgICAgIHJldHVybiBkZWRlbnQocmVuZGVyZWRNZXNzYWdlKTtcbiAgICB9XG5cbiAgICBfZGVjb3JhdGVGdW5jdGlvbiAoY2xpZW50Rm4pIHtcbiAgICAgICAgY2xpZW50Rm5bZnVuY3Rpb25CdWlsZGVyU3ltYm9sXSA9IHRoaXM7XG5cbiAgICAgICAgY2xpZW50Rm4ud2l0aCA9IG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dldENsaWVudEZuV2l0aE92ZXJyaWRkZW5PcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIF9nZXRDbGllbnRGbldpdGhPdmVycmlkZGVuT3B0aW9ucyAob3B0aW9ucykge1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgb3B0aW9ucyA9IGFzc2lnbih7fSwgdGhpcy5vcHRpb25zLCBvcHRpb25zKTtcblxuICAgICAgICBjb25zdCBidWlsZGVyID0gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5mbiwgb3B0aW9ucywge1xuICAgICAgICAgICAgaW5zdGFudGlhdGlvbjogJ3dpdGgnLFxuICAgICAgICAgICAgZXhlY3V0aW9uOiAgICAgdGhpcy5jYWxsc2l0ZU5hbWVzLmV4ZWN1dGlvbixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGJ1aWxkZXIuZ2V0RnVuY3Rpb24oKTtcbiAgICB9XG5cbiAgICBnZXRCb3VuZFRlc3RSdW4gKCkge1xuICAgICAgICAvLyBOT1RFOiBgYm91bmRUZXN0UnVuYCBjYW4gYmUgZWl0aGVyIFRlc3RDb250cm9sbGVyIG9yIFRlc3RSdW4gaW5zdGFuY2UuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYm91bmRUZXN0UnVuKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5ib3VuZFRlc3RSdW4udGVzdFJ1biB8fCB0aGlzLm9wdGlvbnMuYm91bmRUZXN0UnVuO1xuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIF9nZXRUZXN0UnVuICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Qm91bmRUZXN0UnVuKCkgfHwgdGVzdFJ1blRyYWNrZXIucmVzb2x2ZUNvbnRleHRUZXN0UnVuKCk7XG4gICAgfVxuXG4gICAgX2dldE9ic2VydmVkQ2FsbHNpdGVzICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldFRlc3RSdW4oKT8ub2JzZXJ2ZWRDYWxsc2l0ZXMgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXRGdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IGJ1aWxkZXIgPSB0aGlzO1xuXG4gICAgICAgIGNvbnN0IGNsaWVudEZuID0gZnVuY3Rpb24gX18kJGNsaWVudEZ1bmN0aW9uJCQgKCkge1xuICAgICAgICAgICAgY29uc3QgdGVzdFJ1biAgPSBidWlsZGVyLl9nZXRUZXN0UnVuKCk7XG4gICAgICAgICAgICBjb25zdCBjYWxsc2l0ZSA9IGdldENhbGxzaXRlRm9yTWV0aG9kKGJ1aWxkZXIuY2FsbHNpdGVOYW1lcy5leGVjdXRpb24pO1xuICAgICAgICAgICAgY29uc3QgYXJncyAgICAgPSBbXTtcblxuICAgICAgICAgICAgLy8gT1BUSU1JWkFUSU9OOiBkb24ndCBsZWFrIGBhcmd1bWVudHNgIG9iamVjdC5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgICAgIGFyZ3MucHVzaChhcmd1bWVudHNbaV0pO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0b3JBcGlFeGVjdXRpb25Nb2RlLmlzU3luYylcbiAgICAgICAgICAgICAgICByZXR1cm4gYnVpbGRlci5fZXhlY3V0ZUNvbW1hbmRTeW5jKGFyZ3MsIHRlc3RSdW4sIGNhbGxzaXRlKTtcblxuICAgICAgICAgICAgcmV0dXJuIGJ1aWxkZXIuX2V4ZWN1dGVDb21tYW5kKGFyZ3MsIHRlc3RSdW4sIGNhbGxzaXRlKTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLl9kZWNvcmF0ZUZ1bmN0aW9uKGNsaWVudEZuKTtcblxuICAgICAgICByZXR1cm4gY2xpZW50Rm47XG4gICAgfVxuXG4gICAgZ2V0Q29tbWFuZCAoYXJncyA9IFtdKSB7XG4gICAgICAgIGNvbnN0IGVuY29kZWRBcmdzICAgICAgICAgPSB0aGlzLnJlcGxpY2F0b3IuZW5jb2RlKGFyZ3MpO1xuICAgICAgICBjb25zdCBlbmNvZGVkRGVwZW5kZW5jaWVzID0gdGhpcy5yZXBsaWNhdG9yLmVuY29kZSh0aGlzLmdldEZ1bmN0aW9uRGVwZW5kZW5jaWVzKCkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVUZXN0UnVuQ29tbWFuZChlbmNvZGVkQXJncywgZW5jb2RlZERlcGVuZGVuY2llcyk7XG4gICAgfVxuXG5cbiAgICAvLyBPdmVycmlkYWJsZSBtZXRob2RzXG4gICAgZ2V0RnVuY3Rpb25EZXBlbmRlbmNpZXMgKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmRlcGVuZGVuY2llcyB8fCB7fTtcbiAgICB9XG5cbiAgICBfY3JlYXRlVGVzdFJ1bkNvbW1hbmQgKGVuY29kZWRBcmdzLCBlbmNvZGVkRGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIHJldHVybiBuZXcgRXhlY3V0ZUNsaWVudEZ1bmN0aW9uQ29tbWFuZCh7XG4gICAgICAgICAgICBpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lOiB0aGlzLmNhbGxzaXRlTmFtZXMuaW5zdGFudGlhdGlvbixcbiAgICAgICAgICAgIGZuQ29kZTogICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcGlsZWRGbkNvZGUsXG4gICAgICAgICAgICBhcmdzOiAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkQXJncyxcbiAgICAgICAgICAgIGRlcGVuZGVuY2llczogICAgICAgICAgICAgIGVuY29kZWREZXBlbmRlbmNpZXMsXG4gICAgICAgIH0sIHRoaXMuX2dldFRlc3RSdW4oKSk7XG4gICAgfVxuXG4gICAgX2dldENvbXBpbGVkRm5Db2RlICgpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZuID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgcmV0dXJuIGNvbXBpbGVDbGllbnRGdW5jdGlvbih0aGlzLmZuLnRvU3RyaW5nKCksIHRoaXMub3B0aW9ucy5kZXBlbmRlbmNpZXMsIHRoaXMuY2FsbHNpdGVOYW1lcy5pbnN0YW50aWF0aW9uLCB0aGlzLmNhbGxzaXRlTmFtZXMuaW5zdGFudGlhdGlvbik7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgX2NyZWF0ZUludmFsaWRGblR5cGVFcnJvciAoKSB7XG4gICAgICAgIHJldHVybiBuZXcgQ2xpZW50RnVuY3Rpb25BUElFcnJvcih0aGlzLmNhbGxzaXRlTmFtZXMuaW5zdGFudGlhdGlvbiwgdGhpcy5jYWxsc2l0ZU5hbWVzLmluc3RhbnRpYXRpb24sIFJVTlRJTUVfRVJST1JTLmNsaWVudEZ1bmN0aW9uQ29kZUlzTm90QUZ1bmN0aW9uLCB0eXBlb2YgdGhpcy5mbik7XG4gICAgfVxuXG4gICAgX2V4ZWN1dGVDb21tYW5kIChhcmdzLCB0ZXN0UnVuLCBjYWxsc2l0ZSkge1xuICAgICAgICAvLyBOT1RFOiBzaG91bGQgYmUga2VwdCBvdXRzaWRlIG9mIGxhenkgcHJvbWlzZSB0byBwcmVzZXJ2ZVxuICAgICAgICAvLyBjb3JyZWN0IGNhbGxzaXRlIGluIGNhc2Ugb2YgcmVwbGljYXRvciBlcnJvci5cbiAgICAgICAgY29uc3QgY29tbWFuZCA9IHRoaXMuZ2V0Q29tbWFuZChhcmdzKTtcblxuICAgICAgICByZXR1cm4gUmVFeGVjdXRhYmxlUHJvbWlzZS5mcm9tRm4oYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0ZXN0UnVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyID0gbmV3IENsaWVudEZ1bmN0aW9uQVBJRXJyb3IodGhpcy5jYWxsc2l0ZU5hbWVzLmV4ZWN1dGlvbiwgdGhpcy5jYWxsc2l0ZU5hbWVzLmluc3RhbnRpYXRpb24sIFJVTlRJTUVfRVJST1JTLmNsaWVudEZ1bmN0aW9uQ2Fubm90UmVzb2x2ZVRlc3RSdW4pO1xuXG4gICAgICAgICAgICAgICAgLy8gTk9URTogZm9yY2UgY2FsbHNpdGUgaGVyZSwgYmVjYXVzZSBtb3JlIGxpa2VseSBpdCB3aWxsXG4gICAgICAgICAgICAgICAgLy8gYmUgaW1wb3NzaWJsZSB0byByZXNvbHZlIGl0IGJ5IG1ldGhvZCBuYW1lIGZyb20gYSBsYXp5IHByb21pc2UuXG4gICAgICAgICAgICAgICAgZXJyLmNhbGxzaXRlID0gY2FsbHNpdGU7XG5cbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRlc3RSdW4uZXhlY3V0ZUNvbW1hbmQoY29tbWFuZCwgY2FsbHNpdGUpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc1Jlc3VsdChyZXN1bHQsIGFyZ3MpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBfZXhlY3V0ZUNvbW1hbmRTeW5jIChhcmdzLCB0ZXN0UnVuLCBjYWxsc2l0ZSkge1xuICAgICAgICAvLyBOT1RFOiBzaG91bGQgYmUga2VwdCBvdXRzaWRlIG9mIGxhenkgcHJvbWlzZSB0byBwcmVzZXJ2ZVxuICAgICAgICAvLyBjb3JyZWN0IGNhbGxzaXRlIGluIGNhc2Ugb2YgcmVwbGljYXRvciBlcnJvci5cbiAgICAgICAgY29uc3QgY29tbWFuZCA9IHRoaXMuZ2V0Q29tbWFuZChhcmdzKTtcblxuICAgICAgICBpZiAoIXRlc3RSdW4pIHtcbiAgICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBDbGllbnRGdW5jdGlvbkFQSUVycm9yKHRoaXMuY2FsbHNpdGVOYW1lcy5leGVjdXRpb24sIHRoaXMuY2FsbHNpdGVOYW1lcy5pbnN0YW50aWF0aW9uLCBSVU5USU1FX0VSUk9SUy5jbGllbnRGdW5jdGlvbkNhbm5vdFJlc29sdmVUZXN0UnVuKTtcblxuICAgICAgICAgICAgLy8gTk9URTogZm9yY2UgY2FsbHNpdGUgaGVyZSwgYmVjYXVzZSBtb3JlIGxpa2VseSBpdCB3aWxsXG4gICAgICAgICAgICAvLyBiZSBpbXBvc3NpYmxlIHRvIHJlc29sdmUgaXQgYnkgbWV0aG9kIG5hbWUgZnJvbSBhIGxhenkgcHJvbWlzZS5cbiAgICAgICAgICAgIGVyci5jYWxsc2l0ZSA9IGNhbGxzaXRlO1xuXG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOT1RFOiByZXNldCB0aGUgY29tbWFuZCB0aW1lb3V0IHRvIG1pbmltYWwgY2hlY2sgaW50ZXJ2YWwgdG9cbiAgICAgICAgLy8gZW5zdXJlIHRoZSBmaW5kIGVsZW1lbnQgbG9vcCB3aWxsIGV4ZWN1dGUgb25seSBvbmUgdGltZS5cbiAgICAgICAgaWYgKHR5cGVvZiBjb21tYW5kLnRpbWVvdXQgIT09ICdudW1iZXInKVxuICAgICAgICAgICAgY29tbWFuZC50aW1lb3V0ID0gQ0hFQ0tfRUxFTUVOVF9ERUxBWTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGVzdFJ1bi5leGVjdXRlQ29tbWFuZFN5bmMoY29tbWFuZCwgY2FsbHNpdGUpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc1Jlc3VsdChyZXN1bHQsIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMuX3JlbmRlckVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfcHJvY2Vzc1Jlc3VsdCAocmVzdWx0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlcGxpY2F0b3IuZGVjb2RlKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgX3ZhbGlkYXRlT3B0aW9ucyAob3B0aW9ucykge1xuICAgICAgICBhc3NlcnRUeXBlKGlzLm5vbk51bGxPYmplY3QsIHRoaXMuY2FsbHNpdGVOYW1lcy5pbnN0YW50aWF0aW9uLCAnVGhlIFwib3B0aW9uc1wiIGFyZ3VtZW50Jywgb3B0aW9ucyk7XG5cbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChvcHRpb25zLmJvdW5kVGVzdFJ1bikpIHtcbiAgICAgICAgICAgIC8vIE5PVEU6IGBib3VuZFRlc3RSdW5gIGNhbiBiZSBlaXRoZXIgVGVzdENvbnRyb2xsZXIgb3IgVGVzdFJ1biBpbnN0YW5jZS5cbiAgICAgICAgICAgIGNvbnN0IGJvdW5kVGVzdFJ1biA9IG9wdGlvbnMuYm91bmRUZXN0UnVuLnRlc3RSdW4gfHwgb3B0aW9ucy5ib3VuZFRlc3RSdW47XG5cbiAgICAgICAgICAgIGlmICghYm91bmRUZXN0UnVuW3Rlc3RSdW5NYXJrZXJdKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBBUElFcnJvcih0aGlzLmNhbGxzaXRlTmFtZXMuaW5zdGFudGlhdGlvbiwgUlVOVElNRV9FUlJPUlMuaW52YWxpZENsaWVudEZ1bmN0aW9uVGVzdFJ1bkJpbmRpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChvcHRpb25zLmRlcGVuZGVuY2llcykpXG4gICAgICAgICAgICBhc3NlcnRUeXBlKGlzLm5vbk51bGxPYmplY3QsIHRoaXMuY2FsbHNpdGVOYW1lcy5pbnN0YW50aWF0aW9uLCAnVGhlIFwiZGVwZW5kZW5jaWVzXCIgb3B0aW9uJywgb3B0aW9ucy5kZXBlbmRlbmNpZXMpO1xuICAgIH1cblxuICAgIF9nZXRSZXBsaWNhdG9yVHJhbnNmb3JtcyAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBuZXcgRnVuY3Rpb25UcmFuc2Zvcm0odGhpcy5jYWxsc2l0ZU5hbWVzKSxcbiAgICAgICAgXTtcbiAgICB9XG59XG4iXX0=
@@ -38,7 +38,7 @@ class FunctionTransform {
38
38
  };
39
39
  }
40
40
  return {
41
- fnCode: compile_client_function_1.default(fn.toString(), null, this.callsiteNames.instantiation, this.callsiteNames.execution),
41
+ fnCode: (0, compile_client_function_1.default)(fn.toString(), null, this.callsiteNames.instantiation, this.callsiteNames.execution),
42
42
  dependencies: {},
43
43
  };
44
44
  }
@@ -59,4 +59,4 @@ class SelectorNodeTransform {
59
59
  }
60
60
  }
61
61
  exports.SelectorNodeTransform = SelectorNodeTransform;
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGljYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQtZnVuY3Rpb25zL3JlcGxpY2F0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbUNBQWtDO0FBQ2xDLDREQUFvQztBQUNwQyxzRUFBcUQ7QUFDckQsa0dBQXdFO0FBRXhFLFNBQWdCLGdCQUFnQixDQUFFLFVBQVU7SUFDeEMsNkNBQTZDO0lBQzdDLDRDQUE0QztJQUM1Qyx3REFBd0Q7SUFDeEQsa0RBQWtEO0lBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksb0JBQVUsQ0FBQztRQUM5QixTQUFTLEVBQUksaUJBQVE7UUFDckIsV0FBVyxFQUFFLGlCQUFRO0tBQ3hCLENBQUMsQ0FBQztJQUVILE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBWEQsNENBV0M7QUFFRCx3QkFBd0I7QUFDeEIsTUFBYSxpQkFBaUI7SUFDMUIsWUFBYSxhQUFhO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQVksVUFBVSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlLENBQUUsSUFBSTtRQUNqQixPQUFPLElBQUksS0FBSyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELGNBQWMsQ0FBRSxFQUFFO1FBQ2QsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLHdCQUFxQixDQUFDLENBQUM7UUFFbEQsSUFBSSxlQUFlLEVBQUU7WUFDakIsT0FBTztnQkFDSCxNQUFNLEVBQVEsZUFBZSxDQUFDLGNBQWM7Z0JBQzVDLFlBQVksRUFBRSxlQUFlLENBQUMsdUJBQXVCLEVBQUU7YUFDMUQsQ0FBQztTQUNMO1FBRUQsT0FBTztZQUNILE1BQU0sRUFBUSxpQ0FBcUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQ3hILFlBQVksRUFBRSxFQUFFO1NBQ25CLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBQ0o7QUE3QkQsOENBNkJDO0FBRUQsTUFBYSxxQkFBcUI7SUFDOUI7UUFDSSxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxZQUFZO1FBQzFCLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7Q0FDSjtBQVpELHNEQVlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaWRlbnRpdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFJlcGxpY2F0b3IgZnJvbSAncmVwbGljYXRvcic7XG5pbXBvcnQgZnVuY3Rpb25CdWlsZGVyU3ltYm9sIGZyb20gJy4vYnVpbGRlci1zeW1ib2wnO1xuaW1wb3J0IGNvbXBpbGVDbGllbnRGdW5jdGlvbiBmcm9tICcuLi9jb21waWxlci9jb21waWxlLWNsaWVudC1mdW5jdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZXBsaWNhdG9yICh0cmFuc2Zvcm1zKSB7XG4gICAgLy8gTk9URTogd2Ugd2lsbCBzZXJpYWxpemUgcmVwbGljYXRvciByZXN1bHRzXG4gICAgLy8gdG8gSlNPTiB3aXRoIGEgY29tbWFuZCBvciBjb21tYW5kIHJlc3VsdC5cbiAgICAvLyBUaGVyZWZvcmUgdGhlcmUgaXMgbm8gbmVlZCB0byBkbyBhZGRpdGlvbmFsIGpvYiBoZXJlLFxuICAgIC8vIHNvIHdlIHVzZSBpZGVudGl0eSBmdW5jdGlvbnMgZm9yIHNlcmlhbGl6YXRpb24uXG4gICAgY29uc3QgcmVwbGljYXRvciA9IG5ldyBSZXBsaWNhdG9yKHtcbiAgICAgICAgc2VyaWFsaXplOiAgIGlkZW50aXR5LFxuICAgICAgICBkZXNlcmlhbGl6ZTogaWRlbnRpdHksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVwbGljYXRvci5hZGRUcmFuc2Zvcm1zKHRyYW5zZm9ybXMpO1xufVxuXG4vLyBSZXBsaWNhdG9yIHRyYW5zZm9ybXNcbmV4cG9ydCBjbGFzcyBGdW5jdGlvblRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IgKGNhbGxzaXRlTmFtZXMpIHtcbiAgICAgICAgdGhpcy50eXBlICAgICAgICAgID0gJ0Z1bmN0aW9uJztcbiAgICAgICAgdGhpcy5jYWxsc2l0ZU5hbWVzID0gY2FsbHNpdGVOYW1lcztcbiAgICB9XG5cbiAgICBzaG91bGRUcmFuc2Zvcm0gKHR5cGUpIHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICdmdW5jdGlvbic7XG4gICAgfVxuXG4gICAgdG9TZXJpYWxpemFibGUgKGZuKSB7XG4gICAgICAgIGNvbnN0IGNsaWVudEZuQnVpbGRlciA9IGZuW2Z1bmN0aW9uQnVpbGRlclN5bWJvbF07XG5cbiAgICAgICAgaWYgKGNsaWVudEZuQnVpbGRlcikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBmbkNvZGU6ICAgICAgIGNsaWVudEZuQnVpbGRlci5jb21waWxlZEZuQ29kZSxcbiAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXM6IGNsaWVudEZuQnVpbGRlci5nZXRGdW5jdGlvbkRlcGVuZGVuY2llcygpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmbkNvZGU6ICAgICAgIGNvbXBpbGVDbGllbnRGdW5jdGlvbihmbi50b1N0cmluZygpLCBudWxsLCB0aGlzLmNhbGxzaXRlTmFtZXMuaW5zdGFudGlhdGlvbiwgdGhpcy5jYWxsc2l0ZU5hbWVzLmV4ZWN1dGlvbiksXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXM6IHt9LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZyb21TZXJpYWxpemFibGUgKCkge1xuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNlbGVjdG9yTm9kZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICB0aGlzLnR5cGUgPSAnTm9kZSc7XG4gICAgfVxuXG4gICAgc2hvdWxkVHJhbnNmb3JtICgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZyb21TZXJpYWxpemFibGUgKG5vZGVTbmFwc2hvdCkge1xuICAgICAgICByZXR1cm4gbm9kZVNuYXBzaG90O1xuICAgIH1cbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGljYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQtZnVuY3Rpb25zL3JlcGxpY2F0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbUNBQWtDO0FBQ2xDLDREQUFvQztBQUNwQyxzRUFBcUQ7QUFDckQsa0dBQXdFO0FBRXhFLFNBQWdCLGdCQUFnQixDQUFFLFVBQVU7SUFDeEMsNkNBQTZDO0lBQzdDLDRDQUE0QztJQUM1Qyx3REFBd0Q7SUFDeEQsa0RBQWtEO0lBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksb0JBQVUsQ0FBQztRQUM5QixTQUFTLEVBQUksaUJBQVE7UUFDckIsV0FBVyxFQUFFLGlCQUFRO0tBQ3hCLENBQUMsQ0FBQztJQUVILE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBWEQsNENBV0M7QUFFRCx3QkFBd0I7QUFDeEIsTUFBYSxpQkFBaUI7SUFDMUIsWUFBYSxhQUFhO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQVksVUFBVSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlLENBQUUsSUFBSTtRQUNqQixPQUFPLElBQUksS0FBSyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELGNBQWMsQ0FBRSxFQUFFO1FBQ2QsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLHdCQUFxQixDQUFDLENBQUM7UUFFbEQsSUFBSSxlQUFlLEVBQUU7WUFDakIsT0FBTztnQkFDSCxNQUFNLEVBQVEsZUFBZSxDQUFDLGNBQWM7Z0JBQzVDLFlBQVksRUFBRSxlQUFlLENBQUMsdUJBQXVCLEVBQUU7YUFDMUQsQ0FBQztTQUNMO1FBRUQsT0FBTztZQUNILE1BQU0sRUFBUSxJQUFBLGlDQUFxQixFQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDeEgsWUFBWSxFQUFFLEVBQUU7U0FDbkIsQ0FBQztJQUNOLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FDSjtBQTdCRCw4Q0E2QkM7QUFFRCxNQUFhLHFCQUFxQjtJQUM5QjtRQUNJLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFlBQVk7UUFDMUIsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztDQUNKO0FBWkQsc0RBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpZGVudGl0eSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgUmVwbGljYXRvciBmcm9tICdyZXBsaWNhdG9yJztcbmltcG9ydCBmdW5jdGlvbkJ1aWxkZXJTeW1ib2wgZnJvbSAnLi9idWlsZGVyLXN5bWJvbCc7XG5pbXBvcnQgY29tcGlsZUNsaWVudEZ1bmN0aW9uIGZyb20gJy4uL2NvbXBpbGVyL2NvbXBpbGUtY2xpZW50LWZ1bmN0aW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlcGxpY2F0b3IgKHRyYW5zZm9ybXMpIHtcbiAgICAvLyBOT1RFOiB3ZSB3aWxsIHNlcmlhbGl6ZSByZXBsaWNhdG9yIHJlc3VsdHNcbiAgICAvLyB0byBKU09OIHdpdGggYSBjb21tYW5kIG9yIGNvbW1hbmQgcmVzdWx0LlxuICAgIC8vIFRoZXJlZm9yZSB0aGVyZSBpcyBubyBuZWVkIHRvIGRvIGFkZGl0aW9uYWwgam9iIGhlcmUsXG4gICAgLy8gc28gd2UgdXNlIGlkZW50aXR5IGZ1bmN0aW9ucyBmb3Igc2VyaWFsaXphdGlvbi5cbiAgICBjb25zdCByZXBsaWNhdG9yID0gbmV3IFJlcGxpY2F0b3Ioe1xuICAgICAgICBzZXJpYWxpemU6ICAgaWRlbnRpdHksXG4gICAgICAgIGRlc2VyaWFsaXplOiBpZGVudGl0eSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXBsaWNhdG9yLmFkZFRyYW5zZm9ybXModHJhbnNmb3Jtcyk7XG59XG5cbi8vIFJlcGxpY2F0b3IgdHJhbnNmb3Jtc1xuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvciAoY2FsbHNpdGVOYW1lcykge1xuICAgICAgICB0aGlzLnR5cGUgICAgICAgICAgPSAnRnVuY3Rpb24nO1xuICAgICAgICB0aGlzLmNhbGxzaXRlTmFtZXMgPSBjYWxsc2l0ZU5hbWVzO1xuICAgIH1cblxuICAgIHNob3VsZFRyYW5zZm9ybSAodHlwZSkge1xuICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ2Z1bmN0aW9uJztcbiAgICB9XG5cbiAgICB0b1NlcmlhbGl6YWJsZSAoZm4pIHtcbiAgICAgICAgY29uc3QgY2xpZW50Rm5CdWlsZGVyID0gZm5bZnVuY3Rpb25CdWlsZGVyU3ltYm9sXTtcblxuICAgICAgICBpZiAoY2xpZW50Rm5CdWlsZGVyKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGZuQ29kZTogICAgICAgY2xpZW50Rm5CdWlsZGVyLmNvbXBpbGVkRm5Db2RlLFxuICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogY2xpZW50Rm5CdWlsZGVyLmdldEZ1bmN0aW9uRGVwZW5kZW5jaWVzKCksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZuQ29kZTogICAgICAgY29tcGlsZUNsaWVudEZ1bmN0aW9uKGZuLnRvU3RyaW5nKCksIG51bGwsIHRoaXMuY2FsbHNpdGVOYW1lcy5pbnN0YW50aWF0aW9uLCB0aGlzLmNhbGxzaXRlTmFtZXMuZXhlY3V0aW9uKSxcbiAgICAgICAgICAgIGRlcGVuZGVuY2llczoge30sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZnJvbVNlcmlhbGl6YWJsZSAoKSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2VsZWN0b3JOb2RlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHRoaXMudHlwZSA9ICdOb2RlJztcbiAgICB9XG5cbiAgICBzaG91bGRUcmFuc2Zvcm0gKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZnJvbVNlcmlhbGl6YWJsZSAobm9kZVNuYXBzaG90KSB7XG4gICAgICAgIHJldHVybiBub2RlU25hcHNob3Q7XG4gICAgfVxufVxuIl19
@@ -15,8 +15,8 @@ exports.default = {
15
15
  get isSync() {
16
16
  if (this.forcedSyncMode)
17
17
  return true;
18
- return is_repl_1.default();
18
+ return (0, is_repl_1.default)();
19
19
  },
20
20
  };
21
21
  module.exports = exports.default;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItYXBpLWV4ZWN1dGlvbi1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC1mdW5jdGlvbnMvc2VsZWN0b3ItYXBpLWV4ZWN1dGlvbi1tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0RBQXNDO0FBR3RDLGtCQUFlO0lBQ1gsY0FBYyxFQUFFLEtBQUs7SUFFckIsU0FBUztRQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLElBQUksSUFBSSxDQUFDLGNBQWM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFFaEIsT0FBTyxpQkFBTSxFQUFFLENBQUM7SUFDcEIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNSRVBMIGZyb20gJy4uL3V0aWxzL2lzLXJlcGwnO1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBmb3JjZWRTeW5jTW9kZTogZmFsc2UsXG5cbiAgICBmb3JjZVN5bmMgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcmNlZFN5bmNNb2RlID0gdHJ1ZTtcbiAgICB9LFxuXG4gICAgcmVzZXRGb3JjZWRTeW5jICgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JjZWRTeW5jTW9kZSA9IGZhbHNlO1xuICAgIH0sXG5cbiAgICBnZXQgaXNTeW5jICgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuZm9yY2VkU3luY01vZGUpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gaXNSRVBMKCk7XG4gICAgfSxcbn07XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItYXBpLWV4ZWN1dGlvbi1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC1mdW5jdGlvbnMvc2VsZWN0b3ItYXBpLWV4ZWN1dGlvbi1tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0RBQXNDO0FBR3RDLGtCQUFlO0lBQ1gsY0FBYyxFQUFFLEtBQUs7SUFFckIsU0FBUztRQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLElBQUksSUFBSSxDQUFDLGNBQWM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFFaEIsT0FBTyxJQUFBLGlCQUFNLEdBQUUsQ0FBQztJQUNwQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc1JFUEwgZnJvbSAnLi4vdXRpbHMvaXMtcmVwbCc7XG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIGZvcmNlZFN5bmNNb2RlOiBmYWxzZSxcblxuICAgIGZvcmNlU3luYyAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9yY2VkU3luY01vZGUgPSB0cnVlO1xuICAgIH0sXG5cbiAgICByZXNldEZvcmNlZFN5bmMgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcmNlZFN5bmNNb2RlID0gZmFsc2U7XG4gICAgfSxcblxuICAgIGdldCBpc1N5bmMgKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5mb3JjZWRTeW5jTW9kZSlcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgICAgIHJldHVybiBpc1JFUEwoKTtcbiAgICB9LFxufTtcbiJdfQ==