{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/vue/components.js","webpack:///./src/app.js","webpack:///./src/js/vuex/modules/regrasUsuario.js","webpack:///./src/js/vuex/modules/relatorios.js","webpack:///./src/js/config/router-permission.js","webpack:///./src/js/vuex/store.js","webpack:///./src/js/vuex/modules/revendedores.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/js/config/router-config.js","webpack:///./src/js/common/request.js","webpack:///./src/js/config/views-components.js","webpack:///./src/js/vuex/modules/dashboard/index.ts","webpack:///./src/components/App.vue?515d","webpack:///src/components/App.vue","webpack:///./src/components/App.vue?d716","webpack:///./src/components/App.vue","webpack:///./src/js/common/blob.js","webpack:///./src/js/config/heyui-config.js","webpack:///./src/js/vue/filters.js","webpack:///./src/js/vuex/modules/empresas.js","webpack:///./src/components/App.vue?fee7","webpack:///./src/locale/pt_BR.js","webpack:///./src/js/vuex/modules/dashboard/state.ts","webpack:///./src/js/vuex/modules/vendedores.js","webpack:///./src/js/vuex/modules/dashboard/getters.ts","webpack:///./src/components/common/sub-menu.vue?c28c","webpack:///src/components/common/sub-menu.vue","webpack:///./src/components/common/sub-menu.vue?6118","webpack:///./src/components/common/sub-menu.vue","webpack:///./src/js/common/utils.js","webpack:///./src/components/common/sub-menu.vue?676e","webpack:///./src/js/config/permissions-screens/dashboard.js","webpack:///./src/js/config/permissions-screens/arquivos.js","webpack:///./src/js/config/permissions-screens/vendas.js","webpack:///./src/js/config/permissions-screens/vendedores.js","webpack:///./src/js/config/permissions-screens/relatorios.js","webpack:///./src/js/config/permissions-screens/metas.js","webpack:///./src/js/config/permissions-screens/integracoes.js","webpack:///./src/js/config/permissions-screens/regras.js","webpack:///./src/js/config/permissions-screens/dashPersonalizada.js","webpack:///./src/js/config/permissions.js","webpack:///./src/js/global/globalMixin.js","webpack:///./src/js/vuex/modules/dashboard/actions.ts","webpack:///./src/js/vuex/modules/dashboard/types.ts","webpack:///./src/js/common/ajax.js","webpack:///./src/js/vuex/modules/dashboard/mutations.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","dsn","process","Sentry","integrations","Integrations","Vue","attachProps","ignoreErrors","component","VueRecaptcha","SubMenu","require","use","VueTheMask","Zendesk","disabled","hideOnLoad","settings","webWidget","helpCenter","suppress","chat","contactForm","color","theme","launcher","launcherText","button","resultLists","header","articleLinks","bypassAccessibilityRequirement","authenticate","jwtFn","callback","R","Chat","zendeskToken","heyuiConfig","router","routerConfig","Hotjar","id","isProduction","snippetVersion","VueGtag","appName","pageTrackerScreenviewEnabled","pageTrackerTemplate","to","user","JSON","parse","localStorage","getItem","page_path","path","page_location","location","userInfos","permissao","isAdmin","find","accessToken","Utils","parseJwt","marcas","marcasString","reduce","acc","description","qtdEMpresas","qtd","split","dimensoes","nome","email","cliente","isRootPath","config","params","custom_map","dimension1","dimension2","dimension3","dimension4","dimension5","dimension6","dimension7","dimension8","dimension9","dimension10","useGlobalMixin","VueI18n","VShowSlide","tourShepherd","VCalendar","componentPrefix","locales","firstDayOfWeek","masks","L","screens","messages","en","assign","pt_BR","ptbr","i18n","locale","fallbackLocale","eventBus","HeyUI","moment","bus","store","render","h","App","$mount","initialState","step","isOpenModal","funcionalidades","funcionalidadesSelecionadas","isVincular","isEditar","isLoading","vincular","usuarios","usuariosSelecionados","dadosPrincipais","empresas","indicadores","optionsEmpresas","optionsIndicadores","isPermanentRule","mutations","nextStep","state","backStep","updateIsVincular","payload","updateIsEditar","updateId","updateStep","openModal","closeModal","updateUsuarios","updateUsuariosSelecionados","resetState","model","stringify","updateLoading","updateNome","updateEmpresas","updateIndicadores","updateOptionsEmpresas","updateOptionsIndicadores","updateFuncionalidades","updateFuncionalidadeSelecionada","map","tela","updateFuncionalidadesSelecionadas","updateIsAdmin","updateIsPermanentRule","actions","updateModal","context","commit","updateOptions","Enum","getEnum","Empresa","todas","updateOptionsFuncionalidades","getters","isFirstTab","isLastTab","isFirstTabInvalid","isEmptyString","isVincularMode","usuariosOptions","usuario","title","regraUsuario","buildVMO","byScreen","values","telas","toLowerCase","funcionalidade","defaultValue","arrayToObject","funcionalidadesMarcadas","funcionalidadesDisponiveis","filter","entries","item","vendedoresIds","empresasIds","tipoDocumento","periodoAvaliacao","periodoComparacao","comparar","relatorioPor","showErrors","loadingExportar","limparRelatorios","updateShowErrors","updateVendedores","updatePeriodoAvaliacao","updatePeriodoComparacao","updateRelatorioPor","updateTipoDocumento","updateComparacao","updateLoadingExportar","getFiltrosRelatoriosParaRequisicao","filtros","filtrosSelecionados","isNullOrEmpty","filtro","Array","isArray","join","periodoAvaliacaoVazio","start","end","periodoComparacaoVazio","hasError","optGetVendedores","opt","tipo","date","isCompare","modeloNivel","selectLojas","vendas","arquivos","status","upload","relatorios","vendedores","metas","configurar","exportar","importar","integracoes","marketplace","configuradas","consultas","regras","Vuex","format","local","getLocal","Store","namespaced","regrasUsuario","dashboard","Dashboard","revendedores","User","msgCount","metaId","loadingMetasModal","metasVendedoresFilter","vendedoresMetas","calendarModel","siderCollapsed","dateOptions","shortcuts","subtract","incluirHoje","startOf","endOf","shortcutsFiltroLocal","switchPeriodo","5","4","3","2","1","0","intervalo","updatevendedoresMetas","updateCalendarModel","clearVendedoresMetas","updateMetasVendedoresFilter","updateAccount","updateSiderCollapse","isShow","G","trigger","updateMsgCount","updateLoadingMetasModal","updateMetaId","updateIntervalo","account","exibirLoadingMetasVendedor","metasVendedorFilter","mesAtual","dias","dates","getPermission","storage","some","includes","modalNovoGrupo","infosEditar","agrupamentos","pagination","openModalGrupo","createGrupo","novaListaAgrupamentos","updateGrupo","g","deleteGrupo","arrayAtualizado","setGrupos","grupos","_id","clusterName","clusterMembers","setRevendedores","setEditar","setEditInfos","setEditClusterMembers","ids","revendedor","idVendedor","isSelect","setPagination","getGrupos","Cluster","listarTodos","excluirUmGrupo","excluirUm","getRevendedores","Vendedores","isReseller","totalVendedores","page","size","Math","ceil","total","log","createEstrutura","criarUmCluster","response","getEstruturaEdit","listarUm","estrutura","cleanValuesEdit","webpackContext","req","webpackContextResolve","keys","VueRouter","initRouter","routersDev","routerParam","routes","redirect","meta","requiresAuth","children","icon","viewsComponents","rotaLogado","rotaNaoAutenticada","base","obj","atob","userProperties","exp","Date","removeItem","beforeEach","from","next","$LoadingBar","addTitulos","matched","record","urlHub","origin","rotas","afterEach","success","documentElement","scrollTop","body","layoutContent","querySelector","Request","Arquivo","search","Ajax","downloadSelecionados","postJson","getSelect","getAll","Manba","lista","info","checkPassword","pass","post","password","Dict","Home","getMessageList","SingleSignOn","login","param","Login","logout","Usuario","getTour","saveTour","preferencia","userId","jsonPatch","patchJson","Integracao","chamarServico","listarControleExecucao","fxDataExisteAlgumaConfiguracao","saveFxData","dados","validarFxData","getOrInsertFinancas360","savePDVFinancas360","chamarServicoPDVFinancas360","delete","Notificacao","naoLidas","getAllMensagens","arquivar","marcarComoLida","marcarComoNaoLida","getMensagem","alterar","DashBoard","getCustom","vendasErro","vendasBlob","getBlob","this","cards","action","existeVendas","painelVendas","DashBoardEditor","criarUmaNova","listarTodas","listarWidGets","listarInformacoes","removerUm","AlterarFiltrosCard","AlterarFiltrosChartLike","removeFiltro","Metas","salvar","exportarModelo","parms","estagioConfiguracao","ano","getByEmpresaAnoMes","empresa","mes","getVendedores","salvarVendedoresMetas","getDiasMetaVendedor","deletarPeriodoMetasVendedor","periodo","salvarNiveisMetaGeral","NomeNivelMeta","PercentualDeCrescimento","PercentualBoleto1","deletarModelos","idNivelMeta","removerMetasJaCadastradas","listarModelos","atualizarModeloDeNivel","nomeNivelMeta","percentualDeCrescimento","percentualBoleto1","rest","listarNiveisMeta","removerMeta","MetasConfiguracao","diaSemanaLojaFechada","diaSemanaLojaAberta","obterHistorico","Vendas","deletarVendas","idsVendas","atualizarVendedores","multiKPI","multiKpiJson","Regras","listar","deletar","listarUsuarios","listarAutorizacoes","Relatorios","filters","currentPage","deletarVendedores","editarVendedor","vendedor","mesclarExcluir","cluster","editarUmGrupo","Campanhas","clickLandingPageFX","url","Public","DownloadVendasStorage","DownloadListaArquivosStorage","DownloadArquivosVendaStorage","DownloadRelatorio","Configs","atualizar","_vm","_h","$createElement","_c","_self","attrs","staticRenderFns","mounted","methods","BlobRequest","getFilename","resp","filename","contentDisposition","_response","headers","regex","match","exec","forceDownload","fileName","ok","URL","createObjectURL","link","click","remove","keyName","titleName","childrenName","startWeek","hours","manba","distance","HOUR","mins","MINUTE","days","DAY","getOperation","isResale","isRetail","refEmpresa","modalEmpresa","modalEmpresaVd","source","valuesToEdit","valuesToEditEstrutura","setEmpresas","handleFilterByOperation","operacao","handleOpenModalEmpresas","handleOpenModalVd","setValuesToEdit","setSource","setReferenceEmpresa","getEmpresas","nomeFantasia","novaEstrutura","lang","common","cancel","confirm","clear","nullOptionText","empty","any","checkbox","limitSize","select","placeholder","emptyContent","searchPlaceHolder","category","cascader","categoryModal","limitWords","categoryPicker","autoComplate","validation","required","maxLen","minLen","max","min","int","number","tel","mobile","globalmobile","today","yesterday","year","month","week","quarter","day","show","weekInput","months","january","february","march","april","may","june","july","august","september","october","november","december","weeks","monday","tuesday","wednesday","thursday","friday","saturday","sunday","datepicker","startTime","endTime","customize","wordlimit","warn","wordcount","treepicker","selectDesc","searchText","taginput","table","uploader","reUpload","incorrectFormat","overSize","totalBefore","totalAfter","sizeOfPage","createCard","label","reference","isMax","x","y","agruparPor","maxH","maxW","minH","minW","moved","static","Widgets","card","w","createChart","chart","createTable","dashboardList","currentDash","currentDashboardName","isEditorMode","shotcutDate","paramsEnvio","gridLayoutEditor","empresasOptions","tipoDeDocumento","filtrosLocaisPreenchidos","patchGrupos","currentCluester","patchOp","compare","DashboardGetters","FIND_ITEM_GRID_LAYOUT","itemLayout","FIND_DASHBOARD","dash","FIND_LAYOUT_BY_CURRENT_DASH","layout","FIND_LOCAL_FILTER","IS_CURRENT_DEFAULT_DASHBOARD","isDefault","FIND_DEFAULT_DASHBOARD","isSelectedToViewByDefault","isDefaultDashboard","FIND_DASHBOARD_BY_ID","staticClass","ref","datas","on","props","menuSelect","watch","$route","$refs","menu","$router","computed","rclass","utils","extend","toSelectEmpresa","idx","arredondarComCasasDecimais","round","debounce","func","wait","timer","toSelect","getClass","elem","hasClass","selector","className","nodeType","replace","indexOf","flat","getPermissionNames","handleErrorRequest","splitDate","dateArray","array","convertDateToISOString","val","RegExp","test","toString","toInt","num","showNull","Number","toLocaleString","minimumFractionDigits","toMoney","digits","Humanize","compactInteger","toMoney2","style","currency","toPercent","maximumFractionDigits","removeElementFromArray","objectId","findIndex","formatDateTime","dateTime","utc","formatDateTimeWithUtc","toCSharpDate","toSimOuNao","getIdsTable","getSelection","createNotification","options","Notification","permission","requestPermission","removeElementsBySpecifiedValue","v","toISOString","symmetricDifference","a","b","sA","Set","sB","has","flatAll","Infinity","args","getFirstDayInMonth","toDate","getLastDayInMonth","getUniqueDayInMonth","yearParams","monthParams","getMonth","getDay","setDate","getDate","getAllDaysInMonth","notify","onClick","notification","onclick","formError","form","errors","forEach","field","valid","prop","DatesIsEquals","date1","date2","deepClone","clone","maxWithCallback","sort","compararDataAnterior","dataBase","totalAnos","fevereiro","dataFormatada","dataCalculada","getFullYear","isLeapYear","diferencaDias","fatorDiaSemana","abs","getTime","contarQuantidadeDeDias","startMoment","endMomment","diff","contarDiasComAnoBissexto","getReference","ctx","countRecursive","verifyReference","paginacaoListas","atual","limit","items","pageActual","limitItems","totalPage","count","delimiter","getLocalJson","getV360User","changeSleep","time","isEmptyWord","word","trackingF360","vue","eventName","eventCategory","$gtag","getMarcas","getQtdEmpresas","metaData","sendGtag","token","base64Url","base64","jsonPayload","decodeURIComponent","charCodeAt","cardReceita","cardCupons","cardValorMedioProduto","cardValorMedioCupom","cardMediaItensCupom","cardBoleto1","cardTotalItens","chartEvolucaoDiariaReceita","chartEvolucaoDiariaCupon","chartReceitaPorLoja","chartQuantidadeCuponsPorLoja","chartMediaItensCupom","chartValorMediaCupom","chartPercentualCupon","chartConversaoVendas","chartValorMedioProduto","compararPeriodosDash","chartEvolucaoDiariaValorMedioCupom","chartEvolucaoDiariaMediaItensCupom","chartEvolucaoDiariaValorMedioProduto","chartEvolDiariaItensVendidos","chartQtdItensVendidosPorLoja","downloadArquivo","uploadArquivo","exportarArquivos","listarArquivos","editarVenda","listarVendas","exportarVendas","excluirVenda","listarVendedores","relatorioPorEmpresas","relatorioPorVendedores","relatoriosTipos","visualizarMetas","configurarNovaMeta","excluirMeta","configurarModeloNivel","aplicarModeloNivel","excluirModeloNivel","listarModelosNivel","exportarModeloMeta","importarModeloMeta","estagio","editarIntegracao","removerIntegracao","listarIntegracoes","adicionarRegra","removerRegra","editarRegra","aplicarRegra","listarRegras","CriarDashboardPersonalizada","RemoverDashboardPersonalizada","ModificarDashboardPersonalizada","AlternarEntreDashboardPersonalizadas","ModificarFiltroLocalWidgetsDashboard","PermissoesDashboard","dashboardPersonalizada","PermissoesDashPersonlizada","PermissoesArquivos","PermissoesVendas","PermissoesVendedores","PermissoesRelatorios","PermissoesMetas","PermissoesIntegracoes","PermissoesRegras","mixin","is_mobile","checkIfIsMobile","toggle_off_nivel_meta","navigator","userAgent","DashboardActions","ATUALIZAR_NOME_ITEM_DASHBOARD","updatedName","newState","DashboardMutations","ATUALIZAR_GRID_LAYOUT_EDITOR","SALVAR_DASHBOARD","newDashboard","list","ATUALIZAR_LISTA_DASHBOARD","ATUALIZAR_NOME_DASHBOARD_ATUAL","CLOSE_EDITOR_MODE","ATUALIZAR_DASHBOARD_SELECIONADA","LIMPAR_LISTA_MODIFICACOES","ATUALIZAR_IS_EDITAR","SALVAR_DASHBOARD_EDITMODE","newDashboardList","REMOVER_DASHBOARD","dashboardDelete","newList","ADICIONAR_FILTRO_LOCAL","ATUALIZAR_LISTA_FILTROS_LOCAIS_PREENCHIDOS","REMOVER_FILTRO_LOCAL","ATUALIZAR_DASHBOARD_PADRAO","listDashboard","DefaultParam","repeatable","ajax","PREFIX","Author","getAuthor","requestingApi","extractUrl","isRequesting","api","addRequest","add","deleteRequest","extendParam","customErrors","method","responseType","qs","paramJson","dataType","crossDomain","msg","v360User","Authorization","defaultParam","validateStatus","paramsSerializer","allowDots","encode","that","axiosGlobalInstance","axios","baseURL","$Message","catch","_error","OPEN_EDITOR_MODE","ATUALIZAR_LISTA_EMPRESAS_OPTIONS","ATUALIZAR_LISTA_MODIFICACOES_DASHBOARD","modificationDashboard","ATUALIZAR_LISTA_MODIFICACOES_DASHBOARD_ITENS","modificationItens","LISTA_INICIAL","displayInfos","dashboards","loadLayout","dashboardName","dashboardId","rolesAuthorizedToView","rolesAuthorizedToEdit","userRoleId","isLoggedUserAuthor","initialDashboardList","ATUALIZAR_LAYOUT","newLayouts","ATUALIZAR_LISTA_APOS_EXCLUIR","ATUALIZAR_TIPO_DE_DOCUMENTO","documentos","SALVAR_SHORTCUTDATAS"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,MAAS,GAMNjB,EAAkB,CACrB,MAAS,GAGNK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAI51C,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GACrqBR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,GAAGxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OACp0CyC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,8EC1QT,kIAeM+F,EAAMC,6DAERD,IACFE,OAAY,CACVF,IAAKC,6DACLE,aAAc,CAAE,IAAIC,OAAiB,CAAEC,iBAAKC,aAAa,KACzDC,aAAc,CAAC,wCAGjBL,OAAc,WAAYD,eAG5BI,aAAIG,UAAU,eAAgBC,QAC9BJ,aAAIG,UAAU,UAAWE,QACzBL,aAAIG,UAAU,SAAS,SAACnF,GAAD,OAAasF,sCAAQ,OAAC,WAAF,4CAC3CN,aAAIG,UAAU,cAAc,SAACnF,GAAD,OAAasF,sCAAQ,OAAC,WAAF,4CAChDN,aAAIG,UAAU,eAAe,SAACnF,GAAD,OAAasF,sCAAQ,OAAC,WAAF,4CAEjDN,aAAIO,IAAIC,KACRR,aAAIO,IAAIE,IAAS,CACfzB,IAAKY,uCACLc,UAAUd,EACVe,YAAY,EACZC,SAAU,CACRC,UAAW,CACTC,WAAY,CACVC,UAAU,GAEZC,KAAM,CACJD,UAAU,GAEZE,YAAa,CACXF,UAAU,GAEZG,MAAO,CACLC,MAAO,UACPC,SAAU,UACVC,aAAc,UACdC,OAAQ,UACRC,YAAa,UACbC,OAAQ,UACRC,aAAc,UACdC,gCAAgC,GAElCC,aAAc,CACZX,KAAM,CACJY,MAAO,SAAUC,GACfC,EAAEC,KAAKC,eAAepF,MAAK,SAAC/C,GACtBA,EAAOrB,MACTqJ,EAAShI,EAAOrB,kB,ylCCjC9B,gDAGF8H,EAAQ,QACR2B,iBACA,IAAMC,EAASC,iBAEfnC,aAAIO,IAAI6B,IAAQ,CACdC,GAAIzC,UACJ0C,cAAc1C,EACd2C,eAAgB,IAGlBvC,aAAIO,IAAIiC,OAAS,CACfC,QAAS,4BACTC,8BAA8B,EAC9BC,oBAHe,SAGKC,GAClB,IAAIC,EAAOC,KAAKC,MAAMC,aAAaC,QAAQ,eAAiB,GAC5D,IAAKJ,EACH,MAAO,CACLK,UAAWN,EAAGO,KACdC,cAAe5D,OAAO6D,SAASnI,MAInC,IAKIoI,EALAC,EAAYT,KAAKC,MAAMC,aAAaC,QAAQ,oBAAsB,KAChEO,IAAUD,GACZA,EAAUE,MAAK,SAAAjJ,GAAC,MAAU,iBAANA,KAIpBqI,EAAKa,cACPJ,EAAYK,EAAMC,SAASf,EAAKa,cAElC,IAAMG,EAAU,WACd,GAAIhB,EAAKgB,QAAUhB,EAAKgB,OAAO7K,OAAQ,CACrC,IAAM8K,EAAejB,EAAKgB,OAAOE,QAAO,SAACC,EAAKjG,EAAGjF,GAE/C,OADAkL,EAAM,GAAH,OAAMA,GAAN,OAAYlL,EAAI,IAAM,IAAtB,OAA2BiF,EAAEkG,aACzBD,IACN,IACH,OAAOF,EAET,MAAO,GARO,GAUVI,EAAe,WACnB,IAAKZ,EAAW,OAAO,EACvB,IAAMa,EAAMb,EAAU,gBACtB,OAAIa,GAAOA,EAAInL,OACNmL,EAAIC,MAAM,KAAKpL,OAEjB,EANY,GASfqL,EAAY,CAChB,aAAgBxB,EAAKyB,MAAQ,GAC7B,cAAiBzB,EAAK0B,OAAS,GAC/B,WAAcjB,EAAU,YAAc,GACtC,WAAcT,EAAK2B,SAAW,GAC9B,aAAgB,GAChB,SAAYlB,EAAU,iBAAmB,GACzC,kBAAqBE,EAAU,gBAAkB,gBACjD,aAAgBK,EAChB,mBAAsBK,EACtB,cAAiBV,GAGb7F,EAAeiF,EAAfjF,KAAMwF,EAASP,EAATO,KACNsB,EAAsB,MAATtB,GAAgBxF,EACnC,UACEuF,UAAWuB,EAAa,GAAH,OAAMtB,EAAOxF,GAASiF,EAAGO,KAC9CC,cAAe5D,OAAO6D,SAASnI,MAC5BmJ,IAGPK,OAAQ,CACNrC,GAEI,iBACJsC,OAAQ,CACNC,WAAY,CACVC,WAAY,eACZC,WAAY,gBACZC,WAAY,aACZC,WAAY,aACZC,WAAY,eACZC,WAAY,WACZC,WAAY,oBACZC,WAAY,eACZC,WAAY,qBACZC,YAAa,kBAIlBpD,GAEHqD,eAAevF,cAEfA,aAAIO,IAAIiF,QACRxF,aAAIO,IAAIkF,QACRzF,aAAIO,IAAImF,QACR1F,aAAIO,IAAIoF,IAAW,CACjBC,gBAAiB,KACjBC,QAAS,CACP,QAAS,CACPC,eAAgB,EAChBC,MAAO,CACLC,EAAG,eAGPC,QAAS,CACP,GAAM,QACN,GAAM,QACN,GAAM,SACN,GAAM,aAKZ,IAAMC,EAAW,CACfC,GAAIlN,OAAOmN,OAAO,CAAE1I,QAAS,SAAWyI,KACxCE,MAAOpN,OAAOmN,OAAO,CAAE1I,QAAS,OAAS4I,SAGrCC,EAAO,IAAIf,OAAQ,CACvBgB,OAAQ,QACRC,eAAgB,KAChBP,aAGWQ,EAAW,IAAI1G,aAG5BA,aAAIO,IAAIoG,EAAO,CAAEJ,SAGjBA,EAAKC,OAAS,QAEdI,EAAOJ,OAAO,SAEP,IAAMK,EAAM,IAAI7G,aAER,iBAAIA,aAAI,CACrBkC,SACA4E,aACAC,OAAQ,SAAAC,GAAC,OAAIA,EAAEC,WACdC,OAAO,S,6jEChLH,IAAMC,EAAe,CAC1BC,KAAM,EACNC,aAAa,EACbC,gBAAiB,GACjBC,4BAA6B,GAC7BC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,SAAU,CACRC,SAAU,GACVC,qBAAsB,IAExBC,gBAAiB,CACfzF,GAAI,KACJiC,KAAM,GACNyD,SAAU,GACVC,YAAa,GACbC,gBAAiB,GACjBC,mBAAoB,IAEtB1E,SAAS,EACT2E,iBAAiB,GAGNC,EAAY,CACvBC,SADuB,SACdC,GACPA,EAAMlB,QAERmB,SAJuB,SAIdD,GACPA,EAAMlB,QAERoB,iBAPuB,SAONF,EAAOG,GACtBH,EAAMd,WAAaiB,GAErBC,eAVuB,SAURJ,EAAOG,GACpBH,EAAMb,SAAWgB,GAEnBE,SAbuB,SAadL,EAAOG,GACdH,EAAMR,gBAAgBzF,GAAKoG,GAE7BG,WAhBuB,SAgBZN,EAAOG,GAChBH,EAAMlB,KAAOqB,GAEfI,UAnBuB,SAmBbP,GACRA,EAAMjB,aAAc,GAEtByB,WAtBuB,SAsBZR,GACTA,EAAMjB,aAAc,GAEtB0B,eAzBuB,SAyBRT,EAAOG,GACpBH,EAAMX,SAASC,SAAWa,GAE5BO,2BA5BuB,SA4BIV,EAAOG,GAChCH,EAAMX,SAASE,qBAAuBY,GAExCQ,WA/BuB,SA+BZX,GACT,IAAMY,EAAQpG,KAAKC,MAAMD,KAAKqG,UAAUhC,IACxCmB,EAAMR,gBAAkBoB,EAAMpB,gBAC9BQ,EAAMf,4BAA8B2B,EAAM3B,4BAC1Ce,EAAMd,WAAa0B,EAAM1B,WACzBc,EAAMb,SAAWyB,EAAMzB,SACvBa,EAAMX,SAAWuB,EAAMvB,SACvBW,EAAM9E,QAAU0F,EAAM1F,SAExB4F,cAxCuB,SAwCTd,EAAOG,GACnBH,EAAMZ,UAAYe,GAEpBY,WA3CuB,SA2CZf,EAAOG,GAChBH,EAAMR,gBAAgBxD,KAAOmE,GAE/Ba,eA9CuB,SA8CRhB,EAAOG,GACpBH,EAAMR,gBAAgBC,SAAWU,GAEnCc,kBAjDuB,SAiDLjB,EAAOG,GACvBH,EAAMR,gBAAgBE,YAAcS,GAEtCe,sBApDuB,SAoDDlB,EAAOG,GAC3BH,EAAMR,gBAAgBG,gBAAkBQ,GAE1CgB,yBAvDuB,SAuDEnB,EAAOG,GAC9BH,EAAMR,gBAAgBI,mBAAqBO,GAE7CiB,sBA1DuB,SA0DDpB,EAAOG,GAC3BH,EAAMhB,gBAAkBmB,GAE1BkB,gCA7DuB,SA6DSrB,EAAOG,GACrCH,EAAMf,4BAA8Be,EAAMf,4BAA4BqC,KAAI,SAAAC,GAKxE,OAJIA,EAAKA,OAASpB,EAAQoB,OACxBA,EAAKvC,gBAAkBmB,EAAQnB,iBAGjC,KAAYuC,OAGhBC,kCAtEuB,SAsEWxB,EAAOG,GACvCH,EAAMf,4BAA8BkB,GAEtCsB,cAzEuB,SAyETzB,EAAOG,GACnBH,EAAM9E,QAAUiF,GAElBuB,sBA5EuB,SA4ED1B,EAAOG,GAC3BH,EAAMH,gBAAkBM,IAIfwB,EAAU,CACrBC,YADqB,SACTC,EAAS1B,GACnB0B,EAAQC,OAAO,aAAc,GAC7BD,EAAQC,OAAO,cACV3B,EAGH0B,EAAQC,OAAO,aAFfD,EAAQC,OAAO,eAKbC,cAVe,wCAUDF,GAVC,uGAYqBpP,QAAQ+C,IAAI,CAACgE,EAAEwI,KAAKC,QAAQ,eAAgBzI,EAAE0I,QAAQC,UAZ3E,yBAYVzC,EAZU,KAYGD,EAZH,KAcjBoC,EAAQC,OAAO,wBAAyBrC,EAASvP,MACjD2R,EAAQC,OAAO,2BAA4BpC,EAAYxP,MAftC,qDAiBjB8G,QAAQjC,MAAR,MAjBiB,mHAoBfqN,6BApBe,wCAoBcP,GApBd,mGAsBMrI,EAAEwI,KAAKC,QAAQ,8BAtBrB,gBAsBT/R,EAtBS,EAsBTA,KAER2R,EAAQC,OAAO,wBAAyB5R,GAxBvB,mDA0BjB8G,QAAQjC,MAAR,MA1BiB,mHA+BVsN,EAAU,CACrBC,WAAY,SAAAtC,GACV,OAAsB,IAAfA,EAAMlB,MAEfyD,UAAW,SAAAvC,GACT,OAAsB,IAAfA,EAAMlB,MAEf0D,kBAAmB,SAAAxC,GACjB,OAAO3E,EAAMoH,cAAczC,EAAMR,gBAAgBxD,OAEnD0G,eAAgB,SAAA1C,GACd,OAAOA,EAAMd,YAEfyD,gBAAiB,SAAA3C,GACf,OAAOA,EAAMX,SAASC,SAASgC,KAAI,SAAAsB,GAAO,MAAK,CAC7ClM,IAAKkM,EAAQ7I,GACb8I,MAAOD,EAAQ5G,KACf8G,aAAcF,EAAQE,kBAG1BC,SAAU,SAAA/C,GAAK,OAAI,SAAAgD,GACjB,IAAMzB,EAAO5Q,OAAOsS,OAAOjD,EAAMhB,iBAAiB7D,MAAK,SAAA+H,GAAK,OAAIA,EAAM3B,KAAK4B,gBAAkBH,EAASG,iBAEtG,IAAK5B,EAAM,MAAO,GAElB,IAAMX,EAAQW,EAAKvC,gBAAgBsC,KAAI,SAAA8B,GACrC,IAAIC,EAQJ,OAHEA,KAHgB,sBAAd9B,EAAKA,MAAkCvB,EAAMd,YAAec,EAAMb,WAGrD,GAGjB,KACGiE,EAAiBC,MAItB,OAAOhI,EAAMiI,cAAc1C,KAE7B2C,wBAAyB,SAAAvD,GAEvB,IAAIwD,EAA6BxD,EAAMf,4BAMvC,OAJKe,EAAM9E,SAAa8E,EAAMd,YAAec,EAAMb,WACjDqE,EAA6BxD,EAAMf,4BAA4BwE,QAAO,SAAAL,GAAc,MAA4B,sBAAxBA,EAAe7B,OAAkCvB,EAAMd,aAAgBc,EAAM9E,YAGhKsI,EAA2BlC,KAAI,SAAA8B,GAAc,MACjD,CACC7B,KAAM6B,EAAe7B,KACrBvC,gBAAiBrO,OAAO+S,QAAQN,EAAepE,iBAAiBsC,KAAI,SAAAqC,GAAI,MAAiB,KAAZA,EAAK,KAAyB,IAAZA,EAAK,GAAeA,EAAK,GAAK,QAAMF,QAAO,SAAAE,GAAI,QAAMA,WAK7I,QACb3D,MAAO,WACL,IAAMY,EAAQpG,KAAKC,MAAMD,KAAKqG,UAAUhC,IACxC,OAAO+B,GAETd,UAAW,EAAF,GACJA,GAEL6B,QAAS,EAAF,GACFA,GAELU,QAAS,EAAF,GACFA,M,8nEC7MA,IAAMxD,EAAe,CAC1B+E,cAAe,GACfC,YAAa,GACbnE,YAAa,GACboE,cAAe,GACfC,iBAAkB,GAClBC,kBAAmB,GACnBC,UAAU,EACVC,aAAc,GACdC,YAAY,EACZC,iBAAiB,GAGNtE,EAAY,CACvBuE,iBADuB,SACNrE,GACfA,EAAM+D,iBAAmB,GACzB/D,EAAMgE,kBAAoB,GAC1BhE,EAAM4D,cAAgB,GACtB5D,EAAMN,YAAc,GACpBM,EAAM6D,YAAc,GACpB7D,EAAM8D,cAAgB,GACtB9D,EAAMmE,YAAa,EACnBnE,EAAMiE,UAAW,GAEnBK,iBAXuB,SAWNtE,EAAOG,GACtBH,EAAMmE,WAAahE,GAErBoE,iBAduB,SAcNvE,EAAOG,GACtBH,EAAM4D,cAAgBzD,GAExBqE,uBAjBuB,SAiBAxE,EAAOG,GAC5BH,EAAM+D,iBAAmB5D,GAE3BsE,wBApBuB,SAoBCzE,EAAOG,GAC7BH,EAAMgE,kBAAoB7D,GAE5Ba,eAvBuB,SAuBRhB,EAAOG,GACpBH,EAAM6D,YAAc1D,GAEtBc,kBA1BuB,SA0BLjB,EAAOG,GACvBH,EAAMN,YAAcS,GAEtBuE,mBA7BuB,SA6BJ1E,EAAOG,GACxBH,EAAMkE,aAAe/D,GAEvBwE,oBAhCuB,SAgCH3E,EAAOG,GACzBH,EAAM8D,cAAgB3D,GAExByE,iBAnCuB,SAmCN5E,EAAOG,GACtBH,EAAMiE,SAAW9D,GAEnB0E,sBAtCuB,SAsCD7E,EAAOG,GAC3BH,EAAMoE,gBAAkBjE,IAIfkC,EAAU,CACrByC,mCAAoC,SAAA9E,GACWA,EAArCmE,WAAqCnE,EAAzBiE,SAApB,IAAiCc,EAAjC,EAA6C/E,EAA7C,GAEMgF,EAAsBrU,OAAO+S,QAAQqB,GAAStB,QAAO,SAAAE,GAAI,OAAKtI,EAAM4J,cAActB,EAAK,OAEvFuB,EAASvU,OAAOsS,OAAO+B,GAAqB1D,KAAI,SAAA4D,GACpD,QAAqBA,EAArB,GAAOxO,EAAP,KAAYN,EAAZ,KACA,YACGM,EAAMyO,MAAMC,QAAQhP,GAASA,EAAMiP,KAAK,KAAOjP,MAIpD,OAAOiF,EAAMiI,cAAc4B,IAE7BI,sBAAuB,SAAAtF,GACrB,OAAO3E,EAAM4J,cAAcjF,EAAM+D,mBAAuD,MAAjC/D,EAAM+D,iBAAiBwB,QAAiBvF,EAAM+D,iBAAiByB,KAExHC,uBAAwB,SAAAzF,GACtB,QAAKA,EAAMiE,WACJ5I,EAAM4J,cAAcjF,EAAMgE,oBAAyD,MAAlChE,EAAMgE,kBAAkBuB,QAAiBvF,EAAMgE,kBAAkBwB,MAE3HE,SAAU,SAAC1F,EAAOqC,GAChB,OAAOA,EAAQiD,uBAGjBK,iBAAkB,SAAC3F,GACjB,IAAM4F,EAAM,CACVC,KAAM,eACNC,KAAM9F,EAAM+D,iBACZgC,WAAW,EACXC,YAAa,GACbC,YAAajG,EAAM6D,YACnBC,cAAe,CAAC,IAAK,MAGvB,OAAO8B,IAGI,QACb5F,MAAOnB,EACPiB,UAAW,EAAF,GACJA,GAELuC,QAAS,EAAF,GACFA,M,qECrGP,gBAEe,QACb6D,OAAQA,OAAOA,OACf,kBAAmBC,OAASA,SAASC,OACrC,kBAAmBD,OAASA,SAASE,OACrCC,WAAYA,OAAWA,WACvBC,WAAYA,OAAWA,WACvB,mBAAoBC,OAAMA,MAAMC,WAChC,uBAAwBD,OAAMA,MAAME,SACpC,wBAAyBF,OAAMA,MAAMG,SACrC,6BAA8BH,OAAMA,MAAMC,WAC1C,0BAA2BG,OAAYA,YAAYC,YACnD,2BAA4BD,OAAYA,YAAYE,aACpD,uBAAwBF,OAAYA,YAAYG,UAChDC,OAAQA,OAAOA,S,m2BCLjBtP,aAAIO,IAAIgP,cACR,IAAMC,EAAS,WACb,IAAIC,EAAQ9L,EAAM+L,SAAS,uBAC3B,MAAgB,SAATD,EAAmB,UAAY,cAGzB,WAAIF,aAAKI,MAAM,CAC5BpW,QAAS,CACPqV,WAAY,EAAF,CACRgB,YAAY,GACThB,QAELiB,cAAe,EAAF,CACXD,YAAY,GACTC,QAELC,UAAW,EAAF,CACPF,YAAY,GACTG,gBAELlB,WAAY,EAAF,CACRe,YAAY,GACTf,QAEL9G,SAAU,EAAF,CACN6H,YAAY,GACT7H,QAELiI,aAAc,EAAF,CACVJ,YAAY,GACTI,SAGP1H,MAAO,CACL2H,KAAM,GACNC,SAAU,CACRhK,SAAU,GAEZiK,OAAQ,GACRC,mBAAmB,EACnBC,sBAAuB,GACvBC,gBAAiB,GACjBC,cAAe,GACfC,gBAAgB,EAChBC,YAAa,CACXC,UAAW,CACT,CACEvF,MAAO,OACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS4I,OAAOA,KACvB1B,IAAKlH,MAAS4I,OAAOA,QAI3B,CACErE,MAAO,QACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS+J,SAAS,EAAG,QAAQnB,OAAOA,KAC3C1B,IAAKlH,MAAS+J,SAAS,EAAG,QAAQnB,OAAOA,QAI/C,CACErE,MAAO,iBACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,KAC7D1B,IAAKlH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,QAIjE,CACErE,MAAO,YACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MAASiK,QAAQ,SAASrB,OAAOA,KACxC1B,IAAKlH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,QAIjE,CACErE,MAAO,cACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS+J,SAAS,EAAG,SAASE,QAAQ,SAASrB,OAAOA,KAC7D1B,IAAKlH,MAAS+J,SAAS,EAAG,SAASG,MAAM,SAAStB,OAAOA,QAI/D,CACErE,MAAO,gBACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAASiK,QAAQ,QAAQrB,OAAOA,KACvC1B,IAAKlH,MAAS4I,OAAOA,SAK7BuB,qBAAsB,CACpB,CACE5F,MAAO,QACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS+J,SAAS,EAAG,QAAQnB,OAAOA,KAC3C1B,IAAKlH,MAAS+J,SAAS,EAAG,QAAQnB,OAAOA,QAI/C,CACErE,MAAO,iBACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,KAC7D1B,IAAKlH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,QAIjE,CACErE,MAAO,YACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MAASiK,QAAQ,SAASrB,OAAOA,KACxC1B,IAAKlH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,QAIjE,CACErE,MAAO,cACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS+J,SAAS,EAAG,SAASE,QAAQ,SAASrB,OAAOA,KAC7D1B,IAAKlH,MAAS+J,SAAS,EAAG,SAASG,MAAM,SAAStB,OAAOA,QAI/D,CACErE,MAAO,gBACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAASiK,QAAQ,QAAQrB,OAAOA,KACvC1B,IAAKlH,MAAS4I,OAAOA,QAI3B,CACErE,MAAO,OACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS4I,OAAOA,KACvB1B,IAAKlH,MAAS4I,OAAOA,QAI3B,CACErE,MAAO,kBACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MAAS+J,SAASC,EAAc,GAAK,GAAI,QAAQpB,OAAOA,KAC/D1B,IAAKlH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,QAIjE,CACErE,MAAO,kBACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MAAS+J,SAASC,EAAc,GAAK,GAAI,QAAQpB,OAAOA,KAC/D1B,IAAKlH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,QAIjE,CACErE,MAAO,kBACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MAAS+J,SAASC,EAAc,GAAK,GAAI,QAAQpB,OAAOA,KAC/D1B,IAAKlH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,QAIjE,CACErE,MAAO,kCACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MAASiK,QAAQ,QAAQrB,OAAOA,KACvC1B,IAAKlH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,QAIjE,CACErE,MAAO,wCACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MAASiK,QAAQ,WAAWrB,OAAOA,KAC1C1B,IAAKlH,MAAS+J,SAASC,EAAc,EAAI,EAAG,QAAQpB,OAAOA,QAIjE,CACErE,MAAO,2CACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS+J,SAAS,EAAG,WAAWnB,OAAOA,KAC9C1B,IAAKlH,MAAS+J,SAAS,EAAG,WAAWnB,OAAOA,QAIlD,CACErE,MAAO,qCACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS+J,SAAS,EAAG,QAAQnB,OAAOA,KAC3C1B,IAAKlH,MAAS+J,SAAS,EAAG,QAAQnB,OAAOA,QAI/C,CACErE,MAAO,oBACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS+J,SAAS,EAAG,SAASG,MAAM,SAAStB,OAAOA,KAC3D1B,IAAKlH,MAAS+J,SAAS,EAAG,SAASnB,OAAOA,QAIhD,CACErE,MAAO,4BACPzM,MAFF,SAEQkS,GACJ,MAAO,CACL/C,MAAOjH,MACJ+J,SAAS,EAAG,SACZA,SAASC,EAAc,EAAI,EAAG,QAC9BpB,OAAOA,KACV1B,IAAKlH,MAAS4I,OAAOA,QAI3B,CACErE,MAAO,WACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAASiK,QAAQ,QAAQrB,OAAOA,KACvC1B,IAAKlH,MAASkK,MAAM,QAAQtB,OAAOA,QAIzC,CACErE,MAAO,cACPzM,MAFF,WAGI,MAAO,CACLmP,MAAOjH,MAAS+J,SAAS,EAAG,QAAQE,QAAQ,QAAQrB,OAAOA,KAC3D1B,IAAKlH,MAAS+J,SAAS,EAAG,QAAQG,MAAM,QAAQtB,OAAOA,UAOjEwB,cAAe,CACbC,EAAG,gBACHC,EAAG,cACHC,EAAG,YACHC,EAAG,iBACHC,EAAG,QACHC,EAAG,QAELC,UAAW,IAEbnJ,UAAW,CACToJ,sBADS,SACalJ,EAAO9P,GAC3B8P,EAAMgI,gBAAkB9X,GAE1BiZ,oBAJS,SAIWnJ,EAAO9P,GACzB8P,EAAMiI,cAAgB/X,GAExBkZ,qBAPS,SAOYpJ,GACnBA,EAAMgI,gBAAkB,IAE1BqB,4BAVS,SAUmBrJ,EAAO9P,GACjC8P,EAAM+H,sBAAN,KAAmC7X,IAErCoZ,cAbS,SAaKtJ,EAAO9P,GACnB8P,EAAM2H,KAAOzX,GAEfqZ,oBAhBS,SAgBWvJ,EAAOwJ,GACzBjU,YAAW,WACTkU,EAAEC,QAAQ,iBACT,KACH1J,EAAMkI,eAAiBsB,GAEzBG,eAtBS,SAsBM3J,EAAO9P,GACpB8P,EAAM4H,SAAW1X,GAEnB0Z,wBAzBS,SAyBe5J,EAAOG,GAC7BH,EAAM8H,kBAAoB3H,GAE5B0J,aA5BS,SA4BI7J,EAAOG,GAClBH,EAAM6H,OAAS1H,GAEjB2J,gBA/BS,SA+BO9J,EAAOG,GACrBH,EAAMiJ,UAAY9I,IAGtBwB,QAAS,CACP2H,cADO,SACOzH,EAAS3R,GACrB2R,EAAQC,OAAO,gBAAiB5R,IAElC0Z,wBAJO,WAI6BzJ,GAAS,IAAnB2B,EAAmB,EAAnBA,OACxBA,EAAO,0BAA2B3B,IAEpCoJ,oBAPO,SAOa1H,EAAS3R,GAC3B2R,EAAQC,OAAO,sBAAuB5R,IAExCyZ,eAVO,SAUQ9H,EAAS3R,GACtB2R,EAAQC,OAAO,iBAAkB5R,KAGrCmS,QAAS,CACP6E,OAAQ,SAAAlH,GACN,OAAOkH,KAET6C,QAAS,SAAA/J,GACP,OAAOA,EAAM2H,MAEfqC,2BAA4B,SAAAhK,GAC1B,OAAOA,EAAMgI,gBAAgBtX,OAAS,IAExCwX,eAAgB,SAAAlI,GACd,OAAOA,EAAMkI,gBAEfN,SAAU,SAAA5H,GACR,OAAOA,EAAM4H,UAEfqC,oBAAqB,SAAAjK,GACnB,OAAOA,EAAMiK,qBAEfC,SAAU,SAAAlK,GACR,IAAMmK,EAAOnK,EAAMiI,cAAcmC,MACjC,OAAKjF,MAAMC,QAAQ+E,GACZnK,EAAMiI,cAAcmC,MAAM3G,QAAO,SAAAqC,GAAI,OAAIA,EAAKoE,YADpB,IAGnCG,cAAe,SAAArK,GAAK,OAAI,WACtB,IAAMsK,EAAU9P,KAAKC,MAAMC,aAAaC,QAAQ,mBAChD,GAAI2P,EAAS,4BAFa3I,EAEb,yBAFaA,EAEb,gBACX,OAAOA,EAAQ4I,MAAK,SAAA5G,GAAI,OAAI2G,EAAQE,SAAS7G,MAE7C,OAAO,S,i1DCtWR,IAAM9E,EAAe,CAC1B4L,gBAAgB,EAChBC,YAAa,GACbvL,UAAU,EACVwL,aAAc,GACdjD,aAAc,GACdkD,WAAY,IAGD9K,EAAY,CACvB+K,eADuB,SACR7K,EAAOG,GACpBH,EAAMyK,eAAiBtK,GAEzB2K,YAJuB,SAIX9K,EAAOG,GACjBA,EAAQpG,GAAKiG,EAAM2K,aAAaja,OAAS,EACzC,IAAMqa,EAAwB,GAAH,SAAQ/K,EAAM2K,cAAd,CAA4BxK,IACvDH,EAAM2K,aAAeI,GAEvBC,YATuB,SASXhL,EAAOG,GACjB,IAAQnE,EAAyBmE,EAAzBnE,KAAMuK,EAAmBpG,EAAnBoG,WAAYxM,EAAOoG,EAAPpG,GACpBgR,EAAwB/K,EAAM2K,aACjCrJ,KAAI,SAAA2J,GAKH,OAJIA,EAAElR,KAAOA,IACXkR,EAAE1E,WAAaA,EACf0E,EAAEjP,KAAOA,GAEJiP,KAGXjL,EAAM2K,aAAeI,GAEvBG,YAtBuB,SAsBXlL,EAAOG,GACjB,IAAMgL,EAAkBnL,EAAM2K,aAAalH,QAAO,SAAAwH,GAChD,OAAOA,EAAElR,KAAOoG,KAElBH,EAAM2K,aAAeQ,GAEvBC,UA5BuB,SA4BbpL,EAAOG,GACf,GAAIA,EAAQjQ,KAAZ,CACE,IAAMmb,EAASlL,EAAQjQ,KAAKoR,KAAI,SAAA2J,GAC9B,MAAO,CACLlR,GAAIkR,EAAEK,IACNtP,KAAMiP,EAAEM,YACRhF,WAAY0E,EAAEO,mBAGlBxL,EAAM2K,aAAeU,OAGvBrL,EAAM2K,aAAexK,GAEvBsL,gBA1CuB,SA0CPzL,EAAOG,GAChBA,EAAQzP,SACbsP,EAAM0H,aAAevH,IAEvBuL,UA9CuB,SA8Cb1L,EAAOG,GACfH,EAAMb,SAAWgB,GAEnBwL,aAjDuB,SAiDV3L,EAAOG,GAClBH,EAAM0K,YAAcvK,GAEtByL,sBApDuB,SAoDD5L,EAAOG,GAC3B,IAAM0L,EAAM1L,EACTmB,KAAI,SAAAwK,GAAU,OAAIA,EAAWC,cAEhC/L,EAAM0H,aAAe1H,EAAM0H,aAAapG,KAAI,SAAArL,GAI1C,OAHI4V,EAAIrB,SAASvU,EAAE8V,cACjB9V,EAAE+V,UAAW,GAER/V,MAGXgW,cA/DuB,SA+DTjM,EAAOG,GACnBH,EAAM4K,WAAazK,IAIVwB,EAAU,CACfuK,UADe,wCACLrK,GADK,wFAEErI,EAAE2S,QAAQC,YAAY,GAFxB,OAEbf,EAFa,OAGnBxJ,EAAQC,OAAO,YAAauJ,GAHT,oGAKfgB,eALe,wCAKAxK,EAAS1B,GALT,kFAMb3G,EAAE2S,QAAQG,UAAUnM,GANP,OAOnB0B,EAAQC,OAAO,cAAe3B,GAPX,sGASfoM,gBATe,wCASC1K,EAAS1B,GATV,qGAWc3G,EAAEgT,WAAWjG,WAAW,CAAEkG,YAAY,GAAQtM,GAX5D,qCAWXoG,EAXW,SAaqCA,EAAWrW,KAAzDwc,EAbS,EAaTA,gBAbS,EAaQnG,WACzB1E,EAAQC,OAAO,gBAAiB,CAC9B6K,KAAMxM,GAAW,EACjByM,KAAMC,KAAKC,KAAKJ,GAAmBA,EAAkB,MACrDK,MAAOL,IAGT7K,EAAQC,OAAO,kBAAmByE,EAAWrW,KAAKqW,YApBjC,qDAsBjBvP,QAAQgW,IAAR,MACAnL,EAAQC,OAAO,kBAAmB,IAvBjB,qHA0BfmL,gBA1Be,wCA0BCpL,EAAS1B,GA1BV,wFA2BI3G,EAAE2S,QAAQe,eAAe/M,GA3B7B,cA2BbgN,EA3Ba,yBA4BZA,GA5BY,sGA8BfC,iBA9Be,wCA8BEvL,EAAS1B,GA9BX,wFA+BK3G,EAAE2S,QAAQkB,SAASlN,GA/BxB,OA+BbmN,EA/Ba,OAgCnBzL,EAAQC,OAAO,kBAAkB,GACjCD,EAAQC,OAAO,aAAa,GAC5BD,EAAQC,OAAO,eAAgBwL,EAAUpd,MAlCtB,sGAoCrBqd,gBApCqB,SAoCL1L,GACdA,EAAQC,OAAO,aAAa,GAC5BD,EAAQC,OAAO,eAAgB,MAItBO,EAAU,GAGR,QACbrC,MAAOnB,EACPiB,UAAW,EAAF,GACJA,GAELuC,QAAS,EAAF,GACFA,GAELV,QAAS,EAAF,GACFA,M,sDCpIP,IAAIL,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,O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","file":"js/index.a253a099.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"index\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-07d052dc\":\"0283dc1b\",\"chunk-08dcd344\":\"16e7f5e4\",\"chunk-090be3a6\":\"8d69a7d7\",\"chunk-0d68e924\":\"ba02a7a7\",\"chunk-10f7afb0\":\"92100607\",\"chunk-1c0e69d1\":\"482ff60b\",\"chunk-1d38bd2b\":\"31448bc4\",\"chunk-20493b82\":\"3c152ce4\",\"chunk-287105d6\":\"9d3f30db\",\"chunk-298c984c\":\"ce7d04c1\",\"chunk-2d0dd016\":\"9d85e22c\",\"chunk-6f005b62\":\"9559da23\",\"chunk-c9d1a142\":\"027b0bf1\",\"chunk-2d22998c\":\"95d687d4\",\"chunk-2e251f6a\":\"9a269d4f\",\"chunk-38012d24\":\"bc5ac7c4\",\"chunk-38d673e4\":\"b19909be\",\"chunk-474f2648\":\"249ce1b5\",\"chunk-4b00369e\":\"749107d9\",\"chunk-555d09c8\":\"f56e2044\",\"chunk-573294c8\":\"f05039dc\",\"chunk-5d504f72\":\"e5879a30\",\"chunk-66409c9b\":\"44250dec\",\"chunk-6a10cbfe\":\"49abfd1e\",\"chunk-2e9406fa\":\"765f70a2\",\"chunk-7247ef6e\":\"b476a291\",\"chunk-9e76899a\":\"d141f0ea\",\"chunk-5e18fb0e\":\"68a4ac24\",\"chunk-e87962ce\":\"e205744e\",\"chunk-6a4c7595\":\"334191a3\",\"chunk-6a9d7620\":\"d09b1dd1\",\"chunk-6b915610\":\"20ee02dd\",\"chunk-5175b95c\":\"552ee790\",\"chunk-a56fa35a\":\"75e364cd\",\"chunk-7c69f261\":\"471f1893\",\"chunk-83729636\":\"51e7a116\",\"chunk-8d813b24\":\"6d84c228\",\"chunk-91a6d6e8\":\"bd3b22af\",\"chunk-93d76906\":\"4279ff94\",\"chunk-9aac846e\":\"9ad6aa9b\",\"chunk-d8913c32\":\"3387c5e3\",\"chunk-e018c09c\":\"6177d920\",\"chunk-e8381dda\":\"3fa99cea\",\"chunk-f3e0dcaa\":\"7ed5a423\",\"chunk-f5688080\":\"a58042d6\",\"chunk-f9e464f2\":\"659118c4\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-07d052dc\":1,\"chunk-08dcd344\":1,\"chunk-090be3a6\":1,\"chunk-0d68e924\":1,\"chunk-10f7afb0\":1,\"chunk-1d38bd2b\":1,\"chunk-20493b82\":1,\"chunk-287105d6\":1,\"chunk-298c984c\":1,\"chunk-6f005b62\":1,\"chunk-c9d1a142\":1,\"chunk-2e251f6a\":1,\"chunk-38012d24\":1,\"chunk-38d673e4\":1,\"chunk-4b00369e\":1,\"chunk-555d09c8\":1,\"chunk-573294c8\":1,\"chunk-5d504f72\":1,\"chunk-2e9406fa\":1,\"chunk-7247ef6e\":1,\"chunk-5e18fb0e\":1,\"chunk-e87962ce\":1,\"chunk-6a4c7595\":1,\"chunk-6a9d7620\":1,\"chunk-6b915610\":1,\"chunk-5175b95c\":1,\"chunk-a56fa35a\":1,\"chunk-7c69f261\":1,\"chunk-83729636\":1,\"chunk-91a6d6e8\":1,\"chunk-9aac846e\":1,\"chunk-e018c09c\":1,\"chunk-e8381dda\":1,\"chunk-f3e0dcaa\":1,\"chunk-f9e464f2\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-07d052dc\":\"f36388a2\",\"chunk-08dcd344\":\"96b99436\",\"chunk-090be3a6\":\"57bc4854\",\"chunk-0d68e924\":\"a5bbc3e1\",\"chunk-10f7afb0\":\"efe38c0a\",\"chunk-1c0e69d1\":\"31d6cfe0\",\"chunk-1d38bd2b\":\"236e84d6\",\"chunk-20493b82\":\"0190bb06\",\"chunk-287105d6\":\"013f753d\",\"chunk-298c984c\":\"fdc7f9db\",\"chunk-2d0dd016\":\"31d6cfe0\",\"chunk-6f005b62\":\"a8b91157\",\"chunk-c9d1a142\":\"b326f21a\",\"chunk-2d22998c\":\"31d6cfe0\",\"chunk-2e251f6a\":\"9e1ffb89\",\"chunk-38012d24\":\"ffab6bbc\",\"chunk-38d673e4\":\"26c662a6\",\"chunk-474f2648\":\"31d6cfe0\",\"chunk-4b00369e\":\"b0c495af\",\"chunk-555d09c8\":\"3dab5799\",\"chunk-573294c8\":\"41f31890\",\"chunk-5d504f72\":\"674fafc5\",\"chunk-66409c9b\":\"31d6cfe0\",\"chunk-6a10cbfe\":\"31d6cfe0\",\"chunk-2e9406fa\":\"579058df\",\"chunk-7247ef6e\":\"0797581c\",\"chunk-9e76899a\":\"31d6cfe0\",\"chunk-5e18fb0e\":\"23f08811\",\"chunk-e87962ce\":\"6f8da62c\",\"chunk-6a4c7595\":\"0221fe0b\",\"chunk-6a9d7620\":\"1e9d9932\",\"chunk-6b915610\":\"54b128db\",\"chunk-5175b95c\":\"cfa856c1\",\"chunk-a56fa35a\":\"8643566f\",\"chunk-7c69f261\":\"41f31890\",\"chunk-83729636\":\"c9c34271\",\"chunk-8d813b24\":\"31d6cfe0\",\"chunk-91a6d6e8\":\"dbb95466\",\"chunk-93d76906\":\"31d6cfe0\",\"chunk-9aac846e\":\"9d239f49\",\"chunk-d8913c32\":\"31d6cfe0\",\"chunk-e018c09c\":\"41f31890\",\"chunk-e8381dda\":\"f156c785\",\"chunk-f3e0dcaa\":\"274bba55\",\"chunk-f5688080\":\"31d6cfe0\",\"chunk-f9e464f2\":\"41f31890\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import Vue from 'vue';\nimport SubMenu from '../../components/common/sub-menu.vue';\n// https://www.npmjs.com/package/vue-recaptcha\nimport VueRecaptcha from 'vue-recaptcha';\n\n// https://docs.sentry.io/platforms/javascript/vue/\nimport * as Sentry from '@sentry/browser';\nimport * as Integrations from '@sentry/integrations';\n\n// https://github.com/vuejs-tips/vue-the-mask\nimport VueTheMask from 'vue-the-mask';\n\n// https://github.com/dansmaculotte/vue-zendesk\nimport Zendesk from '@dansmaculotte/vue-zendesk';\n\nconst dsn = process.env.VUE_APP_SENTRY;\n\nif (dsn) {\n Sentry.init({\n dsn: process.env.VUE_APP_SENTRY,\n integrations: [ new Integrations.Vue({ Vue, attachProps: true }) ],\n ignoreErrors: ['ResizeObserver loop limit exceeded']\n });\n\n Sentry.setTag('ambiente', process.env.NODE_ENV);\n}\n\nVue.component('VueRecaptcha', VueRecaptcha);\nVue.component('SubMenu', SubMenu);\nVue.component('Chart', (resolve) => require(['components/common/chart'], resolve));\nVue.component('SumoSelect', (resolve) => require(['components/common/sumoSelect'], resolve));\nVue.component('Multiselect', (resolve) => require(['components/common/multiSelect/MultiSelect'], resolve));\n\nVue.use(VueTheMask);\nVue.use(Zendesk, {\n key: process.env.VUE_APP_ZENDESK_KEY,\n disabled: process.env.NODE_ENV !== 'production', // habilita se for production\n hideOnLoad: true,\n settings: {\n webWidget: {\n helpCenter: {\n suppress: false\n },\n chat: {\n suppress: false\n },\n contactForm: {\n suppress: false\n },\n color: {\n theme: '#ffffff',\n launcher: '#f27220',\n launcherText: '#ffffff',\n button: '#3c454f',\n resultLists: '#3c454f',\n header: '#3c454f',\n articleLinks: '#3c454f',\n bypassAccessibilityRequirement: true\n },\n authenticate: {\n chat: {\n jwtFn: function (callback) {\n R.Chat.zendeskToken().then((result) => {\n if (result.data) {\n callback(result.data);\n }\n });\n }\n }\n }\n }\n }\n});\n","import 'core-js/stable';\nimport 'regenerator-runtime/runtime';\nimport Vue from 'vue';\nimport App from './components/App.vue';\nimport Hotjar from 'vue-hotjar';\n\nimport heyuiConfig from './js/config/heyui-config';\nimport routerConfig from './js/config/router-config';\nimport store from './js/vuex/store';\nimport './js/vue/components';\nimport './js/vue/filters';\nimport '@fortawesome/fontawesome-free/css/all.min.css';\nimport { useGlobalMixin } from './js/global/globalMixin';\n\n// https://github.com/phegman/v-show-slid\nimport VShowSlide from 'v-show-slide';\n\n// https://vcalendar.io/\nimport VCalendar from 'v-calendar';\n\n// https://github.com/shipshapecode/vue-shepherd\nimport tourShepherd from 'vue-shepherd';\n\n// https://matteo-gabriele.gitbook.io/vue-gtag/\nimport VueGtag from 'vue-gtag';\n\nimport VueI18n from 'vue-i18n';\nimport en from 'heyui/dist/locale/en-US';\nimport ptbr from './locale/pt_BR';\n\nif ((process.env.NODE_ENV === 'production')) {\n import('./registerServiceWorker');\n}\n\nrequire('./css/app.less');\nheyuiConfig(); // variaveis globais do hey.conf\nconst router = routerConfig();\n\nVue.use(Hotjar, {\n id: process.env.VUE_APP_HOTJAR_ID,\n isProduction: process.env.NODE_ENV == 'production',\n snippetVersion: 6\n});\n\nVue.use(VueGtag, {\n appName: 'Perfil Performance - f360',\n pageTrackerScreenviewEnabled: false,\n pageTrackerTemplate(to) {\n let user = JSON.parse(localStorage.getItem('v360.user')) || '';\n if (!user) {\n return {\n page_path: to.path,\n page_location: window.location.href\n };\n }\n\n let permissao = JSON.parse(localStorage.getItem('v360.permissao')) || null;\n const isAdmin = permissao\n ? permissao.find(p => p === 'ListarRegras')\n : false;\n\n let userInfos;\n if (user.accessToken) {\n userInfos = Utils.parseJwt(user.accessToken);\n }\n const marcas = (() => {\n if (user.marcas && user.marcas.length) {\n const marcasString = user.marcas.reduce((acc, m, i) => {\n acc = `${acc}${i ? ',' : ''}${m.description}`;\n return acc;\n }, '');\n return marcasString;\n }\n return '';\n })();\n const qtdEMpresas = (() => {\n if (!userInfos) return 0;\n const qtd = userInfos['user.empresa'];\n if (qtd && qtd.length) {\n return qtd.split(',').length;\n }\n return 0;\n })();\n\n const dimensoes = {\n 'usuario_nome': user.nome || '',\n 'usuario_email': user.email || '',\n 'usuario_id': userInfos['user.id'] || '',\n 'grupo_nome': user.cliente || '',\n 'grupo_codigo': '',\n 'grupo_id': userInfos['user.cliente'] || '',\n 'grupo_tipo_perfil': isAdmin ? 'Administrador' : 'Usuário comum',\n 'grupo_marcas': marcas,\n 'grupo_qtd_empresas': qtdEMpresas,\n 'usuario_adm': !!isAdmin\n };\n\n let { name, path } = to;\n const isRootPath = path === '/' && name;\n return {\n page_path: isRootPath ? `${path + name}` : to.path,\n page_location: window.location.href,\n ...dimensoes\n };\n },\n config: {\n id: process.env.NODE_ENV === 'development'\n ? 'UA-66191766-12'\n : 'UA-66191766-13',\n params: {\n custom_map: {\n dimension1: 'usuario_nome',\n dimension2: 'usuario_email',\n dimension3: 'usuario_id',\n dimension4: 'grupo_nome',\n dimension5: 'grupo_codigo',\n dimension6: 'grupo_id',\n dimension7: 'grupo_tipo_perfil',\n dimension8: 'grupo_marcas',\n dimension9: 'grupo_qtd_empresas',\n dimension10: 'usuario_adm'\n }\n }\n }\n}, router);\n\nuseGlobalMixin(Vue);\n\nVue.use(VueI18n);\nVue.use(VShowSlide);\nVue.use(tourShepherd);\nVue.use(VCalendar, {\n componentPrefix: 'vc',\n locales: {\n 'pt-BR': {\n firstDayOfWeek: 1,\n masks: {\n L: 'YYYY-MM-DD'\n }\n },\n screens: {\n 'sm': '640px', // (min-width: 640px)\n 'md': '768px', // (min-width: 768px)\n 'lg': '1024px', // (min-width: 1024px)\n 'xl': '1280px' // (min-width: 1280px)\n }\n }// Use instead of \n});\n\nconst messages = {\n en: Object.assign({ message: 'hello' }, en),\n pt_BR: Object.assign({ message: 'Olá' }, ptbr)\n};\n\nconst i18n = new VueI18n({\n locale: 'Pt-BR', // set locale\n fallbackLocale: 'en',\n messages\n});\n\nexport const eventBus = new Vue();\n\n// init i18n com heyui\nVue.use(HeyUI, { i18n });\n\n// vue file\ni18n.locale = 'pt_BR';\n\nmoment.locale('pt-br');\n\nexport const bus = new Vue();\n\nexport default new Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#app');\n","export const initialState = {\n step: 0,\n isOpenModal: false,\n funcionalidades: [],\n funcionalidadesSelecionadas: [],\n isVincular: false,\n isEditar: false,\n isLoading: false,\n vincular: {\n usuarios: [],\n usuariosSelecionados: []\n },\n dadosPrincipais: {\n id: null,\n nome: '',\n empresas: [],\n indicadores: [],\n optionsEmpresas: [],\n optionsIndicadores: []\n },\n isAdmin: false,\n isPermanentRule: false\n};\n\nexport const mutations = {\n nextStep(state) {\n state.step++;\n },\n backStep(state) {\n state.step--;\n },\n updateIsVincular(state, payload) {\n state.isVincular = payload;\n },\n updateIsEditar(state, payload) {\n state.isEditar = payload;\n },\n updateId(state, payload) {\n state.dadosPrincipais.id = payload;\n },\n updateStep(state, payload) {\n state.step = payload;\n },\n openModal(state) {\n state.isOpenModal = true;\n },\n closeModal(state) {\n state.isOpenModal = false;\n },\n updateUsuarios(state, payload) {\n state.vincular.usuarios = payload;\n },\n updateUsuariosSelecionados(state, payload) {\n state.vincular.usuariosSelecionados = payload;\n },\n resetState(state) {\n const model = JSON.parse(JSON.stringify(initialState));\n state.dadosPrincipais = model.dadosPrincipais;\n state.funcionalidadesSelecionadas = model.funcionalidadesSelecionadas;\n state.isVincular = model.isVincular;\n state.isEditar = model.isEditar;\n state.vincular = model.vincular;\n state.isAdmin = model.isAdmin;\n },\n updateLoading(state, payload) {\n state.isLoading = payload;\n },\n updateNome(state, payload) {\n state.dadosPrincipais.nome = payload;\n },\n updateEmpresas(state, payload) {\n state.dadosPrincipais.empresas = payload;\n },\n updateIndicadores(state, payload) {\n state.dadosPrincipais.indicadores = payload;\n },\n updateOptionsEmpresas(state, payload) {\n state.dadosPrincipais.optionsEmpresas = payload;\n },\n updateOptionsIndicadores(state, payload) {\n state.dadosPrincipais.optionsIndicadores = payload;\n },\n updateFuncionalidades(state, payload) {\n state.funcionalidades = payload;\n },\n updateFuncionalidadeSelecionada(state, payload) {\n state.funcionalidadesSelecionadas = state.funcionalidadesSelecionadas.map(tela => {\n if (tela.tela === payload.tela) {\n tela.funcionalidades = payload.funcionalidades;\n }\n\n return { ...tela };\n });\n },\n updateFuncionalidadesSelecionadas(state, payload) {\n state.funcionalidadesSelecionadas = payload;\n },\n updateIsAdmin(state, payload) {\n state.isAdmin = payload;\n },\n updateIsPermanentRule(state, payload) {\n state.isPermanentRule = payload;\n }\n};\n\nexport const actions = {\n updateModal(context, payload) {\n context.commit('updateStep', 0);\n context.commit('resetState');\n if (!payload) {\n context.commit('closeModal');\n } else {\n context.commit('openModal');\n }\n },\n async updateOptions(context) {\n try {\n const [indicadores, empresas] = await Promise.all([R.Enum.getEnum('indicadores'), R.Empresa.todas()]);\n\n context.commit('updateOptionsEmpresas', empresas.data);\n context.commit('updateOptionsIndicadores', indicadores.data);\n } catch (e) {\n console.error(e);\n }\n },\n async updateOptionsFuncionalidades(context) {\n try {\n const { data } = await R.Enum.getEnum('obter-tela-funcionalidades');\n\n context.commit('updateFuncionalidades', data);\n } catch (e) {\n console.error(e);\n }\n }\n};\n\nexport const getters = {\n isFirstTab: state => {\n return state.step === 0;\n },\n isLastTab: state => {\n return state.step === 2;\n },\n isFirstTabInvalid: state => {\n return Utils.isEmptyString(state.dadosPrincipais.nome);\n },\n isVincularMode: state => {\n return state.isVincular;\n },\n usuariosOptions: state => {\n return state.vincular.usuarios.map(usuario => ({\n key: usuario.id,\n title: usuario.nome,\n regraUsuario: usuario.regraUsuario\n }));\n },\n buildVMO: state => byScreen => {\n const tela = Object.values(state.funcionalidades).find(telas => telas.tela.toLowerCase() === byScreen.toLowerCase());\n\n if (!tela) return [];\n\n const model = tela.funcionalidades.map(funcionalidade => {\n let defaultValue;\n\n if (tela.tela === 'Regras de Usuário' && (!state.isVincular || !state.isEditar)) {\n defaultValue = false;\n } else {\n defaultValue = '';\n }\n\n return {\n [funcionalidade]: defaultValue\n };\n });\n\n return Utils.arrayToObject(model);\n },\n funcionalidadesMarcadas: state => {\n // Retorna apenas as funcionalidades marcadas como true ou ''(string vazia)\n let funcionalidadesDisponiveis = state.funcionalidadesSelecionadas;\n\n if (!state.isAdmin && (!state.isVincular || !state.isEditar)) {\n funcionalidadesDisponiveis = state.funcionalidadesSelecionadas.filter(funcionalidade => funcionalidade.tela !== 'Regras de Usuário' && (!state.isVincular) && !state.isAdmin);\n }\n\n return funcionalidadesDisponiveis.map(funcionalidade =>\n ({\n tela: funcionalidade.tela,\n funcionalidades: Object.entries(funcionalidade.funcionalidades).map(item => (item[1] === '' || item[1] === true) ? item[0] : null).filter(item => !!item)\n }));\n }\n};\n\nexport default {\n state: () => {\n const model = JSON.parse(JSON.stringify(initialState));\n return model;\n },\n mutations: {\n ...mutations\n },\n actions: {\n ...actions\n },\n getters: {\n ...getters\n }\n\n};\n","export const initialState = {\n vendedoresIds: [],\n empresasIds: [],\n indicadores: [],\n tipoDocumento: [],\n periodoAvaliacao: {},\n periodoComparacao: {},\n comparar: false,\n relatorioPor: '',\n showErrors: false,\n loadingExportar: false\n};\n\nexport const mutations = {\n limparRelatorios(state) {\n state.periodoAvaliacao = {};\n state.periodoComparacao = {};\n state.vendedoresIds = [];\n state.indicadores = [];\n state.empresasIds = [];\n state.tipoDocumento = [];\n state.showErrors = false;\n state.comparar = false;\n },\n updateShowErrors(state, payload) {\n state.showErrors = payload;\n },\n updateVendedores(state, payload) {\n state.vendedoresIds = payload;\n },\n updatePeriodoAvaliacao(state, payload) {\n state.periodoAvaliacao = payload;\n },\n updatePeriodoComparacao(state, payload) {\n state.periodoComparacao = payload;\n },\n updateEmpresas(state, payload) {\n state.empresasIds = payload;\n },\n updateIndicadores(state, payload) {\n state.indicadores = payload;\n },\n updateRelatorioPor(state, payload) {\n state.relatorioPor = payload;\n },\n updateTipoDocumento(state, payload) {\n state.tipoDocumento = payload;\n },\n updateComparacao(state, payload) {\n state.comparar = payload;\n },\n updateLoadingExportar(state, payload) {\n state.loadingExportar = payload;\n }\n};\n\nexport const getters = {\n getFiltrosRelatoriosParaRequisicao: state => {\n const { showErrors, comparar, ...filtros } = state;\n\n const filtrosSelecionados = Object.entries(filtros).filter(item => !Utils.isNullOrEmpty(item[1]));\n\n const filtro = Object.values(filtrosSelecionados).map(filtro => {\n const [key, value] = filtro;\n return {\n [key]: Array.isArray(value) ? value.join(',') : value\n };\n });\n\n return Utils.arrayToObject(filtro);\n },\n periodoAvaliacaoVazio: state => {\n return Utils.isNullOrEmpty(state.periodoAvaliacao) || !state.periodoAvaliacao.start === '' || !state.periodoAvaliacao.end;\n },\n periodoComparacaoVazio: state => {\n if (!state.comparar) return false;\n return Utils.isNullOrEmpty(state.periodoComparacao) || !state.periodoComparacao.start === '' || !state.periodoComparacao.end;\n },\n hasError: (state, getters) => {\n return getters.periodoAvaliacaoVazio;\n // || getters.periodoComparacaoVazio\n },\n optGetVendedores: (state) => {\n const opt = {\n tipo: 'LojaVendedor',\n date: state.periodoAvaliacao,\n isCompare: false,\n modeloNivel: '',\n selectLojas: state.empresasIds,\n tipoDocumento: ['1', '2']\n };\n\n return opt;\n }\n};\nexport default {\n state: initialState,\n mutations: {\n ...mutations\n },\n getters: {\n ...getters\n }\n};\n","import { arquivos, integracoes, metas, regras, relatorios, vendas, vendedores } from './permissions';\n\nexport default {\n vendas: vendas.vendas,\n 'arquivos-status': arquivos.arquivos.status,\n 'arquivos-upload': arquivos.arquivos.upload,\n relatorios: relatorios.relatorios,\n vendedores: vendedores.vendedores,\n 'metas-configurar': metas.metas.configurar,\n 'metas-exportar-model': metas.metas.exportar,\n 'metas-importar-modelo': metas.metas.importar,\n 'metas-estagio-configuracao': metas.metas.configurar,\n 'integracoes-marketplace': integracoes.integracoes.marketplace,\n 'integracoes-configuradas': integracoes.integracoes.configuradas,\n 'integracoes-chamadas': integracoes.integracoes.consultas,\n regras: regras.regras\n};\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport moment from 'moment';\nimport relatorios from './modules/relatorios';\nimport regrasUsuario from './modules/regrasUsuario';\nimport vendedores from './modules/vendedores';\nimport empresas from './modules/empresas';\nimport revendedores from './modules/revendedores';\nimport { Dashboard } from './modules/dashboard/index';\n\nVue.use(Vuex);\nconst format = () => {\n let local = Utils.getLocal('v360.typeDateFilter');\n return local == 'month' ? 'MM/YYYY' : 'DD/MM/YYYY';\n};\n\nexport default new Vuex.Store({\n modules: {\n relatorios: {\n namespaced: true,\n ...relatorios\n },\n regrasUsuario: {\n namespaced: true,\n ...regrasUsuario\n },\n dashboard: {\n namespaced: true,\n ...Dashboard\n },\n vendedores: {\n namespaced: true,\n ...vendedores\n },\n empresas: {\n namespaced: true,\n ...empresas\n },\n revendedores: {\n namespaced: true,\n ...revendedores\n }\n },\n state: {\n User: {},\n msgCount: {\n messages: 2\n },\n metaId: '',\n loadingMetasModal: false,\n metasVendedoresFilter: {},\n vendedoresMetas: [],\n calendarModel: [],\n siderCollapsed: false,\n dateOptions: {\n shortcuts: [\n {\n title: 'Hoje',\n value() {\n return {\n start: moment().format(format()),\n end: moment().format(format())\n };\n }\n },\n {\n title: 'Ontem',\n value() {\n return {\n start: moment().subtract(1, 'days').format(format()),\n end: moment().subtract(1, 'days').format(format())\n };\n }\n },\n {\n title: 'Últimos 7 dias',\n value(incluirHoje) {\n return {\n start: moment().subtract(incluirHoje ? 6 : 7, 'days').format(format()),\n end: moment().subtract(incluirHoje ? 0 : 1, 'days').format(format())\n };\n }\n },\n {\n title: 'Mês Atual',\n value(incluirHoje) {\n return {\n start: moment().startOf('month').format(format()),\n end: moment().subtract(incluirHoje ? 0 : 1, 'days').format(format())\n };\n }\n },\n {\n title: 'Mês passado',\n value() {\n return {\n start: moment().subtract(1, 'month').startOf('month').format(format()),\n end: moment().subtract(1, 'month').endOf('month').format(format())\n };\n }\n },\n {\n title: 'Acumulado ano',\n value() {\n return {\n start: moment().startOf('year').format(format()),\n end: moment().format(format())\n };\n }\n }\n ],\n shortcutsFiltroLocal: [\n {\n title: 'Ontem',\n value() {\n return {\n start: moment().subtract(1, 'days').format(format()),\n end: moment().subtract(1, 'days').format(format())\n };\n }\n },\n {\n title: 'Últimos 7 dias',\n value(incluirHoje) {\n return {\n start: moment().subtract(incluirHoje ? 6 : 7, 'days').format(format()),\n end: moment().subtract(incluirHoje ? 0 : 1, 'days').format(format())\n };\n }\n },\n {\n title: 'Mês Atual',\n value(incluirHoje) {\n return {\n start: moment().startOf('month').format(format()),\n end: moment().subtract(incluirHoje ? 0 : 1, 'days').format(format())\n };\n }\n },\n {\n title: 'Mês passado',\n value() {\n return {\n start: moment().subtract(1, 'month').startOf('month').format(format()),\n end: moment().subtract(1, 'month').endOf('month').format(format())\n };\n }\n },\n {\n title: 'Acumulado ano',\n value() {\n return {\n start: moment().startOf('year').format(format()),\n end: moment().format(format())\n };\n }\n },\n {\n title: 'Hoje',\n value() {\n return {\n start: moment().format(format()),\n end: moment().format(format())\n };\n }\n },\n {\n title: 'Últimos 15 dias',\n value(incluirHoje) {\n return {\n start: moment().subtract(incluirHoje ? 14 : 15, 'days').format(format()),\n end: moment().subtract(incluirHoje ? 0 : 1, 'days').format(format())\n };\n }\n },\n {\n title: 'Últimos 28 dias',\n value(incluirHoje) {\n return {\n start: moment().subtract(incluirHoje ? 27 : 28, 'days').format(format()),\n end: moment().subtract(incluirHoje ? 0 : 1, 'days').format(format())\n };\n }\n },\n {\n title: 'Últimos 30 dias',\n value(incluirHoje) {\n return {\n start: moment().subtract(incluirHoje ? 29 : 30, 'days').format(format()),\n end: moment().subtract(incluirHoje ? 0 : 1, 'days').format(format())\n };\n }\n },\n {\n title: 'Esta semana (Começa no domingo)',\n value(incluirHoje) {\n return {\n start: moment().startOf('week').format(format()),\n end: moment().subtract(incluirHoje ? 0 : 1, 'days').format(format())\n };\n }\n },\n {\n title: 'Esta semana (Começa no segunda-feira)',\n value(incluirHoje) {\n return {\n start: moment().startOf('isoWeek').format(format()),\n end: moment().subtract(incluirHoje ? 0 : 1, 'days').format(format())\n };\n }\n },\n {\n title: 'Semana passada (Começa na segunda-feira)',\n value() {\n return {\n start: moment().subtract(2, 'isoWeek').format(format()),\n end: moment().subtract(1, 'isoWeek').format(format())\n };\n }\n },\n {\n title: 'Semana passada (Começa no domingo)',\n value() {\n return {\n start: moment().subtract(2, 'Week').format(format()),\n end: moment().subtract(1, 'Week').format(format())\n };\n }\n },\n {\n title: 'Trimestre passado',\n value() {\n return {\n start: moment().subtract(6, 'month').endOf('month').format(format()),\n end: moment().subtract(3, 'month').format(format())\n };\n }\n },\n {\n title: 'Este trimestre, até agora',\n value(incluirHoje) {\n return {\n start: moment()\n .subtract(3, 'month')\n .subtract(incluirHoje ? 0 : 1, 'days')\n .format(format()),\n end: moment().format(format())\n };\n }\n },\n {\n title: 'Este ano',\n value() {\n return {\n start: moment().startOf('year').format(format()),\n end: moment().endOf('year').format(format())\n };\n }\n },\n {\n title: 'Ano passado',\n value() {\n return {\n start: moment().subtract(1, 'year').startOf('year').format(format()),\n end: moment().subtract(1, 'year').endOf('year').format(format())\n };\n }\n }\n\n ]\n },\n switchPeriodo: {\n 5: 'Acumulado ano',\n 4: 'Mês passado',\n 3: 'Mês Atual',\n 2: 'Ultimos 7 dias',\n 1: 'Ontem',\n 0: 'Hoje'\n },\n intervalo: ''\n },\n mutations: {\n updatevendedoresMetas(state, data) {\n state.vendedoresMetas = data;\n },\n updateCalendarModel(state, data) {\n state.calendarModel = data;\n },\n clearVendedoresMetas(state) {\n state.vendedoresMetas = [];\n },\n updateMetasVendedoresFilter(state, data) {\n state.metasVendedoresFilter = { ...data };\n },\n updateAccount(state, data) {\n state.User = data;\n },\n updateSiderCollapse(state, isShow) {\n setTimeout(() => {\n G.trigger('page_resize');\n }, 600);\n state.siderCollapsed = isShow;\n },\n updateMsgCount(state, data) {\n state.msgCount = data;\n },\n updateLoadingMetasModal(state, payload) {\n state.loadingMetasModal = payload;\n },\n updateMetaId(state, payload) {\n state.metaId = payload;\n },\n updateIntervalo(state, payload) {\n state.intervalo = payload;\n }\n },\n actions: {\n updateAccount(context, data) {\n context.commit('updateAccount', data);\n },\n updateLoadingMetasModal({ commit }, payload) {\n commit('updateLoadingMetasModal', payload);\n },\n updateSiderCollapse(context, data) {\n context.commit('updateSiderCollapse', data);\n },\n updateMsgCount(context, data) {\n context.commit('updateMsgCount', data);\n }\n },\n getters: {\n format: state => {\n return format();\n },\n account: state => {\n return state.User;\n },\n exibirLoadingMetasVendedor: state => {\n return state.vendedoresMetas.length > 30;\n },\n siderCollapsed: state => {\n return state.siderCollapsed;\n },\n msgCount: state => {\n return state.msgCount;\n },\n metasVendedorFilter: state => {\n return state.metasVendedorFilter;\n },\n mesAtual: state => {\n const dias = state.calendarModel.dates;\n if (!Array.isArray(dias)) return [];\n return state.calendarModel.dates.filter(date => date.mesAtual);\n },\n getPermission: state => (...actions) => {\n const storage = JSON.parse(localStorage.getItem('v360.permissao'));\n if (storage) {\n return actions.some(item => storage.includes(item));\n } else {\n return false;\n }\n }\n }\n});\n","\nexport const initialState = {\n modalNovoGrupo: false,\n infosEditar: {},\n isEditar: false,\n agrupamentos: [],\n revendedores: [],\n pagination: {}\n};\n\nexport const mutations = {\n openModalGrupo(state, payload) {\n state.modalNovoGrupo = payload;\n },\n createGrupo(state, payload) {\n payload.id = state.agrupamentos.length + 1;\n const novaListaAgrupamentos = [ ...state.agrupamentos, payload ];\n state.agrupamentos = novaListaAgrupamentos;\n },\n updateGrupo(state, payload) {\n const { nome, vendedores, id } = payload;\n const novaListaAgrupamentos = state.agrupamentos\n .map(g => {\n if (g.id === id) {\n g.vendedores = vendedores;\n g.nome = nome;\n }\n return g;\n });\n\n state.agrupamentos = novaListaAgrupamentos;\n },\n deleteGrupo(state, payload) {\n const arrayAtualizado = state.agrupamentos.filter(g => {\n return g.id !== payload;\n });\n state.agrupamentos = arrayAtualizado;\n },\n setGrupos(state, payload) {\n if (payload.data) {\n const grupos = payload.data.map(g => {\n return {\n id: g._id,\n nome: g.clusterName,\n vendedores: g.clusterMembers\n };\n });\n state.agrupamentos = grupos;\n return;\n }\n state.agrupamentos = payload;\n },\n setRevendedores(state, payload) {\n if (!payload.length) return;\n state.revendedores = payload;\n },\n setEditar(state, payload) {\n state.isEditar = payload;\n },\n setEditInfos(state, payload) {\n state.infosEditar = payload;\n },\n setEditClusterMembers(state, payload) {\n const ids = payload\n .map(revendedor => revendedor.idVendedor);\n\n state.revendedores = state.revendedores.map(r => {\n if (ids.includes(r.idVendedor)) {\n r.isSelect = true;\n }\n return r;\n });\n },\n setPagination(state, payload) {\n state.pagination = payload;\n }\n};\n\nexport const actions = {\n async getGrupos(context) {\n const grupos = await R.Cluster.listarTodos(1);\n context.commit('setGrupos', grupos);\n },\n async excluirUmGrupo(context, payload) {\n await R.Cluster.excluirUm(payload);\n context.commit('deleteGrupo', payload);\n },\n async getRevendedores(context, payload) {\n try {\n const vendedores = await await R.Vendedores.vendedores({ isReseller: true }, payload);\n\n const { totalVendedores, vendedores: revendedores } = vendedores.data;\n context.commit('setPagination', {\n page: payload || 1,\n size: Math.ceil(totalVendedores / (totalVendedores / 100)),\n total: totalVendedores\n });\n\n context.commit('setRevendedores', vendedores.data.vendedores);\n } catch (error) {\n console.log(error);\n context.commit('setRevendedores', []);\n }\n },\n async createEstrutura(context, payload) {\n const response = await R.Cluster.criarUmCluster(payload);\n return response;\n },\n async getEstruturaEdit(context, payload) {\n const estrutura = await R.Cluster.listarUm(payload);\n context.commit('openModalGrupo', true);\n context.commit('setEditar', true);\n context.commit('setEditInfos', estrutura.data);\n },\n cleanValuesEdit(context) {\n context.commit('setEditar', false);\n context.commit('setEditInfos', {});\n }\n};\n\nexport const getters = {\n};\n\nexport default {\n state: initialState,\n mutations: {\n ...mutations\n },\n getters: {\n ...getters\n },\n actions: {\n ...actions\n }\n};\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-SG\": \"cdab\",\n\t\"./en-SG.js\": \"cdab\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","import Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport viewsComponents from './views-components';\nimport * as Sentry from '@sentry/browser';\nimport rotas from '../config/router-permission';\n\nVue.use(VueRouter);\n\n/***\n * Configurar uso do sistema\n * @param userProperties\n */\nconst initRouter = () => {\n // incluir algumas rotas, mas somente em modo desenv\n const routersDev = [];\n\n if (process.env.NODE_ENV === 'development') {\n routersDev.push({\n path: '/dev/login',\n name: 'dev-login',\n meta: { requiresAuth: false },\n component: (resolve) => require(['components/dev/login'], resolve)\n });\n }\n\n const routerParam = {\n // mode: 'history',\n routes: [...routersDev, {\n path: '/sso/:token',\n name: 'SSO',\n component: (resolve) => require(['components/sso/index'], resolve)\n }, {\n path: '/login',\n name: 'Login',\n component: (resolve) => require(['components/login/index'], resolve)\n }, {\n path: '/logout/:index',\n name: 'Logout',\n component: (resolve) => require(['components/sso/logout'], resolve)\n }, {\n path: '/download-concluido-com-sucesso',\n name: 'DownloadConcluido',\n component: (resolve) => require(['components/public/DownloadConcluido'], resolve)\n }, {\n path: '/arquivo-indisponivel',\n name: 'ArquivoIndisponivel',\n component: (resolve) => require(['components/error-pages/ArquivoIndisponivel'], resolve)\n }, {\n path: '/download-arquivo/',\n name: 'DownloadArquivo',\n component: (resolve) => require(['components/public/DownloadArquivo'], resolve)\n },\n {\n path: '/download-relatorio/',\n name: 'DownloadRelatorio',\n component: (resolve) => require(['components/public/DownloadRelatorio'], resolve)\n }, {\n path: '/exportar-arquivo/',\n name: 'ExportArquivo',\n component: (resolve) => require(['components/public/ExportArquivo'], resolve)\n }, {\n path: '/exportar-selecionado/',\n name: 'ExportarSelecionado',\n component: (resolve) => require(['components/public/ExportarSelecionado'], resolve)\n }, {\n path: '/',\n redirect: { name: 'home' },\n meta: { requiresAuth: true },\n component: (resolve) => require(['components/app/app-frame'], resolve),\n children: [\n {\n path: '',\n name: 'home',\n component: (resolve) => require(['components/home/index'], resolve),\n meta: { title: 'Home', icon: 'icon-monitor' }\n }, {\n path: '/system-error',\n name: 'SystemError',\n component: (resolve) => require(['components/error-pages/500'], resolve),\n meta: { title: 'Erro do sistema' }\n }, {\n path: '/permission-error',\n name: 'PermissionError',\n component: (resolve) => require(['components/error-pages/403'], resolve),\n meta: { title: 'Erro de permissão' }\n },\n {\n path: '/notfound-error',\n name: 'NotfoundError',\n component: (resolve) => require(['components/error-pages/404'], resolve),\n meta: { title: 'Página não encontrada' }\n },\n ...viewsComponents,\n {\n path: '*',\n component: (resolve) => require(['components/error-pages/404'], resolve),\n meta: { title: 'Página não encontrada' }\n }\n ]\n }]\n };\n\n let router = new VueRouter(routerParam);\n\n // Autenticação router\n const rotaLogado = { path: '/', name: 'home' };\n const rotaNaoAutenticada = { path: '/permission-error', name: 'PermissionError' };\n const accessToken = () => {\n let storage = JSON.parse(localStorage.getItem('v360.user'));\n let local = storage ? storage.accessToken : null;\n if (!local) {\n return false;\n }\n\n let base = local.split('.')[1];\n let obj = null;\n\n try {\n obj = JSON.parse(window.atob(base));\n } catch (err) {\n obj = { 'user.cliente': null, 'user.id': null };\n }\n\n const userProperties = {\n 'userId': obj['user.id'] || '',\n 'clientId': obj['user.cliente'] || '',\n 'cliente': storage['cliente'] || '',\n 'usuario': storage['nome'] || '',\n 'email': storage['email'] || ''\n };\n\n Sentry.setExtra('usuario', userProperties);\n\n // criar um valor expirado caso não tenha\n obj.exp = obj.exp || new Date(1900, 1, 1);\n if (new Date(obj.exp * 1000) < new Date()) {\n localStorage.removeItem('v360.user');\n return false;\n }\n\n return obj['user.cliente'] && obj['user.id'] ? local : false;\n };\n\n router.beforeEach((to, from, next) => {\n HeyUI.$LoadingBar.start();\n\n const addTitulos = () => {\n if (to.meta && to.meta.title) {\n document.title = 'F360 - Performance - ' + to.meta.title;\n } else {\n document.title = 'F360 - Performance';\n }\n };\n\n if (to.matched.some(record => record.meta.requiresAuth)) {\n if (!accessToken()) { // se não existir accessToken redireciona para login/public\n const urlHub = process.env.VUE_APP_URL_HUB;\n window.location.href = `${urlHub}/#/signin?continue=${window.location.origin}&service=vendas`;\n return null;\n } else {\n if (rotas[to.name] && !Utils.getPermission(rotas[to.name])) {\n next(rotaNaoAutenticada);\n } else {\n next();\n }\n\n addTitulos();\n }\n } else {\n if (accessToken() && to.name == 'Login') { // se autenticado e colocar url login, redireciona para home\n next(rotaLogado);\n } else {\n next();\n }\n addTitulos();\n }\n });\n router.afterEach(() => {\n HeyUI.$LoadingBar.success();\n document.documentElement.scrollTop = 0;\n document.body.scrollTop = 0;\n let layoutContent = document.querySelector('.h-layout-content');\n if (layoutContent) {\n layoutContent.scrollTop = 0;\n }\n });\n return router;\n};\n\nexport default initRouter;\n","import Ajax from './ajax';\nimport Manba from 'manba';\n\nconst Request = {\n Arquivo: {\n // downloadVendas: (ids) => Ajax.getBlob(`/v1/arquivo/download-vendas/${ids.join(',')}`),\n exportar: (search) => Ajax.get(`v1/arquivo/solicitarListaArquivosVenda`, search),\n downloadSelecionados: (ids) => Ajax.postJson(`v1/arquivo/solicitarArquivosVenda`, { ids: ids.join(',') }),\n getSelect: () => Ajax.get('/v1/arquivo/select'),\n getAll: (search) => {\n let params = Object.assign({}, search || {});\n\n if (params.date === '' || params.date === null) {\n delete params.date;\n }\n\n if (params.date !== undefined) {\n params.date = Manba(params.date, 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n\n if (params.status === '' || params.status === null) {\n delete params.status;\n }\n\n if (params.tipo === '' || params.tipo === null) {\n delete params.tipo;\n }\n\n return Ajax.get('/v1/arquivo', params);\n },\n get: (id) => Ajax.get(`/v1/arquivo/${id}`),\n\n total: (search) => Ajax.get(`/v1/arquivo/total`, search),\n lista: (page, search) => Ajax.get(`/v1/arquivo/lista/${page}`, search)\n },\n User: {\n info() {\n return Ajax.get('/account/info');\n },\n checkPassword(pass) {\n return Ajax.post('/v1/user/checkPassword', { password: pass });\n }\n },\n Dict: {\n get() {\n return Ajax.get(`/dict`);\n }\n },\n Home: {\n getMessageList() {\n // return Ajax.get(`/home/messages`);\n }\n },\n SingleSignOn: {\n login(param) {\n return Ajax.postJson('/v1/sso', param);\n }\n },\n Login: {\n login(param) {\n return Ajax.postJson('/v1/login', param);\n },\n logout(param) {\n return Ajax.post('/logout', param);\n }\n },\n Usuario: {\n getTour() {\n return Ajax.get('/v1/user/getTour');\n },\n saveTour() {\n return Ajax.post('/v1/user/saveTour');\n },\n preferencia(userId, jsonPatch) {\n return Ajax.patchJson(`/v2/user/${userId}`, jsonPatch);\n }\n },\n Integracao: {\n chamarServico(id, tipo, params) {\n return Ajax.postJson(`/v1/integracao/controle-execucao/chamar-servico/${tipo}/${id}`, params);\n },\n listarControleExecucao() {\n return Ajax.get(`/v1/integracao/controle-execucao`);\n },\n fxDataExisteAlgumaConfiguracao() {\n return Ajax.head('/v1/integracao/fxdata/existe-alguma-configuracao', null, true);\n },\n saveFxData(dados) {\n return Ajax.postJson('/v1/integracao/fxdata', dados);\n },\n validarFxData(dados) {\n return Ajax.postJson('/v1/integracao/fxdata/validar', dados);\n },\n getOrInsertFinancas360() {\n return Ajax.get('/v1/integracao/pdvfinancas360/getOrInsert');\n },\n savePDVFinancas360(dados) {\n return Ajax.postJson('/v1/integracao/pdvfinancas360', dados);\n },\n chamarServicoPDVFinancas360(params) {\n return Ajax.postJson('/v1/integracao/controle-execucao/chamar-servico/pdvfinancas360/', params);\n },\n get(id) {\n return Ajax.get(`/v1/integracao/${id}`);\n },\n getAll() {\n return Ajax.get(`/v1/integracao`);\n },\n delete(id) {\n return Ajax.delete(`/v1/integracao/${id}`);\n }\n },\n Notificacao: {\n naoLidas() {\n return Ajax.get('/v1/caixa-entrada/nao-lidas/top5');\n },\n getAllMensagens() {\n return Ajax.get('/v1/caixa-entrada');\n },\n arquivar(ids) {\n return Ajax.patchJson('/v1/caixa-entrada/arquivar', ids);\n },\n marcarComoLida(ids) {\n return Ajax.patchJson('/v1/caixa-entrada/marcar-como-lida', ids);\n },\n marcarComoNaoLida(ids) {\n return Ajax.patchJson('/v1/caixa-entrada/marcar-como-nao-lida', ids);\n },\n getMensagem(id) {\n return Ajax.get(`/v1/caixa-entrada/${id}`);\n }\n },\n Empresa: {\n todas() {\n return Ajax.get('/v1/empresas');\n },\n alterar(param, id) {\n return Ajax.patchJson(`v2/empresa/${id}`, param);\n }\n },\n DashBoard: {\n vendas(params) {\n return Ajax.getCustom('/v1/vendas', (params || null));\n },\n vendasErro(params) {\n return Ajax.getCustom('/v1/vendaasdaqw3eqs', (params || null));\n },\n vendasBlob(params) {\n return Ajax.getBlob('/v1/vendas', (params || null));\n },\n empresas() {\n return this.Empresa.todas();\n },\n vendedores() {\n return Ajax.get('/v1/vendedor/lista');\n },\n cards(action, params) {\n return Ajax.get(`/v1/dashboard/cards/${action}`, (params || null));\n },\n existeVendas() {\n return Ajax.get('v1/vendas/existe-vendas');\n },\n painelVendas(params) {\n return Ajax.get(`/v1/vendas/lista/1?${params}`);\n }\n },\n DashBoardEditor: {\n criarUmaNova: (param) => Ajax.postJson(`v2/dashboards`, param),\n listarTodas: () => Ajax.get(`/v2/dashboards/`),\n listarWidGets: () => Ajax.get('v2/dashboardGallery/widgets'),\n listarInformacoes: () => Ajax.get(`/v2/dashboards/true`),\n listarUm: (id) => Ajax.get(`v2/dashboards/${id}`),\n removerUm: (id) => Ajax.delete(`v2/dashboards/${id}`),\n alterar: (param, id) => Ajax.patchJson(`v2/dashboards/${id}`, param),\n AlterarFiltrosCard: (id, param) => Ajax.patchJson(`/v2/dashboardItems/${id}/dashboardItemCardFilter`, param),\n AlterarFiltrosChartLike: (id, param) => Ajax.patchJson(`/v2/dashboardItems/${id}/dashboardItemChartFilter`, param),\n removeFiltro: (id) => Ajax.delete(`/v2/dashboardItems/${id}/dashboardItemFilter`)\n },\n Metas: {\n salvar: (param) => Ajax.postJson(`/v1/metas`, param),\n exportarModelo: (parms) => Ajax.getBlob(`/v1/metas/exportar-modelo${parms}`),\n estagioConfiguracao: (ano) => Ajax.get(`/v1/metas/${ano}/estagio-configuracao`),\n getByEmpresaAnoMes: (empresa, ano, mes) => Ajax.get(`/v1/metas/${empresa}/${ano}/${mes}`),\n getVendedores: (empresa) => Ajax.get(`/v1/metaVendedor/${empresa}/vendedores-ultimo-mes`),\n salvarVendedoresMetas: (empresa, params) => Ajax.postJson(`./v1/MetaVendedor/${empresa}`, params),\n getDiasMetaVendedor: (empresa, params) => Ajax.get(`/v1/MetaVendedor/${empresa}`, params),\n deletarPeriodoMetasVendedor: (empresa, { periodo }) => Ajax.delete(`/v1/MetaVendedor/${empresa}?periodo=${periodo}`),\n salvarNiveisMetaGeral: (NomeNivelMeta, PercentualDeCrescimento, PercentualBoleto1, filtros) => Ajax.postJson('/v1/metas/salvar-modelo', { NomeNivelMeta, PercentualDeCrescimento, PercentualBoleto1, ...filtros }),\n deletarModelos: (idNivelMeta, removerMetasJaCadastradas) => Ajax.delete(`/v1/metas/excluir-modelo?id=${idNivelMeta}&RemoverNiveisDeMeta=${removerMetasJaCadastradas}`),\n listarModelos: () => Ajax.get('/v1/metas/listar-modelos'),\n atualizarModeloDeNivel: ({ _id, nomeNivelMeta, percentualDeCrescimento, percentualBoleto1, ...rest }) => Ajax.postJson('/v1/metas/salvar-modelo', { _id: _id, NomeNivelMeta: nomeNivelMeta, PercentualDeCrescimento: percentualDeCrescimento, PercentualBoleto1: percentualBoleto1, ...rest }),\n listarNiveisMeta: (metaId) => Ajax.get(`/v1/metas/listar-niveis/`, { metaId }),\n removerMeta: (metaId) => Ajax.delete(`/v1/metas/remover-meta?metaId=${metaId}`)\n },\n MetasConfiguracao: {\n salvar: (empresa, diaSemanaLojaFechada, diaSemanaLojaAberta) => Ajax.postJson(`/v1/metas-configuracao/${empresa}`, { diaSemanaLojaFechada: diaSemanaLojaFechada, diaSemanaLojaAberta: diaSemanaLojaAberta }),\n get: (empresa) => Ajax.get(`/v1/metas-configuracao/${empresa}`),\n obterHistorico: (param) => Ajax.postJson(`/v1/metas-configuracao/historico`, param)\n },\n Vendas: {\n total: (search) => Ajax.get(`/v1/vendas/total`, search),\n lista: (page, search) => Ajax.get(`/v1/vendas/lista/${page}`, search),\n vendedores: () => Ajax.get(`/v1/vendedor/lista/`),\n exportar: (search) => Ajax.get(`/v1/vendas/solicitarListaVendas`, search),\n deletarVendas: (idsVendas) => {\n return Ajax.delete(`/v1/vendas`, {\n data: idsVendas\n });\n },\n atualizarVendedores: (params) => Ajax.postJson(`/v1/vendas/alterar-vendedor`, params),\n multiKPI: (params) => Ajax.getBlob(`/v1/vendas/`, params),\n multiKpiJson: (params) => Ajax.get(`/v1/vendas/`, params)\n },\n Regras: {\n salvar: (params) => Ajax.postJson('v1/regras/salvar', params),\n listar: () => Ajax.get('v1/regras/listar'),\n deletar: (id) => Ajax.delete(`v1/regras/remove?Id=${id}`),\n listarUsuarios: () => Ajax.get('v1/regras/listar-usuarios'),\n listarAutorizacoes: () => Ajax.get('v1/regras/listar-autorizacoes')\n },\n Relatorios: {\n exportar: (filtros) => Ajax.get(`v1/vendas/relatorios/exportar-relatorio`, filtros)\n },\n Vendedores: {\n totalVendedores: () => Ajax.get(`/v1/vendedor/total`),\n vendedores: (filters, currentPage) => Ajax.get(`/v1/vendedor/lista/${currentPage}`, { ...filters }),\n deletarVendedores: (ids) => Ajax.delete('/v1/vendedores', { data: ids }),\n editarVendedor: (id, vendedor) => Ajax.post(`/v1/vendedor/${id}`, { ...vendedor }),\n mesclarExcluir: (vendedores) => Ajax.postJson('v1/vendedoresduplicados/unificarVendedores', { ...vendedores })\n },\n Cluster: {\n criarUmCluster: (cluster) => Ajax.postJson('/v2/cluster/', cluster),\n listarTodos: (tipo) => Ajax.get(`/v2/cluster/${tipo || 0}`),\n listarUm: (id) => Ajax.get(`/v2/cluster/${id}`),\n editarUmGrupo: (parms, id) => Ajax.patchJson(`/v2/cluster/${id}`, parms),\n excluirUm: (id) => Ajax.delete(`/v2/cluster/${id}`)\n },\n Campanhas: {\n clickLandingPageFX() {\n return Ajax.postJson('/v1/campanha/clickLandingPageFX', { url: window.location.href });\n }\n },\n Enum: {\n /*\n Lista de enums disponíveis\n \"local-empresa\"\n \"marcas\"\n \"status-arquivo\"\n \"tipo-boleto\"\n \"tipo-documento\"\n \"tipo-documento-importado\"\n \"tipo-empresa\"\n \"tipo-relatorio\"\n \"indicadores\"\n \"situacoes-venda\"\n \"telas-plataforma\"\n \"funcionalidades-tela\"\n \"tipo-valor\"\n */\n getEnum: (name, call) => Ajax.get(`/v1/enum/${name}`)\n },\n Public: {\n DownloadVendasStorage(params) {\n return Ajax.getBlob('/v1/vendas/downloadVendasStorage/', params);\n },\n DownloadListaArquivosStorage(params) {\n return Ajax.getBlob('/v1/arquivo/downloadListaArquivosStorage/', params);\n },\n DownloadArquivosVendaStorage(params) { // selecionados\n return Ajax.getBlob('/v1/arquivo/downloadArquivosVendaStorage/', params);\n },\n DownloadRelatorio(params) {\n return Ajax.getBlob('/v1/vendas/relatorios/download-relatorio', params);\n }\n },\n Chat: {\n zendeskToken() {\n return Ajax.get('v1/zendesk');\n }\n },\n Configs: {\n listarTodos: () => Ajax.get('v2/configuration'),\n atualizar: (parms, id) => Ajax.patchJson(`v2/configuration?configurationId=${id}`, parms)\n }\n};\n\n// rotas que deve ser disponibilizadas apenas em modo desenv\nif (process.env.NODE_ENV === 'development') {\n Request.Dev = {\n login: (cliente, usuario) => Ajax.get(`/v1/dev/login?clienteId=${cliente}&userId=${usuario}`)\n };\n}\n\nexport default Request;\n","export default [{\n path: '/form',\n name: 'Form',\n component: (resolve) => require(['components/views/Cadastros'], resolve),\n meta: { title: 'Formulário', icon: 'icon-paper' }\n}, {\n path: '/upload',\n name: 'upload',\n component: (resolve) => require(['components/views/Upload'], resolve),\n meta: { title: 'Upload', icon: 'h-icon-upload' }\n}, {\n path: '/notificacao',\n name: 'notificacao',\n component: (resolve) => require(['components/views/notificacao/Index'], resolve),\n meta: { title: 'Notificação' }\n}, {\n path: '/notificacao/:id',\n name: 'notificacao-mensagem',\n component: (resolve) => require(['components/views/notificacao/Mensagem'], resolve),\n meta: { title: 'Notificação Detalhe' }\n}, {\n path: '/integracoes',\n name: 'integracoes-marketplace',\n component: (resolve) => require(['components/views/integracoes/Index'], resolve),\n meta: { title: 'Integrações' }\n}, {\n path: '/integracoes/fxdata/:id?',\n name: 'integracoes-fxdata',\n component: (resolve) => require(['components/views/integracoes/configuracao/Fxdata'], resolve),\n meta: { title: 'Integrações - FX Data' }\n}, {\n path: '/integracoes/pdvfinancas360/:id?',\n name: 'integracoes-financas360',\n component: (resolve) => require(['components/views/integracoes/configuracao/Financas360'], resolve),\n meta: { title: 'Integrações - Finanças 360' }\n}, {\n path: '/integracoes/chamadas',\n name: 'integracoes-chamadas',\n component: (resolve) => require(['components/views/integracoes/Chamadas'], resolve),\n meta: { title: 'Integrações - Chamadas' }\n}, {\n path: '/integracoes/chamar-servico/fxdata/:id?',\n name: 'integracoes-chamarservico-fxdata',\n component: (resolve) => require(['components/views/integracoes/chamarServico/Fxdata'], resolve),\n meta: { title: 'Integrações - Chamar Serviço - FX Data' }\n}, {\n path: '/integracoes/chamar-servico/pdvfinancas360/:id?',\n name: 'integracoes-chamarservico-financas360',\n component: (resolve) => require(['components/views/integracoes/chamarServico/Financas360'], resolve),\n meta: { title: 'Integrações - Chamar Serviço - Finanças 360' }\n}, {\n path: '/integracoes/configuradas',\n name: 'integracoes-configuradas',\n component: (resolve) => require(['components/views/integracoes/Configuradas'], resolve),\n meta: { title: 'Integrações - Configuradas' }\n}, {\n path: '/metas/exportar-modelo',\n name: 'metas-exportar-modelo',\n component: (resolve) => require(['components/views/metas/ExportarModelo'], resolve),\n meta: { title: 'Metas - Exportar Modelo' }\n}, {\n path: '/metas/configurar',\n name: 'metas-configurar',\n component: (resolve) => require(['components/views/metas/ConfigurarMetas'], resolve),\n meta: { title: 'Metas - configurar' }\n}, {\n path: '/metas/importar-modelo',\n name: 'metas-importar-modelo',\n component: (resolve) => require(['components/views/metas/ImportarModelo'], resolve),\n meta: { title: 'Metas - Importar Modelo' }\n}, {\n path: '/metas/estagio-configuracao',\n name: 'metas-estagio-configuracao',\n component: (resolve) => require(['components/views/metas/EstagioConfiguracao'], resolve),\n meta: { title: 'Metas - Estágio Configuração' }\n}, {\n path: '/arquivos',\n name: 'arquivos-status',\n component: (resolve) => require(['components/views/arquivos/Index'], resolve),\n meta: { title: 'Arquivos' }\n}, {\n path: '/arquivos/upload',\n name: 'arquivos-upload',\n component: (resolve) => require(['components/views/arquivos/Upload'], resolve),\n meta: { title: 'Arquivos - Upload' }\n}, {\n path: '/arquivos/:id',\n name: 'arquivos-detalhe',\n component: (resolve) => require(['components/views/arquivos/Detalhe'], resolve),\n meta: { title: 'Arquivos - Detalhe' }\n}, {\n path: '/vendas',\n name: 'vendas',\n component: (resolve) => require(['components/views/vendas/Index'], resolve),\n meta: { title: 'Vendas' }\n}, {\n path: '/relatorios',\n name: 'relatorios',\n component: (resolve) => require(['components/views/relatorios/Index'], resolve),\n meta: { title: 'Relatórios' }\n},\n{\n path: '/regras',\n name: 'regras',\n component: (resolve) => require(['components/views/regras-usuario/Index'], resolve),\n meta: { title: 'Regras de usuário' }\n},\n{\n path: '/vendedores',\n name: 'vendedores',\n component: (resolve) => require(['components/views/vendedores/Index'], resolve),\n meta: { title: 'Vendedores' }\n},\n{\n path: '/empresas',\n name: 'empresas',\n component: (resolve) => require(['components/views/Empresas/Index'], resolve),\n meta: { title: 'Empresas' }\n},\n{\n path: '/revendedores',\n name: 'revendedores',\n component: (resolve) => require(['components/views/revendedores/Index'], resolve),\n meta: { title: 'Revendedores' }\n}\n];\n","import { Module } from 'vuex';\nimport { RootState } from '../..';\nimport { Dashboard as state } from './state';\nimport { DashboardState } from './types';\nimport { mutations } from './mutations';\nimport { actions } from './actions';\nimport { getters } from './getters';\n\nexport const Dashboard: Module = {\n state,\n mutations,\n actions,\n getters\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/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/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/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/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=63eea8d7&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\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","\nconst BlobRequest = () => {\n const getFilename = (resp, filename) => {\n if (filename !== undefined && filename !== '' && filename !== null) {\n return filename;\n }\n const contentDisposition = resp._response.headers['content-disposition'];\n if (contentDisposition) {\n const regex = /filename=(.*);/gm;\n const match = regex.exec(contentDisposition);\n return match[1] || 'download';\n }\n return 'download';\n };\n\n return {\n forceDownload(response, fileName) {\n if (response.ok === undefined || response.ok === false) {\n throw Error('Response não é válido');\n }\n\n const url = window.URL.createObjectURL(response);\n const link = document.createElement('a');\n\n link.href = url;\n link.setAttribute('download', getFilename(response, fileName));\n document.body.appendChild(link);\n link.click();\n link.remove();\n }\n };\n};\nexport default BlobRequest();\n","const heyuiConfig = () => {\n HeyUI.config('menu', {\n keyName: 'key',\n titleName: 'title',\n childrenName: 'children'\n });\n HeyUI.config('datepicker', {\n startWeek: 7\n });\n};\n\nexport default heyuiConfig;\n","import Vue from 'vue';\nimport manba from 'manba';\n\nVue.filter('format', (value, format) => {\n if (value) {\n return Manba(value).format(format || 'l');\n }\n return '';\n});\n\nVue.filter('distance', (date) => {\n const hours = manba().distance(date, manba.HOUR);\n if (hours == 0) {\n const mins = manba().distance(date, manba.MINUTE);\n return `${mins}Minuto`;\n } else if (hours < 24) {\n return `${hours}Hora`;\n } else {\n const days = manba().distance(date, manba.DAY);\n return `${days}Dia`;\n }\n});\n","const getOperation = ({ isResale, isRetail }) => {\n if (isResale && isRetail) return 'Hibrido';\n if (!isResale && isRetail) return 'Varejo';\n if (isResale && !isRetail) return 'VD';\n if (!isResale && !isRetail) return 'Não Definida';\n};\n\nexport const initialState = {\n refEmpresa: '',\n empresas: [],\n modalEmpresa: false,\n modalEmpresaVd: false,\n source: '',\n valuesToEdit: {},\n valuesToEditEstrutura: {}\n};\n\nexport const mutations = {\n setEmpresas(state, payload) {\n state.empresas = payload;\n },\n handleFilterByOperation(state, payload) {\n const filter = state.empresas.filter(e => e.operacao !== payload);\n state.empresas = filter;\n },\n handleOpenModalEmpresas(state, payload) {\n state.modalEmpresa = payload;\n },\n handleOpenModalVd(state, payload) {\n state.modalEmpresaVd = payload;\n },\n setValuesToEdit(state, payload) {\n state.valuesToEdit = payload;\n },\n setSource(state, payload) {\n state.source = payload;\n },\n setReferenceEmpresa(state, payload) {\n state.refEmpresa = payload;\n }\n};\n\nexport const actions = {\n async getEmpresas(context) {\n const response = await R.Empresa.todas();\n const empresas = response.data.map(e => {\n return { nome: e.nomeFantasia, operacao: getOperation(e), ...e };\n });\n context.commit('setEmpresas', empresas);\n },\n novaEstrutura(context, payload) {\n if (payload) {\n\n }\n context.commit('handleOpenModalVd', true);\n context.commit('setValuesToEdit', {});\n }\n};\n\nexport const getters = {\n};\n\nexport default {\n state: initialState,\n mutations: {\n ...mutations\n },\n getters: {\n ...getters\n },\n actions: {\n ...actions\n }\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","const lang = {\n h: {\n locale: 'pt-BR',\n common: {\n cancel: 'Cancelar',\n confirm: 'Confirmar',\n clear: 'Limpar',\n nullOptionText: 'por favor escolha',\n empty: 'vazio',\n any: 'qualquer'\n },\n confirm: {\n title: 'Confirmar'\n },\n checkbox: {\n limitSize: 'Você pode selecionar até {limitSize}'\n },\n select: {\n nullOptionText: 'por favor escolha',\n placeholder: 'selecionar',\n emptyContent: 'nenhum resultado encontrado',\n searchPlaceHolder: 'pesquisar',\n limitSize: 'Você pode selecionar até {limitSize}.'\n },\n category: {\n placeholder: 'por favor escolha'\n },\n cascader: {\n placeholder: 'por favor escolha'\n },\n categoryModal: {\n limitWords: 'Você pode selecionar até {size} dados.',\n emptyContent: 'Nenhum resultado encontrado',\n total: 'total'\n },\n categoryPicker: {\n nullOptionText: 'por favor escolha',\n placeholder: 'selecionar',\n total: 'total',\n limitSize: 'Você pode selecionar até {0} dados.'\n },\n autoComplate: {\n placeholder: 'Entrada de pesquisa',\n emptyContent: 'Nenhum resultado encontrado'\n },\n validation: {\n base: {\n required: ' não pode ser vazio',\n maxLen: ' o comprimento do texto não pode exceder {value} bits',\n minLen: ' comprimento do texto não pode ser inferior a {value} bits',\n max: ' não maior que {value}',\n min: ' não pode ser menor que {value}'\n },\n type: {\n int: ' não é um formato inteiro correto',\n number: ' não é um formato digital correto',\n email: ' não é um formato de caixa de correio correto',\n url: ' não é um formato de URL correto',\n tel: ' não é um formato de número de telefone correto',\n mobile: ' não é um formato de número de celular correto',\n globalmobile: ' não é um formato de número de celular internacional correto'\n }\n },\n date: {\n today: 'Hoje',\n yesterday: 'Ontem',\n year: 'ano',\n month: 'meses',\n week: 'semana',\n quarter: 'trimestre',\n day: 'dia',\n header: {\n year: '',\n month: '',\n day: ''\n },\n show: {\n week: '{year} {weeknum}th semana {daystart} - {dayend}',\n weekInput: '{year} {week}th semana',\n quarter: '{year} {quarter}th trimestre'\n },\n months: {\n january: 'Jan',\n february: 'Fev',\n march: 'Mar',\n april: 'Abr',\n may: 'Mai',\n june: 'Jun',\n july: 'Jul',\n august: 'Ago',\n september: 'Set',\n october: 'Out',\n november: 'Nov',\n december: 'Dez'\n },\n weeks: {\n monday: 'Seg',\n tuesday: 'Ter',\n wednesday: 'Qua',\n thursday: 'Qui',\n friday: 'Sex',\n saturday: 'Sáb',\n sunday: 'Dom'\n }\n },\n datepicker: {\n placeholder: 'selecionar data',\n startTime: 'Início',\n endTime: 'Fim',\n customize: 'personalizar',\n start: 'Início',\n end: 'Fim'\n },\n wordlimit: {\n warn: 'Você está limitado a entrar {0} palavras'\n },\n wordcount: {\n warn: 'Você excedeu {0} palavras'\n },\n treepicker: {\n selectDesc: 'Você selecionou {0} items',\n placeholder: 'por favor selecione'\n },\n search: {\n placeholder: 'pesquisar...',\n searchText: 'Pesquisar'\n },\n taginput: {\n limitWords: 'Você excedeu o limite de caracteres'\n },\n table: {\n empty: 'Nenhum resultado encontrado'\n },\n uploader: {\n upload: 'Upload',\n reUpload: 'ReUpload'\n },\n pagination: {\n incorrectFormat: 'O formato do valor digitado está incorreto',\n overSize: 'O valor que você inseriu excede o intervalo',\n totalBefore: 'Total',\n totalAfter: 'items',\n sizeOfPage: '{size} items/página'\n }\n }\n};\n\nexport default lang;\n","import { DashboardState, IFiltroLocal, IItemsProperties, ILayout, Widgets } from './types';\nimport { IDocumentos, IEmpresas } from '@/types';\n\nexport const createCard = ({ label, reference, isMax, x, y, i }: IItemsProperties) => ({\n agruparPor: 'Dia',\n h: 4,\n i,\n label,\n maxH: 4,\n maxW: 12,\n minH: 4,\n minW: 6,\n moved: false,\n reference,\n static: false,\n tipo: Widgets.card,\n w: isMax ? 12 : 6,\n x: x,\n y: y\n});\n\nexport const createChart = ({ label, reference, isMax, x, y, i, agruparPor = '' }: IItemsProperties) => ({\n agruparPor,\n h: 12,\n i,\n label,\n maxH: 12,\n maxW: 24,\n minH: 12,\n minW: 12,\n moved: false,\n reference,\n static: false,\n tipo: Widgets.chart,\n w: isMax ? 24 : 12,\n x: x,\n y: y\n});\n\nexport const createTable = ({ label, reference, isMax, x, y, i, agruparPor = '' }: IItemsProperties) => ({\n agruparPor,\n h: 12,\n i,\n label,\n maxH: 12,\n maxW: 24,\n minH: 12,\n minW: 12,\n moved: false,\n reference,\n static: false,\n tipo: Widgets.table,\n w: isMax ? 24 : 12,\n x: x,\n y: y\n});\n\nexport const Dashboard: DashboardState = {\n dashboardList: [],\n currentDash: '',\n currentDashboardName: '',\n isEditorMode: false,\n isEditar: false,\n shotcutDate: {\n paramsEnvio: {}\n },\n gridLayoutEditor: [] as ILayout[],\n empresasOptions: [] as IEmpresas[],\n tipoDeDocumento: [] as IDocumentos[],\n filtrosLocaisPreenchidos: [] as IFiltroLocal[]\n};\n","import { compare } from 'fast-json-patch';\n\nexport const initialState = {\n modalNovoGrupo: false,\n agrupamentos: []\n};\n\nexport const mutations = {\n openModalGrupo(state, payload) {\n state.modalNovoGrupo = payload;\n },\n createGrupo(state, payload) {\n payload.id = state.agrupamentos.length + 1;\n const novaListaAgrupamentos = [ ...state.agrupamentos, payload ];\n state.agrupamentos = novaListaAgrupamentos;\n },\n updateGrupo(state, payload) {\n const { nome, vendedores, id } = payload;\n const novaListaAgrupamentos = state.agrupamentos\n .map(g => {\n if (g.id === id) {\n g.vendedores = vendedores;\n g.nome = nome;\n }\n return g;\n });\n\n state.agrupamentos = novaListaAgrupamentos;\n },\n deleteGrupo(state, payload) {\n const arrayAtualizado = state.agrupamentos.filter(g => {\n return g.id !== payload;\n });\n state.agrupamentos = arrayAtualizado;\n },\n setGrupos(state, payload) {\n if (payload.data) {\n const grupos = payload.data.map(g => {\n return {\n id: g._id,\n nome: g.clusterName,\n vendedores: g.clusterMembers\n };\n });\n state.agrupamentos = grupos;\n return;\n }\n state.agrupamentos = payload;\n }\n};\n\nexport const actions = {\n async getGrupos(context) {\n const grupos = await R.Cluster.listarTodos();\n context.commit('setGrupos', grupos);\n },\n async patchGrupos(context, payload) {\n const { nome, vendedores, id } = payload;\n const currentCluester = await R.Cluster.listarUm(id);\n const { clusterMembers } = currentCluester.data;\n\n const patchOp = () => {\n return compare(\n { clusterMembers: clusterMembers.map(m => m.idVendedor) },\n { clusterMembers: vendedores.map(m => m.idVendedor) });\n };\n\n const parms = [{\n 'op': 'replace',\n 'path': 'clusterName',\n 'value': nome\n }, ...patchOp()\n ];\n\n try {\n await R.Cluster.editarUmGrupo(parms, id);\n context.commit('updateGrupo', payload);\n } catch (error) {\n console.log(error);\n }\n },\n async excluirUmGrupo(context, payload) {\n await R.Cluster.excluirUm(payload);\n context.commit('deleteGrupo', payload);\n }\n};\n\nexport const getters = {\n};\n\nexport default {\n state: initialState,\n mutations: {\n ...mutations\n },\n getters: {\n ...getters\n },\n actions: {\n ...actions\n }\n};\n","import { GetterTree } from 'vuex';\nimport { RootState } from '../..';\nimport { DashboardState, DashboardGetters, IDashboard, IFiltroLocal, ILayout } from './types';\n\nexport const getters: GetterTree = {\n [DashboardGetters.FIND_ITEM_GRID_LAYOUT]: (state) => (id: number) => {\n return state.gridLayoutEditor.find(itemLayout => itemLayout.i === id);\n },\n [DashboardGetters.FIND_DASHBOARD]: (state) => (key: string) => {\n return state.dashboardList.find(dash => dash.key === key);\n },\n [DashboardGetters.FIND_LAYOUT_BY_CURRENT_DASH]: (state) => (key: string) => {\n const dash = state.dashboardList.find(dash => dash.key === state.currentDash) as IDashboard;\n\n if (!dash) return {};\n\n return dash.layout.find((item: ILayout) => item.i === key);\n },\n [DashboardGetters.FIND_LOCAL_FILTER]: (state) => (id: number) => {\n return state.filtrosLocaisPreenchidos.find((item: IFiltroLocal) => item.i === id);\n },\n [DashboardGetters.IS_CURRENT_DEFAULT_DASHBOARD]: (state) => {\n const dashboard = state.dashboardList.find(dashboard => dashboard.key === state.currentDash);\n\n if (!dashboard) return false;\n\n return dashboard.isDefault || false;\n },\n [DashboardGetters.FIND_DEFAULT_DASHBOARD]: (state) => {\n const dashboard = state.dashboardList\n .find(dashboard => dashboard.isSelectedToViewByDefault || dashboard.isDefaultDashboard);\n if (!dashboard) return '';\n return dashboard.key;\n },\n [DashboardGetters.FIND_DASHBOARD_BY_ID]: (state) => (id: number) => {\n return state.dashboardList.find((dashboard: IDashboard) => dashboard.id === id);\n }\n\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sub-menu-vue\"},[_c('Menu',{ref:\"menu\",attrs:{\"accordion\":true,\"datas\":_vm.datas,\"className\":\"h-menu-white\"},on:{\"click\":_vm.trigger}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/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/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sub-menu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/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/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sub-menu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./sub-menu.vue?vue&type=template&id=520efcfb&\"\nimport script from \"./sub-menu.vue?vue&type=script&lang=js&\"\nexport * from \"./sub-menu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./sub-menu.vue?vue&type=style&index=0&lang=less&\"\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","import utils from 'hey-utils';\nimport manba from 'manba';\nimport Humanize from 'humanize-plus';\n\nconst rclass = /[\\t\\r\\n\\f]/g;\n\nexport default utils.extend({}, utils, {\n toSelectEmpresa(resp) {\n if ('ok' in resp) {\n const { data } = resp;\n !resp.ok\n ? resp = []\n : resp = data.map(empresa => empresa);\n }\n return (resp.data || resp || []).map((empresa, idx) => {\n return {\n key: empresa._id,\n title: empresa.nomeFantasia\n };\n });\n },\n arredondarComCasasDecimais(number) {\n return Math.round((number * 100)) / 100;\n },\n debounce(func, wait) {\n let timer = null;\n return function () {\n clearTimeout(timer);\n timer = setTimeout(func, wait);\n };\n },\n toSelect(id, title, resp) { // caso precise alterar estrutura do objeto\n if (!resp) resp = [];\n return (resp.data || resp || []).map((item, idx) => {\n return {\n key: item[id],\n title: item[title]\n };\n });\n },\n getClass(elem) {\n return (elem.getAttribute && elem.getAttribute('class')) || '';\n },\n hasClass(elem, selector) {\n let className;\n className = ` ${selector} `;\n if (elem.nodeType === 1 && (` ${this.getClass(elem)} `)\n .replace(rclass, ' ')\n .indexOf(className) > -1) {\n return true;\n }\n\n return false;\n },\n getPermission(...actions) {\n const storage = localStorage.getItem('v360.permissao');\n if (storage !== 'undefined' && !this.isNullOrEmpty(storage)) {\n return actions.flat().some(item => JSON.parse(storage).includes(item));\n } else {\n return false;\n }\n },\n getPermissionNames(...actions) {\n const storage = localStorage.getItem('v360.permissao');\n\n try {\n return actions.flat().filter(item => JSON.parse(storage).includes(item));\n } catch (e) {\n return [];\n }\n },\n handleErrorRequest(response) {\n if (response) {\n if (response.status === 403) {\n return 'Permissão necessária';\n } else {\n return response.status !== 200 ? 'Ocorreu algum erro em sua pesquisa.' : '';\n }\n } else {\n return 'Ocorreu algum erro em sua pesquisa.';\n }\n },\n splitDate(dateArray) {\n if (Array.isArray(dateArray)) {\n const array = typeof dateArray[0] !== 'string' ? this.convertDateToISOString(dateArray) : dateArray;\n return array.map(d => d.split('T')[0]);\n } else {\n return dateArray.split('T')[0];\n }\n },\n isEmptyString: function (val) {\n const regex = new RegExp('\\\\S', 'g');\n return !regex.test(val);\n },\n isNullOrEmpty: function (value) { // Verifica se valor é null | vazio | undefined | [] | {}\n if (Array.isArray(value)) {\n return !value.length;\n }\n if (Object.prototype.toString.call(value) == '[object Object]') {\n return !Object.entries(value).length;\n }\n\n return !!(value == undefined || value == null || value == '');\n },\n toInt(num, showNull) {\n return num ? Number(num).toLocaleString('pt-BR', { minimumFractionDigits: 0 }) : (showNull ? '0' : '');\n },\n toMoney(num, digits, showNull) { // FORMATA REAL\n // return num ? Number(num).toLocaleString('pt-BR', { minimumFractionDigits: digits || 2, style: 'currency', currency: 'BRL' }) : (showNull ? '' : 'R$ 0,00');\n return 'R$ ' + Humanize.compactInteger(num, 1);\n },\n toMoney2(num, digits, showNull) { // FORMATA REAL\n return num ? Number(num).toLocaleString('pt-BR', { minimumFractionDigits: digits || 2, style: 'currency', currency: 'BRL' }) : (showNull ? '' : 'R$ 0,00');\n },\n toPercent(num, digits, showNull) {\n return num ? Number(num * 100).toLocaleString('pt-BR', { minimumFractionDigits: digits !== undefined ? digits : 2, maximumFractionDigits: digits !== undefined ? digits : 2 }) + '%' : (showNull ? '0,00 %' : '');\n },\n removeElementFromArray(array, objectId) {\n const idx = array.findIndex(x => x._id === objectId);\n if (idx !== -1) {\n array.splice(idx, 1);\n }\n },\n formatDateTime: (dateTime, format = 'DD/MM/YYYY hh:mm') => moment(dateTime).utc(false).format(format),\n formatDateTimeWithUtc: (dateTime, format = 'DD/MM/YYYY hh:mm') => moment(dateTime).utc(true).format(format),\n toCSharpDate: (date, format = 'DD/MM/YYYY') => manba(date, format).format('YYYY-MM-DD'),\n toSimOuNao: (value) => value ? 'Sim' : 'Não',\n\n getIdsTable(table) {\n return table.getSelection().map(x => x._id);\n },\n createNotification(title, body, icon) {\n title = title || 'F360 - Performance';\n const options = {\n icon: icon || 'https://www.financas360.com.br/favicon.ico',\n body: body || ''\n };\n\n if (!('Notification' in window)) {\n return null;\n } else if (Notification.permission === 'granted') {\n try {\n return new Notification(title, options);\n } catch (e) {\n if (e.name == 'TypeError') {\n return false;\n }\n }\n } else if (Notification.permission !== 'denied') {\n Notification.requestPermission().then(function (permission) {\n if (permission === 'granted') {\n try {\n return new Notification(title, options);\n } catch (e) {\n if (e.name == 'TypeError') {\n return false;\n }\n }\n }\n });\n }\n return null;\n },\n convertDateToISOString(value) {\n if (value === undefined) return;\n\n if (Array.isArray(value)) {\n let dates = this.removeElementsBySpecifiedValue(value, undefined);\n return dates.map(v => typeof v.toISOString === 'function' ? v.toISOString() : v);\n } else {\n return typeof value.toISOString === 'function' ? value.toISOString() : value;\n }\n },\n symmetricDifference(a, b) {\n const sA = new Set(a);\n const sB = new Set(b);\n return [...a.filter(x => !sB.has(x)), ...b.filter(x => !sA.has(x))];\n },\n flatAll(array) {\n return array.flat(Infinity);\n },\n removeElementsBySpecifiedValue(array, ...args) {\n return array.filter(v => !args.includes(v));\n },\n getFirstDayInMonth(year = false, month = false) {\n return moment(`${year}-${month + 1}-1`, 'YYYY/MM/DD').startOf('month').toDate();\n },\n getLastDayInMonth(year = false, month = false) {\n return moment(`${year}-${month + 1}-1`, 'YYYY/MM/DD').endOf('month').toDate();\n },\n getUniqueDayInMonth(yearParams = false, monthParams = false, day) {\n let year = yearParams;\n let month = monthParams;\n var date = new Date(year, month, 1);\n var days = [];\n while (date.getMonth() === month) {\n if (date.getDay() === day) {\n days.push(new Date(date));\n }\n date.setDate(date.getDate() + 1);\n }\n return days;\n },\n arrayToObject(array) {\n return array.reduce(function (result, item) {\n var key = Object.keys(item)[0];\n result[key] = item[key];\n return result;\n }, {});\n },\n getAllDaysInMonth(yearParams = false, monthParams = false) {\n let year = yearParams;\n let month = monthParams;\n\n var date = new Date(year, month, 1);\n var days = [];\n while (date.getMonth() === month) {\n days.push(new Date(date));\n\n date.setDate(date.getDate() + 1);\n }\n return days;\n },\n getDay(year = false, month = false, day) {\n return moment(`${year}-${month + 1}-${day}`).toDate();\n },\n notify(body, onClick, title, icon) {\n const notification = this.createNotification(title, body, icon);\n if (typeof onClick === 'function') {\n notification.onclick = onClick;\n }\n return notification;\n },\n formError(form, errors) {\n const messages = form.messages;\n if (!(errors instanceof Array)) {\n return;\n }\n errors.forEach(error => {\n const field = error.field.toLowerCase();\n messages[field].message = error.message;\n messages[field].valid = false;\n messages[field].prop = '';\n });\n },\n DatesIsEquals(date1, date2) {\n return this.convertDateToISOString(date1) === this.convertDateToISOString(date2);\n },\n deepClone(obj) {\n if (obj === null) return null;\n let clone = Object.assign({}, obj);\n Object.keys(clone).forEach(\n key => (clone[key] = typeof obj[key] === 'object' ? this.deepClone(obj[key]) : obj[key])\n );\n return Array.isArray(obj) && obj.length\n ? (clone.length = obj.length) && Array.from(clone)\n : Array.isArray(obj)\n ? Array.from(obj)\n : clone;\n },\n maxWithCallback(array, callback) {\n const [max] = array.sort(callback);\n return max;\n },\n max(array) {\n const [max] = array.sort((a, b) => b - a);\n return max;\n },\n compararDataAnterior(dataBase, totalAnos) {\n const fevereiro = 1;\n\n const dataFormatada = moment(dataBase);\n\n let dataCalculada = new Date(dataBase.getFullYear() - (totalAnos || 1), dataBase.getMonth(), dataBase.getDate());\n\n // Verificar se o ano é bissexto, caso seja, retira um dia\n if (moment(dataFormatada).isLeapYear()) {\n if (moment(dataFormatada).month() === fevereiro) {\n dataCalculada = new Date(dataBase.getFullYear() - (totalAnos || 1), dataBase.getMonth(), dataBase.getDate() - 1);\n }\n }\n\n let diferencaDias = 0;\n const fatorDiaSemana = dataBase.getDay() - dataCalculada.getDay();\n if ((fatorDiaSemana < 0) && Math.abs(fatorDiaSemana) > 3) {\n diferencaDias = (7 - Math.abs(fatorDiaSemana));\n } else if ((fatorDiaSemana > 0) && Math.abs(fatorDiaSemana) > 3) {\n diferencaDias = (7 - Math.abs(fatorDiaSemana)) * -1;\n } else {\n diferencaDias = fatorDiaSemana;\n }\n return moment(new Date((diferencaDias * (1000 * 24 * 60 * 60)) + dataCalculada.getTime())).utc(false);\n },\n contarQuantidadeDeDias({ start, end }) {\n const startMoment = moment(start, 'DD/MM/YYYY');\n const endMomment = moment(end, 'DD/MM/YYYY');\n\n return endMomment.diff(startMoment, 'days');\n },\n contarDiasComAnoBissexto({ start, end }) {\n const startMoment = moment(start, 'DD/MM/YYYY');\n const endMomment = moment(end, 'DD/MM/YYYY');\n\n const days = endMomment.diff(startMoment, 'days');\n\n if (startMoment.isLeapYear()) {\n if (startMoment.month() === 1 || endMomment.month() === 1) {\n return days - 1;\n }\n }\n\n return days;\n },\n getReference: (ctx, ref) => {\n return new Promise(function (resolve) {\n var countRecursive = 0;\n\n function verifyReference(reference) {\n if (countRecursive === 300) {\n return;\n }\n\n if (!reference) {\n setTimeout(function () {\n verifyReference(ctx.$refs[ref]);\n }, 700);\n countRecursive++;\n } else {\n resolve(reference);\n }\n }\n verifyReference(ctx.$refs[ref]);\n });\n },\n paginacaoListas(data, atual, limit) {\n /*\n data = array\n atual = number página atual\n limit = limit de itens por página\n */\n let result = [];\n let items = data;\n let pageActual = atual;\n let limitItems = limit;\n let totalPage = Math.ceil(items.length / limitItems);\n let count = (pageActual * limitItems) - limitItems;\n let delimiter = count + limitItems;\n\n if (pageActual <= totalPage) {\n for (let i = count; i < delimiter; i++) {\n if (items[i] != null) {\n result.push(items[i]);\n }\n count++;\n }\n }\n return result || [];\n },\n getLocalJson: (key) => JSON.parse(utils.getLocal(key)),\n getV360User: function () {\n try {\n return this.getLocalJson('v360.user') || {};\n } catch {\n return {};\n }\n },\n changeSleep: function (callback, time) {\n setTimeout(callback, time || 0);\n },\n isEmptyWord(word) {\n return !/\\S/.test(word);\n },\n trackingF360(vue, eventName, eventCategory) {\n if (!vue || !vue.$gtag) return;\n let user = JSON.parse(localStorage.getItem('v360.user')) || {};\n let permissao = JSON.parse(localStorage.getItem('v360.permissao')) || null;\n const isAdmin = permissao\n ? permissao.find(p => p === 'ListarRegras')\n : false;\n\n let userInfos;\n if (user.accessToken) {\n const info = this.parseJwt(user.accessToken);\n userInfos = info;\n }\n const getMarcas = () => {\n if (user.marcas && user.marcas.length) {\n const marcasString = user.marcas.reduce((acc, m, i) => {\n acc = `${acc}${i ? ',' : ''}${m.description}`;\n return acc;\n }, '');\n return marcasString;\n }\n return '';\n };\n const marcas = getMarcas();\n const getQtdEmpresas = () => {\n if (!userInfos) return 0;\n const qtd = userInfos['user.empresa'];\n if (qtd && qtd.length) {\n return qtd.split(',').length;\n }\n return 0;\n };\n const qtdEMpresas = getQtdEmpresas();\n const metaData = {\n 'event_category': eventCategory || 'Trackingf360',\n 'usuario_nome': user.nome || '',\n 'usuario_email': user.email || '',\n 'usuario_id': userInfos['user.id'] || '',\n 'grupo_nome': user.cliente || '',\n 'grupo_codigo': '',\n 'grupo_id': userInfos['user.cliente'] || '',\n 'grupo_tipo_perfil': isAdmin ? 'Administrador' : 'Usuário comum',\n 'grupo_marcas': marcas,\n 'grupo_qtd_empresas': qtdEMpresas,\n 'usuario_adm': !!isAdmin\n };\n this.sendGtag(vue, eventName, metaData);\n },\n parseJwt(token) {\n let base64Url = token.split('.')[1];\n let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n let jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n\n return JSON.parse(jsonPayload);\n },\n sendGtag(vue, eventName, obj) {\n vue.$gtag.event(eventName, obj);\n }\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-2!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sub-menu.vue?vue&type=style&index=0&lang=less&\"","// Card\nexport const cardReceita = 'CARD_Receita';\nexport const cardCupons = 'CARD_Cupons';\nexport const cardValorMedioProduto = 'CARD_VlMedioProduto';\nexport const cardValorMedioCupom = 'CARD_VlMedioCupom';\nexport const cardMediaItensCupom = 'CARD_MediaItensCupom';\nexport const cardBoleto1 = 'CARD_Boleto1';\nexport const cardTotalItens = 'CARD_ItensVendidos';\n\n// Chart\nexport const chartEvolucaoDiariaReceita = 'CHART_EvolDiariaReceita';\nexport const chartEvolucaoDiariaCupon = 'CHART_EvolDiariaCupons';\nexport const chartReceitaPorLoja = 'CHART_ReceitasPorLoja';\nexport const chartQuantidadeCuponsPorLoja = 'CHART_QtdCuponsPorLoja';\nexport const chartMediaItensCupom = 'CHART_MediaItensCupom';\nexport const chartValorMediaCupom = 'CHART_VlMedioCupom';\nexport const chartPercentualCupon = 'CHART_PercentualCupons';\nexport const chartConversaoVendas = 'CHART_ConversaoVendas';\nexport const chartValorMedioProduto = 'CHART_VlMedioProduto';\nexport const compararPeriodosDash = 'CompararPeriodosDash';\nexport const chartEvolucaoDiariaValorMedioCupom = 'CHART_EvolDiaria_VlMedioCupom';\nexport const chartEvolucaoDiariaMediaItensCupom = 'CHART_EvolDiaria_MediaItensCupom';\nexport const chartEvolucaoDiariaValorMedioProduto = 'CHART_EvolDiaria_VlMedioProduto';\nexport const chartEvolDiariaItensVendidos = 'CHART_EvolDiariaItensVendidos';\nexport const chartQtdItensVendidosPorLoja = 'CHART_QtdItensVendidosPorLoja';\n\n// export const dashboard = [cardReceita, cardCupons, cardValorMedioProduto, cardValorMedioCupom,cardMediaItensCupom, cardBoleto1, cardEvolucaoDiariaReceita, chartEvolucaoDiariaCupon, chartReceitaPorLoja, chartQuantidadeCuponsPorLoja, chartQuantidadeCuponsPorLoja, chartQuantidadeCuponsPorLoja]\n","export const downloadArquivo = 'DownloadArquivo';\nexport const uploadArquivo = 'UploadNovoArquivo';\nexport const exportarArquivos = 'ExportarArquivos';\nexport const listarArquivos = 'ListarArquivos';\n\nexport const arquivos = {\n status: [downloadArquivo, exportarArquivos, listarArquivos],\n upload: [uploadArquivo]\n};\n","export const editarVenda = 'EditarVenda';\nexport const listarVendas = 'ListarVendas';\nexport const exportarVendas = 'ExportarListaVendas';\nexport const excluirVenda = 'ExcluirVenda';\n\nexport const vendas = [editarVenda, listarVendas, exportarVendas, excluirVenda];\n","export const editarVendedor = 'EditarVendedores';\nexport const listarVendedores = 'ListarVendedores';\nexport const vendedores = [editarVendedor, listarVendedores];\n","export const relatorioPorEmpresas = 'RelatorioPorEmpresas';\nexport const relatorioPorVendedores = 'RelatorioPorVendedores';\nexport const relatorios = [relatorioPorEmpresas, relatorioPorVendedores];\nexport const relatoriosTipos = {\n [relatorioPorEmpresas]: 1,\n [relatorioPorVendedores]: 2\n};\n","export const visualizarMetas = 'VisualizarMetas';\nexport const configurarNovaMeta = 'ConfigurarNovaMeta';\nexport const excluirMeta = 'ExcluirMeta';\n\nexport const configurarModeloNivel = 'ConfigurarModeloNivel';\nexport const aplicarModeloNivel = 'AplicarModeloNivel';\nexport const excluirModeloNivel = 'ExcluirModeloNivel';\nexport const listarModelosNivel = 'ListarModelosNivel';\nexport const listarNiveisMeta = 'ListarNiveisMeta';\n\nexport const estagioConfiguracao = 'EstagioConfiguracao';\nexport const exportarModeloMeta = 'ExportarModeloMeta';\nexport const importarModeloMeta = 'ImportarModeloMeta';\nexport const metas = {\n configurar: [visualizarMetas, aplicarModeloNivel, excluirModeloNivel, listarModelosNivel, listarNiveisMeta, configurarNovaMeta, excluirMeta],\n exportar: [exportarModeloMeta],\n importar: [importarModeloMeta],\n estagio: [estagioConfiguracao]\n};\n","export const marketplace = 'AdicionarIntegracao';\nexport const editarIntegracao = 'EditarIntegracao';\nexport const removerIntegracao = 'RemoverIntegracao';\nexport const listarIntegracoes = 'ListarIntegracoes';\nexport const consultas = 'ChamarServico';\nexport const integracoes = {\n marketplace: [marketplace],\n configuradas: [removerIntegracao, editarIntegracao, listarIntegracoes],\n consultas: [consultas]\n};\n","export const adicionarRegra = 'AdicionarRegra';\nexport const removerRegra = 'RemoverRegra';\nexport const editarRegra = 'EditarRegra';\nexport const aplicarRegra = 'AplicarRegra';\nexport const listarRegras = 'ListarRegras';\nexport const listarUsuarios = 'ListarUsuarios';\nexport const regras = [adicionarRegra, removerRegra, editarRegra, aplicarRegra, listarRegras, listarUsuarios];\n","export const CriarDashboardPersonalizada = 'CriarDashboardPersonalizada';\nexport const RemoverDashboardPersonalizada = 'RemoverDashboardPersonalizada';\nexport const ModificarDashboardPersonalizada = 'ModificarDashboardPersonalizada';\nexport const AlternarEntreDashboardPersonalizadas = 'AlternarEntreDashboardPersonalizadas';\nexport const ModificarFiltroLocalWidgetsDashboard = 'ModificarFiltroLocalWidgetsDashboard';\n","import * as PermissoesDashboard from './permissions-screens/dashboard';\nimport * as PermissoesArquivos from './permissions-screens/arquivos';\nimport * as PermissoesVendas from './permissions-screens/vendas';\nimport * as PermissoesVendedores from './permissions-screens/vendedores';\nimport * as PermissoesRelatorios from './permissions-screens/relatorios';\nimport * as PermissoesMetas from './permissions-screens/metas';\nimport * as PermissoesIntegracoes from './permissions-screens/integracoes';\nimport * as PermissoesRegras from './permissions-screens/regras';\nimport * as PermissoesDashPersonlizada from './permissions-screens/dashPersonalizada';\nexport const dashboard = {\n ...PermissoesDashboard\n};\n\nexport const dashboardPersonalizada = {\n ...PermissoesDashPersonlizada\n};\n\nexport const arquivos = {\n ...PermissoesArquivos\n};\n\nexport const vendas = {\n ...PermissoesVendas\n};\n\nexport const vendedores = {\n ...PermissoesVendedores\n};\n\nexport const relatorios = {\n ...PermissoesRelatorios\n};\n\nexport const metas = {\n ...PermissoesMetas\n};\n\nexport const integracoes = {\n ...PermissoesIntegracoes\n};\n\nexport const regras = {\n ...PermissoesRegras\n};\n","export const useGlobalMixin = function (Vue) {\n Vue.mixin({\n data: function () {\n return {\n is_mobile: this.checkIfIsMobile(),\n toggle_off_nivel_meta: true\n };\n },\n methods: {\n checkIfIsMobile() {\n return !!(navigator.userAgent.match(/Android/i) ||\n navigator.userAgent.match(/iPhone/i) ||\n navigator.userAgent.match(/BlackBerry/i));\n }\n }\n });\n};\n","import { ActionTree } from 'vuex';\nimport { RootState } from '../..';\nimport {\n DashboardState,\n IItemDashboard,\n DashboardActions,\n DashboardMutations,\n IDashboardState,\n IDashboard,\n DashboardGetters,\n IFiltroLocal\n} from './types';\n\nexport const actions: ActionTree = {\n [DashboardActions.ATUALIZAR_NOME_ITEM_DASHBOARD](context, { id, updatedName } : IItemDashboard) {\n const item = context.getters[DashboardGetters.FIND_ITEM_GRID_LAYOUT](id);\n // @ts-ignore\n if (item && !Utils.isNullOrEmpty(updatedName)) {\n const { gridLayoutEditor } = context.state;\n\n const newState = gridLayoutEditor.map(itemLayout => itemLayout.i === item.i ? { ...itemLayout, label: updatedName } : itemLayout);\n\n context.commit(DashboardMutations.ATUALIZAR_GRID_LAYOUT_EDITOR, newState);\n }\n },\n [DashboardActions.SALVAR_DASHBOARD](context, newDashboard: IDashboardState) {\n const list = context.state.dashboardList;\n context.commit(DashboardMutations.ATUALIZAR_LISTA_DASHBOARD, [...list, { ...newDashboard, title: newDashboard.nome }]);\n context.commit(DashboardMutations.ATUALIZAR_NOME_DASHBOARD_ATUAL, '');\n context.commit(DashboardMutations.CLOSE_EDITOR_MODE);\n context.commit(DashboardMutations.ATUALIZAR_GRID_LAYOUT_EDITOR, []);\n context.commit(DashboardMutations.ATUALIZAR_DASHBOARD_SELECIONADA, newDashboard.key);\n context.commit(DashboardMutations.LIMPAR_LISTA_MODIFICACOES);\n context.commit(DashboardMutations.ATUALIZAR_IS_EDITAR, false);\n },\n [DashboardActions.SALVAR_DASHBOARD_EDITMODE](context, { id, layout, title }) {\n let list = context.state.dashboardList;\n const newDashboardList = list.map(dash => {\n if (dash.key === id) {\n dash.layout = layout;\n dash.title = title;\n }\n return dash;\n });\n\n context.commit(DashboardMutations.ATUALIZAR_LISTA_DASHBOARD, newDashboardList);\n },\n [DashboardActions.REMOVER_DASHBOARD]({ state, commit, getters }, id: number) {\n const list = state.dashboardList;\n\n const dashboardDelete = getters[DashboardGetters.FIND_DASHBOARD_BY_ID](id);\n\n // Não pode deletar a dash que contem isDefault como true\n if (dashboardDelete.isDefault) return;\n\n const newList = list.filter((dash: IDashboard) => dash.id !== id);\n commit(DashboardMutations.ATUALIZAR_LISTA_DASHBOARD, newList);\n commit(DashboardMutations.ATUALIZAR_DASHBOARD_SELECIONADA, getters[DashboardGetters.FIND_DEFAULT_DASHBOARD]);\n },\n [DashboardActions.ADICIONAR_FILTRO_LOCAL]({ state, commit, getters }, payload: IFiltroLocal) {\n const list = state.filtrosLocaisPreenchidos;\n const filtro = getters[DashboardGetters.FIND_LOCAL_FILTER](payload.i);\n\n if (filtro) {\n const newList = list.filter(filtro => filtro.i !== payload.i);\n\n commit(DashboardMutations.ATUALIZAR_LISTA_FILTROS_LOCAIS_PREENCHIDOS, [...newList, payload]);\n } else {\n commit(DashboardMutations.ATUALIZAR_LISTA_FILTROS_LOCAIS_PREENCHIDOS, [...list, payload]);\n }\n },\n [DashboardActions.REMOVER_FILTRO_LOCAL]({ state, commit, getters }, payload: number) {\n const filtro = getters[DashboardGetters.FIND_LOCAL_FILTER](payload);\n\n if (filtro) {\n const list = state.filtrosLocaisPreenchidos;\n\n const newList = list.filter(filtro => filtro.i !== payload);\n commit(DashboardMutations.ATUALIZAR_LISTA_FILTROS_LOCAIS_PREENCHIDOS, newList);\n }\n },\n [DashboardActions.ATUALIZAR_DASHBOARD_PADRAO]({ state, commit }, payload: string) {\n const listDashboard = state.dashboardList.map((dashboard: IDashboard) => {\n if (dashboard.isDefault) {\n return { ...dashboard, isDefault: false };\n } else if (dashboard.key === payload) {\n return { ...dashboard, isDefault: true };\n }\n\n return dashboard;\n });\n\n commit(DashboardMutations.ATUALIZAR_LISTA_DASHBOARD, listDashboard);\n }\n};\n","import { IDocumentos, IEmpresas } from '@/types';\n\nexport interface IFiltroLocal {\n empresas: string[]\n periodo: string,\n documentos: string[],\n i: number | string,\n incluirHoje?: boolean\n dataFilterTemp? : Object,\n tipoValorSelecionado: number | string\n}\n\nexport interface IItemDashboard {\n id: number\n updatedName: string\n}\n\nexport interface IDashboardState {\n nome: string\n key: string;\n layout: ILayout;\n i: number;\n isLoggedUserAuthor: boolean;\n}\n\nexport interface ILayout {\n agruparPor: string\n h: number,\n i: number | string,\n label: string,\n maxH: number,\n maxW: number,\n minH: number,\n minW: number,\n moved: boolean,\n reference: string,\n static: boolean,\n tipo: string,\n w: number,\n x: number,\n y: number\n}\n\nexport interface IFiltros {\n documentos: string[]\n tipoValorSelecionado: string | number;\n empresas: string[]\n i: number | string\n periodo:string\n}\n\nexport interface IDashboard {\n id?: number\n title: string\n key: string\n layout: ILayout[]\n isDefault: boolean\n rolesAuthorizedToView?:string[],\n rolesAuthorizedToEdit?:string[],\n isDefaultDashboard?: boolean,\n isSelectedToViewByDefault?: boolean,\n}\n\nexport interface IBDashboard {\n dashboardName: string;\n dashboardId: string;\n layout?:[];\n isDefault?: boolean;\n rolesAuthorizedToView?:string[];\n rolesAuthorizedToEdit?:string[];\n isDefaultDashboard: boolean;\n isSelectedToViewByDefault: boolean;\n userRoleId: string;\n userId: string;\n isLoggedUserAuthor: boolean;\n}\n\nexport interface DashboardState {\n dashboardList: IDashboard[]\n currentDash: string\n currentDashboardName: string\n isEditorMode: boolean\n isEditar: boolean\n shotcutDate: Object\n gridLayoutEditor: ILayout[]\n empresasOptions: IEmpresas[]\n filtrosLocaisPreenchidos: IFiltroLocal[]\n tipoDeDocumento: IDocumentos[]\n}\n\nexport interface IMenuItemProps {\n label: string\n tipo: string\n agruparPor: string\n reference: string\n}\n\nexport interface IDragEndProperties {\n h: number\n i: number | string\n w: number\n x: number\n y: number\n}\n\nexport interface IElementSize {\n minW: number\n minH: number\n w: number\n h: number\n maxW: number\n maxH: number\n}\n\nexport interface IWidgetsTypes {\n chart: IElementSize\n card: IElementSize\n panel: IElementSize\n}\n\nexport enum Widgets {\n card= 'card',\n chart = 'chart',\n table = 'table',\n panel = 'panel'\n}\n\nexport interface IItemsProperties {\n agruparPor?: string\n h?: number\n i: number\n label: string\n maxH?: number\n maxW?: number\n minH?: number\n minW?: number\n moved?: boolean\n reference: string\n static?: boolean\n tipo?: string\n w?: number\n x: number\n y: number,\n isMax?: boolean\n\n}\n\nexport enum DashboardMutations {\n ATUALIZAR_LISTA_DASHBOARD = 'ATUALIZAR_LISTA_DASHBOARD',\n ATUALIZAR_LISTA_MODIFICACOES_DASHBOARD = 'ATUALIZAR_LISTA_MODIFICACOES_DASHBOARD',\n ATUALIZAR_LISTA_MODIFICACOES_DASHBOARD_ITENS = 'ATUALIZAR_LISTA_MODIFICACOES_DASHBOARD_ITENS',\n OPEN_EDITOR_MODE = 'ABRIR_MODO_EDITOR',\n CLOSE_EDITOR_MODE = 'FECHAR_MODO_EDITOR',\n ATUALIZAR_GRID_LAYOUT_EDITOR = 'ATUALIZAR_GRID_LAYOUT_EDITOR',\n ATUALIZAR_NOME_DASHBOARD_ATUAL = 'ATUALIZAR_NOME_DASHBOARD_ATUAL',\n ATUALIZAR_DASHBOARD_SELECIONADA = 'ATUALIZAR_DASHBOARD_SELECIONADA',\n ATUALIZAR_LISTA_EMPRESAS_OPTIONS = 'ATUALIZAR_LISTA_EMPRESAS_OPTIONS',\n ATUALIZAR_LISTA_FILTROS_LOCAIS_PREENCHIDOS= 'ATUALIZAR_LISTA_FILTROS_LOCAIS_PREENCHIDOS',\n ATUALIZAR_IS_EDITAR = 'ATUALIZAR_IS_EDITAR',\n LIMPAR_LISTA_MODIFICACOES = 'LIMPAR_LISTA_MODIFICACOES',\n LISTA_INICIAL = 'LISTA_INICIAL',\n ATUALIZAR_LAYOUT = 'ATUALIZAR_LAYOUT',\n ATUALIZAR_LISTA_APOS_EXCLUIR = 'ATUALIZAR_LISTA_APOS_EXCLUIR',\n ATUALIZAR_TIPO_DE_DOCUMENTO = 'ATUALIZAR_TIPO_DE_DOCUMENTO',\n SALVAR_SHORTCUTDATAS = 'SALVAR_SHORTCUTDATAS'\n}\n\nexport enum DashboardActions {\n ATUALIZAR_NOME_ITEM_DASHBOARD = 'ATUALIZAR_NOME_ITEM_DASHBOARD',\n SALVAR_DASHBOARD = 'SALVAR_DASHBOARD',\n REMOVER_DASHBOARD = 'REMOVER_DASHBOARD',\n ADICIONAR_FILTRO_LOCAL = 'ADICIONAR_FILTRO_LOCAL',\n REMOVER_FILTRO_LOCAL = 'REMOVER_FILTRO_LOCAL',\n ATUALIZAR_DASHBOARD_PADRAO = 'ATUALIZAR_DASHBOARD_PADRAO',\n SALVAR_DASHBOARD_EDITMODE = 'SALVAR_DASHBOARD_EDITMODE'\n}\n\nexport enum DashboardGetters {\n FIND_ITEM_GRID_LAYOUT = 'FIND_ITEM_GRID_LAYOUT',\n FIND_DASHBOARD = 'FIND_DASHBOARD',\n FIND_LAYOUT_BY_CURRENT_DASH = 'FIND_LAYOUT_BY_CURRENT_DASH',\n FIND_LOCAL_FILTER = 'FIND_LOCAL_FILTER',\n IS_CURRENT_DEFAULT_DASHBOARD = 'IS_CURRENT_DEFAULT_DASHBOARD',\n FIND_DEFAULT_DASHBOARD = 'FIND_DEFAULT_DASHBOARD',\n FIND_DASHBOARD_BY_ID = 'FIND_DASHBOARD_BY_ID',\n}\n","import axios from 'axios';\nimport qs from 'qs';\nimport Utils from './utils';\nimport BlobRequest from './blob';\n\nconst DefaultParam = { repeatable: false };\n\nlet ajax = {\n PREFIX: '',\n Author: Utils.getAuthor() || 'heyui',\n requestingApi: new Set(),\n extractUrl: function (url) {\n return url ? url.split('?')[0] : '';\n },\n isRequesting: function (url) {\n let api = this.extractUrl(url);\n return this.requestingApi.has(api);\n },\n addRequest: function (url) {\n let api = this.extractUrl(url);\n this.requestingApi.add(api);\n },\n deleteRequest: function (url) {\n let api = this.extractUrl(url);\n this.requestingApi.delete(api);\n },\n get: function (url, param, extendParam, customErrors) {\n let params = {\n url,\n method: 'GET'\n };\n if (param) {\n params.params = param;\n }\n return this.ajax(params, extendParam, customErrors);\n },\n getCustom: function (url, param, extendParam) {\n // Response completo + status erros\n return this.get(url, param, extendParam, true);\n },\n getBlob: async function (url, param) {\n const resp = await this.get(url, param, { responseType: 'blob' });\n if (resp.ok === true) {\n BlobRequest.forceDownload(resp);\n }\n return resp;\n },\n post: function (url, param, extendParam) {\n var params = {\n url,\n method: 'POST'\n };\n if (param) params.data = qs.stringify(param);\n return this.ajax(params, extendParam);\n },\n postJson: function (url, paramJson, extendParam) {\n return this.ajax({\n url,\n method: 'POST',\n data: paramJson\n }, extendParam);\n },\n patchJson: function (url, paramJson, dataType, extendParam) {\n return this.ajax({\n url,\n method: 'PATCH',\n data: paramJson\n }, extendParam);\n },\n delete: function (url, extendParam) {\n return this.ajax({\n url: url,\n method: 'DELETE'\n }, extendParam);\n },\n head: function (url, extendParam, customErrors) {\n return this.ajax({\n url: url,\n method: 'HEAD'\n }, extendParam, customErrors);\n },\n ajax: function (param, extendParam, customErrors) {\n let params = Utils.extend({}, DefaultParam, param, extendParam || {});\n params.crossDomain = params.url.indexOf('http') === 0;\n let url = params.url;\n if (!params.crossDomain) {\n url = params.url = this.PREFIX + params.url;\n }\n\n if (params.method != 'GET') {\n if (this.isRequesting(url)) {\n return new Promise((resolve, reject) => { resolve({ ok: false, msg: 'Repetir pedido' }); });\n }\n if (params.repeatable === false) {\n this.addRequest(url);\n }\n }\n\n let v360User = Utils.getV360User();\n let header = {\n Authorization: `Bearer ${v360User.accessToken}`\n };\n\n let defaultParam = {\n headers: header,\n responseType: 'json',\n validateStatus: function (status) {\n return true;\n },\n paramsSerializer: (params) => {\n return qs.stringify(params, { allowDots: true, encode: false });\n }\n };\n if (params.crossDomain) {\n defaultParam.headers = {};\n }\n let that = this;\n params = Utils.extend({}, defaultParam, params);\n return new Promise((resolve) => {\n const axiosGlobalInstance = axios.create({\n baseURL: process.env.VUE_APP_ROOT_API\n });\n\n return axiosGlobalInstance.request(params).then((response) => {\n that.deleteRequest(params.url);\n\n let data = response.data || {};\n let status = response.status;\n // Se o encapsulamento unificado de backend retornar, ou seja, todas as solicitações forem 200, o código de erro será fornecido pelo resultado retornado e, em seguida, usará o seguinte código para obter o status\n /* if (status == 200) {\n status = data.status;\n } */\n if (!customErrors) {\n if (status != 200) {\n if (status == 401) {\n const urlHub = process.env.VUE_APP_URL_HUB;\n window.location.href = `${urlHub}/#/signin?continue=${window.location.origin}&service=vendas`;\n return;\n }\n if (status == 400) {\n HeyUI.$Message.error(data.error || 'Ocorreu um erro em sua solicitação.');\n } else if (status == 500) {\n HeyUI.$Message.error('Erro de servidor, por favor contate o admnistrador do sistema caso o erro persista');\n } else if (status == 404) {\n HeyUI.$Message.error('Nada encontrado !');\n } else if (status != 200) {\n if (typeof data.error === 'string') {\n HeyUI.$Message.error(data.error || 'Ocorreu um erro em sua solicitação');\n }\n }\n }\n }\n\n data.ok = status >= 200 && status < 300;\n data._response = response;\n resolve(data);\n }).catch((err) => {\n that.deleteRequest(params.url);\n resolve({\n ok: false,\n _error: err\n });\n });\n });\n }\n};\nexport default ajax;\n","import { IEmpresas } from '@/types';\nimport { MutationTree } from 'vuex';\nimport { DashboardState, IDashboard, IBDashboard, IFiltroLocal, ILayout, DashboardMutations } from './types';\n\nexport const mutations: MutationTree = {\n [DashboardMutations.ATUALIZAR_LISTA_DASHBOARD](state, payload: IDashboard[]) {\n state.dashboardList = payload;\n },\n [DashboardMutations.OPEN_EDITOR_MODE](state) {\n state.isEditorMode = true;\n },\n [DashboardMutations.CLOSE_EDITOR_MODE](state) {\n state.isEditorMode = false;\n state.isEditar = false;\n },\n [DashboardMutations.ATUALIZAR_GRID_LAYOUT_EDITOR](state, payload: ILayout[]) {\n state.gridLayoutEditor = payload;\n },\n [DashboardMutations.ATUALIZAR_NOME_DASHBOARD_ATUAL](state, payload: string) {\n state.currentDashboardName = payload;\n },\n [DashboardMutations.ATUALIZAR_DASHBOARD_SELECIONADA](state, payload: string) {\n state.currentDash = payload;\n },\n [DashboardMutations.ATUALIZAR_LISTA_EMPRESAS_OPTIONS](state, payload: IEmpresas[]) {\n state.empresasOptions = payload;\n },\n [DashboardMutations.ATUALIZAR_LISTA_FILTROS_LOCAIS_PREENCHIDOS](state, payload: IFiltroLocal[]) {\n state.filtrosLocaisPreenchidos = payload;\n },\n [DashboardMutations.ATUALIZAR_LISTA_MODIFICACOES_DASHBOARD](state, payload) {\n // @ts-ignore\n state.modificationDashboard = payload;\n },\n [DashboardMutations.ATUALIZAR_LISTA_MODIFICACOES_DASHBOARD_ITENS](state, payload) {\n // @ts-ignore\n state.modificationItens = payload;\n },\n [DashboardMutations.ATUALIZAR_IS_EDITAR](state, payload:boolean = true) {\n state.isEditar = payload;\n },\n [DashboardMutations.LIMPAR_LISTA_MODIFICACOES](state) {\n // @ts-ignore\n state.modificationItens = [];\n // @ts-ignore\n state.modificationDashboard = [];\n },\n [DashboardMutations.LISTA_INICIAL](state, payload:IBDashboard[]) {\n const displayInfos = payload.map(dashboards => {\n const { isDefaultDashboard, isSelectedToViewByDefault } = dashboards;\n const loadLayout = (isDefaultDashboard || isSelectedToViewByDefault);\n return {\n title: dashboards.dashboardName,\n key: dashboards.dashboardId,\n layout: loadLayout ? dashboards.layout : [],\n isDefault: dashboards.isSelectedToViewByDefault,\n isDefaultDashboard: dashboards.isDefaultDashboard,\n isSelectedToViewByDefault: dashboards.isSelectedToViewByDefault,\n rolesAuthorizedToView: dashboards.rolesAuthorizedToView,\n rolesAuthorizedToEdit: dashboards.rolesAuthorizedToEdit,\n userRoleId: dashboards.userRoleId,\n userId: dashboards.userId,\n isLoggedUserAuthor: dashboards.isLoggedUserAuthor\n };\n });\n\n const initialDashboardList = displayInfos;\n state.dashboardList = initialDashboardList;\n },\n [DashboardMutations.ATUALIZAR_LAYOUT](state, { id, layout }) {\n const newLayouts = state.dashboardList.map(dash => {\n if (dash.key === id) {\n dash.layout = layout;\n }\n return dash;\n });\n\n state.dashboardList = newLayouts;\n },\n [DashboardMutations.ATUALIZAR_LISTA_APOS_EXCLUIR](state, { id }) {\n const newDashboardList = state.dashboardList\n .filter(dashboard => dashboard.key !== id);\n state.dashboardList = newDashboardList;\n },\n [DashboardMutations.ATUALIZAR_TIPO_DE_DOCUMENTO](state, documentos) {\n state.tipoDeDocumento = documentos;\n },\n [DashboardMutations.SALVAR_SHORTCUTDATAS](state, datas) {\n state.shotcutDate = datas;\n }\n};\n"],"sourceRoot":""}