File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/im/component/call/dist/call.bundle.min.js
Back
this.BX=this.BX||{};(function(t,e,i,n,o,a,c,l,s,r,d,m,p,u){"use strict";r.Vue.cloneComponent("bx-im-component-call-smiles","bx-smiles",{methods:{hideForm:function t(e){this.$parent.hideSmiles()}},template:'\n\t\t<div class="bx-im-component-smiles-box">\n\t\t\t<div class="bx-im-component-smiles-box-close" @click="hideForm"></div>\n\t\t\t<div class="bx-livechat-alert-smiles-box">\n\t\t\t\t#PARENT_TEMPLATE#\n\t\t\t</div>\n\t\t</div>\n\t'});var v={props:["localStream"],data:function t(){return{bars:[],barDisabledColor:"rgba(255,255,255,0.42)",barEnabledColor:"#B3E600"}},watch:{localStream:function t(e){if(!c.Type.isNil(e)){this.startAudioCheck()}}},mounted:function t(){this.bars=babelHelpers.toConsumableArray(document.querySelectorAll(".bx-im-component-call-check-devices-micro-level-item"))},computed:{localize:function t(){return r.Vue.getFilteredPhrases("BX_IM_COMPONENT_CALL_CHECK_DEVICES_",this.$root.$bitrixMessages)}},methods:{startAudioCheck:function t(){this.audioContext=new(window.AudioContext||window.webkitAudioContext);this.analyser=this.audioContext.createAnalyser();this.microphone=this.audioContext.createMediaStreamSource(this.localStream);this.scriptNode=this.audioContext.createScriptProcessor(2048,1,1);this.analyser.smoothingTimeConstant=.8;this.analyser.fftSize=1024;this.microphone.connect(this.analyser);this.analyser.connect(this.scriptNode);this.scriptNode.connect(this.audioContext.destination);this.scriptNode.onaudioprocess=this.processVolume},processVolume:function t(){var e=this;var i=new Uint8Array(this.analyser.frequencyBinCount);this.analyser.getByteFrequencyData(i);var n=0;for(var o=0;o<i.length;o++){n+=i[o]}var a=n/i.length;var c=100/this.bars.length;var l=Math.round(a/c);var s=this.bars.slice(0,l);this.bars.forEach(function(t){t.style.backgroundColor=e.barDisabledColor});s.forEach(function(t){t.style.backgroundColor=e.barEnabledColor})}},template:'\n\t\t<div class="bx-im-component-call-check-devices-row">\n\t\t\t<div class="bx-im-component-call-check-devices-micro-icon"></div>\n\t\t\t<div class="bx-im-component-call-check-devices-micro-level">\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t</div>\n\t\t</div>\n\t'};var h={data:function t(){return{noVideo:true,selectedCamera:null,selectedMic:null,mediaStream:null,showMic:true,userDisabledCamera:false,gettingVideo:false}},created:function t(){var e=this;this.$root.$on("setCameraState",function(t){e.onCameraStateChange(t)});this.$root.$on("setMicState",function(t){e.onMicStateChange(t)});this.$root.$on("callLocalMediaReceived",function(){e.stopLocalVideo()});this.$root.$on("cameraSelected",function(t){e.onCameraSelected(t)});this.$root.$on("micSelected",function(t){e.onMicSelected(t)});this.getDefaultDevices()},destroyed:function t(){this.mediaStream=null},computed:{noVideoText:function t(){if(this.gettingVideo){return this.localize["BX_IM_COMPONENT_CALL_CHECK_DEVICES_GETTING_CAMERA"]}if(this.userDisabledCamera){return this.localize["BX_IM_COMPONENT_CALL_CHECK_DEVICES_DISABLED_CAMERA"]}return this.localize["BX_IM_COMPONENT_CALL_CHECK_DEVICES_NO_VIDEO"]},localize:function t(){return r.Vue.getFilteredPhrases("BX_IM_COMPONENT_CALL_CHECK_DEVICES_",this.$root.$bitrixMessages)}},methods:{getDefaultDevices:function t(){var e=this;this.gettingVideo=true;var i={audio:true,video:true};if(!p.Utils.device.isMobile()){i.video={};i.video.width={ideal:1280};i.video.height={ideal:720}}if(BX.Call.Hardware.defaultCamera){this.selectedCamera=BX.Call.Hardware.defaultCamera;i.video={deviceId:{exact:this.selectedCamera}}}else if(Object.keys(BX.Call.Hardware.cameraList).length===0){i.video=false}if(BX.Call.Hardware.defaultMicrophone){this.selectedMic=BX.Call.Hardware.defaultMicrophone;i.audio={deviceId:{exact:this.selectedMic}}}navigator.mediaDevices.getUserMedia(i).then(function(t){e.gettingVideo=false;e.setLocalStream(t);if(t.getVideoTracks().length>0){if(!e.selectedCamera){e.selectedCamera=t.getVideoTracks()[0].getSettings().deviceId}e.noVideo=false;e.playLocalVideo();e.getApplication().setSelectedCamera(e.selectedCamera)}if(t.getAudioTracks().length>0){if(!e.selectedMic){e.selectedMic=t.getAudioTracks()[0].getSettings().deviceId}e.getApplication().setSelectedMic(e.selectedMic)}}).catch(function(t){e.gettingVideo=false;l.Logger.warn("Error getting default media stream",t)})},getLocalStream:function t(){var e=this;this.gettingVideo=true;if(c.Type.isNil(this.selectedCamera)&&c.Type.isNil(this.selectedMic)){return false}var i={video:false,audio:false};if(this.selectedCamera&&!this.noVideo){i.video={deviceId:{exact:this.selectedCamera}};if(!p.Utils.device.isMobile()){i.video.width={ideal:1280};i.video.height={ideal:720}}}if(this.selectedMic){i.audio={deviceId:{exact:this.selectedMic}}}navigator.mediaDevices.getUserMedia(i).then(function(t){e.gettingVideo=false;e.setLocalStream(t);if(t.getVideoTracks().length>0){e.playLocalVideo()}}).catch(function(t){e.gettingVideo=false;l.Logger.warn("Getting video from camera error",t);e.noVideo=true;e.getApplication().setCameraState(false)})},setLocalStream:function t(e){this.mediaStream=e;this.getApplication().setLocalVideoStream(this.mediaStream)},playLocalVideo:function t(){l.Logger.warn("playing local video");this.noVideo=false;this.userDisabledCamera=false;this.getApplication().setCameraState(true);this.$refs["video"].volume=0;this.$refs["video"].srcObject=this.mediaStream;this.$refs["video"].play()},stopLocalVideo:function t(){if(!this.mediaStream){return}this.mediaStream.getTracks().forEach(function(t){return t.stop()});this.mediaStream=null;this.getApplication().stopLocalVideoStream()},onCameraSelected:function t(e){this.stopLocalVideo();this.selectedCamera=e;this.getLocalStream()},onMicSelected:function t(e){},onCameraStateChange:function t(e){if(e){this.noVideo=false;this.getLocalStream()}else{this.stopLocalVideo();this.userDisabledCamera=true;this.noVideo=true;this.$root.$bitrixApplication.setCameraState(false)}},onMicStateChange:function t(e){if(e){this.getLocalStream()}this.showMic=e},isMobile:function t(){return p.Utils.device.isMobile()},getApplication:function t(){return this.$root.$bitrixApplication}},components:{MicLevel:v},template:'\n\t<div class="bx-im-component-call-check-devices">\n\t\t<div v-show="noVideo">\n\t\t\t<div class="bx-im-component-call-check-devices-camera-no-video">\n\t\t\t\t<div class="bx-im-component-call-check-devices-camera-no-video-icon"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-camera-no-video-text">{{ noVideoText }}</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-show="!noVideo">\n\t\t\t<div class="bx-im-component-call-check-devices-camera-video-container">\n\t\t\t\t<video ref="video" class="bx-im-component-call-check-devices-camera-video" muted autoplay playsinline></video>\n\t\t\t</div>\n\t\t</div>\n\t\t<template v-if="!isMobile()">\n\t\t\t<mic-level v-show="showMic" :localStream="mediaStream"/>\n\t\t</template>\n\t</div>\n\t'};var f={props:["errorCode"],data:function t(){return{downloadAppArticleCode:11387752}},computed:babelHelpers.objectSpread({bitrix24only:function t(){return this.errorCode===d.CallApplicationErrorCode.bitrix24only},detectIntranetUser:function t(){return this.errorCode===d.CallApplicationErrorCode.detectIntranetUser},userLimitReached:function t(){return this.errorCode===d.CallApplicationErrorCode.userLimitReached},kickedFromCall:function t(){return this.errorCode===d.CallApplicationErrorCode.kickedFromCall},wrongAlias:function t(){return this.errorCode===d.CallApplicationErrorCode.wrongAlias},conferenceFinished:function t(){return this.errorCode===d.CallApplicationErrorCode.finished},unsupportedBrowser:function t(){return this.errorCode===d.CallApplicationErrorCode.unsupportedBrowser},missingMicrophone:function t(){return this.errorCode===d.CallApplicationErrorCode.missingMicrophone},unsafeConnection:function t(){return this.errorCode===d.CallApplicationErrorCode.unsafeConnection},noSignalFromCamera:function t(){return this.errorCode===d.CallErrorCode.noSignalFromCamera},userLeftCall:function t(){return this.errorCode===d.CallApplicationErrorCode.userLeftCall},localize:function t(){return r.Vue.getFilteredPhrases("BX_IM_COMPONENT_CALL_",this.$root.$bitrixMessages)}},u.Vuex.mapState({callApplication:function t(e){return e.callApplication}})),methods:{reloadPage:function t(){location.reload()},redirectToAuthorize:function t(){location.href=location.origin+"/auth/?backurl="+location.pathname},continueAsGuest:function t(){m.Cookie.set(null,"VIDEOCONF_GUEST_".concat(this.callApplication.common.alias),"",{path:"/"});location.reload(true)},getBxLink:function t(){return"bx://videoconf/code/".concat(this.$root.$bitrixApplication.getAlias())},openHelpArticle:function t(){if(BX.Helper){BX.Helper.show("redirect=detail&code="+this.downloadAppArticleCode)}},isMobile:function t(){return p.Utils.device.isMobile()}},template:'\n\t\t<div class="bx-im-component-call-error-wrap">\n\t\t\t<template v-if="bitrix24only">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-b24only"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_MESSAGE_B24_ONLY\'] }}</div>\n\t\t\t\t\t\t<template v-if="!isMobile()">\n\t\t\t\t\t\t\t<a @click.prevent="openHelpArticle" class="bx-im-component-call-error-more-link">{{ localize[\'BX_IM_COMPONENT_CALL_BUTTON_CREATE_OWN\'] }}</a>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="detectIntranetUser">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-intranet"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_MESSAGE_PLEASE_LOG_IN\'] }}</div>\n\t\t\t\t\t\t<div class="bx-im-component-call-error-buttons">\n\t\t\t\t\t\t\t<button @click="redirectToAuthorize" class="ui-btn ui-btn-sm ui-btn-primary bx-im-component-call-error-button-authorize">{{ this.localize[\'BX_IM_COMPONENT_CALL_BUTTON_AUTHORIZE\'] }}</button>\n\t\t\t\t\t\t\t<button @click="continueAsGuest" class="ui-btn ui-btn-sm bx-im-component-call-error-button-as-guest">{{ this.localize[\'BX_IM_COMPONENT_CALL_BUTTON_AS_GUEST\'] }}</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="userLimitReached">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-full"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_MESSAGE_USER_LIMIT\'] }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="kickedFromCall">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-kicked"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_MESSAGE_KICKED\'] }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="wrongAlias || conferenceFinished">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-finished"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_FINISHED\'] }}</div>\n\t\t\t\t\t\t<template v-if="!isMobile()">\n\t\t\t\t\t\t\t<a @click.prevent="openHelpArticle" class="bx-im-component-call-error-more-link">{{ localize[\'BX_IM_COMPONENT_CALL_BUTTON_CREATE_OWN\'] }}</a>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="unsupportedBrowser">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-browser"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_UNSUPPORTED_BROWSER\'] }}</div>\n\t\t\t\t\t\t<template v-if="!isMobile()">\n\t\t\t\t\t\t\t<a @click.prevent="openHelpArticle" class="bx-im-component-call-error-more-link">{{ localize[\'BX_IM_COMPONENT_CALL_BUTTON_DETAILS\'] }}</a>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="missingMicrophone">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_NO_MIC\'] }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="unsafeConnection">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-https"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_NO_HTTPS\'] }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="noSignalFromCamera">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_NO_SIGNAL_FROM_CAMERA\'] }}</div>\n\t\t\t\t\t\t<div class="bx-im-component-call-error-buttons">\n\t\t\t\t\t\t\t<button @click="reloadPage" class="ui-btn ui-btn-sm ui-btn-no-caps">{{ localize[\'BX_IM_COMPONENT_CALL_BUTTON_RELOAD\'] }}</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="userLeftCall">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_USER_LEFT_THE_CALL\'] }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</div>\n\t'};var b={computed:{localize:function t(){return Object.freeze({BX_IM_COMPONENT_CALL_ROTATE_DEVICE:this.$root.$bitrixMessages.BX_IM_COMPONENT_CALL_ROTATE_DEVICE})}},template:'\n\t\t<div class="bx-im-component-call-orientation-disabled-wrap">\n\t\t\t<div class="bx-im-component-call-orientation-disabled-icon"></div>\n\t\t\t<div class="bx-im-component-call-orientation-disabled-text">\n\t\t\t\t{{ localize.BX_IM_COMPONENT_CALL_ROTATE_DEVICE }}\n\t\t\t</div>\n\t\t</div>\n\t'};var C=Object.freeze({preparation:"preparation"});r.Vue.component("bx-im-component-call",{props:["chatId"],data:function t(){return{userNewName:"",password:"",checkingPassword:false,wrongPassword:false,permissionsRequested:false,waitingForStart:false,popupMode:C.preparation,viewPortMetaNode:null,conferenceDuration:"",durationInterval:null}},created:function t(){if(this.isMobile()){this.setMobileMeta()}else{document.body.classList.add("bx-im-application-call-desktop-state")}if(!this.isDesktop()){window.addEventListener("beforeunload",this.onBeforeUnload.bind(this))}},mounted:function t(){if(!this.isHttps()){this.getApplication().setError(d.CallApplicationErrorCode.unsafeConnection)}if(!this.passwordChecked){this.$refs["passwordInput"].focus()}},destroyed:function t(){clearInterval(this.durationInterval)},watch:{showChat:function t(e){var i=this;if(this.isMobile()){return false}if(e===true){this.$nextTick(function(){i.$root.$emit(d.EventType.textarea.focus);i.$root.$emit(d.EventType.dialog.scrollToBottom)})}},dialogInited:function t(e){if(e===true){this.getApplication().setDialogInited()}},conferenceStarted:function t(e){var i=this;if(e===true){this.durationInterval=setInterval(function(){i.updateConferenceDuration()},1e3)}this.updateConferenceDuration()},userInited:function t(e){if(e===true&&this.isDesktop()&&this.passwordChecked){this.requestPermissions()}}},computed:babelHelpers.objectSpread({EventType:function t(){return d.EventType},userId:function t(){return this.application.common.userId},dialogId:function t(){return this.application.dialog.dialogId},conferenceTitle:function t(){return this.callApplication.common.conferenceTitle},conferenceStarted:function t(){return this.callApplication.common.conferenceStarted},conferenceStartDate:function t(){return this.callApplication.common.conferenceStartDate},conferenceStatusClasses:function t(){var e=["bx-im-component-call-info-status"];if(this.conferenceStarted===true){e.push("bx-im-component-call-info-status-active")}else{e.push("bx-im-component-call-info-status-not-active")}return e},conferenceStatusText:function t(){if(this.conferenceStarted===true){return"".concat(this.localize["BX_IM_COMPONENT_CALL_STATUS_STARTED"],", ").concat(this.conferenceDuration)}else if(this.conferenceStarted===false){return this.localize["BX_IM_COMPONENT_CALL_STATUS_NOT_STARTED"]}else if(this.conferenceStarted===null){return this.localize["BX_IM_COMPONENT_CALL_STATUS_LOADING"]}},intranetAvatarStyle:function t(){if(this.user&&!this.user.extranet&&this.user.avatar){return{backgroundImage:"url('".concat(this.user.avatar,"')")}}return""},dialogInited:function t(){if(this.dialog){return this.dialog.init}},dialogName:function t(){if(this.dialog){return this.dialog.name}},dialogCounter:function t(){if(this.dialog){return this.dialog.counter}},publicLink:function t(){if(this.dialog){return this.dialog.public.link}},userInited:function t(){return this.callApplication.common.inited},userHasRealName:function t(){if(this.user){return this.user.name!==this.localize["BX_IM_COMPONENT_CALL_DEFAULT_USER_NAME"]}return false},showChat:function t(){return this.callApplication.common.showChat},userCounter:function t(){return this.dialog.userCounter},userInCallCounter:function t(){return this.callApplication.common.userInCallCount},isPreparationStep:function t(){return this.callApplication.common.state===d.CallStateType.preparation},error:function t(){return this.callApplication.common.error},passwordChecked:function t(){return this.callApplication.common.passChecked},mobileDisabled:function t(){return false;if(this.application.device.type===d.DeviceType.mobile){if(navigator.userAgent.toString().includes("iPad"));else if(this.application.device.orientation===d.DeviceOrientation.horizontal){if(navigator.userAgent.toString().includes("iPhone")){return true}else{return!(babelHelpers.typeof(window.screen)==="object"&&window.screen.availHeight>=800)}}}return false},logoutLink:function t(){return"".concat(this.publicLink,"?logout=yes&sessid=").concat(BX.bitrix_sessid())},localize:function t(){return r.Vue.getFilteredPhrases("BX_IM_COMPONENT_CALL_",this.$root.$bitrixMessages)}},u.Vuex.mapState({callApplication:function t(e){return e.callApplication},application:function t(e){return e.application},user:function t(e){return e.users.collection[e.application.common.userId]},dialog:function t(e){return e.dialogues.collection[e.application.dialog.dialogId]}})),methods:{setNewName:function t(){if(this.userNewName.length>0){this.getApplication().setUserName(this.userNewName.trim())}},startCall:function t(){this.getApplication().startCall()},hideSmiles:function t(){this.getApplication().toggleSmiles()},checkPassword:function t(){var e=this;if(!this.password||this.checkingPassword){this.wrongPassword=true;return false}this.checkingPassword=true;this.wrongPassword=false;this.getApplication().checkPassword(this.password).catch(function(t){e.wrongPassword=true}).finally(function(){e.checkingPassword=false})},requestPermissions:function t(){var i=this;this.getApplication().initHardware().then(function(){i.$nextTick(function(){i.permissionsRequested=true})}).catch(function(t){e.MessageBox.show({message:i.localize["BX_IM_COMPONENT_CALL_HARDWARE_ERROR"],modal:true,buttons:e.MessageBoxButtons.OK})})},startConference:function t(e){var i=e.video;this.getApplication().startCall(i)},joinConference:function t(e){var i=e.video;if(this.user.extranet&&!this.userHasRealName){this.setNewName()}if(!this.conferenceStarted){this.waitingForStart=true;this.getApplication().setUserReadyToJoin();this.getApplication().setJoinType(i)}else{this.getApplication().startCall(i)}},openChat:function t(){this.getApplication().toggleChat()},onCloseChat:function t(){this.getApplication().toggleChat()},onTextareaSend:function t(e){if(!e.text){return false}if(this.callApplication.common.showSmiles){this.getApplication().toggleSmiles()}this.getApplication().addMessage(e.text)},onTextareaFileSelected:function t(e){var i=e&&e.fileChangeEvent&&e.fileChangeEvent.target.files.length>0?e.fileChangeEvent:"";if(!i){return false}this.getApplication().uploadFile(i)},onTextareaWrites:function t(e){this.getController().application.startWriting()},onTextareaAppButtonClick:function t(e){if(e.appId==="smile"){this.getApplication().toggleSmiles()}},onBeforeUnload:function t(e){if(!this.getApplication().callView){return}if(!this.isPreparationStep){e.preventDefault();e.returnValue=""}},onSmilesSelectSmile:function t(e){this.$root.$emit(d.EventType.textarea.insertText,{text:e.text})},onSmilesSelectSet:function t(){this.$root.$emit(d.EventType.textarea.focus)},isMobile:function t(){return p.Utils.device.isMobile()},isDesktop:function t(){return p.Utils.platform.isBitrixDesktop()},setMobileMeta:function t(){if(!this.viewPortMetaNode){this.viewPortMetaNode=document.createElement("meta");this.viewPortMetaNode.setAttribute("name","viewport");this.viewPortMetaNode.setAttribute("content","width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0");document.head.appendChild(this.viewPortMetaNode)}document.body.classList.add("bx-im-application-call-mobile-state");if(p.Utils.browser.isSafariBased()){document.body.classList.add("bx-im-application-call-mobile-safari-based")}},getApplication:function t(){return this.$root.$bitrixApplication},getController:function t(){return this.$root.$bitrixController},updateConferenceDuration:function t(){if(!this.conferenceStartDate){return false}var e=this.conferenceStartDate;var i=new Date;var n=Math.floor((i-e)/1e3);var o=0;if(n>60){o=Math.floor(n/60);if(o<10){o="0"+o}}var a=n-o*60;if(a<10){a="0"+a}this.conferenceDuration="".concat(o,":").concat(a);return true},isHttps:function t(){return location.protocol==="https:"}},components:{ErrorComponent:f,CheckDevices:h,OrientationDisabled:b},template:'\n\t\t<div :class="[\'bx-im-component-call-wrap\', {\'bx-im-component-call-wrap-with-chat\': showChat}]">\n\t\t\t<div v-show="mobileDisabled">\n\t\t\t\t<orientation-disabled/>\n\t\t\t</div>\n\t\t\t<div v-show="!mobileDisabled" class="bx-im-component-call">\n\t\t\t\t<div class="bx-im-component-call-left">\n\t\t\t\t\t<div id="bx-im-component-call-container"></div>\n\t\t\t\t\t<div v-if="isPreparationStep" class="bx-im-component-call-left-preparation">\n\t\t\t\t\t\t\x3c!-- Step 1: Errors --\x3e\n\t\t\t\t\t\t<template v-if="error">\n\t\t\t\t\t\t\t<error-component :errorCode="error" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\x3c!-- Step 2: Password check --\x3e\n\t\t\t\t\t\t<template v-else-if="!passwordChecked">\n\t\t\t\t\t\t\t<div class="bx-im-component-call-info-container">\n\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-logo"></div>\n\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-title">{{ conferenceTitle }}</div>\n\t\x3c!--\t\t\t\t\t\t<div class="bx-im-component-call-info-date">26.08.2020, 12:00 - 13:00</div>--\x3e\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="bx-im-component-call-password-container">\n\t\t\t\t\t\t\t\t<template v-if="wrongPassword">\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-password-error">\n\t\t\t\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_PASSWORD_WRONG\'] }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-password-title">\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-password-title-logo"></div>\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-password-title-text">{{ localize[\'BX_IM_COMPONENT_CALL_PASSWORD_TITLE\'] }}</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<input @keyup.enter="checkPassword" type="text" v-model="password" class="bx-im-component-call-password-input" :placeholder="localize[\'BX_IM_COMPONENT_CALL_PASSWORD_PLACEHOLDER\']" ref="passwordInput"/>\n\t\t\t\t\t\t\t\t<button @click="checkPassword" class="ui-btn ui-btn-sm ui-btn-primary bx-im-component-call-password-button">{{ localize[\'BX_IM_COMPONENT_CALL_PASSWORD_JOIN\'] }}</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else-if="!error && passwordChecked">\n\t\t\t\t\t\t\t\x3c!-- Step 3: Loading --\x3e\n\t\t\t\t\t\t\t<template v-if="!userInited">\n\t\t\t\t\t\t\t\t<div class="bx-im-component-call-loading">\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-loading-text">{{ localize[\'BX_IM_COMPONENT_CALL_LOADING\'] }}</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\x3c!-- Step 4: Permissions --\x3e\n\t\t\t\t\t\t\t\t<template v-if="!isDesktop() && !permissionsRequested">\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-container">\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-logo"></div>\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-title">{{ conferenceTitle }}</div>\n\t\x3c!--\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-date">26.08.2020, 12:00 - 13:00</div>--\x3e\n\t\t\t\t\t\t\t\t\t\t<div :class="conferenceStatusClasses">{{ conferenceStatusText }}</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-permissions-container">\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-permissions-text">{{ localize[\'BX_IM_COMPONENT_CALL_PERMISSIONS_TEXT\'] }}</div>\n\t\t\t\t\t\t\t\t\t\t<button @click="requestPermissions" class="ui-btn ui-btn-sm ui-btn-primary bx-im-component-call-permissions-button">{{ localize[\'BX_IM_COMPONENT_CALL_PERMISSIONS_BUTTON\'] }}</button>\n\t\t\t\t\t\t\t\t\t\t<template v-if="isMobile()">\n\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-open-chat-button-container">\n\t\t\t\t\t\t\t\t\t\t\t\t<button @click="openChat" class="ui-btn ui-btn-sm ui-btn-icon-chat bx-im-component-call-open-chat-button">{{ localize[\'BX_IM_COMPONENT_CALL_OPEN_CHAT\'] }}</button>\n\t\t\t\t\t\t\t\t\t\t\t\t<template v-if="dialogCounter > 0">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-open-chat-button-counter">{{ dialogCounter }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<template v-if="isDesktop() && (!permissionsRequested || !user)">\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-container">\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-logo"></div>\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-title">{{ conferenceTitle }}</div>\n\t\x3c!--\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-date">26.08.2020, 12:00 - 13:00</div>--\x3e\n\t\t\t\t\t\t\t\t\t\t<div :class="conferenceStatusClasses">{{ conferenceStatusText }}</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-permissions-container">\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-permissions-text">{{ localize[\'BX_IM_COMPONENT_CALL_PERMISSIONS_LOADING\'] }}</div>\n\t\t\t\t\t\t\t\t\t\t<button class="ui-btn ui-btn-sm ui-btn-wait bx-im-component-call-permissions-button">{{ localize[\'BX_IM_COMPONENT_CALL_PERMISSIONS_BUTTON\'] }}</button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\x3c!-- Step 5: Usual interface with video and mic check --\x3e\n\t\t\t\t\t\t\t\t<template v-else-if="permissionsRequested">\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-video-step-container">\n\t\t\t\t\t\t\t\t\t\t\x3c!-- Compact conference info --\x3e\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-container-compact">\n\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-title-container">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-logo"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-title">{{ conferenceTitle }}</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\x3c!--\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-info-date">26.08.2020, 12:00 - 13:00</div>--\x3e\n\t\t\t\t\t\t\t\t\t\t\t<div :class="conferenceStatusClasses">{{ conferenceStatusText }}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\x3c!-- Video and mic check --\x3e\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-device-check-container">\n\t\t\t\t\t\t\t\t\t\t\t<check-devices />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-bottom-container">\n\t\t\t\t\t\t\t\t\t\t\t<template v-if="!waitingForStart">\n\t\t\t\t\t\t\t\t\t\t\t\t\x3c!-- If we know user name --\x3e\n\t\t\t\t\t\t\t\t\t\t\t\t<template v-if="user && userHasRealName">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-if="!user.extranet">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-intranet-name-container">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-intranet-name-title">{{ localize[\'BX_IM_COMPONENT_CALL_INTRANET_NAME_TITLE\'] }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-intranet-name-content">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-intranet-name-content-left">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div :style="intranetAvatarStyle" class="bx-im-component-call-intranet-name-avatar"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-intranet-name-text">{{ user.name }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-if="!isDesktop()">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a :href="logoutLink" class="bx-im-component-call-intranet-name-logout">{{ localize[\'BX_IM_COMPONENT_CALL_INTRANET_LOGOUT\'] }}</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-else-if="user.extranet">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-guest-name-container">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-guest-name-text">{{ user.name }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\x3c!-- New guest, need to specify name --\x3e\n\t\t\t\t\t\t\t\t\t\t\t\t<template v-else-if="user && !userHasRealName">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model="userNewName"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype="text"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:placeholder="localize[\'BX_IM_COMPONENT_CALL_NAME_PLACEHOLDER\']"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass="bx-im-component-call-name-input"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tref="nameInput"\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\x3c!-- Action buttons --\x3e\n\t\t\t\t\t\t\t\t\t\t\t\t\x3c!-- Intranet user can start conference --\x3e\n\t\t\t\t\t\t\t\t\t\t\t\t<template v-if="user">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-if="!user.extranet && !conferenceStarted">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button @click="startConference({video: true})" class="ui-btn ui-btn-sm ui-btn-primary bx-im-component-call-join-video">{{ localize[\'BX_IM_COMPONENT_CALL_START_WITH_VIDEO\'] }}</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button @click="startConference({video: false})" class="ui-btn ui-btn-sm bx-im-component-call-join-audio">{{ localize[\'BX_IM_COMPONENT_CALL_START_WITH_AUDIO\'] }}</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\x3c!-- Others can join --\x3e\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button @click="joinConference({video: true})" class="ui-btn ui-btn-sm ui-btn-primary bx-im-component-call-join-video">{{ localize[\'BX_IM_COMPONENT_CALL_JOIN_WITH_VIDEO\'] }}</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button @click="joinConference({video: false})" class="ui-btn ui-btn-sm bx-im-component-call-join-audio">{{ localize[\'BX_IM_COMPONENT_CALL_JOIN_WITH_AUDIO\'] }}</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\x3c!-- Waiting for start--\x3e\n\t\t\t\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-wait-container">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-wait-logo"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-wait-title">{{ localize[\'BX_IM_COMPONENT_CALL_WAIT_START_TITLE\'] }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-wait-user-counter">{{ localize[\'BX_IM_COMPONENT_CALL_WAIT_START_USER_COUNT\'] }} {{ userCounter }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-if="isMobile()">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-open-chat-button-container">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button @click="openChat" class="ui-btn ui-btn-sm ui-btn-icon-chat bx-im-component-call-open-chat-button">{{ localize[\'BX_IM_COMPONENT_CALL_OPEN_CHAT\'] }}</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-if="dialogCounter > 0">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-open-chat-button-counter">{{ dialogCounter }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<template v-if="userInited && !error">\n\t\t\t\t\t<transition :name="!isMobile()? \'videoconf-chat-slide\': \'\'">\n\t\t\t\t\t\t<div v-show="showChat" class="bx-im-component-call-right">\n\t\t\t\t\t\t\t<div class="bx-im-component-call-right-header">\n\t\t\t\t\t\t\t\t<div @click="onCloseChat" class="bx-im-component-call-right-header-close" :title="localize[\'BX_IM_COMPONENT_CALL_CHAT_CLOSE_TITLE\']"></div>\n\t\t\t\t\t\t\t\t<div class="bx-im-component-call-right-header-title">{{ localize[\'BX_IM_COMPONENT_CALL_CHAT_TITLE\'] }}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="bx-im-component-call-right-chat">\n\t\t\t\t\t\t\t\t<bx-im-component-dialog\n\t\t\t\t\t\t\t\t\t:userId="userId"\n\t\t\t\t\t\t\t\t\t:dialogId="dialogId"\n\t\t\t\t\t\t\t\t\t:listenEventScrollToBottom="EventType.dialog.scrollToBottom"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<keep-alive include="bx-im-component-call-smiles">\n\t\t\t\t\t\t\t\t\t<template v-if="callApplication.common.showSmiles">\n\t\t\t\t\t\t\t\t\t\t<bx-im-component-call-smiles @selectSmile="onSmilesSelectSmile" @selectSet="onSmilesSelectSet"/>\t\n\t\t\t\t\t\t\t\t\t</template>\t\n\t\t\t\t\t\t\t\t</keep-alive>\n\t\t\t\t\t\t\t\t<div v-if="user" class="bx-im-component-call-textarea">\n\t\t\t\t\t\t\t\t\t<bx-im-view-textarea\n\t\t\t\t\t\t\t\t\t\t:userId="userId"\n\t\t\t\t\t\t\t\t\t\t:dialogId="dialogId" \n\t\t\t\t\t\t\t\t\t\t:writesEventLetter="3"\n\t\t\t\t\t\t\t\t\t\t:enableFile="true"\n\t\t\t\t\t\t\t\t\t\t:enableEdit="true"\n\t\t\t\t\t\t\t\t\t\t:enableCommand="false"\n\t\t\t\t\t\t\t\t\t\t:enableMention="false"\n\t\t\t\t\t\t\t\t\t\t:autoFocus="true"\n\t\t\t\t\t\t\t\t\t\t:listenEventInsertText="EventType.textarea.insertText"\n\t\t\t\t\t\t\t\t\t\t:listenEventFocus="EventType.textarea.focus"\n\t\t\t\t\t\t\t\t\t\t:listenEventBlur="EventType.textarea.blur"\n\t\t\t\t\t\t\t\t\t\t@send="onTextareaSend"\n\t\t\t\t\t\t\t\t\t\t@fileSelected="onTextareaFileSelected"\n\t\t\t\t\t\t\t\t\t\t@writes="onTextareaWrites"\n\t\t\t\t\t\t\t\t\t\t@appButtonClick="onTextareaAppButtonClick"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</template>\n\t\t\t</div>\n\t\t</div>\n\t'})})(this.BX.Messenger=this.BX.Messenger||{},BX.UI.Dialogs,window,BX.Messenger,BX,window,BX,BX.Messenger.Lib,BX,BX,BX.Messenger.Const,BX.Messenger.Lib,BX.Messenger.Lib,BX); //# sourceMappingURL=call.bundle.map.js
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings