{"version":3,"sources":["webpack:///./src/components/common/broadcast/BroadcastScreenRecorder.vue?015b","webpack:///src/components/common/broadcast/BroadcastScreenRecorder.vue","webpack:///./src/components/common/broadcast/BroadcastScreenRecorder.vue?fb92","webpack:///./src/components/common/broadcast/BroadcastScreenRecorder.vue","webpack:///./node_modules/nanoid/index.browser.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","ref","staticStyle","staticRenderFns","RECORD_RESOLUTIONS","RECORD_BITRATE","minBitrate","maxBitrate","name","mixins","flashphonerMixin","props","start","type","Boolean","default","urlServer","String","room","session","stream","recordName","computed","isoDate","Date","toISOString","replace","watch","val","init","initFlashphoner","methods","$FP","disconnect","showNotification","$emit","$notify","group","duration","component","nanoid","size","id","bytes","crypto","getRandomValues","Uint8Array","byte","toString","toUpperCase"],"mappings":"kIAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,IAAI,cAAcC,YAAY,CAAC,QAAU,WAC/IC,EAAkB,G,4DCQtB,MAAMC,EAAqB,QACrBC,EAAiB,CACrBC,WAAY,KACZC,WAAY,KAGd,OACEC,KAAM,0BACNC,OAAQ,CAACC,EAAX,MACEC,MAAO,CACLC,MAAO,CACLC,KAAMC,QACNC,SAAS,GAEXC,UAAW,CACTH,KAAMI,OACNF,QAAS,IAEXG,KAAM,CACJL,KAAMI,OACNF,QAAS,KAGb,OACE,MAAO,CACLI,QAAS,KACTC,OAAQ,KACRC,WAAY,KAGhBC,SAAU,CACR,mBACE,MAAMC,GAAU,IAAIC,MAAOC,cAC3B,MAAO,GAAG7B,KAAKsB,oBAAoBK,KAAW,OAApD,OAAoD,CAApD,OAEI,eACE,OAAO3B,KAAKoB,UAAUU,QAAQ,SAAU,MAG5CC,MAAO,CACL,MAAMC,GAGV,MAFUA,EACFhC,KAAKiC,OAEb,+CAIE,sBACQjC,KAAKkC,mBAEbC,QAAS,CACP,OACEnC,KAAKuB,QAAUvB,KAAKoC,IAC1B,eAAQ,UAAR,iBACA,wCACQ,WAAR,KACU,KAAV,eACA,OAEA,yCACQ,KAAR,eAEA,mCACQ,KAAR,kBACU,MAAV,kDAII,cACEpC,KAAKuB,QACX,cACQ,KAAR,sBACQ,QAAR,uBACQ,QAAR,EACQ,YAAR,CACU,OAAV,EACU,MAAV,gBACY,MAAZ,gBACY,OAAZ,iBACY,KAAZ,SACY,UAAZ,GACY,YAAZ,SACY,kBAAZ,GACA,MAIA,qCACQ,KAAR,SACQ,MAAR,kCACQ,EAAR,+DACQ,KAAR,iBACA,CACU,MAAV,uCAEA,UAGA,sCACQ,KAAR,6BACQ,KAAR,SAEA,kCACQ,KAAR,OACQ,KAAR,iBACA,CACU,MAAV,4CAEA,WAGA,WAEI,OACEvB,KAAKwB,OAAS,KACdxB,KAAKuB,QAAQc,aACbrC,KAAKsC,iBACX,CACQ,MAAR,0CAEA,QAEMtC,KAAKuC,MAAM,OAAQvC,KAAKyB,aAE1B,iBACJ,GACM,MAAN,GACM,KAAN,IAEA,aAEMzB,KAAKwC,QAAQ,OAAnB,OAAmB,CAAnB,CACQC,MAAO,YACPxB,OACAyB,SAAU,KAClB,OCjJ+X,I,YCO3XC,EAAY,eACd,EACA7C,EACAS,GACA,EACA,KACA,KACA,MAIa,aAAAoC,E,6ECgBf,IA4CIC,EAAS,CAACC,EAAO,MACnB,IAAIC,EAAK,GACLC,EAAQC,OAAOC,gBAAgB,IAAIC,WAAWL,IAGlD,MAAOA,IAAQ,CAMb,IAAIM,EAAqB,GAAdJ,EAAMF,GAGfC,GAFEK,EAAO,GAEHA,EAAKC,SAAS,IACXD,EAAO,IAETA,EAAO,IAAIC,SAAS,IAAIC,cACtBF,EAAO,GACV,IAEA,IAGV,OAAOL","file":"js/BroadcastScreenRecorder.509cea41.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"localStream\",staticStyle:{\"display\":\"none\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BroadcastScreenRecorder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BroadcastScreenRecorder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BroadcastScreenRecorder.vue?vue&type=template&id=15fcfe18&\"\nimport script from \"./BroadcastScreenRecorder.vue?vue&type=script&lang=js&\"\nexport * from \"./BroadcastScreenRecorder.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// This file replaces `index.js` in bundlers like webpack or Rollup,\n// according to `browser` config in `package.json`.\n\nimport { urlAlphabet } from './url-alphabet/index.js'\n\nif (process.env.NODE_ENV !== 'production') {\n // All bundlers will remove this block in the production bundle.\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID. If you use Expo, install `expo-random` ' +\n 'and use `nanoid/async`.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Add `if (!window.crypto) window.crypto = window.msCrypto` ' +\n 'before Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\n\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\n\nlet customRandom = (alphabet, size, getRandom) => {\n // First, a bitmask is necessary to generate the ID. The bitmask makes bytes\n // values closer to the alphabet size. The bitmask calculates the closest\n // `2^31 - 1` number, which exceeds the alphabet size.\n // For example, the bitmask for the alphabet size 30 is 31 (00011111).\n // `Math.clz32` is not used, because it is not available in browsers.\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n // Though, the bitmask solution is not perfect since the bytes exceeding\n // the alphabet size are refused. Therefore, to reliably generate the ID,\n // the random bytes redundancy has to be satisfied.\n\n // Note: every hardware random generator call is performance expensive,\n // because the system call for entropy collection takes a lot of time.\n // So, to avoid additional system calls, extra bytes are requested in advance.\n\n // Next, a step determines how many random bytes to generate.\n // The number of random bytes gets decided upon the ID size, mask,\n // alphabet size, and magic number 1.6 (using 1.6 peaks at performance\n // according to benchmarks).\n\n // `-~f => Math.ceil(f)` if f is a float\n // `-~i => i + 1` if i is an integer\n let step = -~((1.6 * mask * size) / alphabet.length)\n\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let j = step\n while (j--) {\n // Adding `|| ''` refuses a random byte that exceeds the alphabet size.\n id += alphabet[bytes[j] & mask] || ''\n // `id.length + 1 === size` is a more compact option.\n if (id.length === +size) return id\n }\n }\n }\n}\n\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\n\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n while (size--) {\n // It is incorrect to use bytes exceeding the alphabet size.\n // The following mask reduces the random byte in the 0-255 value\n // range to the 0-63 value range. Therefore, adding hacks, such\n // as empty string fallback or magic numbers, is unneccessary because\n // the bitmask trims bytes down to the alphabet size.\n let byte = bytes[size] & 63\n if (byte < 36) {\n // `0-9a-z`\n id += byte.toString(36)\n } else if (byte < 62) {\n // `A-Z`\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\n\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n"],"sourceRoot":""}