@brightcove/components-embed-code-modal 0.2.0 → 0.2.2

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.
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","sources":["webpack://@brightcove/components-embed-code-modal/webpack/universalModuleDefinition","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/regenerator/index.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@brightcove/player-embed-code/dist/brightcoveEmbedCode.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@brightcove/studio-api-services/api/players-api.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@brightcove/studio-api-services/api/remote-call.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@brightcove/studio-api-services/api/url-shortener-api.js","webpack://@brightcove/components-embed-code-modal/./src/styles/EmbedCode.sass","webpack://@brightcove/components-embed-code-modal/./src/styles/EmbedCodeModal.sass","webpack://@brightcove/components-embed-code-modal/./node_modules/css-loader/dist/runtime/api.js","webpack://@brightcove/components-embed-code-modal/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/focusManager.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/logger.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/notifyManager.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/onlineManager.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/query.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/queryCache.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/mutation.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/mutationCache.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/infiniteQueryBehavior.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/queryClient.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/retryer.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/subscribable.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/utils.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/reactBatchedUpdates.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/setBatchUpdatesFn.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/logger.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/setLogger.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/QueryClientProvider.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/queryObserver.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/QueryErrorResetBoundary.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/useBaseQuery.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/utils.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/useQuery.js","webpack://@brightcove/components-embed-code-modal/./node_modules/regenerator-runtime/runtime.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://@brightcove/components-embed-code-modal/external umd \"@brightcove/react-player-loader\"","webpack://@brightcove/components-embed-code-modal/external umd \"@brightcove/studio-components\"","webpack://@brightcove/components-embed-code-modal/external umd \"react\"","webpack://@brightcove/components-embed-code-modal/external umd \"react-dom\"","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@brightcove/components-embed-code-modal/webpack/bootstrap","webpack://@brightcove/components-embed-code-modal/webpack/runtime/compat get default export","webpack://@brightcove/components-embed-code-modal/webpack/runtime/define property getters","webpack://@brightcove/components-embed-code-modal/webpack/runtime/hasOwnProperty shorthand","webpack://@brightcove/components-embed-code-modal/webpack/runtime/make namespace object","webpack://@brightcove/components-embed-code-modal/webpack/runtime/nonce","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-i18next/dist/es/context.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-i18next/dist/es/utils.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://@brightcove/components-embed-code-modal/./src/js/utils/util.ts","webpack://@brightcove/components-embed-code-modal/./src/js/constants/baseUrls.ts","webpack://@brightcove/components-embed-code-modal/./src/styles/EmbedCode.sass?5c7e","webpack://@brightcove/components-embed-code-modal/./src/js/components/EmbedCopySection.tsx","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://@brightcove/components-embed-code-modal/./src/js/utils/call.ts","webpack://@brightcove/components-embed-code-modal/./src/js/services/players-api.ts","webpack://@brightcove/components-embed-code-modal/./src/js/hooks/useGetPlayers.ts","webpack://@brightcove/components-embed-code-modal/./src/js/types/EmbedCodeModalProps.ts","webpack://@brightcove/components-embed-code-modal/./src/js/constants/pluginsRegistry.ts","webpack://@brightcove/components-embed-code-modal/./src/js/constants/player.ts","webpack://@brightcove/components-embed-code-modal/./src/styles/EmbedCodeModal.sass?b5c4","webpack://@brightcove/components-embed-code-modal/./src/js/components/VideoPlayer.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/PlayerPreview.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/NoPlayerModal.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/ModalContainer.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/utils/addPluginsDataToPlayers.ts","webpack://@brightcove/components-embed-code-modal/./src/js/components/TitleWithTooltip.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/PlayersDropdown.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/TabsHeader.tsx","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://@brightcove/components-embed-code-modal/./src/js/components/TabsSection.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/services/url-shortener.ts","webpack://@brightcove/components-embed-code-modal/./src/js/components/VideoLinks.tsx","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/i18next/dist/esm/i18next.js","webpack://@brightcove/components-embed-code-modal/./src/js/i18n.ts","webpack://@brightcove/components-embed-code-modal/./src/js/EmbedCodeModal.tsx"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"@brightcove/studio-components\"), require(\"react-dom\"), require(\"@brightcove/react-player-loader\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"@brightcove/studio-components\", \"react-dom\", \"@brightcove/react-player-loader\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"@brightcove/studio-components\"), require(\"react-dom\"), require(\"@brightcove/react-player-loader\")) : factory(root[\"react\"], root[\"@brightcove/studio-components\"], root[\"react-dom\"], root[\"@brightcove/react-player-loader\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, (__WEBPACK_EXTERNAL_MODULE__156__, __WEBPACK_EXTERNAL_MODULE__66__, __WEBPACK_EXTERNAL_MODULE__111__, __WEBPACK_EXTERNAL_MODULE__494__) => {\nreturn ","module.exports = require(\"regenerator-runtime\");\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.brightcoveEmbedCode=t():e.brightcoveEmbedCode=t()}(this,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=2)}([function(e,t,r){(function(r){var n;t=e.exports=J,n=\"object\"==typeof r&&r.env&&r.env.NODE_DEBUG&&/\\bsemver\\b/i.test(r.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift(\"SEMVER\"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION=\"2.0.0\";var i=256,o=Number.MAX_SAFE_INTEGER||9007199254740991,a=t.re=[],s=t.src=[],c=0,u=c++;s[u]=\"0|[1-9]\\\\d*\";var l=c++;s[l]=\"[0-9]+\";var p=c++;s[p]=\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\";var f=c++;s[f]=\"(\"+s[u]+\")\\\\.(\"+s[u]+\")\\\\.(\"+s[u]+\")\";var d=c++;s[d]=\"(\"+s[l]+\")\\\\.(\"+s[l]+\")\\\\.(\"+s[l]+\")\";var h=c++;s[h]=\"(?:\"+s[u]+\"|\"+s[p]+\")\";var v=c++;s[v]=\"(?:\"+s[l]+\"|\"+s[p]+\")\";var m=c++;s[m]=\"(?:-(\"+s[h]+\"(?:\\\\.\"+s[h]+\")*))\";var y=c++;s[y]=\"(?:-?(\"+s[v]+\"(?:\\\\.\"+s[v]+\")*))\";var g=c++;s[g]=\"[0-9A-Za-z-]+\";var w=c++;s[w]=\"(?:\\\\+(\"+s[g]+\"(?:\\\\.\"+s[g]+\")*))\";var b=c++,I=\"v?\"+s[f]+s[m]+\"?\"+s[w]+\"?\";s[b]=\"^\"+I+\"$\";var j=\"[v=\\\\s]*\"+s[d]+s[y]+\"?\"+s[w]+\"?\",E=c++;s[E]=\"^\"+j+\"$\";var S=c++;s[S]=\"((?:<|>)?=?)\";var x=c++;s[x]=s[l]+\"|x|X|\\\\*\";var A=c++;s[A]=s[u]+\"|x|X|\\\\*\";var C=c++;s[C]=\"[v=\\\\s]*(\"+s[A]+\")(?:\\\\.(\"+s[A]+\")(?:\\\\.(\"+s[A]+\")(?:\"+s[m]+\")?\"+s[w]+\"?)?)?\";var T=c++;s[T]=\"[v=\\\\s]*(\"+s[x]+\")(?:\\\\.(\"+s[x]+\")(?:\\\\.(\"+s[x]+\")(?:\"+s[y]+\")?\"+s[w]+\"?)?)?\";var P=c++;s[P]=\"^\"+s[S]+\"\\\\s*\"+s[C]+\"$\";var R=c++;s[R]=\"^\"+s[S]+\"\\\\s*\"+s[T]+\"$\";var $=c++;s[$]=\"(?:^|[^\\\\d])(\\\\d{1,16})(?:\\\\.(\\\\d{1,16}))?(?:\\\\.(\\\\d{1,16}))?(?:$|[^\\\\d])\";var O=c++;s[O]=\"(?:~>?)\";var q=c++;s[q]=\"(\\\\s*)\"+s[O]+\"\\\\s+\",a[q]=new RegExp(s[q],\"g\");var k=c++;s[k]=\"^\"+s[O]+s[C]+\"$\";var M=c++;s[M]=\"^\"+s[O]+s[T]+\"$\";var L=c++;s[L]=\"(?:\\\\^)\";var V=c++;s[V]=\"(\\\\s*)\"+s[L]+\"\\\\s+\",a[V]=new RegExp(s[V],\"g\");var z=c++;s[z]=\"^\"+s[L]+s[C]+\"$\";var B=c++;s[B]=\"^\"+s[L]+s[T]+\"$\";var _=c++;s[_]=\"^\"+s[S]+\"\\\\s*(\"+j+\")$|^$\";var N=c++;s[N]=\"^\"+s[S]+\"\\\\s*(\"+I+\")$|^$\";var D=c++;s[D]=\"(\\\\s*)\"+s[S]+\"\\\\s*(\"+j+\"|\"+s[C]+\")\",a[D]=new RegExp(s[D],\"g\");var U=c++;s[U]=\"^\\\\s*(\"+s[C]+\")\\\\s+-\\\\s+(\"+s[C]+\")\\\\s*$\";var H=c++;s[H]=\"^\\\\s*(\"+s[T]+\")\\\\s+-\\\\s+(\"+s[T]+\")\\\\s*$\";var F=c++;s[F]=\"(<|>)?=?\\\\s*\\\\*\";for(var X=0;X<35;X++)n(X,s[X]),a[X]||(a[X]=new RegExp(s[X]));function G(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof J)return e;if(\"string\"!=typeof e)return null;if(e.length>i)return null;if(!(t.loose?a[E]:a[b]).test(e))return null;try{return new J(e,t)}catch(e){return null}}function J(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof J){if(e.loose===t.loose)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \"+e);if(e.length>i)throw new TypeError(\"version is longer than \"+i+\" characters\");if(!(this instanceof J))return new J(e,t);n(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose;var r=e.trim().match(t.loose?a[E]:a[b]);if(!r)throw new TypeError(\"Invalid Version: \"+e);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>o||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>o||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>o||this.patch<0)throw new TypeError(\"Invalid patch version\");r[4]?this.prerelease=r[4].split(\".\").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t<o)return t}return e}):this.prerelease=[],this.build=r[5]?r[5].split(\".\"):[],this.format()}t.parse=G,t.valid=function(e,t){var r=G(e,t);return r?r.version:null},t.clean=function(e,t){var r=G(e.trim().replace(/^[=v]+/,\"\"),t);return r?r.version:null},t.SemVer=J,J.prototype.format=function(){return this.version=this.major+\".\"+this.minor+\".\"+this.patch,this.prerelease.length&&(this.version+=\"-\"+this.prerelease.join(\".\")),this.version},J.prototype.toString=function(){return this.version},J.prototype.compare=function(e){return n(\"SemVer.compare\",this.version,this.options,e),e instanceof J||(e=new J(e,this.options)),this.compareMain(e)||this.comparePre(e)},J.prototype.compareMain=function(e){return e instanceof J||(e=new J(e,this.options)),Y(this.major,e.major)||Y(this.minor,e.minor)||Y(this.patch,e.patch)},J.prototype.comparePre=function(e){if(e instanceof J||(e=new J(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;var t=0;do{var r=this.prerelease[t],i=e.prerelease[t];if(n(\"prerelease compare\",t,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return Y(r,i)}while(++t)},J.prototype.compareBuild=function(e){e instanceof J||(e=new J(e,this.options));var t=0;do{var r=this.build[t],i=e.build[t];if(n(\"prerelease compare\",t,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return Y(r,i)}while(++t)},J.prototype.inc=function(e,t){switch(e){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",t);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",t);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"prerelease\":0===this.prerelease.length&&this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"major\":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case\"pre\":if(0===this.prerelease.length)this.prerelease=[0];else{for(var r=this.prerelease.length;--r>=0;)\"number\"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \"+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,r,n){\"string\"==typeof r&&(n=r,r=void 0);try{return new J(e,r).inc(t,n).version}catch(e){return null}},t.diff=function(e,t){if(ee(e,t))return null;var r=G(e),n=G(t),i=\"\";if(r.prerelease.length||n.prerelease.length){i=\"pre\";var o=\"prerelease\"}for(var a in r)if((\"major\"===a||\"minor\"===a||\"patch\"===a)&&r[a]!==n[a])return i+a;return o},t.compareIdentifiers=Y;var Z=/^[0-9]+$/;function Y(e,t){var r=Z.test(e),n=Z.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e<t?-1:1}function K(e,t,r){return new J(e,r).compare(new J(t,r))}function Q(e,t,r){return K(e,t,r)>0}function W(e,t,r){return K(e,t,r)<0}function ee(e,t,r){return 0===K(e,t,r)}function te(e,t,r){return 0!==K(e,t,r)}function re(e,t,r){return K(e,t,r)>=0}function ne(e,t,r){return K(e,t,r)<=0}function ie(e,t,r,n){switch(t){case\"===\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e===r;case\"!==\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e!==r;case\"\":case\"=\":case\"==\":return ee(e,r,n);case\"!=\":return te(e,r,n);case\">\":return Q(e,r,n);case\">=\":return re(e,r,n);case\"<\":return W(e,r,n);case\"<=\":return ne(e,r,n);default:throw new TypeError(\"Invalid operator: \"+t)}}function oe(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof oe))return new oe(e,t);n(\"comparator\",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===ae?this.value=\"\":this.value=this.operator+this.semver.version,n(\"comp\",this)}t.rcompareIdentifiers=function(e,t){return Y(t,e)},t.major=function(e,t){return new J(e,t).major},t.minor=function(e,t){return new J(e,t).minor},t.patch=function(e,t){return new J(e,t).patch},t.compare=K,t.compareLoose=function(e,t){return K(e,t,!0)},t.compareBuild=function(e,t,r){var n=new J(e,r),i=new J(t,r);return n.compare(i)||n.compareBuild(i)},t.rcompare=function(e,t,r){return K(t,e,r)},t.sort=function(e,r){return e.sort(function(e,n){return t.compareBuild(e,n,r)})},t.rsort=function(e,r){return e.sort(function(e,n){return t.compareBuild(n,e,r)})},t.gt=Q,t.lt=W,t.eq=ee,t.neq=te,t.gte=re,t.lte=ne,t.cmp=ie,t.Comparator=oe;var ae={};function se(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof se)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new se(e.raw,t);if(e instanceof oe)return new se(e.value,t);if(!(this instanceof se))return new se(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\\s*\\|\\|\\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length}),!this.set.length)throw new TypeError(\"Invalid SemVer Range: \"+e);this.format()}function ce(e,t){for(var r=!0,n=e.slice(),i=n.pop();r&&n.length;)r=n.every(function(e){return i.intersects(e,t)}),i=n.pop();return r}function ue(e){return!e||\"x\"===e.toLowerCase()||\"*\"===e}function le(e,t,r,n,i,o,a,s,c,u,l,p,f){return((t=ue(r)?\"\":ue(n)?\">=\"+r+\".0.0\":ue(i)?\">=\"+r+\".\"+n+\".0\":\">=\"+t)+\" \"+(s=ue(c)?\"\":ue(u)?\"<\"+(+c+1)+\".0.0\":ue(l)?\"<\"+c+\".\"+(+u+1)+\".0\":p?\"<=\"+c+\".\"+u+\".\"+l+\"-\"+p:\"<=\"+s)).trim()}function pe(e,t,r){for(var i=0;i<e.length;i++)if(!e[i].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(i=0;i<e.length;i++)if(n(e[i].semver),e[i].semver!==ae&&e[i].semver.prerelease.length>0){var o=e[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function fe(e,t,r){try{t=new se(t,r)}catch(e){return!1}return t.test(e)}function de(e,t,r,n){var i,o,a,s,c;switch(e=new J(e,n),t=new se(t,n),r){case\">\":i=Q,o=ne,a=W,s=\">\",c=\">=\";break;case\"<\":i=W,o=re,a=Q,s=\"<\",c=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(fe(e,t,n))return!1;for(var u=0;u<t.set.length;++u){var l=t.set[u],p=null,f=null;if(l.forEach(function(e){e.semver===ae&&(e=new oe(\">=0.0.0\")),p=p||e,f=f||e,i(e.semver,p.semver,n)?p=e:a(e.semver,f.semver,n)&&(f=e)}),p.operator===s||p.operator===c)return!1;if((!f.operator||f.operator===s)&&o(e,f.semver))return!1;if(f.operator===c&&a(e,f.semver))return!1}return!0}oe.prototype.parse=function(e){var t=this.options.loose?a[_]:a[N],r=e.match(t);if(!r)throw new TypeError(\"Invalid comparator: \"+e);this.operator=void 0!==r[1]?r[1]:\"\",\"=\"===this.operator&&(this.operator=\"\"),r[2]?this.semver=new J(r[2],this.options.loose):this.semver=ae},oe.prototype.toString=function(){return this.value},oe.prototype.test=function(e){if(n(\"Comparator.test\",e,this.options.loose),this.semver===ae||e===ae)return!0;if(\"string\"==typeof e)try{e=new J(e,this.options)}catch(e){return!1}return ie(e,this.operator,this.semver,this.options)},oe.prototype.intersects=function(e,t){if(!(e instanceof oe))throw new TypeError(\"a Comparator is required\");var r;if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),\"\"===this.operator)return\"\"===this.value||(r=new se(e.value,t),fe(this.value,r,t));if(\"\"===e.operator)return\"\"===e.value||(r=new se(this.value,t),fe(e.semver,r,t));var n=!(\">=\"!==this.operator&&\">\"!==this.operator||\">=\"!==e.operator&&\">\"!==e.operator),i=!(\"<=\"!==this.operator&&\"<\"!==this.operator||\"<=\"!==e.operator&&\"<\"!==e.operator),o=this.semver.version===e.semver.version,a=!(\">=\"!==this.operator&&\"<=\"!==this.operator||\">=\"!==e.operator&&\"<=\"!==e.operator),s=ie(this.semver,\"<\",e.semver,t)&&(\">=\"===this.operator||\">\"===this.operator)&&(\"<=\"===e.operator||\"<\"===e.operator),c=ie(this.semver,\">\",e.semver,t)&&(\"<=\"===this.operator||\"<\"===this.operator)&&(\">=\"===e.operator||\">\"===e.operator);return n||i||o&&a||s||c},t.Range=se,se.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(\" \").trim()}).join(\"||\").trim(),this.range},se.prototype.toString=function(){return this.range},se.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var r=t?a[H]:a[U];e=e.replace(r,le),n(\"hyphen replace\",e),e=e.replace(a[D],\"$1$2$3\"),n(\"comparator trim\",e,a[D]),e=(e=(e=e.replace(a[q],\"$1~\")).replace(a[V],\"$1^\")).split(/\\s+/).join(\" \");var i=t?a[_]:a[N],o=e.split(\" \").map(function(e){return function(e,t){return n(\"comp\",e,t),e=function(e,t){return e.trim().split(/\\s+/).map(function(e){return function(e,t){n(\"caret\",e,t);var r=t.loose?a[B]:a[z];return e.replace(r,function(t,r,i,o,a){var s;return n(\"caret\",e,t,r,i,o,a),ue(r)?s=\"\":ue(i)?s=\">=\"+r+\".0.0 <\"+(+r+1)+\".0.0\":ue(o)?s=\"0\"===r?\">=\"+r+\".\"+i+\".0 <\"+r+\".\"+(+i+1)+\".0\":\">=\"+r+\".\"+i+\".0 <\"+(+r+1)+\".0.0\":a?(n(\"replaceCaret pr\",a),s=\"0\"===r?\"0\"===i?\">=\"+r+\".\"+i+\".\"+o+\"-\"+a+\" <\"+r+\".\"+i+\".\"+(+o+1):\">=\"+r+\".\"+i+\".\"+o+\"-\"+a+\" <\"+r+\".\"+(+i+1)+\".0\":\">=\"+r+\".\"+i+\".\"+o+\"-\"+a+\" <\"+(+r+1)+\".0.0\"):(n(\"no pr\"),s=\"0\"===r?\"0\"===i?\">=\"+r+\".\"+i+\".\"+o+\" <\"+r+\".\"+i+\".\"+(+o+1):\">=\"+r+\".\"+i+\".\"+o+\" <\"+r+\".\"+(+i+1)+\".0\":\">=\"+r+\".\"+i+\".\"+o+\" <\"+(+r+1)+\".0.0\"),n(\"caret return\",s),s})}(e,t)}).join(\" \")}(e,t),n(\"caret\",e),e=function(e,t){return e.trim().split(/\\s+/).map(function(e){return function(e,t){var r=t.loose?a[M]:a[k];return e.replace(r,function(t,r,i,o,a){var s;return n(\"tilde\",e,t,r,i,o,a),ue(r)?s=\"\":ue(i)?s=\">=\"+r+\".0.0 <\"+(+r+1)+\".0.0\":ue(o)?s=\">=\"+r+\".\"+i+\".0 <\"+r+\".\"+(+i+1)+\".0\":a?(n(\"replaceTilde pr\",a),s=\">=\"+r+\".\"+i+\".\"+o+\"-\"+a+\" <\"+r+\".\"+(+i+1)+\".0\"):s=\">=\"+r+\".\"+i+\".\"+o+\" <\"+r+\".\"+(+i+1)+\".0\",n(\"tilde return\",s),s})}(e,t)}).join(\" \")}(e,t),n(\"tildes\",e),e=function(e,t){return n(\"replaceXRanges\",e,t),e.split(/\\s+/).map(function(e){return function(e,t){e=e.trim();var r=t.loose?a[R]:a[P];return e.replace(r,function(t,r,i,o,a,s){n(\"xRange\",e,t,r,i,o,a,s);var c=ue(i),u=c||ue(o),l=u||ue(a),p=l;return\"=\"===r&&p&&(r=\"\"),c?t=\">\"===r||\"<\"===r?\"<0.0.0\":\"*\":r&&p?(u&&(o=0),a=0,\">\"===r?(r=\">=\",u?(i=+i+1,o=0,a=0):(o=+o+1,a=0)):\"<=\"===r&&(r=\"<\",u?i=+i+1:o=+o+1),t=r+i+\".\"+o+\".\"+a):u?t=\">=\"+i+\".0.0 <\"+(+i+1)+\".0.0\":l&&(t=\">=\"+i+\".\"+o+\".0 <\"+i+\".\"+(+o+1)+\".0\"),n(\"xRange return\",t),t})}(e,t)}).join(\" \")}(e,t),n(\"xrange\",e),e=function(e,t){return n(\"replaceStars\",e,t),e.trim().replace(a[F],\"\")}(e,t),n(\"stars\",e),e}(e,this.options)},this).join(\" \").split(/\\s+/);return this.options.loose&&(o=o.filter(function(e){return!!e.match(i)})),o=o.map(function(e){return new oe(e,this.options)},this)},se.prototype.intersects=function(e,t){if(!(e instanceof se))throw new TypeError(\"a Range is required\");return this.set.some(function(r){return ce(r,t)&&e.set.some(function(e){return ce(e,t)&&r.every(function(r){return e.every(function(e){return r.intersects(e,t)})})})})},t.toComparators=function(e,t){return new se(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(\" \").trim().split(\" \")})},se.prototype.test=function(e){if(!e)return!1;if(\"string\"==typeof e)try{e=new J(e,this.options)}catch(e){return!1}for(var t=0;t<this.set.length;t++)if(pe(this.set[t],e,this.options))return!0;return!1},t.satisfies=fe,t.maxSatisfying=function(e,t,r){var n=null,i=null;try{var o=new se(t,r)}catch(e){return null}return e.forEach(function(e){o.test(e)&&(n&&-1!==i.compare(e)||(i=new J(n=e,r)))}),n},t.minSatisfying=function(e,t,r){var n=null,i=null;try{var o=new se(t,r)}catch(e){return null}return e.forEach(function(e){o.test(e)&&(n&&1!==i.compare(e)||(i=new J(n=e,r)))}),n},t.minVersion=function(e,t){e=new se(e,t);var r=new J(\"0.0.0\");if(e.test(r))return r;if(r=new J(\"0.0.0-0\"),e.test(r))return r;r=null;for(var n=0;n<e.set.length;++n){var i=e.set[n];i.forEach(function(e){var t=new J(e.semver.version);switch(e.operator){case\">\":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case\"\":case\">=\":r&&!Q(r,t)||(r=t);break;case\"<\":case\"<=\":break;default:throw new Error(\"Unexpected operation: \"+e.operator)}})}if(r&&e.test(r))return r;return null},t.validRange=function(e,t){try{return new se(e,t).range||\"*\"}catch(e){return null}},t.ltr=function(e,t,r){return de(e,t,\"<\",r)},t.gtr=function(e,t,r){return de(e,t,\">\",r)},t.outside=de,t.prerelease=function(e,t){var r=G(e,t);return r&&r.prerelease.length?r.prerelease:null},t.intersects=function(e,t,r){return e=new se(e,r),t=new se(t,r),e.intersects(t)},t.coerce=function(e,t){if(e instanceof J)return e;if(\"string\"!=typeof e)return null;var r=e.match(a[$]);if(null==r)return null;return G(r[1]+\".\"+(r[2]||\"0\")+\".\"+(r[3]||\"0\"),t)}}).call(this,r(1))},function(e,t){var r,n,i=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r=\"function\"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{n=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var c,u=[],l=!1,p=-1;function f(){l&&c&&(l=!1,c.length?u=c.concat(u):p=-1,u.length&&d())}function d(){if(!l){var e=s(f);l=!0;for(var t=u.length;t;){for(c=u,u=[];++p<t;)c&&c[p].run();p=-1,t=u.length}c=null,l=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function v(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new h(e,t)),1!==u.length||l||s(d)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=v,i.addListener=v,i.once=v,i.off=v,i.removeListener=v,i.removeAllListeners=v,i.emit=v,i.prependListener=v,i.prependOnceListener=v,i.listeners=function(e){return[]},i.binding=function(e){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(e){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},function(e,t,r){\"use strict\";r.r(t);\n/*! @name @brightcove/player-url @version 1.2.0 @license Apache-2.0 */\nvar n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i=[\"catalogSearch\",\"catalogSequence\"],o=[\"adConfigId\",\"applicationId\",\"catalogSearch\",\"catalogSequence\",\"playlistId\",\"playlistVideoId\",\"videoId\",\"interactivityProjectId\"],a=function(e){return Object.keys(e).filter(function(e){return-1!==o.indexOf(e)}).reduce(function(t,r){var n=function(e,t){if(e&&void 0!==e[t]){if(\"string\"!=typeof e[t]&&-1!==i.indexOf(t))try{return encodeURIComponent(JSON.stringify(e[t]))}catch(e){return}return encodeURIComponent(String(e[t]).trim())||void 0}}(e,r);return void 0!==n&&(t+=t?\"&\":\"?\",t+=encodeURIComponent(r)+\"=\"+n),t},\"\")},s=function(e){var t=e.accountId,r=e.base,i=void 0===r?\"https://players.brightcove.net\":r,o=e.playerId,s=void 0===o?\"default\":o,c=e.embedId,u=void 0===c?\"default\":c,l=e.iframe,p=void 0!==l&&l,f=e.minified,d=void 0===f||f,h=e.queryParams,v=void 0===h?null:h,m=\"\";p?m+=\"html\":(d&&(m+=\"min.\"),m+=\"js\"),\"/\"===i.charAt(i.length-1)&&(i=i.substring(0,i.length-1));var y=\"\";return p&&v&&\"object\"===(void 0===v?\"undefined\":n(v))&&(y=a(v)),i+\"/\"+(t=encodeURIComponent(t))+\"/\"+(s=encodeURIComponent(s))+\"_\"+(u=encodeURIComponent(u))+\"/index.\"+m+y};s.VERSION=\"1.2.0\";var c=s,u={playerId:\"default\",embedId:\"default\",iframe:!1,includeScriptElement:!0,minified:!0,returnDomElement:!1,preview:!1,playlistElement:!1,legacyPlaylistElement:!1,playlistIsHorizontal:!0,formatter:function(e){return e},width:960,height:540,units:\"px\",responsive:!0,applicationId:\"\",allowFullscreen:!0,allowEncryptedMedia:!0,pictureInPicture:!1,responsiveHeight:\"56.25%\"};function l(e,t){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);for(var i in t)t.hasOwnProperty(i)&&(r[i]=t[i]);return t.responsive&&!t.width&&(r.width=100,r.units=\"%\"),r}var p={createIframeEmbedCode:function(e,t){t=l(u,t);var r,n=e.createElement(\"div\"),i=e.createElement(\"iframe\");if(t.preview){r=(t.urlBase?t.urlBase:\"//preview-players.brightcove.net\")+\"/v2/accounts/\"+t.accountId+\"/players/\"+t.playerId+\"/preview/embeds/\"+t.embedId+\"/master/index.html\",t.videoId&&(r+=\"?videoId=\"+t.videoId),t.interactivityProjectId&&(r+=\"?interactivityProjectId=\"+t.interactivityProjectId)}else{var o={accountId:t.accountId,playerId:t.playerId,embedId:t.embedId,iframe:!0,minified:t.minified,queryParams:{videoId:t.videoId,playlistId:t.playlistId,interactivityProjectId:t.interactivityProjectId,adConfigId:t.adConfigId,applicationId:t.applicationId,catalogSearch:t.catalogSearch,catalogSequence:t.catalogSequence}};t.urlBase&&(o.base=t.urlBase),r=c(o)}if(t.returnDomElement?i.setAttribute(\"src\",r):i.setAttribute(\"fzrsbrxzyeajgdaxuxqu\",r),t.allowFullscreen&&i.setAttribute(\"allowfullscreen\",\"\"),t.allowEncryptedMedia&&i.setAttribute(\"allow\",\"encrypted-media\"),t.responsive){var a=e.createElement(\"div\"),s=e.createElement(\"div\");a.setAttribute(\"style\",\"position: relative; display: block; max-width: \".concat(t.width).concat(t.units,\";\")),s.setAttribute(\"style\",\"padding-top: \".concat(t.responsiveHeight,\";\")),i.setAttribute(\"style\",\"position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; width: 100%; height: 100%;\"),n.appendChild(a),a.appendChild(s),s.appendChild(i)}else\"px\"!==t.units?i.setAttribute(\"style\",\"width: \".concat(t.width).concat(t.units,\"; height: \").concat(t.height).concat(t.units,\";\")):(i.setAttribute(\"width\",t.width),i.setAttribute(\"height\",t.height)),n.appendChild(i);return t.returnDomElement?n:t.formatter(n.innerHTML.replace(\"fzrsbrxzyeajgdaxuxqu\",\"src\")).replace(\"&amp;\",\"&\")}},f=r(0),d=r.n(f);function h(e){return(h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var v={createInpageEmbedCode:function(e,t){if((t=l(u,t)).preview)throw new Error(\"You cannot preview an in-page embed\");var r,n=e.createElement(\"div\"),i=e.createElement(\"div\");t.playerVersion&&d.a.gt(\"6.11.0\",t.playerVersion)?(r=e.createElement(\"video\")).classList.add(\"video-js\"):r=e.createElement(\"video-js\");if(r.setAttribute(\"data-account\",t.accountId),r.setAttribute(\"data-player\",t.playerId),r.setAttribute(\"data-embed\",t.embedId),r.setAttribute(\"controls\",\"\"),void 0!==t.videoId&&r.setAttribute(\"data-video-id\",t.videoId),void 0!==t.playlistId&&r.setAttribute(\"data-playlist-id\",t.playlistId),void 0!==t.interactivityProjectId&&r.setAttribute(\"data-interactivity-project-id\",t.interactivityProjectId),void 0!==t.adConfigId&&r.setAttribute(\"data-ad-config-id\",t.adConfigId),void 0!==t.applicationId&&r.setAttribute(\"data-application-id\",t.applicationId),void 0!==t.catalogSearch&&(\"object\"===h(t.catalogSearch)?r.setAttribute(\"data-catalog-search\",JSON.stringify(t.catalogSearch)):r.setAttribute(\"data-catalog-search\",String(t.catalogSearch))),void 0!==t.catalogSequence&&r.setAttribute(\"data-catalog-sequence\",JSON.stringify(t.catalogSequence)),void 0!==t.audience&&\"object\"===h(t.audience)&&(void 0!==t.audience.integration&&r.setAttribute(\"data-bc-integrationid\",t.audience.integration),void 0!==t.audience.leadForm&&r.setAttribute(\"data-bc-leadformid\",t.audience.leadForm)),t.responsive){var o=e.createElement(\"style\");o.innerHTML=\"video-js.video-js.vjs-fluid:not(.vjs-audio-only-mode) {padding-top: \".concat(t.responsiveHeight,\";}\");var a=\"max-width: \".concat(t.width).concat(t.units,\";\");i.setAttribute(\"style\",a),i.appendChild(o)}else{var s=\"width: \".concat(t.width).concat(t.units,\";\");i.setAttribute(\"style\",s),r.setAttribute(\"width\",t.width),r.setAttribute(\"height\",t.height)}if(r.classList.add(\"vjs-fluid\"),i.appendChild(r),n.appendChild(i),t.pictureInPicture){var p=e.createElement(\"div\");p.classList.add(\"vjs-pip-container\"),p.appendChild(n.firstChild),n.appendChild(p)}if(t.playlistElement)if(t.playlistIsHorizontal){var f=e.createElement(\"div\");f.setAttribute(\"class\",\"vjs-playlist\"),i.appendChild(f)}else i.classList.add(\"vjs-playlist-player-container\");if(t.includeScriptElement){var v=e.createElement(\"script\"),m={accountId:t.accountId,playerId:t.playerId,embedId:t.embedId,minified:t.minified};t.urlBase&&(m.base=t.urlBase),t.returnDomElement?v.setAttribute(\"src\",c(m)):v.setAttribute(\"fzrsbrxzyeajgdaxuxqu\",c(m)),n.appendChild(v)}if(t.legacyPlaylistElement&&!t.playlistElement){var y=e.createElement(\"ol\");y.setAttribute(\"class\",\"vjs-playlist\"),n.appendChild(y)}return t.returnDomElement?n:t.formatter(n.innerHTML.replace(\"fzrsbrxzyeajgdaxuxqu\",\"src\"))}};function m(e){if(void 0===e)throw new Error(\"options object is required\");if(void 0===e.accountId)throw new Error(\"accountId is required\");if(!e.document&&\"undefined\"==typeof window)throw new Error(\"No document object found. If you are running this project outside of a browser, pass a `document` option using a library such as jsdom.\");var t=void 0!==e.document?e.document:window.document;return e.iframe?p.createIframeEmbedCode(t,e):v.createInpageEmbedCode(t,e)}r.d(t,\"default\",function(){return m})}]).default});","\"use strict\";\n\nexports.__esModule = true;\nexports.updatePlayerConfiguration = exports.getPlayerConfiguration = exports.getAllPlayers = exports.standardArgs = void 0;\n\nvar _remoteCall = require(\"./remote-call\");\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar standardArgs = function standardArgs(_ref) {\n var apiConfig = _ref.apiConfig;\n return {\n origin: (0, _remoteCall.getPlayersOrigin)(apiConfig),\n accountId: (0, _remoteCall.getAccountId)(apiConfig)\n };\n};\n\nexports.standardArgs = standardArgs;\n\nvar pathForPlayerRequests = function pathForPlayerRequests(_ref2) {\n var origin = _ref2.origin,\n accountId = _ref2.accountId;\n return origin + \"/v1/accounts/\" + accountId + \"/players\";\n};\n\nvar pathForV2PlayerRequests = function pathForV2PlayerRequests(_ref3) {\n var origin = _ref3.origin,\n accountId = _ref3.accountId,\n playerId = _ref3.playerId;\n return origin + \"/v2/accounts/\" + accountId + \"/players/\" + playerId;\n};\n\nvar pathForV2PlayerConfigs = function pathForV2PlayerConfigs(_ref4) {\n var origin = _ref4.origin,\n accountId = _ref4.accountId,\n playerId = _ref4.playerId;\n return origin + \"/v2/accounts/\" + accountId + \"/players/\" + playerId + \"/configuration\";\n};\n\nvar getAllPlayers = function getAllPlayers(_ref5) {\n var apiConfig = _ref5.apiConfig;\n var path = pathForPlayerRequests(_extends({}, standardArgs({\n apiConfig: apiConfig\n })));\n return (0, _remoteCall.buildGetForPath)({\n path: path\n });\n};\n\nexports.getAllPlayers = getAllPlayers;\n\nvar getPlayerConfiguration = function getPlayerConfiguration(_ref6) {\n var apiConfig = _ref6.apiConfig,\n playerId = _ref6.playerId;\n var path = pathForV2PlayerRequests(_extends({}, standardArgs({\n apiConfig: apiConfig\n }), {\n playerId: playerId\n }));\n return (0, _remoteCall.buildGetForPath)({\n path: path\n });\n};\n\nexports.getPlayerConfiguration = getPlayerConfiguration;\n\nvar updatePlayerConfiguration = function updatePlayerConfiguration(_ref7) {\n var apiConfig = _ref7.apiConfig,\n playerId = _ref7.playerId,\n data = _ref7.data;\n var path = pathForV2PlayerConfigs(_extends({}, standardArgs({\n apiConfig: apiConfig\n }), {\n playerId: playerId\n }));\n return (0, _remoteCall.buildPutForPath)({\n path: path,\n data: data\n });\n};\n\nexports.updatePlayerConfiguration = updatePlayerConfiguration;","\"use strict\";\n\nexports.__esModule = true;\nexports.buildDeleteForPath = exports.buildPostForPath = exports.buildFilePutForPath = exports.buildPutForPath = exports.buildPatchForPath = exports.buildGetWithParamsForPath = exports.buildGetForPath = exports.getAccountId = exports.getPlaybackRightsOrigin = exports.getPolicyOrigin = exports.getSocialAPIOrigin = exports.getDeliverySystemOrigin = exports.getAudienceOrigin = exports.getGalleryOrigin = exports.getOAuthVersion = exports.getOAuthOrigin = exports.getNuCMSOrigin = exports.getBeaconOrigin = exports.getAccountsOrigin = exports.getAuthIntegrationVersion = exports.getAuthIntegrationOrigin = exports.getSettingsOrigin = exports.getIngestOrigin = exports.getIngestProfilesOrigin = exports.getPlayersOrigin = exports.getAnalyticsOrigin = exports.getSavedSearchOrigin = exports.getliveSsaiOrigin = exports.getSSAIOrigin = exports.getCMSAPIOrigin = void 0;\n\nvar getCMSAPIOrigin = function getCMSAPIOrigin(apiConfig) {\n return apiConfig.api.cms.origin;\n};\n\nexports.getCMSAPIOrigin = getCMSAPIOrigin;\n\nvar getSSAIOrigin = function getSSAIOrigin(apiConfig) {\n return apiConfig.api['ssai'].origin;\n};\n\nexports.getSSAIOrigin = getSSAIOrigin;\n\nvar getliveSsaiOrigin = function getliveSsaiOrigin(apiConfig) {\n return apiConfig.api['alive'].origin;\n};\n\nexports.getliveSsaiOrigin = getliveSsaiOrigin;\n\nvar getSavedSearchOrigin = function getSavedSearchOrigin(apiConfig) {\n return apiConfig.api.savedsearch.origin;\n};\n\nexports.getSavedSearchOrigin = getSavedSearchOrigin;\n\nvar getAnalyticsOrigin = function getAnalyticsOrigin(apiConfig) {\n return apiConfig.api.analytics.origin;\n};\n\nexports.getAnalyticsOrigin = getAnalyticsOrigin;\n\nvar getPlayersOrigin = function getPlayersOrigin(apiConfig) {\n return apiConfig.api.players.origin;\n};\n\nexports.getPlayersOrigin = getPlayersOrigin;\n\nvar getIngestProfilesOrigin = function getIngestProfilesOrigin(apiConfig) {\n return apiConfig.api['ingest-profiles'].origin;\n};\n\nexports.getIngestProfilesOrigin = getIngestProfilesOrigin;\n\nvar getIngestOrigin = function getIngestOrigin(apiConfig) {\n return apiConfig.api.ingest.origin;\n};\n\nexports.getIngestOrigin = getIngestOrigin;\n\nvar getSettingsOrigin = function getSettingsOrigin(apiConfig) {\n return apiConfig.api['seti'].origin;\n};\n\nexports.getSettingsOrigin = getSettingsOrigin;\n\nvar getAuthIntegrationOrigin = function getAuthIntegrationOrigin(apiConfig) {\n return apiConfig.api['auth-integration'].origin;\n};\n\nexports.getAuthIntegrationOrigin = getAuthIntegrationOrigin;\n\nvar getAuthIntegrationVersion = function getAuthIntegrationVersion(apiConfig) {\n return apiConfig.api['auth-integration'].version;\n};\n\nexports.getAuthIntegrationVersion = getAuthIntegrationVersion;\n\nvar getAccountsOrigin = function getAccountsOrigin(apiConfig) {\n return apiConfig.api.accounts.origin;\n};\n\nexports.getAccountsOrigin = getAccountsOrigin;\n\nvar getBeaconOrigin = function getBeaconOrigin(apiConfig) {\n return apiConfig.api.beacon.origin;\n};\n\nexports.getBeaconOrigin = getBeaconOrigin;\n\nvar getNuCMSOrigin = function getNuCMSOrigin(apiConfig) {\n return apiConfig.api.nucms.origin;\n};\n\nexports.getNuCMSOrigin = getNuCMSOrigin;\n\nvar getOAuthOrigin = function getOAuthOrigin(apiConfig) {\n return apiConfig.api.oauth.origin;\n};\n\nexports.getOAuthOrigin = getOAuthOrigin;\n\nvar getOAuthVersion = function getOAuthVersion(apiConfig) {\n return apiConfig.api.oauth.version;\n};\n\nexports.getOAuthVersion = getOAuthVersion;\n\nvar getGalleryOrigin = function getGalleryOrigin(apiConfig) {\n var result = apiConfig.api.gallery ? apiConfig.api.gallery.origin : 'https://gallery.api.brightcove.com';\n return result;\n};\n\nexports.getGalleryOrigin = getGalleryOrigin;\n\nvar getAudienceOrigin = function getAudienceOrigin(apiConfig) {\n return apiConfig.api.audience.origin;\n};\n\nexports.getAudienceOrigin = getAudienceOrigin;\n\nvar getDeliverySystemOrigin = function getDeliverySystemOrigin(apiConfig) {\n return apiConfig.api.repos.origin;\n};\n\nexports.getDeliverySystemOrigin = getDeliverySystemOrigin;\n\nvar getSocialAPIOrigin = function getSocialAPIOrigin(apiConfig) {\n return apiConfig.api.social.origin;\n};\n\nexports.getSocialAPIOrigin = getSocialAPIOrigin;\n\nvar getPolicyOrigin = function getPolicyOrigin(apiConfig) {\n return apiConfig.api.policy.origin;\n};\n\nexports.getPolicyOrigin = getPolicyOrigin;\n\nvar getPlaybackRightsOrigin = function getPlaybackRightsOrigin(apiConfig) {\n return apiConfig.api['playback-rights'].origin;\n};\n\nexports.getPlaybackRightsOrigin = getPlaybackRightsOrigin;\n\nvar getAccountId = function getAccountId(apiConfig) {\n return apiConfig.publisherId;\n};\n\nexports.getAccountId = getAccountId;\n\nvar buildGetForPath = function buildGetForPath(_ref) {\n var path = _ref.path;\n return {\n path: path,\n method: 'GET'\n };\n};\n\nexports.buildGetForPath = buildGetForPath;\n\nvar buildGetWithParamsForPath = function buildGetWithParamsForPath(_ref2) {\n var path = _ref2.path,\n data = _ref2.data;\n var request = buildGetForPath({\n path: path\n });\n\n if (data) {\n var params = Object.keys(data).map(function (key) {\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(data[key]);\n });\n\n if (params.length) {\n request.path = request.path + \"?\" + params.join('&');\n }\n }\n\n return request;\n};\n\nexports.buildGetWithParamsForPath = buildGetWithParamsForPath;\n\nvar buildWithDataForPath = function buildWithDataForPath(_ref3) {\n var path = _ref3.path,\n data = _ref3.data,\n method = _ref3.method;\n return {\n path: path,\n method: method,\n data: JSON.stringify(data)\n };\n};\n\nvar buildWithFormDataForPath = function buildWithFormDataForPath(_ref4) {\n var path = _ref4.path,\n data = _ref4.data,\n headers = _ref4.headers,\n method = _ref4.method;\n return {\n path: path,\n method: method,\n data: data,\n headers: headers\n };\n};\n\nvar buildPatchForPath = function buildPatchForPath(_ref5) {\n var path = _ref5.path,\n data = _ref5.data;\n return buildWithDataForPath({\n method: 'PATCH',\n path: path,\n data: data\n });\n};\n\nexports.buildPatchForPath = buildPatchForPath;\n\nvar buildPutForPath = function buildPutForPath(_ref6) {\n var path = _ref6.path,\n data = _ref6.data;\n return buildWithDataForPath({\n method: 'PUT',\n path: path,\n data: data\n });\n};\n\nexports.buildPutForPath = buildPutForPath;\n\nvar buildFilePutForPath = function buildFilePutForPath(_ref7) {\n var path = _ref7.path,\n data = _ref7.data,\n headers = _ref7.headers;\n return buildWithFormDataForPath({\n method: 'PUT',\n path: path,\n data: data,\n headers: headers\n });\n};\n\nexports.buildFilePutForPath = buildFilePutForPath;\n\nvar buildPostForPath = function buildPostForPath(_ref8) {\n var path = _ref8.path,\n data = _ref8.data;\n return buildWithDataForPath({\n method: 'POST',\n path: path,\n data: data\n });\n};\n\nexports.buildPostForPath = buildPostForPath;\n\nvar buildDeleteForPath = function buildDeleteForPath(_ref9) {\n var path = _ref9.path;\n return {\n path: path,\n method: 'DELETE'\n };\n};\n\nexports.buildDeleteForPath = buildDeleteForPath;","\"use strict\";\n\nexports.__esModule = true;\nexports.getShortenedUrl = void 0;\n\nvar _remoteCall = require(\"./remote-call\");\n\nvar getShortenedUrl = function getShortenedUrl(_ref) {\n var longUrl = _ref.longUrl;\n return (0, _remoteCall.buildGetWithParamsForPath)({\n path: '/shortener/shorten',\n data: {\n longUrl: longUrl\n }\n });\n};\n\nexports.getShortenedUrl = getShortenedUrl;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".EmbedCode__hint--Fh40S{padding-top:2px}.EmbedCode__input--ZO6KQ{margin:0 !important;padding-bottom:4px !important}.EmbedCode__textArea--KNDhC{color:#aaa !important;background-color:#ddd !important;border:none !important;resize:none}.EmbedCode__copyInput--tkc7M{margin:0 !important;padding-bottom:4px !important}.EmbedCode__copyInput--tkc7M .EmbedCode__textAreaDimensions--N_Vil{height:210px;width:390px}.EmbedCode__helperText--gWEii{color:#999;font-size:14px}a.EmbedCode__copyLink--9tc06{text-decoration:none;cursor:pointer;padding-left:4px}.EmbedCode__hint--Fh40S{padding-top:2px}.EmbedCode__input--ZO6KQ{margin:0 !important;padding-bottom:4px !important}.EmbedCode__textArea--KNDhC{color:#8e9093 !important;background-color:#f2f2f3 !important;border:none !important;resize:none}.EmbedCode__copyInput--tkc7M{margin:0 !important;padding-bottom:4px !important}.EmbedCode__copyInput--tkc7M .EmbedCode__textAreaDimensions--N_Vil{height:210px;width:390px}.EmbedCode__helperText--gWEii{color:#4d5056;font-size:14px}a.EmbedCode__copyLink--9tc06{text-decoration:none;font-weight:700;cursor:pointer;padding-left:4px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/styles/EmbedCode.sass\"],\"names\":[],\"mappings\":\"AAIE,wBACE,eAAA,CACF,yBACE,mBAAA,CACA,6BAAA,CACF,4BACE,qBAAA,CACA,gCAAA,CACA,sBAAA,CACA,WAAA,CACF,6BACE,mBAAA,CACA,6BAAA,CACA,mEACE,YAAA,CACA,WAAA,CACJ,8BACE,UAAA,CACA,cAAA,CACF,6BACE,oBAAA,CAEA,cAAA,CACA,gBAAA,CAvBF,wBACE,eAAA,CACF,yBACE,mBAAA,CACA,6BAAA,CACF,4BACE,wBAAA,CACA,mCAAA,CACA,sBAAA,CACA,WAAA,CACF,6BACE,mBAAA,CACA,6BAAA,CACA,mEACE,YAAA,CACA,WAAA,CACJ,8BACE,aAAA,CACA,cAAA,CACF,6BACE,oBAAA,CACA,eAAA,CACA,cAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import './base.sass'\\n\\n@include themed() using ($theme)\\n // Override studio-components styles\\n .hint\\n padding-top: 2px\\n .input\\n margin: 0 !important\\n padding-bottom: 4px !important\\n .textArea\\n color: theme($theme, gray-35) !important\\n background-color: theme($theme, gray-20) !important\\n border: none !important\\n resize: none\\n .copyInput\\n margin: 0 !important\\n padding-bottom: 4px !important\\n .textAreaDimensions\\n height: 210px\\n width: 390px\\n .helperText\\n color: theme($theme, gray-40)\\n font-size: 14px\\n a.copyLink\\n text-decoration: none\\n font-weight: theme($theme, body-small-weight-bold)\\n cursor: pointer\\n padding-left: 4px\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"hint\": \"EmbedCode__hint--Fh40S\",\n\t\"input\": \"EmbedCode__input--ZO6KQ\",\n\t\"textArea\": \"EmbedCode__textArea--KNDhC\",\n\t\"copyInput\": \"EmbedCode__copyInput--tkc7M\",\n\t\"textAreaDimensions\": \"EmbedCode__textAreaDimensions--N_Vil\",\n\t\"helperText\": \"EmbedCode__helperText--gWEii\",\n\t\"copyLink\": \"EmbedCode__copyLink--9tc06\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".EmbedCodeModal__videoDetailsContainer--WP99B{margin-bottom:27px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__leftContent--BIBZB{width:540px;margin-right:43px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__rightContent--BDlYZ{flex-grow:1}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaData--f0wqn{margin-top:23px;padding:0}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__redHelperText--y3MVU{color:#d53c00;font-size:14px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaTitle--apmXI{color:#444;word-break:break-all}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__text--ayO8f,.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaId--GymNT{color:#999;font-size:.875rem;font-weight:400}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerSelectLabel--w3Ig6{font-family:Lato,Helvetica,Arial,sans-serif;font-size:.933rem;font-weight:700;line-height:24px;letter-spacing:normal;color:#666;padding:0 0 .4rem}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerSelect--rvojt{width:100%}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__getURLBtnContainer--MIRx8{display:inline-flex}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__getURLBtnSpinner--VxbOG{left:-5px;position:relative;margin-right:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaId--GymNT{margin-bottom:25px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__tooltip--vxe8W{margin-left:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__customPluginNotice--VQKaP{font-size:14px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR{margin-bottom:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR video-js{width:539px !important;height:303.2px !important}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR iframe{width:539px !important;height:303.2px !important}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__previewButton--CFh55{align-self:center}.EmbedCodeModal__videoDetailsContainer--WP99B{margin-bottom:27px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__leftContent--BIBZB{width:540px;margin-right:43px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__rightContent--BDlYZ{flex-grow:1}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaData--f0wqn{margin-top:23px;padding:0}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__redHelperText--y3MVU{color:#d33d00;font-size:14px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaTitle--apmXI{color:#01050e;font-size:1.333rem;font-weight:800;line-height:28px;word-break:break-all}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__text--ayO8f,.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaId--GymNT{color:#4d5056;font-size:.875rem;font-weight:normal}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerSelectLabel--w3Ig6{font-family:\\\"Public Sans\\\",sans-serif;font-size:.875rem;font-weight:700;line-height:20px;letter-spacing:auto;color:#01050e;padding:0 0 .4rem}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerSelect--rvojt{width:100%}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__getURLBtnContainer--MIRx8{display:inline-flex}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__getURLBtnSpinner--VxbOG{left:-5px;position:relative;margin-right:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaId--GymNT{margin-bottom:25px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__tooltip--vxe8W{margin-left:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__customPluginNotice--VQKaP{font-size:14px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR{margin-bottom:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR video-js{width:539px !important;height:303.2px !important}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR iframe{width:539px !important;height:303.2px !important}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__previewButton--CFh55{align-self:center}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/styles/EmbedCodeModal.sass\"],\"names\":[],\"mappings\":\"AAGE,8CACE,kBAAA,CACA,kFACE,WAAA,CACA,iBAAA,CACF,mFACE,WAAA,CACF,gFACE,eAAA,CACA,SAAA,CACF,oFACE,aAAA,CACA,cAAA,CACF,iFACE,UAAA,CAIA,oBAAA,CACF,yJACE,UAAA,CACA,iBAAA,CACA,eAAA,CACF,wFACE,2CAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,qBAAA,CACA,UAAA,CACA,iBAAA,CACF,mFACE,UAAA,CACF,yFACE,mBAAA,CACF,uFACE,SAAA,CACA,iBAAA,CACA,gBAAA,CACF,8EAEE,kBAAA,CACF,8EACE,eAAA,CACF,yFACE,cAAA,CACF,mFAII,iBAAA,CAHA,4FACE,sBAAA,CACA,yBAAA,CAEF,0FACE,sBAAA,CACA,yBAAA,CACN,oFACE,iBAAA,CAvDJ,8CACE,kBAAA,CACA,kFACE,WAAA,CACA,iBAAA,CACF,mFACE,WAAA,CACF,gFACE,eAAA,CACA,SAAA,CACF,oFACE,aAAA,CACA,cAAA,CACF,iFACE,aAAA,CACA,kBAAA,CACA,eAAA,CACA,gBAAA,CACA,oBAAA,CACF,yJACE,aAAA,CACA,iBAAA,CACA,kBAAA,CACF,wFACE,oCAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,mBAAA,CACA,aAAA,CACA,iBAAA,CACF,mFACE,UAAA,CACF,yFACE,mBAAA,CACF,uFACE,SAAA,CACA,iBAAA,CACA,gBAAA,CACF,8EAEE,kBAAA,CACF,8EACE,eAAA,CACF,yFACE,cAAA,CACF,mFAII,iBAAA,CAHA,4FACE,sBAAA,CACA,yBAAA,CAEF,0FACE,sBAAA,CACA,yBAAA,CACN,oFACE,iBAAA\",\"sourcesContent\":[\"@import './base.sass'\\n\\n@include themed() using ($theme)\\n .videoDetailsContainer\\n margin-bottom: 27px\\n .leftContent\\n width: 540px\\n margin-right: 43px\\n .rightContent\\n flex-grow: 1\\n .mediaData\\n margin-top: 23px\\n padding: 0\\n .redHelperText\\n color: theme($theme, red)\\n font-size: 14px\\n .mediaTitle\\n color: theme($theme, text-primary-dark)\\n font-size: theme($theme, heading-xs-size)\\n font-weight: theme($theme, heading-weight)\\n line-height: theme($theme, heading-xs-line-height)\\n word-break: break-all\\n .text\\n color: theme($theme, gray-40)\\n font-size: theme($theme, body-small-text-size)\\n font-weight: theme($theme, body-small-weight-normal)\\n .playerSelectLabel\\n font-family: theme($theme, label-font)\\n font-size: theme($theme, label-font-size)\\n font-weight: theme($theme, label-font-weight)\\n line-height: theme($theme, label-line-height)\\n letter-spacing: theme($theme, label-letter-spacing)\\n color: theme($theme, label-color)\\n padding: 0 0 .4rem\\n .playerSelect\\n width: 100%\\n .getURLBtnContainer\\n display: inline-flex\\n .getURLBtnSpinner\\n left: -5px\\n position: relative\\n margin-right: 8px\\n .mediaId\\n @extend .text\\n margin-bottom: 25px\\n .tooltip\\n margin-left: theme($theme, padding-sm)\\n .customPluginNotice\\n font-size: 14px\\n .playerLoader\\n video-js\\n width: 539px !important\\n height: 303.2px !important\\n margin-bottom: theme($theme, padding-sm)\\n iframe\\n width: 539px !important\\n height: 303.2px !important\\n .previewButton\\n align-self: center\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"videoDetailsContainer\": \"EmbedCodeModal__videoDetailsContainer--WP99B\",\n\t\"leftContent\": \"EmbedCodeModal__leftContent--BIBZB\",\n\t\"rightContent\": \"EmbedCodeModal__rightContent--BDlYZ\",\n\t\"mediaData\": \"EmbedCodeModal__mediaData--f0wqn\",\n\t\"redHelperText\": \"EmbedCodeModal__redHelperText--y3MVU\",\n\t\"mediaTitle\": \"EmbedCodeModal__mediaTitle--apmXI\",\n\t\"text\": \"EmbedCodeModal__text--ayO8f\",\n\t\"mediaId\": \"EmbedCodeModal__mediaId--GymNT\",\n\t\"playerSelectLabel\": \"EmbedCodeModal__playerSelectLabel--w3Ig6\",\n\t\"playerSelect\": \"EmbedCodeModal__playerSelect--rvojt\",\n\t\"getURLBtnContainer\": \"EmbedCodeModal__getURLBtnContainer--MIRx8\",\n\t\"getURLBtnSpinner\": \"EmbedCodeModal__getURLBtnSpinner--VxbOG\",\n\t\"tooltip\": \"EmbedCodeModal__tooltip--vxe8W\",\n\t\"customPluginNotice\": \"EmbedCodeModal__customPluginNotice--VQKaP\",\n\t\"playerLoader\": \"EmbedCodeModal__playerLoader--IgdsR\",\n\t\"previewButton\": \"EmbedCodeModal__previewButton--CFh55\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { Subscribable } from './subscribable';\nimport { isServer } from './utils';\nexport var FocusManager = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(FocusManager, _Subscribable);\n\n function FocusManager() {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n\n _this.setup = function (onFocus) {\n var _window;\n\n if (!isServer && ((_window = window) == null ? void 0 : _window.addEventListener)) {\n var listener = function listener() {\n return onFocus();\n }; // Listen to visibillitychange and focus\n\n\n window.addEventListener('visibilitychange', listener, false);\n window.addEventListener('focus', listener, false);\n return function () {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener);\n window.removeEventListener('focus', listener);\n };\n }\n };\n\n return _this;\n }\n\n var _proto = FocusManager.prototype;\n\n _proto.onSubscribe = function onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n };\n\n _proto.setEventListener = function setEventListener(setup) {\n var _this$cleanup2,\n _this2 = this;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(function (focused) {\n if (typeof focused === 'boolean') {\n _this2.setFocused(focused);\n } else {\n _this2.onFocus();\n }\n });\n };\n\n _proto.setFocused = function setFocused(focused) {\n this.focused = focused;\n\n if (focused) {\n this.onFocus();\n }\n };\n\n _proto.onFocus = function onFocus() {\n this.listeners.forEach(function (listener) {\n listener();\n });\n };\n\n _proto.isFocused = function isFocused() {\n if (typeof this.focused === 'boolean') {\n return this.focused;\n } // document global can be unavailable in react native\n\n\n if (typeof document === 'undefined') {\n return true;\n }\n\n return [undefined, 'visible', 'prerender'].includes(document.visibilityState);\n };\n\n return FocusManager;\n}(Subscribable);\nexport var focusManager = new FocusManager();","// TYPES\n// FUNCTIONS\nvar logger = console;\nexport function getLogger() {\n return logger;\n}\nexport function setLogger(newLogger) {\n logger = newLogger;\n}","import { scheduleMicrotask } from './utils'; // TYPES\n\n// CLASS\nexport var NotifyManager = /*#__PURE__*/function () {\n function NotifyManager() {\n this.queue = [];\n this.transactions = 0;\n\n this.notifyFn = function (callback) {\n callback();\n };\n\n this.batchNotifyFn = function (callback) {\n callback();\n };\n }\n\n var _proto = NotifyManager.prototype;\n\n _proto.batch = function batch(callback) {\n var result;\n this.transactions++;\n\n try {\n result = callback();\n } finally {\n this.transactions--;\n\n if (!this.transactions) {\n this.flush();\n }\n }\n\n return result;\n };\n\n _proto.schedule = function schedule(callback) {\n var _this = this;\n\n if (this.transactions) {\n this.queue.push(callback);\n } else {\n scheduleMicrotask(function () {\n _this.notifyFn(callback);\n });\n }\n }\n /**\n * All calls to the wrapped function will be batched.\n */\n ;\n\n _proto.batchCalls = function batchCalls(callback) {\n var _this2 = this;\n\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this2.schedule(function () {\n callback.apply(void 0, args);\n });\n };\n };\n\n _proto.flush = function flush() {\n var _this3 = this;\n\n var queue = this.queue;\n this.queue = [];\n\n if (queue.length) {\n scheduleMicrotask(function () {\n _this3.batchNotifyFn(function () {\n queue.forEach(function (callback) {\n _this3.notifyFn(callback);\n });\n });\n });\n }\n }\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n ;\n\n _proto.setNotifyFunction = function setNotifyFunction(fn) {\n this.notifyFn = fn;\n }\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n ;\n\n _proto.setBatchNotifyFunction = function setBatchNotifyFunction(fn) {\n this.batchNotifyFn = fn;\n };\n\n return NotifyManager;\n}(); // SINGLETON\n\nexport var notifyManager = new NotifyManager();","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { Subscribable } from './subscribable';\nimport { isServer } from './utils';\nexport var OnlineManager = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(OnlineManager, _Subscribable);\n\n function OnlineManager() {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n\n _this.setup = function (onOnline) {\n var _window;\n\n if (!isServer && ((_window = window) == null ? void 0 : _window.addEventListener)) {\n var listener = function listener() {\n return onOnline();\n }; // Listen to online\n\n\n window.addEventListener('online', listener, false);\n window.addEventListener('offline', listener, false);\n return function () {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', listener);\n window.removeEventListener('offline', listener);\n };\n }\n };\n\n return _this;\n }\n\n var _proto = OnlineManager.prototype;\n\n _proto.onSubscribe = function onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n };\n\n _proto.setEventListener = function setEventListener(setup) {\n var _this$cleanup2,\n _this2 = this;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(function (online) {\n if (typeof online === 'boolean') {\n _this2.setOnline(online);\n } else {\n _this2.onOnline();\n }\n });\n };\n\n _proto.setOnline = function setOnline(online) {\n this.online = online;\n\n if (online) {\n this.onOnline();\n }\n };\n\n _proto.onOnline = function onOnline() {\n this.listeners.forEach(function (listener) {\n listener();\n });\n };\n\n _proto.isOnline = function isOnline() {\n if (typeof this.online === 'boolean') {\n return this.online;\n }\n\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n\n return navigator.onLine;\n };\n\n return OnlineManager;\n}(Subscribable);\nexport var onlineManager = new OnlineManager();","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getAbortController, functionalUpdate, isValidTimeout, noop, replaceEqualDeep, timeUntilStale, ensureQueryKeyArray } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { getLogger } from './logger';\nimport { Retryer, isCancelledError } from './retryer'; // TYPES\n\n// CLASS\nexport var Query = /*#__PURE__*/function () {\n function Query(config) {\n this.abortSignalConsumed = false;\n this.hadObservers = false;\n this.defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.cache = config.cache;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.initialState = config.state || this.getDefaultState(this.options);\n this.state = this.initialState;\n this.meta = config.meta;\n this.scheduleGc();\n }\n\n var _proto = Query.prototype;\n\n _proto.setOptions = function setOptions(options) {\n var _this$options$cacheTi;\n\n this.options = _extends({}, this.defaultOptions, options);\n this.meta = options == null ? void 0 : options.meta; // Default to 5 minutes if not cache time is set\n\n this.cacheTime = Math.max(this.cacheTime || 0, (_this$options$cacheTi = this.options.cacheTime) != null ? _this$options$cacheTi : 5 * 60 * 1000);\n };\n\n _proto.setDefaultOptions = function setDefaultOptions(options) {\n this.defaultOptions = options;\n };\n\n _proto.scheduleGc = function scheduleGc() {\n var _this = this;\n\n this.clearGcTimeout();\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(function () {\n _this.optionalRemove();\n }, this.cacheTime);\n }\n };\n\n _proto.clearGcTimeout = function clearGcTimeout() {\n clearTimeout(this.gcTimeout);\n this.gcTimeout = undefined;\n };\n\n _proto.optionalRemove = function optionalRemove() {\n if (!this.observers.length) {\n if (this.state.isFetching) {\n if (this.hadObservers) {\n this.scheduleGc();\n }\n } else {\n this.cache.remove(this);\n }\n }\n };\n\n _proto.setData = function setData(updater, options) {\n var _this$options$isDataE, _this$options;\n\n var prevData = this.state.data; // Get the new data\n\n var data = functionalUpdate(updater, prevData); // Use prev data if an isDataEqual function is defined and returns `true`\n\n if ((_this$options$isDataE = (_this$options = this.options).isDataEqual) == null ? void 0 : _this$options$isDataE.call(_this$options, prevData, data)) {\n data = prevData;\n } else if (this.options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n data = replaceEqualDeep(prevData, data);\n } // Set data and mark it as cached\n\n\n this.dispatch({\n data: data,\n type: 'success',\n dataUpdatedAt: options == null ? void 0 : options.updatedAt\n });\n return data;\n };\n\n _proto.setState = function setState(state, setStateOptions) {\n this.dispatch({\n type: 'setState',\n state: state,\n setStateOptions: setStateOptions\n });\n };\n\n _proto.cancel = function cancel(options) {\n var _this$retryer;\n\n var promise = this.promise;\n (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n };\n\n _proto.destroy = function destroy() {\n this.clearGcTimeout();\n this.cancel({\n silent: true\n });\n };\n\n _proto.reset = function reset() {\n this.destroy();\n this.setState(this.initialState);\n };\n\n _proto.isActive = function isActive() {\n return this.observers.some(function (observer) {\n return observer.options.enabled !== false;\n });\n };\n\n _proto.isFetching = function isFetching() {\n return this.state.isFetching;\n };\n\n _proto.isStale = function isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.observers.some(function (observer) {\n return observer.getCurrentResult().isStale;\n });\n };\n\n _proto.isStaleByTime = function isStaleByTime(staleTime) {\n if (staleTime === void 0) {\n staleTime = 0;\n }\n\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n };\n\n _proto.onFocus = function onFocus() {\n var _this$retryer2;\n\n var observer = this.observers.find(function (x) {\n return x.shouldFetchOnWindowFocus();\n });\n\n if (observer) {\n observer.refetch();\n } // Continue fetch if currently paused\n\n\n (_this$retryer2 = this.retryer) == null ? void 0 : _this$retryer2.continue();\n };\n\n _proto.onOnline = function onOnline() {\n var _this$retryer3;\n\n var observer = this.observers.find(function (x) {\n return x.shouldFetchOnReconnect();\n });\n\n if (observer) {\n observer.refetch();\n } // Continue fetch if currently paused\n\n\n (_this$retryer3 = this.retryer) == null ? void 0 : _this$retryer3.continue();\n };\n\n _proto.addObserver = function addObserver(observer) {\n if (this.observers.indexOf(observer) === -1) {\n this.observers.push(observer);\n this.hadObservers = true; // Stop the query from being garbage collected\n\n this.clearGcTimeout();\n this.cache.notify({\n type: 'observerAdded',\n query: this,\n observer: observer\n });\n }\n };\n\n _proto.removeObserver = function removeObserver(observer) {\n if (this.observers.indexOf(observer) !== -1) {\n this.observers = this.observers.filter(function (x) {\n return x !== observer;\n });\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.retryer.isTransportCancelable || this.abortSignalConsumed) {\n this.retryer.cancel({\n revert: true\n });\n } else {\n this.retryer.cancelRetry();\n }\n }\n\n if (this.cacheTime) {\n this.scheduleGc();\n } else {\n this.cache.remove(this);\n }\n }\n\n this.cache.notify({\n type: 'observerRemoved',\n query: this,\n observer: observer\n });\n }\n };\n\n _proto.getObserversCount = function getObserversCount() {\n return this.observers.length;\n };\n\n _proto.invalidate = function invalidate() {\n if (!this.state.isInvalidated) {\n this.dispatch({\n type: 'invalidate'\n });\n }\n };\n\n _proto.fetch = function fetch(options, fetchOptions) {\n var _this2 = this,\n _this$options$behavio,\n _context$fetchOptions,\n _abortController$abor;\n\n if (this.state.isFetching) {\n if (this.state.dataUpdatedAt && (fetchOptions == null ? void 0 : fetchOptions.cancelRefetch)) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({\n silent: true\n });\n } else if (this.promise) {\n var _this$retryer4;\n\n // make sure that retries that were potentially cancelled due to unmounts can continue\n (_this$retryer4 = this.retryer) == null ? void 0 : _this$retryer4.continueRetry(); // Return current promise if we are already fetching\n\n return this.promise;\n }\n } // Update config if passed, otherwise the config from the last execution is used\n\n\n if (options) {\n this.setOptions(options);\n } // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n\n\n if (!this.options.queryFn) {\n var observer = this.observers.find(function (x) {\n return x.options.queryFn;\n });\n\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n\n var queryKey = ensureQueryKeyArray(this.queryKey);\n var abortController = getAbortController(); // Create query function context\n\n var queryFnContext = {\n queryKey: queryKey,\n pageParam: undefined,\n meta: this.meta\n };\n Object.defineProperty(queryFnContext, 'signal', {\n enumerable: true,\n get: function get() {\n if (abortController) {\n _this2.abortSignalConsumed = true;\n return abortController.signal;\n }\n\n return undefined;\n }\n }); // Create fetch function\n\n var fetchFn = function fetchFn() {\n if (!_this2.options.queryFn) {\n return Promise.reject('Missing queryFn');\n }\n\n _this2.abortSignalConsumed = false;\n return _this2.options.queryFn(queryFnContext);\n }; // Trigger behavior hook\n\n\n var context = {\n fetchOptions: fetchOptions,\n options: this.options,\n queryKey: queryKey,\n state: this.state,\n fetchFn: fetchFn,\n meta: this.meta\n };\n\n if ((_this$options$behavio = this.options.behavior) == null ? void 0 : _this$options$behavio.onFetch) {\n var _this$options$behavio2;\n\n (_this$options$behavio2 = this.options.behavior) == null ? void 0 : _this$options$behavio2.onFetch(context);\n } // Store state in case the current fetch needs to be reverted\n\n\n this.revertState = this.state; // Set to fetching state if not already in it\n\n if (!this.state.isFetching || this.state.fetchMeta !== ((_context$fetchOptions = context.fetchOptions) == null ? void 0 : _context$fetchOptions.meta)) {\n var _context$fetchOptions2;\n\n this.dispatch({\n type: 'fetch',\n meta: (_context$fetchOptions2 = context.fetchOptions) == null ? void 0 : _context$fetchOptions2.meta\n });\n } // Try to fetch the data\n\n\n this.retryer = new Retryer({\n fn: context.fetchFn,\n abort: abortController == null ? void 0 : (_abortController$abor = abortController.abort) == null ? void 0 : _abortController$abor.bind(abortController),\n onSuccess: function onSuccess(data) {\n _this2.setData(data); // Notify cache callback\n\n\n _this2.cache.config.onSuccess == null ? void 0 : _this2.cache.config.onSuccess(data, _this2); // Remove query after fetching if cache time is 0\n\n if (_this2.cacheTime === 0) {\n _this2.optionalRemove();\n }\n },\n onError: function onError(error) {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n _this2.dispatch({\n type: 'error',\n error: error\n });\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n _this2.cache.config.onError == null ? void 0 : _this2.cache.config.onError(error, _this2); // Log error\n\n getLogger().error(error);\n } // Remove query after fetching if cache time is 0\n\n\n if (_this2.cacheTime === 0) {\n _this2.optionalRemove();\n }\n },\n onFail: function onFail() {\n _this2.dispatch({\n type: 'failed'\n });\n },\n onPause: function onPause() {\n _this2.dispatch({\n type: 'pause'\n });\n },\n onContinue: function onContinue() {\n _this2.dispatch({\n type: 'continue'\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay\n });\n this.promise = this.retryer.promise;\n return this.promise;\n };\n\n _proto.dispatch = function dispatch(action) {\n var _this3 = this;\n\n this.state = this.reducer(this.state, action);\n notifyManager.batch(function () {\n _this3.observers.forEach(function (observer) {\n observer.onQueryUpdate(action);\n });\n\n _this3.cache.notify({\n query: _this3,\n type: 'queryUpdated',\n action: action\n });\n });\n };\n\n _proto.getDefaultState = function getDefaultState(options) {\n var data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n var hasInitialData = typeof options.initialData !== 'undefined';\n var initialDataUpdatedAt = hasInitialData ? typeof options.initialDataUpdatedAt === 'function' ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n var hasData = typeof data !== 'undefined';\n return {\n data: data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt != null ? initialDataUpdatedAt : Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchMeta: null,\n isFetching: false,\n isInvalidated: false,\n isPaused: false,\n status: hasData ? 'success' : 'idle'\n };\n };\n\n _proto.reducer = function reducer(state, action) {\n var _action$meta, _action$dataUpdatedAt;\n\n switch (action.type) {\n case 'failed':\n return _extends({}, state, {\n fetchFailureCount: state.fetchFailureCount + 1\n });\n\n case 'pause':\n return _extends({}, state, {\n isPaused: true\n });\n\n case 'continue':\n return _extends({}, state, {\n isPaused: false\n });\n\n case 'fetch':\n return _extends({}, state, {\n fetchFailureCount: 0,\n fetchMeta: (_action$meta = action.meta) != null ? _action$meta : null,\n isFetching: true,\n isPaused: false\n }, !state.dataUpdatedAt && {\n error: null,\n status: 'loading'\n });\n\n case 'success':\n return _extends({}, state, {\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: (_action$dataUpdatedAt = action.dataUpdatedAt) != null ? _action$dataUpdatedAt : Date.now(),\n error: null,\n fetchFailureCount: 0,\n isFetching: false,\n isInvalidated: false,\n isPaused: false,\n status: 'success'\n });\n\n case 'error':\n var error = action.error;\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return _extends({}, this.revertState);\n }\n\n return _extends({}, state, {\n error: error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n isFetching: false,\n isPaused: false,\n status: 'error'\n });\n\n case 'invalidate':\n return _extends({}, state, {\n isInvalidated: true\n });\n\n case 'setState':\n return _extends({}, state, action.state);\n\n default:\n return state;\n }\n };\n\n return Query;\n}();","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils';\nimport { Query } from './query';\nimport { notifyManager } from './notifyManager';\nimport { Subscribable } from './subscribable';\n// CLASS\nexport var QueryCache = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(QueryCache, _Subscribable);\n\n function QueryCache(config) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.config = config || {};\n _this.queries = [];\n _this.queriesMap = {};\n return _this;\n }\n\n var _proto = QueryCache.prototype;\n\n _proto.build = function build(client, options, state) {\n var _options$queryHash;\n\n var queryKey = options.queryKey;\n var queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : hashQueryKeyByOptions(queryKey, options);\n var query = this.get(queryHash);\n\n if (!query) {\n query = new Query({\n cache: this,\n queryKey: queryKey,\n queryHash: queryHash,\n options: client.defaultQueryOptions(options),\n state: state,\n defaultOptions: client.getQueryDefaults(queryKey),\n meta: options.meta\n });\n this.add(query);\n }\n\n return query;\n };\n\n _proto.add = function add(query) {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query;\n this.queries.push(query);\n this.notify({\n type: 'queryAdded',\n query: query\n });\n }\n };\n\n _proto.remove = function remove(query) {\n var queryInMap = this.queriesMap[query.queryHash];\n\n if (queryInMap) {\n query.destroy();\n this.queries = this.queries.filter(function (x) {\n return x !== query;\n });\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash];\n }\n\n this.notify({\n type: 'queryRemoved',\n query: query\n });\n }\n };\n\n _proto.clear = function clear() {\n var _this2 = this;\n\n notifyManager.batch(function () {\n _this2.queries.forEach(function (query) {\n _this2.remove(query);\n });\n });\n };\n\n _proto.get = function get(queryHash) {\n return this.queriesMap[queryHash];\n };\n\n _proto.getAll = function getAll() {\n return this.queries;\n };\n\n _proto.find = function find(arg1, arg2) {\n var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs[0];\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.queries.find(function (query) {\n return matchQuery(filters, query);\n });\n };\n\n _proto.findAll = function findAll(arg1, arg2) {\n var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs2[0];\n\n return Object.keys(filters).length > 0 ? this.queries.filter(function (query) {\n return matchQuery(filters, query);\n }) : this.queries;\n };\n\n _proto.notify = function notify(event) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(event);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n var _this4 = this;\n\n notifyManager.batch(function () {\n _this4.queries.forEach(function (query) {\n query.onFocus();\n });\n });\n };\n\n _proto.onOnline = function onOnline() {\n var _this5 = this;\n\n notifyManager.batch(function () {\n _this5.queries.forEach(function (query) {\n query.onOnline();\n });\n });\n };\n\n return QueryCache;\n}(Subscribable);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getLogger } from './logger';\nimport { notifyManager } from './notifyManager';\nimport { Retryer } from './retryer';\nimport { noop } from './utils'; // TYPES\n\n// CLASS\nexport var Mutation = /*#__PURE__*/function () {\n function Mutation(config) {\n this.options = _extends({}, config.defaultOptions, config.options);\n this.mutationId = config.mutationId;\n this.mutationCache = config.mutationCache;\n this.observers = [];\n this.state = config.state || getDefaultState();\n this.meta = config.meta;\n }\n\n var _proto = Mutation.prototype;\n\n _proto.setState = function setState(state) {\n this.dispatch({\n type: 'setState',\n state: state\n });\n };\n\n _proto.addObserver = function addObserver(observer) {\n if (this.observers.indexOf(observer) === -1) {\n this.observers.push(observer);\n }\n };\n\n _proto.removeObserver = function removeObserver(observer) {\n this.observers = this.observers.filter(function (x) {\n return x !== observer;\n });\n };\n\n _proto.cancel = function cancel() {\n if (this.retryer) {\n this.retryer.cancel();\n return this.retryer.promise.then(noop).catch(noop);\n }\n\n return Promise.resolve();\n };\n\n _proto.continue = function _continue() {\n if (this.retryer) {\n this.retryer.continue();\n return this.retryer.promise;\n }\n\n return this.execute();\n };\n\n _proto.execute = function execute() {\n var _this = this;\n\n var data;\n var restored = this.state.status === 'loading';\n var promise = Promise.resolve();\n\n if (!restored) {\n this.dispatch({\n type: 'loading',\n variables: this.options.variables\n });\n promise = promise.then(function () {\n // Notify cache callback\n _this.mutationCache.config.onMutate == null ? void 0 : _this.mutationCache.config.onMutate(_this.state.variables, _this);\n }).then(function () {\n return _this.options.onMutate == null ? void 0 : _this.options.onMutate(_this.state.variables);\n }).then(function (context) {\n if (context !== _this.state.context) {\n _this.dispatch({\n type: 'loading',\n context: context,\n variables: _this.state.variables\n });\n }\n });\n }\n\n return promise.then(function () {\n return _this.executeMutation();\n }).then(function (result) {\n data = result; // Notify cache callback\n\n _this.mutationCache.config.onSuccess == null ? void 0 : _this.mutationCache.config.onSuccess(data, _this.state.variables, _this.state.context, _this);\n }).then(function () {\n return _this.options.onSuccess == null ? void 0 : _this.options.onSuccess(data, _this.state.variables, _this.state.context);\n }).then(function () {\n return _this.options.onSettled == null ? void 0 : _this.options.onSettled(data, null, _this.state.variables, _this.state.context);\n }).then(function () {\n _this.dispatch({\n type: 'success',\n data: data\n });\n\n return data;\n }).catch(function (error) {\n // Notify cache callback\n _this.mutationCache.config.onError == null ? void 0 : _this.mutationCache.config.onError(error, _this.state.variables, _this.state.context, _this); // Log error\n\n getLogger().error(error);\n return Promise.resolve().then(function () {\n return _this.options.onError == null ? void 0 : _this.options.onError(error, _this.state.variables, _this.state.context);\n }).then(function () {\n return _this.options.onSettled == null ? void 0 : _this.options.onSettled(undefined, error, _this.state.variables, _this.state.context);\n }).then(function () {\n _this.dispatch({\n type: 'error',\n error: error\n });\n\n throw error;\n });\n });\n };\n\n _proto.executeMutation = function executeMutation() {\n var _this2 = this,\n _this$options$retry;\n\n this.retryer = new Retryer({\n fn: function fn() {\n if (!_this2.options.mutationFn) {\n return Promise.reject('No mutationFn found');\n }\n\n return _this2.options.mutationFn(_this2.state.variables);\n },\n onFail: function onFail() {\n _this2.dispatch({\n type: 'failed'\n });\n },\n onPause: function onPause() {\n _this2.dispatch({\n type: 'pause'\n });\n },\n onContinue: function onContinue() {\n _this2.dispatch({\n type: 'continue'\n });\n },\n retry: (_this$options$retry = this.options.retry) != null ? _this$options$retry : 0,\n retryDelay: this.options.retryDelay\n });\n return this.retryer.promise;\n };\n\n _proto.dispatch = function dispatch(action) {\n var _this3 = this;\n\n this.state = reducer(this.state, action);\n notifyManager.batch(function () {\n _this3.observers.forEach(function (observer) {\n observer.onMutationUpdate(action);\n });\n\n _this3.mutationCache.notify(_this3);\n });\n };\n\n return Mutation;\n}();\nexport function getDefaultState() {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n isPaused: false,\n status: 'idle',\n variables: undefined\n };\n}\n\nfunction reducer(state, action) {\n switch (action.type) {\n case 'failed':\n return _extends({}, state, {\n failureCount: state.failureCount + 1\n });\n\n case 'pause':\n return _extends({}, state, {\n isPaused: true\n });\n\n case 'continue':\n return _extends({}, state, {\n isPaused: false\n });\n\n case 'loading':\n return _extends({}, state, {\n context: action.context,\n data: undefined,\n error: null,\n isPaused: false,\n status: 'loading',\n variables: action.variables\n });\n\n case 'success':\n return _extends({}, state, {\n data: action.data,\n error: null,\n status: 'success',\n isPaused: false\n });\n\n case 'error':\n return _extends({}, state, {\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n isPaused: false,\n status: 'error'\n });\n\n case 'setState':\n return _extends({}, state, action.state);\n\n default:\n return state;\n }\n}","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { notifyManager } from './notifyManager';\nimport { Mutation } from './mutation';\nimport { matchMutation, noop } from './utils';\nimport { Subscribable } from './subscribable'; // TYPES\n\n// CLASS\nexport var MutationCache = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(MutationCache, _Subscribable);\n\n function MutationCache(config) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.config = config || {};\n _this.mutations = [];\n _this.mutationId = 0;\n return _this;\n }\n\n var _proto = MutationCache.prototype;\n\n _proto.build = function build(client, options, state) {\n var mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state: state,\n defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined,\n meta: options.meta\n });\n this.add(mutation);\n return mutation;\n };\n\n _proto.add = function add(mutation) {\n this.mutations.push(mutation);\n this.notify(mutation);\n };\n\n _proto.remove = function remove(mutation) {\n this.mutations = this.mutations.filter(function (x) {\n return x !== mutation;\n });\n mutation.cancel();\n this.notify(mutation);\n };\n\n _proto.clear = function clear() {\n var _this2 = this;\n\n notifyManager.batch(function () {\n _this2.mutations.forEach(function (mutation) {\n _this2.remove(mutation);\n });\n });\n };\n\n _proto.getAll = function getAll() {\n return this.mutations;\n };\n\n _proto.find = function find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.mutations.find(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.findAll = function findAll(filters) {\n return this.mutations.filter(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.notify = function notify(mutation) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(mutation);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n this.resumePausedMutations();\n };\n\n _proto.onOnline = function onOnline() {\n this.resumePausedMutations();\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n var pausedMutations = this.mutations.filter(function (x) {\n return x.state.isPaused;\n });\n return notifyManager.batch(function () {\n return pausedMutations.reduce(function (promise, mutation) {\n return promise.then(function () {\n return mutation.continue().catch(noop);\n });\n }, Promise.resolve());\n });\n };\n\n return MutationCache;\n}(Subscribable);","import { isCancelable } from './retryer';\nimport { getAbortController } from './utils';\nexport function infiniteQueryBehavior() {\n return {\n onFetch: function onFetch(context) {\n context.fetchFn = function () {\n var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$fetchOptions4, _context$state$data, _context$state$data2;\n\n var refetchPage = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : _context$fetchOptions2.refetchPage;\n var fetchMore = (_context$fetchOptions3 = context.fetchOptions) == null ? void 0 : (_context$fetchOptions4 = _context$fetchOptions3.meta) == null ? void 0 : _context$fetchOptions4.fetchMore;\n var pageParam = fetchMore == null ? void 0 : fetchMore.pageParam;\n var isFetchingNextPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'forward';\n var isFetchingPreviousPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'backward';\n var oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];\n var oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];\n var abortController = getAbortController();\n var abortSignal = abortController == null ? void 0 : abortController.signal;\n var newPageParams = oldPageParams;\n var cancelled = false; // Get query function\n\n var queryFn = context.options.queryFn || function () {\n return Promise.reject('Missing queryFn');\n };\n\n var buildNewPages = function buildNewPages(pages, param, page, previous) {\n newPageParams = previous ? [param].concat(newPageParams) : [].concat(newPageParams, [param]);\n return previous ? [page].concat(pages) : [].concat(pages, [page]);\n }; // Create function to fetch a page\n\n\n var fetchPage = function fetchPage(pages, manual, param, previous) {\n if (cancelled) {\n return Promise.reject('Cancelled');\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages);\n }\n\n var queryFnContext = {\n queryKey: context.queryKey,\n signal: abortSignal,\n pageParam: param,\n meta: context.meta\n };\n var queryFnResult = queryFn(queryFnContext);\n var promise = Promise.resolve(queryFnResult).then(function (page) {\n return buildNewPages(pages, param, page, previous);\n });\n\n if (isCancelable(queryFnResult)) {\n var promiseAsAny = promise;\n promiseAsAny.cancel = queryFnResult.cancel;\n }\n\n return promise;\n };\n\n var promise; // Fetch first page?\n\n if (!oldPages.length) {\n promise = fetchPage([]);\n } // Fetch next page?\n else if (isFetchingNextPage) {\n var manual = typeof pageParam !== 'undefined';\n var param = manual ? pageParam : getNextPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param);\n } // Fetch previous page?\n else if (isFetchingPreviousPage) {\n var _manual = typeof pageParam !== 'undefined';\n\n var _param = _manual ? pageParam : getPreviousPageParam(context.options, oldPages);\n\n promise = fetchPage(oldPages, _manual, _param, true);\n } // Refetch pages\n else {\n (function () {\n newPageParams = [];\n var manual = typeof context.options.getNextPageParam === 'undefined';\n var shouldFetchFirstPage = refetchPage && oldPages[0] ? refetchPage(oldPages[0], 0, oldPages) : true; // Fetch first page\n\n promise = shouldFetchFirstPage ? fetchPage([], manual, oldPageParams[0]) : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0])); // Fetch remaining pages\n\n var _loop = function _loop(i) {\n promise = promise.then(function (pages) {\n var shouldFetchNextPage = refetchPage && oldPages[i] ? refetchPage(oldPages[i], i, oldPages) : true;\n\n if (shouldFetchNextPage) {\n var _param2 = manual ? oldPageParams[i] : getNextPageParam(context.options, pages);\n\n return fetchPage(pages, manual, _param2);\n }\n\n return Promise.resolve(buildNewPages(pages, oldPageParams[i], oldPages[i]));\n });\n };\n\n for (var i = 1; i < oldPages.length; i++) {\n _loop(i);\n }\n })();\n }\n\n var finalPromise = promise.then(function (pages) {\n return {\n pages: pages,\n pageParams: newPageParams\n };\n });\n var finalPromiseAsAny = finalPromise;\n\n finalPromiseAsAny.cancel = function () {\n cancelled = true;\n abortController == null ? void 0 : abortController.abort();\n\n if (isCancelable(promise)) {\n promise.cancel();\n }\n };\n\n return finalPromise;\n };\n }\n };\n}\nexport function getNextPageParam(options, pages) {\n return options.getNextPageParam == null ? void 0 : options.getNextPageParam(pages[pages.length - 1], pages);\n}\nexport function getPreviousPageParam(options, pages) {\n return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages);\n}\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasNextPage(options, pages) {\n if (options.getNextPageParam && Array.isArray(pages)) {\n var nextPageParam = getNextPageParam(options, pages);\n return typeof nextPageParam !== 'undefined' && nextPageParam !== null && nextPageParam !== false;\n }\n}\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasPreviousPage(options, pages) {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n var previousPageParam = getPreviousPageParam(options, pages);\n return typeof previousPageParam !== 'undefined' && previousPageParam !== null && previousPageParam !== false;\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { hashQueryKey, noop, parseFilterArgs, parseQueryArgs, partialMatchKey, hashQueryKeyByOptions } from './utils';\nimport { QueryCache } from './queryCache';\nimport { MutationCache } from './mutationCache';\nimport { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { notifyManager } from './notifyManager';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior';\n// CLASS\nexport var QueryClient = /*#__PURE__*/function () {\n function QueryClient(config) {\n if (config === void 0) {\n config = {};\n }\n\n this.queryCache = config.queryCache || new QueryCache();\n this.mutationCache = config.mutationCache || new MutationCache();\n this.defaultOptions = config.defaultOptions || {};\n this.queryDefaults = [];\n this.mutationDefaults = [];\n }\n\n var _proto = QueryClient.prototype;\n\n _proto.mount = function mount() {\n var _this = this;\n\n this.unsubscribeFocus = focusManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onFocus();\n\n _this.queryCache.onFocus();\n }\n });\n this.unsubscribeOnline = onlineManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onOnline();\n\n _this.queryCache.onOnline();\n }\n });\n };\n\n _proto.unmount = function unmount() {\n var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n };\n\n _proto.isFetching = function isFetching(arg1, arg2) {\n var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs[0];\n\n filters.fetching = true;\n return this.queryCache.findAll(filters).length;\n };\n\n _proto.isMutating = function isMutating(filters) {\n return this.mutationCache.findAll(_extends({}, filters, {\n fetching: true\n })).length;\n };\n\n _proto.getQueryData = function getQueryData(queryKey, filters) {\n var _this$queryCache$find;\n\n return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n };\n\n _proto.getQueriesData = function getQueriesData(queryKeyOrFilters) {\n return this.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref) {\n var queryKey = _ref.queryKey,\n state = _ref.state;\n var data = state.data;\n return [queryKey, data];\n });\n };\n\n _proto.setQueryData = function setQueryData(queryKey, updater, options) {\n var parsedOptions = parseQueryArgs(queryKey);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions);\n return this.queryCache.build(this, defaultedOptions).setData(updater, options);\n };\n\n _proto.setQueriesData = function setQueriesData(queryKeyOrFilters, updater, options) {\n var _this2 = this;\n\n return notifyManager.batch(function () {\n return _this2.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref2) {\n var queryKey = _ref2.queryKey;\n return [queryKey, _this2.setQueryData(queryKey, updater, options)];\n });\n });\n };\n\n _proto.getQueryState = function getQueryState(queryKey, filters) {\n var _this$queryCache$find2;\n\n return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n };\n\n _proto.removeQueries = function removeQueries(arg1, arg2) {\n var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs2[0];\n\n var queryCache = this.queryCache;\n notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n queryCache.remove(query);\n });\n });\n };\n\n _proto.resetQueries = function resetQueries(arg1, arg2, arg3) {\n var _this3 = this;\n\n var _parseFilterArgs3 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs3[0],\n options = _parseFilterArgs3[1];\n\n var queryCache = this.queryCache;\n\n var refetchFilters = _extends({}, filters, {\n active: true\n });\n\n return notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n query.reset();\n });\n return _this3.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.cancelQueries = function cancelQueries(arg1, arg2, arg3) {\n var _this4 = this;\n\n var _parseFilterArgs4 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs4[0],\n _parseFilterArgs4$ = _parseFilterArgs4[1],\n cancelOptions = _parseFilterArgs4$ === void 0 ? {} : _parseFilterArgs4$;\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n\n var promises = notifyManager.batch(function () {\n return _this4.queryCache.findAll(filters).map(function (query) {\n return query.cancel(cancelOptions);\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.invalidateQueries = function invalidateQueries(arg1, arg2, arg3) {\n var _ref3,\n _filters$refetchActiv,\n _filters$refetchInact,\n _this5 = this;\n\n var _parseFilterArgs5 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs5[0],\n options = _parseFilterArgs5[1];\n\n var refetchFilters = _extends({}, filters, {\n // if filters.refetchActive is not provided and filters.active is explicitly false,\n // e.g. invalidateQueries({ active: false }), we don't want to refetch active queries\n active: (_ref3 = (_filters$refetchActiv = filters.refetchActive) != null ? _filters$refetchActiv : filters.active) != null ? _ref3 : true,\n inactive: (_filters$refetchInact = filters.refetchInactive) != null ? _filters$refetchInact : false\n });\n\n return notifyManager.batch(function () {\n _this5.queryCache.findAll(filters).forEach(function (query) {\n query.invalidate();\n });\n\n return _this5.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.refetchQueries = function refetchQueries(arg1, arg2, arg3) {\n var _this6 = this;\n\n var _parseFilterArgs6 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs6[0],\n options = _parseFilterArgs6[1];\n\n var promises = notifyManager.batch(function () {\n return _this6.queryCache.findAll(filters).map(function (query) {\n return query.fetch(undefined, _extends({}, options, {\n meta: {\n refetchPage: filters == null ? void 0 : filters.refetchPage\n }\n }));\n });\n });\n var promise = Promise.all(promises).then(noop);\n\n if (!(options == null ? void 0 : options.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.fetchQuery = function fetchQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n\n var query = this.queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n };\n\n _proto.prefetchQuery = function prefetchQuery(arg1, arg2, arg3) {\n return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.fetchInfiniteQuery = function fetchInfiniteQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n parsedOptions.behavior = infiniteQueryBehavior();\n return this.fetchQuery(parsedOptions);\n };\n\n _proto.prefetchInfiniteQuery = function prefetchInfiniteQuery(arg1, arg2, arg3) {\n return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.cancelMutations = function cancelMutations() {\n var _this7 = this;\n\n var promises = notifyManager.batch(function () {\n return _this7.mutationCache.getAll().map(function (mutation) {\n return mutation.cancel();\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n return this.getMutationCache().resumePausedMutations();\n };\n\n _proto.executeMutation = function executeMutation(options) {\n return this.mutationCache.build(this, options).execute();\n };\n\n _proto.getQueryCache = function getQueryCache() {\n return this.queryCache;\n };\n\n _proto.getMutationCache = function getMutationCache() {\n return this.mutationCache;\n };\n\n _proto.getDefaultOptions = function getDefaultOptions() {\n return this.defaultOptions;\n };\n\n _proto.setDefaultOptions = function setDefaultOptions(options) {\n this.defaultOptions = options;\n };\n\n _proto.setQueryDefaults = function setQueryDefaults(queryKey, options) {\n var result = this.queryDefaults.find(function (x) {\n return hashQueryKey(queryKey) === hashQueryKey(x.queryKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.queryDefaults.push({\n queryKey: queryKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getQueryDefaults = function getQueryDefaults(queryKey) {\n var _this$queryDefaults$f;\n\n return queryKey ? (_this$queryDefaults$f = this.queryDefaults.find(function (x) {\n return partialMatchKey(queryKey, x.queryKey);\n })) == null ? void 0 : _this$queryDefaults$f.defaultOptions : undefined;\n };\n\n _proto.setMutationDefaults = function setMutationDefaults(mutationKey, options) {\n var result = this.mutationDefaults.find(function (x) {\n return hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.mutationDefaults.push({\n mutationKey: mutationKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getMutationDefaults = function getMutationDefaults(mutationKey) {\n var _this$mutationDefault;\n\n return mutationKey ? (_this$mutationDefault = this.mutationDefaults.find(function (x) {\n return partialMatchKey(mutationKey, x.mutationKey);\n })) == null ? void 0 : _this$mutationDefault.defaultOptions : undefined;\n };\n\n _proto.defaultQueryOptions = function defaultQueryOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n var defaultedOptions = _extends({}, this.defaultOptions.queries, this.getQueryDefaults(options == null ? void 0 : options.queryKey), options, {\n _defaulted: true\n });\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n }\n\n return defaultedOptions;\n };\n\n _proto.defaultQueryObserverOptions = function defaultQueryObserverOptions(options) {\n return this.defaultQueryOptions(options);\n };\n\n _proto.defaultMutationOptions = function defaultMutationOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n return _extends({}, this.defaultOptions.mutations, this.getMutationDefaults(options == null ? void 0 : options.mutationKey), options, {\n _defaulted: true\n });\n };\n\n _proto.clear = function clear() {\n this.queryCache.clear();\n this.mutationCache.clear();\n };\n\n return QueryClient;\n}();","import { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { sleep } from './utils';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * Math.pow(2, failureCount), 30000);\n}\n\nexport function isCancelable(value) {\n return typeof (value == null ? void 0 : value.cancel) === 'function';\n}\nexport var CancelledError = function CancelledError(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n};\nexport function isCancelledError(value) {\n return value instanceof CancelledError;\n} // CLASS\n\nexport var Retryer = function Retryer(config) {\n var _this = this;\n\n var cancelRetry = false;\n var cancelFn;\n var continueFn;\n var promiseResolve;\n var promiseReject;\n this.abort = config.abort;\n\n this.cancel = function (cancelOptions) {\n return cancelFn == null ? void 0 : cancelFn(cancelOptions);\n };\n\n this.cancelRetry = function () {\n cancelRetry = true;\n };\n\n this.continueRetry = function () {\n cancelRetry = false;\n };\n\n this.continue = function () {\n return continueFn == null ? void 0 : continueFn();\n };\n\n this.failureCount = 0;\n this.isPaused = false;\n this.isResolved = false;\n this.isTransportCancelable = false;\n this.promise = new Promise(function (outerResolve, outerReject) {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n var resolve = function resolve(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n var reject = function reject(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n var pause = function pause() {\n return new Promise(function (continueResolve) {\n continueFn = continueResolve;\n _this.isPaused = true;\n config.onPause == null ? void 0 : config.onPause();\n }).then(function () {\n continueFn = undefined;\n _this.isPaused = false;\n config.onContinue == null ? void 0 : config.onContinue();\n });\n }; // Create loop function\n\n\n var run = function run() {\n // Do nothing if already resolved\n if (_this.isResolved) {\n return;\n }\n\n var promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n } // Create callback to cancel this fetch\n\n\n cancelFn = function cancelFn(cancelOptions) {\n if (!_this.isResolved) {\n reject(new CancelledError(cancelOptions));\n _this.abort == null ? void 0 : _this.abort(); // Cancel transport if supported\n\n if (isCancelable(promiseOrValue)) {\n try {\n promiseOrValue.cancel();\n } catch (_unused) {}\n }\n }\n }; // Check if the transport layer support cancellation\n\n\n _this.isTransportCancelable = isCancelable(promiseOrValue);\n Promise.resolve(promiseOrValue).then(resolve).catch(function (error) {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (_this.isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n var retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n var retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n var delay = typeof retryDelay === 'function' ? retryDelay(_this.failureCount, error) : retryDelay;\n var shouldRetry = retry === true || typeof retry === 'number' && _this.failureCount < retry || typeof retry === 'function' && retry(_this.failureCount, error);\n\n if (cancelRetry || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n _this.failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(_this.failureCount, error); // Delay\n\n sleep(delay) // Pause if the document is not visible or when the device is offline\n .then(function () {\n if (!focusManager.isFocused() || !onlineManager.isOnline()) {\n return pause();\n }\n }).then(function () {\n if (cancelRetry) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n run();\n};","export var Subscribable = /*#__PURE__*/function () {\n function Subscribable() {\n this.listeners = [];\n }\n\n var _proto = Subscribable.prototype;\n\n _proto.subscribe = function subscribe(listener) {\n var _this = this;\n\n var callback = listener || function () {\n return undefined;\n };\n\n this.listeners.push(callback);\n this.onSubscribe();\n return function () {\n _this.listeners = _this.listeners.filter(function (x) {\n return x !== callback;\n });\n\n _this.onUnsubscribe();\n };\n };\n\n _proto.hasListeners = function hasListeners() {\n return this.listeners.length > 0;\n };\n\n _proto.onSubscribe = function onSubscribe() {// Do nothing\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {// Do nothing\n };\n\n return Subscribable;\n}();","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// TYPES\n// UTILS\nexport var isServer = typeof window === 'undefined';\nexport function noop() {\n return undefined;\n}\nexport function functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nexport function isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nexport function ensureQueryKeyArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function difference(array1, array2) {\n return array1.filter(function (x) {\n return array2.indexOf(x) === -1;\n });\n}\nexport function replaceAt(array, index, value) {\n var copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nexport function timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nexport function parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n queryKey: arg1,\n queryFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n queryKey: arg1\n });\n}\nexport function parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n mutationKey: arg1,\n mutationFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n mutationKey: arg1\n });\n }\n\n if (typeof arg1 === 'function') {\n return _extends({}, arg2, {\n mutationFn: arg1\n });\n }\n\n return _extends({}, arg1);\n}\nexport function parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [_extends({}, arg2, {\n queryKey: arg1\n }), arg3] : [arg1 || {}, arg2];\n}\nexport function parseMutationFilterArgs(arg1, arg2) {\n return isQueryKey(arg1) ? _extends({}, arg2, {\n mutationKey: arg1\n }) : arg1;\n}\nexport function mapQueryStatusFilter(active, inactive) {\n if (active === true && inactive === true || active == null && inactive == null) {\n return 'all';\n } else if (active === false && inactive === false) {\n return 'none';\n } else {\n // At this point, active|inactive can only be true|false or false|true\n // so, when only one value is provided, the missing one has to be the negated value\n var isActive = active != null ? active : !inactive;\n return isActive ? 'active' : 'inactive';\n }\n}\nexport function matchQuery(filters, query) {\n var active = filters.active,\n exact = filters.exact,\n fetching = filters.fetching,\n inactive = filters.inactive,\n predicate = filters.predicate,\n queryKey = filters.queryKey,\n stale = filters.stale;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n var queryStatusFilter = mapQueryStatusFilter(active, inactive);\n\n if (queryStatusFilter === 'none') {\n return false;\n } else if (queryStatusFilter !== 'all') {\n var isActive = query.isActive();\n\n if (queryStatusFilter === 'active' && !isActive) {\n return false;\n }\n\n if (queryStatusFilter === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetching === 'boolean' && query.isFetching() !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nexport function matchMutation(filters, mutation) {\n var exact = filters.exact,\n fetching = filters.fetching,\n predicate = filters.predicate,\n mutationKey = filters.mutationKey;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nexport function hashQueryKeyByOptions(queryKey, options) {\n var hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n */\n\nexport function hashQueryKey(queryKey) {\n var asArray = ensureQueryKeyArray(queryKey);\n return stableValueHash(asArray);\n}\n/**\n * Hashes the value into a stable hash.\n */\n\nexport function stableValueHash(value) {\n return JSON.stringify(value, function (_, val) {\n return isPlainObject(val) ? Object.keys(val).sort().reduce(function (result, key) {\n result[key] = val[key];\n return result;\n }, {}) : val;\n });\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nexport function partialMatchKey(a, b) {\n return partialDeepEqual(ensureQueryKeyArray(a), ensureQueryKeyArray(b));\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nexport function partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(function (key) {\n return !partialDeepEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nexport function replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n var array = Array.isArray(a) && Array.isArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n var aSize = array ? a.length : Object.keys(a).length;\n var bItems = array ? b : Object.keys(b);\n var bSize = bItems.length;\n var copy = array ? [] : {};\n var equalItems = 0;\n\n for (var i = 0; i < bSize; i++) {\n var key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nexport function shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (var key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nexport function isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n var ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n var prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nexport function isQueryKey(value) {\n return typeof value === 'string' || Array.isArray(value);\n}\nexport function isError(value) {\n return value instanceof Error;\n}\nexport function sleep(timeout) {\n return new Promise(function (resolve) {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nexport function scheduleMicrotask(callback) {\n Promise.resolve().then(callback).catch(function (error) {\n return setTimeout(function () {\n throw error;\n });\n });\n}\nexport function getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n}","import ReactDOM from 'react-dom';\nexport var unstable_batchedUpdates = ReactDOM.unstable_batchedUpdates;","import { notifyManager } from '../core';\nimport { unstable_batchedUpdates } from './reactBatchedUpdates';\nnotifyManager.setBatchNotifyFunction(unstable_batchedUpdates);","export var logger = console;","import { setLogger } from '../core';\nimport { logger } from './logger';\nsetLogger(logger);","import React from 'react';\nvar defaultContext = /*#__PURE__*/React.createContext(undefined);\nvar QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(contextSharing) {\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext;\n }\n\n return window.ReactQueryClientContext;\n }\n\n return defaultContext;\n}\n\nexport var useQueryClient = function useQueryClient() {\n var queryClient = React.useContext(getQueryClientContext(React.useContext(QueryClientSharingContext)));\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nexport var QueryClientProvider = function QueryClientProvider(_ref) {\n var client = _ref.client,\n _ref$contextSharing = _ref.contextSharing,\n contextSharing = _ref$contextSharing === void 0 ? false : _ref$contextSharing,\n children = _ref.children;\n React.useEffect(function () {\n client.mount();\n return function () {\n client.unmount();\n };\n }, [client]);\n var Context = getQueryClientContext(contextSharing);\n return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {\n value: contextSharing\n }, /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children));\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { isServer, isValidTimeout, noop, replaceEqualDeep, shallowEqualObjects, timeUntilStale } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { focusManager } from './focusManager';\nimport { Subscribable } from './subscribable';\nimport { getLogger } from './logger';\nimport { isCancelledError } from './retryer';\nexport var QueryObserver = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(QueryObserver, _Subscribable);\n\n function QueryObserver(client, options) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.client = client;\n _this.options = options;\n _this.trackedProps = [];\n _this.selectError = null;\n\n _this.bindMethods();\n\n _this.setOptions(options);\n\n return _this;\n }\n\n var _proto = QueryObserver.prototype;\n\n _proto.bindMethods = function bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n };\n\n _proto.onSubscribe = function onSubscribe() {\n if (this.listeners.length === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n };\n\n _proto.shouldFetchOnReconnect = function shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n };\n\n _proto.shouldFetchOnWindowFocus = function shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n };\n\n _proto.destroy = function destroy() {\n this.listeners = [];\n this.clearTimers();\n this.currentQuery.removeObserver(this);\n };\n\n _proto.setOptions = function setOptions(options, notifyOptions) {\n var prevOptions = this.options;\n var prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryObserverOptions(options);\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n var mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n var nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n };\n\n _proto.getOptimisticResult = function getOptimisticResult(options) {\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return this.createResult(query, defaultedOptions);\n };\n\n _proto.getCurrentResult = function getCurrentResult() {\n return this.currentResult;\n };\n\n _proto.trackResult = function trackResult(result, defaultedOptions) {\n var _this2 = this;\n\n var trackedResult = {};\n\n var trackProp = function trackProp(key) {\n if (!_this2.trackedProps.includes(key)) {\n _this2.trackedProps.push(key);\n }\n };\n\n Object.keys(result).forEach(function (key) {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: function get() {\n trackProp(key);\n return result[key];\n }\n });\n });\n\n if (defaultedOptions.useErrorBoundary || defaultedOptions.suspense) {\n trackProp('error');\n }\n\n return trackedResult;\n };\n\n _proto.getNextResult = function getNextResult(options) {\n var _this3 = this;\n\n return new Promise(function (resolve, reject) {\n var unsubscribe = _this3.subscribe(function (result) {\n if (!result.isFetching) {\n unsubscribe();\n\n if (result.isError && (options == null ? void 0 : options.throwOnError)) {\n reject(result.error);\n } else {\n resolve(result);\n }\n }\n });\n });\n };\n\n _proto.getCurrentQuery = function getCurrentQuery() {\n return this.currentQuery;\n };\n\n _proto.remove = function remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n };\n\n _proto.refetch = function refetch(options) {\n return this.fetch(_extends({}, options, {\n meta: {\n refetchPage: options == null ? void 0 : options.refetchPage\n }\n }));\n };\n\n _proto.fetchOptimistic = function fetchOptimistic(options) {\n var _this4 = this;\n\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return query.fetch().then(function () {\n return _this4.createResult(query, defaultedOptions);\n });\n };\n\n _proto.fetch = function fetch(fetchOptions) {\n var _this5 = this;\n\n return this.executeFetch(fetchOptions).then(function () {\n _this5.updateResult();\n\n return _this5.currentResult;\n });\n };\n\n _proto.executeFetch = function executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n var promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions == null ? void 0 : fetchOptions.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.updateStaleTimeout = function updateStaleTimeout() {\n var _this6 = this;\n\n this.clearStaleTimeout();\n\n if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n\n var time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n var timeout = time + 1;\n this.staleTimeoutId = setTimeout(function () {\n if (!_this6.currentResult.isStale) {\n _this6.updateResult();\n }\n }, timeout);\n };\n\n _proto.computeRefetchInterval = function computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n };\n\n _proto.updateRefetchInterval = function updateRefetchInterval(nextInterval) {\n var _this7 = this;\n\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(function () {\n if (_this7.options.refetchIntervalInBackground || focusManager.isFocused()) {\n _this7.executeFetch();\n }\n }, this.currentRefetchInterval);\n };\n\n _proto.updateTimers = function updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n };\n\n _proto.clearTimers = function clearTimers() {\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n };\n\n _proto.clearStaleTimeout = function clearStaleTimeout() {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n };\n\n _proto.clearRefetchInterval = function clearRefetchInterval() {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n };\n\n _proto.createResult = function createResult(query, options) {\n var prevQuery = this.currentQuery;\n var prevOptions = this.options;\n var prevResult = this.currentResult;\n var prevResultState = this.currentResultState;\n var prevResultOptions = this.currentResultOptions;\n var queryChange = query !== prevQuery;\n var queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n var prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n var state = query.state;\n var dataUpdatedAt = state.dataUpdatedAt,\n error = state.error,\n errorUpdatedAt = state.errorUpdatedAt,\n isFetching = state.isFetching,\n status = state.status;\n var isPreviousData = false;\n var isPlaceholderData = false;\n var data; // Optimistically set result in fetching state if needed\n\n if (options.optimisticResults) {\n var mounted = this.hasListeners();\n var fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n var fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n isFetching = true;\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdateCount && (prevQueryResult == null ? void 0 : prevQueryResult.isSuccess) && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n\n if (options.structuralSharing !== false) {\n data = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, data);\n }\n\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && (status === 'loading' || status === 'idle')) {\n var placeholderData; // Memoize placeholder data\n\n if ((prevResult == null ? void 0 : prevResult.isPlaceholderData) && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n\n if (options.structuralSharing !== false) {\n placeholderData = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, placeholderData);\n }\n\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = placeholderData;\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n var result = {\n status: status,\n isLoading: status === 'loading',\n isSuccess: status === 'success',\n isError: status === 'error',\n isIdle: status === 'idle',\n data: data,\n dataUpdatedAt: dataUpdatedAt,\n error: error,\n errorUpdatedAt: errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching: isFetching,\n isRefetching: isFetching && status !== 'loading',\n isLoadingError: status === 'error' && state.dataUpdatedAt === 0,\n isPlaceholderData: isPlaceholderData,\n isPreviousData: isPreviousData,\n isRefetchError: status === 'error' && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n };\n\n _proto.shouldNotifyListeners = function shouldNotifyListeners(result, prevResult) {\n if (!prevResult) {\n return true;\n }\n\n var _this$options = this.options,\n notifyOnChangeProps = _this$options.notifyOnChangeProps,\n notifyOnChangePropsExclusions = _this$options.notifyOnChangePropsExclusions;\n\n if (!notifyOnChangeProps && !notifyOnChangePropsExclusions) {\n return true;\n }\n\n if (notifyOnChangeProps === 'tracked' && !this.trackedProps.length) {\n return true;\n }\n\n var includedProps = notifyOnChangeProps === 'tracked' ? this.trackedProps : notifyOnChangeProps;\n return Object.keys(result).some(function (key) {\n var typedKey = key;\n var changed = result[typedKey] !== prevResult[typedKey];\n var isIncluded = includedProps == null ? void 0 : includedProps.some(function (x) {\n return x === key;\n });\n var isExcluded = notifyOnChangePropsExclusions == null ? void 0 : notifyOnChangePropsExclusions.some(function (x) {\n return x === key;\n });\n return changed && !isExcluded && (!includedProps || isIncluded);\n });\n };\n\n _proto.updateResult = function updateResult(notifyOptions) {\n var prevResult = this.currentResult;\n this.currentResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify if something has changed\n\n if (shallowEqualObjects(this.currentResult, prevResult)) {\n return;\n } // Determine which callbacks to trigger\n\n\n var defaultNotifyOptions = {\n cache: true\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && this.shouldNotifyListeners(this.currentResult, prevResult)) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify(_extends({}, defaultNotifyOptions, notifyOptions));\n };\n\n _proto.updateQuery = function updateQuery() {\n var query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n var prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n };\n\n _proto.onQueryUpdate = function onQueryUpdate(action) {\n var notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n };\n\n _proto.notify = function notify(notifyOptions) {\n var _this8 = this;\n\n notifyManager.batch(function () {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n _this8.options.onSuccess == null ? void 0 : _this8.options.onSuccess(_this8.currentResult.data);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(_this8.currentResult.data, null);\n } else if (notifyOptions.onError) {\n _this8.options.onError == null ? void 0 : _this8.options.onError(_this8.currentResult.error);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(undefined, _this8.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n _this8.listeners.forEach(function (listener) {\n listener(_this8.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n _this8.client.getQueryCache().notify({\n query: _this8.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n };\n\n return QueryObserver;\n}(Subscribable);\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n var value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}","import React from 'react'; // CONTEXT\n\nfunction createValue() {\n var _isReset = false;\n return {\n clearReset: function clearReset() {\n _isReset = false;\n },\n reset: function reset() {\n _isReset = true;\n },\n isReset: function isReset() {\n return _isReset;\n }\n };\n}\n\nvar QueryErrorResetBoundaryContext = /*#__PURE__*/React.createContext(createValue()); // HOOK\n\nexport var useQueryErrorResetBoundary = function useQueryErrorResetBoundary() {\n return React.useContext(QueryErrorResetBoundaryContext);\n}; // COMPONENT\n\nexport var QueryErrorResetBoundary = function QueryErrorResetBoundary(_ref) {\n var children = _ref.children;\n var value = React.useMemo(function () {\n return createValue();\n }, []);\n return /*#__PURE__*/React.createElement(QueryErrorResetBoundaryContext.Provider, {\n value: value\n }, typeof children === 'function' ? children(value) : children);\n};","import React from 'react';\nimport { notifyManager } from '../core/notifyManager';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary';\nimport { useQueryClient } from './QueryClientProvider';\nimport { shouldThrowError } from './utils';\nexport function useBaseQuery(options, Observer) {\n var mountedRef = React.useRef(false);\n\n var _React$useState = React.useState(0),\n forceUpdate = _React$useState[1];\n\n var queryClient = useQueryClient();\n var errorResetBoundary = useQueryErrorResetBoundary();\n var defaultedOptions = queryClient.defaultQueryObserverOptions(options); // Make sure results are optimistically set in fetching state before subscribing or updating options\n\n defaultedOptions.optimisticResults = true; // Include callbacks in batch renders\n\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(defaultedOptions.onError);\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(defaultedOptions.onSuccess);\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(defaultedOptions.onSettled);\n }\n\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000;\n } // Set cache time to 1 if the option has been set to 0\n // when using suspense to prevent infinite loop of fetches\n\n\n if (defaultedOptions.cacheTime === 0) {\n defaultedOptions.cacheTime = 1;\n }\n }\n\n if (defaultedOptions.suspense || defaultedOptions.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n defaultedOptions.retryOnMount = false;\n }\n }\n\n var _React$useState2 = React.useState(function () {\n return new Observer(queryClient, defaultedOptions);\n }),\n observer = _React$useState2[0];\n\n var result = observer.getOptimisticResult(defaultedOptions);\n React.useEffect(function () {\n mountedRef.current = true;\n errorResetBoundary.clearReset();\n var unsubscribe = observer.subscribe(notifyManager.batchCalls(function () {\n if (mountedRef.current) {\n forceUpdate(function (x) {\n return x + 1;\n });\n }\n })); // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n\n observer.updateResult();\n return function () {\n mountedRef.current = false;\n unsubscribe();\n };\n }, [errorResetBoundary, observer]);\n React.useEffect(function () {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, {\n listeners: false\n });\n }, [defaultedOptions, observer]); // Handle suspense\n\n if (defaultedOptions.suspense && result.isLoading) {\n throw observer.fetchOptimistic(defaultedOptions).then(function (_ref) {\n var data = _ref.data;\n defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n }).catch(function (error) {\n errorResetBoundary.clearReset();\n defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n });\n } // Handle error boundary\n\n\n if (result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(defaultedOptions.suspense, defaultedOptions.useErrorBoundary, [result.error, observer.getCurrentQuery()])) {\n throw result.error;\n } // Handle result property usage tracking\n\n\n if (defaultedOptions.notifyOnChangeProps === 'tracked') {\n result = observer.trackResult(result, defaultedOptions);\n }\n\n return result;\n}","export function shouldThrowError(suspense, _useErrorBoundary, params) {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary.apply(void 0, params);\n } // Allow useErrorBoundary to override suspense's throwing behavior\n\n\n if (typeof _useErrorBoundary === 'boolean') return _useErrorBoundary; // If suspense is enabled default to throwing errors\n\n return !!suspense;\n}","import { QueryObserver } from '../core';\nimport { parseQueryArgs } from '../core/utils';\nimport { useBaseQuery } from './useBaseQuery'; // HOOK\n\nexport function useQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n return useBaseQuery(parsedOptions, QueryObserver);\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","module.exports = __WEBPACK_EXTERNAL_MODULE__494__;","module.exports = __WEBPACK_EXTERNAL_MODULE__66__;","module.exports = __WEBPACK_EXTERNAL_MODULE__156__;","module.exports = __WEBPACK_EXTERNAL_MODULE__111__;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true\n};\nvar i18nInstance;\nexport var I18nContext = React.createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, namespaces.join()]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import {\n QA_URL,\n PROD_URL,\n QA_PREVIEW_URL,\n PROD_PREVIEW_URL,\n} from 'js/constants/baseUrls';\nimport { StudioModule, StudioBrightcove } from 'types/studio';\nimport { PlayerSelectItem } from '../types/players';\n\nconst QA = 'qa';\nconst PRODUCTION = 'production';\nconst TITLE_CHAR_LIMIT = 60;\nexport const ROLES = {\n PUBLISHING: 'PUBLISHING',\n};\n\n/**\n * Get the studio environment as a string.\n * @returns the studio environment\n */\nexport function getStudioEnvironment(): string {\n return window.StudioModule?.config.product.env || PRODUCTION;\n}\n\n/**\n * Is the module running in QA environment?\n */\nexport function isQA() {\n return getStudioEnvironment() === QA;\n}\n\n/**\n * Gets the correct player url base depending on environment\n */\nexport function getUrlBase() {\n return isQA() ? QA_URL : PROD_URL;\n}\n\n/**\n *\n * @param options : array of PlayerSelectItem\n * @returns options ordered ascending\n */\nexport function sortAsc(options: PlayerSelectItem[]): PlayerSelectItem[] {\n return options.sort((a, b) => a.label.localeCompare(b.label));\n}\n\nexport type VideoPreviewLinkOptions = {\n accountId: string;\n videoId?: string;\n interactivityProjectId?: string;\n playerId: string;\n};\n/**\n *\n * @param accountId : accountId of current user\n * @param videoId : VideoPayload type info\n * @param interactivityProjectId : id of interactivity project\n * @param playerId : playerId used for preview\n * @returns a working preview link with given information\n */\nexport const getVideoPreviewLink = (options: VideoPreviewLinkOptions) => {\n const { accountId, videoId, interactivityProjectId, playerId } = options;\n const params = new URLSearchParams();\n if (interactivityProjectId) {\n params.append('interactivityProjectId', interactivityProjectId);\n }\n if (videoId) {\n params.append('videoId', videoId);\n }\n const paramsString = params.toString();\n return `${getUrlBase()}${accountId}/${playerId}_default/index.html${\n paramsString !== '' ? `?${paramsString}` : ''\n }`;\n};\n\n/**\n * Truncates a video title property\n * @param videoName - video title\n * @returns truncated video title\n */\nexport const truncateVideoTitle = (videoName: string): string => {\n if (videoName.length > TITLE_CHAR_LIMIT) {\n return `${videoName.substring(0, TITLE_CHAR_LIMIT).trim()}...`;\n }\n return videoName;\n};\n\nexport function getPreviewUrlBase() {\n return isQA() ? QA_PREVIEW_URL : PROD_PREVIEW_URL;\n}\n\n/**\n *\n * @param accountId : account id of current user\n * @param playerId : playerId used for preview\n * @returns a working preview url with given information\n */\nexport const getPreviewPlayerUrl = (\n accountId: string,\n playerId: string,\n): string =>\n `${getPreviewUrlBase()}/v2/accounts/${accountId}/players/${playerId}/preview/embeds/default/master/index.html`;\n\nexport const getStudioModule = (): StudioModule => window.StudioModule;\n\nexport const getBrightcove = (): StudioBrightcove => window.brightcove;\n\nexport function getProductPath(): string {\n return getStudioModule()?.config?.product?.path || '/products/videocloud';\n}\n\n/**\n * @returns Player Manager Module URL\n */\nexport const getPlayerManagerModuleUrl = () => {\n return `${getProductPath()}/players`;\n};\n","export const QA_URL = 'https://bc-players-qa.s3.amazonaws.com/';\nexport const PROD_URL = 'https://players.brightcove.net/';\nexport const QA_PREVIEW_URL = 'https://preview-players.qa.brightcove.net';\nexport const PROD_PREVIEW_URL = 'https://preview-players.brightcove.net';\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../node_modules/sass-loader/dist/cjs.js!./EmbedCode.sass\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../node_modules/sass-loader/dist/cjs.js!./EmbedCode.sass\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport brightcoveEmbedCode from '@brightcove/player-embed-code';\nimport {\n Flex,\n FlexItem,\n CopyField,\n PlainTextArea,\n} from '@brightcove/studio-components';\n\nimport { EmbedCodeProps } from 'js/types/EmbedCodeProps';\nimport { getUrlBase, getBrightcove } from 'js/utils/util';\n\nimport css from 'styles/EmbedCode.sass';\n\ninterface EmbedCodeConfig {\n accountId: string;\n responsive: boolean;\n width: number;\n height: number;\n iframe: boolean;\n videoId?: string;\n interactivityProjectId?: string;\n playerId: string;\n urlBase: string;\n playlistIsHorizontal: boolean;\n}\nconst DEFAULT_HEIGHT = 540;\nconst DEFAULT_WIDTH = 960;\nconst defaultConfig = {\n responsive: false,\n width: DEFAULT_WIDTH,\n height: DEFAULT_HEIGHT,\n urlBase: getUrlBase(),\n playlistIsHorizontal: true,\n};\n\nconst createEmbedConfigObject = (config: EmbedCodeProps): EmbedCodeConfig => {\n return Object.assign({}, { ...defaultConfig, ...config });\n};\n\nexport const EmbedCode = (config: EmbedCodeProps) => {\n const { t } = useTranslation();\n const [embedCode, setEmbedCode] = useState('');\n\n useEffect(() => {\n const embedConfigObj = createEmbedConfigObject(config);\n const embedCode = brightcoveEmbedCode(embedConfigObj);\n setEmbedCode(embedCode);\n }, [config]);\n\n const HelperTextNodeNew = (\n <Flex>\n <FlexItem flexGrow='1' className={css.helperText}>\n {t('tabs.helperText')}\n </FlexItem>\n </Flex>\n );\n\n return (\n <>\n <CopyField\n className={css.copyInput}\n helperNode={HelperTextNodeNew}\n Component={PlainTextArea}\n componentProps={{\n disabled: true,\n disableResizing: true,\n className: css.textAreaDimensions,\n onChange: () => void 0,\n }}\n onCopy={() => {\n getBrightcove().Toaster.success({\n title: t('toasterTitle'),\n message: t('toasterMessage'),\n });\n }}\n onError={() => {\n getBrightcove().Toaster.error({\n message: t('toasterErrorMessage'),\n });\n }}\n value={embedCode}\n hideButton={true}\n testName='embed-copy-section'\n />\n </>\n );\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","const getStudioConfig = () => window.StudioModule.config;\n\nexport const getAccountId = (): string => {\n const config = getStudioConfig();\n return config.user.currentAccount.id;\n};\n\nexport const getConfig = () => {\n const config = getStudioConfig();\n const apiConfig = {\n publisherId: getAccountId(),\n api: config.module.api,\n };\n return { apiConfig };\n};\n\nexport const call = <T>(options): Promise<T> => {\n const studioModule = window.StudioModule;\n const api = studioModule.api();\n\n const callback = (resolve, reject) => {\n api.call(options, resolve, reject);\n };\n\n return new Promise(callback);\n};\n\nexport const callAPI = <T>(apiEndpoint, apiArgs) => {\n const endpoint = apiEndpoint({ ...apiArgs, ...getConfig() });\n return call<T>(endpoint);\n};\n","import {\n getAllPlayers,\n createPlayer as createPlayerAPI,\n getPlayer as getPlayerAPI,\n} from '@brightcove/studio-api-services/api/players-api';\nimport { callAPI } from 'js/utils/call';\nimport {\n GetPlayersPayload,\n CreatePlayerPayload,\n CreatePlayerResponse,\n PlayerItem,\n} from 'js/types/players';\n\nexport const getPlayers = async (): Promise<GetPlayersPayload> => {\n return callAPI(getAllPlayers, {});\n};\n\nexport const createPlayer = async (\n payload: CreatePlayerPayload,\n): Promise<CreatePlayerResponse> => {\n return callAPI(createPlayerAPI, payload);\n};\n\nexport const getPlayer = async (playerId: string): Promise<PlayerItem> => {\n return callAPI(getPlayerAPI, { playerId });\n};\n","import { useQuery } from 'react-query';\n\nimport { getPlayers } from 'js/services/players-api';\n\nconst useGetPlayers = (isPlayersCallEnabled: boolean) => {\n return useQuery(['players'], () => getPlayers(), {\n refetchOnWindowFocus: false,\n enabled: isPlayersCallEnabled,\n });\n};\n\nexport default useGetPlayers;\n","// export payload that will be used to pass data into component\nexport interface VideoPayload {\n videoId: string;\n videoName: string;\n accountId: string;\n posterUrl?: string;\n duration: number;\n}\n\nexport interface PlayerPayload {\n id: string;\n configuration?: Record<string, unknown>;\n name?: string;\n accountId?: string;\n}\n\nexport interface ProjectPayload {\n accountId: string;\n videoId: string;\n interactivityProjectId: string;\n interactivityProjectName: string;\n}\n\nexport enum EmbedCodeModalTypes {\n PLAYER = 'player',\n VIDEO = 'video',\n PROJECT = 'project',\n}\n\nexport enum NoInteractivityPlayerModalTypes {\n NO_PLAYER = 'no-player',\n NO_PERMISSION = 'no-permission',\n}\n\nexport type ModalDataPayload = VideoPayload | PlayerPayload | ProjectPayload;\n","// Plugins available in the BC registry\nexport const bcHostedPlugins = [\n 'bcAa',\n 'bcAirplay',\n 'bcGa',\n 'bcGtm',\n 'bcPlaylistUi',\n 'bcTealium',\n 'bcMapPlugin',\n 'chromecastReceiver',\n 'customEndscreen',\n 'eme',\n 'ima3',\n 'interactivityViewer',\n 'kollective',\n 'overlay',\n 'pip',\n 'playlistEndscreen',\n 'qualityMenu',\n 'social',\n 'ssai',\n 'thumbnails',\n];\n\nexport const CAMPAIGN_PLUGIN_NAME = 'bcMapPlugin';\nexport const INTERACTIVITY_PLUGIN_NAME = 'interactivityViewer';\n","export const DEFAULT_PLAYER_ID = 'default';\nexport const DEFAULT_PLAYER_NAME = 'Brightcove Default Player';\n\nexport const PLAYER_LIST_FOR_SELECTION = [\n {\n label: DEFAULT_PLAYER_NAME,\n value: DEFAULT_PLAYER_ID,\n },\n];\n\nexport const PLAYERS = {\n default: {\n hasCustomPlugins: false,\n id: DEFAULT_PLAYER_ID,\n isCampaignPlayer: false,\n label: DEFAULT_PLAYER_NAME,\n isInteractivityPlayer: false,\n },\n};\n\nexport const DEFAULT_INTERACTIVITY_PLAYER = {\n name: 'Interactivity Player',\n registry_id: '@brightcove/videojs-interactivity-viewer',\n version: '1.x',\n};\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../node_modules/sass-loader/dist/cjs.js!./EmbedCodeModal.sass\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../node_modules/sass-loader/dist/cjs.js!./EmbedCodeModal.sass\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect, useState, useMemo, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ReactPlayerLoader from '@brightcove/react-player-loader';\nimport { Hideable } from '@brightcove/studio-components';\nimport {\n VideoPayload,\n ProjectPayload,\n EmbedCodeModalTypes,\n} from 'js/types/EmbedCodeModalProps';\nimport {\n PlayerSelectItem,\n PlayersObject,\n PlayersObjectItem,\n} from 'js/types/players';\nimport { DEFAULT_PLAYER_ID } from '../constants/player';\nimport css from 'styles/EmbedCodeModal.sass';\nimport {\n getUrlBase,\n getVideoPreviewLink,\n VideoPreviewLinkOptions,\n} from 'js/utils/util';\nimport {\n VideoLinks,\n TitleWithTooltip,\n PlayersDropdown,\n TabsSection,\n} from 'js/components';\n\ninterface VideoJS {\n el: () => HTMLElement;\n}\n\nconst defaultPlayer: PlayersObjectItem = {\n id: DEFAULT_PLAYER_ID,\n hasCustomPlugins: false,\n label: '',\n isCampaignPlayer: false,\n isInteractivityPlayer: false,\n};\n\nexport const VideoPlayer = ({\n video,\n embedCodeModalType,\n playerListForSelection,\n players,\n}: {\n video: VideoPayload | ProjectPayload;\n embedCodeModalType: EmbedCodeModalTypes;\n playerListForSelection: PlayerSelectItem[];\n players: PlayersObject;\n}) => {\n const { t } = useTranslation();\n const [{ id: playerId, hasCustomPlugins, isCampaignPlayer }, setPlayer] =\n useState<PlayersObjectItem>(defaultPlayer);\n const [previewUrl, setPreviewUrl] = useState<string>('');\n const playerRef = useRef<VideoJS | null>(null);\n\n const interactivityProjectId = useMemo(() => {\n return embedCodeModalType === EmbedCodeModalTypes.PROJECT\n ? (video as ProjectPayload).interactivityProjectId\n : null;\n }, [video, embedCodeModalType]);\n\n useEffect(() => {\n if (playerId) {\n const options: VideoPreviewLinkOptions = {\n accountId: video.accountId,\n playerId,\n videoId: video.videoId,\n };\n if (interactivityProjectId) {\n options.interactivityProjectId = interactivityProjectId;\n }\n setPreviewUrl(getVideoPreviewLink(options));\n }\n }, [playerId, video, interactivityProjectId]);\n\n const sharedProps: {\n accountId: string;\n playerId: string;\n isCampaign: boolean;\n videoId?: string;\n interactivityProjectId?: string;\n } = {\n accountId: video.accountId,\n playerId,\n isCampaign: isCampaignPlayer,\n videoId: video.videoId,\n };\n\n const name = interactivityProjectId\n ? (video as ProjectPayload).interactivityProjectName\n : (video as VideoPayload).videoName;\n const id = interactivityProjectId || video.videoId;\n\n if (interactivityProjectId) {\n sharedProps.interactivityProjectId = interactivityProjectId;\n }\n\n const handleSuccess = ({ ref }: { ref: VideoJS }) => {\n playerRef.current = ref;\n if (interactivityProjectId) {\n playerRef?.current\n ?.el()\n .setAttribute('data-interactivity-project-id', interactivityProjectId);\n }\n };\n\n return (\n <>\n <div className={css.leftContent}>\n <PlayersDropdown\n onChange={setPlayer}\n playerListForSelection={playerListForSelection}\n players={players}\n />\n <ReactPlayerLoader\n {...sharedProps}\n baseUrl={getUrlBase()}\n attrs={{ className: css.playerLoader }}\n refNode='player-container'\n onSuccess={handleSuccess}\n />\n <Hideable show={hasCustomPlugins}>\n <span className={css.customPluginNotice}>\n {t('customPluginNotice')}\n </span>\n </Hideable>\n <VideoLinks prevUrl={previewUrl} />\n </div>\n <div className={css.rightContent}>\n <TitleWithTooltip name={name} id={id} />\n <TabsSection {...sharedProps} />\n </div>\n </>\n );\n};\n","import React, { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Hideable } from '@brightcove/studio-components';\nimport ReactPlayerLoader from '@brightcove/react-player-loader';\n\nimport {\n getPreviewPlayerUrl,\n getUrlBase,\n getVideoPreviewLink,\n} from 'js/utils/util';\nimport {\n bcHostedPlugins,\n CAMPAIGN_PLUGIN_NAME,\n} from 'js/constants/pluginsRegistry';\nimport { PlayerPayload } from '../types/EmbedCodeModalProps';\n\nimport { TabsSection, VideoLinks } from 'js/components';\n\nimport css from 'styles/EmbedCodeModal.sass';\n\ninterface Plugin {\n name: string;\n options?: Record<string, unknown>;\n}\n\nexport const PlayerPreview = ({\n id,\n configuration,\n accountId = '',\n}: PlayerPayload) => {\n const { t } = useTranslation();\n const playerUrl = getPreviewPlayerUrl(accountId, id);\n const previewUrl = getVideoPreviewLink({ accountId, playerId: id });\n\n const { hasCustomPlugins, isCampaignPlayer } = useMemo((): {\n isCampaignPlayer: boolean;\n hasCustomPlugins: boolean;\n } => {\n let hasBCHostedPlugin = false;\n let isCampaignPlayer = false;\n let plugins: Plugin[] = [];\n\n // TODO: refactor with addPluginsDataToPlayers function to reuse code\n if (configuration) {\n plugins = (configuration.plugins as Plugin[]) ?? plugins;\n for (const plugin of plugins) {\n const { name } = plugin;\n hasBCHostedPlugin = bcHostedPlugins.includes(name);\n isCampaignPlayer =\n isCampaignPlayer || plugin.name === CAMPAIGN_PLUGIN_NAME;\n }\n }\n\n return {\n hasCustomPlugins: !hasBCHostedPlugin && plugins.length > 0,\n isCampaignPlayer,\n };\n }, [configuration]);\n\n return (\n <>\n <div className={css.leftContent}>\n <ReactPlayerLoader\n accountId={accountId}\n baseUrl={getUrlBase()}\n attrs={{ className: css.playerLoader }}\n embedType='iframe'\n refNode='player-container'\n playerUrl={playerUrl}\n />\n <Hideable show={hasCustomPlugins}>\n <span className={css.customPluginNotice}>\n {t('customPluginNotice')}\n </span>\n </Hideable>\n <VideoLinks prevUrl={previewUrl} />\n </div>\n <div className={css.rightContent}>\n <TabsSection\n isCampaign={isCampaignPlayer}\n playerId={id}\n accountId={accountId}\n />\n </div>\n </>\n );\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Flex } from '@brightcove/studio-components';\nimport { getPlayerManagerModuleUrl } from 'js/utils/util';\nimport { NoInteractivityPlayerModalTypes } from 'js/types/EmbedCodeModalProps';\n\ninterface NoPlayerProps {\n modalType: NoInteractivityPlayerModalTypes;\n}\n\nexport const NoPlayerModal = ({ modalType }: NoPlayerProps) => {\n const { t } = useTranslation();\n\n const createPlayersModuleLink = (text: string) => {\n return <a href={getPlayerManagerModuleUrl()}>{text}</a>;\n };\n\n return (\n <Flex flexDirection='column'>\n <p>\n {modalType === NoInteractivityPlayerModalTypes.NO_PLAYER ? (\n t('noPlayerModalContent1')\n ) : (\n <>\n {t('activateModalContent1')}\n {createPlayersModuleLink(t('activateModalContent2'))}.\n </>\n )}\n <br />\n {modalType === NoInteractivityPlayerModalTypes.NO_PLAYER\n ? t('noPlayerModalContent2')\n : null}\n </p>\n\n <>\n {modalType === NoInteractivityPlayerModalTypes.NO_PLAYER ? (\n <p>{createPlayersModuleLink(t('toPlayerManagerLink'))}</p>\n ) : null}\n </>\n </Flex>\n );\n};\n","import React, { useState, useCallback, useEffect } from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport useGetPlayers from 'js/hooks/useGetPlayers';\nimport { Modal, Flex, Button } from '@brightcove/studio-components';\n\nimport {\n EmbedCodeModalTypes,\n PlayerPayload,\n NoInteractivityPlayerModalTypes,\n} from 'js/types/EmbedCodeModalProps';\nimport { EmbedCodeModalProps } from 'js/EmbedCodeModal';\nimport { addPluginsDataToPlayers } from 'js/utils/addPluginsDataToPlayers';\nimport { CAMPAIGN_PLUGIN_NAME } from 'js/constants/pluginsRegistry';\nimport { PlayerSelectItem, PlayersObject } from 'js/types/players';\nimport { createPlayer } from 'js/services/players-api';\nimport { getStudioModule, getBrightcove, ROLES } from 'js/utils/util';\nimport { DEFAULT_INTERACTIVITY_PLAYER } from 'js/constants/player';\n\nimport css from 'styles/EmbedCodeModal.sass';\nimport { VideoPlayer } from './VideoPlayer';\nimport { PlayerPreview } from './PlayerPreview';\nimport { getAccountId } from '../utils/call';\nimport { NoPlayerModal } from './NoPlayerModal';\n\ninterface ModalContainerProps extends EmbedCodeModalProps {\n handleSetComponentKey: () => void;\n}\n\nexport const ModalContainer = ({\n handleSetComponentKey,\n playerPayload,\n embedCodeModalType = EmbedCodeModalTypes.VIDEO,\n}: ModalContainerProps) => {\n const { t } = useTranslation();\n const [isModalOpen, setIsModalOpen] = useState<boolean>(false);\n const { isFetching, data } = useGetPlayers(true);\n const [players, setPlayers] = useState<PlayersObject>({});\n const [playerListForSelection, setPlayerListForSelection] = useState<\n PlayerSelectItem[]\n >([]);\n const [hasInteractivityEnabledPlayer, setHasInteractivityEnabledPlayer] =\n useState<boolean>(false);\n const [hasPublishingRole, setHasPublishingRole] = useState(false);\n const [buttonSpinner, setButtonSpinner] = useState(false);\n\n useEffect(() => {\n const { roles } = getStudioModule().getCurrentUserAccount();\n if (roles.length && roles.includes(ROLES.PUBLISHING)) {\n setHasPublishingRole(true);\n }\n }, []);\n\n useEffect(() => {\n if (!isFetching && data && (data?.items.length ?? 0) > 0) {\n const { playerListForSelection, players = {} } = addPluginsDataToPlayers(\n data,\n CAMPAIGN_PLUGIN_NAME,\n embedCodeModalType,\n );\n\n for (let i = 0; i < Object.values(players).length; i += 1) {\n const player = Object.values(players)[i];\n if (player?.isInteractivityPlayer) {\n setHasInteractivityEnabledPlayer(true);\n break;\n }\n }\n\n setPlayers(players);\n setPlayerListForSelection(playerListForSelection);\n }\n }, [isFetching, data, embedCodeModalType]);\n\n useEffect(() => {\n if (playerPayload) {\n setIsModalOpen(true);\n }\n }, [playerPayload]);\n\n const closeModal = useCallback(() => {\n setIsModalOpen(false);\n }, []);\n\n const createInteractivityPlayer = () => {\n const { name, registry_id, version } = DEFAULT_INTERACTIVITY_PLAYER;\n\n setButtonSpinner(true);\n\n const payload = {\n data: {\n name,\n configuration: {\n plugins: [\n {\n registry_id,\n version,\n },\n ],\n },\n },\n };\n\n createPlayer(payload)\n .then((res) => {\n if (res && res.id) {\n handleSetComponentKey();\n }\n })\n .catch(() => {\n getBrightcove().Toaster.error({\n title: t('createPlayerFailedTitle'),\n message: t('createPlayerFailedMessage'),\n });\n })\n .finally(() => {\n setButtonSpinner(false);\n });\n };\n\n let content: JSX.Element | null = null;\n let modalTitle = t('modalHeader');\n let isLargeModal = true;\n let buttons = [\n <Button\n key={'close-button'}\n text={t('done')}\n onClick={closeModal}\n testName={'close-modal-btn'}\n />,\n ];\n\n if (!isFetching) {\n switch (embedCodeModalType) {\n case EmbedCodeModalTypes.VIDEO:\n content =\n 'videoId' in playerPayload ? (\n <VideoPlayer\n video={playerPayload}\n embedCodeModalType={embedCodeModalType}\n players={players}\n playerListForSelection={playerListForSelection}\n />\n ) : null;\n break;\n case EmbedCodeModalTypes.PLAYER:\n {\n const accountId = playerPayload.accountId || getAccountId();\n content =\n 'id' in playerPayload && accountId ? (\n <PlayerPreview\n {...(playerPayload as PlayerPayload)}\n accountId={accountId}\n />\n ) : null;\n }\n break;\n case EmbedCodeModalTypes.PROJECT:\n if (!hasInteractivityEnabledPlayer && !hasPublishingRole) {\n modalTitle = t('activateModal');\n isLargeModal = false;\n buttons = [\n <Button\n key={'close-button'}\n text={t('close')}\n onClick={closeModal}\n testName={'close-modal-done-btn'}\n />,\n ];\n content = (\n <NoPlayerModal\n modalType={NoInteractivityPlayerModalTypes.NO_PERMISSION}\n />\n );\n } else if (!hasInteractivityEnabledPlayer) {\n modalTitle = t('noPlayerModalHeader');\n isLargeModal = false;\n buttons = [\n <Button\n key={'cancel-button'}\n text={t('cancel')}\n onClick={closeModal}\n testName={'cancel-button'}\n look='tertiary'\n />,\n <Button\n key={'create-player-button'}\n text={t('createPlayerNow')}\n spinner={buttonSpinner}\n onClick={createInteractivityPlayer}\n testName={'create-player-button'}\n />,\n ];\n content = (\n <NoPlayerModal\n modalType={NoInteractivityPlayerModalTypes.NO_PLAYER}\n />\n );\n } else {\n content =\n 'videoId' in playerPayload &&\n 'interactivityProjectId' in playerPayload ? (\n <VideoPlayer\n video={playerPayload}\n embedCodeModalType={embedCodeModalType}\n playerListForSelection={playerListForSelection}\n players={players}\n />\n ) : null;\n }\n break;\n default: {\n console.warn(`EmbedModal with ${embedCodeModalType} is not supported`);\n content = null;\n break;\n }\n }\n }\n\n if (!content) {\n console.warn(\n `EmbedModal called with wrong props for type: ${embedCodeModalType}`,\n );\n return null;\n }\n\n return (\n <Modal\n testName='embed-modal'\n title={modalTitle}\n isOpen={isModalOpen}\n large={isLargeModal}\n onClose={closeModal}\n buttons={buttons}\n >\n <Flex className={css.videoDetailsContainer}>{content}</Flex>\n </Modal>\n );\n};\n","import { sortAsc } from 'js/utils/util';\nimport {\n GetPlayersPayload,\n PlayerSelectItem,\n PlayersObject,\n} from 'js/types/players';\nimport {\n bcHostedPlugins,\n CAMPAIGN_PLUGIN_NAME,\n INTERACTIVITY_PLUGIN_NAME,\n} from 'js/constants/pluginsRegistry';\nimport { EmbedCodeModalTypes } from 'js/types/EmbedCodeModalProps';\n\nexport function addPluginsDataToPlayers(\n players: GetPlayersPayload,\n comparingName: string = CAMPAIGN_PLUGIN_NAME,\n embedCodeModalType: EmbedCodeModalTypes,\n) {\n const playerListForSelection: PlayerSelectItem[] = [];\n const playersObject: PlayersObject = {};\n players?.items.forEach((player) => {\n const plugins = player.branches['master'].configuration.plugins ?? [];\n const hasPlugins = plugins ? plugins.length > 0 : false;\n\n let hasBCHostedPlugin = false;\n let isCampaignPlayer = false;\n let isInteractivityPlayer = false;\n for (const plugin of plugins) {\n const { name } = plugin;\n hasBCHostedPlugin = bcHostedPlugins.includes(name);\n isCampaignPlayer = isCampaignPlayer || plugin.name === comparingName;\n isInteractivityPlayer =\n isInteractivityPlayer || plugin.name === INTERACTIVITY_PLUGIN_NAME;\n }\n // Exclude any players that do not have interactivity plugins if the type is PROJECT\n if (\n embedCodeModalType === EmbedCodeModalTypes.PROJECT &&\n !isInteractivityPlayer\n ) {\n return;\n }\n\n playerListForSelection.push({ label: player.name, value: player.id });\n playersObject[player.id] = {\n label: player.name,\n id: player.id,\n hasCustomPlugins: !hasBCHostedPlugin && hasPlugins,\n isCampaignPlayer,\n isInteractivityPlayer,\n };\n });\n\n return {\n players: playersObject,\n playerListForSelection: sortAsc(playerListForSelection),\n };\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { Flex, ToolTip } from '@brightcove/studio-components';\nimport css from 'styles/EmbedCodeModal.sass';\nimport { truncateVideoTitle } from '../utils/util';\nimport { useTranslation } from 'react-i18next';\n\ninterface TitleWithTooltipProps {\n name: string;\n id: string;\n}\nexport const TitleWithTooltip = ({ name, id }: TitleWithTooltipProps) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n\n const titleMemo = useMemo(\n () => (name ? truncateVideoTitle(name) : ''),\n [name],\n );\n\n useEffect(() => {\n if (name) {\n setIsOverflowing(titleMemo !== name);\n }\n }, [titleMemo, name]);\n\n return (\n <Flex flexDirection='column' className={css.mediaData}>\n <ToolTip\n placement='top'\n portal\n block\n content={name}\n active={isOverflowing}\n testName='embed-video-tooltip'\n >\n <div className={css.mediaTitle}>{titleMemo}</div>\n </ToolTip>\n <div className={css.mediaId}>{id}</div>\n </Flex>\n );\n};\n\ninterface ToltipContentProps {\n tooltipTextNew: string;\n tooltipLink: string;\n}\nexport const TooltipContent = ({\n tooltipTextNew,\n tooltipLink,\n}: ToltipContentProps) => {\n const { t } = useTranslation();\n return (\n <>\n <div>{tooltipTextNew}</div>\n <a href={t('learnmore')} target='_blank' rel='noreferrer'>\n {tooltipLink}\n </a>\n </>\n );\n};\n","import React, { useState, useCallback, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Flex, ToolTip, Select, Hideable } from '@brightcove/studio-components';\nimport css from 'styles/EmbedCodeModal.sass';\nimport {\n PlayerSelectItem,\n PlayersObjectItem,\n PlayersObject,\n} from 'js/types/players';\nimport { TooltipContent } from './TitleWithTooltip';\n\nexport interface PlayerDropdownProps {\n onChange?: (a: PlayersObjectItem) => void;\n playerListForSelection: PlayerSelectItem[];\n players: PlayersObject;\n}\n\nexport const PlayersDropdown = ({\n onChange,\n playerListForSelection,\n players,\n}: PlayerDropdownProps) => {\n const { t } = useTranslation();\n const [selected, setSelected] = useState<PlayersObjectItem>();\n\n const handleSelectChange = useCallback(\n (value: string) => {\n if (players) {\n const player = players[value];\n setSelected(player);\n if (onChange) onChange(player);\n }\n },\n [players, onChange],\n );\n\n useEffect(() => {\n if (!selected && players) {\n const firstPlayerKey = Object.keys(players)[0];\n handleSelectChange(firstPlayerKey);\n }\n }, [handleSelectChange, players, selected]);\n\n if (!selected) return null;\n\n return (\n <>\n <Flex>\n <div className={css.playerSelectLabel}>{t('player')}</div>\n <ToolTip\n content={\n <TooltipContent\n tooltipLink={t('tooltipLink')}\n tooltipTextNew={t('tooltipTextNew')}\n />\n }\n placement='top'\n className={css.tooltip}\n reflow={false}\n testName='embed-player-tooltip'\n />\n </Flex>\n <Hideable show={playerListForSelection.length > 0}>\n <Select\n value={selected.id}\n options={playerListForSelection}\n inputClassName={css.playerSelect}\n onChange={handleSelectChange}\n testName='embed-player-select'\n />\n </Hideable>\n </>\n );\n};\n","import React from 'react';\nimport { Flex, Tabs, TabList, Tab } from '@brightcove/studio-components';\nimport { TabsSelectedId } from 'js/types/players';\n\ninterface TabsHeaderProps {\n currentTab: TabsSelectedId;\n handleTabChange: () => void;\n iframeLabel: string;\n jsLabel: string;\n}\nexport const TabsHeader = ({\n currentTab,\n handleTabChange,\n iframeLabel,\n jsLabel,\n}: TabsHeaderProps) => {\n return (\n <Flex justifyContent='space-between' alignItems='baseline'>\n <Tabs selectedId={currentTab} onSelect={handleTabChange}>\n <TabList>\n <Tab tabId='iframe' testName={'iframe-tab'}>\n {iframeLabel}\n </Tab>\n <Tab tabId='javascript' testName={'js-tab'}>\n {jsLabel}\n </Tab>\n </TabList>\n </Tabs>\n </Flex>\n );\n};\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { TabPanel } from '@brightcove/studio-components';\nimport { TabsSelectedId } from 'js/types/players';\nimport css from 'styles/EmbedCodeModal.sass';\nimport { TabsHeader, EmbedCode } from 'js/components';\n\nexport const TabsSection = ({\n isCampaign,\n ...rest\n}: {\n playerId: string;\n isCampaign: boolean;\n videoId?: string;\n accountId: string;\n interactivityProjectId?: string;\n}) => {\n const { t } = useTranslation();\n const [currentTab, setCurrentTab] = useState<TabsSelectedId>('iframe');\n\n const isIframe = currentTab === 'iframe';\n\n const handleTabChange = (id?: string | number) => setCurrentTab(id);\n\n return (\n <>\n <TabsHeader\n currentTab={currentTab}\n handleTabChange={handleTabChange}\n jsLabel={t('tabs.labels.javascript')}\n iframeLabel={t('tabs.labels.iframe')}\n />\n <TabPanel\n testName='embed-tab-content'\n render={() =>\n isCampaign && isIframe ? (\n <span className={css.redHelperText}>\n {t('tabs.helperTextWarning')}\n </span>\n ) : (\n <EmbedCode iframe={isIframe} {...rest} />\n )\n }\n />\n </>\n );\n};\n","import { getShortenedUrl } from '@brightcove/studio-api-services/api/url-shortener-api';\nimport { callAPI } from 'js/utils/call';\n\nexport const shortenUrl = async ({\n longUrl,\n}: {\n longUrl: string;\n}): Promise<string> => {\n return callAPI(getShortenedUrl, { longUrl });\n};\n","import React, { useCallback, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button, Loader } from '@brightcove/studio-components';\nimport css from 'styles/EmbedCodeModal.sass';\nimport { shortenUrl } from '../services/url-shortener';\nimport { getBrightcove } from 'js/utils/util';\n\ninterface VideoLinksProps {\n prevUrl: string;\n}\nexport const VideoLinks = ({ prevUrl }: VideoLinksProps) => {\n const { t } = useTranslation();\n const [isGetUrlLoading, setIsGetUrlLoading] = useState<boolean>(false);\n\n const copyPreviewURL = useCallback(\n async (link: string) => {\n setIsGetUrlLoading(true);\n getUrlAndAddItToClipboard(link)\n .then(() => {\n getBrightcove().Toaster.success({\n title: t('toasterTitle'),\n message: t('toasterGetURLSuccess'),\n });\n })\n .catch(() => {\n getBrightcove().Toaster.error({\n message: t('toasterGetURLError'),\n });\n })\n .finally(() => setIsGetUrlLoading(false));\n },\n [t],\n );\n return (\n <div>\n <div className={css.getURLBtnContainer}>\n <Button\n look='tertiary'\n text={t('getURL')}\n testName='get-url-btn'\n icon={isGetUrlLoading ? '' : 'link'}\n iconRight\n onClick={() => copyPreviewURL(prevUrl)}\n />\n {isGetUrlLoading && (\n <Loader className={css.getURLBtnSpinner} size='inline' color='navy' />\n )}\n </div>\n <Button\n look='tertiary'\n text={t('previewButton')}\n testName='preview-player-btn'\n icon='external_link'\n iconRight\n onClick={() => {\n window.open(prevUrl, '_blank');\n }}\n />\n </div>\n );\n};\n\nexport const getUrlAndAddItToClipboard = async (url: string) => {\n const escapedLongUrl = encodeURI(url);\n // safari\n try {\n return navigator.clipboard.write([\n new ClipboardItem({\n // eslint-disable-next-line no-async-promise-executor\n 'text/plain': new Promise(async (resolve) => {\n const shortUrl = await shortenUrl({ longUrl: escapedLongUrl });\n resolve(new Blob([shortUrl], { type: 'text/plain' }));\n }),\n }),\n ]);\n } catch {\n // chrome and firefox\n const shortUrl = await shortenUrl({ longUrl: escapedLongUrl });\n return navigator.clipboard.writeText(shortUrl);\n }\n};\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = '_zero';\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val.trim();\n if (val.trim() === 'false') formatOptions[key.trim()] = false;\n if (val.trim() === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val.trim())) formatOptions[key.trim()] = parseInt(val.trim(), 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: function number(val, lng, options) {\n return new Intl.NumberFormat(lng, options).format(val);\n },\n currency: function currency(val, lng, options) {\n return new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n })).format(val);\n },\n datetime: function datetime(val, lng, options) {\n return new Intl.DateTimeFormat(lng, _objectSpread$4({}, options)).format(val);\n },\n relativetime: function relativetime(val, lng, options) {\n return new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options)).format(val, options.range || 'day');\n },\n list: function list(val, lng, options) {\n return new Intl.ListFormat(lng, _objectSpread$4({}, options)).format(val);\n }\n };\n this.init(options);\n }\n\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction removePending(q, name) {\n delete q.pending[name];\n q.pendingCount--;\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = Object.keys(loaded[l]);\n\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loadedKeys[ns] !== undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = keyPrefix ? \"\".concat(keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport default instance;\nexport { changeLanguage, createInstance, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport common_en from 'translations/en.json';\nimport common_es from 'translations/es.json';\nimport common_fr from 'translations/fr.json';\nimport common_ja from 'translations/ja.json';\nimport common_ko from 'translations/ko.json';\nimport common_zh from 'translations/zh.json';\n\nexport const resources = {\n en: {\n translation: common_en,\n },\n es: {\n translation: common_es,\n },\n fr: {\n translation: common_fr,\n },\n ja: {\n translation: common_ja,\n },\n ko: {\n translation: common_ko,\n },\n zh: {\n translation: common_zh,\n },\n};\n\ni18n.use(initReactI18next).init({\n lng: window.StudioModule?.config?.lang || 'en',\n fallbackLng: 'en',\n debug: true,\n returnObjects: true,\n resources,\n interpolation: {\n escapeValue: false, // react already safe from xss\n },\n});\n\nexport default i18n;\n","import React, { useEffect, useState } from 'react';\n\nimport { I18nextProvider } from 'react-i18next';\nimport { initialize } from '@brightcove/studio-components';\nimport { QueryClient, QueryClientProvider } from 'react-query';\n\nimport { ModalContainer } from 'js/components';\n\nimport i18n from 'js/i18n';\nimport {\n EmbedCodeModalTypes,\n ModalDataPayload,\n} from './types/EmbedCodeModalProps';\n\nconst appTheme = 'blueSteel';\n\ninitialize({ theme: appTheme });\n\nconst queryClient = new QueryClient();\n\nexport interface EmbedCodeModalProps {\n playerPayload: ModalDataPayload;\n language?: 'en' | 'es' | 'fr' | 'ko' | 'ja' | 'zh';\n embedCodeModalType?: EmbedCodeModalTypes;\n}\n\nconst EmbedModal = ({\n playerPayload,\n language,\n embedCodeModalType,\n}: EmbedCodeModalProps) => {\n const [componentKey, setComponentKey] = useState(0);\n\n useEffect(() => {\n i18n.changeLanguage(language || window.StudioModule.config.lang);\n }, [language]);\n\n const handleSetComponentKey = () => {\n setComponentKey(componentKey + 1);\n };\n\n // avoid calling anything if there is not data\n return playerPayload ? (\n <QueryClientProvider client={queryClient}>\n <I18nextProvider i18n={i18n}>\n <ModalContainer\n key={componentKey}\n handleSetComponentKey={handleSetComponentKey}\n playerPayload={playerPayload}\n language={language}\n embedCodeModalType={embedCodeModalType}\n />\n </I18nextProvider>\n </QueryClientProvider>\n ) : null;\n};\n\nexport default EmbedModal;\n"],"names":["root","factory","exports","module","require","define","amd","a","i","self","__WEBPACK_EXTERNAL_MODULE__156__","__WEBPACK_EXTERNAL_MODULE__66__","__WEBPACK_EXTERNAL_MODULE__111__","__WEBPACK_EXTERNAL_MODULE__494__","e","t","r","n","l","call","m","c","d","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","J","env","NODE_DEBUG","test","Array","slice","arguments","unshift","console","log","apply","SEMVER_SPEC_VERSION","Number","MAX_SAFE_INTEGER","re","src","u","f","h","v","y","g","w","b","I","j","E","S","x","A","C","T","P","R","$","O","q","RegExp","k","M","L","V","z","B","_","N","D","U","H","F","X","G","loose","includePrerelease","length","version","TypeError","this","options","trim","match","raw","major","minor","patch","prerelease","split","map","build","format","parse","valid","clean","replace","SemVer","join","toString","compare","compareMain","comparePre","Y","compareBuild","inc","push","isNaN","Error","diff","ee","compareIdentifiers","Z","K","Q","W","te","ne","ie","oe","semver","ae","operator","rcompareIdentifiers","compareLoose","rcompare","sort","rsort","gt","lt","eq","neq","gte","lte","cmp","Comparator","se","set","parseRange","filter","ce","pop","every","intersects","ue","toLowerCase","le","pe","fe","de","forEach","Range","range","some","toComparators","satisfies","maxSatisfying","minSatisfying","minVersion","validRange","ltr","gtr","outside","coerce","setTimeout","clearTimeout","concat","run","fun","array","nextTick","title","browser","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","iterator","constructor","keys","indexOf","reduce","encodeURIComponent","JSON","stringify","String","accountId","base","playerId","embedId","iframe","minified","queryParams","charAt","substring","VERSION","includeScriptElement","returnDomElement","preview","playlistElement","legacyPlaylistElement","playlistIsHorizontal","formatter","width","height","units","responsive","applicationId","allowFullscreen","allowEncryptedMedia","pictureInPicture","responsiveHeight","createIframeEmbedCode","createElement","urlBase","videoId","interactivityProjectId","playlistId","adConfigId","catalogSearch","catalogSequence","setAttribute","appendChild","innerHTML","createInpageEmbedCode","playerVersion","classList","add","audience","integration","leadForm","firstChild","document","window","_remoteCall","_extends","assign","target","source","key","standardArgs","_ref","apiConfig","origin","getPlayersOrigin","getAccountId","_ref5","_ref2","path","buildGetForPath","buildDeleteForPath","buildPostForPath","buildFilePutForPath","buildPutForPath","buildPatchForPath","buildGetWithParamsForPath","getPlaybackRightsOrigin","getPolicyOrigin","getSocialAPIOrigin","getDeliverySystemOrigin","getAudienceOrigin","getGalleryOrigin","getOAuthVersion","getOAuthOrigin","getNuCMSOrigin","getBeaconOrigin","getAccountsOrigin","getAuthIntegrationVersion","getAuthIntegrationOrigin","getSettingsOrigin","getIngestOrigin","getIngestProfilesOrigin","getAnalyticsOrigin","getSavedSearchOrigin","getliveSsaiOrigin","getSSAIOrigin","getCMSAPIOrigin","api","cms","savedsearch","analytics","players","ingest","accounts","beacon","nucms","oauth","gallery","repos","social","policy","publisherId","method","data","request","params","buildWithDataForPath","_ref3","_ref6","_ref7","_ref4","headers","buildWithFormDataForPath","_ref8","_ref9","longUrl","___CSS_LOADER_EXPORT___","id","locals","cssWithMappingToString","list","item","content","needLayer","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","_k","cssMapping","btoa","base64","unescape","sourceMapping","sourceURLs","sources","sourceRoot","focusManager","_Subscribable","FocusManager","_this","setup","onFocus","_window","addEventListener","listener","removeEventListener","_proto","onSubscribe","cleanup","setEventListener","onUnsubscribe","_this$cleanup","hasListeners","_this$cleanup2","_this2","focused","setFocused","isFocused","includes","visibilityState","logger","getLogger","setLogger","newLogger","notifyManager","NotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","batch","result","flush","schedule","batchCalls","_len","args","_key","_this3","setNotifyFunction","fn","setBatchNotifyFunction","onlineManager","OnlineManager","onOnline","online","setOnline","isOnline","navigator","onLine","Query","config","abortSignalConsumed","hadObservers","defaultOptions","setOptions","observers","cache","queryKey","queryHash","initialState","state","getDefaultState","meta","scheduleGc","_this$options$cacheTi","cacheTime","Math","max","setDefaultOptions","clearGcTimeout","gcTimeout","optionalRemove","isFetching","remove","setData","updater","_this$options$isDataE","_this$options","prevData","isDataEqual","structuralSharing","dispatch","type","dataUpdatedAt","updatedAt","setState","setStateOptions","cancel","_this$retryer","promise","retryer","then","catch","Promise","resolve","destroy","silent","reset","isActive","observer","enabled","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","_this$retryer2","find","shouldFetchOnWindowFocus","refetch","continue","_this$retryer3","shouldFetchOnReconnect","addObserver","notify","query","removeObserver","isTransportCancelable","revert","cancelRetry","getObserversCount","invalidate","fetch","fetchOptions","_this$options$behavio","_context$fetchOptions","_abortController$abor","cancelRefetch","_this$retryer4","continueRetry","queryFn","abortController","queryFnContext","pageParam","signal","_this$options$behavio2","_context$fetchOptions2","context","fetchFn","reject","behavior","onFetch","revertState","fetchMeta","abort","onSuccess","onError","error","onFail","onPause","onContinue","retry","retryDelay","action","reducer","onQueryUpdate","initialData","initialDataUpdatedAt","hasData","dataUpdateCount","Date","now","errorUpdateCount","errorUpdatedAt","fetchFailureCount","isPaused","status","_action$meta","_action$dataUpdatedAt","QueryCache","queries","queriesMap","client","_options$queryHash","defaultQueryOptions","getQueryDefaults","queryInMap","clear","getAll","arg1","arg2","filters","exact","findAll","event","_this4","_this5","Mutation","mutationId","mutationCache","failureCount","variables","execute","restored","onMutate","executeMutation","onSettled","_this$options$retry","mutationFn","onMutationUpdate","MutationCache","mutations","mutation","defaultMutationOptions","mutationKey","getMutationDefaults","resumePausedMutations","pausedMutations","getNextPageParam","pages","getPreviousPageParam","QueryClient","queryCache","queryDefaults","mutationDefaults","mount","unsubscribeFocus","unsubscribeOnline","unmount","_this$unsubscribeFocu","_this$unsubscribeOnli","fetching","isMutating","getQueryData","_this$queryCache$find","getQueriesData","queryKeyOrFilters","getQueryCache","setQueryData","parsedOptions","defaultedOptions","setQueriesData","getQueryState","_this$queryCache$find2","removeQueries","resetQueries","arg3","_parseFilterArgs3","refetchFilters","active","refetchQueries","cancelQueries","_parseFilterArgs4","_parseFilterArgs4$","cancelOptions","promises","all","invalidateQueries","_filters$refetchActiv","_filters$refetchInact","_parseFilterArgs5","refetchActive","inactive","refetchInactive","_this6","_parseFilterArgs6","refetchPage","throwOnError","fetchQuery","prefetchQuery","fetchInfiniteQuery","_context$fetchOptions3","_context$fetchOptions4","_context$state$data","_context$state$data2","fetchMore","isFetchingNextPage","direction","isFetchingPreviousPage","oldPages","oldPageParams","pageParams","abortSignal","newPageParams","cancelled","buildNewPages","param","page","previous","fetchPage","manual","queryFnResult","_manual","_param","shouldFetchFirstPage","_loop","_param2","finalPromise","prefetchInfiniteQuery","cancelMutations","_this7","getMutationCache","getDefaultOptions","setQueryDefaults","_this$queryDefaults$f","setMutationDefaults","_this$mutationDefault","_defaulted","defaultQueryObserverOptions","defaultRetryDelay","min","pow","isCancelable","CancelledError","isCancelledError","Retryer","cancelFn","continueFn","promiseResolve","promiseReject","isResolved","outerResolve","outerReject","promiseOrValue","_unused","_config$retry","_config$retryDelay","delay","shouldRetry","continueResolve","Subscribable","subscribe","isServer","noop","functionalUpdate","input","isValidTimeout","Infinity","ensureQueryKeyArray","isArray","timeUntilStale","parseQueryArgs","isQueryKey","parseFilterArgs","matchQuery","predicate","stale","hashQueryKeyByOptions","partialMatchKey","queryStatusFilter","mapQueryStatusFilter","matchMutation","hashQueryKey","queryKeyHashFn","asArray","val","isPlainObject","partialDeepEqual","replaceEqualDeep","aSize","bItems","bSize","copy","equalItems","shallowEqualObjects","hasObjectPrototype","ctor","prot","sleep","timeout","scheduleMicrotask","getAbortController","AbortController","unstable_batchedUpdates","defaultContext","QueryClientSharingContext","getQueryClientContext","contextSharing","ReactQueryClientContext","QueryClientProvider","_ref$contextSharing","children","Context","Provider","QueryObserver","trackedProps","selectError","bindMethods","currentQuery","shouldFetchOnMount","executeFetch","updateTimers","shouldFetchOn","refetchOnReconnect","refetchOnWindowFocus","clearTimers","notifyOptions","prevOptions","prevQuery","updateQuery","mounted","shouldFetchOptionally","updateResult","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","createResult","currentResult","trackResult","trackedResult","trackProp","configurable","useErrorBoundary","suspense","getNextResult","unsubscribe","isError","getCurrentQuery","fetchOptimistic","clearStaleTimeout","staleTimeoutId","_this$options$refetch","refetchInterval","nextInterval","clearRefetchInterval","refetchIntervalId","setInterval","refetchIntervalInBackground","clearInterval","prevResult","prevResultState","currentResultState","prevResultOptions","currentResultOptions","queryChange","queryInitialState","currentQueryInitialState","prevQueryResult","previousQueryResult","isPreviousData","isPlaceholderData","optimisticResults","fetchOnMount","fetchOptionally","keepPreviousData","isSuccess","select","selectFn","selectResult","placeholderData","isLoading","isIdle","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isRefetchError","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsExclusions","includedProps","typedKey","changed","isIncluded","isExcluded","defaultNotifyOptions","_this8","retryOnMount","shouldLoadOnMount","refetchOnMount","field","createValue","_isReset","clearReset","isReset","QueryErrorResetBoundaryContext","useBaseQuery","Observer","mountedRef","forceUpdate","queryClient","useQueryClient","errorResetBoundary","_useErrorBoundary","current","useQuery","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","obj","writable","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","_invoke","GenStateSuspendedStart","arg","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","done","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","name","mark","setPrototypeOf","__proto__","awrap","async","iter","object","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","count","indexByIdentifier","css","sourceMap","references","addElementStyle","byIndex","splice","domAPI","update","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","element","setAttributes","attributes","styleElement","nonce","insertStyleElement","styleTagTransform","parentNode","removeChild","removeStyleElement","styleSheet","cssText","createTextNode","_inheritsLoose","subClass","superClass","_setPrototypeOf","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","prop","nc","_arrayWithHoles","arr","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","minLen","from","_nonIterableRest","_slicedToArray","_s","_e","_arr","_n","_d","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","getOwnPropertyDescriptors","defineProperties","i18nInstance","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","getDefaults","ReportNamespaces","usedNamespaces","namespaces","ns","getI18n","initReactI18next","init","setDefaults","react","setI18n","I18nextProvider","i18n","defaultNS","useMemo","warn","_console","alreadyWarned","warnOnce","_len2","_key2","loadNamespaces","cb","isInitialized","initialized","oldI18nextHasLoadedNamespace","lng","languages","fallbackLng","lastLng","loadNotPending","loadState","services","backendConnector","backend","isLanguageChangingTo","hasResourceBundle","resources","partialBundledLanguages","hasLoadedNamespace","isNewerI18next","ignoreJSONStructure","precheck","useTranslation","i18nFromProps","useContext","i18nFromContext","defaultNSFromContext","reportNamespaces","notReadyT","retNotReady","ready","wait","i18nOptions","keyPrefix","addUsedNamespaces","initializedStoreOnce","getT","getFixedT","nsMode","_useState","useState","_useState2","setT","isMounted","useRef","useEffect","boundReset","store","isInitial","ret","ROLES","isQA","StudioModule","product","getStudioEnvironment","getUrlBase","sortAsc","label","localeCompare","getVideoPreviewLink","URLSearchParams","append","paramsString","getPreviewPlayerUrl","getStudioModule","getBrightcove","brightcove","getPlayerManagerModuleUrl","defaultConfig","EmbedCode","embedCode","setEmbedCode","embedConfigObj","createEmbedConfigObject","brightcoveEmbedCode","HelperTextNodeNew","Flex","FlexItem","flexGrow","className","CopyField","helperNode","Component","PlainTextArea","componentProps","disabled","disableResizing","onChange","onCopy","Toaster","success","message","hideButton","testName","asyncGeneratorStep","gen","_next","_throw","getStudioConfig","user","currentAccount","callAPI","apiEndpoint","apiArgs","getPlayers","getAllPlayers","createPlayer","payload","createPlayerAPI","isPlayersCallEnabled","EmbedCodeModalTypes","NoInteractivityPlayerModalTypes","bcHostedPlugins","CAMPAIGN_PLUGIN_NAME","INTERACTIVITY_PLUGIN_NAME","DEFAULT_PLAYER_ID","DEFAULT_INTERACTIVITY_PLAYER","defaultPlayer","hasCustomPlugins","isCampaignPlayer","isInteractivityPlayer","VideoPlayer","video","embedCodeModalType","playerListForSelection","setPlayer","previewUrl","setPreviewUrl","playerRef","PROJECT","sharedProps","isCampaign","interactivityProjectName","videoName","PlayersDropdown","baseUrl","attrs","refNode","ref","el","Hideable","show","VideoLinks","prevUrl","TitleWithTooltip","TabsSection","PlayerPreview","configuration","playerUrl","hasBCHostedPlugin","plugins","plugin","embedType","NoPlayerModal","modalType","createPlayersModuleLink","text","href","flexDirection","NO_PLAYER","ModalContainer","handleSetComponentKey","playerPayload","VIDEO","isModalOpen","setIsModalOpen","useGetPlayers","setPlayers","setPlayerListForSelection","hasInteractivityEnabledPlayer","setHasInteractivityEnabledPlayer","hasPublishingRole","setHasPublishingRole","buttonSpinner","setButtonSpinner","roles","getCurrentUserAccount","items","comparingName","playersObject","player","branches","hasPlugins","addPluginsDataToPlayers","closeModal","useCallback","modalTitle","isLargeModal","buttons","Button","onClick","PLAYER","look","spinner","registry_id","res","NO_PERMISSION","Modal","isOpen","large","onClose","isOverflowing","setIsOverflowing","titleMemo","ToolTip","placement","portal","block","TooltipContent","tooltipTextNew","tooltipLink","rel","selected","setSelected","handleSelectChange","firstPlayerKey","reflow","Select","inputClassName","TabsHeader","currentTab","handleTabChange","iframeLabel","jsLabel","justifyContent","alignItems","Tabs","selectedId","onSelect","TabList","Tab","tabId","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","rest","setCurrentTab","isIframe","TabPanel","render","shortenUrl","getShortenedUrl","isGetUrlLoading","setIsGetUrlLoading","copyPreviewURL","link","getUrlAndAddItToClipboard","icon","iconRight","Loader","size","color","open","url","escapedLongUrl","encodeURI","clipboard","write","ClipboardItem","shortUrl","Blob","writeText","_typeof","_assertThisInitialized","ReferenceError","_inherits","_possibleConstructorReturn","_getPrototypeOf","_toArray","consoleLogger","output","Logger","concreteLogger","prefix","debug","bool","forward","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","events","cloned","_cloned","defer","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","stack","shift","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","str","_entityMap","isIE10","userAgent","chars","ownKeys$1","_objectSpread$1","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","Super","NewTarget","deepFind","keySeparator","paths","mix","endsWith","joinedPath","ResourceStore","_EventEmitter","_super","addNamespaces","addResource","deep","pack","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","postProcessor","processors","addPostProcessor","translator","processor","process","ownKeys$2","_objectSpread$2","_createSuper$1","_isNativeReflectConstruct$1","checkedLoadedFor","Translator","language","interpolation","resolved","nsSeparator","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","matched","ki","looksLikeObjectPath","interpolator","nestingRegexp","parts","lastKey","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","defaultVariables","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","interpolate","na","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","code","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","option","capitalize","string","toUpperCase","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","other","createRules","rules","numbers","plurals","PluralResolver","compatibilityJSON","Intl","PluralRules","rule","getRule","resolvedOptions","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","getSuffixRetroCompatible","idx","noAbs","abs","simplifyPluralSuffix","returnSuffix","ownKeys$3","_objectSpread$3","Interpolator","escapeValue","iOpts","escape","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","formatters","doReduce","elem","ownKeys$4","_objectSpread$4","Formatter","formats","NumberFormat","currency","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","ListFormat","_format","mem","_parseFormatStr","formatStr","formatName","formatOptions","optStr","opt","_opt$split2","parseInt","parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$5","_objectSpread$5","_createSuper$2","_isNativeReflectConstruct$2","Connector","waitingReads","maxParallelReads","readingCalls","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","addResourceBundle","_getLastOfPath2","removePending","loadedKeys","fcName","tried","read","queueLoad","loadOne","prepareLoading","fallbackValue","isUpdate","initImmediate","preload","pluralSeparator","tDescription","transformOptions","ownKeys$6","_objectSpread$6","_createSuper$3","_isNativeReflectConstruct$3","bindMemberFunctions","inst","getOwnPropertyNames","I18n","external","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","changeLanguage","usedCallback","resolvedLanguage","setResolvedLanguage","li","lngInLngs","hasLanguageSomeTranslations","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","opts","resultKey","_this$translator","_this$translator2","exists","preResult","preloaded","newLngs","mergedOptions","clone","membersToCopy","createInstance","reloadResources","use","setDefaultNamespace","loadLanguages","en","translation","es","fr","ja","ko","zh","lang","initialize","theme","componentKey","setComponentKey"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"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","sources":["webpack://@brightcove/components-embed-code-modal/webpack/universalModuleDefinition","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/regenerator/index.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@brightcove/player-embed-code/dist/brightcoveEmbedCode.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@brightcove/studio-api-services/api/players-api.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@brightcove/studio-api-services/api/remote-call.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@brightcove/studio-api-services/api/url-shortener-api.js","webpack://@brightcove/components-embed-code-modal/./src/styles/EmbedCode.sass","webpack://@brightcove/components-embed-code-modal/./src/styles/EmbedCodeModal.sass","webpack://@brightcove/components-embed-code-modal/./node_modules/css-loader/dist/runtime/api.js","webpack://@brightcove/components-embed-code-modal/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://@brightcove/components-embed-code-modal/./node_modules/global/document.js","webpack://@brightcove/components-embed-code-modal/./node_modules/global/window.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/focusManager.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/logger.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/notifyManager.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/onlineManager.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/query.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/queryCache.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/mutation.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/mutationCache.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/infiniteQueryBehavior.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/queryClient.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/retryer.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/subscribable.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/utils.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/reactBatchedUpdates.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/setBatchUpdatesFn.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/logger.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/setLogger.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/QueryClientProvider.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/core/queryObserver.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/QueryErrorResetBoundary.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/useBaseQuery.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/utils.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-query/es/react/useQuery.js","webpack://@brightcove/components-embed-code-modal/./node_modules/regenerator-runtime/runtime.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://@brightcove/components-embed-code-modal/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://@brightcove/components-embed-code-modal/external umd \"@brightcove/studio-components\"","webpack://@brightcove/components-embed-code-modal/external umd \"react\"","webpack://@brightcove/components-embed-code-modal/external umd \"react-dom\"","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@brightcove/components-embed-code-modal/webpack/bootstrap","webpack://@brightcove/components-embed-code-modal/webpack/runtime/compat get default export","webpack://@brightcove/components-embed-code-modal/webpack/runtime/define property getters","webpack://@brightcove/components-embed-code-modal/webpack/runtime/global","webpack://@brightcove/components-embed-code-modal/webpack/runtime/hasOwnProperty shorthand","webpack://@brightcove/components-embed-code-modal/webpack/runtime/make namespace object","webpack://@brightcove/components-embed-code-modal/webpack/runtime/nonce","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-i18next/dist/es/context.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-i18next/dist/es/utils.js","webpack://@brightcove/components-embed-code-modal/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://@brightcove/components-embed-code-modal/./src/js/utils/util.ts","webpack://@brightcove/components-embed-code-modal/./src/js/constants/baseUrls.ts","webpack://@brightcove/components-embed-code-modal/./src/styles/EmbedCode.sass?5c7e","webpack://@brightcove/components-embed-code-modal/./src/js/components/EmbedCopySection.tsx","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://@brightcove/components-embed-code-modal/./src/js/utils/call.ts","webpack://@brightcove/components-embed-code-modal/./src/js/services/players-api.ts","webpack://@brightcove/components-embed-code-modal/./src/js/hooks/useGetPlayers.ts","webpack://@brightcove/components-embed-code-modal/./src/js/types/EmbedCodeModalProps.ts","webpack://@brightcove/components-embed-code-modal/./src/js/constants/pluginsRegistry.ts","webpack://@brightcove/components-embed-code-modal/./src/js/constants/player.ts","webpack://@brightcove/components-embed-code-modal/./src/styles/EmbedCodeModal.sass?b5c4","webpack://@brightcove/components-embed-code-modal/./node_modules/@brightcove/react-player-loader/dist/brightcove-react-player-loader.es.js","webpack://@brightcove/components-embed-code-modal/./src/js/components/VideoPlayer.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/PlayerPreview.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/NoPlayerModal.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/ModalContainer.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/utils/addPluginsDataToPlayers.ts","webpack://@brightcove/components-embed-code-modal/./src/js/components/TitleWithTooltip.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/PlayersDropdown.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/components/TabsHeader.tsx","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://@brightcove/components-embed-code-modal/./src/js/components/TabsSection.tsx","webpack://@brightcove/components-embed-code-modal/./src/js/services/url-shortener.ts","webpack://@brightcove/components-embed-code-modal/./src/js/components/VideoLinks.tsx","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://@brightcove/components-embed-code-modal/./node_modules/i18next/dist/esm/i18next.js","webpack://@brightcove/components-embed-code-modal/./src/js/i18n.ts","webpack://@brightcove/components-embed-code-modal/./src/js/EmbedCodeModal.tsx"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"@brightcove/studio-components\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"@brightcove/studio-components\", \"react-dom\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"@brightcove/studio-components\"), require(\"react-dom\")) : factory(root[\"react\"], root[\"@brightcove/studio-components\"], root[\"react-dom\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, (__WEBPACK_EXTERNAL_MODULE__156__, __WEBPACK_EXTERNAL_MODULE__66__, __WEBPACK_EXTERNAL_MODULE__111__) => {\nreturn ","module.exports = require(\"regenerator-runtime\");\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.brightcoveEmbedCode=t():e.brightcoveEmbedCode=t()}(this,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=2)}([function(e,t,r){(function(r){var n;t=e.exports=J,n=\"object\"==typeof r&&r.env&&r.env.NODE_DEBUG&&/\\bsemver\\b/i.test(r.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift(\"SEMVER\"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION=\"2.0.0\";var i=256,o=Number.MAX_SAFE_INTEGER||9007199254740991,a=t.re=[],s=t.src=[],c=0,u=c++;s[u]=\"0|[1-9]\\\\d*\";var l=c++;s[l]=\"[0-9]+\";var p=c++;s[p]=\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\";var f=c++;s[f]=\"(\"+s[u]+\")\\\\.(\"+s[u]+\")\\\\.(\"+s[u]+\")\";var d=c++;s[d]=\"(\"+s[l]+\")\\\\.(\"+s[l]+\")\\\\.(\"+s[l]+\")\";var h=c++;s[h]=\"(?:\"+s[u]+\"|\"+s[p]+\")\";var v=c++;s[v]=\"(?:\"+s[l]+\"|\"+s[p]+\")\";var m=c++;s[m]=\"(?:-(\"+s[h]+\"(?:\\\\.\"+s[h]+\")*))\";var y=c++;s[y]=\"(?:-?(\"+s[v]+\"(?:\\\\.\"+s[v]+\")*))\";var g=c++;s[g]=\"[0-9A-Za-z-]+\";var w=c++;s[w]=\"(?:\\\\+(\"+s[g]+\"(?:\\\\.\"+s[g]+\")*))\";var b=c++,I=\"v?\"+s[f]+s[m]+\"?\"+s[w]+\"?\";s[b]=\"^\"+I+\"$\";var j=\"[v=\\\\s]*\"+s[d]+s[y]+\"?\"+s[w]+\"?\",E=c++;s[E]=\"^\"+j+\"$\";var S=c++;s[S]=\"((?:<|>)?=?)\";var x=c++;s[x]=s[l]+\"|x|X|\\\\*\";var A=c++;s[A]=s[u]+\"|x|X|\\\\*\";var C=c++;s[C]=\"[v=\\\\s]*(\"+s[A]+\")(?:\\\\.(\"+s[A]+\")(?:\\\\.(\"+s[A]+\")(?:\"+s[m]+\")?\"+s[w]+\"?)?)?\";var T=c++;s[T]=\"[v=\\\\s]*(\"+s[x]+\")(?:\\\\.(\"+s[x]+\")(?:\\\\.(\"+s[x]+\")(?:\"+s[y]+\")?\"+s[w]+\"?)?)?\";var P=c++;s[P]=\"^\"+s[S]+\"\\\\s*\"+s[C]+\"$\";var R=c++;s[R]=\"^\"+s[S]+\"\\\\s*\"+s[T]+\"$\";var $=c++;s[$]=\"(?:^|[^\\\\d])(\\\\d{1,16})(?:\\\\.(\\\\d{1,16}))?(?:\\\\.(\\\\d{1,16}))?(?:$|[^\\\\d])\";var O=c++;s[O]=\"(?:~>?)\";var q=c++;s[q]=\"(\\\\s*)\"+s[O]+\"\\\\s+\",a[q]=new RegExp(s[q],\"g\");var k=c++;s[k]=\"^\"+s[O]+s[C]+\"$\";var M=c++;s[M]=\"^\"+s[O]+s[T]+\"$\";var L=c++;s[L]=\"(?:\\\\^)\";var V=c++;s[V]=\"(\\\\s*)\"+s[L]+\"\\\\s+\",a[V]=new RegExp(s[V],\"g\");var z=c++;s[z]=\"^\"+s[L]+s[C]+\"$\";var B=c++;s[B]=\"^\"+s[L]+s[T]+\"$\";var _=c++;s[_]=\"^\"+s[S]+\"\\\\s*(\"+j+\")$|^$\";var N=c++;s[N]=\"^\"+s[S]+\"\\\\s*(\"+I+\")$|^$\";var D=c++;s[D]=\"(\\\\s*)\"+s[S]+\"\\\\s*(\"+j+\"|\"+s[C]+\")\",a[D]=new RegExp(s[D],\"g\");var U=c++;s[U]=\"^\\\\s*(\"+s[C]+\")\\\\s+-\\\\s+(\"+s[C]+\")\\\\s*$\";var H=c++;s[H]=\"^\\\\s*(\"+s[T]+\")\\\\s+-\\\\s+(\"+s[T]+\")\\\\s*$\";var F=c++;s[F]=\"(<|>)?=?\\\\s*\\\\*\";for(var X=0;X<35;X++)n(X,s[X]),a[X]||(a[X]=new RegExp(s[X]));function G(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof J)return e;if(\"string\"!=typeof e)return null;if(e.length>i)return null;if(!(t.loose?a[E]:a[b]).test(e))return null;try{return new J(e,t)}catch(e){return null}}function J(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof J){if(e.loose===t.loose)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \"+e);if(e.length>i)throw new TypeError(\"version is longer than \"+i+\" characters\");if(!(this instanceof J))return new J(e,t);n(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose;var r=e.trim().match(t.loose?a[E]:a[b]);if(!r)throw new TypeError(\"Invalid Version: \"+e);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>o||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>o||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>o||this.patch<0)throw new TypeError(\"Invalid patch version\");r[4]?this.prerelease=r[4].split(\".\").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t<o)return t}return e}):this.prerelease=[],this.build=r[5]?r[5].split(\".\"):[],this.format()}t.parse=G,t.valid=function(e,t){var r=G(e,t);return r?r.version:null},t.clean=function(e,t){var r=G(e.trim().replace(/^[=v]+/,\"\"),t);return r?r.version:null},t.SemVer=J,J.prototype.format=function(){return this.version=this.major+\".\"+this.minor+\".\"+this.patch,this.prerelease.length&&(this.version+=\"-\"+this.prerelease.join(\".\")),this.version},J.prototype.toString=function(){return this.version},J.prototype.compare=function(e){return n(\"SemVer.compare\",this.version,this.options,e),e instanceof J||(e=new J(e,this.options)),this.compareMain(e)||this.comparePre(e)},J.prototype.compareMain=function(e){return e instanceof J||(e=new J(e,this.options)),Y(this.major,e.major)||Y(this.minor,e.minor)||Y(this.patch,e.patch)},J.prototype.comparePre=function(e){if(e instanceof J||(e=new J(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;var t=0;do{var r=this.prerelease[t],i=e.prerelease[t];if(n(\"prerelease compare\",t,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return Y(r,i)}while(++t)},J.prototype.compareBuild=function(e){e instanceof J||(e=new J(e,this.options));var t=0;do{var r=this.build[t],i=e.build[t];if(n(\"prerelease compare\",t,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return Y(r,i)}while(++t)},J.prototype.inc=function(e,t){switch(e){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",t);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",t);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"prerelease\":0===this.prerelease.length&&this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"major\":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case\"pre\":if(0===this.prerelease.length)this.prerelease=[0];else{for(var r=this.prerelease.length;--r>=0;)\"number\"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \"+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,r,n){\"string\"==typeof r&&(n=r,r=void 0);try{return new J(e,r).inc(t,n).version}catch(e){return null}},t.diff=function(e,t){if(ee(e,t))return null;var r=G(e),n=G(t),i=\"\";if(r.prerelease.length||n.prerelease.length){i=\"pre\";var o=\"prerelease\"}for(var a in r)if((\"major\"===a||\"minor\"===a||\"patch\"===a)&&r[a]!==n[a])return i+a;return o},t.compareIdentifiers=Y;var Z=/^[0-9]+$/;function Y(e,t){var r=Z.test(e),n=Z.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e<t?-1:1}function K(e,t,r){return new J(e,r).compare(new J(t,r))}function Q(e,t,r){return K(e,t,r)>0}function W(e,t,r){return K(e,t,r)<0}function ee(e,t,r){return 0===K(e,t,r)}function te(e,t,r){return 0!==K(e,t,r)}function re(e,t,r){return K(e,t,r)>=0}function ne(e,t,r){return K(e,t,r)<=0}function ie(e,t,r,n){switch(t){case\"===\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e===r;case\"!==\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e!==r;case\"\":case\"=\":case\"==\":return ee(e,r,n);case\"!=\":return te(e,r,n);case\">\":return Q(e,r,n);case\">=\":return re(e,r,n);case\"<\":return W(e,r,n);case\"<=\":return ne(e,r,n);default:throw new TypeError(\"Invalid operator: \"+t)}}function oe(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof oe))return new oe(e,t);n(\"comparator\",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===ae?this.value=\"\":this.value=this.operator+this.semver.version,n(\"comp\",this)}t.rcompareIdentifiers=function(e,t){return Y(t,e)},t.major=function(e,t){return new J(e,t).major},t.minor=function(e,t){return new J(e,t).minor},t.patch=function(e,t){return new J(e,t).patch},t.compare=K,t.compareLoose=function(e,t){return K(e,t,!0)},t.compareBuild=function(e,t,r){var n=new J(e,r),i=new J(t,r);return n.compare(i)||n.compareBuild(i)},t.rcompare=function(e,t,r){return K(t,e,r)},t.sort=function(e,r){return e.sort(function(e,n){return t.compareBuild(e,n,r)})},t.rsort=function(e,r){return e.sort(function(e,n){return t.compareBuild(n,e,r)})},t.gt=Q,t.lt=W,t.eq=ee,t.neq=te,t.gte=re,t.lte=ne,t.cmp=ie,t.Comparator=oe;var ae={};function se(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof se)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new se(e.raw,t);if(e instanceof oe)return new se(e.value,t);if(!(this instanceof se))return new se(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\\s*\\|\\|\\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length}),!this.set.length)throw new TypeError(\"Invalid SemVer Range: \"+e);this.format()}function ce(e,t){for(var r=!0,n=e.slice(),i=n.pop();r&&n.length;)r=n.every(function(e){return i.intersects(e,t)}),i=n.pop();return r}function ue(e){return!e||\"x\"===e.toLowerCase()||\"*\"===e}function le(e,t,r,n,i,o,a,s,c,u,l,p,f){return((t=ue(r)?\"\":ue(n)?\">=\"+r+\".0.0\":ue(i)?\">=\"+r+\".\"+n+\".0\":\">=\"+t)+\" \"+(s=ue(c)?\"\":ue(u)?\"<\"+(+c+1)+\".0.0\":ue(l)?\"<\"+c+\".\"+(+u+1)+\".0\":p?\"<=\"+c+\".\"+u+\".\"+l+\"-\"+p:\"<=\"+s)).trim()}function pe(e,t,r){for(var i=0;i<e.length;i++)if(!e[i].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(i=0;i<e.length;i++)if(n(e[i].semver),e[i].semver!==ae&&e[i].semver.prerelease.length>0){var o=e[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function fe(e,t,r){try{t=new se(t,r)}catch(e){return!1}return t.test(e)}function de(e,t,r,n){var i,o,a,s,c;switch(e=new J(e,n),t=new se(t,n),r){case\">\":i=Q,o=ne,a=W,s=\">\",c=\">=\";break;case\"<\":i=W,o=re,a=Q,s=\"<\",c=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(fe(e,t,n))return!1;for(var u=0;u<t.set.length;++u){var l=t.set[u],p=null,f=null;if(l.forEach(function(e){e.semver===ae&&(e=new oe(\">=0.0.0\")),p=p||e,f=f||e,i(e.semver,p.semver,n)?p=e:a(e.semver,f.semver,n)&&(f=e)}),p.operator===s||p.operator===c)return!1;if((!f.operator||f.operator===s)&&o(e,f.semver))return!1;if(f.operator===c&&a(e,f.semver))return!1}return!0}oe.prototype.parse=function(e){var t=this.options.loose?a[_]:a[N],r=e.match(t);if(!r)throw new TypeError(\"Invalid comparator: \"+e);this.operator=void 0!==r[1]?r[1]:\"\",\"=\"===this.operator&&(this.operator=\"\"),r[2]?this.semver=new J(r[2],this.options.loose):this.semver=ae},oe.prototype.toString=function(){return this.value},oe.prototype.test=function(e){if(n(\"Comparator.test\",e,this.options.loose),this.semver===ae||e===ae)return!0;if(\"string\"==typeof e)try{e=new J(e,this.options)}catch(e){return!1}return ie(e,this.operator,this.semver,this.options)},oe.prototype.intersects=function(e,t){if(!(e instanceof oe))throw new TypeError(\"a Comparator is required\");var r;if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),\"\"===this.operator)return\"\"===this.value||(r=new se(e.value,t),fe(this.value,r,t));if(\"\"===e.operator)return\"\"===e.value||(r=new se(this.value,t),fe(e.semver,r,t));var n=!(\">=\"!==this.operator&&\">\"!==this.operator||\">=\"!==e.operator&&\">\"!==e.operator),i=!(\"<=\"!==this.operator&&\"<\"!==this.operator||\"<=\"!==e.operator&&\"<\"!==e.operator),o=this.semver.version===e.semver.version,a=!(\">=\"!==this.operator&&\"<=\"!==this.operator||\">=\"!==e.operator&&\"<=\"!==e.operator),s=ie(this.semver,\"<\",e.semver,t)&&(\">=\"===this.operator||\">\"===this.operator)&&(\"<=\"===e.operator||\"<\"===e.operator),c=ie(this.semver,\">\",e.semver,t)&&(\"<=\"===this.operator||\"<\"===this.operator)&&(\">=\"===e.operator||\">\"===e.operator);return n||i||o&&a||s||c},t.Range=se,se.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(\" \").trim()}).join(\"||\").trim(),this.range},se.prototype.toString=function(){return this.range},se.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var r=t?a[H]:a[U];e=e.replace(r,le),n(\"hyphen replace\",e),e=e.replace(a[D],\"$1$2$3\"),n(\"comparator trim\",e,a[D]),e=(e=(e=e.replace(a[q],\"$1~\")).replace(a[V],\"$1^\")).split(/\\s+/).join(\" \");var i=t?a[_]:a[N],o=e.split(\" \").map(function(e){return function(e,t){return n(\"comp\",e,t),e=function(e,t){return e.trim().split(/\\s+/).map(function(e){return function(e,t){n(\"caret\",e,t);var r=t.loose?a[B]:a[z];return e.replace(r,function(t,r,i,o,a){var s;return n(\"caret\",e,t,r,i,o,a),ue(r)?s=\"\":ue(i)?s=\">=\"+r+\".0.0 <\"+(+r+1)+\".0.0\":ue(o)?s=\"0\"===r?\">=\"+r+\".\"+i+\".0 <\"+r+\".\"+(+i+1)+\".0\":\">=\"+r+\".\"+i+\".0 <\"+(+r+1)+\".0.0\":a?(n(\"replaceCaret pr\",a),s=\"0\"===r?\"0\"===i?\">=\"+r+\".\"+i+\".\"+o+\"-\"+a+\" <\"+r+\".\"+i+\".\"+(+o+1):\">=\"+r+\".\"+i+\".\"+o+\"-\"+a+\" <\"+r+\".\"+(+i+1)+\".0\":\">=\"+r+\".\"+i+\".\"+o+\"-\"+a+\" <\"+(+r+1)+\".0.0\"):(n(\"no pr\"),s=\"0\"===r?\"0\"===i?\">=\"+r+\".\"+i+\".\"+o+\" <\"+r+\".\"+i+\".\"+(+o+1):\">=\"+r+\".\"+i+\".\"+o+\" <\"+r+\".\"+(+i+1)+\".0\":\">=\"+r+\".\"+i+\".\"+o+\" <\"+(+r+1)+\".0.0\"),n(\"caret return\",s),s})}(e,t)}).join(\" \")}(e,t),n(\"caret\",e),e=function(e,t){return e.trim().split(/\\s+/).map(function(e){return function(e,t){var r=t.loose?a[M]:a[k];return e.replace(r,function(t,r,i,o,a){var s;return n(\"tilde\",e,t,r,i,o,a),ue(r)?s=\"\":ue(i)?s=\">=\"+r+\".0.0 <\"+(+r+1)+\".0.0\":ue(o)?s=\">=\"+r+\".\"+i+\".0 <\"+r+\".\"+(+i+1)+\".0\":a?(n(\"replaceTilde pr\",a),s=\">=\"+r+\".\"+i+\".\"+o+\"-\"+a+\" <\"+r+\".\"+(+i+1)+\".0\"):s=\">=\"+r+\".\"+i+\".\"+o+\" <\"+r+\".\"+(+i+1)+\".0\",n(\"tilde return\",s),s})}(e,t)}).join(\" \")}(e,t),n(\"tildes\",e),e=function(e,t){return n(\"replaceXRanges\",e,t),e.split(/\\s+/).map(function(e){return function(e,t){e=e.trim();var r=t.loose?a[R]:a[P];return e.replace(r,function(t,r,i,o,a,s){n(\"xRange\",e,t,r,i,o,a,s);var c=ue(i),u=c||ue(o),l=u||ue(a),p=l;return\"=\"===r&&p&&(r=\"\"),c?t=\">\"===r||\"<\"===r?\"<0.0.0\":\"*\":r&&p?(u&&(o=0),a=0,\">\"===r?(r=\">=\",u?(i=+i+1,o=0,a=0):(o=+o+1,a=0)):\"<=\"===r&&(r=\"<\",u?i=+i+1:o=+o+1),t=r+i+\".\"+o+\".\"+a):u?t=\">=\"+i+\".0.0 <\"+(+i+1)+\".0.0\":l&&(t=\">=\"+i+\".\"+o+\".0 <\"+i+\".\"+(+o+1)+\".0\"),n(\"xRange return\",t),t})}(e,t)}).join(\" \")}(e,t),n(\"xrange\",e),e=function(e,t){return n(\"replaceStars\",e,t),e.trim().replace(a[F],\"\")}(e,t),n(\"stars\",e),e}(e,this.options)},this).join(\" \").split(/\\s+/);return this.options.loose&&(o=o.filter(function(e){return!!e.match(i)})),o=o.map(function(e){return new oe(e,this.options)},this)},se.prototype.intersects=function(e,t){if(!(e instanceof se))throw new TypeError(\"a Range is required\");return this.set.some(function(r){return ce(r,t)&&e.set.some(function(e){return ce(e,t)&&r.every(function(r){return e.every(function(e){return r.intersects(e,t)})})})})},t.toComparators=function(e,t){return new se(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(\" \").trim().split(\" \")})},se.prototype.test=function(e){if(!e)return!1;if(\"string\"==typeof e)try{e=new J(e,this.options)}catch(e){return!1}for(var t=0;t<this.set.length;t++)if(pe(this.set[t],e,this.options))return!0;return!1},t.satisfies=fe,t.maxSatisfying=function(e,t,r){var n=null,i=null;try{var o=new se(t,r)}catch(e){return null}return e.forEach(function(e){o.test(e)&&(n&&-1!==i.compare(e)||(i=new J(n=e,r)))}),n},t.minSatisfying=function(e,t,r){var n=null,i=null;try{var o=new se(t,r)}catch(e){return null}return e.forEach(function(e){o.test(e)&&(n&&1!==i.compare(e)||(i=new J(n=e,r)))}),n},t.minVersion=function(e,t){e=new se(e,t);var r=new J(\"0.0.0\");if(e.test(r))return r;if(r=new J(\"0.0.0-0\"),e.test(r))return r;r=null;for(var n=0;n<e.set.length;++n){var i=e.set[n];i.forEach(function(e){var t=new J(e.semver.version);switch(e.operator){case\">\":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case\"\":case\">=\":r&&!Q(r,t)||(r=t);break;case\"<\":case\"<=\":break;default:throw new Error(\"Unexpected operation: \"+e.operator)}})}if(r&&e.test(r))return r;return null},t.validRange=function(e,t){try{return new se(e,t).range||\"*\"}catch(e){return null}},t.ltr=function(e,t,r){return de(e,t,\"<\",r)},t.gtr=function(e,t,r){return de(e,t,\">\",r)},t.outside=de,t.prerelease=function(e,t){var r=G(e,t);return r&&r.prerelease.length?r.prerelease:null},t.intersects=function(e,t,r){return e=new se(e,r),t=new se(t,r),e.intersects(t)},t.coerce=function(e,t){if(e instanceof J)return e;if(\"string\"!=typeof e)return null;var r=e.match(a[$]);if(null==r)return null;return G(r[1]+\".\"+(r[2]||\"0\")+\".\"+(r[3]||\"0\"),t)}}).call(this,r(1))},function(e,t){var r,n,i=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r=\"function\"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{n=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var c,u=[],l=!1,p=-1;function f(){l&&c&&(l=!1,c.length?u=c.concat(u):p=-1,u.length&&d())}function d(){if(!l){var e=s(f);l=!0;for(var t=u.length;t;){for(c=u,u=[];++p<t;)c&&c[p].run();p=-1,t=u.length}c=null,l=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function v(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new h(e,t)),1!==u.length||l||s(d)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=v,i.addListener=v,i.once=v,i.off=v,i.removeListener=v,i.removeAllListeners=v,i.emit=v,i.prependListener=v,i.prependOnceListener=v,i.listeners=function(e){return[]},i.binding=function(e){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(e){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},function(e,t,r){\"use strict\";r.r(t);\n/*! @name @brightcove/player-url @version 1.2.0 @license Apache-2.0 */\nvar n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i=[\"catalogSearch\",\"catalogSequence\"],o=[\"adConfigId\",\"applicationId\",\"catalogSearch\",\"catalogSequence\",\"playlistId\",\"playlistVideoId\",\"videoId\",\"interactivityProjectId\"],a=function(e){return Object.keys(e).filter(function(e){return-1!==o.indexOf(e)}).reduce(function(t,r){var n=function(e,t){if(e&&void 0!==e[t]){if(\"string\"!=typeof e[t]&&-1!==i.indexOf(t))try{return encodeURIComponent(JSON.stringify(e[t]))}catch(e){return}return encodeURIComponent(String(e[t]).trim())||void 0}}(e,r);return void 0!==n&&(t+=t?\"&\":\"?\",t+=encodeURIComponent(r)+\"=\"+n),t},\"\")},s=function(e){var t=e.accountId,r=e.base,i=void 0===r?\"https://players.brightcove.net\":r,o=e.playerId,s=void 0===o?\"default\":o,c=e.embedId,u=void 0===c?\"default\":c,l=e.iframe,p=void 0!==l&&l,f=e.minified,d=void 0===f||f,h=e.queryParams,v=void 0===h?null:h,m=\"\";p?m+=\"html\":(d&&(m+=\"min.\"),m+=\"js\"),\"/\"===i.charAt(i.length-1)&&(i=i.substring(0,i.length-1));var y=\"\";return p&&v&&\"object\"===(void 0===v?\"undefined\":n(v))&&(y=a(v)),i+\"/\"+(t=encodeURIComponent(t))+\"/\"+(s=encodeURIComponent(s))+\"_\"+(u=encodeURIComponent(u))+\"/index.\"+m+y};s.VERSION=\"1.2.0\";var c=s,u={playerId:\"default\",embedId:\"default\",iframe:!1,includeScriptElement:!0,minified:!0,returnDomElement:!1,preview:!1,playlistElement:!1,legacyPlaylistElement:!1,playlistIsHorizontal:!0,formatter:function(e){return e},width:960,height:540,units:\"px\",responsive:!0,applicationId:\"\",allowFullscreen:!0,allowEncryptedMedia:!0,pictureInPicture:!1,responsiveHeight:\"56.25%\"};function l(e,t){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);for(var i in t)t.hasOwnProperty(i)&&(r[i]=t[i]);return t.responsive&&!t.width&&(r.width=100,r.units=\"%\"),r}var p={createIframeEmbedCode:function(e,t){t=l(u,t);var r,n=e.createElement(\"div\"),i=e.createElement(\"iframe\");if(t.preview){r=(t.urlBase?t.urlBase:\"//preview-players.brightcove.net\")+\"/v2/accounts/\"+t.accountId+\"/players/\"+t.playerId+\"/preview/embeds/\"+t.embedId+\"/master/index.html\",t.videoId&&(r+=\"?videoId=\"+t.videoId),t.interactivityProjectId&&(r+=\"?interactivityProjectId=\"+t.interactivityProjectId)}else{var o={accountId:t.accountId,playerId:t.playerId,embedId:t.embedId,iframe:!0,minified:t.minified,queryParams:{videoId:t.videoId,playlistId:t.playlistId,interactivityProjectId:t.interactivityProjectId,adConfigId:t.adConfigId,applicationId:t.applicationId,catalogSearch:t.catalogSearch,catalogSequence:t.catalogSequence}};t.urlBase&&(o.base=t.urlBase),r=c(o)}if(t.returnDomElement?i.setAttribute(\"src\",r):i.setAttribute(\"fzrsbrxzyeajgdaxuxqu\",r),t.allowFullscreen&&i.setAttribute(\"allowfullscreen\",\"\"),t.allowEncryptedMedia&&i.setAttribute(\"allow\",\"encrypted-media\"),t.responsive){var a=e.createElement(\"div\"),s=e.createElement(\"div\");a.setAttribute(\"style\",\"position: relative; display: block; max-width: \".concat(t.width).concat(t.units,\";\")),s.setAttribute(\"style\",\"padding-top: \".concat(t.responsiveHeight,\";\")),i.setAttribute(\"style\",\"position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; width: 100%; height: 100%;\"),n.appendChild(a),a.appendChild(s),s.appendChild(i)}else\"px\"!==t.units?i.setAttribute(\"style\",\"width: \".concat(t.width).concat(t.units,\"; height: \").concat(t.height).concat(t.units,\";\")):(i.setAttribute(\"width\",t.width),i.setAttribute(\"height\",t.height)),n.appendChild(i);return t.returnDomElement?n:t.formatter(n.innerHTML.replace(\"fzrsbrxzyeajgdaxuxqu\",\"src\")).replace(\"&amp;\",\"&\")}},f=r(0),d=r.n(f);function h(e){return(h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var v={createInpageEmbedCode:function(e,t){if((t=l(u,t)).preview)throw new Error(\"You cannot preview an in-page embed\");var r,n=e.createElement(\"div\"),i=e.createElement(\"div\");t.playerVersion&&d.a.gt(\"6.11.0\",t.playerVersion)?(r=e.createElement(\"video\")).classList.add(\"video-js\"):r=e.createElement(\"video-js\");if(r.setAttribute(\"data-account\",t.accountId),r.setAttribute(\"data-player\",t.playerId),r.setAttribute(\"data-embed\",t.embedId),r.setAttribute(\"controls\",\"\"),void 0!==t.videoId&&r.setAttribute(\"data-video-id\",t.videoId),void 0!==t.playlistId&&r.setAttribute(\"data-playlist-id\",t.playlistId),void 0!==t.interactivityProjectId&&r.setAttribute(\"data-interactivity-project-id\",t.interactivityProjectId),void 0!==t.adConfigId&&r.setAttribute(\"data-ad-config-id\",t.adConfigId),void 0!==t.applicationId&&r.setAttribute(\"data-application-id\",t.applicationId),void 0!==t.catalogSearch&&(\"object\"===h(t.catalogSearch)?r.setAttribute(\"data-catalog-search\",JSON.stringify(t.catalogSearch)):r.setAttribute(\"data-catalog-search\",String(t.catalogSearch))),void 0!==t.catalogSequence&&r.setAttribute(\"data-catalog-sequence\",JSON.stringify(t.catalogSequence)),void 0!==t.audience&&\"object\"===h(t.audience)&&(void 0!==t.audience.integration&&r.setAttribute(\"data-bc-integrationid\",t.audience.integration),void 0!==t.audience.leadForm&&r.setAttribute(\"data-bc-leadformid\",t.audience.leadForm)),t.responsive){var o=e.createElement(\"style\");o.innerHTML=\"video-js.video-js.vjs-fluid:not(.vjs-audio-only-mode) {padding-top: \".concat(t.responsiveHeight,\";}\");var a=\"max-width: \".concat(t.width).concat(t.units,\";\");i.setAttribute(\"style\",a),i.appendChild(o)}else{var s=\"width: \".concat(t.width).concat(t.units,\";\");i.setAttribute(\"style\",s),r.setAttribute(\"width\",t.width),r.setAttribute(\"height\",t.height)}if(r.classList.add(\"vjs-fluid\"),i.appendChild(r),n.appendChild(i),t.pictureInPicture){var p=e.createElement(\"div\");p.classList.add(\"vjs-pip-container\"),p.appendChild(n.firstChild),n.appendChild(p)}if(t.playlistElement)if(t.playlistIsHorizontal){var f=e.createElement(\"div\");f.setAttribute(\"class\",\"vjs-playlist\"),i.appendChild(f)}else i.classList.add(\"vjs-playlist-player-container\");if(t.includeScriptElement){var v=e.createElement(\"script\"),m={accountId:t.accountId,playerId:t.playerId,embedId:t.embedId,minified:t.minified};t.urlBase&&(m.base=t.urlBase),t.returnDomElement?v.setAttribute(\"src\",c(m)):v.setAttribute(\"fzrsbrxzyeajgdaxuxqu\",c(m)),n.appendChild(v)}if(t.legacyPlaylistElement&&!t.playlistElement){var y=e.createElement(\"ol\");y.setAttribute(\"class\",\"vjs-playlist\"),n.appendChild(y)}return t.returnDomElement?n:t.formatter(n.innerHTML.replace(\"fzrsbrxzyeajgdaxuxqu\",\"src\"))}};function m(e){if(void 0===e)throw new Error(\"options object is required\");if(void 0===e.accountId)throw new Error(\"accountId is required\");if(!e.document&&\"undefined\"==typeof window)throw new Error(\"No document object found. If you are running this project outside of a browser, pass a `document` option using a library such as jsdom.\");var t=void 0!==e.document?e.document:window.document;return e.iframe?p.createIframeEmbedCode(t,e):v.createInpageEmbedCode(t,e)}r.d(t,\"default\",function(){return m})}]).default});","\"use strict\";\n\nexports.__esModule = true;\nexports.updatePlayerConfiguration = exports.getPlayerConfiguration = exports.getAllPlayers = exports.standardArgs = void 0;\n\nvar _remoteCall = require(\"./remote-call\");\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar standardArgs = function standardArgs(_ref) {\n var apiConfig = _ref.apiConfig;\n return {\n origin: (0, _remoteCall.getPlayersOrigin)(apiConfig),\n accountId: (0, _remoteCall.getAccountId)(apiConfig)\n };\n};\n\nexports.standardArgs = standardArgs;\n\nvar pathForPlayerRequests = function pathForPlayerRequests(_ref2) {\n var origin = _ref2.origin,\n accountId = _ref2.accountId;\n return origin + \"/v1/accounts/\" + accountId + \"/players\";\n};\n\nvar pathForV2PlayerRequests = function pathForV2PlayerRequests(_ref3) {\n var origin = _ref3.origin,\n accountId = _ref3.accountId,\n playerId = _ref3.playerId;\n return origin + \"/v2/accounts/\" + accountId + \"/players/\" + playerId;\n};\n\nvar pathForV2PlayerConfigs = function pathForV2PlayerConfigs(_ref4) {\n var origin = _ref4.origin,\n accountId = _ref4.accountId,\n playerId = _ref4.playerId;\n return origin + \"/v2/accounts/\" + accountId + \"/players/\" + playerId + \"/configuration\";\n};\n\nvar getAllPlayers = function getAllPlayers(_ref5) {\n var apiConfig = _ref5.apiConfig;\n var path = pathForPlayerRequests(_extends({}, standardArgs({\n apiConfig: apiConfig\n })));\n return (0, _remoteCall.buildGetForPath)({\n path: path\n });\n};\n\nexports.getAllPlayers = getAllPlayers;\n\nvar getPlayerConfiguration = function getPlayerConfiguration(_ref6) {\n var apiConfig = _ref6.apiConfig,\n playerId = _ref6.playerId;\n var path = pathForV2PlayerRequests(_extends({}, standardArgs({\n apiConfig: apiConfig\n }), {\n playerId: playerId\n }));\n return (0, _remoteCall.buildGetForPath)({\n path: path\n });\n};\n\nexports.getPlayerConfiguration = getPlayerConfiguration;\n\nvar updatePlayerConfiguration = function updatePlayerConfiguration(_ref7) {\n var apiConfig = _ref7.apiConfig,\n playerId = _ref7.playerId,\n data = _ref7.data;\n var path = pathForV2PlayerConfigs(_extends({}, standardArgs({\n apiConfig: apiConfig\n }), {\n playerId: playerId\n }));\n return (0, _remoteCall.buildPutForPath)({\n path: path,\n data: data\n });\n};\n\nexports.updatePlayerConfiguration = updatePlayerConfiguration;","\"use strict\";\n\nexports.__esModule = true;\nexports.buildDeleteForPath = exports.buildPostForPath = exports.buildFilePutForPath = exports.buildPutForPath = exports.buildPatchForPath = exports.buildGetWithParamsForPath = exports.buildGetForPath = exports.getAccountId = exports.getPlaybackRightsOrigin = exports.getPolicyOrigin = exports.getSocialAPIOrigin = exports.getDeliverySystemOrigin = exports.getAudienceOrigin = exports.getGalleryOrigin = exports.getOAuthVersion = exports.getOAuthOrigin = exports.getNuCMSOrigin = exports.getBeaconOrigin = exports.getAccountsOrigin = exports.getAuthIntegrationVersion = exports.getAuthIntegrationOrigin = exports.getSettingsOrigin = exports.getIngestOrigin = exports.getIngestProfilesOrigin = exports.getPlayersOrigin = exports.getAnalyticsOrigin = exports.getSavedSearchOrigin = exports.getliveSsaiOrigin = exports.getSSAIOrigin = exports.getCMSAPIOrigin = void 0;\n\nvar getCMSAPIOrigin = function getCMSAPIOrigin(apiConfig) {\n return apiConfig.api.cms.origin;\n};\n\nexports.getCMSAPIOrigin = getCMSAPIOrigin;\n\nvar getSSAIOrigin = function getSSAIOrigin(apiConfig) {\n return apiConfig.api['ssai'].origin;\n};\n\nexports.getSSAIOrigin = getSSAIOrigin;\n\nvar getliveSsaiOrigin = function getliveSsaiOrigin(apiConfig) {\n return apiConfig.api['alive'].origin;\n};\n\nexports.getliveSsaiOrigin = getliveSsaiOrigin;\n\nvar getSavedSearchOrigin = function getSavedSearchOrigin(apiConfig) {\n return apiConfig.api.savedsearch.origin;\n};\n\nexports.getSavedSearchOrigin = getSavedSearchOrigin;\n\nvar getAnalyticsOrigin = function getAnalyticsOrigin(apiConfig) {\n return apiConfig.api.analytics.origin;\n};\n\nexports.getAnalyticsOrigin = getAnalyticsOrigin;\n\nvar getPlayersOrigin = function getPlayersOrigin(apiConfig) {\n return apiConfig.api.players.origin;\n};\n\nexports.getPlayersOrigin = getPlayersOrigin;\n\nvar getIngestProfilesOrigin = function getIngestProfilesOrigin(apiConfig) {\n return apiConfig.api['ingest-profiles'].origin;\n};\n\nexports.getIngestProfilesOrigin = getIngestProfilesOrigin;\n\nvar getIngestOrigin = function getIngestOrigin(apiConfig) {\n return apiConfig.api.ingest.origin;\n};\n\nexports.getIngestOrigin = getIngestOrigin;\n\nvar getSettingsOrigin = function getSettingsOrigin(apiConfig) {\n return apiConfig.api['seti'].origin;\n};\n\nexports.getSettingsOrigin = getSettingsOrigin;\n\nvar getAuthIntegrationOrigin = function getAuthIntegrationOrigin(apiConfig) {\n return apiConfig.api['auth-integration'].origin;\n};\n\nexports.getAuthIntegrationOrigin = getAuthIntegrationOrigin;\n\nvar getAuthIntegrationVersion = function getAuthIntegrationVersion(apiConfig) {\n return apiConfig.api['auth-integration'].version;\n};\n\nexports.getAuthIntegrationVersion = getAuthIntegrationVersion;\n\nvar getAccountsOrigin = function getAccountsOrigin(apiConfig) {\n return apiConfig.api.accounts.origin;\n};\n\nexports.getAccountsOrigin = getAccountsOrigin;\n\nvar getBeaconOrigin = function getBeaconOrigin(apiConfig) {\n return apiConfig.api.beacon.origin;\n};\n\nexports.getBeaconOrigin = getBeaconOrigin;\n\nvar getNuCMSOrigin = function getNuCMSOrigin(apiConfig) {\n return apiConfig.api.nucms.origin;\n};\n\nexports.getNuCMSOrigin = getNuCMSOrigin;\n\nvar getOAuthOrigin = function getOAuthOrigin(apiConfig) {\n return apiConfig.api.oauth.origin;\n};\n\nexports.getOAuthOrigin = getOAuthOrigin;\n\nvar getOAuthVersion = function getOAuthVersion(apiConfig) {\n return apiConfig.api.oauth.version;\n};\n\nexports.getOAuthVersion = getOAuthVersion;\n\nvar getGalleryOrigin = function getGalleryOrigin(apiConfig) {\n var result = apiConfig.api.gallery ? apiConfig.api.gallery.origin : 'https://gallery.api.brightcove.com';\n return result;\n};\n\nexports.getGalleryOrigin = getGalleryOrigin;\n\nvar getAudienceOrigin = function getAudienceOrigin(apiConfig) {\n return apiConfig.api.audience.origin;\n};\n\nexports.getAudienceOrigin = getAudienceOrigin;\n\nvar getDeliverySystemOrigin = function getDeliverySystemOrigin(apiConfig) {\n return apiConfig.api.repos.origin;\n};\n\nexports.getDeliverySystemOrigin = getDeliverySystemOrigin;\n\nvar getSocialAPIOrigin = function getSocialAPIOrigin(apiConfig) {\n return apiConfig.api.social.origin;\n};\n\nexports.getSocialAPIOrigin = getSocialAPIOrigin;\n\nvar getPolicyOrigin = function getPolicyOrigin(apiConfig) {\n return apiConfig.api.policy.origin;\n};\n\nexports.getPolicyOrigin = getPolicyOrigin;\n\nvar getPlaybackRightsOrigin = function getPlaybackRightsOrigin(apiConfig) {\n return apiConfig.api['playback-rights'].origin;\n};\n\nexports.getPlaybackRightsOrigin = getPlaybackRightsOrigin;\n\nvar getAccountId = function getAccountId(apiConfig) {\n return apiConfig.publisherId;\n};\n\nexports.getAccountId = getAccountId;\n\nvar buildGetForPath = function buildGetForPath(_ref) {\n var path = _ref.path;\n return {\n path: path,\n method: 'GET'\n };\n};\n\nexports.buildGetForPath = buildGetForPath;\n\nvar buildGetWithParamsForPath = function buildGetWithParamsForPath(_ref2) {\n var path = _ref2.path,\n data = _ref2.data;\n var request = buildGetForPath({\n path: path\n });\n\n if (data) {\n var params = Object.keys(data).map(function (key) {\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(data[key]);\n });\n\n if (params.length) {\n request.path = request.path + \"?\" + params.join('&');\n }\n }\n\n return request;\n};\n\nexports.buildGetWithParamsForPath = buildGetWithParamsForPath;\n\nvar buildWithDataForPath = function buildWithDataForPath(_ref3) {\n var path = _ref3.path,\n data = _ref3.data,\n method = _ref3.method;\n return {\n path: path,\n method: method,\n data: JSON.stringify(data)\n };\n};\n\nvar buildWithFormDataForPath = function buildWithFormDataForPath(_ref4) {\n var path = _ref4.path,\n data = _ref4.data,\n headers = _ref4.headers,\n method = _ref4.method;\n return {\n path: path,\n method: method,\n data: data,\n headers: headers\n };\n};\n\nvar buildPatchForPath = function buildPatchForPath(_ref5) {\n var path = _ref5.path,\n data = _ref5.data;\n return buildWithDataForPath({\n method: 'PATCH',\n path: path,\n data: data\n });\n};\n\nexports.buildPatchForPath = buildPatchForPath;\n\nvar buildPutForPath = function buildPutForPath(_ref6) {\n var path = _ref6.path,\n data = _ref6.data;\n return buildWithDataForPath({\n method: 'PUT',\n path: path,\n data: data\n });\n};\n\nexports.buildPutForPath = buildPutForPath;\n\nvar buildFilePutForPath = function buildFilePutForPath(_ref7) {\n var path = _ref7.path,\n data = _ref7.data,\n headers = _ref7.headers;\n return buildWithFormDataForPath({\n method: 'PUT',\n path: path,\n data: data,\n headers: headers\n });\n};\n\nexports.buildFilePutForPath = buildFilePutForPath;\n\nvar buildPostForPath = function buildPostForPath(_ref8) {\n var path = _ref8.path,\n data = _ref8.data;\n return buildWithDataForPath({\n method: 'POST',\n path: path,\n data: data\n });\n};\n\nexports.buildPostForPath = buildPostForPath;\n\nvar buildDeleteForPath = function buildDeleteForPath(_ref9) {\n var path = _ref9.path;\n return {\n path: path,\n method: 'DELETE'\n };\n};\n\nexports.buildDeleteForPath = buildDeleteForPath;","\"use strict\";\n\nexports.__esModule = true;\nexports.getShortenedUrl = void 0;\n\nvar _remoteCall = require(\"./remote-call\");\n\nvar getShortenedUrl = function getShortenedUrl(_ref) {\n var longUrl = _ref.longUrl;\n return (0, _remoteCall.buildGetWithParamsForPath)({\n path: '/shortener/shorten',\n data: {\n longUrl: longUrl\n }\n });\n};\n\nexports.getShortenedUrl = getShortenedUrl;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".EmbedCode__hint--Fh40S{padding-top:2px}.EmbedCode__input--ZO6KQ{margin:0 !important;padding-bottom:4px !important}.EmbedCode__textArea--KNDhC{color:#aaa !important;background-color:#ddd !important;border:none !important;resize:none}.EmbedCode__copyInput--tkc7M{margin:0 !important;padding-bottom:4px !important}.EmbedCode__copyInput--tkc7M .EmbedCode__textAreaDimensions--N_Vil{height:210px;width:390px}.EmbedCode__helperText--gWEii{color:#999;font-size:14px}a.EmbedCode__copyLink--9tc06{text-decoration:none;cursor:pointer;padding-left:4px}.EmbedCode__hint--Fh40S{padding-top:2px}.EmbedCode__input--ZO6KQ{margin:0 !important;padding-bottom:4px !important}.EmbedCode__textArea--KNDhC{color:#8e9093 !important;background-color:#f2f2f3 !important;border:none !important;resize:none}.EmbedCode__copyInput--tkc7M{margin:0 !important;padding-bottom:4px !important}.EmbedCode__copyInput--tkc7M .EmbedCode__textAreaDimensions--N_Vil{height:210px;width:390px}.EmbedCode__helperText--gWEii{color:#4d5056;font-size:14px}a.EmbedCode__copyLink--9tc06{text-decoration:none;font-weight:700;cursor:pointer;padding-left:4px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/styles/EmbedCode.sass\"],\"names\":[],\"mappings\":\"AAIE,wBACE,eAAA,CACF,yBACE,mBAAA,CACA,6BAAA,CACF,4BACE,qBAAA,CACA,gCAAA,CACA,sBAAA,CACA,WAAA,CACF,6BACE,mBAAA,CACA,6BAAA,CACA,mEACE,YAAA,CACA,WAAA,CACJ,8BACE,UAAA,CACA,cAAA,CACF,6BACE,oBAAA,CAEA,cAAA,CACA,gBAAA,CAvBF,wBACE,eAAA,CACF,yBACE,mBAAA,CACA,6BAAA,CACF,4BACE,wBAAA,CACA,mCAAA,CACA,sBAAA,CACA,WAAA,CACF,6BACE,mBAAA,CACA,6BAAA,CACA,mEACE,YAAA,CACA,WAAA,CACJ,8BACE,aAAA,CACA,cAAA,CACF,6BACE,oBAAA,CACA,eAAA,CACA,cAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import './base.sass'\\n\\n@include themed() using ($theme)\\n // Override studio-components styles\\n .hint\\n padding-top: 2px\\n .input\\n margin: 0 !important\\n padding-bottom: 4px !important\\n .textArea\\n color: theme($theme, gray-35) !important\\n background-color: theme($theme, gray-20) !important\\n border: none !important\\n resize: none\\n .copyInput\\n margin: 0 !important\\n padding-bottom: 4px !important\\n .textAreaDimensions\\n height: 210px\\n width: 390px\\n .helperText\\n color: theme($theme, gray-40)\\n font-size: 14px\\n a.copyLink\\n text-decoration: none\\n font-weight: theme($theme, body-small-weight-bold)\\n cursor: pointer\\n padding-left: 4px\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"hint\": \"EmbedCode__hint--Fh40S\",\n\t\"input\": \"EmbedCode__input--ZO6KQ\",\n\t\"textArea\": \"EmbedCode__textArea--KNDhC\",\n\t\"copyInput\": \"EmbedCode__copyInput--tkc7M\",\n\t\"textAreaDimensions\": \"EmbedCode__textAreaDimensions--N_Vil\",\n\t\"helperText\": \"EmbedCode__helperText--gWEii\",\n\t\"copyLink\": \"EmbedCode__copyLink--9tc06\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".EmbedCodeModal__videoDetailsContainer--WP99B{margin-bottom:27px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__leftContent--BIBZB{width:540px;margin-right:43px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__rightContent--BDlYZ{flex-grow:1}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaData--f0wqn{margin-top:23px;padding:0}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__redHelperText--y3MVU{color:#d53c00;font-size:14px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaTitle--apmXI{color:#444;word-break:break-all}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__text--ayO8f,.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaId--GymNT{color:#999;font-size:.875rem;font-weight:400}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerSelectLabel--w3Ig6{font-family:Lato,Helvetica,Arial,sans-serif;font-size:.933rem;font-weight:700;line-height:24px;letter-spacing:normal;color:#666;padding:0 0 .4rem}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerSelect--rvojt{width:100%}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__getURLBtnContainer--MIRx8{display:inline-flex}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__getURLBtnSpinner--VxbOG{left:-5px;position:relative;margin-right:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaId--GymNT{margin-bottom:25px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__tooltip--vxe8W{margin-left:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__customPluginNotice--VQKaP{font-size:14px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR{margin-bottom:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR video-js{width:539px !important;height:303.2px !important}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR iframe{width:539px !important;height:303.2px !important}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__previewButton--CFh55{align-self:center}.EmbedCodeModal__videoDetailsContainer--WP99B{margin-bottom:27px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__leftContent--BIBZB{width:540px;margin-right:43px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__rightContent--BDlYZ{flex-grow:1}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaData--f0wqn{margin-top:23px;padding:0}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__redHelperText--y3MVU{color:#d33d00;font-size:14px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaTitle--apmXI{color:#01050e;font-size:1.333rem;font-weight:800;line-height:28px;word-break:break-all}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__text--ayO8f,.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaId--GymNT{color:#4d5056;font-size:.875rem;font-weight:normal}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerSelectLabel--w3Ig6{font-family:\\\"Public Sans\\\",sans-serif;font-size:.875rem;font-weight:700;line-height:20px;letter-spacing:auto;color:#01050e;padding:0 0 .4rem}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerSelect--rvojt{width:100%}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__getURLBtnContainer--MIRx8{display:inline-flex}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__getURLBtnSpinner--VxbOG{left:-5px;position:relative;margin-right:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__mediaId--GymNT{margin-bottom:25px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__tooltip--vxe8W{margin-left:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__customPluginNotice--VQKaP{font-size:14px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR{margin-bottom:8px}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR video-js{width:539px !important;height:303.2px !important}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__playerLoader--IgdsR iframe{width:539px !important;height:303.2px !important}.EmbedCodeModal__videoDetailsContainer--WP99B .EmbedCodeModal__previewButton--CFh55{align-self:center}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/styles/EmbedCodeModal.sass\"],\"names\":[],\"mappings\":\"AAGE,8CACE,kBAAA,CACA,kFACE,WAAA,CACA,iBAAA,CACF,mFACE,WAAA,CACF,gFACE,eAAA,CACA,SAAA,CACF,oFACE,aAAA,CACA,cAAA,CACF,iFACE,UAAA,CAIA,oBAAA,CACF,yJACE,UAAA,CACA,iBAAA,CACA,eAAA,CACF,wFACE,2CAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,qBAAA,CACA,UAAA,CACA,iBAAA,CACF,mFACE,UAAA,CACF,yFACE,mBAAA,CACF,uFACE,SAAA,CACA,iBAAA,CACA,gBAAA,CACF,8EAEE,kBAAA,CACF,8EACE,eAAA,CACF,yFACE,cAAA,CACF,mFAII,iBAAA,CAHA,4FACE,sBAAA,CACA,yBAAA,CAEF,0FACE,sBAAA,CACA,yBAAA,CACN,oFACE,iBAAA,CAvDJ,8CACE,kBAAA,CACA,kFACE,WAAA,CACA,iBAAA,CACF,mFACE,WAAA,CACF,gFACE,eAAA,CACA,SAAA,CACF,oFACE,aAAA,CACA,cAAA,CACF,iFACE,aAAA,CACA,kBAAA,CACA,eAAA,CACA,gBAAA,CACA,oBAAA,CACF,yJACE,aAAA,CACA,iBAAA,CACA,kBAAA,CACF,wFACE,oCAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,mBAAA,CACA,aAAA,CACA,iBAAA,CACF,mFACE,UAAA,CACF,yFACE,mBAAA,CACF,uFACE,SAAA,CACA,iBAAA,CACA,gBAAA,CACF,8EAEE,kBAAA,CACF,8EACE,eAAA,CACF,yFACE,cAAA,CACF,mFAII,iBAAA,CAHA,4FACE,sBAAA,CACA,yBAAA,CAEF,0FACE,sBAAA,CACA,yBAAA,CACN,oFACE,iBAAA\",\"sourcesContent\":[\"@import './base.sass'\\n\\n@include themed() using ($theme)\\n .videoDetailsContainer\\n margin-bottom: 27px\\n .leftContent\\n width: 540px\\n margin-right: 43px\\n .rightContent\\n flex-grow: 1\\n .mediaData\\n margin-top: 23px\\n padding: 0\\n .redHelperText\\n color: theme($theme, red)\\n font-size: 14px\\n .mediaTitle\\n color: theme($theme, text-primary-dark)\\n font-size: theme($theme, heading-xs-size)\\n font-weight: theme($theme, heading-weight)\\n line-height: theme($theme, heading-xs-line-height)\\n word-break: break-all\\n .text\\n color: theme($theme, gray-40)\\n font-size: theme($theme, body-small-text-size)\\n font-weight: theme($theme, body-small-weight-normal)\\n .playerSelectLabel\\n font-family: theme($theme, label-font)\\n font-size: theme($theme, label-font-size)\\n font-weight: theme($theme, label-font-weight)\\n line-height: theme($theme, label-line-height)\\n letter-spacing: theme($theme, label-letter-spacing)\\n color: theme($theme, label-color)\\n padding: 0 0 .4rem\\n .playerSelect\\n width: 100%\\n .getURLBtnContainer\\n display: inline-flex\\n .getURLBtnSpinner\\n left: -5px\\n position: relative\\n margin-right: 8px\\n .mediaId\\n @extend .text\\n margin-bottom: 25px\\n .tooltip\\n margin-left: theme($theme, padding-sm)\\n .customPluginNotice\\n font-size: 14px\\n .playerLoader\\n video-js\\n width: 539px !important\\n height: 303.2px !important\\n margin-bottom: theme($theme, padding-sm)\\n iframe\\n width: 539px !important\\n height: 303.2px !important\\n .previewButton\\n align-self: center\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"videoDetailsContainer\": \"EmbedCodeModal__videoDetailsContainer--WP99B\",\n\t\"leftContent\": \"EmbedCodeModal__leftContent--BIBZB\",\n\t\"rightContent\": \"EmbedCodeModal__rightContent--BDlYZ\",\n\t\"mediaData\": \"EmbedCodeModal__mediaData--f0wqn\",\n\t\"redHelperText\": \"EmbedCodeModal__redHelperText--y3MVU\",\n\t\"mediaTitle\": \"EmbedCodeModal__mediaTitle--apmXI\",\n\t\"text\": \"EmbedCodeModal__text--ayO8f\",\n\t\"mediaId\": \"EmbedCodeModal__mediaId--GymNT\",\n\t\"playerSelectLabel\": \"EmbedCodeModal__playerSelectLabel--w3Ig6\",\n\t\"playerSelect\": \"EmbedCodeModal__playerSelect--rvojt\",\n\t\"getURLBtnContainer\": \"EmbedCodeModal__getURLBtnContainer--MIRx8\",\n\t\"getURLBtnSpinner\": \"EmbedCodeModal__getURLBtnSpinner--VxbOG\",\n\t\"tooltip\": \"EmbedCodeModal__tooltip--vxe8W\",\n\t\"customPluginNotice\": \"EmbedCodeModal__customPluginNotice--VQKaP\",\n\t\"playerLoader\": \"EmbedCodeModal__playerLoader--IgdsR\",\n\t\"previewButton\": \"EmbedCodeModal__previewButton--CFh55\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","var topLevel = typeof global !== 'undefined' ? global :\n typeof window !== 'undefined' ? window : {}\nvar minDoc = require('min-document');\n\nvar doccy;\n\nif (typeof document !== 'undefined') {\n doccy = document;\n} else {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n\n if (!doccy) {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n }\n}\n\nmodule.exports = doccy;\n","var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\"){\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { Subscribable } from './subscribable';\nimport { isServer } from './utils';\nexport var FocusManager = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(FocusManager, _Subscribable);\n\n function FocusManager() {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n\n _this.setup = function (onFocus) {\n var _window;\n\n if (!isServer && ((_window = window) == null ? void 0 : _window.addEventListener)) {\n var listener = function listener() {\n return onFocus();\n }; // Listen to visibillitychange and focus\n\n\n window.addEventListener('visibilitychange', listener, false);\n window.addEventListener('focus', listener, false);\n return function () {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener);\n window.removeEventListener('focus', listener);\n };\n }\n };\n\n return _this;\n }\n\n var _proto = FocusManager.prototype;\n\n _proto.onSubscribe = function onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n };\n\n _proto.setEventListener = function setEventListener(setup) {\n var _this$cleanup2,\n _this2 = this;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(function (focused) {\n if (typeof focused === 'boolean') {\n _this2.setFocused(focused);\n } else {\n _this2.onFocus();\n }\n });\n };\n\n _proto.setFocused = function setFocused(focused) {\n this.focused = focused;\n\n if (focused) {\n this.onFocus();\n }\n };\n\n _proto.onFocus = function onFocus() {\n this.listeners.forEach(function (listener) {\n listener();\n });\n };\n\n _proto.isFocused = function isFocused() {\n if (typeof this.focused === 'boolean') {\n return this.focused;\n } // document global can be unavailable in react native\n\n\n if (typeof document === 'undefined') {\n return true;\n }\n\n return [undefined, 'visible', 'prerender'].includes(document.visibilityState);\n };\n\n return FocusManager;\n}(Subscribable);\nexport var focusManager = new FocusManager();","// TYPES\n// FUNCTIONS\nvar logger = console;\nexport function getLogger() {\n return logger;\n}\nexport function setLogger(newLogger) {\n logger = newLogger;\n}","import { scheduleMicrotask } from './utils'; // TYPES\n\n// CLASS\nexport var NotifyManager = /*#__PURE__*/function () {\n function NotifyManager() {\n this.queue = [];\n this.transactions = 0;\n\n this.notifyFn = function (callback) {\n callback();\n };\n\n this.batchNotifyFn = function (callback) {\n callback();\n };\n }\n\n var _proto = NotifyManager.prototype;\n\n _proto.batch = function batch(callback) {\n var result;\n this.transactions++;\n\n try {\n result = callback();\n } finally {\n this.transactions--;\n\n if (!this.transactions) {\n this.flush();\n }\n }\n\n return result;\n };\n\n _proto.schedule = function schedule(callback) {\n var _this = this;\n\n if (this.transactions) {\n this.queue.push(callback);\n } else {\n scheduleMicrotask(function () {\n _this.notifyFn(callback);\n });\n }\n }\n /**\n * All calls to the wrapped function will be batched.\n */\n ;\n\n _proto.batchCalls = function batchCalls(callback) {\n var _this2 = this;\n\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this2.schedule(function () {\n callback.apply(void 0, args);\n });\n };\n };\n\n _proto.flush = function flush() {\n var _this3 = this;\n\n var queue = this.queue;\n this.queue = [];\n\n if (queue.length) {\n scheduleMicrotask(function () {\n _this3.batchNotifyFn(function () {\n queue.forEach(function (callback) {\n _this3.notifyFn(callback);\n });\n });\n });\n }\n }\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n ;\n\n _proto.setNotifyFunction = function setNotifyFunction(fn) {\n this.notifyFn = fn;\n }\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n ;\n\n _proto.setBatchNotifyFunction = function setBatchNotifyFunction(fn) {\n this.batchNotifyFn = fn;\n };\n\n return NotifyManager;\n}(); // SINGLETON\n\nexport var notifyManager = new NotifyManager();","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { Subscribable } from './subscribable';\nimport { isServer } from './utils';\nexport var OnlineManager = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(OnlineManager, _Subscribable);\n\n function OnlineManager() {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n\n _this.setup = function (onOnline) {\n var _window;\n\n if (!isServer && ((_window = window) == null ? void 0 : _window.addEventListener)) {\n var listener = function listener() {\n return onOnline();\n }; // Listen to online\n\n\n window.addEventListener('online', listener, false);\n window.addEventListener('offline', listener, false);\n return function () {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', listener);\n window.removeEventListener('offline', listener);\n };\n }\n };\n\n return _this;\n }\n\n var _proto = OnlineManager.prototype;\n\n _proto.onSubscribe = function onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n };\n\n _proto.setEventListener = function setEventListener(setup) {\n var _this$cleanup2,\n _this2 = this;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(function (online) {\n if (typeof online === 'boolean') {\n _this2.setOnline(online);\n } else {\n _this2.onOnline();\n }\n });\n };\n\n _proto.setOnline = function setOnline(online) {\n this.online = online;\n\n if (online) {\n this.onOnline();\n }\n };\n\n _proto.onOnline = function onOnline() {\n this.listeners.forEach(function (listener) {\n listener();\n });\n };\n\n _proto.isOnline = function isOnline() {\n if (typeof this.online === 'boolean') {\n return this.online;\n }\n\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n\n return navigator.onLine;\n };\n\n return OnlineManager;\n}(Subscribable);\nexport var onlineManager = new OnlineManager();","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getAbortController, functionalUpdate, isValidTimeout, noop, replaceEqualDeep, timeUntilStale, ensureQueryKeyArray } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { getLogger } from './logger';\nimport { Retryer, isCancelledError } from './retryer'; // TYPES\n\n// CLASS\nexport var Query = /*#__PURE__*/function () {\n function Query(config) {\n this.abortSignalConsumed = false;\n this.hadObservers = false;\n this.defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.cache = config.cache;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.initialState = config.state || this.getDefaultState(this.options);\n this.state = this.initialState;\n this.meta = config.meta;\n this.scheduleGc();\n }\n\n var _proto = Query.prototype;\n\n _proto.setOptions = function setOptions(options) {\n var _this$options$cacheTi;\n\n this.options = _extends({}, this.defaultOptions, options);\n this.meta = options == null ? void 0 : options.meta; // Default to 5 minutes if not cache time is set\n\n this.cacheTime = Math.max(this.cacheTime || 0, (_this$options$cacheTi = this.options.cacheTime) != null ? _this$options$cacheTi : 5 * 60 * 1000);\n };\n\n _proto.setDefaultOptions = function setDefaultOptions(options) {\n this.defaultOptions = options;\n };\n\n _proto.scheduleGc = function scheduleGc() {\n var _this = this;\n\n this.clearGcTimeout();\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(function () {\n _this.optionalRemove();\n }, this.cacheTime);\n }\n };\n\n _proto.clearGcTimeout = function clearGcTimeout() {\n clearTimeout(this.gcTimeout);\n this.gcTimeout = undefined;\n };\n\n _proto.optionalRemove = function optionalRemove() {\n if (!this.observers.length) {\n if (this.state.isFetching) {\n if (this.hadObservers) {\n this.scheduleGc();\n }\n } else {\n this.cache.remove(this);\n }\n }\n };\n\n _proto.setData = function setData(updater, options) {\n var _this$options$isDataE, _this$options;\n\n var prevData = this.state.data; // Get the new data\n\n var data = functionalUpdate(updater, prevData); // Use prev data if an isDataEqual function is defined and returns `true`\n\n if ((_this$options$isDataE = (_this$options = this.options).isDataEqual) == null ? void 0 : _this$options$isDataE.call(_this$options, prevData, data)) {\n data = prevData;\n } else if (this.options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n data = replaceEqualDeep(prevData, data);\n } // Set data and mark it as cached\n\n\n this.dispatch({\n data: data,\n type: 'success',\n dataUpdatedAt: options == null ? void 0 : options.updatedAt\n });\n return data;\n };\n\n _proto.setState = function setState(state, setStateOptions) {\n this.dispatch({\n type: 'setState',\n state: state,\n setStateOptions: setStateOptions\n });\n };\n\n _proto.cancel = function cancel(options) {\n var _this$retryer;\n\n var promise = this.promise;\n (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n };\n\n _proto.destroy = function destroy() {\n this.clearGcTimeout();\n this.cancel({\n silent: true\n });\n };\n\n _proto.reset = function reset() {\n this.destroy();\n this.setState(this.initialState);\n };\n\n _proto.isActive = function isActive() {\n return this.observers.some(function (observer) {\n return observer.options.enabled !== false;\n });\n };\n\n _proto.isFetching = function isFetching() {\n return this.state.isFetching;\n };\n\n _proto.isStale = function isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.observers.some(function (observer) {\n return observer.getCurrentResult().isStale;\n });\n };\n\n _proto.isStaleByTime = function isStaleByTime(staleTime) {\n if (staleTime === void 0) {\n staleTime = 0;\n }\n\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n };\n\n _proto.onFocus = function onFocus() {\n var _this$retryer2;\n\n var observer = this.observers.find(function (x) {\n return x.shouldFetchOnWindowFocus();\n });\n\n if (observer) {\n observer.refetch();\n } // Continue fetch if currently paused\n\n\n (_this$retryer2 = this.retryer) == null ? void 0 : _this$retryer2.continue();\n };\n\n _proto.onOnline = function onOnline() {\n var _this$retryer3;\n\n var observer = this.observers.find(function (x) {\n return x.shouldFetchOnReconnect();\n });\n\n if (observer) {\n observer.refetch();\n } // Continue fetch if currently paused\n\n\n (_this$retryer3 = this.retryer) == null ? void 0 : _this$retryer3.continue();\n };\n\n _proto.addObserver = function addObserver(observer) {\n if (this.observers.indexOf(observer) === -1) {\n this.observers.push(observer);\n this.hadObservers = true; // Stop the query from being garbage collected\n\n this.clearGcTimeout();\n this.cache.notify({\n type: 'observerAdded',\n query: this,\n observer: observer\n });\n }\n };\n\n _proto.removeObserver = function removeObserver(observer) {\n if (this.observers.indexOf(observer) !== -1) {\n this.observers = this.observers.filter(function (x) {\n return x !== observer;\n });\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.retryer.isTransportCancelable || this.abortSignalConsumed) {\n this.retryer.cancel({\n revert: true\n });\n } else {\n this.retryer.cancelRetry();\n }\n }\n\n if (this.cacheTime) {\n this.scheduleGc();\n } else {\n this.cache.remove(this);\n }\n }\n\n this.cache.notify({\n type: 'observerRemoved',\n query: this,\n observer: observer\n });\n }\n };\n\n _proto.getObserversCount = function getObserversCount() {\n return this.observers.length;\n };\n\n _proto.invalidate = function invalidate() {\n if (!this.state.isInvalidated) {\n this.dispatch({\n type: 'invalidate'\n });\n }\n };\n\n _proto.fetch = function fetch(options, fetchOptions) {\n var _this2 = this,\n _this$options$behavio,\n _context$fetchOptions,\n _abortController$abor;\n\n if (this.state.isFetching) {\n if (this.state.dataUpdatedAt && (fetchOptions == null ? void 0 : fetchOptions.cancelRefetch)) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({\n silent: true\n });\n } else if (this.promise) {\n var _this$retryer4;\n\n // make sure that retries that were potentially cancelled due to unmounts can continue\n (_this$retryer4 = this.retryer) == null ? void 0 : _this$retryer4.continueRetry(); // Return current promise if we are already fetching\n\n return this.promise;\n }\n } // Update config if passed, otherwise the config from the last execution is used\n\n\n if (options) {\n this.setOptions(options);\n } // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n\n\n if (!this.options.queryFn) {\n var observer = this.observers.find(function (x) {\n return x.options.queryFn;\n });\n\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n\n var queryKey = ensureQueryKeyArray(this.queryKey);\n var abortController = getAbortController(); // Create query function context\n\n var queryFnContext = {\n queryKey: queryKey,\n pageParam: undefined,\n meta: this.meta\n };\n Object.defineProperty(queryFnContext, 'signal', {\n enumerable: true,\n get: function get() {\n if (abortController) {\n _this2.abortSignalConsumed = true;\n return abortController.signal;\n }\n\n return undefined;\n }\n }); // Create fetch function\n\n var fetchFn = function fetchFn() {\n if (!_this2.options.queryFn) {\n return Promise.reject('Missing queryFn');\n }\n\n _this2.abortSignalConsumed = false;\n return _this2.options.queryFn(queryFnContext);\n }; // Trigger behavior hook\n\n\n var context = {\n fetchOptions: fetchOptions,\n options: this.options,\n queryKey: queryKey,\n state: this.state,\n fetchFn: fetchFn,\n meta: this.meta\n };\n\n if ((_this$options$behavio = this.options.behavior) == null ? void 0 : _this$options$behavio.onFetch) {\n var _this$options$behavio2;\n\n (_this$options$behavio2 = this.options.behavior) == null ? void 0 : _this$options$behavio2.onFetch(context);\n } // Store state in case the current fetch needs to be reverted\n\n\n this.revertState = this.state; // Set to fetching state if not already in it\n\n if (!this.state.isFetching || this.state.fetchMeta !== ((_context$fetchOptions = context.fetchOptions) == null ? void 0 : _context$fetchOptions.meta)) {\n var _context$fetchOptions2;\n\n this.dispatch({\n type: 'fetch',\n meta: (_context$fetchOptions2 = context.fetchOptions) == null ? void 0 : _context$fetchOptions2.meta\n });\n } // Try to fetch the data\n\n\n this.retryer = new Retryer({\n fn: context.fetchFn,\n abort: abortController == null ? void 0 : (_abortController$abor = abortController.abort) == null ? void 0 : _abortController$abor.bind(abortController),\n onSuccess: function onSuccess(data) {\n _this2.setData(data); // Notify cache callback\n\n\n _this2.cache.config.onSuccess == null ? void 0 : _this2.cache.config.onSuccess(data, _this2); // Remove query after fetching if cache time is 0\n\n if (_this2.cacheTime === 0) {\n _this2.optionalRemove();\n }\n },\n onError: function onError(error) {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n _this2.dispatch({\n type: 'error',\n error: error\n });\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n _this2.cache.config.onError == null ? void 0 : _this2.cache.config.onError(error, _this2); // Log error\n\n getLogger().error(error);\n } // Remove query after fetching if cache time is 0\n\n\n if (_this2.cacheTime === 0) {\n _this2.optionalRemove();\n }\n },\n onFail: function onFail() {\n _this2.dispatch({\n type: 'failed'\n });\n },\n onPause: function onPause() {\n _this2.dispatch({\n type: 'pause'\n });\n },\n onContinue: function onContinue() {\n _this2.dispatch({\n type: 'continue'\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay\n });\n this.promise = this.retryer.promise;\n return this.promise;\n };\n\n _proto.dispatch = function dispatch(action) {\n var _this3 = this;\n\n this.state = this.reducer(this.state, action);\n notifyManager.batch(function () {\n _this3.observers.forEach(function (observer) {\n observer.onQueryUpdate(action);\n });\n\n _this3.cache.notify({\n query: _this3,\n type: 'queryUpdated',\n action: action\n });\n });\n };\n\n _proto.getDefaultState = function getDefaultState(options) {\n var data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n var hasInitialData = typeof options.initialData !== 'undefined';\n var initialDataUpdatedAt = hasInitialData ? typeof options.initialDataUpdatedAt === 'function' ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n var hasData = typeof data !== 'undefined';\n return {\n data: data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt != null ? initialDataUpdatedAt : Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchMeta: null,\n isFetching: false,\n isInvalidated: false,\n isPaused: false,\n status: hasData ? 'success' : 'idle'\n };\n };\n\n _proto.reducer = function reducer(state, action) {\n var _action$meta, _action$dataUpdatedAt;\n\n switch (action.type) {\n case 'failed':\n return _extends({}, state, {\n fetchFailureCount: state.fetchFailureCount + 1\n });\n\n case 'pause':\n return _extends({}, state, {\n isPaused: true\n });\n\n case 'continue':\n return _extends({}, state, {\n isPaused: false\n });\n\n case 'fetch':\n return _extends({}, state, {\n fetchFailureCount: 0,\n fetchMeta: (_action$meta = action.meta) != null ? _action$meta : null,\n isFetching: true,\n isPaused: false\n }, !state.dataUpdatedAt && {\n error: null,\n status: 'loading'\n });\n\n case 'success':\n return _extends({}, state, {\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: (_action$dataUpdatedAt = action.dataUpdatedAt) != null ? _action$dataUpdatedAt : Date.now(),\n error: null,\n fetchFailureCount: 0,\n isFetching: false,\n isInvalidated: false,\n isPaused: false,\n status: 'success'\n });\n\n case 'error':\n var error = action.error;\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return _extends({}, this.revertState);\n }\n\n return _extends({}, state, {\n error: error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n isFetching: false,\n isPaused: false,\n status: 'error'\n });\n\n case 'invalidate':\n return _extends({}, state, {\n isInvalidated: true\n });\n\n case 'setState':\n return _extends({}, state, action.state);\n\n default:\n return state;\n }\n };\n\n return Query;\n}();","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils';\nimport { Query } from './query';\nimport { notifyManager } from './notifyManager';\nimport { Subscribable } from './subscribable';\n// CLASS\nexport var QueryCache = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(QueryCache, _Subscribable);\n\n function QueryCache(config) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.config = config || {};\n _this.queries = [];\n _this.queriesMap = {};\n return _this;\n }\n\n var _proto = QueryCache.prototype;\n\n _proto.build = function build(client, options, state) {\n var _options$queryHash;\n\n var queryKey = options.queryKey;\n var queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : hashQueryKeyByOptions(queryKey, options);\n var query = this.get(queryHash);\n\n if (!query) {\n query = new Query({\n cache: this,\n queryKey: queryKey,\n queryHash: queryHash,\n options: client.defaultQueryOptions(options),\n state: state,\n defaultOptions: client.getQueryDefaults(queryKey),\n meta: options.meta\n });\n this.add(query);\n }\n\n return query;\n };\n\n _proto.add = function add(query) {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query;\n this.queries.push(query);\n this.notify({\n type: 'queryAdded',\n query: query\n });\n }\n };\n\n _proto.remove = function remove(query) {\n var queryInMap = this.queriesMap[query.queryHash];\n\n if (queryInMap) {\n query.destroy();\n this.queries = this.queries.filter(function (x) {\n return x !== query;\n });\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash];\n }\n\n this.notify({\n type: 'queryRemoved',\n query: query\n });\n }\n };\n\n _proto.clear = function clear() {\n var _this2 = this;\n\n notifyManager.batch(function () {\n _this2.queries.forEach(function (query) {\n _this2.remove(query);\n });\n });\n };\n\n _proto.get = function get(queryHash) {\n return this.queriesMap[queryHash];\n };\n\n _proto.getAll = function getAll() {\n return this.queries;\n };\n\n _proto.find = function find(arg1, arg2) {\n var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs[0];\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.queries.find(function (query) {\n return matchQuery(filters, query);\n });\n };\n\n _proto.findAll = function findAll(arg1, arg2) {\n var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs2[0];\n\n return Object.keys(filters).length > 0 ? this.queries.filter(function (query) {\n return matchQuery(filters, query);\n }) : this.queries;\n };\n\n _proto.notify = function notify(event) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(event);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n var _this4 = this;\n\n notifyManager.batch(function () {\n _this4.queries.forEach(function (query) {\n query.onFocus();\n });\n });\n };\n\n _proto.onOnline = function onOnline() {\n var _this5 = this;\n\n notifyManager.batch(function () {\n _this5.queries.forEach(function (query) {\n query.onOnline();\n });\n });\n };\n\n return QueryCache;\n}(Subscribable);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getLogger } from './logger';\nimport { notifyManager } from './notifyManager';\nimport { Retryer } from './retryer';\nimport { noop } from './utils'; // TYPES\n\n// CLASS\nexport var Mutation = /*#__PURE__*/function () {\n function Mutation(config) {\n this.options = _extends({}, config.defaultOptions, config.options);\n this.mutationId = config.mutationId;\n this.mutationCache = config.mutationCache;\n this.observers = [];\n this.state = config.state || getDefaultState();\n this.meta = config.meta;\n }\n\n var _proto = Mutation.prototype;\n\n _proto.setState = function setState(state) {\n this.dispatch({\n type: 'setState',\n state: state\n });\n };\n\n _proto.addObserver = function addObserver(observer) {\n if (this.observers.indexOf(observer) === -1) {\n this.observers.push(observer);\n }\n };\n\n _proto.removeObserver = function removeObserver(observer) {\n this.observers = this.observers.filter(function (x) {\n return x !== observer;\n });\n };\n\n _proto.cancel = function cancel() {\n if (this.retryer) {\n this.retryer.cancel();\n return this.retryer.promise.then(noop).catch(noop);\n }\n\n return Promise.resolve();\n };\n\n _proto.continue = function _continue() {\n if (this.retryer) {\n this.retryer.continue();\n return this.retryer.promise;\n }\n\n return this.execute();\n };\n\n _proto.execute = function execute() {\n var _this = this;\n\n var data;\n var restored = this.state.status === 'loading';\n var promise = Promise.resolve();\n\n if (!restored) {\n this.dispatch({\n type: 'loading',\n variables: this.options.variables\n });\n promise = promise.then(function () {\n // Notify cache callback\n _this.mutationCache.config.onMutate == null ? void 0 : _this.mutationCache.config.onMutate(_this.state.variables, _this);\n }).then(function () {\n return _this.options.onMutate == null ? void 0 : _this.options.onMutate(_this.state.variables);\n }).then(function (context) {\n if (context !== _this.state.context) {\n _this.dispatch({\n type: 'loading',\n context: context,\n variables: _this.state.variables\n });\n }\n });\n }\n\n return promise.then(function () {\n return _this.executeMutation();\n }).then(function (result) {\n data = result; // Notify cache callback\n\n _this.mutationCache.config.onSuccess == null ? void 0 : _this.mutationCache.config.onSuccess(data, _this.state.variables, _this.state.context, _this);\n }).then(function () {\n return _this.options.onSuccess == null ? void 0 : _this.options.onSuccess(data, _this.state.variables, _this.state.context);\n }).then(function () {\n return _this.options.onSettled == null ? void 0 : _this.options.onSettled(data, null, _this.state.variables, _this.state.context);\n }).then(function () {\n _this.dispatch({\n type: 'success',\n data: data\n });\n\n return data;\n }).catch(function (error) {\n // Notify cache callback\n _this.mutationCache.config.onError == null ? void 0 : _this.mutationCache.config.onError(error, _this.state.variables, _this.state.context, _this); // Log error\n\n getLogger().error(error);\n return Promise.resolve().then(function () {\n return _this.options.onError == null ? void 0 : _this.options.onError(error, _this.state.variables, _this.state.context);\n }).then(function () {\n return _this.options.onSettled == null ? void 0 : _this.options.onSettled(undefined, error, _this.state.variables, _this.state.context);\n }).then(function () {\n _this.dispatch({\n type: 'error',\n error: error\n });\n\n throw error;\n });\n });\n };\n\n _proto.executeMutation = function executeMutation() {\n var _this2 = this,\n _this$options$retry;\n\n this.retryer = new Retryer({\n fn: function fn() {\n if (!_this2.options.mutationFn) {\n return Promise.reject('No mutationFn found');\n }\n\n return _this2.options.mutationFn(_this2.state.variables);\n },\n onFail: function onFail() {\n _this2.dispatch({\n type: 'failed'\n });\n },\n onPause: function onPause() {\n _this2.dispatch({\n type: 'pause'\n });\n },\n onContinue: function onContinue() {\n _this2.dispatch({\n type: 'continue'\n });\n },\n retry: (_this$options$retry = this.options.retry) != null ? _this$options$retry : 0,\n retryDelay: this.options.retryDelay\n });\n return this.retryer.promise;\n };\n\n _proto.dispatch = function dispatch(action) {\n var _this3 = this;\n\n this.state = reducer(this.state, action);\n notifyManager.batch(function () {\n _this3.observers.forEach(function (observer) {\n observer.onMutationUpdate(action);\n });\n\n _this3.mutationCache.notify(_this3);\n });\n };\n\n return Mutation;\n}();\nexport function getDefaultState() {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n isPaused: false,\n status: 'idle',\n variables: undefined\n };\n}\n\nfunction reducer(state, action) {\n switch (action.type) {\n case 'failed':\n return _extends({}, state, {\n failureCount: state.failureCount + 1\n });\n\n case 'pause':\n return _extends({}, state, {\n isPaused: true\n });\n\n case 'continue':\n return _extends({}, state, {\n isPaused: false\n });\n\n case 'loading':\n return _extends({}, state, {\n context: action.context,\n data: undefined,\n error: null,\n isPaused: false,\n status: 'loading',\n variables: action.variables\n });\n\n case 'success':\n return _extends({}, state, {\n data: action.data,\n error: null,\n status: 'success',\n isPaused: false\n });\n\n case 'error':\n return _extends({}, state, {\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n isPaused: false,\n status: 'error'\n });\n\n case 'setState':\n return _extends({}, state, action.state);\n\n default:\n return state;\n }\n}","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { notifyManager } from './notifyManager';\nimport { Mutation } from './mutation';\nimport { matchMutation, noop } from './utils';\nimport { Subscribable } from './subscribable'; // TYPES\n\n// CLASS\nexport var MutationCache = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(MutationCache, _Subscribable);\n\n function MutationCache(config) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.config = config || {};\n _this.mutations = [];\n _this.mutationId = 0;\n return _this;\n }\n\n var _proto = MutationCache.prototype;\n\n _proto.build = function build(client, options, state) {\n var mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state: state,\n defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined,\n meta: options.meta\n });\n this.add(mutation);\n return mutation;\n };\n\n _proto.add = function add(mutation) {\n this.mutations.push(mutation);\n this.notify(mutation);\n };\n\n _proto.remove = function remove(mutation) {\n this.mutations = this.mutations.filter(function (x) {\n return x !== mutation;\n });\n mutation.cancel();\n this.notify(mutation);\n };\n\n _proto.clear = function clear() {\n var _this2 = this;\n\n notifyManager.batch(function () {\n _this2.mutations.forEach(function (mutation) {\n _this2.remove(mutation);\n });\n });\n };\n\n _proto.getAll = function getAll() {\n return this.mutations;\n };\n\n _proto.find = function find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.mutations.find(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.findAll = function findAll(filters) {\n return this.mutations.filter(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.notify = function notify(mutation) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(mutation);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n this.resumePausedMutations();\n };\n\n _proto.onOnline = function onOnline() {\n this.resumePausedMutations();\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n var pausedMutations = this.mutations.filter(function (x) {\n return x.state.isPaused;\n });\n return notifyManager.batch(function () {\n return pausedMutations.reduce(function (promise, mutation) {\n return promise.then(function () {\n return mutation.continue().catch(noop);\n });\n }, Promise.resolve());\n });\n };\n\n return MutationCache;\n}(Subscribable);","import { isCancelable } from './retryer';\nimport { getAbortController } from './utils';\nexport function infiniteQueryBehavior() {\n return {\n onFetch: function onFetch(context) {\n context.fetchFn = function () {\n var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$fetchOptions4, _context$state$data, _context$state$data2;\n\n var refetchPage = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : _context$fetchOptions2.refetchPage;\n var fetchMore = (_context$fetchOptions3 = context.fetchOptions) == null ? void 0 : (_context$fetchOptions4 = _context$fetchOptions3.meta) == null ? void 0 : _context$fetchOptions4.fetchMore;\n var pageParam = fetchMore == null ? void 0 : fetchMore.pageParam;\n var isFetchingNextPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'forward';\n var isFetchingPreviousPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'backward';\n var oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];\n var oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];\n var abortController = getAbortController();\n var abortSignal = abortController == null ? void 0 : abortController.signal;\n var newPageParams = oldPageParams;\n var cancelled = false; // Get query function\n\n var queryFn = context.options.queryFn || function () {\n return Promise.reject('Missing queryFn');\n };\n\n var buildNewPages = function buildNewPages(pages, param, page, previous) {\n newPageParams = previous ? [param].concat(newPageParams) : [].concat(newPageParams, [param]);\n return previous ? [page].concat(pages) : [].concat(pages, [page]);\n }; // Create function to fetch a page\n\n\n var fetchPage = function fetchPage(pages, manual, param, previous) {\n if (cancelled) {\n return Promise.reject('Cancelled');\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages);\n }\n\n var queryFnContext = {\n queryKey: context.queryKey,\n signal: abortSignal,\n pageParam: param,\n meta: context.meta\n };\n var queryFnResult = queryFn(queryFnContext);\n var promise = Promise.resolve(queryFnResult).then(function (page) {\n return buildNewPages(pages, param, page, previous);\n });\n\n if (isCancelable(queryFnResult)) {\n var promiseAsAny = promise;\n promiseAsAny.cancel = queryFnResult.cancel;\n }\n\n return promise;\n };\n\n var promise; // Fetch first page?\n\n if (!oldPages.length) {\n promise = fetchPage([]);\n } // Fetch next page?\n else if (isFetchingNextPage) {\n var manual = typeof pageParam !== 'undefined';\n var param = manual ? pageParam : getNextPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param);\n } // Fetch previous page?\n else if (isFetchingPreviousPage) {\n var _manual = typeof pageParam !== 'undefined';\n\n var _param = _manual ? pageParam : getPreviousPageParam(context.options, oldPages);\n\n promise = fetchPage(oldPages, _manual, _param, true);\n } // Refetch pages\n else {\n (function () {\n newPageParams = [];\n var manual = typeof context.options.getNextPageParam === 'undefined';\n var shouldFetchFirstPage = refetchPage && oldPages[0] ? refetchPage(oldPages[0], 0, oldPages) : true; // Fetch first page\n\n promise = shouldFetchFirstPage ? fetchPage([], manual, oldPageParams[0]) : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0])); // Fetch remaining pages\n\n var _loop = function _loop(i) {\n promise = promise.then(function (pages) {\n var shouldFetchNextPage = refetchPage && oldPages[i] ? refetchPage(oldPages[i], i, oldPages) : true;\n\n if (shouldFetchNextPage) {\n var _param2 = manual ? oldPageParams[i] : getNextPageParam(context.options, pages);\n\n return fetchPage(pages, manual, _param2);\n }\n\n return Promise.resolve(buildNewPages(pages, oldPageParams[i], oldPages[i]));\n });\n };\n\n for (var i = 1; i < oldPages.length; i++) {\n _loop(i);\n }\n })();\n }\n\n var finalPromise = promise.then(function (pages) {\n return {\n pages: pages,\n pageParams: newPageParams\n };\n });\n var finalPromiseAsAny = finalPromise;\n\n finalPromiseAsAny.cancel = function () {\n cancelled = true;\n abortController == null ? void 0 : abortController.abort();\n\n if (isCancelable(promise)) {\n promise.cancel();\n }\n };\n\n return finalPromise;\n };\n }\n };\n}\nexport function getNextPageParam(options, pages) {\n return options.getNextPageParam == null ? void 0 : options.getNextPageParam(pages[pages.length - 1], pages);\n}\nexport function getPreviousPageParam(options, pages) {\n return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages);\n}\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasNextPage(options, pages) {\n if (options.getNextPageParam && Array.isArray(pages)) {\n var nextPageParam = getNextPageParam(options, pages);\n return typeof nextPageParam !== 'undefined' && nextPageParam !== null && nextPageParam !== false;\n }\n}\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasPreviousPage(options, pages) {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n var previousPageParam = getPreviousPageParam(options, pages);\n return typeof previousPageParam !== 'undefined' && previousPageParam !== null && previousPageParam !== false;\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { hashQueryKey, noop, parseFilterArgs, parseQueryArgs, partialMatchKey, hashQueryKeyByOptions } from './utils';\nimport { QueryCache } from './queryCache';\nimport { MutationCache } from './mutationCache';\nimport { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { notifyManager } from './notifyManager';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior';\n// CLASS\nexport var QueryClient = /*#__PURE__*/function () {\n function QueryClient(config) {\n if (config === void 0) {\n config = {};\n }\n\n this.queryCache = config.queryCache || new QueryCache();\n this.mutationCache = config.mutationCache || new MutationCache();\n this.defaultOptions = config.defaultOptions || {};\n this.queryDefaults = [];\n this.mutationDefaults = [];\n }\n\n var _proto = QueryClient.prototype;\n\n _proto.mount = function mount() {\n var _this = this;\n\n this.unsubscribeFocus = focusManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onFocus();\n\n _this.queryCache.onFocus();\n }\n });\n this.unsubscribeOnline = onlineManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onOnline();\n\n _this.queryCache.onOnline();\n }\n });\n };\n\n _proto.unmount = function unmount() {\n var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n };\n\n _proto.isFetching = function isFetching(arg1, arg2) {\n var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs[0];\n\n filters.fetching = true;\n return this.queryCache.findAll(filters).length;\n };\n\n _proto.isMutating = function isMutating(filters) {\n return this.mutationCache.findAll(_extends({}, filters, {\n fetching: true\n })).length;\n };\n\n _proto.getQueryData = function getQueryData(queryKey, filters) {\n var _this$queryCache$find;\n\n return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n };\n\n _proto.getQueriesData = function getQueriesData(queryKeyOrFilters) {\n return this.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref) {\n var queryKey = _ref.queryKey,\n state = _ref.state;\n var data = state.data;\n return [queryKey, data];\n });\n };\n\n _proto.setQueryData = function setQueryData(queryKey, updater, options) {\n var parsedOptions = parseQueryArgs(queryKey);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions);\n return this.queryCache.build(this, defaultedOptions).setData(updater, options);\n };\n\n _proto.setQueriesData = function setQueriesData(queryKeyOrFilters, updater, options) {\n var _this2 = this;\n\n return notifyManager.batch(function () {\n return _this2.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref2) {\n var queryKey = _ref2.queryKey;\n return [queryKey, _this2.setQueryData(queryKey, updater, options)];\n });\n });\n };\n\n _proto.getQueryState = function getQueryState(queryKey, filters) {\n var _this$queryCache$find2;\n\n return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n };\n\n _proto.removeQueries = function removeQueries(arg1, arg2) {\n var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs2[0];\n\n var queryCache = this.queryCache;\n notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n queryCache.remove(query);\n });\n });\n };\n\n _proto.resetQueries = function resetQueries(arg1, arg2, arg3) {\n var _this3 = this;\n\n var _parseFilterArgs3 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs3[0],\n options = _parseFilterArgs3[1];\n\n var queryCache = this.queryCache;\n\n var refetchFilters = _extends({}, filters, {\n active: true\n });\n\n return notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n query.reset();\n });\n return _this3.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.cancelQueries = function cancelQueries(arg1, arg2, arg3) {\n var _this4 = this;\n\n var _parseFilterArgs4 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs4[0],\n _parseFilterArgs4$ = _parseFilterArgs4[1],\n cancelOptions = _parseFilterArgs4$ === void 0 ? {} : _parseFilterArgs4$;\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n\n var promises = notifyManager.batch(function () {\n return _this4.queryCache.findAll(filters).map(function (query) {\n return query.cancel(cancelOptions);\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.invalidateQueries = function invalidateQueries(arg1, arg2, arg3) {\n var _ref3,\n _filters$refetchActiv,\n _filters$refetchInact,\n _this5 = this;\n\n var _parseFilterArgs5 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs5[0],\n options = _parseFilterArgs5[1];\n\n var refetchFilters = _extends({}, filters, {\n // if filters.refetchActive is not provided and filters.active is explicitly false,\n // e.g. invalidateQueries({ active: false }), we don't want to refetch active queries\n active: (_ref3 = (_filters$refetchActiv = filters.refetchActive) != null ? _filters$refetchActiv : filters.active) != null ? _ref3 : true,\n inactive: (_filters$refetchInact = filters.refetchInactive) != null ? _filters$refetchInact : false\n });\n\n return notifyManager.batch(function () {\n _this5.queryCache.findAll(filters).forEach(function (query) {\n query.invalidate();\n });\n\n return _this5.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.refetchQueries = function refetchQueries(arg1, arg2, arg3) {\n var _this6 = this;\n\n var _parseFilterArgs6 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs6[0],\n options = _parseFilterArgs6[1];\n\n var promises = notifyManager.batch(function () {\n return _this6.queryCache.findAll(filters).map(function (query) {\n return query.fetch(undefined, _extends({}, options, {\n meta: {\n refetchPage: filters == null ? void 0 : filters.refetchPage\n }\n }));\n });\n });\n var promise = Promise.all(promises).then(noop);\n\n if (!(options == null ? void 0 : options.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.fetchQuery = function fetchQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n\n var query = this.queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n };\n\n _proto.prefetchQuery = function prefetchQuery(arg1, arg2, arg3) {\n return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.fetchInfiniteQuery = function fetchInfiniteQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n parsedOptions.behavior = infiniteQueryBehavior();\n return this.fetchQuery(parsedOptions);\n };\n\n _proto.prefetchInfiniteQuery = function prefetchInfiniteQuery(arg1, arg2, arg3) {\n return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.cancelMutations = function cancelMutations() {\n var _this7 = this;\n\n var promises = notifyManager.batch(function () {\n return _this7.mutationCache.getAll().map(function (mutation) {\n return mutation.cancel();\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n return this.getMutationCache().resumePausedMutations();\n };\n\n _proto.executeMutation = function executeMutation(options) {\n return this.mutationCache.build(this, options).execute();\n };\n\n _proto.getQueryCache = function getQueryCache() {\n return this.queryCache;\n };\n\n _proto.getMutationCache = function getMutationCache() {\n return this.mutationCache;\n };\n\n _proto.getDefaultOptions = function getDefaultOptions() {\n return this.defaultOptions;\n };\n\n _proto.setDefaultOptions = function setDefaultOptions(options) {\n this.defaultOptions = options;\n };\n\n _proto.setQueryDefaults = function setQueryDefaults(queryKey, options) {\n var result = this.queryDefaults.find(function (x) {\n return hashQueryKey(queryKey) === hashQueryKey(x.queryKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.queryDefaults.push({\n queryKey: queryKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getQueryDefaults = function getQueryDefaults(queryKey) {\n var _this$queryDefaults$f;\n\n return queryKey ? (_this$queryDefaults$f = this.queryDefaults.find(function (x) {\n return partialMatchKey(queryKey, x.queryKey);\n })) == null ? void 0 : _this$queryDefaults$f.defaultOptions : undefined;\n };\n\n _proto.setMutationDefaults = function setMutationDefaults(mutationKey, options) {\n var result = this.mutationDefaults.find(function (x) {\n return hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.mutationDefaults.push({\n mutationKey: mutationKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getMutationDefaults = function getMutationDefaults(mutationKey) {\n var _this$mutationDefault;\n\n return mutationKey ? (_this$mutationDefault = this.mutationDefaults.find(function (x) {\n return partialMatchKey(mutationKey, x.mutationKey);\n })) == null ? void 0 : _this$mutationDefault.defaultOptions : undefined;\n };\n\n _proto.defaultQueryOptions = function defaultQueryOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n var defaultedOptions = _extends({}, this.defaultOptions.queries, this.getQueryDefaults(options == null ? void 0 : options.queryKey), options, {\n _defaulted: true\n });\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n }\n\n return defaultedOptions;\n };\n\n _proto.defaultQueryObserverOptions = function defaultQueryObserverOptions(options) {\n return this.defaultQueryOptions(options);\n };\n\n _proto.defaultMutationOptions = function defaultMutationOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n return _extends({}, this.defaultOptions.mutations, this.getMutationDefaults(options == null ? void 0 : options.mutationKey), options, {\n _defaulted: true\n });\n };\n\n _proto.clear = function clear() {\n this.queryCache.clear();\n this.mutationCache.clear();\n };\n\n return QueryClient;\n}();","import { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { sleep } from './utils';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * Math.pow(2, failureCount), 30000);\n}\n\nexport function isCancelable(value) {\n return typeof (value == null ? void 0 : value.cancel) === 'function';\n}\nexport var CancelledError = function CancelledError(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n};\nexport function isCancelledError(value) {\n return value instanceof CancelledError;\n} // CLASS\n\nexport var Retryer = function Retryer(config) {\n var _this = this;\n\n var cancelRetry = false;\n var cancelFn;\n var continueFn;\n var promiseResolve;\n var promiseReject;\n this.abort = config.abort;\n\n this.cancel = function (cancelOptions) {\n return cancelFn == null ? void 0 : cancelFn(cancelOptions);\n };\n\n this.cancelRetry = function () {\n cancelRetry = true;\n };\n\n this.continueRetry = function () {\n cancelRetry = false;\n };\n\n this.continue = function () {\n return continueFn == null ? void 0 : continueFn();\n };\n\n this.failureCount = 0;\n this.isPaused = false;\n this.isResolved = false;\n this.isTransportCancelable = false;\n this.promise = new Promise(function (outerResolve, outerReject) {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n var resolve = function resolve(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n var reject = function reject(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n var pause = function pause() {\n return new Promise(function (continueResolve) {\n continueFn = continueResolve;\n _this.isPaused = true;\n config.onPause == null ? void 0 : config.onPause();\n }).then(function () {\n continueFn = undefined;\n _this.isPaused = false;\n config.onContinue == null ? void 0 : config.onContinue();\n });\n }; // Create loop function\n\n\n var run = function run() {\n // Do nothing if already resolved\n if (_this.isResolved) {\n return;\n }\n\n var promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n } // Create callback to cancel this fetch\n\n\n cancelFn = function cancelFn(cancelOptions) {\n if (!_this.isResolved) {\n reject(new CancelledError(cancelOptions));\n _this.abort == null ? void 0 : _this.abort(); // Cancel transport if supported\n\n if (isCancelable(promiseOrValue)) {\n try {\n promiseOrValue.cancel();\n } catch (_unused) {}\n }\n }\n }; // Check if the transport layer support cancellation\n\n\n _this.isTransportCancelable = isCancelable(promiseOrValue);\n Promise.resolve(promiseOrValue).then(resolve).catch(function (error) {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (_this.isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n var retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n var retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n var delay = typeof retryDelay === 'function' ? retryDelay(_this.failureCount, error) : retryDelay;\n var shouldRetry = retry === true || typeof retry === 'number' && _this.failureCount < retry || typeof retry === 'function' && retry(_this.failureCount, error);\n\n if (cancelRetry || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n _this.failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(_this.failureCount, error); // Delay\n\n sleep(delay) // Pause if the document is not visible or when the device is offline\n .then(function () {\n if (!focusManager.isFocused() || !onlineManager.isOnline()) {\n return pause();\n }\n }).then(function () {\n if (cancelRetry) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n run();\n};","export var Subscribable = /*#__PURE__*/function () {\n function Subscribable() {\n this.listeners = [];\n }\n\n var _proto = Subscribable.prototype;\n\n _proto.subscribe = function subscribe(listener) {\n var _this = this;\n\n var callback = listener || function () {\n return undefined;\n };\n\n this.listeners.push(callback);\n this.onSubscribe();\n return function () {\n _this.listeners = _this.listeners.filter(function (x) {\n return x !== callback;\n });\n\n _this.onUnsubscribe();\n };\n };\n\n _proto.hasListeners = function hasListeners() {\n return this.listeners.length > 0;\n };\n\n _proto.onSubscribe = function onSubscribe() {// Do nothing\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {// Do nothing\n };\n\n return Subscribable;\n}();","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// TYPES\n// UTILS\nexport var isServer = typeof window === 'undefined';\nexport function noop() {\n return undefined;\n}\nexport function functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nexport function isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nexport function ensureQueryKeyArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function difference(array1, array2) {\n return array1.filter(function (x) {\n return array2.indexOf(x) === -1;\n });\n}\nexport function replaceAt(array, index, value) {\n var copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nexport function timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nexport function parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n queryKey: arg1,\n queryFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n queryKey: arg1\n });\n}\nexport function parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n mutationKey: arg1,\n mutationFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n mutationKey: arg1\n });\n }\n\n if (typeof arg1 === 'function') {\n return _extends({}, arg2, {\n mutationFn: arg1\n });\n }\n\n return _extends({}, arg1);\n}\nexport function parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [_extends({}, arg2, {\n queryKey: arg1\n }), arg3] : [arg1 || {}, arg2];\n}\nexport function parseMutationFilterArgs(arg1, arg2) {\n return isQueryKey(arg1) ? _extends({}, arg2, {\n mutationKey: arg1\n }) : arg1;\n}\nexport function mapQueryStatusFilter(active, inactive) {\n if (active === true && inactive === true || active == null && inactive == null) {\n return 'all';\n } else if (active === false && inactive === false) {\n return 'none';\n } else {\n // At this point, active|inactive can only be true|false or false|true\n // so, when only one value is provided, the missing one has to be the negated value\n var isActive = active != null ? active : !inactive;\n return isActive ? 'active' : 'inactive';\n }\n}\nexport function matchQuery(filters, query) {\n var active = filters.active,\n exact = filters.exact,\n fetching = filters.fetching,\n inactive = filters.inactive,\n predicate = filters.predicate,\n queryKey = filters.queryKey,\n stale = filters.stale;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n var queryStatusFilter = mapQueryStatusFilter(active, inactive);\n\n if (queryStatusFilter === 'none') {\n return false;\n } else if (queryStatusFilter !== 'all') {\n var isActive = query.isActive();\n\n if (queryStatusFilter === 'active' && !isActive) {\n return false;\n }\n\n if (queryStatusFilter === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetching === 'boolean' && query.isFetching() !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nexport function matchMutation(filters, mutation) {\n var exact = filters.exact,\n fetching = filters.fetching,\n predicate = filters.predicate,\n mutationKey = filters.mutationKey;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nexport function hashQueryKeyByOptions(queryKey, options) {\n var hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n */\n\nexport function hashQueryKey(queryKey) {\n var asArray = ensureQueryKeyArray(queryKey);\n return stableValueHash(asArray);\n}\n/**\n * Hashes the value into a stable hash.\n */\n\nexport function stableValueHash(value) {\n return JSON.stringify(value, function (_, val) {\n return isPlainObject(val) ? Object.keys(val).sort().reduce(function (result, key) {\n result[key] = val[key];\n return result;\n }, {}) : val;\n });\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nexport function partialMatchKey(a, b) {\n return partialDeepEqual(ensureQueryKeyArray(a), ensureQueryKeyArray(b));\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nexport function partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(function (key) {\n return !partialDeepEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nexport function replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n var array = Array.isArray(a) && Array.isArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n var aSize = array ? a.length : Object.keys(a).length;\n var bItems = array ? b : Object.keys(b);\n var bSize = bItems.length;\n var copy = array ? [] : {};\n var equalItems = 0;\n\n for (var i = 0; i < bSize; i++) {\n var key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nexport function shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (var key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nexport function isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n var ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n var prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nexport function isQueryKey(value) {\n return typeof value === 'string' || Array.isArray(value);\n}\nexport function isError(value) {\n return value instanceof Error;\n}\nexport function sleep(timeout) {\n return new Promise(function (resolve) {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nexport function scheduleMicrotask(callback) {\n Promise.resolve().then(callback).catch(function (error) {\n return setTimeout(function () {\n throw error;\n });\n });\n}\nexport function getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n}","import ReactDOM from 'react-dom';\nexport var unstable_batchedUpdates = ReactDOM.unstable_batchedUpdates;","import { notifyManager } from '../core';\nimport { unstable_batchedUpdates } from './reactBatchedUpdates';\nnotifyManager.setBatchNotifyFunction(unstable_batchedUpdates);","export var logger = console;","import { setLogger } from '../core';\nimport { logger } from './logger';\nsetLogger(logger);","import React from 'react';\nvar defaultContext = /*#__PURE__*/React.createContext(undefined);\nvar QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(contextSharing) {\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext;\n }\n\n return window.ReactQueryClientContext;\n }\n\n return defaultContext;\n}\n\nexport var useQueryClient = function useQueryClient() {\n var queryClient = React.useContext(getQueryClientContext(React.useContext(QueryClientSharingContext)));\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nexport var QueryClientProvider = function QueryClientProvider(_ref) {\n var client = _ref.client,\n _ref$contextSharing = _ref.contextSharing,\n contextSharing = _ref$contextSharing === void 0 ? false : _ref$contextSharing,\n children = _ref.children;\n React.useEffect(function () {\n client.mount();\n return function () {\n client.unmount();\n };\n }, [client]);\n var Context = getQueryClientContext(contextSharing);\n return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {\n value: contextSharing\n }, /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children));\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { isServer, isValidTimeout, noop, replaceEqualDeep, shallowEqualObjects, timeUntilStale } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { focusManager } from './focusManager';\nimport { Subscribable } from './subscribable';\nimport { getLogger } from './logger';\nimport { isCancelledError } from './retryer';\nexport var QueryObserver = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(QueryObserver, _Subscribable);\n\n function QueryObserver(client, options) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.client = client;\n _this.options = options;\n _this.trackedProps = [];\n _this.selectError = null;\n\n _this.bindMethods();\n\n _this.setOptions(options);\n\n return _this;\n }\n\n var _proto = QueryObserver.prototype;\n\n _proto.bindMethods = function bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n };\n\n _proto.onSubscribe = function onSubscribe() {\n if (this.listeners.length === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n };\n\n _proto.shouldFetchOnReconnect = function shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n };\n\n _proto.shouldFetchOnWindowFocus = function shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n };\n\n _proto.destroy = function destroy() {\n this.listeners = [];\n this.clearTimers();\n this.currentQuery.removeObserver(this);\n };\n\n _proto.setOptions = function setOptions(options, notifyOptions) {\n var prevOptions = this.options;\n var prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryObserverOptions(options);\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n var mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n var nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n };\n\n _proto.getOptimisticResult = function getOptimisticResult(options) {\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return this.createResult(query, defaultedOptions);\n };\n\n _proto.getCurrentResult = function getCurrentResult() {\n return this.currentResult;\n };\n\n _proto.trackResult = function trackResult(result, defaultedOptions) {\n var _this2 = this;\n\n var trackedResult = {};\n\n var trackProp = function trackProp(key) {\n if (!_this2.trackedProps.includes(key)) {\n _this2.trackedProps.push(key);\n }\n };\n\n Object.keys(result).forEach(function (key) {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: function get() {\n trackProp(key);\n return result[key];\n }\n });\n });\n\n if (defaultedOptions.useErrorBoundary || defaultedOptions.suspense) {\n trackProp('error');\n }\n\n return trackedResult;\n };\n\n _proto.getNextResult = function getNextResult(options) {\n var _this3 = this;\n\n return new Promise(function (resolve, reject) {\n var unsubscribe = _this3.subscribe(function (result) {\n if (!result.isFetching) {\n unsubscribe();\n\n if (result.isError && (options == null ? void 0 : options.throwOnError)) {\n reject(result.error);\n } else {\n resolve(result);\n }\n }\n });\n });\n };\n\n _proto.getCurrentQuery = function getCurrentQuery() {\n return this.currentQuery;\n };\n\n _proto.remove = function remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n };\n\n _proto.refetch = function refetch(options) {\n return this.fetch(_extends({}, options, {\n meta: {\n refetchPage: options == null ? void 0 : options.refetchPage\n }\n }));\n };\n\n _proto.fetchOptimistic = function fetchOptimistic(options) {\n var _this4 = this;\n\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return query.fetch().then(function () {\n return _this4.createResult(query, defaultedOptions);\n });\n };\n\n _proto.fetch = function fetch(fetchOptions) {\n var _this5 = this;\n\n return this.executeFetch(fetchOptions).then(function () {\n _this5.updateResult();\n\n return _this5.currentResult;\n });\n };\n\n _proto.executeFetch = function executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n var promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions == null ? void 0 : fetchOptions.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.updateStaleTimeout = function updateStaleTimeout() {\n var _this6 = this;\n\n this.clearStaleTimeout();\n\n if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n\n var time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n var timeout = time + 1;\n this.staleTimeoutId = setTimeout(function () {\n if (!_this6.currentResult.isStale) {\n _this6.updateResult();\n }\n }, timeout);\n };\n\n _proto.computeRefetchInterval = function computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n };\n\n _proto.updateRefetchInterval = function updateRefetchInterval(nextInterval) {\n var _this7 = this;\n\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(function () {\n if (_this7.options.refetchIntervalInBackground || focusManager.isFocused()) {\n _this7.executeFetch();\n }\n }, this.currentRefetchInterval);\n };\n\n _proto.updateTimers = function updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n };\n\n _proto.clearTimers = function clearTimers() {\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n };\n\n _proto.clearStaleTimeout = function clearStaleTimeout() {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n };\n\n _proto.clearRefetchInterval = function clearRefetchInterval() {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n };\n\n _proto.createResult = function createResult(query, options) {\n var prevQuery = this.currentQuery;\n var prevOptions = this.options;\n var prevResult = this.currentResult;\n var prevResultState = this.currentResultState;\n var prevResultOptions = this.currentResultOptions;\n var queryChange = query !== prevQuery;\n var queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n var prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n var state = query.state;\n var dataUpdatedAt = state.dataUpdatedAt,\n error = state.error,\n errorUpdatedAt = state.errorUpdatedAt,\n isFetching = state.isFetching,\n status = state.status;\n var isPreviousData = false;\n var isPlaceholderData = false;\n var data; // Optimistically set result in fetching state if needed\n\n if (options.optimisticResults) {\n var mounted = this.hasListeners();\n var fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n var fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n isFetching = true;\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdateCount && (prevQueryResult == null ? void 0 : prevQueryResult.isSuccess) && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n\n if (options.structuralSharing !== false) {\n data = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, data);\n }\n\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && (status === 'loading' || status === 'idle')) {\n var placeholderData; // Memoize placeholder data\n\n if ((prevResult == null ? void 0 : prevResult.isPlaceholderData) && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n\n if (options.structuralSharing !== false) {\n placeholderData = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, placeholderData);\n }\n\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = placeholderData;\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n var result = {\n status: status,\n isLoading: status === 'loading',\n isSuccess: status === 'success',\n isError: status === 'error',\n isIdle: status === 'idle',\n data: data,\n dataUpdatedAt: dataUpdatedAt,\n error: error,\n errorUpdatedAt: errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching: isFetching,\n isRefetching: isFetching && status !== 'loading',\n isLoadingError: status === 'error' && state.dataUpdatedAt === 0,\n isPlaceholderData: isPlaceholderData,\n isPreviousData: isPreviousData,\n isRefetchError: status === 'error' && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n };\n\n _proto.shouldNotifyListeners = function shouldNotifyListeners(result, prevResult) {\n if (!prevResult) {\n return true;\n }\n\n var _this$options = this.options,\n notifyOnChangeProps = _this$options.notifyOnChangeProps,\n notifyOnChangePropsExclusions = _this$options.notifyOnChangePropsExclusions;\n\n if (!notifyOnChangeProps && !notifyOnChangePropsExclusions) {\n return true;\n }\n\n if (notifyOnChangeProps === 'tracked' && !this.trackedProps.length) {\n return true;\n }\n\n var includedProps = notifyOnChangeProps === 'tracked' ? this.trackedProps : notifyOnChangeProps;\n return Object.keys(result).some(function (key) {\n var typedKey = key;\n var changed = result[typedKey] !== prevResult[typedKey];\n var isIncluded = includedProps == null ? void 0 : includedProps.some(function (x) {\n return x === key;\n });\n var isExcluded = notifyOnChangePropsExclusions == null ? void 0 : notifyOnChangePropsExclusions.some(function (x) {\n return x === key;\n });\n return changed && !isExcluded && (!includedProps || isIncluded);\n });\n };\n\n _proto.updateResult = function updateResult(notifyOptions) {\n var prevResult = this.currentResult;\n this.currentResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify if something has changed\n\n if (shallowEqualObjects(this.currentResult, prevResult)) {\n return;\n } // Determine which callbacks to trigger\n\n\n var defaultNotifyOptions = {\n cache: true\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && this.shouldNotifyListeners(this.currentResult, prevResult)) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify(_extends({}, defaultNotifyOptions, notifyOptions));\n };\n\n _proto.updateQuery = function updateQuery() {\n var query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n var prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n };\n\n _proto.onQueryUpdate = function onQueryUpdate(action) {\n var notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n };\n\n _proto.notify = function notify(notifyOptions) {\n var _this8 = this;\n\n notifyManager.batch(function () {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n _this8.options.onSuccess == null ? void 0 : _this8.options.onSuccess(_this8.currentResult.data);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(_this8.currentResult.data, null);\n } else if (notifyOptions.onError) {\n _this8.options.onError == null ? void 0 : _this8.options.onError(_this8.currentResult.error);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(undefined, _this8.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n _this8.listeners.forEach(function (listener) {\n listener(_this8.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n _this8.client.getQueryCache().notify({\n query: _this8.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n };\n\n return QueryObserver;\n}(Subscribable);\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n var value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}","import React from 'react'; // CONTEXT\n\nfunction createValue() {\n var _isReset = false;\n return {\n clearReset: function clearReset() {\n _isReset = false;\n },\n reset: function reset() {\n _isReset = true;\n },\n isReset: function isReset() {\n return _isReset;\n }\n };\n}\n\nvar QueryErrorResetBoundaryContext = /*#__PURE__*/React.createContext(createValue()); // HOOK\n\nexport var useQueryErrorResetBoundary = function useQueryErrorResetBoundary() {\n return React.useContext(QueryErrorResetBoundaryContext);\n}; // COMPONENT\n\nexport var QueryErrorResetBoundary = function QueryErrorResetBoundary(_ref) {\n var children = _ref.children;\n var value = React.useMemo(function () {\n return createValue();\n }, []);\n return /*#__PURE__*/React.createElement(QueryErrorResetBoundaryContext.Provider, {\n value: value\n }, typeof children === 'function' ? children(value) : children);\n};","import React from 'react';\nimport { notifyManager } from '../core/notifyManager';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary';\nimport { useQueryClient } from './QueryClientProvider';\nimport { shouldThrowError } from './utils';\nexport function useBaseQuery(options, Observer) {\n var mountedRef = React.useRef(false);\n\n var _React$useState = React.useState(0),\n forceUpdate = _React$useState[1];\n\n var queryClient = useQueryClient();\n var errorResetBoundary = useQueryErrorResetBoundary();\n var defaultedOptions = queryClient.defaultQueryObserverOptions(options); // Make sure results are optimistically set in fetching state before subscribing or updating options\n\n defaultedOptions.optimisticResults = true; // Include callbacks in batch renders\n\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(defaultedOptions.onError);\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(defaultedOptions.onSuccess);\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(defaultedOptions.onSettled);\n }\n\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000;\n } // Set cache time to 1 if the option has been set to 0\n // when using suspense to prevent infinite loop of fetches\n\n\n if (defaultedOptions.cacheTime === 0) {\n defaultedOptions.cacheTime = 1;\n }\n }\n\n if (defaultedOptions.suspense || defaultedOptions.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n defaultedOptions.retryOnMount = false;\n }\n }\n\n var _React$useState2 = React.useState(function () {\n return new Observer(queryClient, defaultedOptions);\n }),\n observer = _React$useState2[0];\n\n var result = observer.getOptimisticResult(defaultedOptions);\n React.useEffect(function () {\n mountedRef.current = true;\n errorResetBoundary.clearReset();\n var unsubscribe = observer.subscribe(notifyManager.batchCalls(function () {\n if (mountedRef.current) {\n forceUpdate(function (x) {\n return x + 1;\n });\n }\n })); // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n\n observer.updateResult();\n return function () {\n mountedRef.current = false;\n unsubscribe();\n };\n }, [errorResetBoundary, observer]);\n React.useEffect(function () {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, {\n listeners: false\n });\n }, [defaultedOptions, observer]); // Handle suspense\n\n if (defaultedOptions.suspense && result.isLoading) {\n throw observer.fetchOptimistic(defaultedOptions).then(function (_ref) {\n var data = _ref.data;\n defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n }).catch(function (error) {\n errorResetBoundary.clearReset();\n defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n });\n } // Handle error boundary\n\n\n if (result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(defaultedOptions.suspense, defaultedOptions.useErrorBoundary, [result.error, observer.getCurrentQuery()])) {\n throw result.error;\n } // Handle result property usage tracking\n\n\n if (defaultedOptions.notifyOnChangeProps === 'tracked') {\n result = observer.trackResult(result, defaultedOptions);\n }\n\n return result;\n}","export function shouldThrowError(suspense, _useErrorBoundary, params) {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary.apply(void 0, params);\n } // Allow useErrorBoundary to override suspense's throwing behavior\n\n\n if (typeof _useErrorBoundary === 'boolean') return _useErrorBoundary; // If suspense is enabled default to throwing errors\n\n return !!suspense;\n}","import { QueryObserver } from '../core';\nimport { parseQueryArgs } from '../core/utils';\nimport { useBaseQuery } from './useBaseQuery'; // HOOK\n\nexport function useQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n return useBaseQuery(parsedOptions, QueryObserver);\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","module.exports = __WEBPACK_EXTERNAL_MODULE__66__;","module.exports = __WEBPACK_EXTERNAL_MODULE__156__;","module.exports = __WEBPACK_EXTERNAL_MODULE__111__;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true\n};\nvar i18nInstance;\nexport var I18nContext = React.createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, namespaces.join()]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import {\n QA_URL,\n PROD_URL,\n QA_PREVIEW_URL,\n PROD_PREVIEW_URL,\n} from 'js/constants/baseUrls';\nimport { StudioModule, StudioBrightcove } from 'types/studio';\nimport { PlayerSelectItem } from '../types/players';\n\nconst QA = 'qa';\nconst PRODUCTION = 'production';\nconst TITLE_CHAR_LIMIT = 60;\nexport const ROLES = {\n PUBLISHING: 'PUBLISHING',\n};\n\n/**\n * Get the studio environment as a string.\n * @returns the studio environment\n */\nexport function getStudioEnvironment(): string {\n return window.StudioModule?.config.product.env || PRODUCTION;\n}\n\n/**\n * Is the module running in QA environment?\n */\nexport function isQA() {\n return getStudioEnvironment() === QA;\n}\n\n/**\n * Gets the correct player url base depending on environment\n */\nexport function getUrlBase() {\n return isQA() ? QA_URL : PROD_URL;\n}\n\n/**\n *\n * @param options : array of PlayerSelectItem\n * @returns options ordered ascending\n */\nexport function sortAsc(options: PlayerSelectItem[]): PlayerSelectItem[] {\n return options.sort((a, b) => a.label.localeCompare(b.label));\n}\n\nexport type VideoPreviewLinkOptions = {\n accountId: string;\n videoId?: string;\n interactivityProjectId?: string;\n playerId: string;\n};\n/**\n *\n * @param accountId : accountId of current user\n * @param videoId : VideoPayload type info\n * @param interactivityProjectId : id of interactivity project\n * @param playerId : playerId used for preview\n * @returns a working preview link with given information\n */\nexport const getVideoPreviewLink = (options: VideoPreviewLinkOptions) => {\n const { accountId, videoId, interactivityProjectId, playerId } = options;\n const params = new URLSearchParams();\n if (interactivityProjectId) {\n params.append('interactivityProjectId', interactivityProjectId);\n }\n if (videoId) {\n params.append('videoId', videoId);\n }\n const paramsString = params.toString();\n return `${getUrlBase()}${accountId}/${playerId}_default/index.html${\n paramsString !== '' ? `?${paramsString}` : ''\n }`;\n};\n\n/**\n * Truncates a video title property\n * @param videoName - video title\n * @returns truncated video title\n */\nexport const truncateVideoTitle = (videoName: string): string => {\n if (videoName.length > TITLE_CHAR_LIMIT) {\n return `${videoName.substring(0, TITLE_CHAR_LIMIT).trim()}...`;\n }\n return videoName;\n};\n\nexport function getPreviewUrlBase() {\n return isQA() ? QA_PREVIEW_URL : PROD_PREVIEW_URL;\n}\n\n/**\n *\n * @param accountId : account id of current user\n * @param playerId : playerId used for preview\n * @returns a working preview url with given information\n */\nexport const getPreviewPlayerUrl = (\n accountId: string,\n playerId: string,\n): string =>\n `${getPreviewUrlBase()}/v2/accounts/${accountId}/players/${playerId}/preview/embeds/default/master/index.html`;\n\nexport const getStudioModule = (): StudioModule => window.StudioModule;\n\nexport const getBrightcove = (): StudioBrightcove => window.brightcove;\n\nexport function getProductPath(): string {\n return getStudioModule()?.config?.product?.path || '/products/videocloud';\n}\n\n/**\n * @returns Player Manager Module URL\n */\nexport const getPlayerManagerModuleUrl = () => {\n return `${getProductPath()}/players`;\n};\n","export const QA_URL = 'https://bc-players-qa.s3.amazonaws.com/';\nexport const PROD_URL = 'https://players.brightcove.net/';\nexport const QA_PREVIEW_URL = 'https://preview-players.qa.brightcove.net';\nexport const PROD_PREVIEW_URL = 'https://preview-players.brightcove.net';\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../node_modules/sass-loader/dist/cjs.js!./EmbedCode.sass\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../node_modules/sass-loader/dist/cjs.js!./EmbedCode.sass\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport brightcoveEmbedCode from '@brightcove/player-embed-code';\nimport {\n Flex,\n FlexItem,\n CopyField,\n PlainTextArea,\n} from '@brightcove/studio-components';\n\nimport { EmbedCodeProps } from 'js/types/EmbedCodeProps';\nimport { getUrlBase, getBrightcove } from 'js/utils/util';\n\nimport css from 'styles/EmbedCode.sass';\n\ninterface EmbedCodeConfig {\n accountId: string;\n responsive: boolean;\n width: number;\n height: number;\n iframe: boolean;\n videoId?: string;\n interactivityProjectId?: string;\n playerId: string;\n urlBase: string;\n playlistIsHorizontal: boolean;\n}\nconst DEFAULT_HEIGHT = 540;\nconst DEFAULT_WIDTH = 960;\nconst defaultConfig = {\n responsive: false,\n width: DEFAULT_WIDTH,\n height: DEFAULT_HEIGHT,\n urlBase: getUrlBase(),\n playlistIsHorizontal: true,\n};\n\nconst createEmbedConfigObject = (config: EmbedCodeProps): EmbedCodeConfig => {\n return Object.assign({}, { ...defaultConfig, ...config });\n};\n\nexport const EmbedCode = (config: EmbedCodeProps) => {\n const { t } = useTranslation();\n const [embedCode, setEmbedCode] = useState('');\n\n useEffect(() => {\n const embedConfigObj = createEmbedConfigObject(config);\n const embedCode = brightcoveEmbedCode(embedConfigObj);\n setEmbedCode(embedCode);\n }, [config]);\n\n const HelperTextNodeNew = (\n <Flex>\n <FlexItem flexGrow='1' className={css.helperText}>\n {t('tabs.helperText')}\n </FlexItem>\n </Flex>\n );\n\n return (\n <>\n <CopyField\n className={css.copyInput}\n helperNode={HelperTextNodeNew}\n Component={PlainTextArea}\n componentProps={{\n disabled: true,\n disableResizing: true,\n className: css.textAreaDimensions,\n onChange: () => void 0,\n }}\n onCopy={() => {\n getBrightcove().Toaster.success({\n title: t('toasterTitle'),\n message: t('toasterMessage'),\n });\n }}\n onError={() => {\n getBrightcove().Toaster.error({\n message: t('toasterErrorMessage'),\n });\n }}\n value={embedCode}\n hideButton={true}\n testName='embed-copy-section'\n />\n </>\n );\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","const getStudioConfig = () => window.StudioModule.config;\n\nexport const getAccountId = (): string => {\n const config = getStudioConfig();\n return config.user.currentAccount.id;\n};\n\nexport const getConfig = () => {\n const config = getStudioConfig();\n const apiConfig = {\n publisherId: getAccountId(),\n api: config.module.api,\n };\n return { apiConfig };\n};\n\nexport const call = <T>(options): Promise<T> => {\n const studioModule = window.StudioModule;\n const api = studioModule.api();\n\n const callback = (resolve, reject) => {\n api.call(options, resolve, reject);\n };\n\n return new Promise(callback);\n};\n\nexport const callAPI = <T>(apiEndpoint, apiArgs) => {\n const endpoint = apiEndpoint({ ...apiArgs, ...getConfig() });\n return call<T>(endpoint);\n};\n","import {\n getAllPlayers,\n createPlayer as createPlayerAPI,\n getPlayer as getPlayerAPI,\n} from '@brightcove/studio-api-services/api/players-api';\nimport { callAPI } from 'js/utils/call';\nimport {\n GetPlayersPayload,\n CreatePlayerPayload,\n CreatePlayerResponse,\n PlayerItem,\n} from 'js/types/players';\n\nexport const getPlayers = async (): Promise<GetPlayersPayload> => {\n return callAPI(getAllPlayers, {});\n};\n\nexport const createPlayer = async (\n payload: CreatePlayerPayload,\n): Promise<CreatePlayerResponse> => {\n return callAPI(createPlayerAPI, payload);\n};\n\nexport const getPlayer = async (playerId: string): Promise<PlayerItem> => {\n return callAPI(getPlayerAPI, { playerId });\n};\n","import { useQuery } from 'react-query';\n\nimport { getPlayers } from 'js/services/players-api';\n\nconst useGetPlayers = (isPlayersCallEnabled: boolean) => {\n return useQuery(['players'], () => getPlayers(), {\n refetchOnWindowFocus: false,\n enabled: isPlayersCallEnabled,\n });\n};\n\nexport default useGetPlayers;\n","// export payload that will be used to pass data into component\nexport interface VideoPayload {\n videoId: string;\n videoName: string;\n accountId: string;\n posterUrl?: string;\n duration: number;\n}\n\nexport interface PlayerPayload {\n id: string;\n configuration?: Record<string, unknown>;\n name?: string;\n accountId?: string;\n}\n\nexport interface ProjectPayload {\n accountId: string;\n videoId: string;\n interactivityProjectId: string;\n interactivityProjectName: string;\n}\n\nexport enum EmbedCodeModalTypes {\n PLAYER = 'player',\n VIDEO = 'video',\n PROJECT = 'project',\n}\n\nexport enum NoInteractivityPlayerModalTypes {\n NO_PLAYER = 'no-player',\n NO_PERMISSION = 'no-permission',\n}\n\nexport type ModalDataPayload = VideoPayload | PlayerPayload | ProjectPayload;\n","// Plugins available in the BC registry\nexport const bcHostedPlugins = [\n 'bcAa',\n 'bcAirplay',\n 'bcGa',\n 'bcGtm',\n 'bcPlaylistUi',\n 'bcTealium',\n 'bcMapPlugin',\n 'chromecastReceiver',\n 'customEndscreen',\n 'eme',\n 'ima3',\n 'interactivityViewer',\n 'kollective',\n 'overlay',\n 'pip',\n 'playlistEndscreen',\n 'qualityMenu',\n 'social',\n 'ssai',\n 'thumbnails',\n];\n\nexport const CAMPAIGN_PLUGIN_NAME = 'bcMapPlugin';\nexport const INTERACTIVITY_PLUGIN_NAME = 'interactivityViewer';\n","export const DEFAULT_PLAYER_ID = 'default';\nexport const DEFAULT_PLAYER_NAME = 'Brightcove Default Player';\n\nexport const PLAYER_LIST_FOR_SELECTION = [\n {\n label: DEFAULT_PLAYER_NAME,\n value: DEFAULT_PLAYER_ID,\n },\n];\n\nexport const PLAYERS = {\n default: {\n hasCustomPlugins: false,\n id: DEFAULT_PLAYER_ID,\n hasCampaignPlugin: false,\n label: DEFAULT_PLAYER_NAME,\n hasInteractivityPlugin: false,\n },\n};\n\nexport const DEFAULT_INTERACTIVITY_PLAYER = {\n name: 'Interactivity Player',\n registry_id: '@brightcove/videojs-interactivity-viewer',\n version: '1.x',\n};\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../node_modules/sass-loader/dist/cjs.js!./EmbedCodeModal.sass\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../node_modules/sass-loader/dist/cjs.js!./EmbedCodeModal.sass\";\n export default content && content.locals ? content.locals : undefined;\n","/*! @name @brightcove/react-player-loader @version 1.4.2 @license Apache-2.0 */\nimport React from 'react';\nimport document from 'global/document';\nimport window from 'global/window';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/*! @name @brightcove/player-loader @version 1.8.0 @license Apache-2.0 */\n\nfunction _extends$1() {\n _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends$1.apply(this, arguments);\n}\n\nvar version = \"1.8.0\";\n\n/*! @name @brightcove/player-url @version 1.2.0 @license Apache-2.0 */\nvar version$1 = \"1.2.0\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n// The parameters that may include JSON.\nvar JSON_ALLOWED_PARAMS = ['catalogSearch', 'catalogSequence'];\n\n// The parameters that may be set as query string parameters for iframes.\nvar IFRAME_ALLOWED_QUERY_PARAMS = ['adConfigId', 'applicationId', 'catalogSearch', 'catalogSequence', 'playlistId', 'playlistVideoId', 'videoId'];\n\n/**\n * Gets the value of a parameter and encodes it as a string.\n *\n * For certain keys, JSON is allowed and will be encoded.\n *\n * @private\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @param {string} key\n * The key in the params object.\n *\n * @return {string|undefined}\n * The encoded value - or `undefined` if none.\n */\nvar getQueryParamValue = function getQueryParamValue(params, key) {\n\n if (!params || params[key] === undefined) {\n return;\n }\n\n // If it's not a string, such as with a catalog search or sequence, we\n // try to encode it as JSON.\n if (typeof params[key] !== 'string' && JSON_ALLOWED_PARAMS.indexOf(key) !== -1) {\n try {\n return encodeURIComponent(JSON.stringify(params[key]));\n } catch (x) {\n\n // If it's not a string and we can't encode as JSON, it's ignored entirely.\n return;\n }\n }\n\n return encodeURIComponent(String(params[key]).trim()) || undefined;\n};\n\n/**\n * In some cases, we need to add query string parameters to an iframe URL.\n *\n * @private\n * @param {Object} params\n * An object of query parameters.\n *\n * @return {string}\n * A query string starting with `?`. If no valid parameters are given,\n * returns an empty string.\n */\nvar getQueryString = function getQueryString(params) {\n return Object.keys(params).filter(function (k) {\n return IFRAME_ALLOWED_QUERY_PARAMS.indexOf(k) !== -1;\n }).reduce(function (qs, k) {\n var value = getQueryParamValue(params, k);\n\n if (value !== undefined) {\n qs += qs ? '&' : '?';\n qs += encodeURIComponent(k) + '=' + value;\n }\n\n return qs;\n }, '');\n};\n\n/**\n * Generate a URL to a Brightcove Player.\n *\n * @param {Object} params\n * A set of parameters describing the player URL to create.\n *\n * @param {string} params.accountId\n * A Brightcove account ID.\n *\n * @param {string} [params.playerId=\"default\"]\n * A Brightcove player ID.\n *\n * @param {string} [params.embedId=\"default\"]\n * A Brightcove player embed ID.\n *\n * @param {boolean} [params.iframe=false]\n * Whether to return a URL for an HTML document to be embedded in\n * an iframe.\n *\n * @param {boolean} [params.minified=true]\n * When the `iframe` argument is `false`, this can be used to control\n * whether the minified or unminified JavaScript URL is returned.\n *\n * @param {string} [params.base=\"https://players.brightcove.net\"]\n * A base CDN protocol and hostname. Mainly used for testing.\n *\n * @return {string}\n * A URL to a Brightcove Player.\n */\nvar brightcovePlayerUrl = function brightcovePlayerUrl(_ref) {\n var accountId = _ref.accountId,\n _ref$base = _ref.base,\n base = _ref$base === undefined ? 'https://players.brightcove.net' : _ref$base,\n _ref$playerId = _ref.playerId,\n playerId = _ref$playerId === undefined ? 'default' : _ref$playerId,\n _ref$embedId = _ref.embedId,\n embedId = _ref$embedId === undefined ? 'default' : _ref$embedId,\n _ref$iframe = _ref.iframe,\n iframe = _ref$iframe === undefined ? false : _ref$iframe,\n _ref$minified = _ref.minified,\n minified = _ref$minified === undefined ? true : _ref$minified,\n _ref$queryParams = _ref.queryParams,\n queryParams = _ref$queryParams === undefined ? null : _ref$queryParams;\n\n var ext = '';\n\n if (iframe) {\n ext += 'html';\n } else {\n if (minified) {\n ext += 'min.';\n }\n ext += 'js';\n }\n\n if (base.charAt(base.length - 1) === '/') {\n base = base.substring(0, base.length - 1);\n }\n\n var qs = '';\n\n if (iframe && queryParams && (typeof queryParams === 'undefined' ? 'undefined' : _typeof(queryParams)) === 'object') {\n qs = getQueryString(queryParams);\n }\n\n accountId = encodeURIComponent(accountId);\n playerId = encodeURIComponent(playerId);\n embedId = encodeURIComponent(embedId);\n\n return base + '/' + accountId + '/' + playerId + '_' + embedId + '/index.' + ext + qs;\n};\n\n/**\n * The version of this module.\n *\n * @type {string}\n */\nbrightcovePlayerUrl.VERSION = version$1;\n\nvar DEFAULTS = {\n embedId: 'default',\n embedType: 'in-page',\n playerId: 'default',\n Promise: window.Promise,\n refNodeInsert: 'append'\n};\nvar DEFAULT_ASPECT_RATIO = '16:9';\nvar DEFAULT_IFRAME_HORIZONTAL_PLAYLIST = false;\nvar DEFAULT_MAX_WIDTH = '100%';\nvar EMBED_TAG_NAME_VIDEO = 'video';\nvar EMBED_TAG_NAME_VIDEOJS = 'video-js';\nvar EMBED_TYPE_IN_PAGE = 'in-page';\nvar EMBED_TYPE_IFRAME = 'iframe';\nvar REF_NODE_INSERT_APPEND = 'append';\nvar REF_NODE_INSERT_PREPEND = 'prepend';\nvar REF_NODE_INSERT_BEFORE = 'before';\nvar REF_NODE_INSERT_AFTER = 'after';\nvar REF_NODE_INSERT_REPLACE = 'replace';\nvar JSON_ALLOWED_ATTRS = ['catalogSearch', 'catalogSequence'];\n\nvar BASE_URL = 'https://players.brightcove.net/';\n/**\n * Gets the URL to a player on CDN.\n *\n * @private\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @return {string}\n * A URL.\n */\n\nvar getUrl = function getUrl(params) {\n if (params.playerUrl) {\n return params.playerUrl;\n }\n\n var accountId = params.accountId,\n playerId = params.playerId,\n embedId = params.embedId,\n embedOptions = params.embedOptions;\n var iframe = params.embedType === EMBED_TYPE_IFRAME;\n return brightcovePlayerUrl({\n accountId: accountId,\n playerId: playerId,\n embedId: embedId,\n iframe: iframe,\n base: BASE_URL,\n // The unminified embed option is the exact reverse of the minified option\n // here.\n minified: embedOptions ? !embedOptions.unminified : true,\n // Pass the entire params object as query params. This is safe because\n // @brightcove/player-url only accepts a whitelist of parameters. Anything\n // else will be ignored.\n queryParams: params\n });\n};\n/**\n * Function used to get the base URL - primarily for testing.\n *\n * @private\n * @return {string}\n * The current base URL.\n */\n\n\nvar getBaseUrl = function getBaseUrl() {\n return BASE_URL;\n};\n/**\n * Function used to set the base URL - primarily for testing.\n *\n * @private\n * @param {string} baseUrl\n * A new base URL (instead of Brightcove CDN).\n */\n\n\nvar setBaseUrl = function setBaseUrl(baseUrl) {\n BASE_URL = baseUrl;\n};\n\nvar urls = {\n getUrl: getUrl,\n getBaseUrl: getBaseUrl,\n setBaseUrl: setBaseUrl\n};\n\n/**\n * Is this value an element?\n *\n * @param {Element} el\n * A maybe element.\n *\n * @return {boolean}\n * Whether or not the value is a element.\n */\n\nvar isEl = function isEl(el) {\n return Boolean(el && el.nodeType === 1);\n};\n/**\n * Is this value an element with a parent node?\n *\n * @param {Element} el\n * A maybe element.\n *\n * @return {boolean}\n * Whether or not the value is a element with a parent node.\n */\n\n\nvar isElInDom = function isElInDom(el) {\n return Boolean(isEl(el) && el.parentNode);\n};\n/**\n * Creates an iframe embed code.\n *\n * @private\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @return {Element}\n * The DOM element that will ultimately be passed to the `bc()` function.\n */\n\n\nvar createIframeEmbed = function createIframeEmbed(params) {\n var el = document.createElement('iframe');\n el.setAttribute('allow', 'autoplay;encrypted-media;fullscreen');\n el.setAttribute('allowfullscreen', 'allowfullscreen');\n el.src = urls.getUrl(params);\n return el;\n};\n/**\n * Creates an in-page embed code.\n *\n * @private\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @return {Element}\n * The DOM element that will ultimately be passed to the `bc()` function.\n */\n\n\nvar createInPageEmbed = function createInPageEmbed(params) {\n var embedOptions = params.embedOptions; // We DO NOT include the data-account, data-player, or data-embed attributes\n // here because we will be manually initializing the player.\n\n var paramsToAttrs = {\n adConfigId: 'data-ad-config-id',\n applicationId: 'data-application-id',\n catalogSearch: 'data-catalog-search',\n catalogSequence: 'data-catalog-sequence',\n deliveryConfigId: 'data-delivery-config-id',\n playlistId: 'data-playlist-id',\n playlistVideoId: 'data-playlist-video-id',\n poster: 'poster',\n videoId: 'data-video-id'\n };\n var tagName = embedOptions && embedOptions.tagName || EMBED_TAG_NAME_VIDEOJS;\n var el = document.createElement(tagName);\n Object.keys(paramsToAttrs).filter(function (key) {\n return params[key];\n }).forEach(function (key) {\n var value; // If it's not a string, such as with a catalog search or sequence, we\n // try to encode it as JSON.\n\n if (typeof params[key] !== 'string' && JSON_ALLOWED_ATTRS.indexOf(key) !== -1) {\n try {\n value = JSON.stringify(params[key]); // If it fails, don't set anything.\n } catch (x) {\n return;\n }\n } else {\n value = String(params[key]).trim();\n }\n\n el.setAttribute(paramsToAttrs[key], value);\n });\n el.setAttribute('controls', 'controls');\n el.classList.add('video-js');\n return el;\n};\n/**\n * Wraps an element in responsive intrinsic ratio elements.\n *\n * @private\n * @param {string} embedType\n * The type of the embed.\n *\n * @param {Object} embedOptions\n * Embed options from the params.\n *\n * @param {Element} el\n * The DOM element.\n *\n * @return {Element}\n * A new element (if needed).\n */\n\n\nvar wrapResponsive = function wrapResponsive(embedType, embedOptions, el) {\n if (!embedOptions.responsive) {\n return el;\n }\n\n el.style.position = 'absolute';\n el.style.top = '0px';\n el.style.right = '0px';\n el.style.bottom = '0px';\n el.style.left = '0px';\n el.style.width = '100%';\n el.style.height = '100%';\n\n var responsive = _extends$1({\n aspectRatio: DEFAULT_ASPECT_RATIO,\n iframeHorizontalPlaylist: DEFAULT_IFRAME_HORIZONTAL_PLAYLIST,\n maxWidth: DEFAULT_MAX_WIDTH\n }, embedOptions.responsive); // This value is validate at a higher level, so we can trust that it's in the\n // correct format.\n\n\n var aspectRatio = responsive.aspectRatio.split(':').map(Number);\n var inner = document.createElement('div');\n var paddingTop = aspectRatio[1] / aspectRatio[0] * 100; // For iframes with a horizontal playlist, the playlist takes up 20% of the\n // vertical space (if shown); so, adjust the vertical size of the embed to\n // avoid black bars.\n\n if (embedType === EMBED_TYPE_IFRAME && responsive.iframeHorizontalPlaylist) {\n paddingTop *= 1.25;\n }\n\n inner.style.paddingTop = paddingTop + '%';\n inner.appendChild(el);\n var outer = document.createElement('div');\n outer.style.position = 'relative';\n outer.style.display = 'block';\n outer.style.maxWidth = responsive.maxWidth;\n outer.appendChild(inner);\n return outer;\n};\n/**\n * Wraps an element in a Picture-in-Picture plugin container.\n *\n * @private\n * @param {Object} embedOptions\n * Embed options from the params.\n *\n * @param {Element} el\n * The DOM element.\n *\n * @return {Element}\n * A new element (if needed).\n */\n\n\nvar wrapPip = function wrapPip(embedOptions, el) {\n if (!embedOptions.pip) {\n return el;\n }\n\n var pip = document.createElement('div');\n pip.classList.add('vjs-pip-container');\n pip.appendChild(el);\n return pip;\n};\n/**\n * Wraps a bare embed element with necessary parent elements, depending on\n * embed options given in params.\n *\n * @private\n * @param {string} embedType\n * The type of the embed.\n *\n * @param {Object} embedOptions\n * Embed options from the params.\n *\n * @param {Element} embed\n * The embed DOM element.\n *\n * @return {Element}\n * A new element (if needed) or the embed itself.\n */\n\n\nvar wrapEmbed = function wrapEmbed(embedType, embedOptions, embed) {\n if (!embedOptions) {\n return embed;\n }\n\n return wrapPip(embedOptions, wrapResponsive(embedType, embedOptions, embed));\n};\n/**\n * Inserts a previously-created embed element into the page based on params.\n *\n * @private\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @param {Element} embed\n * The embed DOM element.\n *\n * @return {Element}\n * The embed DOM element.\n */\n\n\nvar insertEmbed = function insertEmbed(params, embed) {\n var refNode = params.refNode,\n refNodeInsert = params.refNodeInsert;\n var refNodeParent = refNode.parentNode; // Wrap the embed, if needed, in container elements to support various\n // plugins.\n\n var wrapped = wrapEmbed(params.embedType, params.embedOptions, embed); // Decide where to insert the wrapped embed.\n\n if (refNodeInsert === REF_NODE_INSERT_BEFORE) {\n refNodeParent.insertBefore(wrapped, refNode);\n } else if (refNodeInsert === REF_NODE_INSERT_AFTER) {\n refNodeParent.insertBefore(wrapped, refNode.nextElementSibling || null);\n } else if (refNodeInsert === REF_NODE_INSERT_REPLACE) {\n refNodeParent.replaceChild(wrapped, refNode);\n } else if (refNodeInsert === REF_NODE_INSERT_PREPEND) {\n refNode.insertBefore(wrapped, refNode.firstChild || null); // Append is the default.\n } else {\n refNode.appendChild(wrapped);\n } // If the playlist embed option is provided, we need to add a playlist element\n // immediately after the embed. This has to happen after the embed is inserted\n // into the DOM (above).\n\n\n if (params.embedOptions && params.embedOptions.playlist) {\n var playlistTagName = params.embedOptions.playlist.legacy ? 'ul' : 'div';\n var playlist = document.createElement(playlistTagName);\n playlist.classList.add('vjs-playlist');\n embed.parentNode.insertBefore(playlist, embed.nextElementSibling || null);\n } // Clean up internal reference to the refNode to avoid potential memory\n // leaks in case the params get persisted somewhere. We won't need it beyond\n // this point.\n\n\n params.refNode = null; // Return the original embed element that can be passed to `bc()`.\n\n return embed;\n};\n/**\n * Handles `onEmbedCreated` callback invocation.\n *\n * @private\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @param {Element} embed\n * The embed DOM element.\n *\n * @return {Element}\n * A possibly-new DOM element.\n */\n\n\nvar onEmbedCreated = function onEmbedCreated(params, embed) {\n if (typeof params.onEmbedCreated !== 'function') {\n return embed;\n }\n\n var result = params.onEmbedCreated(embed);\n\n if (isEl(result)) {\n return result;\n }\n\n return embed;\n};\n/**\n * Creates an embed code of the appropriate type, runs any customizations\n * necessary, and inserts it into the DOM.\n *\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @return {Element}\n * The DOM element that will ultimately be passed to the `bc()`\n * function. Even when customized or wrapped, the return value will be\n * the target element.\n */\n\n\nvar createEmbed = function createEmbed(params) {\n var embed = params.embedType === EMBED_TYPE_IFRAME ? createIframeEmbed(params) : createInPageEmbed(params);\n return insertEmbed(params, onEmbedCreated(params, embed));\n};\n\n//\n// The keys follow the format \"accountId_playerId_embedId\" where accountId is\n// optional and defaults to \"*\". This happens when we detect pre-existing\n// player globals.\n\nvar actualCache = new window.Map();\n/**\n * Get the cache key given some properties.\n *\n * @private\n * @param {Object} props\n * Properties describing the player record to cache.\n *\n * @param {string} props.playerId\n * A player ID.\n *\n * @param {string} props.embedId\n * An embed ID.\n *\n * @param {string} [props.accountId=\"*\"]\n * An optional account ID. This is optional because when we search for\n * pre-existing players to avoid downloads, we will not necessarily\n * know the account ID.\n *\n * @return {string}\n * A key to be used in the script cache.\n */\n\nvar key = function key(_ref) {\n var accountId = _ref.accountId,\n playerId = _ref.playerId,\n embedId = _ref.embedId;\n return (accountId || '*') + \"_\" + playerId + \"_\" + embedId;\n};\n/**\n * Add an entry to the script cache.\n *\n * @private\n * @param {Object} props\n * Properties describing the player record to cache.\n *\n * @param {string} props.playerId\n * A player ID.\n *\n * @param {string} props.embedId\n * An embed ID.\n *\n * @param {string} [props.accountId=\"*\"]\n * An optional account ID. This is optional because when we search for\n * pre-existing players to avoid downloads, we will not necessarily\n * know the account ID. If not given, we assume that no script was\n * downloaded for this player.\n */\n\n\nvar store = function store(props) {\n actualCache.set(key(props), props.accountId ? urls.getUrl(props) : '');\n};\n/**\n * Checks if the script cache has an entry.\n *\n * @private\n * @param {Object} props\n * Properties describing the player record to cache.\n *\n * @param {string} props.playerId\n * A player ID.\n *\n * @param {string} props.embedId\n * An embed ID.\n *\n * @param {string} [props.accountId=\"*\"]\n * An optional account ID. This is optional because when we search for\n * pre-existing players to avoid downloads, we will not necessarily\n * know the account ID.\n *\n * @return {boolean}\n * Will be `true` if there is a matching cache entry.\n */\n\n\nvar has = function has(props) {\n return actualCache.has(key(props));\n};\n/**\n * Gets a cache entry.\n *\n * @private\n * @param {Object} props\n * Properties describing the player record to cache.\n *\n * @param {string} props.playerId\n * A player ID.\n *\n * @param {string} props.embedId\n * An embed ID.\n *\n * @param {string} [props.accountId=\"*\"]\n * An optional account ID. This is optional because when we search for\n * pre-existing players to avoid downloads, we will not necessarily\n * know the account ID.\n *\n * @return {string}\n * A cache entry - a URL or empty string.\n *\n */\n\n\nvar get = function get(props) {\n return actualCache.get(key(props));\n};\n/**\n * Clears the cache.\n */\n\n\nvar clear = function clear() {\n actualCache.clear();\n};\n/**\n * Iterates over the cache.\n *\n * @param {Function} fn\n * A callback function that will be called with a value and a key\n * for each item in the cache.\n */\n\n\nvar forEach = function forEach(fn) {\n actualCache.forEach(fn);\n};\n\nvar playerScriptCache = {\n clear: clear,\n forEach: forEach,\n get: get,\n has: has,\n key: key,\n store: store\n};\n\nvar REGEX_PLAYER_EMBED = /^([A-Za-z0-9]+)_([A-Za-z0-9]+)$/;\n/**\n * Gets an array of current per-player/per-embed `bc` globals that are\n * attached to the `bc` global (e.g. `bc.abc123xyz_default`).\n *\n * If `bc` is not defined, returns an empty array.\n *\n * @private\n * @return {string[]}\n * An array of keys.\n */\n\nvar getBcGlobalKeys = function getBcGlobalKeys() {\n return window.bc ? Object.keys(window.bc).filter(function (k) {\n return REGEX_PLAYER_EMBED.test(k);\n }) : [];\n};\n/**\n * Gets known global object keys that Brightcove Players may create.\n *\n * @private\n * @return {string[]}\n * An array of global variables that were added during testing.\n */\n\n\nvar getGlobalKeys = function getGlobalKeys() {\n return Object.keys(window).filter(function (k) {\n return /^videojs/i.test(k) || /^(bc)$/.test(k);\n });\n};\n/**\n * Dispose all players from a copy of Video.js.\n *\n * @param {Function} videojs\n * A copy of Video.js.\n */\n\n\nvar disposeAll = function disposeAll(videojs) {\n if (!videojs) {\n return;\n }\n\n Object.keys(videojs.players).forEach(function (k) {\n var p = videojs.players[k];\n\n if (p) {\n p.dispose();\n }\n });\n};\n/**\n * Resets environment state.\n *\n * This will dispose ALL Video.js players on the page and remove ALL `bc` and\n * `videojs` globals it finds.\n */\n\n\nvar reset = function reset() {\n // Remove all script elements from the DOM.\n playerScriptCache.forEach(function (value, key) {\n // If no script URL is associated, skip it.\n if (!value) {\n return;\n } // Find all script elements and remove them.\n\n\n Array.prototype.slice.call(document.querySelectorAll(\"script[src=\\\"\" + value + \"\\\"]\")).forEach(function (el) {\n return el.parentNode.removeChild(el);\n });\n }); // Clear the internal cache that have been downloaded.\n\n playerScriptCache.clear(); // Dispose any remaining players from the `videojs` global.\n\n disposeAll(window.videojs); // There may be other `videojs` instances lurking in the bowels of the\n // `bc` global. This should eliminate any of those.\n\n getBcGlobalKeys().forEach(function (k) {\n return disposeAll(window.bc[k].videojs);\n }); // Delete any global object keys that were created.\n\n getGlobalKeys().forEach(function (k) {\n delete window[k];\n });\n};\n/**\n * At runtime, populate the cache with pre-detected players. This allows\n * people who have bundled their player or included a script tag before this\n * runs to not have to re-download players.\n */\n\n\nvar detectPlayers = function detectPlayers() {\n getBcGlobalKeys().forEach(function (k) {\n var matches = k.match(REGEX_PLAYER_EMBED);\n var props = {\n playerId: matches[1],\n embedId: matches[2]\n };\n\n if (!playerScriptCache.has(props)) {\n playerScriptCache.store(props);\n }\n });\n};\n\nvar env = {\n detectPlayers: detectPlayers,\n reset: reset\n};\n\nenv.detectPlayers();\n/**\n * Is this value a function?\n *\n * @private\n * @param {Function} fn\n * A maybe function.\n *\n * @return {boolean}\n * Whether or not the value is a function.\n */\n\nvar isFn = function isFn(fn) {\n return typeof fn === 'function';\n};\n/**\n * Checks whether an embedType parameter is valid.\n *\n * @private\n * @param {string} embedType\n * The value to test.\n *\n * @return {boolean}\n * Whether the value is valid.\n */\n\n\nvar isValidEmbedType = function isValidEmbedType(embedType) {\n return embedType === EMBED_TYPE_IN_PAGE || embedType === EMBED_TYPE_IFRAME;\n};\n/**\n * Checks whether an embedOptions.tagName parameter is valid.\n *\n * @private\n * @param {string} tagName\n * The value to test.\n *\n * @return {boolean}\n * Whether the value is valid.\n */\n\n\nvar isValidTagName = function isValidTagName(tagName) {\n return tagName === EMBED_TAG_NAME_VIDEOJS || tagName === EMBED_TAG_NAME_VIDEO;\n};\n/**\n * Checks whether a refNodeInsert parameter is valid.\n *\n * @private\n * @param {string} refNodeInsert\n * The value to test.\n *\n * @return {boolean}\n * Whether the value is valid.\n */\n\n\nvar isValidRootInsert = function isValidRootInsert(refNodeInsert) {\n return refNodeInsert === REF_NODE_INSERT_APPEND || refNodeInsert === REF_NODE_INSERT_PREPEND || refNodeInsert === REF_NODE_INSERT_BEFORE || refNodeInsert === REF_NODE_INSERT_AFTER || refNodeInsert === REF_NODE_INSERT_REPLACE;\n};\n/**\n * Checks parameters and throws an error on validation problems.\n *\n * @private\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @throws {Error} If accountId is missing.\n * @throws {Error} If refNode is missing or invalid.\n * @throws {Error} If embedType is missing or invalid.\n * @throws {Error} If attempting to use an iframe embed with options.\n * @throws {Error} If attempting to use embedOptions.responsiveIframe with a\n * non-iframe embed.\n * @throws {Error} If refNodeInsert is missing or invalid.\n */\n\n\nvar checkParams = function checkParams(params) {\n var accountId = params.accountId,\n embedOptions = params.embedOptions,\n embedType = params.embedType,\n options = params.options,\n refNode = params.refNode,\n refNodeInsert = params.refNodeInsert;\n\n if (!accountId) {\n throw new Error('accountId is required');\n } else if (!isElInDom(refNode)) {\n throw new Error('refNode must resolve to a node attached to the DOM');\n } else if (!isValidEmbedType(embedType)) {\n throw new Error('embedType is missing or invalid');\n } else if (embedType === EMBED_TYPE_IFRAME && options) {\n throw new Error('cannot use options with an iframe embed');\n } else if (embedOptions && embedOptions.tagName !== undefined && !isValidTagName(embedOptions.tagName)) {\n throw new Error(\"embedOptions.tagName is invalid (value: \\\"\" + embedOptions.tagName + \"\\\")\");\n } else if (embedOptions && embedOptions.responsive && embedOptions.responsive.aspectRatio && !/^\\d+\\:\\d+$/.test(embedOptions.responsive.aspectRatio)) {\n throw new Error(\"embedOptions.responsive.aspectRatio must be in the \\\"n:n\\\" format (value: \\\"\" + embedOptions.responsive.aspectRatio + \"\\\")\");\n } else if (!isValidRootInsert(refNodeInsert)) {\n throw new Error('refNodeInsert is missing or invalid');\n }\n};\n/**\n * Normalizes a `refNode` param to an element - or `null`.\n *\n * @private\n * @param {Element|string} refNode\n * The value of a `refNode` param.\n *\n * @return {Element|null}\n * A DOM element or `null` if the `refNode` was given as a string and\n * did not match an element.\n */\n\n\nvar resolveRefNode = function resolveRefNode(refNode) {\n if (isElInDom(refNode)) {\n return refNode;\n }\n\n if (typeof refNode === 'string') {\n return document.querySelector(refNode);\n }\n\n return null;\n};\n/**\n * Initializes a player and returns it.\n *\n * @private\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @param {Element} embed\n * An element that will be passed to the `bc()` function.\n *\n * @param {Function} resolve\n * A function to call if a player is successfully initialized.\n *\n * @param {Function} reject\n * A function to call if a player fails to be initialized.\n *\n * @return {Object}\n * A success object whose `ref` is a player.\n */\n\n\nvar initPlayer = function initPlayer(params, embed, resolve, reject) {\n var embedId = params.embedId,\n playerId = params.playerId;\n var bc = window.bc[playerId + \"_\" + embedId] || window.bc;\n\n if (!bc) {\n return reject(new Error(\"missing bc function for \" + playerId));\n }\n\n playerScriptCache.store(params);\n var player;\n\n try {\n player = bc(embed, params.options); // Add a PLAYER_LOADER property to bcinfo to indicate this player was\n // loaded via that mechanism.\n\n if (player.bcinfo) {\n player.bcinfo.PLAYER_LOADER = true;\n }\n } catch (x) {\n var message = 'Could not initialize the Brightcove Player.'; // Update the rejection message based on known conditions that can cause it.\n\n if (params.embedOptions.tagName === EMBED_TAG_NAME_VIDEOJS) {\n message += ' You are attempting to embed using a \"video-js\" element.' + ' Please ensure that your Player is v6.11.0 or newer in order to' + ' support this embed type. Alternatively, pass `\"video\"` for' + ' `embedOptions.tagName`.';\n }\n\n return reject(new Error(message));\n }\n\n resolve({\n type: EMBED_TYPE_IN_PAGE,\n ref: player\n });\n};\n/**\n * Loads a player from CDN and embeds it.\n *\n * @private\n * @param {Object} params\n * A parameters object. See README for details.\n *\n * @param {Function} resolve\n * A function to call if a player is successfully initialized.\n *\n * @param {Function} reject\n * A function to call if a player fails to be initialized.\n */\n\n\nvar loadPlayer = function loadPlayer(params, resolve, reject) {\n params.refNode = resolveRefNode(params.refNode);\n checkParams(params);\n var refNode = params.refNode,\n refNodeInsert = params.refNodeInsert; // Store a reference to the refNode parent. When we use the replace method,\n // we'll need it as the location to store the script element.\n\n var refNodeParent = refNode.parentNode;\n var embed = createEmbed(params); // If this is an iframe, all we need to do is create the embed code and\n // inject it. Because there is no reliable way to hook into an iframe from\n // the parent page, we simply resolve immediately upon creating the embed.\n\n if (params.embedType === EMBED_TYPE_IFRAME) {\n resolve({\n type: EMBED_TYPE_IFRAME,\n ref: embed\n });\n return;\n } // If we've already downloaded this script or detected a matching global, we\n // should have the proper `bc` global and can bypass the script creation\n // process.\n\n\n if (playerScriptCache.has(params)) {\n return initPlayer(params, embed, resolve, reject);\n }\n\n var script = document.createElement('script');\n\n script.onload = function () {\n return initPlayer(params, embed, resolve, reject);\n };\n\n script.onerror = function () {\n reject(new Error('player script could not be downloaded'));\n };\n\n script.async = true;\n script.charset = 'utf-8';\n script.src = urls.getUrl(params);\n\n if (refNodeInsert === REF_NODE_INSERT_REPLACE) {\n refNodeParent.appendChild(script);\n } else {\n refNode.appendChild(script);\n }\n};\n/**\n * A function for asynchronously loading a Brightcove Player into a web page.\n *\n * @param {Object} parameters\n * A parameters object. See README for details.\n *\n * @return {Promise|undefined}\n * A Promise, if possible.\n */\n\n\nvar brightcovePlayerLoader = function brightcovePlayerLoader(parameters) {\n var params = _extends$1({}, DEFAULTS, parameters);\n\n var Promise = params.Promise,\n onSuccess = params.onSuccess,\n onFailure = params.onFailure; // When Promise is not available or any success/failure callback is given,\n // do not attempt to use Promises.\n\n if (!isFn(Promise) || isFn(onSuccess) || isFn(onFailure)) {\n return loadPlayer(params, isFn(onSuccess) ? onSuccess : function () {}, isFn(onFailure) ? onFailure : function (err) {\n throw err;\n });\n } // Promises are supported, use 'em.\n\n\n return new Promise(function (resolve, reject) {\n return loadPlayer(params, resolve, reject);\n });\n};\n/**\n * Expose a non-writable, non-configurable property on the\n * `brightcovePlayerLoader` function.\n *\n * @private\n * @param {string} key\n * The property key.\n *\n * @param {string|Function} value\n * The value.\n */\n\n\nvar expose = function expose(key, value) {\n Object.defineProperty(brightcovePlayerLoader, key, {\n configurable: false,\n enumerable: true,\n value: value,\n writable: false\n });\n};\n/**\n * Get the base URL for players. By default, this will be the Brightcove CDN.\n *\n * @return {string}\n * The current base URL.\n */\n\n\nexpose('getBaseUrl', function () {\n return urls.getBaseUrl();\n});\n/**\n * Set the base URL for players. By default, this will be the Brightcove CDN,\n * but can be overridden with this function.\n *\n * @param {string} baseUrl\n * A new base URL (instead of Brightcove CDN).\n */\n\nexpose('setBaseUrl', function (baseUrl) {\n urls.setBaseUrl(baseUrl);\n});\n/**\n * Get the URL for a player.\n */\n\nexpose('getUrl', function (options) {\n return urls.getUrl(options);\n});\n/**\n * Completely resets global state.\n *\n * This will dispose ALL Video.js players on the page and remove ALL `bc` and\n * `videojs` globals it finds.\n */\n\nexpose('reset', function () {\n return env.reset();\n}); // Define some read-only constants on the exported function.\n\n[['EMBED_TAG_NAME_VIDEO', EMBED_TAG_NAME_VIDEO], ['EMBED_TAG_NAME_VIDEOJS', EMBED_TAG_NAME_VIDEOJS], ['EMBED_TYPE_IN_PAGE', EMBED_TYPE_IN_PAGE], ['EMBED_TYPE_IFRAME', EMBED_TYPE_IFRAME], ['REF_NODE_INSERT_APPEND', REF_NODE_INSERT_APPEND], ['REF_NODE_INSERT_PREPEND', REF_NODE_INSERT_PREPEND], ['REF_NODE_INSERT_BEFORE', REF_NODE_INSERT_BEFORE], ['REF_NODE_INSERT_AFTER', REF_NODE_INSERT_AFTER], ['REF_NODE_INSERT_REPLACE', REF_NODE_INSERT_REPLACE], ['VERSION', version]].forEach(function (arr) {\n expose(arr[0], arr[1]);\n});\n\n/**\n * These prop changes can be handled by an internal player state change rather\n * than a full dispose/recreate.\n *\n * @private\n * @type {Object}\n */\n\nvar UPDATEABLE_PROPS = ['catalogSearch', 'catalogSequence', 'playlistId', 'playlistVideoId', 'videoId'];\n\nvar logError = function logError(err) {\n /* eslint-disable no-console */\n if (err && console && console.error) {\n console.error(err);\n }\n /* eslint-enable no-console */\n\n};\n/**\n * The official React component for the Brightcove Player!\n *\n * This uses `@brightcove/player-loader` to load a player into a React\n * component based on the given props.\n */\n\n\nvar ReactPlayerLoader =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReactPlayerLoader, _React$Component);\n\n /**\n * Create a new Brightcove player.\n *\n * @param {Object} props\n * Most options will be passed along to player-loader, except for\n * options that are listed. See README.md for more detail.\n *\n * @param {string} [props.baseUrl]\n * The base URL to use when requesting a player\n *\n * @param {Object} [props.attrs]\n * Used to set attributes on the component element that contains the\n * embedded Brightcove Player.\n *\n * @param {boolean} [props.manualReloadFromPropChanges]\n * Used to specify if reloading the player after prop changes will be handled manually.\n *\n */\n function ReactPlayerLoader(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.refNode = null;\n\n _this.setRefNode = function (ref) {\n _this.refNode = ref;\n };\n\n _this.loadPlayer = _this.loadPlayer.bind(_assertThisInitialized(_this));\n return _this;\n }\n /**\n * Loads a new player based on the current props.\n */\n\n\n var _proto = ReactPlayerLoader.prototype;\n\n _proto.loadPlayer = function loadPlayer() {\n var _this2 = this;\n\n // If there is any player currently loaded, dispose it before fetching a\n // new one.\n this.disposePlayer(); // We need to provide our own callbacks below, so we cache these\n // user-provided callbacks for use later.\n\n var userSuccess = this.props.onSuccess;\n var userFailure = this.props.onFailure;\n\n var options = _extends({}, this.props, {\n refNode: this.refNode,\n refNodeInsert: 'append',\n onSuccess: function onSuccess(_ref) {\n var ref = _ref.ref,\n type = _ref.type;\n\n // If the component is not mounted when the callback fires, dispose\n // the player and bail out.\n if (!_this2.isMounted_) {\n _this2.disposePlayer(ref);\n\n return;\n } // Store a player reference on the component.\n\n\n _this2.player = ref; // Null out the player reference when the player is disposed from\n // outside the component.\n\n if (type === 'in-page') {\n ref.one('dispose', function () {\n _this2.player = null;\n });\n } // Add a REACT_PLAYER_LOADER property to bcinfo to indicate this player\n // was loaded via that mechanism.\n\n\n if (ref.bcinfo) {\n ref.bcinfo.REACT_PLAYER_LOADER = true;\n } // Call a user-provided onSuccess callback.\n\n\n if (typeof userSuccess === 'function') {\n userSuccess({\n ref: ref,\n type: type\n });\n }\n },\n onFailure: function onFailure(error) {\n // Ignore errors when not mounted.\n if (!_this2.isMounted_) {\n return;\n } // Call a user-provided onFailure callback.\n\n\n if (typeof userFailure === 'function') {\n userFailure(error);\n return;\n } // Fall back to throwing an error;\n\n\n throw new Error(error);\n }\n }); // Delete props that are not meant to be passed to player-loader.\n\n\n delete options.attrs;\n delete options.baseUrl;\n delete options.manualReloadFromPropChanges; // If a base URL is provided, it should only apply to this player load.\n // This means we need to back up the original base URL and restore it\n // _after_ we call player loader.\n\n var originalBaseUrl = brightcovePlayerLoader.getBaseUrl();\n\n if (this.props.baseUrl) {\n brightcovePlayerLoader.setBaseUrl(this.props.baseUrl);\n }\n\n brightcovePlayerLoader(options);\n brightcovePlayerLoader.setBaseUrl(originalBaseUrl);\n }\n /**\n * Disposes the current player, if there is one.\n */\n ;\n\n _proto.disposePlayer = function disposePlayer() {\n // Nothing to dispose.\n if (!this.player) {\n return;\n } // Dispose an in-page player.\n\n\n if (this.player.dispose) {\n this.player.dispose(); // Dispose an iframe player.\n } else if (this.player.parentNode) {\n this.player.parentNode.removeChild(this.player);\n } // Null out the player reference.\n\n\n this.player = null;\n }\n /**\n * Find the index of the `playlistVideoId` prop within the player's playlist.\n *\n * @param {Object[]} playlist\n * An array of playlist item objects.\n *\n * @return {number}\n * The index of the `playlistVideoId` or `-1` if the player has been\n * disposed, is not using the playlist plugin, or if not found.\n */\n ;\n\n _proto.findPlaylistVideoIdIndex_ = function findPlaylistVideoIdIndex_(playlist) {\n var playlistVideoId = this.props.playlistVideoId;\n\n if (Array.isArray(playlist) && playlistVideoId) {\n for (var i = 0; i < playlist.length; i++) {\n var _playlist$i = playlist[i],\n id = _playlist$i.id,\n referenceId = _playlist$i.referenceId;\n\n if (id === playlistVideoId || \"ref:\" + referenceId === playlistVideoId) {\n return i;\n }\n }\n }\n\n return -1;\n }\n /**\n * Create a Playback API callback function for the component's player.\n *\n * @private\n * @param {string} requestType\n * The Playback API request type (e.g. \"video\" or \"playlist\").\n *\n * @param {Object} changes\n * An object. The keys of this object are the props that changed.\n *\n * @return {Function}\n * A callback for the Playback API request.\n */\n ;\n\n _proto.createPlaybackAPICallback_ = function createPlaybackAPICallback_(requestType, changes) {\n var _this3 = this;\n\n return function (err, data) {\n if (err) {\n logError(err);\n return;\n } // If the playlistVideoId changed and this is a playlist request, we\n // need to search through the playlist items to find the correct\n // starting index.\n\n\n if (requestType === 'playlist' && changes.playlistVideoId) {\n var i = _this3.findPlaylistVideoIdIndex_(data);\n\n if (i > -1) {\n data.startingIndex = i;\n }\n }\n\n _this3.player.catalog.load(data);\n };\n }\n /**\n * Update the player based on changes to certain props that do not require\n * a full player dispose/recreate.\n *\n * @param {Object} changes\n * An object. The keys of this object are the props that changed.\n */\n ;\n\n _proto.updatePlayer = function updatePlayer(changes) {\n // No player exists, player is disposed, or not using the catalog\n if (!this.player || !this.player.el || !this.player.el()) {\n return;\n } // If the player is using the catalog plugin, we _may_ populate this\n // variable with an object.\n\n\n var catalogParams;\n\n if (this.player.usingPlugin('catalog')) {\n // There is a new catalog sequence request. This takes precedence over\n // other catalog updates because it is a different call.\n if (changes.catalogSequence && this.props.catalogSequence) {\n var callback = this.createPlaybackAPICallback_('sequence', changes);\n this.player.catalog.getLazySequence(this.props.catalogSequence, callback, this.props.adConfigId);\n return;\n }\n\n if (changes.videoId && this.props.videoId) {\n catalogParams = {\n type: 'video',\n id: this.props.videoId\n };\n } else if (changes.playlistId && this.props.playlistId) {\n catalogParams = {\n type: 'playlist',\n id: this.props.playlistId\n };\n } else if (changes.catalogSearch && this.props.catalogSearch) {\n catalogParams = {\n type: 'search',\n q: this.props.catalogSearch\n };\n }\n } // If `catalogParams` is `undefined` here, that means the player either\n // does not have the catalog plugin or no valid catalog request can be made.\n\n\n if (catalogParams) {\n if (this.props.adConfigId) {\n catalogParams.adConfigId = this.props.adConfigId;\n }\n\n if (this.props.deliveryConfigId) {\n catalogParams.deliveryConfigId = this.props.deliveryConfigId;\n } // We use the callback style here to make tests simpler in IE11 (no need\n // for a Promise polyfill).\n\n\n var _callback = this.createPlaybackAPICallback_(catalogParams.type, changes);\n\n this.player.catalog.get(catalogParams, _callback); // If no catalog request is being made, we may still need to update the\n // playlist selected video.\n } else if (changes.playlistVideoId && this.props.playlistVideoId && this.player.usingPlugin('playlist')) {\n var i = this.findPlaylistVideoIdIndex_(this.player.playlist());\n\n if (i > -1) {\n this.player.playlist.currentItem(i);\n }\n }\n }\n /**\n * Called just after the component has mounted.\n */\n ;\n\n _proto.componentDidMount = function componentDidMount() {\n this.isMounted_ = true;\n this.loadPlayer();\n }\n /**\n * Called when the component props are updated.\n *\n * Some prop changes may trigger special behavior (see `propChangeHandlers`),\n * but if ANY prop is changed that is NOT handled, the player will be\n * disposed/recreated entirely.\n *\n * @param {Object} prevProps\n * The previous props state before change.\n */\n ;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this4 = this;\n\n // Calculate the prop changes.\n var changes = Object.keys(prevProps).reduce(function (acc, key) {\n var previous = prevProps[key];\n var current = _this4.props[key]; // Do not compare functions\n\n if (typeof current === 'function') {\n return acc;\n }\n\n if (typeof current === 'object' && current !== null) {\n if (JSON.stringify(current) !== JSON.stringify(previous)) {\n acc[key] = true;\n }\n\n return acc;\n }\n\n if (current !== previous) {\n acc[key] = true;\n }\n\n return acc;\n }, {});\n\n if (!this.props.manualReloadFromPropChanges) {\n // Dispose and recreate the player if any changed keys cannot be handled.\n if (Object.keys(changes).some(function (k) {\n return UPDATEABLE_PROPS.indexOf(k) === -1;\n })) {\n this.loadPlayer();\n return;\n }\n }\n\n this.updatePlayer(changes);\n }\n /**\n * Called just before a component unmounts. Disposes the player.\n */\n ;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.isMounted_ = false;\n this.disposePlayer();\n }\n /**\n * Renders the component.\n *\n * @return {ReactElement}\n * The react element to render.\n */\n ;\n\n _proto.render = function render() {\n var props = _extends({\n className: 'brightcove-react-player-loader'\n }, this.props.attrs, {\n ref: this.setRefNode\n });\n\n return React.createElement('div', props);\n };\n\n return ReactPlayerLoader;\n}(React.Component);\n\nexport default ReactPlayerLoader;\n","import React, { useEffect, useState, useMemo, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ReactPlayerLoader from '@brightcove/react-player-loader';\nimport { Hideable } from '@brightcove/studio-components';\nimport {\n VideoPayload,\n ProjectPayload,\n EmbedCodeModalTypes,\n} from 'js/types/EmbedCodeModalProps';\nimport {\n PlayerSelectItem,\n PlayersObject,\n PlayersObjectItem,\n} from 'js/types/players';\nimport css from 'styles/EmbedCodeModal.sass';\nimport {\n getUrlBase,\n getVideoPreviewLink,\n VideoPreviewLinkOptions,\n} from 'js/utils/util';\nimport {\n VideoLinks,\n TitleWithTooltip,\n PlayersDropdown,\n TabsSection,\n} from 'js/components';\nimport { DEFAULT_PLAYER_ID } from 'js/constants/player';\n\nexport const VideoPlayer = ({\n video,\n embedCodeModalType,\n playerListForSelection,\n players,\n}: {\n video: VideoPayload | ProjectPayload;\n embedCodeModalType: EmbedCodeModalTypes;\n playerListForSelection: PlayerSelectItem[];\n players: PlayersObject;\n}) => {\n const { t } = useTranslation();\n const [player, setPlayer] = useState<PlayersObjectItem>();\n const [previewUrl, setPreviewUrl] = useState<string>('');\n\n const interactivityProjectId = useMemo(() => {\n return embedCodeModalType === EmbedCodeModalTypes.PROJECT\n ? (video as ProjectPayload).interactivityProjectId\n : null;\n }, [video, embedCodeModalType]);\n\n useEffect(() => {\n if (player?.id) {\n const options: VideoPreviewLinkOptions = {\n accountId: video.accountId,\n playerId: player.id,\n videoId: video.videoId,\n };\n if (interactivityProjectId) {\n options.interactivityProjectId = interactivityProjectId;\n }\n setPreviewUrl(getVideoPreviewLink(options));\n }\n }, [player, video, interactivityProjectId]);\n\n const onEmbedCreated = useCallback(\n (el: HTMLElement) => {\n if (interactivityProjectId) {\n el.setAttribute(\n 'data-interactivity-project-id',\n interactivityProjectId,\n );\n }\n },\n [interactivityProjectId],\n );\n\n const sharedProps: {\n accountId: string;\n playerId: string;\n isCampaign: boolean;\n videoId?: string;\n interactivityProjectId?: string;\n } = {\n accountId: video.accountId,\n playerId:\n player?.id ||\n (playerListForSelection.length > 0\n ? playerListForSelection[0].value\n : DEFAULT_PLAYER_ID),\n isCampaign: player?.hasCampaignPlugin || false,\n videoId: video.videoId,\n };\n\n const name = interactivityProjectId\n ? (video as ProjectPayload).interactivityProjectName\n : (video as VideoPayload).videoName;\n const id = interactivityProjectId || video.videoId;\n\n if (interactivityProjectId) {\n sharedProps.interactivityProjectId = interactivityProjectId;\n }\n\n return (\n <>\n <div className={css.leftContent}>\n <PlayersDropdown\n onChange={setPlayer}\n playerListForSelection={playerListForSelection}\n players={players}\n />\n <ReactPlayerLoader\n {...sharedProps}\n baseUrl={getUrlBase()}\n attrs={{ className: css.playerLoader }}\n refNode='player-container'\n onEmbedCreated={onEmbedCreated}\n />\n <Hideable show={player?.hasCustomPlugins}>\n <span className={css.customPluginNotice}>\n {t('customPluginNotice')}\n </span>\n </Hideable>\n <VideoLinks prevUrl={previewUrl} />\n </div>\n <div className={css.rightContent}>\n <TitleWithTooltip name={name} id={id} />\n <TabsSection {...sharedProps} />\n </div>\n </>\n );\n};\n","import React, { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Hideable } from '@brightcove/studio-components';\nimport ReactPlayerLoader from '@brightcove/react-player-loader';\n\nimport {\n getPreviewPlayerUrl,\n getUrlBase,\n getVideoPreviewLink,\n} from 'js/utils/util';\nimport {\n bcHostedPlugins,\n CAMPAIGN_PLUGIN_NAME,\n} from 'js/constants/pluginsRegistry';\nimport { PlayerPayload } from '../types/EmbedCodeModalProps';\n\nimport { TabsSection, VideoLinks } from 'js/components';\n\nimport css from 'styles/EmbedCodeModal.sass';\n\ninterface Plugin {\n name: string;\n options?: Record<string, unknown>;\n}\n\nexport const PlayerPreview = ({\n id,\n configuration,\n accountId = '',\n}: PlayerPayload) => {\n const { t } = useTranslation();\n const playerUrl = getPreviewPlayerUrl(accountId, id);\n const previewUrl = getVideoPreviewLink({ accountId, playerId: id });\n\n const { hasCustomPlugins, isCampaignPlayer } = useMemo((): {\n isCampaignPlayer: boolean;\n hasCustomPlugins: boolean;\n } => {\n let hasBCHostedPlugin = false;\n let isCampaignPlayer = false;\n let plugins: Plugin[] = [];\n\n // TODO: refactor with addPluginsDataToPlayers function to reuse code\n if (configuration) {\n plugins = (configuration.plugins as Plugin[]) ?? plugins;\n for (const plugin of plugins) {\n const { name } = plugin;\n hasBCHostedPlugin = bcHostedPlugins.includes(name);\n isCampaignPlayer =\n isCampaignPlayer || plugin.name === CAMPAIGN_PLUGIN_NAME;\n }\n }\n\n return {\n hasCustomPlugins: !hasBCHostedPlugin && plugins.length > 0,\n isCampaignPlayer,\n };\n }, [configuration]);\n\n return (\n <>\n <div className={css.leftContent}>\n <ReactPlayerLoader\n accountId={accountId}\n baseUrl={getUrlBase()}\n attrs={{ className: css.playerLoader }}\n embedType='iframe'\n refNode='player-container'\n playerUrl={playerUrl}\n />\n <Hideable show={hasCustomPlugins}>\n <span className={css.customPluginNotice}>\n {t('customPluginNotice')}\n </span>\n </Hideable>\n <VideoLinks prevUrl={previewUrl} />\n </div>\n <div className={css.rightContent}>\n <TabsSection\n isCampaign={isCampaignPlayer}\n playerId={id}\n accountId={accountId}\n />\n </div>\n </>\n );\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Flex } from '@brightcove/studio-components';\nimport { getPlayerManagerModuleUrl } from 'js/utils/util';\nimport { NoInteractivityPlayerModalTypes } from 'js/types/EmbedCodeModalProps';\n\ninterface NoPlayerProps {\n modalType: NoInteractivityPlayerModalTypes;\n}\n\nexport const NoPlayerModal = ({ modalType }: NoPlayerProps) => {\n const { t } = useTranslation();\n\n const createPlayersModuleLink = (text: string) => {\n return <a href={getPlayerManagerModuleUrl()}>{text}</a>;\n };\n\n return (\n <Flex flexDirection='column'>\n <p>\n {modalType === NoInteractivityPlayerModalTypes.NO_PLAYER ? (\n t('noPlayerModalContent1')\n ) : (\n <>\n {t('activateModalContent1')}\n {createPlayersModuleLink(t('activateModalContent2'))}.\n </>\n )}\n <br />\n {modalType === NoInteractivityPlayerModalTypes.NO_PLAYER\n ? t('noPlayerModalContent2')\n : null}\n </p>\n\n <>\n {modalType === NoInteractivityPlayerModalTypes.NO_PLAYER ? (\n <p>{createPlayersModuleLink(t('toPlayerManagerLink'))}</p>\n ) : null}\n </>\n </Flex>\n );\n};\n","import React, { useState, useCallback, useEffect, useMemo } from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport useGetPlayers from 'js/hooks/useGetPlayers';\nimport { Modal, Flex, Button } from '@brightcove/studio-components';\n\nimport {\n EmbedCodeModalTypes,\n PlayerPayload,\n NoInteractivityPlayerModalTypes,\n} from 'js/types/EmbedCodeModalProps';\nimport { EmbedCodeModalProps } from 'js/EmbedCodeModal';\nimport { addPluginsDataToPlayers } from 'js/utils/addPluginsDataToPlayers';\nimport { PlayerSelectItem, PlayersObject } from 'js/types/players';\nimport { createPlayer } from 'js/services/players-api';\nimport { getStudioModule, getBrightcove, ROLES } from 'js/utils/util';\nimport { DEFAULT_INTERACTIVITY_PLAYER } from 'js/constants/player';\n\nimport css from 'styles/EmbedCodeModal.sass';\nimport { VideoPlayer } from './VideoPlayer';\nimport { PlayerPreview } from './PlayerPreview';\nimport { getAccountId } from '../utils/call';\nimport { NoPlayerModal } from './NoPlayerModal';\n\ninterface ModalContainerProps extends EmbedCodeModalProps {\n handleSetComponentKey: () => void;\n}\n\nexport const ModalContainer = ({\n handleSetComponentKey,\n playerPayload,\n embedCodeModalType = EmbedCodeModalTypes.VIDEO,\n}: ModalContainerProps) => {\n const { t } = useTranslation();\n const [isModalOpen, setIsModalOpen] = useState<boolean>(false);\n const { isFetching, data } = useGetPlayers(true);\n const [players, setPlayers] = useState<PlayersObject>({});\n const [playerListForSelection, setPlayerListForSelection] = useState<\n PlayerSelectItem[]\n >([]);\n const [hasPublishingRole, setHasPublishingRole] = useState(false);\n const [buttonSpinner, setButtonSpinner] = useState(false);\n\n useEffect(() => {\n const { roles } = getStudioModule().getCurrentUserAccount();\n if (roles.length && roles.includes(ROLES.PUBLISHING)) {\n setHasPublishingRole(true);\n }\n }, []);\n\n useEffect(() => {\n if (!isFetching && data && (data?.items.length ?? 0) > 0) {\n const { playerListForSelection, players = {} } =\n addPluginsDataToPlayers(data);\n let filteredPlayerListForSelection = playerListForSelection;\n\n if (embedCodeModalType === EmbedCodeModalTypes.PROJECT) {\n filteredPlayerListForSelection = playerListForSelection.filter(\n (player) => players[player.value].hasInteractivityPlugin,\n );\n }\n\n setPlayers(players);\n setPlayerListForSelection(filteredPlayerListForSelection);\n }\n }, [isFetching, data, embedCodeModalType]);\n\n const hasInteractivityEnabledPlayer = useMemo(\n () =>\n Object.values(players).some((player) => player.hasInteractivityPlugin),\n [players],\n );\n\n useEffect(() => {\n if (playerPayload) {\n setIsModalOpen(true);\n }\n }, [playerPayload]);\n\n const closeModal = useCallback(() => {\n setIsModalOpen(false);\n }, []);\n\n const createInteractivityPlayer = () => {\n const { name, registry_id, version } = DEFAULT_INTERACTIVITY_PLAYER;\n\n setButtonSpinner(true);\n\n const payload = {\n data: {\n name,\n configuration: {\n plugins: [\n {\n registry_id,\n version,\n },\n ],\n },\n },\n };\n\n createPlayer(payload)\n .then((res) => {\n if (res && res.id) {\n handleSetComponentKey();\n }\n })\n .catch((reason) => {\n console.error(reason);\n getBrightcove().Toaster.error({\n title: t('createPlayerFailedTitle'),\n message: t('createPlayerFailedMessage'),\n });\n })\n .finally(() => {\n setButtonSpinner(false);\n });\n };\n\n let content: JSX.Element | null = null;\n let modalTitle = t('modalHeader');\n let isLargeModal = true;\n let buttons = [\n <Button\n key={'close-button'}\n text={t('done')}\n onClick={closeModal}\n testName={'close-modal-btn'}\n />,\n ];\n\n if (!isFetching) {\n switch (embedCodeModalType) {\n case EmbedCodeModalTypes.VIDEO:\n content =\n 'videoId' in playerPayload ? (\n <VideoPlayer\n video={playerPayload}\n embedCodeModalType={embedCodeModalType}\n players={players}\n playerListForSelection={playerListForSelection}\n />\n ) : null;\n break;\n case EmbedCodeModalTypes.PLAYER:\n {\n const accountId = playerPayload.accountId || getAccountId();\n content =\n 'id' in playerPayload && accountId ? (\n <PlayerPreview\n {...(playerPayload as PlayerPayload)}\n accountId={accountId}\n />\n ) : null;\n }\n break;\n case EmbedCodeModalTypes.PROJECT:\n if (!hasInteractivityEnabledPlayer && !hasPublishingRole) {\n modalTitle = t('activateModal');\n isLargeModal = false;\n buttons = [\n <Button\n key={'close-button'}\n text={t('close')}\n onClick={closeModal}\n testName={'close-modal-done-btn'}\n />,\n ];\n content = (\n <NoPlayerModal\n modalType={NoInteractivityPlayerModalTypes.NO_PERMISSION}\n />\n );\n } else if (!hasInteractivityEnabledPlayer) {\n modalTitle = t('noPlayerModalHeader');\n isLargeModal = false;\n buttons = [\n <Button\n key={'cancel-button'}\n text={t('cancel')}\n onClick={closeModal}\n testName={'cancel-button'}\n look='tertiary'\n />,\n <Button\n key={'create-player-button'}\n text={t('createPlayerNow')}\n spinner={buttonSpinner}\n onClick={createInteractivityPlayer}\n testName={'create-player-button'}\n />,\n ];\n content = (\n <NoPlayerModal\n modalType={NoInteractivityPlayerModalTypes.NO_PLAYER}\n />\n );\n } else {\n content =\n 'videoId' in playerPayload &&\n 'interactivityProjectId' in playerPayload ? (\n <VideoPlayer\n video={playerPayload}\n embedCodeModalType={embedCodeModalType}\n playerListForSelection={playerListForSelection}\n players={players}\n />\n ) : null;\n }\n break;\n default: {\n console.warn(`EmbedModal with ${embedCodeModalType} is not supported`);\n content = null;\n break;\n }\n }\n }\n\n if (!content) {\n console.warn(\n `EmbedModal called with wrong props for type: ${embedCodeModalType}`,\n );\n return null;\n }\n\n return (\n <Modal\n testName='embed-modal'\n title={modalTitle}\n isOpen={isModalOpen}\n large={isLargeModal}\n onClose={closeModal}\n buttons={buttons}\n >\n <Flex className={css.videoDetailsContainer}>{content}</Flex>\n </Modal>\n );\n};\n","import { sortAsc } from 'js/utils/util';\nimport {\n GetPlayersPayload,\n PlayerSelectItem,\n PlayersObject,\n} from 'js/types/players';\nimport {\n bcHostedPlugins,\n CAMPAIGN_PLUGIN_NAME,\n INTERACTIVITY_PLUGIN_NAME,\n} from 'js/constants/pluginsRegistry';\n\nexport function addPluginsDataToPlayers(players: GetPlayersPayload) {\n const playerListForSelection: PlayerSelectItem[] = [];\n const playersObject: PlayersObject = {};\n players?.items.forEach((player) => {\n const plugins = player.branches['master'].configuration.plugins ?? [];\n const hasPlugins = plugins ? plugins.length > 0 : false;\n\n let hasBCHostedPlugin = false;\n let hasCampaignPlugin = false;\n let hasInteractivityPlugin = false;\n for (const plugin of plugins) {\n const { name } = plugin;\n hasBCHostedPlugin = bcHostedPlugins.includes(name);\n hasCampaignPlugin =\n hasCampaignPlugin || plugin.name === CAMPAIGN_PLUGIN_NAME;\n hasInteractivityPlugin =\n hasInteractivityPlugin || plugin.name === INTERACTIVITY_PLUGIN_NAME;\n }\n\n playerListForSelection.push({ label: player.name, value: player.id });\n playersObject[player.id] = {\n label: player.name,\n id: player.id,\n hasCustomPlugins: !hasBCHostedPlugin && hasPlugins,\n hasCampaignPlugin,\n hasInteractivityPlugin,\n };\n });\n\n return {\n players: playersObject,\n playerListForSelection: sortAsc(playerListForSelection),\n };\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { Flex, ToolTip } from '@brightcove/studio-components';\nimport css from 'styles/EmbedCodeModal.sass';\nimport { truncateVideoTitle } from '../utils/util';\nimport { useTranslation } from 'react-i18next';\n\ninterface TitleWithTooltipProps {\n name: string;\n id: string;\n}\nexport const TitleWithTooltip = ({ name, id }: TitleWithTooltipProps) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n\n const titleMemo = useMemo(\n () => (name ? truncateVideoTitle(name) : ''),\n [name],\n );\n\n useEffect(() => {\n if (name) {\n setIsOverflowing(titleMemo !== name);\n }\n }, [titleMemo, name]);\n\n return (\n <Flex flexDirection='column' className={css.mediaData}>\n <ToolTip\n placement='top'\n portal\n block\n content={name}\n active={isOverflowing}\n testName='embed-video-tooltip'\n >\n <div className={css.mediaTitle}>{titleMemo}</div>\n </ToolTip>\n <div className={css.mediaId}>{id}</div>\n </Flex>\n );\n};\n\ninterface ToltipContentProps {\n tooltipTextNew: string;\n tooltipLink: string;\n}\nexport const TooltipContent = ({\n tooltipTextNew,\n tooltipLink,\n}: ToltipContentProps) => {\n const { t } = useTranslation();\n return (\n <>\n <div>{tooltipTextNew}</div>\n <a href={t('learnmore')} target='_blank' rel='noreferrer'>\n {tooltipLink}\n </a>\n </>\n );\n};\n","import React, { useState, useCallback, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Flex, ToolTip, Select, Hideable } from '@brightcove/studio-components';\nimport css from 'styles/EmbedCodeModal.sass';\nimport {\n PlayerSelectItem,\n PlayersObjectItem,\n PlayersObject,\n} from 'js/types/players';\nimport { TooltipContent } from './TitleWithTooltip';\nimport { DEFAULT_PLAYER_ID } from 'js/constants/player';\n\nexport interface PlayerDropdownProps {\n onChange?: (a: PlayersObjectItem) => void;\n playerListForSelection: PlayerSelectItem[];\n players: PlayersObject;\n}\n\nexport const PlayersDropdown = ({\n onChange,\n playerListForSelection,\n players,\n}: PlayerDropdownProps) => {\n const { t } = useTranslation();\n const [selected, setSelected] = useState<PlayersObjectItem>();\n\n const handleSelectChange = useCallback(\n (value: string) => {\n if (players) {\n const player = players[value];\n setSelected(player);\n if (onChange) onChange(player);\n }\n },\n [players, onChange],\n );\n\n useEffect(() => {\n if (!selected) {\n handleSelectChange(\n playerListForSelection.length > 0\n ? playerListForSelection[0].value\n : DEFAULT_PLAYER_ID,\n );\n }\n }, [handleSelectChange, playerListForSelection, selected]);\n\n if (!selected) return null;\n\n return (\n <>\n <Flex>\n <div className={css.playerSelectLabel}>{t('player')}</div>\n <ToolTip\n content={\n <TooltipContent\n tooltipLink={t('tooltipLink')}\n tooltipTextNew={t('tooltipTextNew')}\n />\n }\n placement='top'\n className={css.tooltip}\n reflow={false}\n testName='embed-player-tooltip'\n />\n </Flex>\n <Hideable show={playerListForSelection.length > 0}>\n <Select\n value={selected.id}\n options={playerListForSelection}\n inputClassName={css.playerSelect}\n onChange={handleSelectChange}\n testName='embed-player-select'\n />\n </Hideable>\n </>\n );\n};\n","import React from 'react';\nimport { Flex, Tabs, TabList, Tab } from '@brightcove/studio-components';\nimport { TabsSelectedId } from 'js/types/players';\n\ninterface TabsHeaderProps {\n currentTab: TabsSelectedId;\n handleTabChange: () => void;\n iframeLabel: string;\n jsLabel: string;\n}\nexport const TabsHeader = ({\n currentTab,\n handleTabChange,\n iframeLabel,\n jsLabel,\n}: TabsHeaderProps) => {\n return (\n <Flex justifyContent='space-between' alignItems='baseline'>\n <Tabs selectedId={currentTab} onSelect={handleTabChange}>\n <TabList>\n <Tab tabId='iframe' testName={'iframe-tab'}>\n {iframeLabel}\n </Tab>\n <Tab tabId='javascript' testName={'js-tab'}>\n {jsLabel}\n </Tab>\n </TabList>\n </Tabs>\n </Flex>\n );\n};\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { TabPanel } from '@brightcove/studio-components';\nimport { TabsSelectedId } from 'js/types/players';\nimport css from 'styles/EmbedCodeModal.sass';\nimport { TabsHeader, EmbedCode } from 'js/components';\n\nexport const TabsSection = ({\n isCampaign,\n ...rest\n}: {\n playerId: string;\n isCampaign: boolean;\n videoId?: string;\n accountId: string;\n interactivityProjectId?: string;\n}) => {\n const { t } = useTranslation();\n const [currentTab, setCurrentTab] = useState<TabsSelectedId>('iframe');\n\n const isIframe = currentTab === 'iframe';\n\n const handleTabChange = (id?: string | number) => setCurrentTab(id);\n\n return (\n <>\n <TabsHeader\n currentTab={currentTab}\n handleTabChange={handleTabChange}\n jsLabel={t('tabs.labels.javascript')}\n iframeLabel={t('tabs.labels.iframe')}\n />\n <TabPanel\n testName='embed-tab-content'\n render={() =>\n isCampaign && isIframe ? (\n <span className={css.redHelperText}>\n {t('tabs.helperTextWarning')}\n </span>\n ) : (\n <EmbedCode iframe={isIframe} {...rest} />\n )\n }\n />\n </>\n );\n};\n","import { getShortenedUrl } from '@brightcove/studio-api-services/api/url-shortener-api';\nimport { callAPI } from 'js/utils/call';\n\nexport const shortenUrl = async ({\n longUrl,\n}: {\n longUrl: string;\n}): Promise<string> => {\n return callAPI(getShortenedUrl, { longUrl });\n};\n","import React, { useCallback, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button, Loader } from '@brightcove/studio-components';\nimport css from 'styles/EmbedCodeModal.sass';\nimport { shortenUrl } from '../services/url-shortener';\nimport { getBrightcove } from 'js/utils/util';\n\ninterface VideoLinksProps {\n prevUrl: string;\n}\nexport const VideoLinks = ({ prevUrl }: VideoLinksProps) => {\n const { t } = useTranslation();\n const [isGetUrlLoading, setIsGetUrlLoading] = useState<boolean>(false);\n\n const copyPreviewURL = useCallback(\n async (link: string) => {\n setIsGetUrlLoading(true);\n getUrlAndAddItToClipboard(link)\n .then(() => {\n getBrightcove().Toaster.success({\n title: t('toasterTitle'),\n message: t('toasterGetURLSuccess'),\n });\n })\n .catch(() => {\n getBrightcove().Toaster.error({\n message: t('toasterGetURLError'),\n });\n })\n .finally(() => setIsGetUrlLoading(false));\n },\n [t],\n );\n return (\n <div>\n <div className={css.getURLBtnContainer}>\n <Button\n look='tertiary'\n text={t('getURL')}\n testName='get-url-btn'\n icon={isGetUrlLoading ? '' : 'link'}\n iconRight\n onClick={() => copyPreviewURL(prevUrl)}\n />\n {isGetUrlLoading && (\n <Loader className={css.getURLBtnSpinner} size='inline' color='navy' />\n )}\n </div>\n <Button\n look='tertiary'\n text={t('previewButton')}\n testName='preview-player-btn'\n icon='external_link'\n iconRight\n onClick={() => {\n window.open(prevUrl, '_blank');\n }}\n />\n </div>\n );\n};\n\nexport const getUrlAndAddItToClipboard = async (url: string) => {\n const escapedLongUrl = encodeURI(url);\n // safari\n try {\n return navigator.clipboard.write([\n new ClipboardItem({\n // eslint-disable-next-line no-async-promise-executor\n 'text/plain': new Promise(async (resolve) => {\n const shortUrl = await shortenUrl({ longUrl: escapedLongUrl });\n resolve(new Blob([shortUrl], { type: 'text/plain' }));\n }),\n }),\n ]);\n } catch {\n // chrome and firefox\n const shortUrl = await shortenUrl({ longUrl: escapedLongUrl });\n return navigator.clipboard.writeText(shortUrl);\n }\n};\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = '_zero';\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val.trim();\n if (val.trim() === 'false') formatOptions[key.trim()] = false;\n if (val.trim() === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val.trim())) formatOptions[key.trim()] = parseInt(val.trim(), 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: function number(val, lng, options) {\n return new Intl.NumberFormat(lng, options).format(val);\n },\n currency: function currency(val, lng, options) {\n return new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n })).format(val);\n },\n datetime: function datetime(val, lng, options) {\n return new Intl.DateTimeFormat(lng, _objectSpread$4({}, options)).format(val);\n },\n relativetime: function relativetime(val, lng, options) {\n return new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options)).format(val, options.range || 'day');\n },\n list: function list(val, lng, options) {\n return new Intl.ListFormat(lng, _objectSpread$4({}, options)).format(val);\n }\n };\n this.init(options);\n }\n\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction removePending(q, name) {\n delete q.pending[name];\n q.pendingCount--;\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = Object.keys(loaded[l]);\n\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loadedKeys[ns] !== undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = keyPrefix ? \"\".concat(keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport default instance;\nexport { changeLanguage, createInstance, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport common_en from 'translations/en.json';\nimport common_es from 'translations/es.json';\nimport common_fr from 'translations/fr.json';\nimport common_ja from 'translations/ja.json';\nimport common_ko from 'translations/ko.json';\nimport common_zh from 'translations/zh.json';\n\nexport const resources = {\n en: {\n translation: common_en,\n },\n es: {\n translation: common_es,\n },\n fr: {\n translation: common_fr,\n },\n ja: {\n translation: common_ja,\n },\n ko: {\n translation: common_ko,\n },\n zh: {\n translation: common_zh,\n },\n};\n\ni18n.use(initReactI18next).init({\n lng: window.StudioModule?.config?.lang || 'en',\n fallbackLng: 'en',\n debug: true,\n returnObjects: true,\n resources,\n interpolation: {\n escapeValue: false, // react already safe from xss\n },\n});\n\nexport default i18n;\n","import React, { useEffect, useState } from 'react';\n\nimport { I18nextProvider } from 'react-i18next';\nimport { initialize } from '@brightcove/studio-components';\nimport { QueryClient, QueryClientProvider } from 'react-query';\n\nimport { ModalContainer } from 'js/components';\n\nimport i18n from 'js/i18n';\nimport {\n EmbedCodeModalTypes,\n ModalDataPayload,\n} from './types/EmbedCodeModalProps';\n\nconst appTheme = 'blueSteel';\n\ninitialize({ theme: appTheme });\n\nconst queryClient = new QueryClient();\n\nexport interface EmbedCodeModalProps {\n playerPayload: ModalDataPayload;\n language?: 'en' | 'es' | 'fr' | 'ko' | 'ja' | 'zh';\n embedCodeModalType?: EmbedCodeModalTypes;\n}\n\nconst EmbedModal = ({\n playerPayload,\n language,\n embedCodeModalType,\n}: EmbedCodeModalProps) => {\n const [componentKey, setComponentKey] = useState(0);\n\n useEffect(() => {\n i18n.changeLanguage(language || window.StudioModule.config.lang);\n }, [language]);\n\n const handleSetComponentKey = () => {\n setComponentKey(componentKey + 1);\n };\n\n // avoid calling anything if there is not data\n return playerPayload ? (\n <QueryClientProvider client={queryClient}>\n <I18nextProvider i18n={i18n}>\n <ModalContainer\n key={componentKey}\n handleSetComponentKey={handleSetComponentKey}\n playerPayload={playerPayload}\n language={language}\n embedCodeModalType={embedCodeModalType}\n />\n </I18nextProvider>\n </QueryClientProvider>\n ) : null;\n};\n\nexport default EmbedModal;\n"],"names":["root","factory","exports","module","require","define","amd","a","i","self","__WEBPACK_EXTERNAL_MODULE__156__","__WEBPACK_EXTERNAL_MODULE__66__","__WEBPACK_EXTERNAL_MODULE__111__","e","t","r","n","l","call","m","c","d","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","J","env","NODE_DEBUG","test","Array","slice","arguments","unshift","console","log","apply","SEMVER_SPEC_VERSION","Number","MAX_SAFE_INTEGER","re","src","u","f","h","v","y","g","w","b","I","j","E","S","x","A","C","T","P","R","$","O","q","RegExp","k","M","L","V","z","B","_","N","D","U","H","F","X","G","loose","includePrerelease","length","version","TypeError","this","options","trim","match","raw","major","minor","patch","prerelease","split","map","build","format","parse","valid","clean","replace","SemVer","join","toString","compare","compareMain","comparePre","Y","compareBuild","inc","push","isNaN","Error","diff","ee","compareIdentifiers","Z","K","Q","W","te","ne","ie","oe","semver","ae","operator","rcompareIdentifiers","compareLoose","rcompare","sort","rsort","gt","lt","eq","neq","gte","lte","cmp","Comparator","se","set","parseRange","filter","ce","pop","every","intersects","ue","toLowerCase","le","pe","fe","de","forEach","Range","range","some","toComparators","satisfies","maxSatisfying","minSatisfying","minVersion","validRange","ltr","gtr","outside","coerce","setTimeout","clearTimeout","concat","run","fun","array","nextTick","title","browser","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","iterator","constructor","keys","indexOf","reduce","encodeURIComponent","JSON","stringify","String","accountId","base","playerId","embedId","iframe","minified","queryParams","charAt","substring","VERSION","includeScriptElement","returnDomElement","preview","playlistElement","legacyPlaylistElement","playlistIsHorizontal","formatter","width","height","units","responsive","applicationId","allowFullscreen","allowEncryptedMedia","pictureInPicture","responsiveHeight","createIframeEmbedCode","createElement","urlBase","videoId","interactivityProjectId","playlistId","adConfigId","catalogSearch","catalogSequence","setAttribute","appendChild","innerHTML","createInpageEmbedCode","playerVersion","classList","add","audience","integration","leadForm","firstChild","document","window","_remoteCall","_extends","assign","target","source","key","standardArgs","_ref","apiConfig","origin","getPlayersOrigin","getAccountId","_ref5","_ref2","path","buildGetForPath","buildDeleteForPath","buildPostForPath","buildFilePutForPath","buildPutForPath","buildPatchForPath","buildGetWithParamsForPath","getPlaybackRightsOrigin","getPolicyOrigin","getSocialAPIOrigin","getDeliverySystemOrigin","getAudienceOrigin","getGalleryOrigin","getOAuthVersion","getOAuthOrigin","getNuCMSOrigin","getBeaconOrigin","getAccountsOrigin","getAuthIntegrationVersion","getAuthIntegrationOrigin","getSettingsOrigin","getIngestOrigin","getIngestProfilesOrigin","getAnalyticsOrigin","getSavedSearchOrigin","getliveSsaiOrigin","getSSAIOrigin","getCMSAPIOrigin","api","cms","savedsearch","analytics","players","ingest","accounts","beacon","nucms","oauth","gallery","repos","social","policy","publisherId","method","data","request","params","buildWithDataForPath","_ref3","_ref6","_ref7","_ref4","headers","buildWithFormDataForPath","_ref8","_ref9","longUrl","___CSS_LOADER_EXPORT___","id","locals","cssWithMappingToString","list","item","content","needLayer","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","_k","cssMapping","btoa","base64","unescape","sourceMapping","sourceURLs","sources","sourceRoot","doccy","topLevel","minDoc","win","focusManager","_Subscribable","FocusManager","_this","setup","onFocus","_window","addEventListener","listener","removeEventListener","_proto","onSubscribe","cleanup","setEventListener","onUnsubscribe","_this$cleanup","hasListeners","_this$cleanup2","_this2","focused","setFocused","isFocused","includes","visibilityState","logger","getLogger","setLogger","newLogger","notifyManager","NotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","batch","result","flush","schedule","batchCalls","_len","args","_key","_this3","setNotifyFunction","fn","setBatchNotifyFunction","onlineManager","OnlineManager","onOnline","online","setOnline","isOnline","navigator","onLine","Query","config","abortSignalConsumed","hadObservers","defaultOptions","setOptions","observers","cache","queryKey","queryHash","initialState","state","getDefaultState","meta","scheduleGc","_this$options$cacheTi","cacheTime","Math","max","setDefaultOptions","clearGcTimeout","gcTimeout","optionalRemove","isFetching","remove","setData","updater","_this$options$isDataE","_this$options","prevData","isDataEqual","structuralSharing","dispatch","type","dataUpdatedAt","updatedAt","setState","setStateOptions","cancel","_this$retryer","promise","retryer","then","catch","Promise","resolve","destroy","silent","reset","isActive","observer","enabled","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","_this$retryer2","find","shouldFetchOnWindowFocus","refetch","continue","_this$retryer3","shouldFetchOnReconnect","addObserver","notify","query","removeObserver","isTransportCancelable","revert","cancelRetry","getObserversCount","invalidate","fetch","fetchOptions","_this$options$behavio","_context$fetchOptions","_abortController$abor","cancelRefetch","_this$retryer4","continueRetry","queryFn","abortController","queryFnContext","pageParam","signal","_this$options$behavio2","_context$fetchOptions2","context","fetchFn","reject","behavior","onFetch","revertState","fetchMeta","abort","onSuccess","onError","error","onFail","onPause","onContinue","retry","retryDelay","action","reducer","onQueryUpdate","initialData","initialDataUpdatedAt","hasData","dataUpdateCount","Date","now","errorUpdateCount","errorUpdatedAt","fetchFailureCount","isPaused","status","_action$meta","_action$dataUpdatedAt","QueryCache","queries","queriesMap","client","_options$queryHash","defaultQueryOptions","getQueryDefaults","queryInMap","clear","getAll","arg1","arg2","filters","exact","findAll","event","_this4","_this5","Mutation","mutationId","mutationCache","failureCount","variables","execute","restored","onMutate","executeMutation","onSettled","_this$options$retry","mutationFn","onMutationUpdate","MutationCache","mutations","mutation","defaultMutationOptions","mutationKey","getMutationDefaults","resumePausedMutations","pausedMutations","getNextPageParam","pages","getPreviousPageParam","QueryClient","queryCache","queryDefaults","mutationDefaults","mount","unsubscribeFocus","unsubscribeOnline","unmount","_this$unsubscribeFocu","_this$unsubscribeOnli","fetching","isMutating","getQueryData","_this$queryCache$find","getQueriesData","queryKeyOrFilters","getQueryCache","setQueryData","parsedOptions","defaultedOptions","setQueriesData","getQueryState","_this$queryCache$find2","removeQueries","resetQueries","arg3","_parseFilterArgs3","refetchFilters","active","refetchQueries","cancelQueries","_parseFilterArgs4","_parseFilterArgs4$","cancelOptions","promises","all","invalidateQueries","_filters$refetchActiv","_filters$refetchInact","_parseFilterArgs5","refetchActive","inactive","refetchInactive","_this6","_parseFilterArgs6","refetchPage","throwOnError","fetchQuery","prefetchQuery","fetchInfiniteQuery","_context$fetchOptions3","_context$fetchOptions4","_context$state$data","_context$state$data2","fetchMore","isFetchingNextPage","direction","isFetchingPreviousPage","oldPages","oldPageParams","pageParams","abortSignal","newPageParams","cancelled","buildNewPages","param","page","previous","fetchPage","manual","queryFnResult","_manual","_param","shouldFetchFirstPage","_loop","_param2","finalPromise","prefetchInfiniteQuery","cancelMutations","_this7","getMutationCache","getDefaultOptions","setQueryDefaults","_this$queryDefaults$f","setMutationDefaults","_this$mutationDefault","_defaulted","defaultQueryObserverOptions","defaultRetryDelay","min","pow","isCancelable","CancelledError","isCancelledError","Retryer","cancelFn","continueFn","promiseResolve","promiseReject","isResolved","outerResolve","outerReject","promiseOrValue","_unused","_config$retry","_config$retryDelay","delay","shouldRetry","continueResolve","Subscribable","subscribe","isServer","noop","functionalUpdate","input","isValidTimeout","Infinity","ensureQueryKeyArray","isArray","timeUntilStale","parseQueryArgs","isQueryKey","parseFilterArgs","matchQuery","predicate","stale","hashQueryKeyByOptions","partialMatchKey","queryStatusFilter","mapQueryStatusFilter","matchMutation","hashQueryKey","queryKeyHashFn","asArray","val","isPlainObject","partialDeepEqual","replaceEqualDeep","aSize","bItems","bSize","copy","equalItems","shallowEqualObjects","hasObjectPrototype","ctor","prot","sleep","timeout","scheduleMicrotask","getAbortController","AbortController","unstable_batchedUpdates","defaultContext","QueryClientSharingContext","getQueryClientContext","contextSharing","ReactQueryClientContext","QueryClientProvider","_ref$contextSharing","children","Context","Provider","QueryObserver","trackedProps","selectError","bindMethods","currentQuery","shouldFetchOnMount","executeFetch","updateTimers","shouldFetchOn","refetchOnReconnect","refetchOnWindowFocus","clearTimers","notifyOptions","prevOptions","prevQuery","updateQuery","mounted","shouldFetchOptionally","updateResult","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","createResult","currentResult","trackResult","trackedResult","trackProp","configurable","useErrorBoundary","suspense","getNextResult","unsubscribe","isError","getCurrentQuery","fetchOptimistic","clearStaleTimeout","staleTimeoutId","_this$options$refetch","refetchInterval","nextInterval","clearRefetchInterval","refetchIntervalId","setInterval","refetchIntervalInBackground","clearInterval","prevResult","prevResultState","currentResultState","prevResultOptions","currentResultOptions","queryChange","queryInitialState","currentQueryInitialState","prevQueryResult","previousQueryResult","isPreviousData","isPlaceholderData","optimisticResults","fetchOnMount","fetchOptionally","keepPreviousData","isSuccess","select","selectFn","selectResult","placeholderData","isLoading","isIdle","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isRefetchError","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsExclusions","includedProps","typedKey","changed","isIncluded","isExcluded","defaultNotifyOptions","_this8","retryOnMount","shouldLoadOnMount","refetchOnMount","field","createValue","_isReset","clearReset","isReset","QueryErrorResetBoundaryContext","useBaseQuery","Observer","mountedRef","forceUpdate","queryClient","useQueryClient","errorResetBoundary","_useErrorBoundary","current","useQuery","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","obj","writable","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","_invoke","GenStateSuspendedStart","arg","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","done","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","name","mark","setPrototypeOf","__proto__","awrap","async","iter","object","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","count","indexByIdentifier","css","sourceMap","references","addElementStyle","byIndex","splice","domAPI","update","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","element","setAttributes","attributes","styleElement","nonce","insertStyleElement","styleTagTransform","parentNode","removeChild","removeStyleElement","styleSheet","cssText","createTextNode","_inheritsLoose","subClass","superClass","_setPrototypeOf","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","prop","nc","_arrayWithHoles","arr","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","minLen","from","_nonIterableRest","_slicedToArray","_s","_e","_arr","_n","_d","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","getOwnPropertyDescriptors","defineProperties","i18nInstance","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","getDefaults","ReportNamespaces","usedNamespaces","namespaces","ns","getI18n","initReactI18next","init","setDefaults","react","setI18n","I18nextProvider","i18n","defaultNS","useMemo","warn","_console","alreadyWarned","warnOnce","_len2","_key2","loadNamespaces","cb","isInitialized","initialized","oldI18nextHasLoadedNamespace","lng","languages","fallbackLng","lastLng","loadNotPending","loadState","services","backendConnector","backend","isLanguageChangingTo","hasResourceBundle","resources","partialBundledLanguages","hasLoadedNamespace","isNewerI18next","ignoreJSONStructure","precheck","useTranslation","i18nFromProps","useContext","i18nFromContext","defaultNSFromContext","reportNamespaces","notReadyT","retNotReady","ready","wait","i18nOptions","keyPrefix","addUsedNamespaces","initializedStoreOnce","getT","getFixedT","nsMode","_useState","useState","_useState2","setT","isMounted","useRef","useEffect","boundReset","store","isInitial","ret","ROLES","isQA","StudioModule","product","getStudioEnvironment","getUrlBase","sortAsc","label","localeCompare","getVideoPreviewLink","URLSearchParams","append","paramsString","getPreviewPlayerUrl","getStudioModule","getBrightcove","brightcove","getPlayerManagerModuleUrl","defaultConfig","EmbedCode","embedCode","setEmbedCode","embedConfigObj","createEmbedConfigObject","brightcoveEmbedCode","HelperTextNodeNew","Flex","FlexItem","flexGrow","className","CopyField","helperNode","Component","PlainTextArea","componentProps","disabled","disableResizing","onChange","onCopy","Toaster","success","message","hideButton","testName","asyncGeneratorStep","gen","_next","_throw","getStudioConfig","user","currentAccount","callAPI","apiEndpoint","apiArgs","getPlayers","getAllPlayers","createPlayer","payload","createPlayerAPI","isPlayersCallEnabled","EmbedCodeModalTypes","NoInteractivityPlayerModalTypes","bcHostedPlugins","CAMPAIGN_PLUGIN_NAME","DEFAULT_PLAYER_ID","DEFAULT_INTERACTIVITY_PLAYER","_extends$1","_typeof","JSON_ALLOWED_PARAMS","IFRAME_ALLOWED_QUERY_PARAMS","getQueryString","qs","getQueryParamValue","brightcovePlayerUrl","_ref$base","_ref$playerId","_ref$embedId","_ref$iframe","_ref$minified","_ref$queryParams","ext","DEFAULTS","embedType","refNodeInsert","EMBED_TAG_NAME_VIDEO","EMBED_TAG_NAME_VIDEOJS","EMBED_TYPE_IN_PAGE","EMBED_TYPE_IFRAME","REF_NODE_INSERT_APPEND","REF_NODE_INSERT_PREPEND","REF_NODE_INSERT_BEFORE","REF_NODE_INSERT_AFTER","REF_NODE_INSERT_REPLACE","JSON_ALLOWED_ATTRS","BASE_URL","urls","playerUrl","embedOptions","unminified","baseUrl","isEl","el","Boolean","nodeType","isElInDom","wrapEmbed","embed","pip","wrapPip","position","top","right","bottom","left","aspectRatio","iframeHorizontalPlaylist","maxWidth","inner","paddingTop","outer","display","wrapResponsive","createEmbed","createIframeEmbed","paramsToAttrs","deliveryConfigId","playlistVideoId","poster","tagName","createInPageEmbed","refNode","refNodeParent","wrapped","insertBefore","nextElementSibling","replaceChild","playlist","playlistTagName","legacy","insertEmbed","onEmbedCreated","actualCache","playerScriptCache","has","REGEX_PLAYER_EMBED","getBcGlobalKeys","disposeAll","videojs","dispose","matches","isFn","checkParams","isValidEmbedType","isValidRootInsert","initPlayer","player","bc","bcinfo","PLAYER_LOADER","ref","loadPlayer","resolveRefNode","script","onload","onerror","charset","brightcovePlayerLoader","parameters","onFailure","expose","UPDATEABLE_PROPS","ReactPlayerLoader","_React$Component","setRefNode","ReferenceError","_assertThisInitialized","disposePlayer","userSuccess","userFailure","isMounted_","one","REACT_PLAYER_LOADER","attrs","manualReloadFromPropChanges","originalBaseUrl","getBaseUrl","setBaseUrl","findPlaylistVideoIdIndex_","_playlist$i","referenceId","createPlaybackAPICallback_","requestType","changes","logError","startingIndex","catalog","load","updatePlayer","catalogParams","usingPlugin","getLazySequence","_callback","currentItem","componentDidMount","componentDidUpdate","prevProps","acc","componentWillUnmount","render","VideoPlayer","video","embedCodeModalType","playerListForSelection","setPlayer","previewUrl","setPreviewUrl","PROJECT","useCallback","sharedProps","isCampaign","hasCampaignPlugin","interactivityProjectName","videoName","PlayersDropdown","Hideable","show","hasCustomPlugins","VideoLinks","prevUrl","TitleWithTooltip","TabsSection","PlayerPreview","configuration","hasBCHostedPlugin","isCampaignPlayer","plugins","plugin","NoPlayerModal","modalType","createPlayersModuleLink","text","href","flexDirection","NO_PLAYER","ModalContainer","handleSetComponentKey","playerPayload","VIDEO","isModalOpen","setIsModalOpen","useGetPlayers","setPlayers","setPlayerListForSelection","hasPublishingRole","setHasPublishingRole","buttonSpinner","setButtonSpinner","roles","getCurrentUserAccount","items","playersObject","branches","hasPlugins","hasInteractivityPlugin","addPluginsDataToPlayers","filteredPlayerListForSelection","hasInteractivityEnabledPlayer","closeModal","modalTitle","isLargeModal","buttons","Button","onClick","PLAYER","look","spinner","registry_id","res","reason","NO_PERMISSION","Modal","isOpen","large","onClose","isOverflowing","setIsOverflowing","titleMemo","ToolTip","placement","portal","block","TooltipContent","tooltipTextNew","tooltipLink","rel","selected","setSelected","handleSelectChange","reflow","Select","inputClassName","TabsHeader","currentTab","handleTabChange","iframeLabel","jsLabel","justifyContent","alignItems","Tabs","selectedId","onSelect","TabList","Tab","tabId","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","rest","setCurrentTab","isIframe","TabPanel","shortenUrl","getShortenedUrl","isGetUrlLoading","setIsGetUrlLoading","copyPreviewURL","link","getUrlAndAddItToClipboard","icon","iconRight","Loader","size","color","open","url","escapedLongUrl","encodeURI","clipboard","write","ClipboardItem","shortUrl","Blob","writeText","_inherits","_possibleConstructorReturn","_getPrototypeOf","_toArray","consoleLogger","output","Logger","concreteLogger","prefix","debug","bool","forward","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","events","cloned","_cloned","defer","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","stack","shift","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","str","_entityMap","isIE10","userAgent","chars","ownKeys$1","_objectSpread$1","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","_isNativeReflectConstruct","Super","NewTarget","deepFind","keySeparator","paths","mix","endsWith","joinedPath","ResourceStore","_EventEmitter","_super","addNamespaces","addResource","deep","pack","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","postProcessor","processors","addPostProcessor","translator","processor","process","ownKeys$2","_objectSpread$2","_createSuper$1","_isNativeReflectConstruct$1","checkedLoadedFor","Translator","language","interpolation","resolved","nsSeparator","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","matched","ki","looksLikeObjectPath","interpolator","nestingRegexp","parts","lastKey","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","defaultVariables","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","interpolate","na","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","code","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","option","capitalize","string","toUpperCase","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","two","few","many","other","createRules","rules","numbers","plurals","PluralResolver","compatibilityJSON","Intl","PluralRules","rule","getRule","resolvedOptions","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","getSuffixRetroCompatible","idx","noAbs","abs","simplifyPluralSuffix","returnSuffix","ownKeys$3","_objectSpread$3","Interpolator","escapeValue","iOpts","escape","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","formatters","doReduce","elem","ownKeys$4","_objectSpread$4","Formatter","formats","NumberFormat","currency","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","ListFormat","_format","mem","_parseFormatStr","formatStr","formatName","formatOptions","optStr","opt","_opt$split2","parseInt","parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$5","_objectSpread$5","_createSuper$2","_isNativeReflectConstruct$2","Connector","waitingReads","maxParallelReads","readingCalls","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","addResourceBundle","_getLastOfPath2","removePending","loadedKeys","fcName","tried","read","queueLoad","loadOne","prepareLoading","fallbackValue","isUpdate","initImmediate","preload","pluralSeparator","tDescription","transformOptions","ownKeys$6","_objectSpread$6","_createSuper$3","_isNativeReflectConstruct$3","bindMemberFunctions","inst","getOwnPropertyNames","I18n","external","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","changeLanguage","usedCallback","resolvedLanguage","setResolvedLanguage","li","lngInLngs","hasLanguageSomeTranslations","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","opts","resultKey","_this$translator","_this$translator2","exists","preResult","preloaded","newLngs","mergedOptions","clone","membersToCopy","createInstance","reloadResources","use","setDefaultNamespace","loadLanguages","en","translation","es","fr","ja","ko","zh","lang","initialize","theme","componentKey","setComponentKey"],"sourceRoot":""}