{"version":3,"sources":["webpack://OACX/webpack/universalModuleDefinition","webpack://OACX/webpack/bootstrap","webpack://OACX/./src/common/resource/img/circle-question.png","webpack://OACX/./src/common/resource/img/circle-warning.png","webpack://OACX/./src/common/resource/img/icon_close.png","webpack://OACX/./src/common/resource/img/icon_mobile.png","webpack://OACX/./src/common/resource/img/icon_step01.png","webpack://OACX/./src/common/resource/img/icon_step02.png","webpack://OACX/./src/common/resource/img/icon_step03.png","webpack://OACX/./src/common/resource/img/logo_kakao.png?a3cd","webpack://OACX/./src/common/resource/img/logo_pass.png?ba6e","webpack://OACX/./src/common/resource/img/logo_raon.png","webpack://OACX/./src/common/resource/img/naver_standby_step.png","webpack://OACX/./src/ent/resource/img/arrow_right.png","webpack://OACX/./src/ent/resource/img/icon_question.png","webpack://OACX/./src/common/controller/ajaxCtrl.js","webpack://OACX/./src/common/controller/commonEvent.js","webpack://OACX/./src/common/controller/validationCtrl.js","webpack://OACX/./src/common/controller/webAccessibilityCtrl.js","webpack://OACX/./src/common/model/Config.js","webpack://OACX/./src/common/model/GlobalVar.js","webpack://OACX/./src/common/model/ModuleParam.js","webpack://OACX/./src/common/model/Provider.js","webpack://OACX/./src/common/model/UmdOption.js","webpack://OACX/./src/common/resource/css/common.css","webpack://OACX/./src/common/resource/css/demo_common.css","webpack://OACX/./src/common/resource/css/demo_mobile.css","webpack://OACX/./src/common/resource/css/main.css","webpack://OACX/./src/common/resource/img/logo_banksalad.png","webpack://OACX/./src/common/resource/img/logo_hana.png","webpack://OACX/./src/common/resource/img/logo_kakao.png","webpack://OACX/./src/common/resource/img/logo_kakaopay.png","webpack://OACX/./src/common/resource/img/logo_kb.png","webpack://OACX/./src/common/resource/img/logo_naver.png","webpack://OACX/./src/common/resource/img/logo_pass.png","webpack://OACX/./src/common/resource/img/logo_payco.png","webpack://OACX/./src/common/resource/img/logo_sample.png","webpack://OACX/./src/common/resource/img/logo_samsung.png","webpack://OACX/./src/common/resource/img/logo_shinhan.png","webpack://OACX/./src/common/resource/img/logo_toss.png","webpack://OACX/./src/common/utils/ajax.js","webpack://OACX/./src/common/utils/deviceCheck.js","webpack://OACX/./src/common/utils/mTransKeyEvt.js","webpack://OACX/./src/common/utils/message.js","webpack://OACX/./src/common/utils/oacx.mobile.fn.js","webpack://OACX/./src/common/utils/provider.id.check.js","webpack://OACX/./src/common/utils/regex.js","webpack://OACX/./src/ent/app.js","webpack://OACX/./src/ent/controller/demo.js","webpack://OACX/./src/ent/controller/mobileCtrl.js","webpack://OACX/./src/ent/controller/renderingViewCtrl.js","webpack://OACX/./src/ent/controller/templateCtrl.js","webpack://OACX/./src/ent/controller/validationCtrl.js","webpack://OACX/./src/ent/controller/viewAsynProcessing.js","webpack://OACX/./src/ent/controller/viewEventCtrl.js","webpack://OACX/./src/ent/html/demoHistoryTable.hbs","webpack://OACX/./src/ent/html/form.bottom.button.hbs","webpack://OACX/./src/ent/html/form.inputInfo.hbs","webpack://OACX/./src/ent/html/form.serviceSelect.hbs","webpack://OACX/./src/ent/html/header.hbs","webpack://OACX/./src/ent/html/mainTemplate.hbs","webpack://OACX/./src/ent/html/mobile.agree.hbs","webpack://OACX/./src/ent/html/mobile.footer.hbs","webpack://OACX/./src/ent/html/mobile.serviceSelectToolbar.hbs","webpack://OACX/./src/ent/html/popup.demo.confirm.hbs","webpack://OACX/./src/ent/html/popup.info.yn.hbs","webpack://OACX/./src/ent/html/popup.naver.standby.step.hbs","webpack://OACX/./src/ent/html/popup.other.service.hbs","webpack://OACX/./src/ent/html/popup.sign.origin.hbs","webpack://OACX/./src/ent/html/popup.system.warring.hbs","webpack://OACX/./src/ent/html/providerInfo.hbs","webpack://OACX/./src/ent/html/sidebar.hbs","webpack://OACX/./src/ent/html/standby.hbs","webpack://OACX/./src/ent/resource/css/style_common.css","webpack://OACX/./src/ent/resource/css/style_mobile.css","webpack://OACX/./src/ent/service/data.processing.srv.js","webpack://OACX/./src/ent/utils/handlebars.custom.helper.js","webpack://OACX/./src/gov/controller/demo.js","webpack://OACX/./src/gov/controller/mobileCtrl.js","webpack://OACX/./src/gov/controller/templateCtrl.js","webpack://OACX/./src/gov/controller/validationCtrl.js","webpack://OACX/./src/gov/controller/viewAsynProcessing.js","webpack://OACX/./src/gov/controller/viewEventCtrl.js","webpack://OACX/./src/gov/html/agree.hbs","webpack://OACX/./src/gov/html/demoHistoryTable.hbs","webpack://OACX/./src/gov/html/form.inputinfo.hbs","webpack://OACX/./src/gov/html/header.hbs","webpack://OACX/./src/gov/html/mainTemplate.hbs","webpack://OACX/./src/gov/html/mobile.form.inputinfo.hbs","webpack://OACX/./src/gov/html/mobile.popup.agree.hbs","webpack://OACX/./src/gov/html/mobile.providerInfo.hbs","webpack://OACX/./src/gov/html/mobile.select.service.hbs","webpack://OACX/./src/gov/html/mobile.serviceSelectToolbar.hbs","webpack://OACX/./src/gov/html/popup.demo.confirm.hbs","webpack://OACX/./src/gov/html/popup.failure.client.hbs","webpack://OACX/./src/gov/html/popup.failure.service.hbs","webpack://OACX/./src/gov/html/popup.failure.system.hbs","webpack://OACX/./src/gov/html/popup.inactive.service.hbs","webpack://OACX/./src/gov/html/popup.incomplete.hbs","webpack://OACX/./src/gov/html/popup.naver.standby.step.hbs","webpack://OACX/./src/gov/html/popup.other.service.hbs","webpack://OACX/./src/gov/html/popup.unknown.hbs","webpack://OACX/./src/gov/html/popup.valid.warring.hbs","webpack://OACX/./src/gov/html/providerInfo.hbs","webpack://OACX/./src/gov/html/standby.hbs","webpack://OACX/./src/gov/service/data.processing.srv.js","webpack://OACX/./src/gov/utils/handlebars.custom.helper.js"],"names":["ajax","getToken","Promise","resolve","reject","Config","system","alert_debug","alert","JSON","stringify","url","jsp","contextPath","tokenPath","apiPost","then","res","UmdOption","callback","success","fail","getProviderList","providerListPath","undefined","api","apiGet","providerList","requestAuth","device","isMobile","Provider","providerOptionInfo","isNotification","userInfo","base64","bytes","utf8","encode","name","encodeURIComponent","paramsJson","compareCI","providerChk","isSamsung","providerId","birthday","ssn1","ssn2","requestPath","GlobalVar","appPush","deviceInfo","code","param","authRequest","setDeviceCode","finishAuth","successPath","authComplete","json","parse","signedData","parseToken","token","parseTokenPath","parseSignData","parseSignPath","apiPost_demo","rootId","pcMobileId","commonEvent","init","appendElementTagId","serviceChangeEvent","$","on","e","currentTarget","find","val","isPass","setTelcoSelect","setTelcoInput","off","setNoneTelcoSelect","setNoneTelcoInput","telecomPhone1","prop","telecomPhone2","common","trim","value","webAccess","activeAuthPopup","checkBoxKeyboardCtrl","isMobileUI","targetFocus","which","click","target","focus","setTimeout","appendFocusMsg","message","appendHtml","length","append","prependFocusMsg","prepend","removeFocusMsg","remove","id","logo","alt","src","style","pcMargin","moMargin","pcWidth","pcHeight","moWidth","moHeight","provider","version","separator","mode","description","type","naver","clientId","callbackUrl","order","list","unUseIdList","uriScheme","universalLink","template","pcTitle","moTitle","view_policy1","title","hidden","path","view_policy2","view_policy3","view_policy4","file","guide","mTranskey","use","console_debug","closeEvt","loadedModule","tokenCallback","listCallback","requestCallback","complateCallback","phone1","phone2","telcoTycd","umdOptions","ModuleParam","configPath","isBirth","reqTxId","deeplinkUri","naverAppSchemeUrl","telcoTxid","txId","cxId","appInfo","isMember","phone","privacy","terms","policy3","policy4","access_token","token_type","state","mtranskeySsn2","browser","os","contentInfo","signTarget","signTargetTycd","signType","requestTitle","requestContents","reqCSPhoneNo","upmuGb","isUseTss","isPASSVerify","isUserAgreement","clear","xss","policy1","policy2","telcoTy","errMsg","OACX_USERINFO_NAME_EMPTY_ERROR","OACX_USERINFO_NAME_SIZE_ERROR","regex","isKorEng","OACX_USERINFO_NAME_VALID_ERROR","OACX_USERINFO_BIRTH_EMPTY_ERROR","isNum","OACX_USERINFO_BIRTH_NUMBER_ERROR","OACX_USERINFO_BIRTH_VALID_ERROR","OACX_USERINFO_SSN1_EMPTY_ERROR","OACX_USERINFO_SSN2_EMPTY_ERROR","OACX_USERINFO_SSN1_NUMBER_ERROR","OACX_USERINFO_SSN2_NUMBER_ERROR","isValidBirthday","convertBirthDay","OACX_USERINFO_SSN_VALID_ERROR","isValidRnNum","OACX_PROVIDER_EMPTY_ERROR","match","OACX_USERINFO_TELCO_EMPTY_ERROR","OACX_USERINFO_TELCO_VALID_ERROR","OACX_USERINFO_PHONE_EMPTY_ERROR","OACX_USERINFO_PHONE_NUMBER_ERROR","OACX_USERINFO_PHONE_VALID_ERROR","OACX_USERINFO_POLICY1_VALID_ERROR","OACX_USERINFO_POLICY2_VALID_ERROR","OACX_USERINFO_POLICY3_VALID_ERROR","OACX_USERINFO_POLICY4_VALID_ERROR","disabled_userInfo","show_userInfo","attr","css","removeAttr","showStep1","hide","show","removeClass","showStep2","addClass","trigger","request","loaded","authRequestAlertConfirm","authCompleteAlertConfirm","event","close","valid","error","params","headers","Accept","dataType","data","beforeSend","xhr","replace","console","resultCode","telcoTxId","extProperties","entry","key","deeplinkUrl","appScheme","log","status","complete","textFileGet","content","fileGet","contentType","deviceWBKWitdh","deviceWBKHeight","isDevice_TB_WBK_Portrait","isPC_TB_MO","deviceCode","md","MobileDetect","window","navigator","userAgent","mobile","tablet","checkMobileType","checkSpecialBrowser","isExplorer","isFireFox","GlobalVal","setDeviceUniversalLink","varUA","toLowerCase","indexOf","portraitTBWidthSizeCheck","matchMedia","matches","screen","width","height","orientChangeTBProccesing","viewEvent","view_msg","closePopup","resizeTBProccesing","fn","addEventListener","mTransKey","mtk","now","isMasking","initSetting","initmTranskey","max_width","widthRatio","setmKey_position","style_on","closeCallBack","style_off","setWithoutSessionDecodeJson","doneCallBack","onKeyboard","clearInput","top","offset","left","reSizeListener","setmtranskeySsn2","values","inputFillEncData","document","getElementById","hmac","frmId","use_form_id","transkeyUuid","keyboardType","keyIndex","fieldType","seedKey","initTime","transkey_ExE2E","ExE2E","testAjax","XMLHttpRequest","keys","Object","forEach","open","setRequestHeader","send","result","responseText","mobileFn","setKakaoCallbackUrl","setKakaoCallback","moveLinkByProvider","call","callByProvider","isKakao","kko","tel_pass","isPayco","payco","samsungpass","isKb","kbbank","isToss","toss","isNaver","isKakaoPay","kakaopay","isShinhan","shinhan","location","href","ostype","resStr","isEnt","certTxId","tx_id","inCxid","link","pay_session","signAfterExit","makeKbData","makePassData","getKakaoWebVersion","point","substring","compareVersion","verA","verB","split","Math","max","i","a","parseInt","b","browser_cd","kakao_ver","reqid","certid","kbScheme","isGov","telcoid","callscheme","callurl","getTelcoData","rid","tid","cid","calback","calurl","bwtype","skpName","skscheme","skhost","sk_universal_link","lgupName","lguscheme","lguhost","lgu_universal_link","ktscheme","kthost","kt_universal_link","str","isBanksalad","isHana","isKor","isEng","regexp","test","num","birth","dateStr","year","Number","substr","month","day","today","Date","yearNow","getFullYear","isleap","rn","checkSum","modCheckSum","rrnMatch","frnMatch","cssVars","onlyLegacy","require","options","LOAD_MODULE","setModuleParam","setProvider","setUserInfo","setConfig","initModule","MODULE_REQUEST","getUserInfoValidMesseg","OACX","MODULE_RESULT","rendering","createTemplateView","vaild","viewAsyn","getTokenProviderListPopup","successEventHandler","isNotEmpty","appendHistory","jsonArr","push","tmpl","html","row","text","oacx_demo","selectBtn","keyboard_events","telcoTycd_select_events","form_events","nextView","blur","isAllFormValue","num1","num2","keyboard_events_allkey","keyboard_events_enter","nameCheck","birthCheck","ss1NumCheck","ss2NumCheck","phoneCheck","formValidation_popup","slice","scrollTop","body","scrollHeight","show_agree_button","formValidationCheck","hide_agree_button","config","rsJson","p","g","c","main_template","header","sidebar","form_bottom_button","form_inputInfo","form_serviceSelect","standby","popup_policy1","popup_policy2","popup_policy3","popup_policy4","popup_sign_origin","popup_naver_standby_step","popup_system_warring","popup_info_yn","popup_other_service","mobile_agree","mobile_footer","mobile_select_service_toolbar","helper","providerInfo","hidePopup","ssCheck","telcoTycdCheck","checkBoxVaild","inputSizeCheck","getNumValue","getMaxValue","size","isSignedData","msg_view","fnEvent","clientMessage","sRes","process","providerService","showBackScreen","serviceSelect","hideStepBtn","view_wait_provider","showStepBtn","reqeustFormEvents","confirmEvent","scrollTo","view_msg_yn","fnYEvent","fnNEvent","render","logo_pass","logo_kb","logo_samsung","logo_kakao","logo_kakaopay","logo_payco","logo_naver","logo_shinhan","logo_toss","logo_banksalad","logo_sample","hideBirthSsn","showBirthSsn","pv","provider_txt","is","isAllChk","chkBxArr","each","elem","selected","phoneNm","hideBackScreen","setUserinfo","ss1","Array","prototype","shuffle_random","index","floor","random","temp","shuffle_order","dbProviders","orderList","configProvider","dbProvider","sort","shuffle_percent","totalChance","pOrder","isBreak","isValidation","percent","eNum","rand","sNum","resultArr","providerArr","typeId","d","provider_id","provider_type","oper_sort","unUseProviderCheck","createData","providerJson","providerLabel","providerName","providerLogo","unuse_style","status_code","logo_hana","unUseProviderIdList","fnSelected","Handlebars","c1","c2","fnChecked","fnSumParam3","c3","fnEquals","arg1","arg2","inverse","fnIsPass","fnIsNaver","fnIsKb","fnInputPassTypeByBrower","inputYype","fnInputNumberByBrower","fnIsMobile","fnIsmTranskey","fnIsEntSimpleAuth","fnMath","lvalue","operator","rvalue","parseFloat","fnIfHidden","fnIfNotUndefindedEmpty","fnProviderAltNm","closest","form_inputinfo","agree","li","mobile_select_service","mobile_popup_agree","mobile_providerInfo","mobile_form_inputInfo","popup_valid_warring","popup_incomplaete","popup_unknown","popup_failure_service","popup_inactive_service","popup_failure_system","popup_failure_client","agreeCommonMsg","policy1Msg","policy2Msg","policy3Msg","policy4Msg","shuffle","fnDemoLogKeyName","fnisMobile","fnRemoveSpaceValue","replaceAll","fnIfShowAgree","configJson","agreeCnt","fnRemoveTag","extractTextPattern"],"mappings":"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","file":"oacx-ux.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"OACX\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"OACX\"] = factory();\n\telse\n\t\troot[\"OACX\"] = factory();\n})(window, function() {\nreturn "," \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 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\"oacx-ux\": 0\n \t};\n\n \tvar deferredModules = [];\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\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 \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,\"oacx-vendor\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIZSURBVHgB7dvhbcIwEAXgSzIARSwQJBboBqET9GfHYSQmgIzABmQEFoD0DqWVhRpcX2L7JN4nRSKA5PMjJGA7RAAAAAAAAJBaRQqbzaZZLpfNYrG4CDKsruu31Wr1pa21oEDcYF2W5XnY7W6327ZjZJDUWhTFkbda9odaWwpQUrjGrYHDOkohZMxjOKKqqpoCaQLa933fOfvmQvorHNZdr9eWAgUHxIfohQPaWg1pLBztqSD4HBSrkDnEqEkdUKyCrNUyKSAiGyHFrGFyQCJnSLHbniUgkSOkFG3OFpBIGVKqtmYNSKQoPOUHMXtAImYHUn+VowQkYnQkx3kuWkBizg7lulJGDUjM0bGcPyOiBySmdDBnOCJJQELT0dzhiGQBiZAOWwhHJA1I/KfjVsIRyQMSzwKQB1bCuddCmYyFxANxZCUckS0gMRKSK/ukQNaAxJOQTMyYaAbtXwq+Yh7ZjqAnJ+nOfVvu2RJc5j3wQ9EDfzU88GfVA8MdHhgw88CQqwcG7T0w7eOBiUMPTD17YPGCB5a/eGABlcdLLMHjl7q2bUlDPR5kKZx7w2xs9S2/tG6ahjRUAVkL57eA8ZAOEtJut6NQqlsRLIbjGmo88LZ2npYa37nEoPs1VLciWA5HDEfSB29n5+m6qqpPCqQJqHMfWwvnx0NIvWyaWxFUV7FhEL3hbR96yKbm1HriWk8EAAAAAAAA5n0DujIPmctdT6cAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQLSURBVHgB7d3LbhRHFAbgv2bGSVA2zpJEVppEWXORkowsRdQTBIs8QAwvkDeIZ7LKLlJWySZxeIAALwCNsJEx9x07N7c9CxCGuRSnRs1mpke2RFVxavR/0sh2d8v29N916bZVByAiIqKFYJCAtXb55RustYAz8uUJ+akF8nAfDpUzuLS7Xf6HBKIH8t0Pds2M8EdGIcyz54B+7GDaiKi7ajfkw18SxjLy95lcvWe+WCnw7El1DZFEC8SHIU29h8VijMHpmKFE6bK+XbXrLYN/sbica+Hs7vXyEgKLEsj3q3ZvzphRyhXW/6SD+2VZPodiMhHB/hB27LAuJ+nnhkP2jizhVOj3ETyQea1Duq/+7lbZQ2bqYHrOYWNql5Owzt+6UW4ioBYCq6e20zZzDMOTFgBp0X3/6dQuM+e9vpfggbiGrmpkkGQOH5GTrva3ma0GxxFY8ECMv/GbcntLLrOMTbotGfcadhUIrIMMdbu2cO3JOGXnHHJPbkbP7uyUFQLo9XroWvvcIb7gLSSFcRsXMT8M76QE9g8ylGUgTd1iA4sMZRkIZmc8Mxwa+3z18mwhI5w74IRfbckYggxlOajXg/VJLKBcu6yFxUCUYSDKMBBlGIgyDEQZBqIMA1GGgSjDQJRhIMowEGUYiDIMRBkGogwDUYaBKMNAlGEgyjAQZRiIMgxEGQaiDANRhoEow0CUYSDKMBBlGIgyDEQZBqIMA1GGgSjDQJRhIMowEGUYiDIMRBkGogwDUYaBKMNAlGEgyiRZ66RrbZIlzaMaplmWPUkgboAx6FDYZSnDQJRhIMqkWsAsxYKeKUQf2JMEcnO7zL4l+pliiskJuyxlGIgyDESZLFcl9WuxC7M/Z397sISlpYErM1xyPssWsr+PY68GuOIH2abXEIM7ckyBDOW69vv/4NrvenDtd32uHnSA3IneQ4aSBOLrb4RkRjhfn3A35+XXfv8JGUoyy5LZji8sGayaWb32+ykk5J+Z5FnQxaGa3vRieKg+Xy0/zXbD2TEpRkmMGF3WzC/Zdtio7x2y9FoaiK9nOL3dODxCYMFLr36+UhwxBmtTm4vBCOabr4trRVGgqipo927cO3q0MG6MDemzfpk6xFdu+/3pk+oBAgr+OPmEtcsfv8Fd+c7HGnZvjgwudDoHV8j5kDrDNtqd0fJr6Wqdw69onkLvyVPsrxBYlOf7k5Ld40nhrkXl5MSt72yXFxBYlGrRzx5XD1e+LHzYFovH+TKy0jr+RATRync/fVyVdSingTT/QpOAq2v69hFJ1AL3k1BWCj8TOV4Xuc81GH8LUrVaOHdzq/wbESU7Qd1Vuy5///zRl/U+5LOoD0/uqfy9hrwuf/oRLmsvOU5EREREREREob0FfqIiyVCBiOEAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0MzUyLCAyMDIwLzAxLzMwLTE1OjUwOjM4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTEyLTI5VDEwOjU5OjE4KzA5OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wMy0wM1QxMDoyMjo1NSswOTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wMy0wM1QxMDoyMjo1NSswOTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphNjI4MDlmNC0wNzMxLTQ2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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAnCAYAAABqippxAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHRSURBVHgBzZZLboJQFEDvRdrYWXdQuoMmTWcduJPWScUyQVhAcQEVTDQSJ7U7cAc66qRpdNqRLsFhk0ZueXwMGn/ge9CTmCAwOOGex6MEEarWGNze3dPX58c3FICUOLxC9IaqZrypqq5Azkhbzj1CSZqpz8aLruuXUKBICIL18ytN6pr5AIWKhCgENPDHNRM9rkMiMUowLoH9HCsSs+oHOJNWJMTvh42LZz/ZREKCfmqaOeExrlNEAhDohkc/J4skYP2MnuqGDhngKcJQJAnsLP3wFlkJRe+fo8clSiQmWO41zbAPCYkWCUAAnfWzb1y5iEQktguzAgWKxPjbBY02+8H4QNXMEQBVIG8IrPK51y7iiawTfW4ULxKi/AsRAlgUKsIEAKl5ceZdy1AYNMYlVV3XmbN/uYsg4JRw2XA7zjh5PjcRNgb/1+x3X51t1/NpBKnNOuh3W86uWwQ/ERpDooN9iBKZA3rVzQ5yE2EdoD8Gt2NbkBJ+IqwDmSzHcRaQAQ4ifgf+SynNGHiLzBGx0eu0hsCB1CJxB2WZnKxj4CEywKXXPGY5ChLh00FmkXB7Jr3Xtd9BMPIuAQyXI9cOUoqsb895sRIhiaZIntAO9vEHi13KWnC6NqwAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","import base64 from \"base-64\";\r\nimport utf8 from \"utf8\";\r\nimport { apiPost, apiGet, apiPost_demo } from \"../utils/ajax\";\r\nimport { providerChk } from \"../utils/provider.id.check\";\r\nimport Provider from '../model/Provider';\r\nimport Config from '../model/Config';\r\nimport UmdOption from \"../model/UmdOption\";\r\nimport GlobalVar from \"../model/GlobalVar\";\r\nimport { device } from \"../utils/deviceCheck\";\r\n\r\nexport const ajax = {\r\n //최초 토큰 얻기\r\n getToken: ()=>{\r\n return new Promise((resolve, reject) => {\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(\"Request getToken\"));\r\n }\r\n const url = Config.url.jsp.contextPath + Config.url.jsp.tokenPath\r\n apiPost(url, \"\").then(res => {\r\n UmdOption.callback.ajax.success.getToken(res);\r\n resolve(res)\r\n }, res => {\r\n UmdOption.callback.ajax.fail.getToken(res);\r\n reject(res)\r\n })\r\n })\r\n },\r\n //인증기관 목록\r\n getProviderList: ()=>{\r\n return new Promise((resolve, reject) => {\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(\"Request getProviderList\"));\r\n }\r\n var url = \"\";\r\n if(Config.url.jsp.providerListPath == \"\" || Config.url.jsp.providerListPath === undefined){\r\n url = Config.url.api.contextPath + Config.url.api.providerListPath;\r\n }else{\r\n url = Config.url.jsp.contextPath + Config.url.jsp.providerListPath;\r\n }\r\n apiGet(url).then(res => {\r\n UmdOption.callback.ajax.success.providerList(res);\r\n resolve(res)\r\n }, \r\n res => {\r\n UmdOption.callback.ajax.fail.providerList(res);\r\n reject(res)\r\n });\r\n });\r\n },\r\n //인증요청\r\n requestAuth: ()=>{\r\n return new Promise((resolve, reject) => {\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(\"Request AuthenticationRequest\"));\r\n }\r\n\r\n // PASS isNotification - Y: PC(PUSH), N: MO(telcoTxid)\r\n if(device.isMobile()){\r\n Provider.providerOptionInfo.isNotification = \"N\"\r\n }else{\r\n Provider.providerOptionInfo.isNotification = \"Y\"\r\n }\r\n\r\n //------사용자명 인코딩-------\r\n if(!!Config.userInfo){\r\n if(!!Config.userInfo.base64){\r\n if(Config.userInfo.base64){\r\n const bytes = utf8.encode(Provider.userInfo.name);\r\n const name = base64.encode(bytes);\r\n Provider.userInfo.name = encodeURIComponent(name);\r\n }\r\n }\r\n }else{\r\n const bytes = utf8.encode(Provider.userInfo.name);\r\n const name = base64.encode(bytes);\r\n Provider.userInfo.name = encodeURIComponent(name);\r\n }\r\n //---------------------------\r\n\r\n var paramsJson = Provider;\r\n\r\n // 본인인증(Nice) CompareCI False 그리고 삼성패스일 때 생년월일, 주민등록번호 제외\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n paramsJson.userInfo.birthday = \"19700101\";\r\n paramsJson.userInfo.ssn1 = \"\";\r\n paramsJson.userInfo.ssn2 = \"\";\r\n }\r\n\r\n var url = \"\";\r\n if(Config.url.jsp.requestPath == \"\" || Config.url.jsp.requestPath === undefined){\r\n url = Config.url.api.contextPath + Config.url.api.requestPath;\r\n }else{\r\n url = Config.url.jsp.contextPath + Config.url.jsp.requestPath;\r\n }\r\n\r\n // App 호출 시 PUSH 형태로 지정 -> PC Code로 지정\r\n if(GlobalVar.appPush === true){\r\n Provider.deviceInfo.code = \"PC\"\r\n }\r\n var param = JSON.stringify(paramsJson);\r\n apiPost(url, param).then(res => {\r\n UmdOption.callback.ajax.success.authRequest(res);\r\n \r\n // App 호출 시 PUSH 형태로 지정 -> 원래 Code로 원복\r\n if(GlobalVar.appPush === true){\r\n device.setDeviceCode()\r\n }\r\n resolve(res)\r\n },res => {\r\n UmdOption.callback.ajax.fail.authRequest(res);\r\n // App 호출 시 PUSH 형태로 지정 -> 원래 Code로 원복\r\n if(GlobalVar.appPush === true){\r\n device.setDeviceCode()\r\n }\r\n reject(res)\r\n });\r\n })\r\n },\r\n //인증완료\r\n finishAuth: ()=>{\r\n return new Promise((resolve, reject) => {\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(\"Request authenticationFinish\"));\r\n }\r\n var url = \"\";\r\n if(Config.url.jsp.successPath == \"\" || Config.url.jsp.successPath === undefined){\r\n url = Config.url.api.contextPath + Config.url.api.successPath;\r\n }else{\r\n url = Config.url.jsp.contextPath + Config.url.jsp.successPath;\r\n }\r\n var param = JSON.stringify(Provider);\r\n apiPost(url, param).then(res => {\r\n UmdOption.callback.ajax.success.authComplete(res);\r\n var json = JSON.parse(res)\r\n if(json.signedData !== undefined){\r\n json.signedData = encodeURIComponent(json.signedData);\r\n res = JSON.stringify(json);\r\n }\r\n resolve(res)\r\n }, res => {\r\n UmdOption.callback.ajax.fail.authComplete(res);\r\n reject(res)\r\n });\r\n });\r\n },\r\n parseToken: (token)=>{\r\n return new Promise((resolve, reject) => {\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(\"Request parseToken\"));\r\n }\r\n const url = Config.url.jsp.contextPath + Config.url.jsp.parseTokenPath + \"?token=\"+ token;\r\n apiGet(url).then(res => resolve(res), res => reject(res))\r\n });\r\n },\r\n parseSignData: (json)=>{\r\n return new Promise((resolve, reject) => {\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(\"Request parseSignData\"));\r\n }\r\n const url = Config.url.jsp.contextPath + Config.url.jsp.parseSignPath;\r\n apiPost_demo(url, json).then(res => resolve(res), res => reject(res))\r\n });\r\n }\r\n}\r\n","import Config from \"../../common/model/Config\";\r\nimport GlobalVar from \"../../common/model/GlobalVar\";\r\nimport Provider from \"../model/Provider\";\r\nimport { providerChk } from \"../utils/provider.id.check\";\r\n\r\nvar rootId = \"\";\r\nvar pcMobileId = \"\";\r\nexport const commonEvent = {\r\n init(){\r\n rootId = Config.appendElementTagId;\r\n pcMobileId = GlobalVar.pcMobileId;\r\n\r\n commonEvent.serviceChangeEvent();\r\n },\r\n serviceChangeEvent(){\r\n //서비스 선택\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li`).on(\"click\", (e) => {\r\n Provider.providerId = $(e.currentTarget).find(\"input[name=provider]\").val();\r\n // 통신사 패스 선택에 따라 UI 화면 변경\r\n if (providerChk.isPass(Provider.providerId)) {\r\n commonEvent.setTelcoSelect();\r\n commonEvent.setTelcoInput();\r\n $(`${rootId} ${pcMobileId} .none-telecom input[data-id='oacx_phone2']`).off('focusout')\r\n $(`${rootId} ${pcMobileId} .telecom input[data-id='oacx_phone3']`).on('focusout')\r\n\r\n }else {\r\n commonEvent.setNoneTelcoSelect();\r\n commonEvent.setNoneTelcoInput();\r\n $(`${rootId} ${pcMobileId} .telecom input[data-id='oacx_phone3']`).off('focusout')\r\n $(`${rootId} ${pcMobileId} .none-telecom input[data-id='oacx_phone2']`).on('focusout')\r\n }\r\n });\r\n // 통신사패스에 선택 시 UI변화에 따른 데이터 입력 유지 이벤트\r\n $(`${rootId} ${pcMobileId} .none-telecom input[data-id='oacx_phone2']`).on('focusout', (e)=>{\r\n commonEvent.setTelcoInput();\r\n })\r\n $(`${rootId} ${pcMobileId} .none-telecom select[data-id='oacx_phone1']`).on(\"change\", (e) => {\r\n commonEvent.setTelcoSelect();\r\n })\r\n\r\n // 통신사패스에 선택 시 UI변화에 따른 데이터 입력 유지 이벤트\r\n $(`${rootId} ${pcMobileId} .telecom input[data-id='oacx_phone3']`).on('focusout', (e)=>{\r\n commonEvent.setNoneTelcoInput();\r\n })\r\n $(`${rootId} ${pcMobileId} .telecom select[data-id='oacx_phone1']`).on(\"change\", (e) => {\r\n commonEvent.setNoneTelcoSelect();\r\n })\r\n },\r\n setNoneTelcoSelect(){\r\n const telecomPhone1 = $(`${rootId} ${pcMobileId} .telecom select[data-id='oacx_phone1']`).val();\r\n $(`${rootId} ${pcMobileId} .none-telecom select[data-id='oacx_phone1'] option[value=${telecomPhone1}]`).prop(\"selected\",true);\r\n },\r\n setNoneTelcoInput(){\r\n const telecomPhone2 = $(`${rootId} ${pcMobileId} .telecom input[data-id='oacx_phone3']`).val();\r\n $(`${rootId} ${pcMobileId} .none-telecom input[data-id='oacx_phone2']`).val(telecomPhone2);\r\n },\r\n setTelcoSelect(){\r\n const telecomPhone1 = $(`${rootId} ${pcMobileId} .none-telecom select[data-id='oacx_phone1']`).val();\r\n $(`${rootId} ${pcMobileId} .telecom select[data-id='oacx_phone1'] option[value=${telecomPhone1}]`).prop(\"selected\",true);\r\n },\r\n setTelcoInput(){\r\n const telecomPhone2 = $(`${rootId} ${pcMobileId} .none-telecom input[data-id='oacx_phone2']`).val();\r\n $(`${rootId} ${pcMobileId} .telecom input[data-id='oacx_phone3']`).val(telecomPhone2);\r\n }\r\n}","export const common = { \r\n init: ()=>{\r\n\r\n },\r\n trim: (value)=>{\r\n if(value !== undefined && typeof value == \"string\"){\r\n return value.trim()\r\n }else{\r\n return \"\"\r\n }\r\n }\r\n}","import { device } from \"../utils/deviceCheck\";\r\n\r\n/**\r\n * 웹접근성 - 장차법 관련 Script Event\r\n * @TODO 센스리더는 브라우저별 보이스 동작이 차이가 있기 때문에 추후 웹 브라우저별로 Script를 분기 처리해야함\r\n */\r\nexport const webAccess = {\r\n init: ()=>{\r\n webAccess.activeAuthPopup();\r\n webAccess.checkBoxKeyboardCtrl();\r\n },\r\n //간편인증 처음 팝업 시\r\n activeAuthPopup: ()=>{\r\n // var appendHTML = `
간편인증 창이 열렸습니다.
`;\r\n // $(\"#oacxEmbededContents\").prepend(appendHTML)\r\n if(device.isMobileUI()){\r\n webAccess.targetFocus(\"#oacxEmbededContents header button.close\")\r\n }else{\r\n webAccess.targetFocus(\"#oacxEmbededContents\");\r\n }\r\n },\r\n //각각의 동의항목 Enter Key 체크 이벤트\r\n checkBoxKeyboardCtrl: ()=>{\r\n $(\"#submitFm input[type=checkbox]\").on('keydown',e=>{\r\n if(e.which === 13){\r\n $(e.currentTarget).click();\r\n }\r\n })\r\n },\r\n //focus Event 공통 사용\r\n targetFocus: (target)=>{\r\n $(target).focus();\r\n setTimeout(() => {\r\n $(target).focus();\r\n }, 100);\r\n },\r\n //Target Tag 안쪽의 가장 앞에 추가\r\n appendFocusMsg: (target,message)=>{\r\n const appendHtml = `
${message}
`;\r\n if($(target).find(\".focus-msg-box\").length == 0){\r\n $(target).append(appendHtml);\r\n $(target).focus();\r\n }\r\n },\r\n //Target Tag 안쪽의 가장 뒤에 추가\r\n prependFocusMsg: (target,message)=>{\r\n const appendHtml = `
${message}
`;\r\n if($(\"#\"+target).find(\".focus-msg-box\").length == 0){\r\n $(\"#\"+target).prepend(appendHtml);\r\n $(target).focus();\r\n }\r\n },\r\n removeFocusMsg: (target)=>{\r\n if($(\"#\"+target).find(\".focus-msg-box\").length != 0){\r\n $(\"#\"+target).find(\".focus-msg-box\").remove();\r\n }\r\n }\r\n}","\r\n/**\r\n * 시스템 설정 \r\n */\r\nclass Config {\r\n constructor(){\r\n this.id = \"\"\r\n this.appendElementTagId = \"\"\r\n this.logo = {\r\n alt:\"\",\r\n src:\"\",\r\n style:{ pcMargin: \"\",moMargin: \"\", pcWidth:\"\", pcHeight:\"\", moWidth:\"\", moHeight:\"\" }\r\n }\r\n this.provider = {\r\n version: \"\",\r\n separator: \"\",\r\n mode: { id: \"\", description: \"\" },\r\n type: { id: \"\", description: \"\" },\r\n api:{\r\n naver:{\r\n clientId:\"\",\r\n callbackUrl: \"\"\r\n }\r\n },\r\n order:{\r\n mode:\"\",\r\n description:\"\",\r\n list:[]\r\n },\r\n unUseIdList: []\r\n }\r\n this.uriScheme = {\r\n universalLink: false,\r\n mode: { id: \"\", description: \"\" }\r\n }\r\n this.url = {\r\n api: {\r\n contextPath: \"\",\r\n providerListPath: \"\",\r\n requestPath: \"\",\r\n successPath: \"\",\r\n },\r\n jsp: {\r\n contextPath: \"\",\r\n providerListPath: \"\",\r\n tokenPath: \"\",\r\n parseTokenPath: \"\",\r\n parseSignPath : \"\",\r\n providerListPath: \"\",\r\n requestPath: \"\",\r\n successPath: \"\"\r\n }\r\n }\r\n this.template = {\r\n pcTitle:\"\",\r\n moTitle:\"\",\r\n view_policy1:{title:\"\",hidden:true,path:\"\"},\r\n view_policy2:{title:\"\",hidden:true,path:\"\"},\r\n view_policy3:{title:\"\",hidden:true,path:\"\"},\r\n view_policy4:{title:\"\",hidden:true,path:\"\"}\r\n }\r\n this.userInfo = {\r\n base64: false\r\n }\r\n this.file = {\r\n guide:{description:\"\",path:\"\"}\r\n }\r\n this.mTranskey = {\r\n use: false\r\n }\r\n this.system = {\r\n console_debug: \"\",\r\n alert_debug: \"\"\r\n }\r\n }\r\n\r\n setConfig(json){\r\n\t\tthis.id = json.id;\r\n\t\tthis.appendElementTagId = \"#\"+json.appendElementTagId;\r\n\t\tthis.logo = json.logo;\r\n\t\tthis.provider = json.provider;\r\n this.uriScheme = json.uriScheme;\r\n\t\tthis.url = json.url;\r\n this.userInfo = json.userInfo;\r\n this.template = json.template;\r\n this.file = json.file;\r\n this.mTranskey = json.mTranskey;\r\n\t\tthis.system = json.system;\r\n }\r\n}\r\nexport default (new Config);","/**\r\n * html5 반응형으로 만들어진 v1.0디자인(국세청 버전)의 Mobile, PC Html Tag 구분 용도\r\n */\r\nclass GlobalVar {\r\n constructor(){\r\n this.pcMobileId = \"\";\r\n this.closeEvt = \"\";\r\n this.loadedModule = \"\";\r\n this.tokenCallback = \"\";\r\n this.listCallback = \"\";\r\n this.requestCallback = \"\";\r\n this.complateCallback = \"\";\r\n this.userInfo = {\r\n name: \"\",\r\n phone1: \"\",\r\n phone2: \"\",\r\n ssn1: \"\",\r\n ssn2: \"\",\r\n birthday: \"\",\r\n telcoTycd: null, //S,K,L\r\n }\r\n this.umdOptions = \"\";\r\n this.appPush = \"\";\r\n }\r\n setUserInfo(json){\r\n if(json.userInfo !== undefined ){\r\n if(json.userInfo.name !== undefined ){\r\n this.userInfo.name = json.userInfo.name;\r\n }\r\n if(json.userInfo.phone1 !== undefined ){\r\n this.userInfo.phone1 = json.userInfo.phone1;\r\n }\r\n if(json.userInfo.phone2 !== undefined ){\r\n this.userInfo.phone2 = json.userInfo.phone2;\r\n }\r\n if(json.userInfo.ssn1 !== undefined ){\r\n this.userInfo.ssn1 = json.userInfo.ssn1;\r\n }\r\n if(json.userInfo.ssn2 !== undefined ){\r\n this.userInfo.ssn2 = json.userInfo.ssn2;\r\n }\r\n if(json.userInfo.birthday !== undefined ){\r\n this.userInfo.birthday = json.userInfo.birthday;\r\n }\r\n if(json.userInfo.telcoTycd !== undefined ){\r\n this.userInfo.telcoTycd = json.userInfo.telcoTycd;\r\n }\r\n }\r\n }\r\n}\r\nexport default (new GlobalVar);"," class ModuleParam {\r\n constructor(){\r\n this.configPath = \"\";\r\n this.json = \"\";\r\n this.callback = \"\";\r\n }\r\n\r\n setModuleParam(configPath, json, callback){\r\n if(configPath !== undefined){\r\n this.configPath = configPath;\r\n }\r\n if(json !== undefined){\r\n this.json = json;\r\n }\r\n if(callback !== undefined){\r\n this.callback = callback;\r\n }\r\n }\r\n}\r\nexport default (new ModuleParam);","import xss from \"xss\" \r\nimport { errMsg } from \"../utils/message\";\r\nimport { regex } from \"../utils/regex\";\r\nimport UmdOption from \"./UmdOption\";\r\nclass Provider {\r\n constructor(){\r\n //----화면에서 사용----\r\n this.providerId = \"\";\r\n this.isBirth = false\r\n\r\n //-----Mobile 관련 --------\r\n this.reqTxId = \"\";\r\n \r\n this.deeplinkUri = \"\"; // 삼성패스 | 공공 uriScheme 규격\r\n this.naverAppSchemeUrl = \"\"; // 네이버 SchemeUrl\r\n \r\n this.telcoTxid = \"\";\r\n //-------------------\r\n\r\n //----백단에서 사용----\r\n this.provider = \"\";\r\n this.token = \"\";\r\n this.txId = \"\";\r\n this.cxId = \"\";\r\n this.appInfo = {\r\n code: \"\",\r\n path: \"\",\r\n type: \"\"\r\n }\r\n this.userInfo = {\r\n isMember: false,\r\n name: \"\",\r\n phone: \"\",\r\n ssn1: \"\",\r\n ssn2: \"\",\r\n birthday: \"\",\r\n privacy: 1,\r\n terms: 1,\r\n policy3: 1,\r\n policy4: 1,\r\n telcoTycd: null, //S,K,L\r\n access_token: \"\",\r\n token_type:\"\",\r\n state:\"\",\r\n mtranskeySsn2 : null\r\n }\r\n this.deviceInfo = {\r\n code: \"\", // PC/MO/TB\r\n browser: \"\", // WB/WBK/HY/NA\r\n os:\"\", //IOS/AOS\r\n universalLink: false // true, false\r\n }\r\n this.contentInfo = {\r\n signTarget: \"\",\r\n signTargetTycd: \"\",\r\n signType: \"\",\r\n requestTitle:\"\",\r\n requestContents:\"\"\r\n }\r\n this.providerOptionInfo = {\r\n\t\t\t\t\tcallbackUrl: \"\",\r\n reqCSPhoneNo: \"1\",\r\n\t\t\t\t\tupmuGb: \"\",\r\n\t\t\t\t\tisUseTss: \"Y\",\r\n\t\t\t\t\tisNotification: \"Y\", //PC(Y), MO(N)\r\n\t\t\t\t\tisPASSVerify: \"Y\",\r\n\t\t\t\t\tisUserAgreement: \"Y\"\r\n\t\t\t\t}\r\n this.compareCI = false;\r\n //-------------------\r\n }\r\n\r\n clear(){\r\n this.providerId = \"\";\r\n this.reqTxId = \"\";\r\n this.deeplinkUri = \"\";\r\n this.telcoTxid = \"\";\r\n this.provider = \"\";\r\n this.token = \"\";\r\n this.txId = \"\";\r\n this.cxId = \"\";\r\n this.userInfo = { \r\n isMember: false,\r\n name: \"\",\r\n phone: \"\",\r\n ssn1: \"\",\r\n ssn2: \"\",\r\n birthday: \"\",\r\n privacy: 1,\r\n terms: 1,\r\n policy3: 1,\r\n policy4: 1,\r\n telcoTycd: null, //S,K,L\r\n access_token: \"\",\r\n token_type:\"\",\r\n state:\"\",\r\n mtranskeySsn2 : null\r\n }\r\n }\r\n\r\n isEnt(){\r\n if(this.contentInfo.signType === 'ENT_SIMPLE_AUTH' || this.contentInfo.signType === 'ENT_SIMPLE_SIGN'){\r\n return true\r\n }else{\r\n return false\r\n }\r\n }\r\n isGov(){\r\n if(this.contentInfo.signType === 'GOV_SIMPLE_AUTH' || this.contentInfo.signType === 'GOV_SIMPLE_SIGN'){\r\n return true\r\n }else{\r\n return false\r\n }\r\n }\r\n setProvider(json){\r\n this.clear()\r\n if(!!json.appInfo){\r\n this.appInfo = {\r\n code: !!json.appInfo.code ? json.appInfo.code :\"\",\r\n path: !!json.appInfo.path ? json.appInfo.path :\"\",\r\n type: !!json.appInfo.type ? json.appInfo.type :\"\",\r\n }\r\n }\r\n if(!!json.deviceInfo){\r\n this.deviceInfo = {\r\n code: !!json.deviceInfo.code ? json.deviceInfo.code :\"\",\r\n browser: !!json.deviceInfo.browser ? json.deviceInfo.browser :\"\",\r\n os: !!json.deviceInfo.os ? json.deviceInfo.os :\"\",\r\n }\r\n }\r\n if(!!json.contentInfo){\r\n this.contentInfo = {\r\n signTarget: !!json.contentInfo.signTarget ? xss(json.contentInfo.signTarget) :\"\",\r\n signType: !!json.contentInfo.signType ? json.contentInfo.signType :\"\",\r\n requestTitle: !!json.contentInfo.requestTitle ? json.contentInfo.requestTitle :\"\",\r\n requestContents: !!json.contentInfo.requestContents ? json.contentInfo.requestContents :\"\"\r\n }\r\n if (json.contentInfo.signType === 'GOV_SIMPLE_AUTH' || json.contentInfo.signType === 'ENT_SIMPLE_AUTH') {\r\n this.contentInfo.signTargetTycd = json.contentInfo.signTargetTycd || 'nonce'\r\n } else {\r\n this.contentInfo.signTargetTycd = json.contentInfo.signTargetTycd || 'hash'\r\n } \r\n }\r\n if(!!json.providerId){\r\n this.provider = json.providerId + \"_v1.5\" \r\n this.providerId = json.providerId\r\n }\r\n\r\n if(!!json.userInfo){\r\n this.userInfo.name = !!json.userInfo.name ? json.userInfo.name :\"\"\r\n if(!!json.userInfo.phone1 && !!json.userInfo.phone2){\r\n this.userInfo.phone = json.userInfo.phone1 + json.userInfo.phone2\r\n }\r\n this.userInfo.telcoTycd = !!json.userInfo.telcoTycd ? json.userInfo.telcoTycd :\"\"\r\n this.userInfo.ssn1 = !!json.userInfo.ssn1 ? json.userInfo.ssn1 :\"\"\r\n this.userInfo.ssn2 = !!json.userInfo.ssn2 ? json.userInfo.ssn2 :\"\"\r\n this.userInfo.birthday = !!json.userInfo.birthday ? json.userInfo.birthday :\"\"\r\n\r\n //개인정보 이용 동의 확인 여부\r\n this.userInfo.privacy = json.userInfo.policy1==1 ? 1:0;\r\n //서비스 이용약관 동의 확인 여부\r\n this.userInfo.policy3 = json.userInfo.policy2==1 ? 1:0;\r\n //제3자 정보제공약관 확인 여부\r\n this.userInfo.policy4 = json.userInfo.policy3==1 ? 1:0;\r\n //고유식별정보처리 동의 확인 여부\r\n this.userInfo.terms = json.userInfo.policy4==1 ? 1:0;\r\n }\r\n\r\n if(!!json.compareCI){\r\n this.compareCI = json.compareCI;\r\n }\r\n\r\n if(!!json.isBirth ){\r\n this.isBirth = json.isBirth;\r\n }\r\n\r\n }\r\n userInfoDisabled(){\r\n !!this.userInfo.name ? UmdOption.style.userInfo.name.off() : ''\r\n !!this.userInfo.birthday ? UmdOption.style.userInfo.birthday.off() : ''\r\n !!this.userInfo.ssn1 ? UmdOption.style.userInfo.ssn1.off() : ''\r\n !!this.userInfo.ssn2 ? UmdOption.style.userInfo.ssn2.off() : ''\r\n !!this.userInfo.phone ? UmdOption.style.userInfo.phone1.off() : ''\r\n !!this.userInfo.phone ? UmdOption.style.userInfo.phone2.off() : ''\r\n !!this.userInfo.telcoTycd ? UmdOption.style.userInfo.telcoTy.off() : ''\r\n }\r\n getUserInfoValidMesseg(json){\r\n if(!!json.userInfo){\r\n // 이름 빈값 체크\r\n if(!!!json.userInfo.name){ return errMsg.OACX_USERINFO_NAME_EMPTY_ERROR }\r\n if(json.userInfo.name.length > 50){ return errMsg.OACX_USERINFO_NAME_SIZE_ERROR }\r\n // 이름 한글, 영문 체크\r\n if(!regex.isKorEng(json.userInfo.name)){ return errMsg.OACX_USERINFO_NAME_VALID_ERROR }\r\n \r\n if(json.isBirth){\r\n // isBirth: true 생년월일 체크\r\n // 생년월일 빈값 체크\r\n if(!!!json.userInfo.birthday){ return errMsg.OACX_USERINFO_BIRTH_EMPTY_ERROR }\r\n // 생년월일 숫자 체크\r\n if(!regex.isNum(json.userInfo.birthday)){ return errMsg.OACX_USERINFO_BIRTH_NUMBER_ERROR }\r\n // 생년월일 형식 검증\r\n if(!regex.isBirth(json.userInfo.birthday)){ return errMsg.OACX_USERINFO_BIRTH_VALID_ERROR }\r\n }else{\r\n // isBirth: false 주민번호 체크\r\n // 주민번호 빈값 체크\r\n if(!!!json.userInfo.ssn1){ return errMsg.OACX_USERINFO_SSN1_EMPTY_ERROR }\r\n if(!!!json.userInfo.ssn2){ return errMsg.OACX_USERINFO_SSN2_EMPTY_ERROR }\r\n // 주민번호 숫자 체크\r\n if(!regex.isNum(json.userInfo.ssn1)){ return errMsg.OACX_USERINFO_SSN1_NUMBER_ERROR }\r\n if(!regex.isNum(json.userInfo.ssn2)){ return errMsg.OACX_USERINFO_SSN2_NUMBER_ERROR }\r\n // 주민번호 입력 형식 체크\r\n if(!regex.isValidBirthday(regex.convertBirthDay(json.userInfo.ssn1, json.userInfo.ssn2))){ return errMsg.OACX_USERINFO_SSN_VALID_ERROR }\r\n if(!regex.isValidRnNum(json.userInfo.ssn1, json.userInfo.ssn2)){ return errMsg.OACX_USERINFO_SSN_VALID_ERROR }\r\n }\r\n\r\n // 인증기관ID 체크\r\n if(!!!json.providerId){ return errMsg.OACX_PROVIDER_EMPTY_ERROR }\r\n\r\n // 인증기관이 통신사 패스 일 때\r\n if(!!json.providerId.match(\"pass\")){\r\n // 통신사 빈값 체크\r\n if(!!!json.userInfo.telcoTycd){ return errMsg.OACX_USERINFO_TELCO_EMPTY_ERROR }\r\n // 통신사 S, K, L 입력형식 체크\r\n if(!!!json.userInfo.telcoTycd.match(\"S\")){ return errMsg.OACX_USERINFO_TELCO_VALID_ERROR }\r\n if(!!!json.userInfo.telcoTycd.match(\"K\")){ return errMsg.OACX_USERINFO_TELCO_VALID_ERROR }\r\n if(!!!json.userInfo.telcoTycd.match(\"L\")){ return errMsg.OACX_USERINFO_TELCO_VALID_ERROR }\r\n }\r\n\r\n // 휴대폰번호 빈값 체크\r\n if(!!!json.userInfo.phone1){ return errMsg.OACX_USERINFO_PHONE_EMPTY_ERROR }\r\n if(!!!json.userInfo.phone2){ return errMsg.OACX_USERINFO_PHONE_EMPTY_ERROR }\r\n // 휴대폰번호 숫자 체크\r\n if(!regex.isNum(json.userInfo.phone1)){ return errMsg.OACX_USERINFO_PHONE_NUMBER_ERROR }\r\n if(!regex.isNum(json.userInfo.phone2)){ return errMsg.OACX_USERINFO_PHONE_NUMBER_ERROR }\r\n // 휴대폰번호 유효성 검증\r\n if(json.userInfo.phone1 != \"010\" && json.userInfo.phone1 != \"011\" &&\r\n json.userInfo.phone1 != \"016\" && json.userInfo.phone1 != \"017\" &&\r\n json.userInfo.phone1 != \"018\" && json.userInfo.phone1 != \"019\")\r\n { return errMsg.OACX_USERINFO_PHONE_VALID_ERROR }\r\n if(json.userInfo.phone2.length < 7 || json.userInfo.phone2.length > 8){ return errMsg.OACX_USERINFO_PHONE_VALID_ERROR }\r\n // 개인정보 이용 동의 확인 여부\r\n if(json.userInfo.policy1 == 0 || json.userInfo.policy1 == 1){ return errMsg.OACX_USERINFO_POLICY1_VALID_ERROR}\r\n if(json.userInfo.policy2 == 0 || json.userInfo.policy2 == 1){ return errMsg.OACX_USERINFO_POLICY2_VALID_ERROR}\r\n if(json.userInfo.policy3 == 0 || json.userInfo.policy3 == 1){ return errMsg.OACX_USERINFO_POLICY3_VALID_ERROR}\r\n if(json.userInfo.policy4 == 0 || json.userInfo.policy4 == 1){ return errMsg.OACX_USERINFO_POLICY4_VALID_ERROR}\r\n }\r\n return \"\"\r\n }\r\n}\r\nexport default (new Provider);","class UmdOption {\r\n //외부에서 OACX.options을 통해 접근하는 key \r\n constructor(){\r\n this.style = {\r\n disabled_userInfo(){\r\n this.userInfo.name.off()\r\n this.userInfo.phone1.off()\r\n this.userInfo.phone2.off()\r\n this.userInfo.ssn1.off()\r\n this.userInfo.ssn2.off()\r\n this.userInfo.telcoTy.off()\r\n },\r\n show_userInfo(){\r\n this.userInfo.name.on()\r\n this.userInfo.phone1.on()\r\n this.userInfo.phone2.on()\r\n this.userInfo.ssn1.on()\r\n this.userInfo.ssn2.on()\r\n this.userInfo.telcoTy.on()\r\n },\r\n userInfo: {\r\n name: { // 이름\r\n off(){ $(`#oacxEmbededContents input[data-id='oacx_name']`).attr(\"readonly\",\"readonly\").css(\"background\",\"#f2f2fa\") },\r\n on(){ $(`#oacxEmbededContents input[data-id='oacx_name']`).removeAttr(\"readonly\",\"readonly\").css(\"background\",\"none\") }\r\n },\r\n ssn1: { // 주민번호 앞자리\r\n off(){ $(`#oacxEmbededContents input[data-id='oacx_num1']`).attr(\"readonly\",\"readonly\").css(\"background\",\"#f2f2fa\") },\r\n on(){ $(`#oacxEmbededContents input[data-id='oacx_num1']`).removeAttr(\"readonly\",\"readonly\").css(\"background\",\"none\") }\r\n },\r\n ssn2: { // 주민번호 뒷자리\r\n off(){ $(`#oacxEmbededContents input[data-id='oacx_num2']`).attr(\"readonly\",\"readonly\").css(\"background\",\"#f2f2fa\") },\r\n on(){ $(`#oacxEmbededContents input[data-id='oacx_num2']`).removeAttr(\"readonly\",\"readonly\").css(\"background\",\"none\") }\r\n },\r\n birthday: { // 생년월일\r\n off(){ $(`#oacxEmbededContents input[data-id='oacx_birth']`).attr(\"readonly\",\"readonly\").css(\"background\",\"#f2f2fa\") },\r\n on(){ $(`#oacxEmbededContents input[data-id='oacx_birth']`).removeAttr(\"readonly\",\"readonly\").css(\"background\",\"none\") }\r\n },\r\n telcoTy: { // 통신사 SK, KT, LG \r\n off(){ $(`#oacxEmbededContents select[data-id='oacx_phone0']`).attr(\"disabled\",\"disabled\").css(\"background\",\"#f2f2fa\").css(\"opacity\",\"1\") },\r\n on(){ $(`#oacxEmbededContents select[data-id='oacx_phone0']`).removeAttr(\"disabled\").css(\"background\",\"\").css(\"opacity\",\"\") }\r\n },\r\n phone1: { // 휴대폰번호 앞자리\r\n off(){ $(`#oacxEmbededContents select[data-id='oacx_phone1']`).attr(\"disabled\",\"disabled\").css(\"background\",\"#f2f2fa\").css(\"opacity\",\"1\"); },\r\n on(){ $(`#oacxEmbededContents select[data-id='oacx_phone1']`).removeAttr(\"disabled\").css(\"background\",\"\").css(\"opacity\",\"\") }\r\n },\r\n phone2: { // 휴대폰번호 뒷자리\r\n off(){ $(`#oacxEmbededContents input[data-id='oacx_phone2'], #oacxEmbededContents input[data-id='oacx_phone3']`).attr(\"readonly\",\"readonly\").css(\"background\",\"#f2f2fa\") },\r\n on(){ $(`#oacxEmbededContents input[data-id='oacx_phone2'], #oacxEmbededContents input[data-id='oacx_phone3']`).removeAttr(\"readonly\",\"readonly\").css(\"background\",\"none\") }\r\n }\r\n }, \r\n showStep1(){\r\n $(`#oacxEmbededContents .standby`).hide();\r\n $(`#oacxEmbededContents .mobileView`).show();\r\n $(`#oacxEmbededContents .main-content`).show();\r\n $(`#oacxEmbededContents .csTxt`).removeClass(\"view\");\r\n $(`#oacxEmbededContents .pcView`).show();\r\n $(`#oacxEmbededContents .csTxt`).hide();\r\n },\r\n showStep2(providerId){\r\n $(`.csTxt.view`).removeClass(\"view\");\r\n $(`#div_${providerId}`).addClass(\"view\");\r\n $(`#oacxEmbededContents .standby`).show();\r\n $(`#oacxEmbededContents .mobileView`).hide();\r\n $(`#oacxEmbededContents .main-content`).hide();\r\n $(`#oacxEmbededContents .csTxt:lt(1)`).addClass(\"view\");\r\n $(`#oacxEmbededContents .pcView`).hide();\r\n $(`#oacxEmbededContents .csTxt:lt(1)`).show();\r\n }\r\n }\r\n this.trigger = {\r\n request:()=>{}\r\n }\r\n this.callback = { \r\n loaded:()=>{ },\r\n ajax:{\r\n success:{\r\n getToken:()=>{ }, //토큰발급\r\n providerList:()=>{ }, //인증기관 목록\r\n authRequest:()=>{ }, //인증요청 성공\r\n authComplete:()=>{ } //인증완료 성공\r\n },\r\n fail:{\r\n getToken:()=>{ }, //토큰발급\r\n providerList:()=>{ }, //인증기관 목록 조회\r\n authRequest:()=>{ }, //인증요청\r\n authRequestAlertConfirm:()=>{ }, //인증요청 [확인]\r\n authComplete:()=>{ }, //인증완료\r\n authCompleteAlertConfirm:()=>{ } //인증완료 [확인]\r\n }\r\n },\r\n event:{\r\n close:()=>{ }, //모든 닫기 이벤트\r\n request:()=>{ }, //인증요청 이벤트\r\n },\r\n valid:{\r\n error:()=>{ }\r\n }\r\n }\r\n }\r\n\r\n}\r\nexport default (new UmdOption);","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAjsSURBVHgB7Z3bbhvHGcf/s1RsxUkQ5QmyegFLRNoCaVCYfIJaTxDpJkbRC9kXrdSL1pR7E7cXli6KIEAByU9g9QlEA3UMFDVWVHov9gnMIAfHsriT7xuKPoWkd2dnlrPU9wN08q7EBf/7nWfWgCAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAImVCoGl/omD7H5vsaevhMHUIYSzUE/kI3SMyb0FimnxZ+dlyhTcf2cE3dhfAKYQvM1lrDLonXyPgbXaRo4neqC8EQIVT+oZfp6pIc4jKx+Z1/6k8hGMK0YLZcFmqUO87KwJLbOOeEJ/CuXsCJETdGMXq4gEWsqR7OMeG56FOso7i4zAKe4Q7OOeFZ8Jf6GG4EHnABH5xnKw7Lgr/UV+FSXOYEqyhKJ7lpPirIHEKCM2bXPkVhCbYkyQKUvgdNdbj5+dE3qH+0jQoRlgVHBcQYx6A5kp8kiUlcTvYaz/9NqTtI/nsVFSLcOtgd+Uut5D/LJO4BRoULFe2a4xUhLIE1fCRD+f5mJ/kUam60uAPIbc/dMxZeAUIT+P9wTZ6/2UnWKd7u4c1WH5vYzDE6cEIT2P1kSOFepvM6yR0SN08CRW483UXghCXwPPYBx246xf2Jx9kKDx9xpnwduVFXzY0RMGEJzA2JFDtwhaIR4qTJ0iBTPjBC2cI3RsA1cnhZ9DzYTXZRnC762Bp79Lm4KJ4Ra90yyVmAhCcwW/EpVlDcVd8Ya71J0jircWO4guN3gOVTmHXw79UhidyErcgp1nBN7Y88xpnywHJdZ8BBlk/hNjpY5BR15HHXCnxj1Mly90Ye51iZL1POy8DtB1Q+hd3JYhd7TS0ai9Rojz1vcGwVn6m6uTHGnnfWU/bLoEYOhCquqmyYrxG5xFOy7kv0kXUcOBgeuI2941BqG0v1G5gyYU2TslBkGU693iORm2P7zC5J0yCM5zwMG16lXu9Cn7rI0sej9RaNFS0aJ+6pnot2BY/9VOQ+Vmp9I6SZ8fmz4CH1X+wbMdzRg+43Q1sQcH4teEjyaJsSonUUg9y+ahr3HxgiMMPDBvt+9CGJuxKiuMzMuOjvWv+2bxPqaA2wGVXq/VAtd8hMWPDj1sHChejiY/q2e5I+bX7QanaRlxfDhzjT+VrvhJIpT2ImLPgtvBWffRuT0MdPbj3MP74z5ZPK1v8eZMrBi8vMhMAa+pXebwrd+v7WV8dk2THyYETur0w4ozeIt9VZOjvLZZKx5h9ufZXP0uq/bI8pn7hBwvF2HxViNiw4UvHYY8CdH7YeHOSyZrZQ7ka94KwM+lXlniYwEwIrreJJx7VSDbLmJJc11z9qmUQK/PQAmlIFnClPYiay6G+3HrQipTImVnrvJD3Zssq0K8hsWDBUnOPsVbLmgyd/fXgungLgZ1x4tLlK7i1GXlJyh/XbbeRERXifg20O4lTrve9vPWg4t+bkD8uIovxdMaUPcflvzhM4PwIrTb1dlb+zFGn+nTZyolK9QHEW+THW3CBrbr3954/dPKGnVuN10g3kRUecwDkX2I+L1pYbrpV6HxbQaL3IGqihNe/mrptdorSX+bSnGGx9sTEsoBjsYJGbs9gcIyB8WfA3sCNGct1GrBhuMNacuzny2t+AHV14wJcFd2HN877yVKC2Zy+FJZxgWb+wdr+zEt6SrAJPmotUAzlGd09aD+M0Zwo9ChZWa+y8qy9tq1bdMsTMNWB7LWougQf8CNzvH1I2CStU9Fv6nLmZ30d/QRVwRG6EPaOWXrHuHfVPKmTBeEa926hHlmwRT6lU4jhc3870ZvMkyeYtdSosY3KHArsU63/30uf2E4NZHGX7mF+6KaILq1nP1jWd6yYyMZYGCe+klxbfu/lJy4m4TG3eXlyL2j8r/ha+a90hkRuwIY+b1lEmgZ1b7M+x3yOs0YEn/PWi00JdmQa+3mhkOfFNkySiS4OIVecW+zLcmi1SqkXa24zZnwVzT7mzYRmHwbU0P/9iEfawsO5akJMpYr1dXM7ff8+K72lSkTc3RuePb2w4vD5J0lq307TffOcvv14sRdyvN1ncGLYof/GX8StwWrB5zjPeZCPOcupQ2HdvftJ8r/WbNsqAr02jhSIo7fUm9D/wP9rkpagN2NNF/8f6uLKJGx2nOI1LE3UIl0W1+WJbUdk9L31eJAy9kTK2j/Id2oA9Mb2RPIJbG3Xw7dbHXXjq406kdpFzhBiFUC14ppwlO52Nx9bJ1nP0NiUjU99QbTjaoBtOFVsXXYL1MuUs2VHKgTD0hh5tTv/JcuYaCopr8G+95lVQFp3NY3q1GEXhDtlpukJlWBdlwglVzZRuDRSlJOtlylt0l+o1uEBTr7qmDvC/P5W3aC6hpgu/pgtxGZWWFmrKXTZ7tFFkm+Yo9tDnxyV4sma22ohcqYLLm2kPlz93c7NnoFyBubSIqLRw4apfxa3QfJ1z8+uDB5S6WA50BrvmVDfLDC/lL3x/4e48QD3dKNrHsyf/yjpufHFdpq5l78LW2oAXKHfwsDR2EtPZ2dDZaCHzTgRLOBlL9X0S/Jim6YNpzWlKotOceo48iNb86MEPkaaL5IavmNjuE97rtHS7hZKZ3taVzuae49gWMORZLt9ewRSY3taV9MfrdFd7WcUQFJo8Sf9paUnV60x385m/pCsMppBUvc50N59xIsRvgJ5CL9k32uQAUxWXCWP7qLHkiweUGPlNdMqjTROwldyZvAfC2h/c2XDxULLporFDbUgHvWo3hLU/eOk2JV5pGBOjvGjdM9cekLhMmDv8By3Cg8okXybeTmEAkoEwBR7CDRFgvfgs2RPa7KLcmUYDIythC8z4afi7wO+gwxHhCzwkHKFZ2Ls2j5qYBtUReMhQaOBKaTF66IrTp9shlD55qJ7AL8OTqUitwofYRlR1l5oV+1Wx1lFUW+CX4c3Xtdry2X8T/6GZDmVNzgYW2j3bMHefXHA79NialdkReBRmSyc/MeBsg1pNxeZrn8eGaiAqnvaq5nYFQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQfDATz6iRyCAHQk1AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAIkmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZWRhMmIzZmFjLCAyMDIxLzExLzE3LTE3OjIzOjE5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjEgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDIyLTAzLTExVDA5OjMwOjIzKzA5OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIyLTAzLTExVDA5OjMwOjMwKzA5OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wMy0xMVQwOTozMDozMCswOTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NGUxOWZiYTctMThjZC00MTVhLTllYzAtOWZkOWNjMzViZjVjIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YWE4N2IzY2QtMDFiMC0xMTRhLTk1ODgtZDNkYWEwMmMyY2E5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2IyOTYyNTItMTg4NS00YjY3LWJlZjQtYThiMzUyN2Q4NTczIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjYjI5NjI1Mi0xODg1LTRiNjctYmVmNC1hOGIzNTI3ZDg1NzMiIHN0RXZ0OndoZW49IjIwMjItMDMtMTFUMDk6MzA6MjMrMDk6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMy4xIChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MzBhNDhiNi0zNGYwLTQ4OWMtOTU5ZC1kNTU2ZmVhZWUzZGEiIHN0RXZ0OndoZW49IjIwMjItMDMtMTFUMDk6MzA6MzArMDk6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ZTE5ZmJh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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAIAAAAiOjnJAAAACXBIWXMAABJ0AAASdAHeZh94AAAF8WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0MzUyLCAyMDIwLzAxLzMwLTE1OjUwOjM4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTA2LTE4VDE1OjE4OjQ5KzA5OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0wNi0xN1QxNDoyNDoyOSswOTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0wNi0xN1QxNDoyNDoyOSswOTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpjMTBhOTAxYi1hMTk0LTk2NDAtOWRmMS02YTYzZmIyNWM0YTMiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3YjAzNDFlYS1iOWFmLTI3NDItOGM0ZC0zOThmNTc2YjIzYmIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNTE4NzlkNS1lNDhiLWM2NDAtYmE2Yy1iMWIzMzA1YzNiYjQiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjI1MTg3OWQ1LWU0OGItYzY0MC1iYTZjLWIxYjMzMDVjM2JiNCIgc3RFdnQ6d2hlbj0iMjAxOS0wNi0xOFQxNToxODo0OSswOTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjMTBhOTAxYi1hMTk0LTk2NDAtOWRmMS02YTYzZmIyNWM0YTMiIHN0RXZ0OndoZW49IjIwMjEtMDYtMTdUMTQ6MjQ6MjkrMDk6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5m9z6lAAAavUlEQVR4nO3deZwcZZ0/8M/zVFVXdfd09/TcV2YmCQkQJUCC3AmEXCSAEGI4gmgEV8B1XbL64+cq7LJ4sL4UdF10ZVUWWNzlhyi7gK5CDJckIQfEEEByzEzmnp6emb6vOp79o7vnyOUkzNOJ/r7vV/5I5qjqeupTTz1XVZhoByFTjp/oD0D+PFGwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCKFeqI/wBEwgBX/LgBxIj8LOQ4nR7AE4AJ8gKf4iQTgAALgxVpVABkgDqQAMS525KR0QoPlAAZQCyhAHH17la5+dV+71tGpJtM8ZzIhoCrC0EVNlX36TLOx3po9w0QrAGAYiAKghJ2kTlCwbCAAVAFxbH9R//Vrnjfe1He+6xoaUdJxDrCJNz8GCMUlAn5n9gzz7DOzi89PL1+ULpvuIAv0Fis2eQSgAh5AAwDkgBRgH2+m89WtDhiAAgjAAtKAeYwbdAAf4AKGARz5d/MNiWpAAMOlq+yZaC/FbsY4gAtoAkbwyE99Tzzte32rnksrYE4w6Bi6UFXBDnfkto2cyaIxnssogJg1O3fNitRta2MzzzURB0IAP64iswEdCI5LMgNGgGwxrFWAD8jB7GTROAdQUW7zZkABIsBI8VeOLn86NaASMAAAYSRDPJ1ljMHndVyNAh7AAfqBzFGvEwVwAxUAB3owOKBU19hHC6UAPOjpUDwGgmfaABAB4oA9icL5AEoYrHyzqRnQ8D8/89x9f8WbbxmAqKu3dJcQk26eMwZHIDykpJNKmc/+wh3RL39hxFUj0ANkAOUYP5WCXIYNhBXGwJhwHKaqor7Bhg1UAGXo36k8u9G7Zau+4x09nuBgCPqd+XOzF3wks2ppsvw0B8PA8JGr/nykagE3EMMf3nRt3qW/t8+1a7erq0/N5BgDvF5nzkxz3tzs+fMzCxZl4AN6gfTEY7GAesALZGH1s0079e279Uee8NfVWBue7UMSyB3hA+iAgYVXNLy7R//MzdELzs1efFY62OrADSSB3mI1PNVKFSwHUIFmdO9WP//lqmee84KJ5mkWZ3COt8enKBiJ8siwNmtG5h++MnLjLQnEgNAx3t4b8eYL+iU31XvdQncJ28ZASP31o32L16bj7fz/3l/5zPOe/j4NEO4yR3cJAJksyyQ5wBqnmetuiH/tnmHowIHDnSETqAX8OLBdfeQp/ytbjV27XSNDKiCgijKvo3AAME2WSnCAKbpz3rzsX34yuva2BKLAYPFYGGBgx1v6r17y7N7v2rdfe/sPLjPDAeH1Obue755xnom+IxxgPTq3qXOumJZMMVgcELNn504/1Ty9NXfN5cnzzssiIaXTXZI2Vr6R3oD/edpz06drRqJqfYNp6MK2jz9VAGwbAZ8T9Gf3dWprb617/fXIQz8MoxVoP5arkMO2kUhw2xaGLgBYpvLLlz31s+yrr6/b1677ys3W1pwQGK1T/WVgVTaAUFj5+reqNm8yfvNMn9os0HVIcQbQ3qY+/Kj/4cf9kREN3K6usptbcoc5kRU2Z8iabNNmY9Nmz+tbR77/L2FUAUOAUqjzfvwfvh/+ew2QcXtFdYWlaeBMtHfo//l82VcWjhz+6ASg48XN7mRMaWnOgcF20Deg7Nmr/beo0Fj/eSuzSEy6rI6F/AFSAehAAx57yLdyTUMszWfMyGqqsKfiHi8EbAetTVZtvfn9R4LLF9enhxhaAWvSm3CgKCgrc/xljs/r+LxOQ2P2uY2e5VfV7e9WZ8zIVPgdx8FBd+p8zmqq7JaWzMbXvddcVwcxsaEGgAE1ePxR3zf/qZZxTG/Ntkyz3IY4UvXgCGiqaG016+pzP3ik4ot/WYnyYoPMAWzccV1MNTJ1DXZ1pa2q+WNngNj1vgvZI7QBFMDCq9sMQIBBCHCGYMAJVjoVVanP3hgrjN1IID9YDGjEc4951v1VnS9gtTSaljXF3RLbgeESLS3ZF17zXbWqDg5Qe/yNU92FaJwnLd7aZFkWsx2k0mwkytMZJgTGdyyEAASam7O/fNn30P1+VE48SQLI4OZrEv7yDOewJ6Yzf0nYh0TWcWC4RE1d9oEfV2x8wo3G4oGEMHdh7tLz06EBdfxn8Prt37/vsroYfIc7mADSe9mmt4yygD26I8YwElZWXJKqO8dC+DhL6Y+SHCwLaMVbL7g+uq7e67OqKmzLltLZzZ/jlpbMbzeXrb+9Ej7AfZzXom3DbYhgwB4a4Z2dWne3yhQ01dkOWFeX1tmrKnwsXgJgDGU+894fVER2c9RO3GkIMy4xr1maHBpUFS6EwEiUd3apnZ1aV5fW06/29KtdXVpnp2rZUIpVjiPgdQumOOv/sTLXwxAAAKQBP9YsTzoTC7Cy3Hn/fdczL3hQfmihAAFs2Wns63CV+5yJ32OrlyahSuwbymxjCaAWuT625rY6ALXV1pTXVQftjQF1dbnvPlqx9OL0yltT2H/sncSiZJI31Ni3fyJ+4bmZ01ty9RV294j61vuuHz3sf3mru7nFZKxQ2QiB6kq7vUN/9CnfnfdFJ2zFAhhuXR1//GeB9g4dELNPzS1akPnIhzPTGm2/22EqhuL8hY2ep/7bGwg4lUE7X0S2jcYGc9c7+huv6gtuzCABcCCNVYuTX662Ygnu8xaCwhgAtmGze80dyYOH/wAAL201YDFFGasawyN8+vTciktTiEoc05IZLAb48PUvl+/v0KdPz0hNVZ4QcBtCddmfva9qz9IuV7XA0PGUnW1jYFB55JuDKz+ZAoA0kMHpM3OnX5Rbe1Ni1Ufr/usF7/TpObtYeTgCUOxfvuK5MxKFPq7nz4EQFl6SXnBh0ucWt66LLTonHZzmwDthd7d+Lr7qobJP3lWTSBY6EAAUDoDt3KsvQKZw0Qyiep69fEHqP37hC5Q5TjHWisvZ0+5CGNCBzLjtuoFB/G6Hobqc0VRxjmRM/eiaiHGqQMcxl8zkybwV1qJ/m/KdJ8rLg6bjlGjmxXbQ1Ggd6NR/8CM//B9gQwo8bgEA7cAAEAX6gH2Ajp//qL+52QwPjV2TQqCywt75B1f3bhXBidtJAA42Pt73y2f6rv14MljnYAToGPenDRjADZ9L3PmpaGhAG7vJCgBi6y4d6eLlbwEKrl+eBNj43nRVhb19t2vP7zVUTtx1BQ68q23bZVRUjN3wTAvg4rrlCUDu1L60YAnAjcd+4YtH1PKAM/nxzynYswPNsP/tv3yiG4dv0k4CA9IZVvjbKBVoA2/GX1wfj8eU8Y1ojyHCIXXbuzrcEzfEgSzUcoE40AZEDumxciAJAGuvjOtuO2eObVRzO3s6NDFQ7BtyIIIVi1OnnJIdioydOEMXiaj60nY3tHFZEYALG7YaiahiuMZKfzCszJubufDiDAblzu1IC5YHGMBzL3lUl13KVAH5gQBr1zv6q6+5UTXVW2cAsOSClMtwzHE393xbJzR8uDYdA+JArljYbqAKqAMagSagCWgGgA+fapaXO5ns2O8ZLhFPsHSSjzVYItBmio9elkrGVF48dfm67ZU3DGTGNW3GDTSMXgCcI5dRrl6cQj0kDV+NktbGCqB9s7Z7rysYLHWwAKgKINjmXfolN6aneNMMSKKlyaqpspIZ7vNMGGDoHVAKP3PQIduAH6gGAPSh+x01nmDpDLedQq3BgujZoyoc6rgTwoq/Om4PAHDdssSDPynPWUzlhd34yu3NO43EXl7W4hTmpA830JDOMt1j37A8IXuiEBKDZWBvjxaN8ca6yQ9WThkhAOa89a6OJKAey3jpZJgo84gyr4jGD/5Ob0gtzF6Pnrn8JHcrEMYzj3h/s8n9znuutk4tm0Uux2yH5asT5giuIuh3NHWs+5Yfy5gwJc+AEM5bmD1/XmbHLr2h1sr/bNDvdHRor+0wVpyRwhAAIIAtvzL2dbia6szCrzKEQsqyhenZ55sYkL7GQWKvcN8BFRZTTtDiZ65hOMIRB7SpDpYFr9vxe50O6+DSS6RYfohh9CcRBCrx9OPer347uOttHWCqbvvLhKIIj1swVghRfkxcYBIN6gQwA9cuS27Z5h4d8sjfiF/a6l6xLgUOOMAhAw2MQdjK1UuS8AHhP+VgxZMcYKMHX2Kcw3YYbAmz9wJcgaYJxzn4O874VdQO4AcqcfcXKr7+YCWYPa3ZVD7ApHsBA0ysWZK893vBZIa5dQFACKiG89o2A/2AG3AOM9AQTfDKKvNjS5JIl2JJlsRg+csc4BjWw0wt24HCBdTC5TuVOEyTpdJcPaTwdK24dg8AB2rwvXsDX3+wqqo66/MK24EjwDksC+FhJZPKV+Zja/tbWkzGcGheJ2BACK3nmpddkH7+RW9Ls5kv4aqgvfM91+63XB9emoONA1smDDTkp3E+vjpePc9G7xSVw1FJDNasVpNpwh43WVFKIseqK2z4igssp5CKRJInUkxTD75oGmos6MXV+g1oe037m/sr/eVmmVfYDgBomugdUNMJPn9eZs5p5mnNOY9bwAG8GO5VHnna5zg4dLMHywIeXHd58vkXyka/prtEJqm8vN394RU5qIWBhopAIVj5m+E1S1KFaZw/4Rorg9lNZsDnZE3mUUpda+XbHGd/KAcPEJrqreuIJ1kkzrWDC481N9rgY4uPf/z/fHZOqWzM5pdyKAp6+9WAz3nsn0OrVyZ5cOJt+gD+9UlfzsQhmz0EBxK4ekmyodGMxHjA56DQXxEvv2F8LhuFPjbQkK/P4gleXmktmJdGqkRLk6U1rSNoPt2ae1puZFg57FJjqSwLUJyLzsz88R89VgIw8O4+LRxWDd2Z8HWIuqpiN8EN0YdXtxuayx5dIJRMMwj86l/716xLcgXoGzf+nsL+Axpj4JM8IUPwn+FcvjAVHVF5sXgDQXvLLsPqYRjE+IEGxjAypK69MlEz35a3nOEg0oKVBqpx1aUp21JG+z6lwRgGwurZH8peeHFm6qsrAMCGTR5hs/G3+ESGV1Tb587JIj9w5sVgp9LerZX5x8IXCimXL0qdvTKLXiD2wRp/DgCsXpwEYBdLN1Dm9HRp7QfUSDff3+EK+ArfyHcXVi9N5kdNS0NasBiQwifWxIMV5nCkpJUWY7Cyyi2r4qgvzJZMGRuYhuwe9uRzZYGgNX6F0/AQP/eMTNNcq9CkUxDLctsGH3/gDpvdYkIBchPvRwIAAj5HUSbdZ2TACJYtTp9+WnaoONyfL+TfvWk8/6pXWEwttkAiEaWlNfeRs7OIlu7Rd5n7GUDNWfaXbo3EIlrJgqUoONCtzp6VueP2OCJTumkbqAFU3HF3dU+vVlE+VuEwBjjKtUtS8BeXNgjwg8Y2ARSGYA55yDsIeNAfVuJxrk6+oxOB2iquXZZMJZT8DVQIBCuth5/0P/ykr7yikHvOEY8pn7o27pvjTH0/5sgkBziC//OlyNzT0h0dLvWPdnY+MM6QSDFhKQ//Q1ipO841M3nCQTB/FwsA5UAdMBPw4J7PVfzbz/yNjbnRQQHO0D+oNDbmPv6xOGLFPVoIem3dJaxxkyf+oP3sBk/sHY4WoB6oB6YD05FOsh8+4L/6tjpFER7jWEpJ4LolCagimyscZ9Bv7+3Q3tnrqigv7Dg/jbN2RWLqh12OSvJ6rDDYKXjqJwNnLprW06c11k/9uuSxvTHYDgYHXH//V+FLb0yj+/ivGsagatjToc0aNPVBYToIJZTXdxpPPO57abOnvt7UtLHRJkcgk9Tu/dt+9yyBtuJOkwi2OrOnmxtecwfKCj9aVe509ymLbmi4667InOk5YWF/h/bqDuO3L7vf3m24vXZ97bGshWRAP+YuzC1fmNrwqrup0RICls28bgdAfjuj0zizzjPRX9KnxiU/paMCbTj1QvOFp3ovuaapp09trJeyjpQzWA66u4xrl8Xu/aeRwhOnxzt+xjkaaqyvPBD86j+Xu1zCdFgkxgf7VSiipSXHMJYqVRVtbfplF8Q//cXYhHmSLFCPBfMzL75cpihmfkmgZWNag/X2Pu2GT9QEqxwBRIY5HO4ps1taciim4RikgHrcsjr+m41ejGvwjSpM4ywu0TTOeCV5mKITC6/OPPfT3myat7Vrqiqm9gAVBYkU6+7Sr78q+vOn+pEpPjX1AXCOnMkGh5SuPnUgpAgb06aZLU2WEIX2NQNURbS16dNqzaf/fQAqEJl45jL45MfiuscaGlFGBxFMizXU2k1NlsaFSxFNDVZLS66qwmYMOZN196vmMc2uKkAGC87OlAXsRPowhRpN8GCl+bGlJZrGGa8kwbKALly5NrX5xZ5pdVZbm2FabEqG4xmDoqC9Uw0Pavd8YejJZwfgArqnoCJ2HBi6CAScYMAp9zsetxg/6alwZE3W1m7Maslt/m1PcKaD9kN22ofm86371w/HIno6w8Yvn+IchiEMXeS/yDk6e9XBEL9iQcpjOLljGhEYRP051vUrE0OD6kF9Bc4wElauuDRVfY6NweMqhQ+gJL1PDlhAO85fknl7S/faa6OZLMsd6ZHwyWEMCsfQCG9v12e1Wr96qve+bw9jGOiZsllny2b24Rq88SRv73D196lr10R3bupq/JCF/YeLsgAGsf7e6J2fCQ/0uzo6Vcc5+D5lWqyzR+3o0GdMM3/2WOjZDf21VU5Pt9EzoPYMqPGo2hdSxNFfeWICGtZelQAOnmS0HQDs5qsShfIvrVK9bSZfoPsQaHJ++vPQp9dW/+Q//c3N5vFsicGy0R9S7RyvrTXvvH3onvUjrjqBLsCcsgPSVBFL8MiwgsIczehhiJpaa/Wq+G03xZauTiMN7DvCTjkQBTR85+GheWflHvxhYOduF5zRl30xAJrbPnd+9vorE3esixlNAsDN18TDg8q0aSaAWJzXVdvK0Uc1OTCMRRemz5qb3dOuVQXHZp37QurZc9PLlqcQPgFvbizta4xUIArEcaBH1fQj9qvHrTEq/FMAwkEixaMxDptDceafmV21Innr2njdHBux4tmdouJzHAyElW98caR5jrX/92poSEllmNct6qrt+hr7/PmZ5nMscKALyB21CFVgCEjh5jviN18bf3Gj+739rv6QEovzYMBuqLPPmpO74KIMKoEI8g+r3X5L7PZ1sUKS8ytRcxgbxTiUDfhgjbBYnKvj5mQZg5lRPr06jjqM9VVLqOTvx6rEextdv9thVFYcZnmsqohonA+FR1+FkScAcJeY3mTOPyt7wVnZSy5KL70ojTogCbTlG9JT+RmFQCKuXDgvM/+KLFYXnnCHWvxECaAbsAA+iS6CAmSBNqAMS29IL2VpAMgBLgCABYSB9uJPOoAFuIqzPYd7TvBgBqBh/dcq29pdra2F0TXGMDikNDVlP3VjHPET8266kgdLxSs7jExS0asmrIVnDAJoa3dVBOxv3xf2+kV8kAsBl0t4DRHwOdVV9hmn5qqa7cLzVaHi+ZBzLTJVhIYUAOgovhBVTDzNk98vK0xw4cC4f4qJN9jRbZrAoQ2EIyXDAlqx+Wnj+4+W1zeYYtyYbTKu/t1nRyYMrZVWaYPFAAfb39aBCSdJVUVoSElEtSULk9/9VvhD5x6uYS+AGJAEosUmSskuRDGJmqP0W7OAUxDZx9f8da3hsQ1XYckX5+gLKfX1uc//RRSJE1NdodTB8iOzj216y/D6C1Py+bdltLXpgTLrwW+E1q+PwihWRUcpkRNUWCcRE5gJEcGyVfU9vdqMGdnRwVXbQSalfuu+PmPmCauuUOpglePNjfr7bVp9tYWxikpdfmnyoQfCp8wzMTQ1o1B/5ixgBpDDspUN23Z7xr++ID8TsOTixE1/nZD9SOrRlTDPAmB4dbvh5LimgTG0tbmcDPvONwZ//du+U+aZaANilKpJCGK4h1+5om7DZm9LS3b09QWKgr4BVTecR787COWofUn5SngaXUAMW3YaquaMRHl0RLv0guS/fG/wtHNMDAKxDzoJ8/8LHZabrb2y9jdbymeekrBMNrY8JsHSSfUXD/c2zrfQdoLLs4Q1ViU6dmjPbfRYppJNs6/dE35pY+9p55hoAxKUqkkzoWTEXV+JtNQn9+/TFUUwgHOk0iw86Lr/rsFVn0mi58Q3Q0tYY+Wg+cX0JquqPPuj7w6esSCH4ZOgRaUhk2WJqJaIHtRb0xKpk/I/GrLBIrjsyvQbr/RcdnnDu236jBnZkagyMuS6+/PhL30zgvBxvT16qpXwrIbR2GS99+suzS9QXez6nfAWVQz1NdYtN0R0lxhdiug4GIkps1tzU7yyeUrkx1n2oXaWve31niVX1W/e7gOsB74a+pu7I4X/sONEpwqlfs87AD9go/CKupOBBXhQeMXj+ApLAQaB+EkQ/SOxgFOAbqxbX7tyUfK6zyYQAuInRapQ0mCdtA471sqKz52ezEygEggCJtAH2CfN5XoSX48lNLUD66WkFWcjRv+ntJMGBetPn/yXXR2Hkynk5M8IBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUlCwiBQULCIFBYtIQcEiUvwvejOJ+D4A5e8AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0MzUyLCAyMDIwLzAxLzMwLTE1OjUwOjM4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTEyLTI5VDEwOjU5OjE4KzA5OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wMy0wM1QxMDoyMjo1NSswOTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wMy0wM1QxMDoyMjo1NSswOTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphNjI4MDlmNC0wNzMxLTQ2NDYtYmZiZC00N2EzOTcyNTY2YjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6YTYyODA5ZjQtMDczMS00NjQ2LWJmYmQtNDdhMzk3MjU2NmIwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YTYyODA5ZjQtMDczMS00NjQ2LWJmYmQtNDdhMzk3MjU2NmIwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphNjI4MDlmNC0wNzMxLTQ2NDYtYmZiZC00N2EzOTcyNTY2YjAiIHN0RXZ0OndoZW49IjIwMjEtMTItMjlUMTA6NTk6MTgrMDk6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4xIChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6LI+U8AAAZOUlEQVR42u2dCbyV0/rHt4v+8ncrKSlSym3WXCc6zbOKIkPRpKskFXGLqIQGQ4YkpHANt9ufuNfU5WbIFEXRfKOboemSJBS5Wf/13c+72u9+93r3dPY5nb296/N5Pue099t613p+az3zWiekzjgzVMRUXVMbTaM1PaBpsaaPNW3RtM35mc201ZnHJ5re0fS0pps19dHUWFP5ouR3UbykrKZOmmZr2qxJ/cbpJ02vaBqqqVY2A9zU2aHfB6DGpfc09dN0bLYA3FnTWwFwKdNuTRM0VSiuAOdrWhoAVWD6UdNYTSWKC8Do2HkBMBmnzY40PKQAd9e0KwCjUAk75shDAfCUgPlFRhvTtbjTAfZwTYsCphc5/aqpa2EDXFrTmoDZh5QuKUyANwYMLhY0LNMAl3DCiQFziw/1zyTAywKGFktqnwmAHwsYWazppIIAPDRgYLGnTekCXCVgXtbQnHQAXh0wLquoZSoAB6I5+2hHsgCXCJiVtTQ2GYBnBIzKWvpF02HxAC4TMCnraXo8gG8IGJQTBQNWgMk57gsYlBM0xAbwmQFjcip/HAPw6wFjcooquwEuFzAk5+h2N8CBeM49WuMGeG7AkJwjDOaSgPs7J8wVMCX3qEdmskb5PZTK66LUH/I0NZef1ZsJhT/Li/6u9hlKNe6gVMvuyb+DZyH+76nNPf2avjU176xUq54p9OuMv2E7pao1VarSaUodX1up8rWUqlBHqZPqK1UjT/rluXT4UrOFUpUbKHVCXemX/ivVU+qUJkrVbxOZW+YBngXALQrcUV5XYWqfS5Q6b4hS5w5W6sKhQvzO5+Y7fna7UKkGbWWyNVoIIxJOsJswq+dFSp3/x0ifB/t2iGdbdE1u3K17CrCMo7nuu99lSo27SalZ85Sa96RSM2YrNWq8Ur0GyqIClNO7JQbafM/iYNGcdbFSl49VatrdSs15XKn7H1Hq+qlK9b9cnuP9p7VObWEmR2+HnNqegnXEDoLJybaff1Zq4yal7npAqQ7n6JVdR0CJx7hG7fWu76jUF1vi9z1irDA20ZjbnKWZ30x2/aTblPpya/x+31mm1MXDZReyOP3AaKXn0FSPs6J+7pxBSi1eotSBA/797vhKqVtnCsCVG2Ya5A0APK3AHbG62Z3ptH0/KfWnG5U6rqaA7LeT6+Qr1f6cxP098Kjuq0aCnXuW7CyAWrkqtfHOfULAa9g2dkEydkQ572e3ptI+3awX+7kiyhlfZgD+CoDnF/kOtrUxE4Vxfrv4ZL26/3hl4n5ef1ue9RPTgACwAIwUSaf9ZaGAeLpFNLPDEb/ptO9/EDWEzk9V39vph8xEsDIBMGIM0VYv3/6OclpP3X5f4n42fCrijr78AEZa3P1gwcZ7yWjZbW6JU0sbgG3PLli/730guj5ZOyI+7QHg5YUK8Bdat637l1Kf/FuYv/4T/8nB9ONr2Q0sdvcLryRmEDoNow/jyTZWdi/f//Cj/f+v2aDUlTeIcThhur9u/nitUlUbi3HmXoR3+CzCX35R6t6HlLrgUqUGj1Jq0WL/OWDUsYszBPCyQgUYw6RcTWG4EY0XaCv4uz2xz65YJa5DXpfo/pt0kP+76bPEAP/3v0qd2VfvptPtY+X9WK9+oJ2o3aTS1UXMH1NVdP/mL2Kf/Xa37F7cHONJVGkkOzDGqNyv1IARSh12vDYAG4ibdMQJYq3b2vR7xEXLEMDvFyrAAy6XCeH3AhQ/Dz9B3JEY8ap3d71WseK1dktxrQDPKx1soI+6TvxZqy7XIAwdYx/r2MlKlTpFLGHjHx99sl01sEDb9Zbx0i/zauizCJEKJ9aXebEo6JfdjyVvs7Ax5MrXyhKAMYxY2e7AwkkNZUV72/qNsiOaeAAmYIJP7W2L31TqiaftljRSwzZWdtCIcfaxDr1agHA/z06aeGvss3u+jwYYCYO4/nJb7LPLPxIeYWEf9Ar0ou1ynriM3oYP7jf+Yg8whL83/E+xz6KrMZC8AOPXEijwtqeeU2rkdbGfL3lX3mkzVABw1HU+Y70qdudjLd89x/585/MkssZzqKCmnZT6fIvdcKrWJHo8BHh69LP3+9w/lDr2D78hgBFXd94f+/w9cyRQ4m3/+tTeT7x30wg4lK4WHWzAJrhqgt6FK6Pp7fdlB7Nzea5ZJwGbOdh83CpaJDduH7G6GV/nPkotXR7b9x2zxVYgapZTAIdFtAcYJsmuWvRq7POjr5cIl7f952vHkm4bO1bEPSFJW9u6XeZC4MaATDgTYEys2xBWrjtsye/4wH97yd73VdoyP6ZKJCzLT3a0O45uCDXVumcO7uC1G2KNrLDx0s5uyfYaILqMaFiUJX1AxF9NiyVNf7zj8y/t4335dRHLJAgAGTAAD/3qJW/fAIyLZQ3Paku66wVKla0RnVyw9RsvopfVAH+0RsQc4u6gBa3/feaFsdbm3n1i7aKf2fkxlvR4uyXNzgHAa2/2d7UAGTeJ/59UIsTlY7MYiUj5hWXxr/+3ikiFzCcXshBgdFG/YbHPEoDgOdyaZ1+M/Z6MjZ+rwS5Gt65a5w/yuo0iBcpUF5WRDBgshgp17Qahu91yp1IV64nh1bpnDgKML3rJqOQAxuq94trYZ1evF//42FOVunlGapY0TAVgdtz2HfHBGD9FXCXmmEwSoEU3EcMz58bvFxevUTuJEZgQalYCDJCI0TxHt0C/q2APNgAaOtUA3NIJ/5FW9LYX/ylRJ/zaS8ekZkmbjBILACNt2cr4YGA44dYQI26VQGSziwnooAYmTo/f785dErpESiBVMi+yiwBgDCEAJXKDXgPsdr3sMek168W4MQEBjBuef+WN2GdJxhMMwOKlAMDbvtopi8lmSbtBxqpG1yLS47V/fy5+bzgA0T0xyMwBq7nPYLHqE4ls1End/EyL7CIA+MOPxcUhjYdYWvqB/0SffUnEofH/2F3sBlt0aNjVks2BKR3PVeonjyV94FetQy+SBRNv7Owa3JLfa10+5Ep/A4n266+SKADklj0SlxiZ9CGq4NU344PM3JEQSJ3MpAqLCOBUGuKKne5Ov3XvJ4z1uhydzhNxTvSIn2stAYYxE8SYScY4YlGZ8ODK1fHHyVxRDcmIVHYkUoa+p8+M3+/fF0kEK69LDgKMTmW1u6M3WNAXWYIS27aLv2hSguz6Z16Ife6hx5OP6bLjAIwFhmH3yHz/se76ViRDuGAuib7pFx37+6riEdgyae6EB4sya/zgZBriC5fBK57QjaPHxz6/bIVSR50kegsdHSqp1EiLpf3mUgEsL4XkOWAwDnxVLGi/NvMhxwLunvwCCueMa8p4/GrLvtklARq/goWsApjU2rR7xC+u4zEwYAgA2nKmK1bLTsB9IqDRd6g2uiyxakpyvNkpDCuYh/4OU0OHGsjnfM8ia6aNpJKV7S5YOFW5RfS/6dtEp5A67n4R5fDHRMX4iaTCU9j5jX/So0rjLAEYC5j85oK/Sy0Tv98+S6n+I8T4oFKjicVFwJ+EOa++lb5kCFvS3SIJAQgQMcoIRgwfKwEXiBQiiYumLsAAr8ypIjFi0oVazLbtFUkXYrGjXnAL6cvd78WXC6BG/TDXUtWUuswn6THnsSxKFxJmDJUSvWIKv9GZBBpM8btN32BBY0Bt2V6AOi9jSbti0uyuy66xP+8Nb7KTy2qjZ/Ltsc9S8sOCqJsfCVMy3m+/sxcyVG8aHb+m4qR979giBtqfF2QRwENGi//L6k0l/QUDKBgvaPNa0oxl6FX2Z0daKkH4v1dPtJcGUYRvSoMatBOxvtUSGfvgIwdgly1Qt6WkC/fti33+4b9kcUVHssQOp56roA2VUM7FLMZyqQ/AfE7FpTH0iFpRn2XTwxTRdXfVfjV26sY+2Ww3Clk4JmyKxMIKpwLTuoP/+hsAGKf/yuvtpyLwUynQI3ZNoRy/v/GOPWJEYt5tSbNwBo20j/X5l5U6sqLofnxrTlwQRmQH2mqy2pwtFne46K6L9P3hKrtbld9TjDYWBPwKlROVYGuzH4lelDkHMCucCdrChwAK47FWSUyQcGA3hMraY7+U67KzjLVbr7UAww60tSeeUqrL+RKWpNDPr1SXgj/e7XZn0Jt+Ic/PvtQ+/XARyxh5qI69++JY0Y1yGGBEGbqSjJAtIIL4AjAsU4i4L7rSlsD4+hvR/caSDi8eDcTD8xMfqYnXcO9YaG4DkWqMbhckOJe1P/5ZpS3bJD7etFMOAxwuTu8iRezeRmG5TT9V98kbE+Y8q79kgwzA7HySEFRGptNWrxMx7s1U0TfBD4Ig6ba+w8TSz0w8uggAvjQNcYPIPbu/vT/8yhMtpwfDceu+/uE/XDR3fJg+EMG796QGADFvQqQ18mJ9dwDG2OJdj8xPHdzwIbwaGtzuxSwWzTFMEgW2hrOfzHFOb5msX+Ujsemqje1+MzvfBhhB/PBhsW7RIUnew075x2vxxaYxqh5bID41ItQv+d/KOXOMGmAOGIKJTmJgCPYeKBY8Y2xZ3ABGVOH0j79F4rcHf04RgwXmp9If4cWzB0j2ZerdSk25S3QeP4ke+SXxYSwGCqf7wmO4RX6noJ3qCTfAMJGdjPShcIDjLrPmKvXucinXodSV/DRpTo6CmtQfRlqinG24YtKpBkU1ULR/38NKvfZWpDT2pcVSpku2jAULpVL/VaQAs2oxdHBtvNSkY+rnXTnSYUSdl3iPjcEmzhu+hsEzBkQ+lnO8VCFAE2Fjd+L6sCiJUsF4Pq+Tn3ppTTim3UncJ3QzfZnSWOLUfMYCwN7IL84lO7lEMJtFSdUjLlBe1wz23TW6NLbw5xMAnOMUABwAHFAAcEABwAHlFMDGzSFahIuQrn9n/FZ+hu/J6pCcq2K+53msYW/wgN+J9eI3u2+w43MsXXxmcxo/nfmH++8o/WCVF86phSIGGLOfyUBElMjGkA6j1pjJkgw33ydK/OOz0geBAnOUE6BgGGAANqHJ2j4UvlStuzzfyAdgxgHI7pN85upBxtvE56rFg1cqtpSYsVnE7vNL4XKfDtI/LhH9MicWlC1W4KWCbIqMA2wmjPNOkIHBhcpIgbg5c8v5IYIUfMcz7CwiX/yOs08gATK/09fgkXKC/+pJSnXqI5EliuhIksM0Ik+UA9kIRhLxIlXI/6MyhDwsGSqiVoeVl7QeKTz6Z7wkD7h0hTQeR1XJDbNY3H6wWQCEODkKSk0Xi3jgCKVOayXjpiCe/8cp/c++kLtIOIvFgu3VX1KaE6YJ3TA1EvUL/3uafE8lKZKl4L5yBgBmpTKYRa9JloVkPLFV9/lbzv588LF8x/kjYrSASXAdRnO9ENWTs53f2RlMlvbGuyLyTWOREBP2FgG4G+E/iuFMMwAPu0bqsUhkcBbZpB9ZLCQxmncSptMYP6W8zbpE3y/CIrlOg7J/v6dqY6VIKSTOqc0EXNqdD0hcuqxe5Lfdm1zSgQwYBQephngLBWCTTPce+aCKgdtl2EXeshRWKYV4azfaJ4hoGzQqcg+HuVyMhABhR1KGX++U3KkbZOqhOFZKLBvxbhpxYeqXEzUWZt9hkSudwrfXdokuI7rQlVR57W2524u5mtORLABCkhzZoRE/N8dXOKc16VapVEGFcdlKuJB/h5yvotKE2DmHyIvNDjbX+ZFUIIaLCOMWOHYg5bFMkAmZG1vRRdQ6kUI0Cf2FL0je2CQJTmkcKXSb/4zus7NZ2sIYUnXoVyoeX1ocOcB1VCUZDzuYYj/TOOaC2H70r3o8+rnZD8v/46LQ516Wg2yMlUSFKaC3AcxOfHJhJENFeU+otFId+0QWMTfnkLlyA8xiY958Hjpa8tkcwFu9LjpViMqilCd0rMSw/eLnRa6D0U1UVGCccJrA1qisYPWWdy5FQ4wZgLnkJHSUY2RoZlSoLTqJtuBvIhqN6EIfI27rtpLTB+YwGzfhhELSV1Tp7AG59ZVFESovjANUI9Ypc+WKX94dKqHUjbfJ5+9/KEdNWJTG2GGOZkGNuFZ0NruMInVTD9Z7kBTquQEGWBY1C4hF5pZo3GJL/bb7Rh7u8whn4doVo3QhTP/M0bukw9BTJPvRbQ/+OZJvpazGWJ4GYCPG3AV37GTa/l8i4n/vXmcHazFd8uTonDFHPrC0MYookuN8sAEYncvC6np+5PlVa6X+auv2yEkFjnuOmRC5L6SjNgR7XCxWOECy81AZNIBip3F7HfP/yVkwFB1wgMwATJqThcCcTQXJbr2onnlRcsAU4rGIJt+hRbzr0BuqgPxwqx7FAGBzmbX7QrHQ/wgDQsfIisa4MiU3WNXJAuxuMJHvsYKxft236rgrPrgm8DSXkQXAJbT4vmZS5EgrlnPoCNl9ZvGREhzmKYpngQEgOjR8462r5BYDimuUzVUQGFZIJp4zAKM6AJfbg8yF4Fy/hERhoeJNoG/R20g2xv/4U2Klp3K5eaEC3MK5p5F6Xvexkfc+jNYzFHkjYpmYG2DqjqmiRH8jlrh3wwD89PNyAoD2417JLcMA09DRJ+oF8eBjkc+m3iX6zA0wO8XccIdxxjjI9w5xXVFctUnkfg0qHjmkvmSpWMe4duxk5mk7L8U5K0qAAKpmXgRgzk8ZAw/Le9fu+IYe7zVGGxWdeBvp35dVQIBb94xUNHKGBx3H7qUEhtXMZAAa9wjDBgsYkYavi9iieiJsYEyWsldWP3q8aqMIwJxn4jNzXAR9aIrxuA2WncjlZebmHEBhVzXpGA0wwLBDzDuN/j14mkBbtEdUiNyhSbE6RhwlOsbXz+8RObjGqYbrp4jrw08WAIvKVFcagLEJGAuqAGsZoq6LcbDAsdyxW956Tww7VMX2/whxRqlyw0MIMDoPC5LSGizRm+6Q+zKwCCm1MdYpV+azM5gst7jdNktKciiHoTEZGILepPYJw8kw2u0m0fC7uV6YCkpTSUmdFgsNBqMuANNdvooLgmWO0YTly2lE42K9v0KkAtYwht71UyJiPHyHRwf79Qz42eZ3DENcM/QlVjf+s4kDcBsfOpnv+T8U0iMRCATxHfOjQO+aG0UCIMmqOrfiMdf8Q6mD0V8XpXm8hPqke+fa723Gv7z2lliAsaIBjkgSenjS9EhxO9GjcIixo4DM9f9cK0h9FXoO8Y8BheEHKGZxPeHoO8Qu/rkpnre5SYYAwJyOQKSiouq3jVRtMBaMKBYsFZ1EshgbUTSMTAxCv8Z8UV8shuYFjmMX8EJwU2xH9AcxO+5muUfZnK5nMhzoMlGd+QvlM0QrKximU+XvJkKMFJSP9wGYZ9CdHDudMDVypxXMw5Jnp2AQATJAsAhLVY9/mNvdbpqRHMADr5Dnvv9RxmP+RI55P7VdYaBai4Qgdo4H4D5Wy4278I8TkFxZvMfxFu66P6P3Rb+ZkWI7zrti1hvR1HuAOPXsNKP3CGbwGc8DBhErmOMmI8aMqCQIYgPYbWkTMeNPAeQ5gX3GZcQn+gufmRvmcG0Qh/fNk+J0CKseo4ydRt/mvfEABjhzHTJ2hinb5Z3m/XldIycq2YXsYi6OMbYEQRP8dvT84RXkdxOC5ZxVuZoZu4x0YUaySQfPxzo7+IpxshMxnNY5IcmJ0+SzRH1xrf9Nzpncfy6JjkV3OjdyMGyS6x5nbtnhWMh+D7EoKE/FCMSPNeeTTXKDfpAG6FEMPbdUYOw2gNHNg10XufEeXDjvu8Pjd66nwFhDOplGIAV7hXpywqPE4Y27htuYzOUxSf5RjnszArC5L3nbjkjBO7uMXWBurWF3VEpi4BwrwfIlmsVPokOmmR2MHh43WVwn26Xa7oYReHwSC4uxmR3MmP12MMYcR1t5t98BsoORquUi0o0rSRjXdkjcNCJ3SAj35eHp0y4AHp4RgI04IubMqmS1NndywGRzKP5uf05yAze504pObpT/d77zV9MQd+bGPEShV4fbCB2YTMCAsfEuxsqY/a4zMtcIJ/NuYs5hMe2EdQEZlYNPjuv45NPar/8/uVWe+bF4mHtmbr3bBMBtMgKw8RXRrYTeiPkaXYhIxehI9lJP29//M3+vMMzc7pGicq8OtxGSJZmQH2NjjIyVMfu5KGZMybzb/Qe0jC+NnYEvbf5GIsRiZo6J/gJcarQcgGsFtUs5S48DcElNPwbMyEkabP5A9PMBM3KSKhqABwbMyDn63P0n3qsEDMk5etINMLQpYEpOUZ4X4MsCpuQMfWVwdQN8XMCYnKEZNoChBQFzcoJK+QFcLWBO1tOzbky9AEOLAiZlNVVKBHDgMmUvzffiaQMYmhMwKyvp6GQBPkLTzwHDsoqusGHpBzDULWBa1tAyPxzjAQw9GjAvK+i4dAGGNgQMLNbUMx5+yQBcXtPegJHFkm5MhF8yAEMNA2YWO5qXDHbJAgydETC1+Pq7mQAYaq3pQMDgQ1tnlQpmqQIMNdK0M2D0oc0SFSbAxvBaHjC8SGlYOlilC7ChmQHjC53WaKqfLkYFBRjqqOnTAIhCoZkFxScTABuaymm2AJSM0BLHNQ0VJ4Chcppma/o2ACktetfJAWQMk0wDbKi0poma1gegJaTvND3nuKAZx6KwAHZTS01zA7CjaLumVx3LuExh8r8oAPZWiwxyAH/HSWTscHR3LhKqarOmFc7xoPGaWmg6sqh4/v8fJ+3gbZVFRgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQrSURBVHgB7Z3ZSitREEXLGAdEccABEQTx/7/HJ198EUVEUcQB9bJbGryXm5hzonZq9V4QgqImZqWqq+tUn8ydnJy8h8EyCIPGguFYMBwLhmPBcCwYjgXDsWA4FgzHguFYMBwLhmPBcCwYjgXDsWA4FgzHguFYMBwLhmPBcCwYjgXDsWA4FgzHguEMA8hgMIiVlZVYXFyM4XAY8/PzzfcXFhaa+5eXl3h9fY23t7d4fHxsvn56egoiGMESqtvq6mosLy9HKZL88PAQd3d3cX9/HxTSC5bU7e3t5n4aFN3r6+vNTbKvrq7i9vY2sjOX9epCpeG9vb1GyE8h0WdnZ819VlIWWUrBR0dHPypXKKqPj49ja2srspIuRUvu4eFhE8G/xe7ubvN4StvZSBXBiqiDg4Nfldui47wKuGykEqzIbU91umB/f7+TN9c0pHm2iqAu5QqdT6uwy0QKwe0pzCyg55EpilMUWTrHrY1edatubm7+6lTpb7WNkRpUVWcpuFII3tzcjBokYZwIFU1KuaVvnrW1tTSCZz7X6MWvaT2en59/KUEtSTUyFOUlLC0tpUnTM/8s9WKWohbjpG1Gdamur6+jlJo3XRfMvOCaF7I0fWqBoZSuK/pJSZGiS1AxVdo71u+UpmkL/iZKX8jn5+eoQevDRGa+ilYhVBKRWtOtQY+RJSpLmHnBNQVQDaVyS1N6V3gmKz7WlksFZ1kjtuD4aFyUolmuDFhwRHGfu6ZS74reC5bc0p70b9UF30GvBeu4W7P8V1upd0FvBUtuzeiPumSZhvB6KbiVW1M5Z5vL6p3gWrlCK0/Z6JXgaeReXl6mnI9GXpv0P6YZt1VazlQ5f6YXEVxbUAmJzTgP3YIXPI1cDQ0oNWcGn6I1KF9zzP1qnisL6AjW9GPtRAhBrsAKVtTWTGOS5Aqs4JpZappcgRVcGr3Zq+VRIAWXzlKrgZG9Wh4FUnDpLDUxcluQgkvWdxW9hL04RoFN0ZNCliuQgtt9sSYh0+J9Db2P4Mw76ExC72eyLNikBrnYcHp6GuYDRzAcC4ZjwXAsGI4Fw8GP7GjhQStLbfNDVwWqe5Xl+t5pwQoet1G45FLXf/8FKVhXDGrj0FFowrLdPbZmn6xM4I7BSsXj5H5GqXtnZyfI4AQrMkvQaE+2LYJLwP1nNbvSbmxsBBWU4NptkGq2S8yCz4PhoATX7lZH/dQzgRKs052aEZyazUizgEvRpc0LDd2RpzpwghXBk0pW2/Li4iLIIDtZ7U44oz6ppf0cB/0cvSeN7UW3u76rF62OVdvMkHgdc73YAEEpmz77PA6fB8OxYDgWDMeC4VgwHAuGY8FwLBiOBcOxYDgWDMeC4VgwHAuGY8FwLBiOBcOxYDgWDMeC4VgwHAuGY8FwLBiOBcOxYDgWDKc3nx/8Be8B5Q/Z9m98QoC7nQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAAB7CAAAewgFu0HU+AAAGsGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0MzUyLCAyMDIwLzAxLzMwLTE1OjUwOjM4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTEyLTMwVDE0OjI1OjA0KzA5OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wMy0wM1QxMDoyMjoxNiswOTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wMy0wM1QxMDoyMjoxNiswOTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmZDg4NTAzYi0zNTUyLWY1NDgtYjRhOC0yODcxMjMwY2YwMjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTM4MTgyMzQtMzM4Zi1iNzRhLTgzODQtZWI4Zjg4Y2M3ZmE5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MTM4MTgyMzQtMzM4Zi1iNzRhLTgzODQtZWI4Zjg4Y2M3ZmE5Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMzgxODIzNC0zMzhmLWI3NGEtODM4NC1lYjhmODhjYzdmYTkiIHN0RXZ0OndoZW49IjIwMjEtMTItMzBUMTQ6MjU6MDQrMDk6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4xIChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N2E5M2Y1ZjQtYjFjMC04ZjQ4LTkwNjctMDZlZjJjNjUzYzU5IiBzdEV2dDp3aGVuPSIyMDIyLTAzLTAzVDEwOjIyOjA2KzA5OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZkODg1MDNiLTM1NTItZjU0OC1iNGE4LTI4NzEyMzBjZjAyNCIgc3RFdnQ6d2hlbj0iMjAyMi0wMy0wM1QxMDoyMjoxNiswOTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pk6mtigAABnGSURBVHja7Z13lFXluf8/79779DJneqMNRYrSRARFMVgCKsZYoiYaTWz3xpZo9P70JnqNibFFg1HzM5Z4bxJLLEGNihgRFbGBFAUUBphhmMK0M6e3Xd7fH+8ZQH9GwTgYcnnW2mvNWme9Z7/7u5/6fZ73jBD1F70DDAGygGCf7IpIwAe0GMBIoGwfJl9I3BoQ24fDF5aYBmj7cPjCou0D7x9FcB8E+wD8SsX4p9qNEOqSspgsyB1/C6GyLLFTsuXIfQBuF10H24aCCfkC5PPgOEXgiqmXBAwdfD7wuMBwKYBt5yvLYI1/CuCkhFQa0inQHCgtg7pKCPvB8IAUIG1IZSGZgt4oRGMKyJIgeNxg2Tu09X8FgP2alc5ALosMhWDENKgaChXlUBoEjwcCJrhtELrSyGwW+mKwdRusXY9o7QChQSSktNN2/hcAqOvKRJMJCIeQo78GI8dROxSm18WYFGplkFFAczTmNdWxOhYASwdhQNAHwyIwvAGmTUI2t8E77yE+2qC0tbTk477zXw5AtwGJtAJvwlhkwzFU1OlcPmkZ32vYQl1VipZEJc19lWQtL24pcEudg+qSbEv62Bz3QZ8JQoLhg8oJcMJY5IjliJdfhI4OqKtVZm/bO/nQfwUADR3iSYinYM5MZMMRDBPtzD/6aSbV5cEIc+tbh3L36tFsdemq0hQ6QY/goWM3EAjkePL9ejbF3eRtB8u06cs6bI4HWD1+BrJqNDz3EKK9AwYN2iOaKET9RU3AsD3i87I5yGSQxx8F+02msmMbC0+Yz+R6B7NQz7Vrx3LL2+OhOgshB7wGuDRIBLl8fDd3HN4MVlGzbBOsPDgFsoUcy1s0ftV2GM+2heCh+xEt7VBXA9IZyHSnWdtjPs+yIJeFI4+AsaNgY5Tz9nufyTUFEpkqtkgv92wYDuV5qDAh4FJBxOeCiMM9jbWs7RwEdjmJdCXJTAXpXDmxVCVd6WoOH5fgqemPM7E6C2ddADVl0L6Ngc5vjD2ieQDxOEyagBw3AloS6C6dOSO6yedC+L0arekAGWFAANC84PaALhC6QBoautfB8XrBZWBqEmSBiEcSRWPKi5OpdiZxVE0T7a29EK6HM06Ge/+oXEZJSEXwvbKU0zWI9kFVJXLKZMhmoGAwPJRnRChDHg856WVMSFIZtkB3q7xO1xCGDroBeYPjhtiMrfbiOCHKIz7Kaw2EHqDOr/HLqVvJ2X7uWjGF7kIVRNuQVZVw9MxiQj5wfnBgARQaZPNg28iDp4LbDZkcCJ0Sr0nQpaEZBt0FLzVBhxNHxkB6wSUQuobQdaSjo2mCsycYGP4S8Ad4NRri5jWVpHU/2GEuHNXLu2e+xlOnvsq4iiw4YYjHkBMPQDYMVRHf0PdSDUwlYehgGFQPiURRKx06cj6ilhe3ATY6GcvNtQd0URcxIeMFN2BokBeMrtM4YnAICKMFA9y+0c81L5UzrzmCHtSJJUopyQc4eVQH9079ADQPFAR4dZg8Hkxb+eABYO8GFkCzoDY9cjjYlqpxhQaePG0ZH2tjpbgNG7chiGc9DAoXuP3gVki7kTkX0iVBCsZXGJToCkDwMahUg4DFPVtDFNCIhCyiWS+YBn5DKr+raZDLQcMgKC+DZHpAckJtQIOHaUI4DNXVyvf139JtgtSZ3zIIhMRAIoUkkfByxqgotx3WDr0+ZMYFHhgc0IvxTgd0Tm8AT6VDZ9zFtR+VQahAVVUv66IRLl45EXSpyr+cDT4fctQwVQIOQGKti/DUHwGRAQGxYEJ9PXLoYMjlQRNKA4UGLo2PEqXMHtzLyBKTqBlGagbS9DJrbAbd42bxpghIyezh8LVqiZOzEXaeoSU53o5CYw8s7fXS2Ovm7Z4QP14xjvXxALgTYEr1Aj0eMG3E+kYwDJVSfXkSG3gfWFaqqoGdqSkpwF0gl/Fx3aoxGL40YVcey4ZUTpLpcHHt5C5+ObMHMh5e2iKAKJoeBTuFIMEod7Gc85o80lTOr9YMp9PSIZgAR7FfSNSLi5RAaURF5L3GhGXRF3k9xVz2E6mEAwQyvLh+GHetG0Z5VQduLIS0SedszC7BNWN6uPPrPbzZ6OHqpQYpLY709PFGm+SFVhe4HTTNhmAWQknwZsAqfnd/GWea4HWD36cor70mkZZSmYyhF/OwTxCjDuDJgy/D1a9M5YCqLLOGtrGteyi4dBI5neA2wWWjOyn35Dnr+aEsajEYUp7l5U4vCRw0TwFMiXAkEgesIrnqODsAtCW4DHC5B6QuHmANBCm04sPspBVO8bKAUJyMKHDaszNY1h6gpmQbTiGPY+VI5rMkm03OHNzB83M/YvU2g7+sDZPARNMLyIKDtOzid9lK20y7CGLRbfSDqWs7XuBeE4X7QQMQNpgesAz1dz+QeR1KYvTkBXOfO4RFHX6qw+1gZrHMHFkzQ2+zw3Hl7bw+ZzWjS9KQcCMLFjgWWA7SscG0oGApIPsvW+4gExyHjzdU9oY80HEQ/f0KCboUCsSdfZRjQ15AKEZX2uDUF6fxTEuEyvJm3DJJoZDDttL0tkumBzt4ctoyxhhZZGcp0naQ0oJ88TLtIlNTBEwW61+7mEgPAK8wsBpo22Dm1VvPhrh90nP8YOh7kCwDLQfSgngJJP0gCxCKEis4fOv5Q/nvDwZRVtpEiD7y+SyWlaRjGxzg6mTBjBc5INADbeWQNSGfg7ypQNp+9QMoVCTO5Xcy470FQCTE+opNITcHRlq5dsILuBwdsgHI+ji8YivTKpog4YOsBF8U0xXn+wun8/OlYynxtVMqeshmc9hmkqZOg8FWnFcPe4KjShuhI6jAM82iCVuq6rFtBaLLgL44xBIqJ9zryISuKEKY4DJY1D6K2qpNnDfmZWiZwCRPlAXH3cLVo96CvlLICQWikQRfD9e9MZFzXj0QXetmiKcNM5dBWnGaelyUZ9MsmPYk36hohO4w2HmwTCjYKom2bfXihAbdPUpLDddeBqChQywOqRh4fazqrsfJRLhm3CtMHf4mPx71MgGtk1wG0HPKjJ085BwQKQh084f39+OUl44gbiZoCG/CKWTBTtAYdeEyMzxw0NOM9fRATwnIfDECFyOxrqlqqLV9O0X2ZacyAwug262y/8YtEJK8ma5ndddwAgKePvIuZlZtgu4qohkHsl5IhyARge5KiPtAi0N4Kwuaajn6mRPZFIeRoUYK+SzCTrKh20ul1sFtk5/Gldcg6QW7oMCzHXC5oKsL0dmpesh7Hx8o1MbXN0G8lW45kte7BuPX83RnS0hbHjAcpHQgp1MnUhwc2Mr5w5cwrbToF3MOhLeyoivM1546g6VtIcZ4NpHJ5sgV0rR2+zm+fBlH1qxW4NvsYJ+lQKxbr7TO49nLEun+ZDoQUGa0ahV4DO5pmoWNTYknR8zy0pSq4sBIJ48eczMvzLiTl2b8mvtn3cyBnm3KLxYcNXwcaqM1HmD2C99laXeA/X0bKeTT9GZMyKQ5vOwDwISCobQ+GES0t0PzVvD792JKHwllEURzC7StoDE3hdvWHMGw6k2EXHk6siGqPCnmVDfSEIhRUraJP685nN+vmwG+HuUXTUfliiWtpNMBLlh6MvFcjiFGG4VCHmnqRFxJEDnIFiAUUrdevlKlMv3jI3slgI6jamJfALF8KRQ28MuN5/HU2skcUPshIXeeaMFHR66EhG1ww9LzOOelH5H39YK7t1jfFlMSy4bwFtZ3DeO+TVOo9MTxCAfhLtCZiUBKg6AbSkoQr74BHZ0KTLm39kT6xbYVK5O1EUuewKKDs1dcz1MfHcL48iZqvSlVlADreoeSNw1F6ydK1VqneNk2OAXICzalKjClixGhKAlH56mNkyDggzI/YtGr8OE6qKoY8MmEgSVUP+kPfT7oTSI612JWN/Bk/AQSGRcHljQzxB8jZNicMXoJJw5bQRDISkFP3o8jbFVDp0ugr4aIN85NU59keFkLbj3HFe+ezgs9s6C8C/Hm27BqDVRVqSTaGdBho9ieA7BfAgFI5hEd65BuF2/JWczvm0hvzE/KdNBsjdHhHg5rWMnIQJSX2/YnlfcT0E3GurMcP2wFjxx1NxOrG2nsHsHVH36X33WeAHYj4o3F0LhVkbgul9LYgZXYnhvt+Jje66pHkUkjB9XB2EOhchjILGX5BFV6jIiWIZr3sMnRsRMVnDTqHe499HHAYE1yMH9pPZSnts1kW0KH1jcRH6yAAhAJ7+AcB16avxoAQXXNHEfN+hkOjBiGrB8NJTUgPKqBpFvgyYCjMdSXYrgnyfpYLe19Naq66V2D6PgAemIQLlWss71HBy2/QgD7QRRCDVlmMuDWIeRTJlgSUYDoHqRuQ9oPvV4weyDVDpluRC6pesDBcHG40t7TT9D81Y749jt4n1dFadOCtAnpbmjpKvKfAiGEyudksVskBGg6hCt31Ld7HrwB7onsboQGFTXdro9P6fez8IJPpCRFusxxvtKt/3Mdc9gZNHYCTPydCuefQL44gEJ8+nkNiTKrfkLV+ZQpUU37+xqkFz+Tn6Fd/b7zk8B/ljb2n0GBojvY+bt2egZNU5/bcpdaALsPYPG5t/d9PwVUmS3yckKA14UQxU25dGTBhrZOVfgbfkRN6Y4Oni3VFKsEDA3hce0Ap79NKgQyX9g+9YUopkVeL8LrViBa1se11+NGtvZCvg9wQVUVIuhBZotMNiAMHWk7UMiBy0C4jV2K5rsPoKaBoSM3t6NOynqhZpB6WMtS/ddUH+R6VaVYUgtlIQWKBX6flyGTAmiyQG/UocvR1S40XRGi0S4U/RJGDqlHCKmoercLaVnQtg1IAy50XVFUtlMACkhCUF+NMAwFjMtQ901aDN6vjppwHclknuYem3xeB5eEjmYghfQMVtNg6XagBIYNUiy3zWdqorG7ZiszOTRHcso5RzJ2RCVbWqP8deEq+lIZpQnRbv7t4mM5/muj2dKV4oH/WcLqdz5UHTOnh6zHy4333MKMQ0bxyuL3+c5JP1NagUX5yBH8/H9+TE2Zj1fe2sQ9dy9EahoiEkQmM9Dby6yZY5h94gwOOqiBkqAPJPSlsixf3sTC+Ut4bel6ZEUlIhxE9qWgLwpsYO53L+PWm88nFkszd/ZVrF7xJnr5QVxz0/nUVIf50yNLCAY8XHTBxSxYtJb7/+9CCAWLWi2/JAA11euV0TZOnHsBZ506jbwtOXTKD+lrTcCgWujajMxmOGHuVACenb+E6lI3p591FKl4D93ROLWlAapLvMw8eDjnnjsLKdx4fS5eXvw++zVUctThY6msq+beO57FMjzIXAFXPMHtd57PRRfPQS9219rbogjgoPoGjjliHFdeOoe77l7AlVc/gsxlOXjqfpw65wS6+1o4cMJwggYEKwJcdslxbG4aT0urzuyjxnPY1AaaP9xMMpXjpOMPorQ0xP2/fhi8PvBpKDX8MgCUEuH3InthyWtrOevUaRSyeWJ9aXB7EIaBxMXy9zZjFvVqY1MzEw8ZyZ23na0mOiToRZOor6vgwQevxLIdEBrHzPlPnn3+XY46fCybmjqxci1ADaTinH3hbC697DiyeYsrr7ibR55YS95xA+DVc5x12iR+ddtFXHHFXJavaefRh+5lwvjDuPyqEzA+YYLnfn8uDvDgn9/izWWNHDa1gXQ2TyyeAqCjM66g6Q+EXxqdJTSQGpAkFFYtQsPQKS0PQLZTzTej4/F56R8iq61r4J0lH3DuhffQF8+hC/jbovc59/wbeHXpGpXOt/Zx6um/YNWKRoY31AFQURpg/4kTCJT6gQSTZ4wD4N1VW/ntb35HrGMl2c4usp3d9LW/x13z7uOD9R0ATJ42EojwxMOvc+2N8wFo2RbnjO9cxw9/fD+OhEQyz+/ueRjNzgJwxeUn87P/OguAfN5iV7vw2m75Pwtk6zoGDR3KZRcfWywiXNxy5w/wBQRy42rAUVG3KKWRIPGe9WzdFsXvc7N5aw/fPPl6HnrwYU761jw6OmJUlIVobukh1ttIKOAF4Pgjx7Fs2W/56U9PB9K8+MzbSOCIaQ089tTv+eaJxzPzkAaOOKSBk086iSefeYAp+9dhOrDgiddAqyQeyxLwKCDuuet5/vzoA/zmjvv466J1REIefFoZPb1q5K2+towhQyqLgdvZZQCNXTFbDANpOrCtidFjhvHQH69mSF0ZTzzzLl6vhxNmT2TBwl9z7dUPsHzZB1g75WO2lQV0jvz6YXjdGl09aTKJBFBDrCNLLJGhtjbC0UfPYPW7SyiY6oG2tPXx1tvr+GDlJqCa5/7yEieflOPq//gWp588jeNmT6GQywHg8XoJBgzeXLqOm25+nMWLloBrMDgwZGi10uiacqACt7+acEh16MoryhGaspUbb36EvniSe+Zdgqbpu5yofz6AhoFMpAj7Da771flccP5swmEvCxd9yJmn/RIDnWf+ei3HfH0Sry+5nXO+dxPLVm3F3q7ebiDEy88v5ZpLZjF98lD+6+cX8sgf5nPO+acwdrQy2b+99A7gRdfVll5/ZxNnn3oD4McTrsSx/Dz9zGssXLyOmrH7MX3KMCorVHrU1Z3grfea6Fq/gWyyF3egFnRBIZHnsceWcPZph3DVpbMpDzoMHlrLrGkNLH+/g3eXL+K0b10OgGVK+qIFAMIBN+B8iXmgpuFEE3z92IPB4+G66x/i5z97ACjD9IeYM+d6Lr/qFGbPmcI7K7bg8/q3+wbHtMCo55UXV3HN1X/i2p+dxfU/PY3rf3oaAImMyfU/+QPvL18LrkE4xZQh4FcPMW7CSP7wyI9wuw1Aoy+WpKM9iiMlLpcOEkzT5puzJ1BeGSES9mPoYNkO553/WxbMf5Zvf8fFddd/m3O/fyzRZIGH/7SIiy+5k3h8DY8vWENOC/DCwpVMn7qfKoZcnp00UPyDAFoWoiRIyhacMPdGIpV+Wls2cPChE+nqC7Ela+Kkfdx+62PcfusTQIxZxx+/PYj43RpIG9EwlJtv+SPz/7qII4+azpgxI0mkc8x//DVWLF8LFcMgmyToVdWH3+8GNAxNIHSd5uZOOjvjBII+Ro6sxePWsUxVcWjFZ7RsB8c2sdCxLBuvxw2BwTz26Cv87ZUPqB7so6s9S1W5n2+fM5sh+13Otu4+Xly8jiHD6nlrZSvTjvgP+jIaorJBofM554+NXQke5E1ERYgtmz5iy2Z4/rV5zDxoJIsWr+L0M39DPhCEwSMUr5f2096T4PFnloGUbOlOgc+LTKY4ZNYhHDy5gr5kgRtufIre9rWqm1DfoGrgjGRLR4xUtkBLWxS81by/Ziszpl1K/QFjqayIEItnaP5wAzKbR+JVpvYpW3YsiRkIICpqkFWC3qa1VPgr+fUt53LKqTPxeXc8ei5n4vW62LC5mxuuvY+HH1kMdfsjPKJ4NEP8gyYsUF8UqUVLJIhHkwT9GqVhP44lIWciQm4I+SEYZP3mKGd8Z54ygmAQUV2G3NSB2zWMebdfAsAPLr2fe+9uhPohCKM4Clca4RfzFnL3/YtJ5UyoLIV0hlz0I04/9nR+cuWJ9PammDXzCjZ1Fc/AmYW/Q9KIIqkhobePuvohzF/wC8aOrmb9xnZuu/UxNmxOoRluQh6bb5x0EBd8bzZ/evgnlNXUcdcdTyHrhiG0z56n2e1a2HEksbTKnVraezDTmyHtRUY9OxF3EolVtCsdIgHweli3qYuuaJKqshAtHT1AM7S5kGjb12YpkCULBGHoKERpEBktoa8nhd/rohDy0R2LAj0Q96IaITuLCZQhRtaqiQhHQqKXo+bOYuxoFZHPPe9W3nz9cWAK4AHaeO7ZP1I/5GmOO3IMc74xnbvueFxZVEnwM8na3QPQVmcHwkGVBhw2fTRXXX0hBRsMzYXc6U1pukDTNRa9/iHvrW0FoQJDMOgH4N/OnU3DoBAudyma2Gl+WQi8XjdbtsV54rllFFJZwNm+Lhjw8JP/PJuWth687oiaq9mp0vSFvLy7spmFC1dCwI/w+8ATZPnKJuKpPCVBD1de9W1uNvNs3pzDcgwigSCzj53CwZOGAPD+exvVXnyfP0+zWz0RaTvQuY0zzzqa+x/8d3yuzz+0cue8Z/jR5b+H2sEYyST/fd+FnHHGoeif0/DuTOSYMvGHtLUmQZdMnziUJ57+PwyqLf3cey5+Yx1HHn45hOsQpWGVkWxt5ezvzuSmW79HXU2JImkSaRwJbpeO368S+MceXcqF//47krqBKAkpJkh8WU0lTUOaJvSmOHhqA6P3q8TQdBzn0xy5io6rPuxkxfoORMiHjGXwaoIjDx9FZVkATRP/31opwePWiCYKvPBGI9m8jfB7kJ19TBxXxwHj6zF0gUB8TOP7g4fbrdO4JcbidzaCx43QdbVvy4aOTkaMrufkuQcyY9YkhgyvwuXS6elOsWb5BhYseI8X/rYONANRXw6FwgB05QxNVSWdUTWL93klTyiMKAuqhpHLpWipvoT6HZi/r+uguaCmQgUYR6rjEp19UMh8zj0d8AQQNWU7Bi2LbLSUQDSuetJ88ofriqc5yyIIv3dXm1RfoCtnOiqqD64qbkB+dvh2LAVe8fChCHggXLtrtLdVAFuBJaQNtaUgyj9/rSyeGfkYjS8V7NXF9aalmG0HhFtTv4SkGWpMeDc6fF+M0i9uYBe8plqwnV4XxTMb5q6t+6SmWfZncnOfes9PSqGY12lCvcz+/ovlKEZ8N4eRBrgrJ/bwul1Y2w9Q/2mpT/tsdzhm9sk/NlyxD4J9AO4DcB+A+wDcJ/sA3Afg3gugsw+GLyyOxp6c0P/Xk4gBbGTfv8PYXdn+7zD+H1DeZahzGCNPAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","\r\nimport Provider from '../model/Provider.js';\r\nimport Config from '../model/Config';\r\nimport { providerChk } from './provider.id.check.js';\r\n\r\nexport function apiPost(url,params){\r\n return new Promise((resolve, reject) => {\r\n $.ajax({\r\n type: \"POST\",\r\n url: url,\r\n headers: { \r\n Accept : \"application/json; charset=utf-8\",\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n dataType: \"text\",\r\n data: params,\r\n beforeSend: function (xhr) { \r\n // xhr.setRequestHeader(\"Authorization\", sessionStorage.getItem(\"Authorization\"));\r\n },\r\n success: function (res) {\r\n if(typeof res == \"string\" && res.replace(/\\s/gi, \"\") == \"\"){\r\n console.error(\"No data to return.\");\r\n reject(res);\r\n return;\r\n }\r\n const provider = JSON.parse(res);\r\n if(provider !== undefined){\r\n \r\n if(provider.resultCode != 200 && provider.resultCode != 0){\r\n reject(res);\r\n return;\r\n }\r\n\r\n Provider.token = provider.token;\r\n if(provider.txId !== undefined){\r\n Provider.txId = provider.txId;\r\n }\r\n if(provider.cxId !== undefined){\r\n Provider.cxId = provider.cxId;\r\n }\r\n if(provider.reqTxId !== undefined){\r\n Provider.reqTxId = provider.reqTxId;\r\n }\r\n\r\n if(provider.data !== undefined) {\r\n\r\n //naver\r\n if(provider.data.naverAppSchemeUrl !== undefined){\r\n Provider.naverAppSchemeUrl = provider.data.naverAppSchemeUrl\r\n }\r\n //pass\r\n if(provider.data.reqTxId !== undefined){\r\n Provider.reqTxId = provider.data.reqTxId;\r\n }\r\n //pass\r\n if(provider.data.telcoTxId !== undefined){\r\n Provider.telcoTxid = provider.data.telcoTxId;\r\n }\r\n //pass\r\n if(provider.data.extProperties !== undefined){\r\n Provider.telcoTxid = provider.data.extProperties.telcoTxid;\r\n //samsung\r\n if(provider.data.extProperties[0] != null || provider.data.extProperties[0] !== undefined){\r\n Provider.deeplinkUri = provider.data.extProperties[0].deeplinkUri;\r\n }\r\n }\r\n //건강보험공단, 특허청 entry 구조 예외처리\r\n if(provider.data.entry !== undefined){\r\n if(provider.data.entry.length > 0){\r\n if(provider.data.entry[0].key === \"extProperties\"){\r\n if(providerChk.isPass(Provider.providerId)){\r\n Provider.telcoTxid = provider.data.entry[0].value.replace(\"{telcoTxid=\",\"\").replace(\"}\",\"\")\r\n }\r\n if(providerChk.isSamsung(Provider.providerId)){\r\n Provider.deeplinkUri = provider.data.entry[0].value.replace(\"{deeplinkUri=\",\"\").replace(\"}\",\"\")\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Deep Link Uri 규격\r\n if( !!provider.data.deeplinkUrl ){\r\n Provider.deeplinkUri = provider.data.deeplinkUrl\r\n }\r\n if( !!provider.data.appScheme ){\r\n Provider.deeplinkUrl = provider.data.appScheme\r\n }\r\n }\r\n }\r\n if(Config.system.console_debug){\r\n console.log(\"Response: \"+res, \" | Provider Info: \"+JSON.stringify(Provider));\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(res));\r\n }\r\n resolve(res);\r\n },\r\n error: function (xhr, status, error) {\r\n var errMsg = {\r\n xhr: xhr,\r\n status: status,\r\n error: error\r\n }\r\n if(Config.system.console_debug){\r\n console.log(errMsg);\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(errMsg));\r\n }\r\n reject(errMsg)\r\n },\r\n complete : function(xhr) {\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\nexport function apiGet(url){\r\n return new Promise((resolve, reject) => {\r\n $.ajax({\r\n type: \"GET\",\r\n url: url,\r\n headers: { \r\n Accept : \"application/json; charset=utf-8\",\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n dataType: \"json\",\r\n success: function (res) {\r\n if(Config.system.console_debug){\r\n console.log(res);\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(res));\r\n }\r\n if(typeof res == \"string\" && res.replace(/\\s/gi, \"\") == \"\"){\r\n console.error(\"No data to return.\");\r\n reject(res);\r\n return;\r\n }\r\n if(res == \"\"){\r\n reject(res);\r\n return;\r\n }\r\n \r\n resolve(res);\r\n },\r\n error: function (xhr, status, error) {\r\n var errMsg = {\r\n xhr: xhr,\r\n status: status,\r\n error: error\r\n }\r\n if(Config.system.console_debug){\r\n console.log(errMsg);\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(errMsg));\r\n }\r\n reject(errMsg);\r\n }\r\n });\r\n })\r\n}\r\n\r\nexport function textFileGet(url){\r\n return new Promise((resolve, reject) => {\r\n $.ajax({\r\n type: \"GET\",\r\n url: url,\r\n headers: { \r\n Accept : \"application/json; charset=utf-8\",\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n dataType: \"text\",\r\n success: function (res) {\r\n if(Config.system.console_debug){\r\n console.log(res);\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(res));\r\n }\r\n resolve(res);\r\n },\r\n error: function (xhr, status, error) {\r\n var errMsg = {\r\n xhr: xhr,\r\n status: status,\r\n error: error\r\n }\r\n if(Config.system.console_debug){\r\n console.log(errMsg);\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(errMsg));\r\n }\r\n let content = \"\";\r\n if(xhr.status == \"404\"){\r\n content = url+\" 파일이 존재하지 않습니다.\" \r\n }else if(xhr.status == \"0\"){\r\n content = \"네트워크 연결을 확인해 주세요.\"\r\n }\r\n alert(content)\r\n // viewEvent.view_msg();\r\n reject(errMsg);\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport function fileGet(url){\r\n return new Promise((resolve, reject) => {\r\n $.ajax({\r\n type: \"GET\",\r\n url: url,\r\n headers: { \r\n Accept : \"application/json; charset=utf-8\",\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n dataType: \"json\",\r\n success: function (res) {\r\n if(Config.system.console_debug){\r\n console.log(res);\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(res));\r\n }\r\n resolve(res);\r\n },\r\n error: function (xhr, status, error) {\r\n var errMsg = {\r\n xhr: xhr,\r\n status: status,\r\n error: error\r\n }\r\n if(Config.system.console_debug){\r\n console.log(errMsg);\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(errMsg));\r\n }\r\n let content = \"\";\r\n if(xhr.status == \"404\"){\r\n content = url+\" 파일이 존재하지 않습니다.\"\r\n }else if(xhr.status == \"0\"){\r\n content = \"네트워크 연결을 확인해 주세요.\"\r\n }else{\r\n content = errMsg.error\r\n }\r\n alert(content)\r\n // viewEvent.view_msg();\r\n reject(errMsg);\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport function apiPost_demo(url,params){\r\n return new Promise((resolve, reject) => {\r\n $.ajax({\r\n type: \"POST\",\r\n url: url,\r\n contentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n dataType: \"text\",\r\n data: params,\r\n beforeSend: function (xhr) { \r\n // xhr.setRequestHeader(\"Authorization\", sessionStorage.getItem(\"Authorization\"));\r\n },\r\n success: function (res) {\r\n if(Config.system.console_debug){\r\n console.log(res);\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(res));\r\n }\r\n resolve(res);\r\n },\r\n error: function (xhr, status, error) {\r\n var errMsg = {\r\n xhr: xhr,\r\n status: status,\r\n error: error\r\n }\r\n if(Config.system.console_debug){\r\n console.log(errMsg);\r\n }\r\n if(Config.system.alert_debug){\r\n alert(JSON.stringify(errMsg));\r\n }\r\n reject(errMsg)\r\n },\r\n complete : function(xhr) {\r\n }\r\n });\r\n });\r\n}","import MobileDetect from 'mobile-detect';\r\nimport Provider from '../model/Provider';\r\nimport GlobalVal from '../model/GlobalVar'\r\nimport Config from '../model/Config';\r\nimport { viewEvent } from '../../gov/controller/viewEventCtrl';\r\nimport { mobile } from '../../gov/controller/mobileCtrl';\r\n\r\n//세로모드 카카오웹브라우저 화면 넓이/높이\r\nexport var deviceWBKWitdh = \"\";\r\nexport var deviceWBKHeight = \"\";\r\nexport var isDevice_TB_WBK_Portrait = false;\r\n\r\nexport function isPC_TB_MO(){\r\n\tvar deviceCode = \"\"; //PC/MO/TB\r\n\tconst md = new MobileDetect(window.navigator.userAgent);\r\n\tif(md.mobile() != null){\r\n\t\tif(md.tablet() != null || md.match(\"SM-T\")){\r\n\t\t\tdeviceCode = \"TB\";\r\n\t\t}else{\r\n\t\t\tdeviceCode = \"MO\";\r\n\t\t}\r\n\t}else{\r\n\t\tdeviceCode = \"PC\";\r\n\t}\r\n\treturn deviceCode;\r\n}\r\n\r\nexport const device = {\r\n\tinit(){\r\n\t\t//DeviceInfo 값 갱신\r\n\t\tdevice.setDeviceCode();\r\n\t\tdevice.checkMobileType();\r\n\t\tdevice.checkSpecialBrowser();\r\n\t},\r\n\tisExplorer: ()=>{\r\n\t\tif(window.navigator.userAgent.match(\"Trident\") != null){\r\n\t\t\treturn true;\r\n\t\t}else{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t},\r\n\tisFireFox: ()=>{\r\n\t\tif(window.navigator.userAgent.match(\"Firefox\") != null){\r\n\t\t\treturn true;\r\n\t\t}else{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t},\r\n\tsetDeviceCode: ()=>{\r\n\t\tif(isPC_TB_MO() == \"PC\"){\r\n\t\t\tGlobalVal.pcMobileId = \".pcView\"\r\n\t\t\tProvider.deviceInfo.code = \"PC\"\r\n\t\t}else if(isPC_TB_MO() == \"TB\"){\r\n\t\t\tGlobalVal.pcMobileId = \".pcView\"\r\n\t\t\tProvider.deviceInfo.code = \"TB\"\r\n\t\t}else{\r\n\t\t\tGlobalVal.pcMobileId = \".mobileView\"\r\n\t\t\tProvider.deviceInfo.code = \"MO\"\r\n\t\t}\r\n\t},\r\n\tsetDeviceUniversalLink:()=>{\r\n\t\tProvider.deviceInfo.universalLink = Config.uriScheme.universalLink\r\n\t},\r\n\tcheckMobileType:()=>{\r\n\t\tconst varUA = navigator.userAgent.toLowerCase(); //userAgent 값 얻기\r\n\t\tif ( varUA.indexOf('android') > -1) {\r\n\t\t //안드로이드\r\n\t\t Provider.deviceInfo.os = \"AOS\";\r\n\t\t\treturn \"AOS\";\r\n\t\t} else if ( varUA.indexOf(\"iphone\") > -1||varUA.indexOf(\"ipad\") > -1||varUA.indexOf(\"ipod\") > -1 ) {\r\n\t\t\t//IOS\r\n\t\t Provider.deviceInfo.os = \"IOS\";\r\n\t\t\treturn \"IOS\";\r\n\t\t} else {\r\n\t\t\t//아이폰, 안드로이드 외\r\n\t\t Provider.deviceInfo.os = \"\";\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t},\r\n\tcheckSpecialBrowser: () => {\r\n\t\tconst varUA = navigator.userAgent.toLowerCase();\r\n\t\tif ( varUA.indexOf('kakaotalk') > -1) {\r\n\t\t\t//카카오인앱브라우저\r\n\t\t\tif(Provider.deviceInfo.browser == \"\"){\r\n\t\t\t\tProvider.deviceInfo.browser = \"WBK\";\r\n\t\t\t}\r\n\t\t}else {\r\n\t\t\tif(Provider.deviceInfo.browser == \"\"){\r\n\t\t\t\tProvider.deviceInfo.browser = \"WB\";\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn Provider.deviceInfo.browser;\r\n\t},\r\n\tportraitTBWidthSizeCheck: ()=>{\r\n\t\t//세로모드일 때 모바일 스크립트 실행\r\n\t\tif(window.matchMedia('(orientation: portrait)').matches) {\r\n\t\t\t//전체화면이 아닐 시 \r\n\t\t\tif(screen.width != $(window).width()){\r\n\t\t\t\t//세로모드 카카오웹브라우저 넓이\r\n\t\t\t\tdeviceWBKWitdh = $(window).width();\r\n\t\t\t\tdeviceWBKHeight = $(window).height();\r\n\t\t\t\t//테블릿 카카오웹, 세로형\r\n\t\t\t\tisDevice_TB_WBK_Portrait = true;\r\n\t\t\t}\r\n\t\t}else {\r\n\t\t\t//테블릿 카카오웹, 가로형\r\n\t\t\tisDevice_TB_WBK_Portrait = false;\r\n\t\t}\r\n\t},\r\n\torientChangeTBProccesing: ()=>{\r\n\t\t$(window).off(\"orientationchange\").on(\"orientationchange\", function(e) { // 가로세로 전환 처리\r\n\t\t\tviewEvent.view_msg(\"안내\",\"\",\"화면 전환을 감지했습니다. 정상적인 간편인증을 위하여 화면 종료 후 다시 실행해 주시기 바랍니다.\",viewEvent.closePopup);\r\n\t\t});\r\n\t},\r\n\tresizeTBProccesing: (fn)=>{\r\n\t\tdeviceWBKWitdh = $(window).width();\r\n\t\tdeviceWBKHeight = $(window).height();\r\n\t\twindow.addEventListener('resize', function(){\r\n\t\t\tif($(window).width() === deviceWBKWitdh){\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tif(screen.width == $(window).width() && $(window).width() !== deviceWBKWitdh){\r\n\t\t\t\tdeviceWBKWitdh = $(window).width()\r\n\t\t\t\tfn()\r\n\t\t\t\t// alert(`전체 ${screen.width} | ${$(window).width()} | ${deviceWBKWitdh}`)\r\n\t\t\t\treturn\r\n\t\t\t}else{\r\n\t\t\t\tdeviceWBKWitdh = $(window).width()\r\n\t\t\t\tfn()\r\n\t\t\t\t// alert(`분할 ${screen.width} | ${$(window).width()} | ${deviceWBKWitdh}`);\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\tisMobile(){\r\n\t\tif(Provider.deviceInfo.code == \"MO\"){\r\n\t\t\treturn true;\r\n\t\t}else{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t},\r\n\tisMobileUI: ()=>{\r\n\t\tif(Provider.deviceInfo.code == \"MO\"){\r\n\t\t\tGlobalVal.pcMobileId = \".mobileView\"\r\n\t\t\t//MO\r\n\t\t\treturn true;\r\n\t\t}else if(Provider.deviceInfo.code == \"TB\"){\r\n\t\t\t//TB - 카카오웹 일 때 화면모드가 세로형일 경우 모바일 UI\r\n\t\t\tif(Provider.deviceInfo.browser == \"WBK\"){\r\n\t\t\t\tif(isDevice_TB_WBK_Portrait){\r\n\t\t\t\t\tGlobalVal.pcMobileId = \".mobileView\"\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tGlobalVal.pcMobileId = \".pcView\"\r\n\t\t\treturn false;\r\n\t\t}else{\r\n\t\t\t//PC\r\n\t\t\tGlobalVal.pcMobileId = \".pcView\"\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n} ","import Config from \"../model/Config\";\r\nimport Provider from \"../model/Provider\";\r\n\r\nvar rootId = \"\";\r\n\r\nexport const mTransKey = {\r\n init: ()=>{\r\n if(Provider.deviceInfo.code == \"MO\"){\r\n $(\"#oacxEmbededContents .mTranceKey-btn.off\").css(\"bottom\",\"16px\");\r\n }\r\n rootId = Config.appendElementTagId;\r\n\r\n //업무서버 Context Path 지정\r\n /* transkey_url = Config.url.jsp.contextPath + transkey_url\r\n transkey_surl = Config.url.jsp.contextPath + transkey_surl\r\n mtk.initCallback = function(){\r\n\r\n } */\r\n mTransKey.event();\r\n },\r\n close: ()=>{\r\n if(Config.mTranskey.use){\r\n if(mtk != null && mtk.now != null){\r\n mtk.close();\r\n }\r\n }\r\n },\r\n isMasking: (value)=>{\r\n return value.match(\"\\\\*\") != null;\r\n },\r\n initSetting: ()=>{\r\n if(Config.mTranskey.use){\r\n initmTranskey();\r\n }\r\n // use_form_id = true;\r\n if(Provider.deviceInfo.code == \"MO\"){\r\n max_width = 0; //초기 너비값\r\n widthRatio = 1;\r\n }else if(Provider.deviceInfo.code == \"PC\"){\r\n widthRatio = 0;\r\n max_width = 300; //초기 너비값\r\n mTransKey.setmKey_position(); //초기 Position 결정\r\n //창크기에 따른 Div Position 결정\r\n window.addEventListener(\"resize\", mTransKey.setmKey_position, false);\r\n }\r\n\r\n //Style 지정\r\n mTransKey.style_on();\r\n\r\n if(Config.mTranskey.use){\r\n\r\n //닫기 Function Callback\r\n mtk.closeCallBack = function(){\r\n mTransKey.style_off();\r\n mTransKey.setWithoutSessionDecodeJson();\r\n // mTransKey.testAjax('mtranskey_pwd');\r\n }\r\n //확인버튼 Function Callback\r\n mtk.doneCallBack = function(){\r\n mTransKey.style_off();\r\n mTransKey.setWithoutSessionDecodeJson();\r\n // mTransKey.testAjax('mtranskey_pwd');\r\n }\r\n }\r\n },\r\n event: ()=>{\r\n //키보드\r\n $(`${rootId} .mTranceKey-btn`).on('click',function(){\r\n mTransKey.initSetting();\r\n mtk.onKeyboard($(`${rootId} #mtranskey_pwd`)[0]); //팝업\r\n })\r\n //입력 키보드 \r\n $(`${rootId} #mtranskey_pwd`).on('keydown',function(e){\r\n var value = $(e.currentTarget).val();\r\n if(mTransKey.isMasking(value)){\r\n mTransKey.clearInput();\r\n }\r\n })\r\n },\r\n clearInput: ()=>{\r\n $(`${rootId} #mtranskey_pwd`).val(\"\");\r\n Provider.userInfo.mtranskeySsn2=null;\r\n },\r\n style_on: ()=>{\r\n $(`${rootId} .mTranceKey-btn`).removeClass(\"off\"); \r\n $(`${rootId} .mTranceKey-btn`).addClass(\"on\"); \r\n },\r\n style_off: ()=>{\r\n $(`${rootId} .mTranceKey-btn`).removeClass(\"on\"); \r\n $(`${rootId} .mTranceKey-btn`).addClass(\"off\"); \r\n },\r\n setmKey_position: ()=>{\r\n const top = $(`${rootId} #mtranskey_pwd`).offset().top + $(`${rootId} #mtranskey_pwd`).height();\r\n const left = $(`${rootId} #mtranskey_pwd`).offset().left - (max_width - $(`${rootId} #mtranskey_pwd`).width()-30)\r\n // mtk.now.div.style.top = top + \"px\";\r\n // mtk.now.div.style.left = left + \"px\";\r\n $(`${rootId} #mtranskey_pwd`).attr(\"data-tk-kbdxy\",`${left} ${top}`);\r\n if(mtk != null && mtk.now != null){\r\n mtk.reSizeListener();\r\n }\r\n\r\n },\r\n setmtranskeySsn2:()=>{\r\n if(mtk != null && mtk.now != null){\r\n id = mtk.now.id\r\n var values = mtk.inputFillEncData(document.getElementById(id));\r\n var name = document.getElementById(id).name;\r\n var hidden = values.hidden;\r\n var hmac = values.hmac;\r\n var frmId = use_form_id ? \"_\"+document.getElementById(\"hidfrmId\").value : \"\";\r\n \r\n const mtranskeySsn2 = {};\r\n mtranskeySsn2[`id`]=id;\r\n mtranskeySsn2[`name`]=name;\r\n mtranskeySsn2[`transkey`]=hidden;\r\n mtranskeySsn2[`transkey_HM`]=encodeURIComponent(hmac); \r\n mtranskeySsn2[`transkeyUuid`]=mtk.transkeyUuid;\r\n mtranskeySsn2[\"hidfrmId\"]=frmId;\r\n \r\n Provider.userInfo.mtranskeySsn2 = mtranskeySsn2;\r\n \r\n console.log(`mTransKey Request Json: ${JSON.stringify(mtranskeySsn2)}`);\r\n }\r\n },\r\n setWithoutSessionDecodeJson: ()=>{\r\n const mtranskeySsn2 = {};\r\n var id = \"\";\r\n var keyboardType = \"\";\r\n var keyIndex = \"\";\r\n var fieldType = \"\";\r\n var seedKey = $(`#oacxEmbededContents #seedKey`).val();\r\n var initTime = $(`#oacxEmbededContents #initTime`).val();\r\n var transkey_ExE2E = \"\";\r\n if(mtk != null && mtk.now != null){\r\n id = mtk.now.id\r\n keyboardType = mtk.now.keyboardType;\r\n keyIndex = mtk.now.keyIndex;\r\n fieldType = mtk.now.fieldType;\r\n transkey_ExE2E = mtk.now.ExE2E;\r\n }\r\n var values = mtk.inputFillEncData(document.getElementById(id));\r\n var hidden = values.hidden;\r\n var hmac = values.hmac;\r\n\r\n mtranskeySsn2[`id`]=id;\r\n mtranskeySsn2[`keyboardType`]=keyboardType;\r\n mtranskeySsn2[`keyIndex`]=keyIndex;\r\n mtranskeySsn2[`fieldType`]=fieldType;\r\n mtranskeySsn2[`seedKey`]=seedKey;\r\n mtranskeySsn2[`initTime`]=initTime;\r\n mtranskeySsn2[`transkey`]=hidden;\r\n mtranskeySsn2[`transkey_HM`]=encodeURIComponent(hmac); //request.getParameter(\"transkey_HM_pwd1_frm\"), \r\n mtranskeySsn2[`transkey_ExE2E`]=transkey_ExE2E;\r\n\r\n Provider.userInfo.mtranskeySsn2 = mtranskeySsn2;\r\n\r\n console.log(`mTransKey Request Json: ${JSON.stringify(mtranskeySsn2)}`);\r\n },\r\n testAjax:()=>{\r\n if(mtk != null && mtk.now != null){\r\n var request = new XMLHttpRequest();\r\n\r\n const mtranskeySsn2 = Provider.userInfo.mtranskeySsn2;\r\n const keys = Object.keys(mtranskeySsn2);\r\n var params = \"\";\r\n keys.forEach(function(key){\r\n params += `${key}=${mtranskeySsn2[key]}&`;\r\n })\r\n\r\n request.open(\"POST\", `${Config.url.jsp.contextPath}/oacx/mTranskey_test.jsp`, false);\r\n request.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\r\n request.setRequestHeader(\"Cache-Control\", \"no-cache\");\r\n request.send(params);\r\n \r\n const result = request.responseText.replace(/\\n/gi, '');\r\n console.log(`Result decode: ${result}\r\n mtranskeySsn2 = ${JSON.stringify(mtranskeySsn2)}\r\n `)\r\n }\r\n }\r\n}\r\n","\r\nexport const errMsg = {\r\n OACX_USERINFO_NAME_EMPTY_ERROR : {\"code\":\"E0111\", \"id\":\"OACX_USERINFO_NAME_EMPTY_ERROR\", \"message\":\"이름을 입력하여 주십시오.\"},\r\n OACX_USERINFO_NAME_VALID_ERROR : {\"code\":\"E0112\", \"id\":\"OACX_USERINFO_NAME_VALID_ERROR\", \"message\":\"이름은 한글, 영어만 입력 가능합니다.\"},\r\n OACX_USERINFO_NAME_SIZE_ERROR : {\"code\":\"E0113\", \"id\":\"OACX_USERINFO_NAME_SIZE_ERROR\", \"message\":\"이름이 50자리수를 초과하였습니다.\"},\r\n OACX_USERINFO_BIRTH_EMPTY_ERROR : {\"code\":\"E0121\", \"id\":\"OACX_USERINFO_BIRTH_EMPTY_ERROR\", \"message\":\"생년월일을 입력하여 주십시오.\"},\r\n OACX_USERINFO_BIRTH_NUMBER_ERROR : {\"code\":\"E0122\", \"id\":\"OACX_USERINFO_BIRTH_NUMBER_ERROR\", \"message\":\"생년월일은 숫자만 입력 가능합니다.\"},\r\n OACX_USERINFO_BIRTH_VALID_ERROR : {\"code\":\"E0122\", \"id\":\"OACX_USERINFO_BIRTH_VALID_ERROR\", \"message\":\"생년월일을 다시 입력하여 주십시오.\"},\r\n OACX_USERINFO_SSN_VALID_ERROR : {\"code\":\"E0131\", \"id\":\"OACX_USERINFO_SSN_VALID_ERROR\", \"message\":\"주민등록번호를 다시 입력하여 주십시오.\"},\r\n OACX_USERINFO_SSN1_EMPTY_ERROR : {\"code\":\"E0132\", \"id\":\"OACX_USERINFO_SSN1_EMPTY_ERROR\", \"message\":\"주민등록번호를 입력하여 주십시오.\"},\r\n OACX_USERINFO_SSN1_NUMBER_ERROR : {\"code\":\"E0133\", \"id\":\"OACX_USERINFO_SSN1_NUMBER_ERROR\", \"message\":\"주민등록번호는 숫자만 입력 가능합니다.\"},\r\n OACX_USERINFO_SSN2_EMPTY_ERROR : {\"code\":\"E0134\", \"id\":\"OACX_USERINFO_SSN2_EMPTY_ERROR\", \"message\":\"주민등록번호를 입력하여 주십시오.\"},\r\n OACX_USERINFO_SSN2_NUMBER_ERROR : {\"code\":\"E0135\", \"id\":\"OACX_USERINFO_SSN2_NUMBER_ERROR\", \"message\":\"주민등록번호는 숫자만 입력 가능합니다.\"},\r\n OACX_USERINFO_TELCO_EMPTY_ERROR : {\"code\":\"E0141\", \"id\":\"OACX_USERINFO_TELCO_EMPTY_ERROR\", \"message\":\"통신사를 입력해주세요.\"},\r\n OACX_USERINFO_TELCO_VALID_ERROR : {\"code\":\"E0142\", \"id\":\"OACX_USERINFO_TELCO_VALID_ERROR\", \"message\":\"통신사를 다시 입력하여 주십시오.\"},\r\n OACX_USERINFO_PHONE_EMPTY_ERROR : {\"code\":\"E0143\", \"id\":\"OACX_USERINFO_PHONE_EMPTY_ERROR\", \"message\":\"휴대폰번호를 입력하여 주십시오.\"},\r\n OACX_USERINFO_PHONE_NUMBER_ERROR : {\"code\":\"E0144\", \"id\":\"OACX_USERINFO_PHONE_NUMBER_ERROR\", \"message\":\"휴대폰번호는 숫자만 입력 가능합니다.\"},\r\n OACX_USERINFO_PHONE_VALID_ERROR : {\"code\":\"E0145\", \"id\":\"OACX_USERINFO_PHONE_VALID_ERROR\", \"message\":\"휴대폰번호를 다시 입력하여 주십시오.\"},\r\n OACX_USERINFO_POLICY1_VALID_ERROR : {\"code\":\"E0151\", \"id\":\"OACX_USERINFO_POLICY1_VALID_ERROR\", \"message\":\"개인정보 이용 동의 확인 여부의 입력 형식이 잘못 되었습니다.\"},\r\n OACX_USERINFO_POLICY2_VALID_ERROR : {\"code\":\"E0152\", \"id\":\"OACX_USERINFO_POLICY2_VALID_ERROR\", \"message\":\"서비스 이용약관 동의 확인 여부의 입력 형식이 잘못 되었습니다.\"},\r\n OACX_USERINFO_POLICY3_VALID_ERROR : {\"code\":\"E0153\", \"id\":\"OACX_USERINFO_POLICY3_VALID_ERROR\", \"message\":\"제3자 정보제공약관 확인 여부의 입력 형식이 잘못 되었습니다.\"},\r\n OACX_USERINFO_POLICY4_VALID_ERROR : {\"code\":\"E0154\", \"id\":\"OACX_USERINFO_POLICY4_VALID_ERROR\", \"message\":\"고유식별정보처리 확인 여부의 입력 형식이 잘못 되었습니다.\"},\r\n OACX_PROVIDER_EMPTY_ERROR : {\"code\":\"E0211\", \"id\":\"OACX_PROVIDER_EMPTY_ERROR\", \"message\":\"인증서비스 ID를 입력하여 주십시오.\"}\r\n} \r\n","\r\nimport Config from '../model/Config.js';\r\nimport Provider from '../model/Provider.js'\r\nimport { device } from './deviceCheck.js';\r\nimport { providerChk } from './provider.id.check.js';\r\n\r\n\r\nexport const mobileFn = {\r\n setKakaoCallbackUrl : ()=>{\r\n if(Provider.deviceInfo.code == \"MO\"){\r\n return setKakaoCallback();\r\n }else{\r\n if(Provider.deviceInfo.browser == \"WBK\"){\r\n return setKakaoCallback();\r\n }\r\n }\r\n return true;\r\n },\r\n moveLinkByProvider: ()=>{\r\n if(Provider.deviceInfo.code == \"MO\"){\r\n call.callByProvider(Provider.providerId);\r\n }else{\r\n if(Provider.deviceInfo.browser == \"WBK\"){\r\n if(providerChk.isKakao(Provider.providerId)){\r\n call.kko();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nconst call = {\r\n callByProvider: (providerId)=>{\r\n if(providerChk.isPass(providerId)){\r\n call.tel_pass();\r\n }else if(providerChk.isKakao(providerId)){\r\n call.kko();\r\n }else if(providerChk.isPayco(providerId)){\r\n call.payco();\r\n }else if(providerChk.isSamsung(providerId)){\r\n call.samsungpass();\r\n // var msg = \"삼성패스 앱이 정상적으로 동작하지 않으면 최신으로 업데이트 바랍니다.\"\r\n // viewEvent.view_msg(\"안내\",\"\",msg,);\r\n }else if(providerChk.isKb(providerId)){\r\n call.kbbank();\r\n }else if(providerChk.isToss(providerId)){\r\n call.toss();\r\n }else if(providerChk.isNaver(providerId)){\r\n call.naver();\r\n }else if(providerChk.isKakaoPay(providerId)){\r\n call.kakaopay();\r\n }else if(providerChk.isShinhan(providerId)){\r\n call.shinhan();\r\n }else{\r\n // BankSalad, Hana, 그외 인증기관\r\n const url = Provider.deeplinkUri;\r\n if(!!url){\r\n location.href = url;\r\n }\r\n }\r\n },\r\n naver:()=>{\r\n // 일반 브라우저 일 시 인증 후 앱종료\r\n // 네이버앱일 시 간편인증을 이어서 진행해야하기 때문에 뷰만 종료\r\n const varUA = navigator.userAgent.toLowerCase();\r\n const ostype = device.checkMobileType();\r\n const uriScheme = Provider.naverAppSchemeUrl;\r\n if(!!uriScheme){\r\n\r\n if(ostype == \"IOS\") {\r\n let resStr = uriScheme\r\n if(!!Config.uriScheme.universalLink){\r\n resStr = `https://naverapp.m.naver.com/?urlScheme=${encodeURIComponent(uriScheme)}`\r\n if ( varUA.match(\"naver\") == null) { resStr += '&closeApp=true' }\r\n }\r\n location.href = resStr\r\n }else if(ostype == \"AOS\"){\r\n let resStr = uriScheme\r\n if ( varUA.match(\"naver\") == null) { resStr += '&closeApp=true' }\r\n location.href = resStr\r\n }\r\n }\r\n },\r\n shinhan:()=>{\r\n // TODO 민간 Shinhan 처리\r\n if(Provider.isEnt()){\r\n if(!!Provider.deeplinkUri){\r\n location.href = Provider.deeplinkUri;\r\n return \r\n }\r\n }\r\n\r\n // 공공\r\n const ostype = device.checkMobileType();\r\n const reqTxId = Provider.reqTxId;\r\n const certTxId = Provider.cxId;\r\n let resStr = \"\";\r\n if(ostype == \"IOS\") {\r\n resStr = `iphoneSbank://SHSIGN?tran_type_cd=sol_gov&cert_tx_id=${certTxId}&sign_tx_id=${reqTxId}`\r\n // 앱호출 연결 웹화면\r\n if(!!Config.uriScheme.universalLink){\r\n resStr = `https://sol.shinhan.com/sms.jsp?scrid=SHSIGN&tran_type_cd=sol_gov&cert_tx_id=${certTxId}&sign_tx_id=${reqTxId}`\r\n }\r\n location.href = resStr;\r\n }else if(ostype == \"AOS\"){\r\n resStr = `sbankandnor://SHSIGN?tran_type_cd=sol_gov&cert_tx_id=${certTxId}&sign_tx_id=${reqTxId}`\r\n location.href = resStr;\r\n }\r\n },\r\n kakaopay:()=>{\r\n var tx_id = Provider.cxId;\r\n var url = `kakaotalk://kakaopay/cert/sign?tx_id=${tx_id}&success=https://cx.raonsecure.co.kr:27443/ent&fail=https://cx.raonsecure.co.kr:27443/ent`;\r\n location.href = url;\r\n },\r\n kko:()=>{\r\n const ostype = device.checkMobileType() ;\r\n var inCxid = Provider.cxId;\r\n var resStr = \"\";\r\n\r\n if(Config.uriScheme.mode.id == \"dev\"){\r\n //개발\r\n resStr = \"alphatalk://me/cert/sign?tx_id=\"+inCxid; \r\n }else{\r\n //운영\r\n if(Config.uriScheme.universalLink !== undefined && Config.uriScheme.universalLink){\r\n if(ostype == \"IOS\") {\r\n const link = \"https://talk-apps.kakao.com/scheme/\";\r\n const uriScheme = \"kakaotalk://me/cert/sign?tx_id=\"+inCxid; \r\n resStr = link + encodeURIComponent(uriScheme);\r\n }else {\r\n resStr = \"kakaotalk://me/cert/sign?tx_id=\"+inCxid;\r\n }\r\n }else{\r\n resStr = \"kakaotalk://me/cert/sign?tx_id=\"+inCxid;\r\n }\r\n }\r\n location.href = resStr;\r\n },\r\n payco:()=>{\r\n const ostype = device.checkMobileType() ;\r\n var pay_session = Provider.cxId;\r\n var signAfterExit = \"&signAfterExit=true\";\r\n //URISCHEME\r\n var resStr = \"\";\r\n if(ostype == \"IOS\") {\r\n if(Config.uriScheme.universalLink !== undefined && Config.uriScheme.universalLink){\r\n if(Config.uriScheme.mode.id == \"dev\"){\r\n //개발\r\n resStr = `https://paycoiostest.page.link/?link=https%3A%2F%2Fm.payco.com%3Fscheme%3Dpayco%253A%252F%252Fopen%252Fcertificate%253Fsession%3D${pay_session}&ibi=com.nhnent.TOASTPAY.test&isi=924292102&efr=1&ifl=https%3A%2F%2Fm.payco.com%2Fapp%2Fexec.nhn%3Fopen%3D%252Fcertificate%253Fsession%3D${pay_session}`\r\n }else{\r\n //운영\r\n resStr = `https://paycoiosmarket.page.link/?link=https%3A%2F%2Fm.payco.com%3Fscheme%3Dpayco%253A%252F%252Fopen%252Fcertificate%253Fsession%3D${pay_session}&ibi=com.nhnent.TOASTPAY&isi=924292102&efr=1&ifl=https%3A%2F%2Fm.payco.com%2Fapp%2Fexec.nhn%3Fopen%3D%252Fcertificate%253Fsession%3D${pay_session}`\r\n }\r\n }else{\r\n resStr =\"payco://open/certificate?session=\"+pay_session + signAfterExit;\r\n }\r\n }else {\r\n resStr =\"payco://open/certificate?session=\"+pay_session + signAfterExit;\r\n }\r\n location.href = resStr;\r\n },\r\n kbbank:()=>{\r\n // alert(\"KB은행 호출\");\r\n location.href = makeKbData();\r\n },\r\n tel_pass:()=>{\r\n var telcoTycd = Provider.userInfo.telcoTycd;\r\n if(telcoTycd == \"S\"){\r\n // alert(\"PASS SKT 호출\");\r\n }else if (telcoTycd == \"K\"){\r\n // alert(\"PASS KT 호출\");\r\n }else if(telcoTycd == \"L\"){\r\n // alert(\"PASS LGU+ 호출\");\r\n }\r\n var resStr = makePassData();\r\n // alert(\"call : \"+resStr);\r\n location.href = resStr;\r\n },\r\n samsungpass:()=>{\r\n // alert(\"삼성PASS 호출\");\r\n const deeplinkUri = Provider.deeplinkUri;\r\n // alert(\"call : \" + deeplinkUri);\r\n if(deeplinkUri != \"\"){\r\n // alert(\"deeplinkUri: \"+deeplinkUri);\r\n location.href = deeplinkUri;\r\n }\r\n },\r\n toss(){\r\n const ostype = device.checkMobileType() ;\r\n let url = Provider.deeplinkUri;\r\n if (!!!url) {\r\n var tx_id = Provider.cxId;\r\n // provider id cotoss 사용 시 고정 URI Scheme 호출\r\n url = `supertoss://toss-cert/v2/sign/user/auth?txId=${tx_id}&_minVerAos=5.36.0&_minVerIos=5.10.0`\r\n }\r\n\r\n if(ostype == \"IOS\") {\r\n if(Config.uriScheme.universalLink !== undefined && Config.uriScheme.universalLink){\r\n location.href = `https://ul.toss.im?scheme=${encodeURIComponent(url)}`\r\n }else{\r\n location.href = url\r\n }\r\n }else{\r\n location.href = url\r\n }\r\n }\r\n}\r\n\r\nfunction getKakaoWebVersion(){\r\n const varUA = navigator.userAgent.toLowerCase();\r\n if ( varUA.match(\"kakaotalk\") != null) {\r\n var point = varUA.indexOf('kakaotalk');\r\n var data = varUA.substring(point+10);\r\n return data;\r\n } else {\r\n return \"0\";\r\n }\r\n}\r\n\r\nfunction compareVersion(verA, verB){\r\n var result = true;\r\n verA = verA.split( '.' ); // .을 기준으로 문자열 배열로 만든다 [6][8]\r\n verB = verB.split( '.' ); // .을 기준으로 문자열 배열로 만든다 [6][7][99]\r\n\r\n const length = Math.max( verA.length, verB.length ); // 배열이 긴쪽의 length를 구함\r\n\r\n for ( var i = 0; i < length ; i ++ ){\r\n var a = verA[i] ? parseInt(verA[i], 10 ) : 0; // 10진수의 int로 변환할 값이 없을 때 0으로 값을 넣습니다.\r\n var b = verB[i] ? parseInt(verB[i], 10 ) : 0;\r\n //alert( a +' > ' + b + ' : ' + ( a > b ) );\r\n if ( a < b ) {\r\n result = false;\r\n break;\r\n }\r\n }\r\nreturn result;\r\n}\r\n\r\nfunction setKakaoCallback(){\r\n const browser_cd = Provider.deviceInfo.browser\r\n Provider.providerOptionInfo.callbackUrl = \"\"\r\n if(Provider.providerId != \"kakao\"){\r\n return true;\r\n }\r\n \r\n if (browser_cd == 'HY' || browser_cd == 'NA') {\r\n // alert('설정 Callback URI Scheme');\r\n }else if (browser_cd == 'WB'){// 210413 WB 이면서 안드이면 CLOSE 셋팅\r\n if (device.checkMobileType() == \"AOS\") {\r\n // alert(\"callbackUrl : alphatalk://me/talk_close\");\r\n if(Config.uriScheme.mode.id == \"dev\"){\r\n Provider.providerOptionInfo.callbackUrl = \"alphatalk://me/talk_close\"\r\n }else{\r\n Provider.providerOptionInfo.callbackUrl = \"kakaotalk://me/talk_close\"\r\n }\r\n }\r\n }// END WB\r\n else {\r\n\r\n // 카카오브라우저인지 확인\r\n if (Provider.deviceInfo.browser == \"WBK\") {\r\n var kakao_ver = getKakaoWebVersion();\r\n // alert(\"kakao_ver :\"+kakao_ver);\r\n if (device.checkMobileType() == \"IOS\") {\r\n // 버전체크 - 9.3.0 비교 /\r\n if (compareVersion(kakao_ver, '9.3.0')) {\r\n // alert(\"callbackUrl : empty\");\r\n Provider.providerOptionInfo.callbackUrl = \"\";\r\n }else {\r\n alert(\"업그레이드 필요\");\r\n return false;\r\n }\r\n } else if (device.checkMobileType() == \"AOS\") {\r\n // 버전체크 - 2109150 비교\r\n if (compareVersion(kakao_ver, '2109150')) {\r\n // alert(\"callbackUrl is empty\");\r\n Provider.providerOptionInfo.callbackUrl = \"\";\r\n }else {\r\n alert(\"업그레이드 필요\");\r\n return false;\r\n }//END VER\r\n } else {\r\n //alert('PC');\r\n }\r\n }\r\n }//end test\r\n \r\n return true;\r\n}\r\n\r\n\r\nfunction makeKbData(){\r\n const reqid = Provider.reqTxId;\r\n const certid = Provider.cxId;\r\n var kbScheme = \"\";\r\n \r\n const ostype = device.checkMobileType() ;\r\n if(ostype == \"IOS\") {\r\n if(Config.uriScheme.mode.id == \"dev\"){\r\n kbScheme = \"https://mbank.kbstar.com/kbapplink?cmd=move_to&id=web&url=/mquics?page=C102688&urlparam=\";\r\n // kbScheme = \"https://ymbank.kbstar.com/kbapplink?cmd=move_to&id=web&url=/mquics?page=C102688&urlparam=\";\r\n // kbScheme = \"https://zmbank.kbstar.com/kbapplink?cmd=move_to&id=web&url=/mquics?page=C102688&urlparam=\";\r\n }else{\r\n kbScheme = \"https://mbank.kbstar.com/kbapplink?cmd=move_to&id=web&url=/mquics?page=C102688&urlparam=\";\r\n // kbScheme = \"https://zmbank.kbstar.com/?cmd=move_to&id=web&url=/mquics?page=C102688&urlparam=\";\r\n }\r\n }else {\r\n kbScheme = \"kbbank://call?cmd=move_to&id=web&url=/mquics?page=C102688&urlparam=\";\r\n }\r\n // var kbScheme = \"https://obank.kbstar.com/quics?page=C041244&scheme=kbbank&pageid=C102688&urlparam=\";\r\n kbScheme += \"serno:\" + encodeURIComponent(encodeURIComponent(certid)) + \",\";\r\n kbScheme += \"reqTxId:\" + encodeURIComponent(encodeURIComponent(reqid));\r\n return kbScheme;\r\n}\r\n\r\nfunction makePassData(){\r\n \r\n //통신사PASS인경우 앱 호출시에만 reqtxid 40자리중 위 20자리만 사용\r\n const reqid = Provider.isGov() ? Provider.reqTxId.substring(20, 40) : Provider.reqTxId;\r\n const telcoid = Provider.telcoTxid;\r\n const certid = Provider.cxId;\r\n const ostype = device.checkMobileType() ;\r\n var callscheme = \"&callbackScheme=app2appdummy\"; //설정값에 받아야함/\r\n var callurl = \"&packageName=com.atoncorp.app2appdummy\";//설정값에 받아야함/\r\n if(ostype == \"IOS\"){\r\n callscheme = \"&callbackScheme=App2AppDummy\";\r\n callurl = \"&callBackUrl=\"+Provider.providerOptionInfo.callbackUrl;\r\n }\r\n callurl = getTelcoData(reqid,telcoid,certid,callscheme,callurl);\r\n\r\n return callurl;\r\n}\r\n\r\nfunction getTelcoData(rid,tid,cid,calback,calurl) {\r\n //OS & Browser\r\n var ostype = device.checkMobileType() ;\r\n var bwtype = Provider.deviceInfo.browser;\r\n var telcoTycd = Provider.userInfo.telcoTycd;\r\n //\r\n var skpName = \"com.sktelecom.tauth\";\r\n var skscheme = \"tauthlink\";\r\n var skhost = \"certauth\";\r\n var sk_universal_link = \"\";\r\n if(Config.uriScheme.mode.id == \"dev\"){\r\n sk_universal_link = \"https://passhome-qa.minwise.co.kr/applink/certauth\"; //개발\r\n }else{\r\n sk_universal_link = \"https://www.sktpass.com/applink/certauth\"; //운영\r\n }\r\n\r\n var lgupName = \"com.lguplus.smartotp\";\r\n var lguscheme = \"upluscorporation\";\r\n var lguhost = \"\";\r\n var lgu_universal_link = \"\";\r\n if(Config.uriScheme.mode.id == \"dev\"){\r\n lgu_universal_link = \"https://fidotest.uplus.co.kr/rp/lgauthPass\"; //개발\r\n }else{\r\n lgu_universal_link = \"https://fido.uplus.co.kr/rp/lgauthPass\"; //운영\r\n }\r\n \r\n // var ktpName = \"kt.fido.sw.asm.api\"; //개발 \r\n // var ktpName = \"com.kt.kauth\"; //운영\r\n var ktscheme = \"ktpasslink20\";\r\n var kthost = \"requestSignCert\";\r\n var kt_universal_link = \"\";\r\n if(Config.uriScheme.mode.id == \"dev\"){\r\n kt_universal_link = \"https://tb.fido.kt.com/requestSignCert\"; //개발\r\n }else{\r\n kt_universal_link = \"https://fido.kt.com/requestSignCert\"; //운영\r\n }\r\n\r\n var str = \"\";\r\n if(ostype == \"IOS\"){\r\n //universal_link\r\n if(telcoTycd == \"S\"){\r\n str = sk_universal_link + \"?reqTxId=\"+rid+\"&certTxId=\"+cid+\"&telcoTxId=\"+tid;\r\n }else if (telcoTycd == \"K\"){\r\n str = kt_universal_link + \"?reqTxId=\"+rid+\"&certTxId=\"+cid+\"&telcoTxId=\"+tid;\r\n }else if(telcoTycd == \"L\"){\r\n str = lgu_universal_link + \"?reqTxId=\"+rid+\"&certTxId=\"+cid+\"&telcoTxId=\"+tid+\"&sc=004\";\r\n }\r\n }else{//AOS\r\n //URISCHEME\r\n //AOS SCHEME Data\r\n if(telcoTycd == \"S\"){\r\n str = skscheme+ \"://\"+skhost+\"?reqTxId=\"+rid+\"&telcoTxId=\"+tid+\"&certTxId=\"+cid;\r\n }else if (telcoTycd == \"K\"){\r\n str = ktscheme+ \"://\"+kthost+\"?reqTxId=\"+rid+\"&telcoTxId=\"+tid+\"&certTxId=\"+cid;\r\n }else if(telcoTycd == \"L\"){\r\n str = lguscheme+ \"://?reqTxId=\"+rid+\"&telcoTxId=\"+tid+\"&certTxId=\"+cid+\"&sc=004\";\r\n }\r\n }\r\n //210407 아톤요청 WB 구분하여 콜백제거 -> 대상 WB , WBK\r\n if( bwtype != \"WB\"){\r\n str += calback+calurl;\r\n }//WB END\r\n return str;\r\n}\r\n\r\n\r\n/*\r\nSample\r\n\r\n✔ 카카오\r\n- IOS(Config.auth.json universalLink Option false): kakaotalk://me/cert/sign?tx_id=\r\n- IOS(Config.auth.json universalLink Option true): https://talk-apps.kakao.com/scheme/\r\n- AOS: kakaotalk://me/cert/sign?tx_id=\r\n\r\n✔ 페이코 ( ${pay_session}는 cxId )\r\n- IOS(Config.auth.json universalLink Option false): payco://open/certificate?session=${pay_session}&signAfterExit=true\r\n- IOS(Config.auth.json universalLink Option true): https://paycoiosmarket.page.link/?link=https%3A%2F%2Fm.payco.com%3Fscheme%3Dpayco%253A%252F%252Fopen%252Fcertificate%253Fsession%3D${pay_session}&ibi=com.nhnent.TOASTPAY&isi=924292102&efr=1&ifl=https%3A%2F%2Fm.payco.com%2Fapp%2Fexec.nhn%3Fopen%3D%252Fcertificate%253Fsession%3D${pay_session}\r\n- AOS: payco://open/certificate?session=${pay_session}&signAfterExit=true\r\n\r\n✔ 통신사패스\r\n- IOS SK: https://www.sktpass.com/applink/certauth?reqTxId=&certTxId=&telcoTxId=\r\n- IOS KT: https://fido.kt.com/requestSignCert?reqTxId=&certTxId=&telcoTxId=\r\n- IOS LG: https://fido.uplus.co.kr/rp/lgauthPass?reqTxId=&certTxId=&telcoTxId=&sc=004\r\n- AOS SK: tauthlink://certauth?reqTxId=&telcoTxId=&certTxId=\r\n- AOS KT: ktpasslink20://requestSignCert?reqTxId=&telcoTxId=&certTxId=\r\n- AOS LG: upluscorporation://?reqTxId=&telcoTxId=&certTxId=&sc=004\r\n\r\n✔ 삼성패스 (인증기관에서 URI 정보를 넘겨주는 형태 - 소스에 없음)\r\nsamsungpass://cert/sign?requestId=\r\n\r\n✔ 토스 (인증기관에서 URI 정보를 넘겨주는 형태 - 소스에 없음)\r\nsupertoss://toss-cert/v2/sign/user/auth?txId=f1f2fe12-d392-4a74-9403-c1ed90ffd566&_minVerAos=5.36.0&_minVerIos=5.10.0\r\n\r\n✔ 네이버\r\n* AOS는 인증기관에서 URI 정보를 넘겨주는 형태 - 소스에 없음\r\n* IOS는 인증기관에서 넘겨준 URI 정보를 인코딩한 파라메타로 새로운 https URL로 호출\r\n- AOS 네이버앱: naversearchapp://naversign?apiType=profile&version=5&sessionKey=hE87bzhx3CnGAeAQVpn8N1kY3QycmuEi\r\n- AOS 그외 모바일브라우저: naversearchapp://naversign?apiType=profile&version=5&sessionKey=hE87bzhx3CnGAeAQVpn8N1kY3QycmuEi&closeApp=true\r\n- IOS 네이버엡 (Config.auth.json universalLink Option true): https://naverapp.m.naver.com/?urlScheme=${encodeURIComponent('naversearchapp://naversign?apiType=profile&version=5&sessionKey=hE87bzhx3CnGAeAQVpn8N1kY3QycmuEi')}\r\n- IOS 네이버앱(Config.auth.json universalLink Option false): naversearchapp://naversign?apiType=profile&version=5&sessionKey=hE87bzhx3CnGAeAQVpn8N1kY3QycmuEi\r\n- IOS 그외 모바일브라우저 (Config.auth.json universalLink Option true): https://naverapp.m.naver.com/?urlScheme=${encodeURIComponent('naversearchapp://naversign?apiType=profile&version=5&sessionKey=hE87bzhx3CnGAeAQVpn8N1kY3QycmuEi')}&closeApp=true\r\n- IOS 그외 모바일브라우저(Config.auth.json universalLink Option false): naversearchapp://naversign?apiType=profile&version=5&sessionKey=hE87bzhx3CnGAeAQVpn8N1kY3QycmuEi&closeApp=true\r\n\r\n✔ KB국민\r\n- IOS: https://mbank.kbstar.com/kbapplink?cmd=move_to&id=web&url=/mquics?page=C102688&urlparam=\r\n- AOS: kbbank://call?cmd=move_to&id=web&url=/mquics?page=C102688&urlparam= \r\n\r\n✔ 신한은행\r\n- IOS: iphoneSbank://SHSIGN?tran_type_cd='sol_gov'&cert_tx_id=&sign_tx_id=\r\n- AOS: sbankandnor://SHSIGN?tran_type_cd='sol_gov'&cert_tx_id=&sign_tx_id= */","export const providerChk = {\r\n isKakao : (providerId)=>{\r\n if(providerId == \"kakao\" || providerId == \"cokakao\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isNaver : (providerId)=>{\r\n if(providerId == \"naver\" || providerId == \"conaver\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isSamsung : (providerId)=>{\r\n if(providerId == \"kica\" || providerId == \"cokica\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isKb : (providerId)=>{\r\n if(providerId == \"kb\" || providerId == \"cokb\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isPayco : (providerId)=>{\r\n if(providerId == \"payco\" || providerId == \"copayco\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isToss : (providerId)=>{\r\n if(providerId == \"cotoss-esign\" || providerId == \"drtoss-esign\" || providerId == \"toss\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isPass : (providerId)=>{\r\n if(providerId == \"pass\" || providerId == \"copass\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isKakaoPay : (providerId)=>{\r\n if(providerId == \"kakaopay\" || providerId == \"cokakaopay\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isShinhan : (providerId)=>{\r\n if(providerId == \"shinhan\" || providerId == \"coshinhan\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isBanksalad : (providerId)=>{\r\n if(providerId == \"banksalad\" || providerId == \"cobanksalad\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n },\r\n isHana : (providerId)=>{\r\n if(providerId == \"hana\" || providerId == \"cohana\"){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n }\r\n\r\n}","export const regex = {\r\n // 이름체크 (한글 or 영문)\r\n isKorEng: (str) =>{\r\n return regex.isKor(str)||regex.isEng(str);\r\n },\r\n // 이름체크 (한글)\r\n isKor: (str)=> {\r\n // var regexp = /^[ㄱ-ㅎ|가-힣|\\s|\\*]+$/;\r\n var regexp = /^[\\u3131-\\u314E|\\uAC00-\\uD7A3:|\\s|\\*]+$/;\r\n return regexp.test(str);\r\n },\r\n // 이름체크 (영어, 공백허용)\r\n isEng: (str)=> {\r\n var regexp = /^[a-z|A-Z|\\s|\\*]+$/;\t\t \r\n return regexp.test(str);\r\n },\r\n // 숫자체크\r\n isNum: (num)=> {\r\n var regexp = /^[0-9]*$/;\r\n return regexp.test(num);\r\n },\r\n isBirth: (birth)=>{\r\n var regexp = /^(19[0-9][0-9]|20\\d{2})(0[0-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])$/\r\n return regexp.test(birth);\r\n },\r\n isValidBirthday: (dateStr)=> {\r\n if(dateStr === undefined || dateStr == \"\" || dateStr == null){\r\n return false;\r\n }\r\n var year = Number(dateStr.substr(0,4));\r\n var month = Number(dateStr.substr(4,2));\r\n var day = Number(dateStr.substr(6,2));\r\n var today = new Date();\r\n var yearNow = today.getFullYear();\r\n \r\n // 연도의 경우 1900 보다 작거나 yearNow 보다 크다면 false 반환\r\n if (1900 > year || year > yearNow){ \r\n return false; \r\n } else if (month < 1 || month > 12) {\r\n return false; \r\n } else if (day < 1 || day > 31) { \r\n return false; \r\n } else if ((month == 4 || month == 6 || month == 9 || month == 11) && day==31) { \r\n return false; \r\n } else if (month == 2) { \r\n var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); \r\n if (day>29 || (day==29 && !isleap)) { \r\n return false;\r\n } else { \r\n return true; \r\n } //end of if (day>29 || (day==29 && !isleap)) \r\n } else { \r\n return true; \r\n }//end of if\r\n },\r\n // 주민 및 외국인 등록번호 유효성 검사\r\n isValidRnNum: (ssn1, ssn2)=> {\r\n var rn = ssn1 + ssn2;\r\n \r\n // 13자리 숫자인지 확인\r\n if( rn.length !== 13 ){\r\n return false;\r\n }\t\t\t\t\t\t\r\n \r\n // 검증값 합계\r\n var checkSum = 0;\r\n for(var i = 0; i < 12; i++){\r\n checkSum += ((rn.substr(i,1)>>0)*((i%8)+2));\r\n } \r\n \r\n // 검증\r\n var modCheckSum = checkSum%11; // 검증값 합계의 11의 나머지수\r\n var rrnMatch = (11-(modCheckSum))%10 == rn.substr(12,1); // 주민번호 검증\r\n var frnMatch = (13-(modCheckSum))%10 == rn.substr(12,1); // 외국인번호 검증\r\n \r\n // 주민/외국인 여부 상관 없이 등록번호 검사 \r\n return rrnMatch || frnMatch;\r\n },\r\n // 주민 및 외국인등록번호 생년월일 변경\r\n convertBirthDay: (ssn1, ssn2)=> {\r\n var birthday = null;\r\n \r\n //생년월일 변환\r\n if(ssn2.indexOf('1')==0 || ssn2.indexOf('2')==0){\r\n birthday = '19' + ssn1;\r\n } else if (ssn2.indexOf('3')==0 || ssn2.indexOf('4')==0){\r\n birthday = '20' + ssn1;\r\n } else if (ssn2.indexOf('5')==0 || ssn2.indexOf('6')==0){\r\n birthday = '19' + ssn1;\r\n } else if (ssn2.indexOf('7')==0 || ssn2.indexOf('8')==0){\r\n birthday = '20' + ssn1;\r\n } \r\n \r\n return birthday;\r\n },\r\n}","'use strict';\r\n\r\nimport $ from 'jquery';\r\nimport cssVars from 'css-vars-ponyfill';\r\n\r\nimport Provider \t\t\tfrom '../common/model/Provider';\r\nimport Config \t\t\t\tfrom '../common/model/Config';\r\nimport ModuleParam \t\t\tfrom '../common/model/ModuleParam';\r\nimport GlobalVar \t\t\tfrom '../common/model/GlobalVar';\r\nimport UmdOption \t\t\tfrom '../common/model/UmdOption';\r\nimport { fileGet } \t\t\tfrom \"../common/utils/ajax\";\r\nimport { mTransKey } \t\tfrom '../common/utils/mTransKeyEvt';\r\nimport {device, deviceWBKHeight, deviceWBKWitdh, isDevice_TB_WBK_Portrait, isPC_TB_MO} from '../common/utils/deviceCheck';\r\nimport { ajax } \t\t\tfrom '../common/controller/ajaxCtrl';\r\n\r\nimport {rendering}\t\t\tfrom './controller/renderingViewCtrl';\r\nimport {viewEvent}\t\t\tfrom './controller/viewEventCtrl';\r\nimport {viewAsyn} \t\t\tfrom './controller/viewAsynProcessing';\r\nimport { vaild }\t\t\tfrom './controller/validationCtrl';\r\nimport { mobile } from './controller/mobileCtrl';\r\n\r\ncssVars({ \r\n\t// Treat all browsers as legacy\r\n\tonlyLegacy: false, \r\n});\r\n\r\nif(Config.system.alert_debug){\r\n\talert(\"load app.js\");\r\n}\r\nif(Config.system.alert_debug){\r\n\talert(isPC_TB_MO());\r\n}\r\n\r\n/* Css Load */\r\nrequire('../common/resource/css/demo_mobile.css');\r\nrequire('../common/resource/css/demo_common.css');\r\nrequire('../common/resource/css/main.css');\r\nrequire('../common/resource/css/common.css');\r\n\r\nrequire('./resource/css/style_common.css');\r\nrequire('./resource/css/style_mobile.css');\r\n\r\n\r\n//외부에서 접근가능한 MODULE OPTIONS\r\n// export const options = umdOptions; \r\nexport const options = UmdOption; \r\n\r\nexport function LOAD_MODULE(configPath, json, callback, closeEvt, loadedModule){\r\n\t// umdOptions.init();\r\n\tProvider.clear();\r\n\r\n\tModuleParam.setModuleParam(configPath, json, callback);\r\n\tProvider.setProvider(json);\r\n\tGlobalVar.setUserInfo(json);\r\n\tGlobalVar.closeEvt = closeEvt;\r\n\tGlobalVar.loadedModule = loadedModule;\r\n\r\n\tvar path = configPath;\r\n\tfileGet(path).then(function(res){\r\n\t\tConfig.setConfig(res);\r\n\t\t\r\n\t\tif(Config.system.alert_debug){\r\n\t\t\talert(\"Setting Config: \",JSON.stringify(Config));\r\n\t\t}\r\n\t\tif(Config.system.console_debug){\r\n\t\t\tconsole.log(\"Setting Config: \",Config);\r\n\t\t}\r\n\t\tinitModule(callback);\r\n\t},function(res){\r\n\t\t\r\n\t});\r\n}\r\n\r\n// 인증요청 \r\nexport function MODULE_REQUEST(configPath, json){\r\n\tProvider.setProvider(json);\r\n\r\n\tconst errMsg = Provider.getUserInfoValidMesseg(json)\r\n\tif(!!errMsg){\r\n\t\tOACX.options.callback.valid.error(errMsg)\r\n\t\treturn false; \r\n\t}\r\n\r\n\t// DeviceInfo 설정\r\n\tdevice.init();\r\n\t// Config File Load\r\n\tfileGet(configPath).then(async function(res){\r\n\t\tConfig.setConfig(res);\r\n\t\tif(Config.system.alert_debug){alert(\"Setting Config: \",JSON.stringify(Config))}\r\n\t\tif(Config.system.console_debug){console.log(\"Setting Config: \",Config)}\r\n\t\ttry {\r\n\t\t\tawait ajax.getToken()\r\n\t\t\t//인증요청\r\n\t\t\tawait ajax.requestAuth()\r\n\t\t} catch(e) { }\r\n\t});\r\n\r\n}\r\n// 인증완료 \r\nexport async function MODULE_RESULT(){\r\n\t//DeviceInfo 값 갱신\r\n\tdevice.init();\r\n\ttry {\r\n\t\t//인증완료\r\n\t\tawait ajax.finishAuth()\r\n\t} catch(e) { }\r\n}\r\n\r\nfunction initModule(callback){\r\n\r\n\t//세로보드 카카오 웹브라우저 비율 체크 isDevice_TB_WBK_Portrait = true \r\n\tdevice.portraitTBWidthSizeCheck();\r\n\r\n\t//DeviceInfo 값 갱신\r\n\tdevice.init();\r\n\r\n\t//html template rendering\r\n\trendering.createTemplateView();\r\n\tviewEvent.init();\r\n\tif(Config.mTranskey.use){\r\n\t\tmTransKey.init();\r\n\t}\r\n\tvaild.init();\r\n\r\n\tif(Provider.deviceInfo.code == \"MO\"){\r\n\t\tmobile.init();\r\n\t}else{\r\n\t\t//카카오톡 브라우저\r\n\t\tif(Provider.deviceInfo.browser == \"WBK\"){\r\n\t\t\tif(isDevice_TB_WBK_Portrait){\r\n\t\t\t\t//세로보드 카카오 웹브라우저 비율 체크 및 모바일 실행\r\n\t\t\t\tmobile.init();\r\n\t\t\t}\r\n\t\t\t//가로 세로 변환에 따른 모듈 재로드\r\n\t\t\tdevice.orientChangeTBProccesing();\r\n\t\t\tdevice.resizeTBProccesing(function(){\r\n\t\t\t\tviewEvent.view_msg(\"안내\",\"\",\"화면 전환을 감지했습니다. 정상적인 간편인증을 위하여 화면 종료 후 다시 실행해 주시기 바랍니다.\",viewEvent.closePopup);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t//Token, Provider 정보 추출\r\n\tviewAsyn.getTokenProviderListPopup();\r\n\t\r\n\t//Step2 인증완료 Handler\r\n\tviewEvent.successEventHandler(callback);\r\n}","import {ajax} from '../../common/controller/ajaxCtrl';\r\nimport Provider from '../../common/model/Provider';\r\n\r\nfunction isNotEmpty(value){\r\n if(value === undefined){\r\n value = \"\";\r\n }else if(value == null){\r\n value = \"\";\r\n }\r\n return value;\r\n}\r\n\r\nexport function appendHistory(target, res){\r\n const json = JSON.parse(res);\r\n const keys = Object.keys(json);\r\n var jsonArr = []\r\n for(var i=0; i\"+html+\"\"\r\n $(`#oacx-demo-main #${target}`).html(row);\r\n\r\n $(`#oacx-demo-main #${target} a[data-id=token]`).on('click',function(e){\r\n var token = $(e.currentTarget).text();\r\n ajax.parseToken(token).then(res =>{\r\n var json = {\r\n title: \"토큰 확인\",\r\n data: JSON.stringify(res)\r\n }\r\n template(json);\r\n },res=>{})\r\n })\r\n\r\n $(\"#oacx-demo-main a[data-id=signedData]\").on('click',function(e){\r\n var txId = Provider.txId;\r\n var signTarget = Provider.contentInfo.signTarget\r\n var signedData = $(\"#oacx-demo-main #auth2Log a[data-id=signedData]\").text();\r\n var json = {\r\n txId: isNotEmpty(txId),\r\n signTarget: isNotEmpty(signTarget),\r\n signedData: isNotEmpty(signedData)\r\n };\r\n var params = `txId=${json.txId}&signTarget=${json.signTarget}&signedData=${json.signedData}`\r\n ajax.parseSignData(params).then(res =>{\r\n var json = {\r\n title: \"서명 데이터 확인\",\r\n data: JSON.stringify(res).replace(/\\\\n/g,'').replace(/\\\\r/g,'')\r\n }\r\n template(json);\r\n },res=>{})\r\n })\r\n\r\n}\r\n\r\nfunction template(json){\r\n var tmpl = require('../html/popup.demo.confirm.hbs');\r\n var html = tmpl(json);\r\n $(\"#oacx-demo-main #confirmPopup\").remove();\r\n $(\"#oacx-demo-main\").prepend(html);\r\n $(\"#confirmPopup_confirm\").on('click', function(e){\r\n $(\"#oacx-demo-main #confirmPopup\").remove();\r\n })\r\n}\r\n\r\nconst oacx_demo = {\r\n init: ()=>{\r\n oacx_demo.selectBtn();\r\n },\r\n selectBtn: ()=>{\r\n $(\".demo-header li a\").on('click',function(e){\r\n $(\".demo-header li a\").removeClass(\"demo-select\");\r\n $(e.currentTarget).addClass(\"demo-select\");\r\n \r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n $(\".demo-cst-content\").hide();\r\n $(\"div[data-content=\"+id+\"]\").show();\r\n })\r\n\r\n $(\".log-header li a\").on('click',function(e){\r\n $(\".log-header li a\").removeClass(\"log-select\");\r\n $(e.currentTarget).addClass(\"log-select\");\r\n \r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n $(\".log-tab\").hide();\r\n $(\"div[data-logcontent=\"+id+\"]\").show();\r\n })\r\n\r\n }\r\n}\r\n\r\n\r\n//--------\r\noacx_demo.init();\r\n//--------\r\n","import Provider from '../../common/model/Provider'\r\nimport { webAccess } from '../../common/controller/webAccessibilityCtrl'\r\nimport { common } from '../../common/controller/validationCtrl'\r\nimport Config from '../../common/model/Config'\r\nimport { providerChk } from '../../common/utils/provider.id.check'\r\nimport {viewEvent} from './viewEventCtrl'\r\nimport {viewAsyn} from './viewAsynProcessing'\r\nimport {vaild} from './validationCtrl'\r\n\r\nvar rootId = \"\";\r\n\r\nexport const mobile = {\r\n init: ()=>{\r\n rootId = Config.appendElementTagId;\r\n //Keyboard Events\r\n mobile.keyboard_events();\r\n mobile.telcoTycd_select_events();\r\n mobile.form_events();\r\n }, \r\n nextView: ()=>{\r\n setTimeout(()=>{\r\n $(`${rootId} input`).blur();\r\n $(`${rootId} .mAgreeBg`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} .mAgree`)\r\n }, 100);\r\n },\r\n telcoTycd_select_events: ()=>{\r\n $(`${rootId} select[data-id='oacx_phone0'], ${rootId} select[data-id='oacx_phone1']`).on('change', function() {\r\n\r\n //입력 Form Check\r\n if(mobile.isAllFormValue()){\r\n //개인정보 동의\r\n mobile.nextView();\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n });\r\n },\r\n isAllFormValue: ()=>{\r\n const name = common.trim($(`${rootId} [data-id='oacx_name']`).val());\r\n const num1 = common.trim($(`${rootId} [data-id='oacx_num1']`).val());\r\n const num2 = common.trim($(`${rootId} [data-id='oacx_num2']`).val());\r\n const birth = common.trim($(`${rootId} [data-id='oacx_birth']`).val());\r\n const providerId =$(`${rootId} #submitFm .serviceSelect .list li.selected input[name=provider]`).val();\r\n var phone = \"\";\r\n\r\n if(Provider.isBirth){\r\n if(name == \"\" || birth == \"\"){\r\n return false;\r\n }\r\n }else{\r\n if(name == \"\" || num1 == \"\" || num2 == \"\"){\r\n return false;\r\n }\r\n }\r\n\r\n if(providerChk.isPass(providerId)){\r\n phone = common.trim($(`${rootId} [data-id='oacx_phone3']`).val());\r\n if(phone == \"\"){\r\n return false;\r\n }\r\n const telcoTycd = $(`${rootId} [data-id='oacx_phone0'] option:not([value=select]):selected`).val();\r\n if(telcoTycd == \"\" || telcoTycd == null || telcoTycd === undefined){\r\n viewEvent.view_msg(\"안내\",\"\",\"통신사를 선택해주세요.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone0']`);\r\n });\r\n return false;\r\n }\r\n }else{\r\n phone = common.trim($(`${rootId} [data-id='oacx_phone2']`).val());\r\n if(phone == \"\"){\r\n return false;\r\n }\r\n }\r\n return true;\r\n },\r\n keyboard_events: ()=>{\r\n $(`${rootId} [data-id='oacx_phone2'], ${rootId} [data-id='oacx_phone3'], ${rootId} [data-id='oacx_name'], \r\n ${rootId} [data-id='oacx_birth'], ${rootId} [data-id='oacx_num1'], ${rootId} [data-id='oacx_num2']`).on(\"keyup\", (e)=>{\r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n var value = common.trim($(e.currentTarget).val());\r\n if(e.which !== 13 && e.which !== 9 && e.which !== 16 && e.which !== 8){\r\n mobile.keyboard_events_allkey(id,value);\r\n }\r\n })\r\n $(`${rootId} [data-id='oacx_phone2'], ${rootId} [data-id='oacx_phone3'], ${rootId} [data-id='oacx_name'], \r\n ${rootId} [data-id='oacx_birth'], ${rootId} [data-id='oacx_num1'], ${rootId} [data-id='oacx_num2']`).on(\"keydown\", (e)=>{\r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n var value = common.trim($(e.currentTarget).val());\r\n if(e.which === 13){\r\n mobile.keyboard_events_enter(id,value);\r\n }\r\n })\r\n },\r\n keyboard_events_enter: (id, value)=>{\r\n switch (id) {\r\n case \"oacx_name\":\r\n if(!vaild.nameCheck(value)){\r\n return false;\r\n }\r\n if(Provider.isBirth){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_birth']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n }\r\n break;\r\n case \"oacx_birth\":\r\n if(!vaild.birthCheck(value)){\r\n return false;\r\n }\r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone0']`)\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n break;\r\n case \"oacx_num1\":\r\n if(!vaild.ss1NumCheck(value)){\r\n return false;\r\n }\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num2']`);\r\n break;\r\n case \"oacx_num2\":\r\n if(!vaild.ss2NumCheck(value)){\r\n return false;\r\n }\r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone0']`)\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n break;\r\n case \"oacx_phone2\":\r\n if(!vaild.phoneCheck(value)){\r\n return false;\r\n }\r\n viewEvent.formValidation_popup()\r\n break;\r\n case \"oacx_phone3\":\r\n if(!vaild.phoneCheck(value)){\r\n return false;\r\n }\r\n viewEvent.formValidation_popup()\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n keyboard_events_allkey: (id, value)=>{\r\n switch (id) {\r\n case \"oacx_birth\":\r\n if(value.length >= 8){\r\n $(`${rootId} [data-id=${id}]`).val(value.slice(0,8));\r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone0']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n }\r\n break;\r\n case 'oacx_num1':\r\n if(value.length >= 6){\r\n $(`${rootId} [data-id=${id}]`).val(value.slice(0,6));\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num2']`);\r\n }\r\n break;\r\n case 'oacx_num2':\r\n if(value.length >= 7){\r\n $(`${rootId} [data-id=${id}]`).val(value.slice(0,7));\r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone0']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n }\r\n break;\r\n case 'oacx_phone2':\r\n if(value.length >= 8){\r\n $(`${rootId} [data-id=${id}]`).val(value.slice(0,8));\r\n viewEvent.formValidation_popup()\r\n }\r\n break;\r\n case 'oacx_phone3':\r\n if(value.length >= 8){\r\n $(`${rootId} [data-id=${id}]`).val(value.slice(0,8));\r\n viewEvent.formValidation_popup()\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n form_events: ()=>{\r\n $(`${rootId} [data-id='oacx_phone0'],${rootId} [data-id='oacx_phone2'], ${rootId} [data-id='oacx_phone3'], ${rootId} [data-id='oacx_name'], ${rootId} [data-id='oacx_birth'], ${rootId} [data-id='oacx_num1'], ${rootId} [data-id='oacx_num2']`).on('focusin', (e)=>{\r\n const providerId =$(`${rootId} #submitFm .serviceSelect .list li.selected input[name=provider]`).val();\r\n if(providerId === undefined || providerId == \"\"){\r\n $(`${rootId} input`).blur();\r\n viewEvent.view_msg(\"안내\",\"\",\"인증서비스를 선택하여 주십시오.\", ()=>{\r\n $(`${rootId} input`).blur();\r\n $(`${rootId} .main section`).scrollTop(0,0);\r\n webAccess.targetFocus(`${rootId} #oacx_providerList li:first-child a`)\r\n });\r\n return false;\r\n }\r\n\r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n $(`${rootId} .selectedService`).show();\r\n if(id != \"oacx_name\"){\r\n $(`${rootId} .main section`).scrollTop(document.body.scrollHeight);\r\n }\r\n })\r\n \r\n //약관동의 닫기\r\n $(`${rootId} .mAgreeBg .close`).on('click', ()=>{\r\n $(`${rootId} .mAgreeBg`).removeClass(\"view\");\r\n })\r\n\r\n //약관 동의 다음 단계\r\n $(`${rootId} #mAgreeBtn`).on('click', (e)=>{\r\n mobile.show_agree_button();\r\n if(viewEvent.formValidationCheck()){\r\n viewAsyn.requestAuth();\r\n } \r\n })\r\n \r\n //약관 동의 창 팝업\r\n $(`${rootId} #mAgreeCstBtn`).on('click', ()=>{\r\n mobile.hide_agree_button();\r\n if(viewEvent.formValidationCheck()){\r\n //개인정보 동의\r\n mobile.nextView();\r\n } \r\n })\r\n },\r\n show_agree_button: ()=>{\r\n $(`${rootId} #mAgreeBtn`).addClass(\"disabled\").prop(\"disabled\",true);\r\n },\r\n hide_agree_button: ()=>{\r\n $(`${rootId} #mAgreeBtn`).removeClass(\"disabled\").removeAttr(\"disabled\");\r\n },\r\n}","import Config from '../../common/model/Config';\r\nimport GlobalVar from '../../common/model/GlobalVar';\r\nimport Provider from '../../common/model/Provider';\r\nimport {template} from './templateCtrl';\r\n\r\nexport const rendering = {\r\n init: () =>{\r\n rendering.createTemplateView();\r\n },\r\n createTemplateView: () => {\r\n \r\n var config = Config;\r\n var rsJson = { p:Provider, g:GlobalVar, c:Config}\r\n \r\n //main Template Load\r\n template.main_template();\r\n \r\n //
load\r\n template.header(config);\r\n\r\n //left side bar Load\r\n template.sidebar(config);\r\n \r\n //Step1 입력 Form Load\r\n template.form_bottom_button({signType:Provider.contentInfo.signType});\r\n template.form_inputInfo(rsJson);\r\n template.form_serviceSelect(config);\r\n \r\n //Step2 인증 대기화면 Load\r\n template.standby(rsJson);\r\n\r\n //개인정보 동의 Load\r\n if(!config.template.view_policy1.hidden){ template.popup_policy1(config.template.view_policy1.path) }\r\n if(!config.template.view_policy2.hidden){ template.popup_policy2(config.template.view_policy2.path) }\r\n if(!config.template.view_policy3.hidden){ template.popup_policy3(config.template.view_policy3.path) }\r\n if(!config.template.view_policy4.hidden){ template.popup_policy4(config.template.view_policy4.path) }\r\n \r\n //Alert Load\r\n template.popup_sign_origin();\r\n template.popup_naver_standby_step();\r\n template.popup_system_warring();\r\n template.popup_info_yn();\r\n template.popup_other_service();\r\n\r\n //Mobile View load\r\n template.mobile_agree(config);\r\n template.mobile_footer();\r\n template.mobile_select_service_toolbar();\r\n }\r\n}","import Config from '../../common/model/Config'\r\nimport { textFileGet } from \"../../common/utils/ajax\";\r\nimport { device } from '../../common/utils/deviceCheck';\r\nimport { webAccess } from '../../common/controller/webAccessibilityCtrl';\r\nimport {helper} from '../utils/handlebars.custom.helper';\r\n\r\nvar rootId = \"\"\r\nexport const template = {\r\n main_template: ()=>{\r\n rootId = Config.appendElementTagId;\r\n helper.init()\r\n var tmpl = require('../html/mainTemplate.hbs');\r\n var html = tmpl();\r\n $(`${rootId}`).html(html);\r\n },\r\n sidebar : (json)=>{\r\n var tmpl = require('../html/sidebar.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .sidebar`).html(html);\r\n },\r\n header : (json)=>{\r\n var tmpl = require('../html/header.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents header`).html(html);\r\n },\r\n form_serviceSelect: (json)=>{\r\n var tmpl = require('../html/form.serviceSelect.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .serviceSelect`).html(html);\r\n },\r\n form_inputInfo: (json)=>{\r\n var tmpl = require('../html/form.inputInfo.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .inputInfo`).html(html);\r\n },\r\n form_bottom_button: (json)=>{\r\n var tmpl = require('../html/form.bottom.button.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .btnArea`).html(html);\r\n },\r\n standby: (json)=>{\r\n var tmpl = require('../html/standby.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .standby`).html(html);\r\n \r\n $(\"#oacxEmbededContents #naverStandbyStep\").on('click',(e)=>{\r\n $(`${rootId} #view_standby`).addClass(\"view\");\r\n webAccess.targetFocus(`#oacxEmbededContents #view_standby .alert`);\r\n })\r\n },\r\n popup_naver_standby_step : ()=>{\r\n var tmpl = require('../html/popup.naver.standby.step.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #view_standby`).html(html);\r\n $(`${rootId} #oacxEmbededContents #view_standby button`).on('click',(e)=>{\r\n webAccess.targetFocus(`#oacxEmbededContents #naverStandbyStep`)\r\n })\r\n },\r\n popup_sign_origin: ()=>{\r\n var tmpl = require('../html/popup.sign.origin.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #view_sign_origin`).html(html);\r\n },\r\n popup_policy1: (path)=>{\r\n textFileGet(path).then(res=>{\r\n $(`${rootId} #oacxEmbededContents #view_policy1`).html(res);\r\n $(`${rootId} #view_policy1 button`).on('click',(e)=>{\r\n $(`${rootId} #view_policy1`).removeClass(\"view\");\r\n if(device.isMobileUI()){\r\n webAccess.targetFocus(`${rootId} #m_policy1_btn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #policy1_btn`);\r\n }\r\n })\r\n },res=>{});\r\n },\r\n popup_policy2: (path)=>{\r\n textFileGet(path).then(res=>{\r\n $(`${rootId} #oacxEmbededContents #view_policy2`).html(res);\r\n $(`${rootId} #view_policy2 button`).on('click',(e)=>{\r\n $(`${rootId} #view_policy2`).removeClass(\"view\");\r\n if(device.isMobileUI()){\r\n webAccess.targetFocus(`${rootId} #m_policy2_btn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #policy2_btn`);\r\n }\r\n })\r\n },res=>{});\r\n },\r\n popup_policy3: (path)=>{\r\n textFileGet(path).then(res=>{\r\n $(`${rootId} #oacxEmbededContents #view_policy3`).html(res);\r\n $(`${rootId} #view_policy3 button`).on('click',(e)=>{\r\n $(`${rootId} #view_policy3`).removeClass(\"view\");\r\n if(device.isMobileUI()){\r\n webAccess.targetFocus(`${rootId} #m_policy3_btn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #policy3_btn`);\r\n }\r\n })\r\n },res=>{});\r\n },\r\n popup_policy4: (path)=>{\r\n textFileGet(path).then(res=>{\r\n $(`${rootId} #oacxEmbededContents #view_policy4`).html(res);\r\n $(`${rootId} #view_policy4 button`).on('click',(e)=>{\r\n $(`${rootId} #view_policy4`).removeClass(\"view\");\r\n if(device.isMobileUI()){\r\n webAccess.targetFocus(`${rootId} #m_policy4_btn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #policy4_btn`);\r\n }\r\n })\r\n },res=>{});\r\n },\r\n popup_system_warring: ()=>{\r\n var tmpl = require('../html/popup.system.warring.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #view_err`).html(html);\r\n },\r\n popup_info_yn: ()=>{\r\n var tmpl = require('../html/popup.info.yn.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #view_info`).html(html);\r\n },\r\n popup_other_service: ()=>{\r\n var tmpl = require('../html/popup.other.service.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #view_otherSrv`).html(html);\r\n $(`${rootId} #view_otherSrv button`).on('click',()=>{\r\n webAccess.targetFocus(`${rootId} #otherSrv`)\r\n })\r\n },\r\n mobile_agree: (json)=>{\r\n var tmpl = require('../html/mobile.agree.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .mAgreeBg`).html(html);\r\n },\r\n mobile_select_service_toolbar: ()=>{\r\n var tmpl = require('../html/mobile.serviceSelectToolbar.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents .selectedService`).html(html);\r\n },\r\n mobile_footer: ()=>{\r\n var tmpl = require('../html/mobile.footer.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents footer`).html(html);\r\n },\r\n providerInfo: (json)=>{\r\n var tmpl = require('../html/providerInfo.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacx_providerList`).html(html)\r\n } \r\n}\r\n","import Provider from \"../../common/model/Provider\";\r\nimport Config from \"../../common/model/Config\";\r\nimport { webAccess } from \"../../common/controller/webAccessibilityCtrl\";\r\nimport { regex } from \"../../common/utils/regex\";\r\nimport { providerChk } from \"../../common/utils/provider.id.check\";\r\nimport { mTransKey } from \"../../common/utils/mTransKeyEvt\";\r\nimport { viewEvent } from \"./viewEventCtrl\";\r\n\r\nvar rootId = \"\";\r\nexport const vaild = { \r\n init: ()=>{\r\n rootId = Config.appendElementTagId;\r\n },\r\n nameCheck: (name)=>{\r\n if(name == \"\" ){\r\n viewEvent.view_msg(\"안내\",\"\",\"이름을 입력하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_name']`);\r\n viewEvent.hidePopup();\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isKorEng(name)){\r\n viewEvent.view_msg(\"안내\",\"\",\"이름은 한글, 영어만 입력 가능합니다.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_name']`);\r\n viewEvent.hidePopup();\r\n $(`${rootId} [data-id='oacx_name']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n birthCheck: (birth)=>{\r\n // 본인인증(Nice) CompareCI False 그리고 삼성패스일 때 생년월일, 주민등록번호 제외\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n return true;\r\n }\r\n \r\n if(birth==\"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"생년월일을 입력하여 주십시오.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_birth']`);\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isNum(birth)){\r\n viewEvent.view_msg(\"안내\",\"\",\"생년월일은 숫자만 입력 가능합니다.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_birth']`);\r\n $(`${rootId} [data-id='oacx_birth']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n if(!regex.isBirth(birth)){\r\n viewEvent.view_msg(\"안내\",\"\",\"생년월일을 다시 입력하여 주십시오.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_birth']`);\r\n $(`${rootId} [data-id='oacx_birth']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n ss1NumCheck: (num1)=>{ \r\n // 본인인증(Nice) CompareCI False 그리고 삼성패스일 때 생년월일, 주민등록번호 제외\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n return true;\r\n }\r\n\r\n if(num1==\"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 입력하여 주십시오.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isNum(num1)){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호는 숫자만 입력 가능합니다.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n $(`${rootId} [data-id='oacx_num1']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n ss2NumCheck: (num2)=>{\r\n //키보드 * 처리\r\n if(mTransKey.isMasking(num2)){\r\n return true\r\n }\r\n \r\n // 본인인증(Nice) CompareCI False 그리고 삼성패스일 때 생년월일, 주민등록번호 제외\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n return true;\r\n }\r\n \r\n if(num2==\"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 입력하여 주십시오.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num2']`);\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isNum(num2)){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호는 숫자만 입력 가능합니다.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num2']`);\r\n $(`${rootId} [data-id='oacx_num2']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n ssCheck: (num1, num2)=>{\r\n //키보드 * 처리\r\n if(mTransKey.isMasking(num2)){\r\n return true\r\n }\r\n\r\n // 본인인증(Nice) CompareCI False 그리고 삼성패스일 때 생년월일, 주민등록번호 제외\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n return true;\r\n }\r\n if(num1 == \"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 입력하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n });\r\n return false;\r\n }else if(num2 == \"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 입력하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num2']`);\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isValidBirthday(regex.convertBirthDay(num1, num2))){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 다시 입력하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n $(`${rootId} [data-id='oacx_num1']`).val(\"\");\r\n $(`${rootId} [data-id='oacx_num2']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n if(!regex.isValidRnNum(num1, num2)){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 다시 입력하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n $(`${rootId} [data-id='oacx_num1']`).val(\"\");\r\n $(`${rootId} [data-id='oacx_num2']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n telcoTycdCheck: ()=>{\r\n var telcoTycd = $(`${rootId} form select[data-id='oacx_phone0'] option:not([disabled=disabled]):selected`).val();\r\n if(telcoTycd === undefined || telcoTycd == \"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"통신사를 선택해주세요.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone0']`);\r\n });\r\n return false;\r\n }\r\n return true;\r\n },\r\n phoneCheck: (phone, providerId)=>{\r\n if(phone == \"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"휴대폰번호를 입력하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n /* if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone3']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n } */\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isNum(phone)){\r\n viewEvent.view_msg(\"안내\",\"\",\"휴대폰번호는 숫자만 입력 가능합니다.\", ()=>{\r\n if(providerChk.isPass(providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone3']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n });\r\n return false;\r\n }\r\n if(phone.length < 7){\r\n viewEvent.view_msg(\"안내\",\"\",\"휴대폰번호를 다시 입력하여 주십시오.\", ()=>{\r\n if(providerChk.isPass(providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone3']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n checkBoxVaild: ()=>{\r\n\r\n const policy1 =$(`${rootId} #oacx_policy1`).prop(\"checked\");\r\n const policy2 =$(`${rootId} #oacx_policy2`).prop(\"checked\");\r\n const policy3 =$(`${rootId} #oacx_policy3`).prop(\"checked\");\r\n const policy4 =$(`${rootId} #oacx_policy4`).prop(\"checked\");\r\n \r\n if((!policy1 && policy1 != undefined) || \r\n (!policy2 && policy2 != undefined) || \r\n (!policy3 && policy3 != undefined) || \r\n (!policy4 && policy4 != undefined)){\r\n viewEvent.view_msg(\"안내\",\"\",\"간편인증 서비스 이용에 대한 필수항목 동의를 하여야 합니다.\", ()=>{\r\n $(`${rootId} #oacx_total`).focus();\r\n });\r\n return false;\r\n }\r\n\r\n //개인정보 이용 동의 확인 여부\r\n Provider.userInfo.privacy = policy1 ? 1:0;\r\n\r\n //서비스 이용약관 동의 확인 여부\r\n Provider.userInfo.policy3 = policy2 ? 1:0;\r\n\r\n //제3자 정보제공약관 확인 여부\r\n Provider.userInfo.policy4 = policy3 ? 1:0;\r\n\r\n //고유식별정보처리 동의 확인 여부\r\n Provider.userInfo.terms = policy4 ? 1:0;\r\n\r\n return true;\r\n },\r\n inputSizeCheck: ()=>{\r\n function getNumValue(e){\r\n var value = $(e.currentTarget).val();\r\n if(!regex.isNum(value)){\r\n $(e.currentTarget).val(value.substr(0,value.length-1));\r\n }\r\n }\r\n function getMaxValue(e,size){\r\n var value = $(e.currentTarget).val(); \r\n if(value.length >= size){\r\n $(e.currentTarget).val(value.substr(0,size-1));\r\n }\r\n }\r\n $(`${rootId} [data-id='oacx_num1'],\r\n ${rootId} [data-id='oacx_num2'],\r\n ${rootId} [data-id='oacx_birth'], \r\n ${rootId} [data-id='oacx_phone2'], \r\n ${rootId} [data-id='oacx_phone3']`).on(\"change keyup paste click\", function(e){\r\n var value = $(e.currentTarget).val();\r\n if(!regex.isNum(value)){\r\n $(e.currentTarget).val(\"\");\r\n }\r\n });\r\n $(`${rootId} [data-id='oacx_name']`).on(\"propertychange change keydown input\", (e)=>{\r\n getMaxValue(e,50);\r\n })\r\n $(`${rootId} [data-id='oacx_phone2'], ${rootId} [data-id='oacx_phone3']`).on(\"propertychange change keydown input\", (e)=>{\r\n getNumValue(e);\r\n getMaxValue(e,9);\r\n })\r\n $(`${rootId} [data-id='oacx_birth']`).on(\"propertychange change keydown input\", (e)=>{\r\n getNumValue(e);\r\n getMaxValue(e,9);\r\n })\r\n $(`${rootId} [data-id='oacx_num1']`).on(\"propertychange change keydown input\", (e)=>{\r\n getNumValue(e);\r\n getMaxValue(e,7);\r\n })\r\n $(`${rootId} [data-id='oacx_num2']`).on(\"propertychange change keydown input\", (e)=>{\r\n getNumValue(e);\r\n getMaxValue(e,8);\r\n })\r\n },\r\n isSignedData: ()=>{\r\n if(Provider.contentInfo.signType === \"ENT_SIMPLE_SIGN\" &&\r\n Provider.contentInfo.signTarget === \"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"서명 원문데이터를 입력하여 주십시오.\");\r\n }\r\n }\r\n}","import Config from '../../common/model/Config';\r\nimport GlobalVar from '../../common/model/GlobalVar';\r\nimport UmdOption from '../../common/model/UmdOption';\r\nimport Provider from '../../common/model/Provider';\r\nimport {ajax} from '../../common/controller/ajaxCtrl';\r\nimport { webAccess } from '../../common/controller/webAccessibilityCtrl';\r\nimport {mobileFn} from '../../common/utils/oacx.mobile.fn'\r\nimport {process} from '../service/data.processing.srv'\r\nimport {appendHistory} from './demo';\r\nimport { device, isDevice_TB_WBK_Portrait } from '../../common/utils/deviceCheck';\r\nimport {viewEvent} from './viewEventCtrl'\r\nimport {template} from './templateCtrl'\r\nimport { mobile } from './mobileCtrl';\r\n\r\nfunction msg_view(res, fnEvent){\r\n var errMsg = \"서비스가 원활하지 않습니다. 잠시 후에 다시 시도해주십시오.\";\r\n if(typeof res == \"string\" && res.replace(/\\s/gi, \"\") != \"\"){\r\n const json = JSON.parse(res);\r\n if(json !== undefined){\r\n if(json.resultCode != 200 && json.resultCode != 0){\r\n errMsg = json.clientMessage !== undefined ? json.clientMessage : errMsg;\r\n }\r\n }\r\n }\r\n viewEvent.view_msg(\"안내\",\"\",errMsg, fnEvent);\r\n $(`${Config.appendElementTagId} #oacxEmbededContents`).show();\r\n}\r\n\r\nvar rootId = \"\";\r\nexport const viewAsyn = {\r\n getTokenProviderListPopup: ()=>{\r\n rootId = Config.appendElementTagId;\r\n ajax.getToken().then((res)=>{\r\n appendHistory(\"tokenLog\",res);\r\n ajax.getProviderList().then(sRes=>{\r\n if(sRes != null && sRes !== undefined & sRes != \"\" && sRes.length != 0){\r\n const providerList = process.providerService(sRes);\r\n template.providerInfo({list:providerList});\r\n viewEvent.showStep1();\r\n viewEvent.showBackScreen();\r\n viewEvent.serviceSelect();\r\n webAccess.activeAuthPopup();\r\n UmdOption.callback.loaded();\r\n \r\n if(GlobalVar.loadedModule !== undefined){\r\n const loadedModule = GlobalVar.loadedModule\r\n loadedModule($(\"#oacxEmbededContents\")[0]);\r\n }\r\n }\r\n },res=>{\r\n msg_view(res,viewEvent.closePopup);\r\n });\r\n },res=>{\r\n msg_view(res,viewEvent.closePopup);\r\n })\r\n },\r\n //인증요청\r\n requestAuth: ()=>{\r\n //Callback URI 등록\r\n //프로바이더 및 브라우저 정보 정리\r\n //버전이 낮을 경우 토큰발급 중지\r\n if(!mobileFn.setKakaoCallbackUrl()){\r\n return false;\r\n }\r\n viewEvent.hideStepBtn();\r\n\r\n ajax.requestAuth().then(res => {\r\n mobileFn.moveLinkByProvider();\r\n $(`${rootId} .mAgreeBg`).removeClass(\"view\");\r\n $(`${rootId} #authSuccess`).removeAttr(\"disabled\");\r\n $(`${rootId} #authSuccess`).removeClass(\"disabled\");\r\n mobile.show_agree_button();\r\n\r\n viewEvent.view_wait_provider();\r\n viewEvent.showStepBtn();\r\n appendHistory(\"auth1Log\",res);\r\n }, res => {\r\n viewEvent.showStepBtn();\r\n msg_view(res, ()=>{\r\n if(device.isMobile()){\r\n webAccess.targetFocus(`${rootId} #mAgreeCstBtn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #step1Request`);\r\n }\r\n UmdOption.callback.ajax.fail.authRequestAlertConfirm(res);\r\n });\r\n })\r\n }, \r\n //인증완료\r\n finishAuth: (callback)=>{\r\n viewEvent.hideStepBtn();\r\n ajax.finishAuth().then(res => {\r\n callback(res);\r\n \r\n viewEvent.closePopup();\r\n appendHistory(\"auth2Log\",res);\r\n },res => {\r\n viewEvent.showStepBtn();\r\n msg_view(res, ()=>{\r\n webAccess.targetFocus(`${rootId} #step2Success`);\r\n UmdOption.callback.ajax.fail.authCompleteAlertConfirm(res);\r\n });\r\n })\r\n }\r\n}","\r\nimport {mobile} from './mobileCtrl'\r\nimport {viewAsyn} from './viewAsynProcessing'\r\nimport { vaild } from './validationCtrl.js'\r\n\r\nimport Provider from '../../common/model/Provider.js'\r\nimport Config from '../../common/model/Config'\r\nimport GlobalVar from '../../common/model/GlobalVar.js'\r\nimport UmdOption from '../../common/model/UmdOption.js'\r\n\r\nimport logo_pass from '../../common/resource/img/logo_pass.png';\r\nimport logo_payco from '../../common/resource/img/logo_payco.png';\r\nimport logo_kakao from '../../common/resource/img/logo_kakao.png';\r\nimport logo_kakaopay from '../../common/resource/img/logo_kakaopay.png';\r\nimport logo_kb from '../../common/resource/img/logo_kb.png';\r\nimport logo_samsung from '../../common/resource/img/logo_samsung.png';\r\nimport logo_naver from '../../common/resource/img/logo_naver.png';\r\nimport logo_shinhan from \"../../common/resource/img/logo_shinhan.png\";\r\nimport logo_toss from '../../common/resource/img/logo_toss.png';\r\nimport logo_banksalad from '../../common/resource/img/logo_banksalad.png';\r\nimport logo_sample from '../../common/resource/img/logo_sample.png';\r\n\r\nimport {regex} from '../../common/utils/regex'\r\nimport { device, deviceWBKHeight, deviceWBKWitdh } from '../../common/utils/deviceCheck.js'\r\nimport { providerChk } from '../../common/utils/provider.id.check.js'\r\nimport { mTransKey } from '../../common/utils/mTransKeyEvt.js'\r\n\r\nimport {common} from '../../common/controller/validationCtrl'\r\nimport { webAccess } from '../../common/controller/webAccessibilityCtrl.js'\r\n\r\nvar rootId = \"\";\r\nexport const viewEvent = {\r\n init: ()=>{\r\n rootId = Config.appendElementTagId;\r\n viewEvent.reqeustFormEvents();\r\n vaild.inputSizeCheck();\r\n vaild.isSignedData();\r\n }, \r\n //In Popup Module View Template\r\n view_msg: (title, code, message, confirmEvent)=>{\r\n $(`${rootId} #view_err .tit`).text(title !== undefined ? title : \"\");\r\n $(`${rootId} #view_err .errerContent`).html(message !== undefined ? message : \"\");\r\n $(`${rootId} #view_err`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #view_err .alert`);\r\n window.scrollTo(0,0);\r\n\r\n // Confirm/Close Button\r\n $(`${rootId} #view_err button`).off('click').on('click',()=>{\r\n $(`${rootId} #view_err`).removeClass(\"view\");\r\n mobile.hide_agree_button();\r\n if(confirmEvent !== undefined){\r\n confirmEvent();\r\n }\r\n })\r\n }, \r\n view_msg_yn: (title, message, fnYEvent, fnNEvent)=>{\r\n $(`${rootId} #view_info .tit`).text(title !== undefined ? title : \"\");\r\n $(`${rootId} #view_info .errerContent`).html(message !== undefined ? message : \"\");\r\n $(`${rootId} #view_info`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #view_info .alert`);\r\n window.scrollTo(0,0);\r\n\r\n $(`${rootId} #view_info .view-y`).off('click').on('click',()=>{\r\n $(`${rootId} #view_info`).removeClass(\"view\");\r\n if(fnYEvent !== undefined){\r\n fnYEvent();\r\n }\r\n })\r\n $(`${rootId} #view_info .view-n`).off('click').on('click',()=>{\r\n $(`${rootId} #view_info`).removeClass(\"view\");\r\n if(fnNEvent !== undefined){\r\n fnNEvent();\r\n }\r\n })\r\n },\r\n view_wait_provider: ()=>{\r\n const providerId = Provider.providerId;\r\n viewEvent.showStep2();\r\n $(`${rootId} .csTxt`).removeClass(\"view\");\r\n function render(title,logo){\r\n $(`${rootId} .m_icon .logoBox img`).attr(\"src\", logo);\r\n $(`${rootId} .m_icon .logoBox img`).attr(\"alt\", title);\r\n $(`${rootId} #provider_icon_url`).attr(\"src\", logo);\r\n $(`${rootId} #provider_icon_url`).attr(\"alt\", title);\r\n $(`${rootId} .serviceName`).text(title+\" 인증서\");\r\n }\r\n\r\n if(providerChk.isPass(providerId)){\r\n render(\"통신사\",logo_pass)\r\n $(`${rootId} #div_pass`).addClass(\"view\");\r\n }else if(providerChk.isKb(providerId)){\r\n render(\"KB모바일\",logo_kb)\r\n $(`${rootId} #div_kb`).addClass(\"view\");\r\n }else if(providerChk.isSamsung(providerId)){\r\n render(\"삼성패스\",logo_samsung)\r\n $(`${rootId} #div_kica`).addClass(\"view\");\r\n }else if(providerChk.isKakao(providerId)){\r\n render(\"카카오톡\",logo_kakao)\r\n $(`${rootId} #div_kakao`).addClass(\"view\");\r\n }else if(providerChk.isKakaoPay(providerId)){\r\n render(\"카카오페이\",logo_kakaopay)\r\n $(`${rootId} #div_kakaopay`).addClass(\"view\");\r\n }else if(providerChk.isPayco(providerId)){\r\n render(\"페이코\",logo_payco)\r\n $(`${rootId} #div_payco`).addClass(\"view\");\r\n }else if(providerChk.isNaver(providerId)){\r\n render(\"네이버\",logo_naver)\r\n $(`${rootId} #div_naver`).addClass(\"view\");\r\n } else if (providerChk.isShinhan(providerId)) {\r\n render(\"신한\", logo_shinhan);\r\n $(`${rootId} #div_shinhan`).addClass(\"view\");\r\n }else if(providerChk.isToss(providerId)){\r\n render(\"토스\",logo_toss)\r\n $(`${rootId} #div_toss`).addClass(\"view\");\r\n }else if(providerChk.isBanksalad(providerId)){\r\n render(\"뱅크샐러드\",logo_banksalad)\r\n $(`${rootId} #div_banksalad`).addClass(\"view\");\r\n }else if(providerChk.isHana(providerId)){\r\n render(\"하나\",logo_banksalad)\r\n $(`${rootId} #div_hana`).addClass(\"view\");\r\n }else{\r\n render(providerId,logo_sample);\r\n }\r\n },\r\n serviceSelect: ()=>{\r\n\r\n //각각의 동의항목 Enter Key 체크 이벤트\r\n $(\"#submitFm input[type=checkbox]\").on('keydown',e=>{\r\n if(e.which === 13){\r\n $(e.currentTarget).click();\r\n }\r\n })\r\n //서비스 선택\r\n $(`${rootId} .serviceSelect .list li`).on('click',(e)=>{\r\n $(`${rootId} .serviceSelect .list li`).removeClass('selected');\r\n $(e.currentTarget).addClass('selected');\r\n $(`${rootId} .serviceSelect .list li`).removeAttr(\"title\");\r\n $(e.currentTarget).attr(\"title\",\"선택됨\");\r\n Provider.providerId = $(e.currentTarget).find(\"input[name=provider]\").val();\r\n\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n viewEvent.hideBirthSsn();\r\n mTransKey.close();\r\n }else{\r\n viewEvent.showBirthSsn();\r\n }\r\n\r\n /* if(providerChk.isNaver(Provider.providerId)){\r\n const naver = new naver_id_login(Config.provider.api.naver.clientId, Config.provider.api.naver.callbackUrl);\r\n naver.setState(Provider.txId);\r\n\r\n if(Provider.userInfo.access_token == \"\"){\r\n var link = naver.getNaverIdLoginLink();\r\n\t session.setModuleParams(ModuleParam.configPath, ModuleParam.json, ModuleParam.callback);\r\n window.popup = window.open(link,'네이버 인증','location=no, directories=no,resizable=no,status=no,toolbar=no,menubar=no, width=480,height=560, right=0, top=0');\r\n } \r\n } */\r\n\r\n //모바일 환경에서만 동작\r\n if(device.isMobileUI()){\r\n if(providerChk.isPass(Provider.providerId)){\r\n $(`${rootId} .telecom`).show();\r\n $(`${rootId} .none-telecom`).hide();\r\n if($(`${rootId} [data-id='oacx_phone3']`).val() == \"\"){\r\n var pv = $(`${rootId} [data-id='oacx_phone3']`).val();\r\n $(`${rootId} [data-id='oacx_phone3']`).val(pv);\r\n }\r\n }else{\r\n $(`${rootId} .telecom`).hide();\r\n $(`${rootId} .none-telecom`).show();\r\n if($(`${rootId} [data-id='oacx_phone2']`).val() == \"\"){\r\n var pv = $(`${rootId} [data-id='oacx_phone2']`).val();\r\n $(`${rootId} [data-id='oacx_phone2']`).val(pv);\r\n }\r\n }\r\n\r\n var provider_txt = $(e.currentTarget).find(\"p.m_txt\").attr(\"data-txt\");\r\n $(`${rootId} .selectedService dd`).text(provider_txt+\" 인증서\");\r\n $(`${rootId} .selectedService`).show()\r\n \r\n //인증완료 대기화면 인증기관 메시지\r\n $(`${rootId} #msg_kica`).hide();\r\n if(providerChk.isSamsung(Provider.providerId)){\r\n $(`${rootId} #msg_kica`).show();\r\n }\r\n \r\n //입력 Form Check\r\n if(mobile.isAllFormValue()){\r\n //개인정보 동의\r\n mobile.nextView();\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_name']`)\r\n /* if(!providerChk.isNaver(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_name']`)\r\n } */\r\n }\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_name']`)\r\n /* if(!providerChk.isNaver(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_name']`)\r\n } */\r\n }\r\n \r\n })\r\n\r\n \r\n //네이버 자동 선택\r\n /* var access_token = locationObj.getHashByName(location.href, \"access_token\");\r\n if(access_token != \"\"){\r\n $(`${rootId} .serviceSelect .list li`).removeClass(\"selected\");\r\n $(`${rootId} .serviceSelect .list li`).each((index,item)=>{\r\n var providerId = $(item).find(\"input[name=provider]\").val();\r\n if(providerChk.isNaver(providerId)){\r\n $(item).click();\r\n }\r\n \r\n })\r\n } */\r\n },\r\n successEventHandler: (callback)=> {\r\n //인증완료\r\n $(`${rootId} #step2Success`).on('click',()=>{\r\n viewAsyn.finishAuth(callback);\r\n })\r\n },\r\n reqeustFormEvents: ()=>{\r\n\r\n //개인정보이용동의(필수)\r\n $(`${rootId} #policy1_btn, ${rootId} #m_policy1_btn`).on('click',()=>{\r\n $(`${rootId} #view_policy1`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #view_policy1 .policy .cont`);\r\n })\r\n //서비스이용약관동의(필수)\r\n $(`${rootId} #policy2_btn, ${rootId} #m_policy2_btn`).on('click',()=>{\r\n $(`${rootId} #view_policy2`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #view_policy2 .policy .cont`);\r\n })\r\n //제3자 정보제공동의(필수)\r\n $(`${rootId} #policy3_btn, ${rootId} #m_policy3_btn`).on('click',()=>{\r\n $(`${rootId} #view_policy3`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #view_policy3 .policy .cont`);\r\n })\r\n //고유식별정보처리동의(필수)\r\n $(`${rootId} #policy4_btn, ${rootId} #m_policy4_btn`).on('click',()=>{\r\n $(`${rootId} #view_policy4`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #view_policy4 .policy .cont`);\r\n })\r\n //다른서비스는 없나요\r\n $(`${rootId} #otherSrv`).on('click',()=>{\r\n $(`${rootId} #view_otherSrv`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #view_otherSrv .alert`);\r\n \r\n })\r\n\r\n //통신사 선택\r\n if(!$(`${rootId} [data-id='oacx_phone0']`).is(\"option:not([disabled=disabled])\")){\r\n $(`${rootId} [data-id='oacx_phone0']`).css(\"color\",\"rgb(77, 77, 77)\");\r\n }\r\n $(`${rootId} [data-id='oacx_phone0']`).on('change',(e)=>{\r\n if(!$(e.currentTarget).is(\"option:not([disabled=disabled])\")){\r\n $(`${rootId} [data-id='oacx_phone0']`).css(\"color\",\"#4d4d4d\");\r\n }else{\r\n $(`${rootId} [data-id='oacx_phone0']`).css(\"color\",\"rgba(55, 59, 64, 0.3)\");\r\n }\r\n })\r\n\r\n //주민번호 뒷자리 보이기/안보이기\r\n $(`${rootId} .togle_view`).on('click',(e)=>{\r\n if(device.isMobileUI()){\r\n if($(e.currentTarget).is(\".on\")){\r\n $(e.currentTarget).attr(\"title\",\"주민등록번호 뒷자리 숨김\")\r\n $(`${rootId} [data-id='oacx_num2']`).attr(\"type\",\"password\");\r\n $(`${rootId} [data-id='oacx_num2']`).css(\"-webkit-text-security\",\"disc\");\r\n $(e.currentTarget).removeClass(\"on\");\r\n }else{\r\n $(`${rootId} [data-id='oacx_num2']`).attr(\"type\",\"number\");\r\n $(`${rootId} [data-id='oacx_num2']`).css(\"-webkit-text-security\",\"none\");\r\n $(e.currentTarget).addClass(\"on\");\r\n $(e.currentTarget).attr(\"title\",\"주민등록번호 뒷자리 표시\")\r\n }\r\n }else{\r\n //pc, tablet\r\n if($(e.currentTarget).is(\".on\")){\r\n $(e.currentTarget).attr(\"title\",\"주민등록번호 뒷자리 숨김\")\r\n $(`${rootId} [data-id='oacx_num2']`).attr(\"type\",\"password\");\r\n $(`${rootId} [data-id='oacx_num2']`).css(\"-webkit-text-security\",\"disc\");\r\n $(e.currentTarget).removeClass(\"on\");\r\n }else{\r\n $(`${rootId} [data-id='oacx_num2']`).attr(\"type\",\"number\");\r\n $(`${rootId} [data-id='oacx_num2']`).css(\"-webkit-text-security\",\"none\");\r\n $(e.currentTarget).addClass(\"on\");\r\n $(e.currentTarget).attr(\"title\",\"주민등록번호 뒷자리 표시\")\r\n }\r\n }\r\n })\r\n\r\n if(Config.id == \"sign\"){\r\n // $(`${rootId} .signView`).show();\r\n //서명 전문보기\r\n $(`${rootId} #signOrigin`).on('click',()=>{\r\n $(`${rootId} #view_sign_origin .cont `).html(Provider.contentInfo.signTarget);\r\n $(`${rootId} #view_sign_origin`).addClass(\"view\");\r\n $(`${rootId} #view_sign_origin`).css(\"font-size\",\"13px\")\r\n })\r\n }\r\n\r\n //popup 닫기\r\n $(`${rootId} .alertArea button`).on('click',(e)=>{\r\n $(`${rootId} .alertArea`).removeClass(\"view\");\r\n })\r\n $(`${rootId} .viewPop button`).on('click',(e)=>{\r\n $(`${rootId} .viewPop`).removeClass(\"view\");\r\n })\r\n\r\n //서비스 시용에 대한 전체동의 이벤트\r\n $(`${rootId} #oacx_total`).on('click',(e)=>{\r\n if($(e.currentTarget).prop(\"checked\")){\r\n $(`${rootId} .pcAgree input[type=checkbox]:not('#oacx_total')`).prop(\"checked\",true);\r\n }else{\r\n $(`${rootId} .pcAgree input[type=checkbox]:not('#oacx_total')`).prop(\"checked\",false);\r\n }\r\n })\r\n //개별 동의 체크 항목\r\n $(`${rootId} #oacx_policy1, ${rootId} #oacx_policy2, ${rootId} #oacx_policy3, ${rootId} #oacx_policy4`).on('click',(e)=>{\r\n var isAllChk = false;\r\n var chkBxArr = $(`${rootId} .pcAgree input[type=checkbox]:not(#oacx_total)`);\r\n chkBxArr.each(function(i,elem){\r\n if($(elem).prop(\"checked\")){\r\n isAllChk = true;\r\n }else{\r\n isAllChk = false;\r\n return false;\r\n }\r\n })\r\n if(isAllChk){\r\n $(`${rootId} #oacx_total`).prop(\"checked\",true);\r\n }else{\r\n $(`${rootId} #oacx_total`).prop(\"checked\",false);\r\n }\r\n })\r\n\r\n //사용안내\r\n $(`${rootId} .info`).on('click',()=>{\r\n const path = Config.file.guide.path;\r\n window.open(path,'간편인증 사용방법 안내','location=no, directories=no,resizable=no,status=no,toolbar=no,menubar=no, width=1200,height=720, right=0, top=0');\r\n })\r\n\r\n //인증요청\r\n $(`${rootId} #step1Request`).on('click',()=>{\r\n viewEvent.formValidation_popup();\r\n })\r\n\r\n //취소\r\n $(`${rootId} .popup-close`).on('click',(e)=>{\r\n viewEvent.closePopup();\r\n UmdOption.callback.event.close();\r\n if(GlobalVar.closeEvt !== undefined){\r\n const closeEvt = GlobalVar.closeEvt\r\n closeEvt(e);\r\n }\r\n })\r\n }, \r\n formValidationCheck: ()=>{\r\n const name = common.trim($(`${rootId} [data-id='oacx_name']`).val());\r\n const num1 = common.trim($(`${rootId} [data-id='oacx_num1']`).val());\r\n const num2 = common.trim($(`${rootId} [data-id='oacx_num2']`).val());\r\n const birth = common.trim($(`${rootId} [data-id='oacx_birth']`).val());\r\n const providerId =$(`${rootId} #submitFm .serviceSelect .list li.selected input[name=provider]`).val();\r\n var phone = common.trim($(`${rootId} [data-id='oacx_phone2']`).val());\r\n var telcoTycd = null;\r\n\r\n if(providerId === undefined || providerId == \"\"){\r\n $(`${rootId} input`).blur();\r\n viewEvent.view_msg(\"안내\",\"\",\"인증서비스를 선택하여 주십시오.\", ()=>{\r\n $(`${rootId} input`).blur();\r\n // $(`${rootId} .main section`).scrollTop(0,0);\r\n webAccess.targetFocus(`${rootId} #oacx_providerList li:first-child a`)\r\n });\r\n return false;\r\n }\r\n if(!vaild.nameCheck(name)){\r\n return false;\r\n }\r\n\r\n if(Provider.isBirth){\r\n if(!vaild.birthCheck(birth)){\r\n return false;\r\n }\r\n }else{\r\n if(!vaild.ssCheck(num1,num2)){\r\n return false;\r\n }\r\n }\r\n\r\n if(device.isMobileUI()){\r\n if(providerChk.isPass(providerId)){\r\n phone = common.trim($(`${rootId} [data-id='oacx_phone3']`).val());\r\n var selected = $(`${rootId} [data-id='oacx_phone0'] option:not([disabled=disabled]):selected`).val();\r\n telcoTycd = selected === undefined ? null: selected;\r\n \r\n if(!vaild.telcoTycdCheck()){\r\n return false;\r\n }\r\n }\r\n }\r\n \r\n if(!vaild.phoneCheck(phone, providerId)){\r\n return false;\r\n }\r\n\r\n //PC, Tablet 환경에서만 작동\r\n if(!device.isMobileUI()){\r\n if(!vaild.checkBoxVaild()){\r\n return false;\r\n }\r\n }\r\n\r\n //개인정보 이용 동의 확인 여부\r\n Provider.userInfo.privacy = $(`${rootId} #m_policy1_btn`).length !=0 ? 1:0;\r\n //서비스 이용약관 동의 확인 여부\r\n Provider.userInfo.policy3 = $(`${rootId} #m_policy2_btn`).length !=0 ? 1:0;\r\n //제3자 정보제공약관 확인 여부\r\n Provider.userInfo.policy4 = $(`${rootId} #m_policy3_btn`).length !=0 ? 1:0;\r\n //고유식별정보처리 동의 확인 여부\r\n Provider.userInfo.terms = $(`${rootId} #m_policy4_btn`).length !=0 ? 1:0;\r\n \r\n const phoneNm = common.trim($(`${rootId} [data-id='oacx_phone1'] option:selected`).val());\r\n Provider.userInfo.name = name;\r\n Provider.userInfo.ssn1 = num1;\r\n Provider.userInfo.ssn2 = num2;\r\n Provider.userInfo.phone = phoneNm + phone;\r\n Provider.userInfo.birthday = Provider.isBirth ? birth : regex.convertBirthDay(num1,num2);\r\n Provider.userInfo.telcoTycd = telcoTycd;\r\n Provider.providerId = providerId;\r\n Provider.provider = providerId + Config.provider.separator + Config.provider.version;\r\n return true;\r\n },\r\n formValidation_popup: ()=> {\r\n mTransKey.close();\r\n \r\n if(!viewEvent.formValidationCheck()){\r\n return false;\r\n }\r\n if(device.isMobileUI()){\r\n //개인정보 동의\r\n mobile.nextView();\r\n }else{\r\n //인증요청\r\n viewAsyn.requestAuth();\r\n }\r\n },\r\n closePopup: ()=>{\r\n mTransKey.close();\r\n $(`${rootId}`).html(\"\");\r\n viewEvent.hideBackScreen();\r\n },\r\n hidePopup: ()=>{\r\n $(`${rootId} div.view`).removeClass(\"view\");\r\n },\r\n showBackScreen: ()=>{\r\n $(`${rootId}`).append(`
`);\r\n $(`${rootId}`).show();\r\n },\r\n hideBackScreen: ()=>{\r\n $(`${rootId} #bgScrn`).remove();\r\n },\r\n showStep1: ()=>{\r\n $(`${rootId} #oacxEmbededContents`).show();\r\n $(`${rootId} .main-content`).show();\r\n $(`${rootId} .standby`).hide();\r\n $(`${rootId} .csTxt`).removeClass(\"view\");\r\n },\r\n showStep2: ()=>{\r\n $(`${rootId} .main-content`).hide();\r\n $(`${rootId} .standby`).show();\r\n if(!$(`${rootId} .csTxt`).is(\".view\")){\r\n $(`${rootId} .csTxt`).addClass(\"view\");\r\n }\r\n },\r\n showStepBtn: ()=>{\r\n $(`${rootId} #step1Request`).removeAttr(\"disabled\");\r\n $(`${rootId} #step1Request`).removeClass(\"disabled\");\r\n $(`${rootId} #step2Success`).removeAttr(\"disabled\");\r\n $(`${rootId} #step2Success`).removeClass(\"disabled\");\r\n },\r\n hideStepBtn: ()=>{\r\n $(`${rootId} #step1Request`).attr(\"disabled\",\"disabled\");\r\n $(`${rootId} #step1Request`).addClass(\"disabled\");\r\n $(`${rootId} #step2Success`).attr(\"disabled\",\"disabled\");\r\n $(`${rootId} #step2Success`).addClass(\"disabled\");\r\n },\r\n showBirthSsn: ()=>{\r\n $(`${rootId} .oacx-birth`).show();\r\n $(`${rootId} .oacx-ssn`).show();\r\n },\r\n hideBirthSsn: ()=>{\r\n $(`${rootId} .oacx-birth`).hide();\r\n $(`${rootId} .oacx-ssn`).hide();\r\n },\r\n setUserinfo: (json)=>{\r\n const {name, birth, phone, ss1} = json;\r\n $(`#oacxEmbededContents input[data-id=\"oacx_name\"]`).val(name)\r\n $(`#oacxEmbededContents input[data-id=\"oacx_birth\"]`).val(birth)\r\n $(`#oacxEmbededContents input[data-id=\"oacx_phone2\"]`).val(phone)\r\n $(`#oacxEmbededContents input[data-id=\"oacx_num1\"]`).val(ss1)\r\n },\r\n /* setResizeDevice(){\r\n $(window).off('resize').on('resize',function (e) {\r\n alert(`전체 ${screen.width} | ${$(window).width()} | ${deviceWBKWitdh}`)\r\n if($(window).width() === deviceWBKWitdh){\r\n return\r\n }\r\n if(screen.width == $(window).width() && $(window).width() !== deviceWBKWitdh){\r\n deviceWBKWitdh = $(window).width()\r\n viewEvent.view_msg(\"안내\",\"\",\"화면 전환을 감지했습니다. 정상적인 간편인증을 위하여 화면 종료 후 다시 실행해 주시기 바랍니다.\",viewEvent.closePopup);\r\n return\r\n }else{\r\n deviceWBKWitdh = $(window).width()\r\n viewEvent.view_msg(\"안내\",\"\",\"화면 전환을 감지했습니다. 정상적인 간편인증을 위하여 화면 종료 후 다시 실행해 주시기 바랍니다.\",viewEvent.closePopup);\r\n return\r\n }\r\n });\r\n } */\r\n}","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \\r\\n \\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"token\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":10,\"column\":16},\"end\":{\"line\":10,\"column\":56}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"txId\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":11,\"column\":16},\"end\":{\"line\":11,\"column\":64}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"oacxStatus\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":12,\"column\":16},\"end\":{\"line\":12,\"column\":72}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"oacxCode\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":13,\"column\":16},\"end\":{\"line\":13,\"column\":70}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"resultCode\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":14,\"column\":16},\"end\":{\"line\":14,\"column\":67}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"cxId\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":15,\"column\":16},\"end\":{\"line\":15,\"column\":64}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"reqTxId\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":16,\"column\":16},\"end\":{\"line\":16,\"column\":67}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"clientMessage\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(14, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":17,\"column\":16},\"end\":{\"line\":17,\"column\":69}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"systemMessage\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(16, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":18,\"column\":16},\"end\":{\"line\":18,\"column\":69}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"signedData\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(18, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":19,\"column\":16},\"end\":{\"line\":19,\"column\":65}}})) != null ? stack1 : \"\")\n + \"\\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"provider\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(20, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":20,\"column\":16},\"end\":{\"line\":20,\"column\":68}}})) != null ? stack1 : \"\")\n + \"\\r\\n \\r\\n \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"token\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(22, data, 0),\"inverse\":container.program(24, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":23,\"column\":16},\"end\":{\"line\":37,\"column\":29}}})) != null ? stack1 : \"\")\n + \"\\r\\n \\r\\n \\r\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"토큰\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \"연계 트랜잭션 아이디\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"OACX 진행 상태 코드\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n return \"OACX 결과 상태 코드\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n return \"API 결과코드\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n return \"인증 트랜잭션 아이디\";\n},\"14\":function(container,depth0,helpers,partials,data) {\n return \"사용자 메시지\";\n},\"16\":function(container,depth0,helpers,partials,data) {\n return \"시스템 메시지\";\n},\"18\":function(container,depth0,helpers,partials,data) {\n return \"서명 데이터\";\n},\"20\":function(container,depth0,helpers,partials,data) {\n return \"인증기관 고유 아이디\";\n},\"22\":function(container,depth0,helpers,partials,data) {\n var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + container.escapeExpression(((helper = (helper = lookupProperty(helpers,\"value\") || (depth0 != null ? lookupProperty(depth0,\"value\") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"value\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":24,\"column\":62},\"end\":{\"line\":24,\"column\":71}}}) : helper)))\n + \"\\r\\n\";\n},\"24\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"signedData\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(25, data, 0),\"inverse\":container.program(30, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":26,\"column\":20},\"end\":{\"line\":36,\"column\":33}}})) != null ? stack1 : \"\");\n},\"25\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \"\";\n\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isEntSimpleAuth\") || (depth0 != null ? lookupProperty(depth0,\"isEntSimpleAuth\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isEntSimpleAuth\",\"hash\":{},\"fn\":container.program(26, data, 0),\"inverse\":container.program(28, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":27,\"column\":24},\"end\":{\"line\":33,\"column\":44}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isEntSimpleAuth\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer;\n},\"26\":function(container,depth0,helpers,partials,data) {\n var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + container.escapeExpression(((helper = (helper = lookupProperty(helpers,\"value\") || (depth0 != null ? lookupProperty(depth0,\"value\") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"value\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":29,\"column\":55},\"end\":{\"line\":29,\"column\":64}}}) : helper)))\n + \"\\r\\n\";\n},\"28\":function(container,depth0,helpers,partials,data) {\n var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + container.escapeExpression(((helper = (helper = lookupProperty(helpers,\"value\") || (depth0 != null ? lookupProperty(depth0,\"value\") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"value\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":32,\"column\":79},\"end\":{\"line\":32,\"column\":88}}}) : helper)))\n + \"\\r\\n\";\n},\"30\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + alias4(((helper = (helper = lookupProperty(helpers,\"value\") || (depth0 != null ? lookupProperty(depth0,\"value\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"value\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":35,\"column\":48},\"end\":{\"line\":35,\"column\":57}}}) : helper)))\n + \"\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"\n + ((stack1 = lookupProperty(helpers,\"each\").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"list\") : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":7,\"column\":8},\"end\":{\"line\":41,\"column\":17}}})) != null ? stack1 : \"\")\n + \" \\r\\n
\";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \" 서명요청\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" 인증요청\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"\\r\\n\";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"이름\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"홍길동\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"생년월일 여덟자리\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n return \"19900101\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing, alias5=\"function\", alias6=container.hooks.blockHelperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"ismTranskey\") || (depth0 != null ? lookupProperty(depth0,\"ismTranskey\") : depth0)) != null ? helper : alias4),(options={\"name\":\"ismTranskey\",\"hash\":{},\"fn\":container.program(19, data, 0),\"inverse\":container.program(21, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":26,\"column\":16},\"end\":{\"line\":30,\"column\":32}}}),(typeof helper === alias5 ? helper.call(alias3,options) : helper));\n if (!lookupProperty(helpers,\"ismTranskey\")) { stack1 = alias6.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"
  • \\r\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"주민번호 앞자리\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n return \"900101\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n return \"뒷자리\";\n},\"17\":function(container,depth0,helpers,partials,data) {\n return \"1234567\";\n},\"19\":function(container,depth0,helpers,partials,data) {\n return \" \\r\\n\";\n},\"21\":function(container,depth0,helpers,partials,data) {\n return \" \\r\\n\";\n},\"23\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, alias4=\"function\", lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \" \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n \\r\\n\";\n},\"24\":function(container,depth0,helpers,partials,data) {\n return \"휴대폰번호 7자리이상\";\n},\"26\":function(container,depth0,helpers,partials,data) {\n return \"12345678\";\n},\"28\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"c\") : depth0)) != null ? lookupProperty(stack1,\"template\") : stack1)) != null ? lookupProperty(stack1,\"pcTitle\") : stack1), depth0))\n + \" \";\n},\"30\":function(container,depth0,helpers,partials,data) {\n return \" 서비스 이용에 대한 동의 \";\n},\"32\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
  • \\r\\n \\r\\n 보기\\r\\n
  • \\r\\n\";\n},\"34\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
  • \\r\\n \\r\\n 보기\\r\\n
  • \\r\\n\";\n},\"36\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
  • \\r\\n \\r\\n 보기\\r\\n
  • \\r\\n\";\n},\"38\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
  • \\r\\n \\r\\n 보기\\r\\n
  • \\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing, alias5=\"function\", alias6=container.hooks.blockHelperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
    \\r\\n
    \\r\\n
    \\r\\n 서명원문보기\\r\\n
    \\r\\n
    \\r\\n\";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = lookupProperty(helpers,\"if\").call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"file\") : depth0)) != null ? lookupProperty(stack1,\"guid\") : stack1)) != null ? lookupProperty(stack1,\"use\") : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.program(4, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":8,\"column\":8},\"end\":{\"line\":15,\"column\":15}}})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \" \\r\\n \\\"\\\"\\r\\n 사용방법 매뉴얼 안내\\r\\n \\r\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"

    서비스 선택

    \\r\\n\\r\\n\\r\\n\\r\\n

    \\r\\n\";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":7,\"column\":4},\"end\":{\"line\":16,\"column\":17}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"

    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \" 간편인증\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"id\") : depth0),\"sign\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":10,\"column\":8},\"end\":{\"line\":10,\"column\":48}}})) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \"전자서명\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
    \\r\\n \\r\\n
    \\r\\n

    \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"id\") : depth0),\"auth\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":7,\"column\":4},\"end\":{\"line\":11,\"column\":17}}})) != null ? stack1 : \"\")\n + \"

    \\r\\n
    \\r\\n \\\"\"\n\\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \t \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n \t\\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
  • \\r\\n

    \"\n + alias2(alias1(((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy1\") : stack1)) != null ? lookupProperty(stack1,\"title\") : stack1), depth0))\n + \"

    \\r\\n 보기\\r\\n
  • \\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
  • \\r\\n

    \"\n + alias2(alias1(((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy2\") : stack1)) != null ? lookupProperty(stack1,\"title\") : stack1), depth0))\n + \"

    \\r\\n 보기\\r\\n
  • \\r\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
  • \\r\\n

    \"\n + alias2(alias1(((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy3\") : stack1)) != null ? lookupProperty(stack1,\"title\") : stack1), depth0))\n + \"

    \\r\\n 보기\\r\\n
  • \\r\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
  • \\r\\n

    \"\n + alias2(alias1(((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy4\") : stack1)) != null ? lookupProperty(stack1,\"title\") : stack1), depth0))\n + \"

    \\r\\n 보기\\r\\n
  • \\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
    \\r\\n
    \\r\\n

    \"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"moTitle\") : stack1), depth0))\n + \"

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy1\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":11,\"column\":8},\"end\":{\"line\":16,\"column\":21}}})) != null ? stack1 : \"\")\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy2\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":17,\"column\":8},\"end\":{\"line\":22,\"column\":21}}})) != null ? stack1 : \"\")\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy3\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":23,\"column\":8},\"end\":{\"line\":28,\"column\":21}}})) != null ? stack1 : \"\")\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy4\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":29,\"column\":8},\"end\":{\"line\":34,\"column\":21}}})) != null ? stack1 : \"\")\n + \"
    \\r\\n \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"\\\"라온시큐어로고\\\"\";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
    선택된 서비스
    \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
    \\r\\n
    \\r\\n
    \\r\\n

    \"\n + alias4(((helper = (helper = lookupProperty(helpers,\"title\") || (depth0 != null ? lookupProperty(depth0,\"title\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"title\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":4,\"column\":92},\"end\":{\"line\":4,\"column\":101}}}) : helper)))\n + \"

    \\r\\n

    \"\n + alias4(((helper = (helper = lookupProperty(helpers,\"data\") || (depth0 != null ? lookupProperty(depth0,\"data\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"data\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":109},\"end\":{\"line\":5,\"column\":117}}}) : helper)))\n + \"

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n
    \\r\\n

    \\r\\n

    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n
    \\r\\n

    네이버 인증 안내

    \\r\\n \\\"step1\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n
    \\r\\n

    다른 서비스는 없나요?

    \\r\\n

    해당 서비스는 행정안전부에서 추진중인「공공분야 전자서명 확대 도입을 위한 시범사업」으로 보안성 검증 등을 받은 인증서비스만 제공하고 있습니다. 향 후 '전자서명인증업무 운영기준 준수사실 인정제도' 등을 통해 선정된 전자서명을 지속적으로 추가해나갈 예정입니다.

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
    \\r\\n
    \\r\\n 전자서명 원문\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n
    \\r\\n

    \\r\\n

    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"hide\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.program(4, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":2,\"column\":4},\"end\":{\"line\":16,\"column\":17}}})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"\\r\\n
  • \\r\\n \\r\\n
    \\r\\n \\\"\"\n\\r\\n
    \\r\\n

    \"\n + ((stack1 = ((helper = (helper = lookupProperty(helpers,\"providerLabel\") || (depth0 != null ? lookupProperty(depth0,\"providerLabel\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"providerLabel\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":11,\"column\":108},\"end\":{\"line\":11,\"column\":127}}}) : helper))) != null ? stack1 : \"\")\n + \"

    \\r\\n \\r\\n
    \\r\\n

    \"\n + ((stack1 = ((helper = (helper = lookupProperty(helpers,\"providerLabel\") || (depth0 != null ? lookupProperty(depth0,\"providerLabel\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"providerLabel\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":14,\"column\":57},\"end\":{\"line\":14,\"column\":76}}}) : helper))) != null ? stack1 : \"\")\n + \"

    \\r\\n
  • \\r\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" class=\\\"\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"disabled\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":19},\"end\":{\"line\":5,\"column\":141}}})) != null ? stack1 : \"\")\n + \"\\\"\\r\\n \";\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"disabled\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(2, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":71},\"end\":{\"line\":5,\"column\":128}}})) != null ? stack1 : \"\");\n},\"10\":function(container,depth0,helpers,partials,data) {\n return \" mt-2 \";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = lookupProperty(helpers,\"each\").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"list\") : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":1,\"column\":0},\"end\":{\"line\":17,\"column\":9}}})) != null ? stack1 : \"\");\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \" \\r\\n \\\"\\\"사용방법
    \\r\\n 매뉴얼 안내\\r\\n
    \\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
    \\r\\n \\\"\"\n\\r\\n
    \\r\\n
    \\r\\n\"\n + ((stack1 = lookupProperty(helpers,\"if\").call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"file\") : depth0)) != null ? lookupProperty(stack1,\"guid\") : stack1)) != null ? lookupProperty(stack1,\"use\") : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":4},\"end\":{\"line\":12,\"column\":11}}})) != null ? stack1 : \"\")\n + \"
    \\r\\n
    \\\"RAON\\\"
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"

    인증요청

    \\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"

    서명요청

    \\r\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \"

    휴대폰으로 인증요청이 전송되었습니다.
    앱으로 이동하여 인증을 마친 후 아래 '인증완료' 버튼을 클릭하세요.

    \\r\\n

    휴대폰으로 인증요청이 전송되었습니다.
    앱으로 이동하여 인증을 마친 후
    아래 ‘인증완료’ 버튼을 터치하세요.

    \\r\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n return \"

    휴대폰으로 서명요청이 전송되었습니다.
    앱으로 이동하여 전자서명을 마친 후 아래 '서명완료' 버튼을 클릭하세요.

    \\r\\n

    휴대폰으로 서명요청이 전송되었습니다.
    앱으로 이동하여 전자서명을 마친 후
    아래 서명완료’ 버튼을 터치하세요.

    \\r\\n\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n return \"간편인증\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"전자서명\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n return \"

    간편인증 완료 후 하단
    '인증완료'버튼 클릭

    \\r\\n\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n return \"

    전자서명 완료 후 하단
    '서명완료'버튼 클릭

    \\r\\n\";\n},\"17\":function(container,depth0,helpers,partials,data) {\n return \"https://m.help.naver.com/support/alias/sign/mainmo.naver\";\n},\"19\":function(container,depth0,helpers,partials,data) {\n return \"https://help.naver.com/support/alias/sign/main.naver\";\n},\"21\":function(container,depth0,helpers,partials,data) {\n return \"https://m.help.naver.com/support/alias/sign/m.sign_9.naver\";\n},\"23\":function(container,depth0,helpers,partials,data) {\n return \"https://help.naver.com/support/alias/sign/sign_7.naver\";\n},\"25\":function(container,depth0,helpers,partials,data) {\n return \"https://m.shinhan.com/rib/mnew/index.jsp#220011420000\";\n},\"27\":function(container,depth0,helpers,partials,data) {\n return \"https://www.shinhan.com/hpe/index.jsp#050000000000\";\n},\"29\":function(container,depth0,helpers,partials,data) {\n return \" 서명 완료\\r\\n\";\n},\"31\":function(container,depth0,helpers,partials,data) {\n return \" 인증 완료\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.hooks.blockHelperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
    \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,\"c\") : depth0)) != null ? lookupProperty(stack1,\"id\") : stack1),\"auth\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":2,\"column\":4},\"end\":{\"line\":6,\"column\":17}}})) != null ? stack1 : \"\")\n + \"

    카카오톡 인증서

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,\"c\") : depth0)) != null ? lookupProperty(stack1,\"id\") : stack1),\"auth\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.program(7, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":21,\"column\":4},\"end\":{\"line\":27,\"column\":17}}})) != null ? stack1 : \"\")\n + \"\\r\\n

    \\r\\n 삼성패스 앱이 정상적으로 동작하지 않으면 최신으로 업데이트 바랍니다.\\r\\n

    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n

    STEP 01

    \\r\\n

    휴대폰 앱에서
    요청 메시지 확인

    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n
    \\r\\n
    \\\"\\\"
    \\r\\n
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n

    STEP 02

    \\r\\n

    휴대폰에서 \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,\"c\") : depth0)) != null ? lookupProperty(stack1,\"id\") : stack1),\"auth\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.program(11, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":51,\"column\":21},\"end\":{\"line\":51,\"column\":75}}})) != null ? stack1 : \"\")\n + \" 진행
    (비밀번호 입력 등)

    \\r\\n
    \\r\\n
    \\\"\\\"
    \\r\\n
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n

    STEP 03

    \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,\"c\") : depth0)) != null ? lookupProperty(stack1,\"id\") : stack1),\"auth\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.program(15, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":59,\"column\":12},\"end\":{\"line\":63,\"column\":25}}})) != null ? stack1 : \"\")\n + \"
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    인증요청(알림)이 휴대폰으로 오지 않았다면 아래 순서로 확인해 주세요.

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      [PASS 앱 실행 > 홈 화면 또는 인증서 메뉴] 에서 인증 요청 내용을 확인할 수 있습니다.

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      PASS 앱 설치 확인 및 알림 수신동의 되어 있는지 확인해 주세요.

      \\r\\n
    • \\r\\n
    • \\r\\n

      3

      \\r\\n

      문제가 계속된다면, [PASS인증서 고객센터 : 1800-4273] 로 연락해 주세요.

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n

    ※스마트폰에 PUSH알림이 오지 않을 경우 조치방법

    \\r\\n

    →KB스타뱅킹 앱 [알림함(종모양 아이콘)>인증내역]에서 인증요청내역 조회 및 인증 가능(유효시간내)

    \\r\\n

    ※KB스타뱅킹 알림설정방법(KB국민은행 고객센터 1588-9999)

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      휴대폰 설정에서 KB스타뱅킹 알림 '허용'으로 등록해주세요

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      KB스타뱅킹 앱 [인증/보안 > KB모바일인증서 > 알림설정]에서 알림(Push) 동의해주세요

      \\r\\n

      동의임에도 오지 않는다면, 알림동의 OFF 후 재동의 해주세요

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n

    스마트폰에 PUSH 알림이 오지 않을 경우 조치방법

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      삼성패스의 알림을 설정해주세요. [단말 설정 > 애플리케이션 > Samsung Pass > 알림 > 일반 알림 설정]

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      삼성패스에서 전자서명 인증서를 삭제하고 사용자의 전화 번호를 사용해서 전자서명 인증서를 재발급해 보세요.

      \\r\\n
    • \\r\\n
    • \\r\\n

      3

      \\r\\n

      문제가 계속된다면, [고객센터 1577-8787] 로 연락해 주세요.

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n

    문제 발생 시 조치방법

    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n

    문제 발생 시 조치방법

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      카카오페이 인증서에 문제가 있는 경우, 고객센터 도움말에서 해결 방법을 찾아보세요

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      문제가 지속되면, 고객센터 문의채널을 통해 문의해 주세요

      \\r\\n
    • \\r\\n
    • \\r\\n

      - 고객센터 : 1644-7405 (운영시간 : 평일 오전 9:00 ~ 오후 6:00)

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n

    푸시(인증요청)가 휴대폰으로 오지 않았다면 아래 순서로 확인해 주세요.

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      [페이코 앱 설치] 가 휴대폰에 되어 있는지 확인해 주세요.

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      [페이코 앱 > 더보기 > PAYCO 인증서] 에서 인증 요청 내용을 확인할 수 있습니다.

      \\r\\n
    • \\r\\n
    • \\r\\n

      3

      \\r\\n

      문제가 계속된다면, [페이코 고객센터 : 1544-6891] 로 연락해 주세요.

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n

    휴대폰에 인증요청 알림이 오지 않으면

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      네이버 앱 설치 및 로그인 여부를 확인해 주세요.

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      네이버 홈의 🔔 종 아이콘 > '네이버 인증서'가 보낸 메시지를 누르세요. 자세히 >

      \\r\\n
    • \\r\\n
    • \\r\\n

      3

      \\r\\n

      문제가 계속되면, \\r\\n 도움말\\r\\n /\\r\\n 이메일 문의\\r\\n / \\r\\n 상담 스마트봇 / 고객센터: 1588-3820을 통해 문의해 주세요.\\r\\n

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    문제 발생 시 조치방법

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      휴대폰에 토스앱 설치가 되어 있는지 확인해 주세요.

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      토스앱 > 우측 하단 ‘전체’ > 내 정보 > 토스인증서에서 인증 요청 내용을 확인하실 수 있습니다.

      \\r\\n
    • \\r\\n
    • \\r\\n

      3

      \\r\\n

      문제가 계속된다면, 토스 고객센터: 1599-4905로 문의바랍니다.

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    푸시(인증요청)가 휴대폰으로 오지 않았다면 아래 순서로 확인해 주세요.

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      [신한쏠(SOL)앱 설치] 가 휴대폰에 되어 있는지 확인해 주세요.

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      [신한쏠(SOL)앱 > 인증센터 > 신한인증서] 에서 인증 요청 내용을 확인할 수 있습니다.

      \\r\\n
    • \\r\\n
    • \\r\\n

      3

      \\r\\n

      문제가 계속된다면, [신한은행 고객센터 1577-8000] 로 연락해 주세요.

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    문제 발생 시 조치방법

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      뱅크샐러드 앱 설치 및 가입 여부를 확인해 주세요.

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      뱅크샐러드 앱 상단의 [🔔 종 아이콘]> [뱅크샐러드 인증서]가 보낸 메시지를 누르세요.

      \\r\\n
    • \\r\\n
    • \\r\\n

      3

      \\r\\n

      문의 : 이메일 (hello@banksalad.com) 또는 사고신고센터 (1661-9793)

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n

    ▶ 스마트폰에 인증요청 알림이 오지 않을 경우에는

    \\r\\n
      \\r\\n
    • \\r\\n

      1.

      하나은행 앱(하나원큐)을 설치하고 PUSH 알림을 확인하세요

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      하나원큐 앱의 ‘홈 > 메뉴 > 보안/인증 > 하나Onesign > 인증이력 조회'에서 알림을 누르세요

      \\r\\n
    • \\r\\n
    \\r\\n

    ※ 하나원큐 PUSH 알림설정방법

    \\r\\n
      \\r\\n
    • \\r\\n

      1

      \\r\\n

      휴대폰 설정에서 알림 > 하나은행 알림 '허용'으로 등록해 주세요

      \\r\\n
    • \\r\\n
    • \\r\\n

      2

      \\r\\n

      문제가 계속 된다면 [하나은행 고객센터 1588-1111]로 문의해 주세요

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \";\n},\"useData\":true});","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import Config from '../../common/model/Config';\r\nimport logo_pass from '../../common/resource/img/logo_pass.png';\r\nimport logo_payco from '../../common/resource/img/logo_payco.png';\r\nimport logo_kakao from '../../common/resource/img/logo_kakao.png';\r\nimport logo_kakaopay from '../../common/resource/img/logo_kakaopay.png';\r\nimport logo_kb from '../../common/resource/img/logo_kb.png';\r\nimport logo_samsung from '../../common/resource/img/logo_samsung.png';\r\nimport logo_naver from '../../common/resource/img/logo_naver.png';\r\nimport logo_toss from '../../common/resource/img/logo_toss.png';\r\nimport logo_shinhan from '../../common/resource/img/logo_shinhan.png';\r\nimport logo_banksalad from '../../common/resource/img/logo_banksalad.png';\r\nimport logo_hana from '../../common/resource/img/logo_hana.png';\r\nimport logo_sample from '../../common/resource/img/logo_sample.png';\r\nimport { providerChk } from '../../common/utils/provider.id.check';\r\nimport { device } from '../../common/utils/deviceCheck';\r\nimport { viewEvent } from '../controller/viewEventCtrl';\r\n\r\nArray.prototype.shuffle_random = function () {\r\n var length = this.length;\r\n while (length) {\r\n var index = Math.floor((length--) * Math.random());\r\n var temp = this[length];\r\n this[length] = this[index];\r\n this[index] = temp;\r\n }\r\n return this;\r\n};\r\nArray.prototype.shuffle_order = function () {\r\n const dbProviders = this;\r\n const orderList = Config.provider.order.list;\r\n orderList.forEach((configProvider,i)=>{\r\n if(configProvider.order === undefined){\r\n viewEvent.view_msg(\"안내\",\"\",`Percent 설정값이 부족합니다.(list.order)`);\r\n return;\r\n }\r\n });\r\n //값 생성\r\n orderList.forEach((configProvider,i)=>{\r\n dbProviders.forEach((dbProvider)=>{\r\n if(configProvider.providerId == dbProvider.providerId){\r\n dbProvider[\"order\"] = configProvider.order;\r\n }\r\n })\r\n })\r\n //정렬 및 순서셋팅이없는 인증기관은 DB순서대로\r\n dbProviders.sort(function(a,b) { \r\n return a.order < b.order || b.order === undefined ? -1 : a.order < b.order ? 1 : 0;\r\n });\r\n\r\n return dbProviders;\r\n};\r\nArray.prototype.shuffle_percent = function () {\r\n var totalChance=0, pOrder = 0;\r\n const dbProviders = this;\r\n var isBreak = false;\r\n\r\n function isValidation(){\r\n if(totalChance > 100){\r\n viewEvent.view_msg(\"안내\",\"\",`Percent 설정값이 초과하였습니다.(${totalChance-100})`);\r\n isBreak = true;\r\n }else if(totalChance < 100){\r\n viewEvent.view_msg(\"안내\",\"\",`Percent 설정값이 부족합니다.(${100-totalChance})`);\r\n isBreak = true;\r\n }\r\n }\r\n \r\n //설정값 셋팅\r\n const orderList = Config.provider.order.list;\r\n orderList.sort(function(a,b) { \r\n return a.percent > b.percent ? -1 : a.percent < b.percent ? 1 : 0;\r\n });\r\n orderList.forEach((configProvider,i)=>{\r\n totalChance += Number(configProvider.percent);\r\n if(i == 0){\r\n configProvider[\"sNum\"]=0\r\n configProvider[\"eNum\"]=Number(configProvider.percent)\r\n }else if(i == orderList.length-1){\r\n configProvider[\"sNum\"]=Number(orderList[i-1].eNum)\r\n configProvider[\"eNum\"]=100\r\n }else{\r\n configProvider[\"sNum\"]=Number(orderList[i-1].eNum)\r\n configProvider[\"eNum\"]=Number(orderList[i-1].eNum)+Number(configProvider.percent)\r\n }\r\n })\r\n while(pOrder < orderList.length){\r\n isValidation();\r\n if(isBreak){\r\n break;\r\n }\r\n const rand = Math.floor(Math.random() * 100);\r\n orderList.forEach((configProvider,i)=>{\r\n if(configProvider.providerId === undefined){\r\n viewEvent.view_msg(\"안내\",\"\",`Percent 설정값이 부족합니다.(list.providerId)`);\r\n isBreak = true;\r\n return;\r\n }\r\n if(configProvider.percent === undefined){\r\n viewEvent.view_msg(\"안내\",\"\",`Percent 설정값이 부족합니다.(list.percent)`);\r\n isBreak = true;\r\n return;\r\n }\r\n if(rand >= configProvider.sNum && rand < configProvider.eNum && configProvider.pOrder === undefined ){\r\n configProvider[\"pOrder\"]= ++pOrder;\r\n configProvider[\"rand\"]=rand;\r\n }\r\n });\r\n }\r\n //값 생성\r\n orderList.forEach((configProvider,i)=>{\r\n dbProviders.forEach((dbProvider)=>{\r\n if(configProvider.providerId == dbProvider.providerId){\r\n dbProvider[\"order\"] = configProvider.pOrder;\r\n }\r\n })\r\n })\r\n //정렬 및 순서셋팅이없는 인증기관은 DB순서대로\r\n dbProviders.sort(function(a,b) { \r\n return a.order < b.order || b.order === undefined ? -1 : a.order < b.order ? 1 : 0;\r\n });\r\n return dbProviders;\r\n};\r\n\r\nexport const process = {\r\n providerService: (res) => {\r\n var resultArr = [];\r\n var providerArr = [];\r\n const mode = Config.provider.mode.id; //dev, prod\r\n const typeId = Config.provider.type.id; //gov, ent\r\n\r\n //공공,민간,개발,운영 중 해당하는 List로 정련\r\n res.forEach((d,i)=>{\r\n if(device.checkMobileType() == \"IOS\" && providerChk.isSamsung(d.provider_id)){\r\n return;\r\n }\r\n if(d.provider_type != typeId || d.oper_sort != mode){ \r\n return;\r\n }\r\n providerArr.push(d);\r\n });\r\n\r\n //Use Provider\r\n providerArr.forEach((d,i)=>{\r\n //Config.auth.json의 unUseIdList 옵션 체크\r\n if(!unUseProviderCheck(d.provider_id)){\r\n return;\r\n }\r\n //d.status_code N과 상관없이 다 표시 / unuseStyle에 따라 화면에서 숨김\r\n var provider = process.createData(d);\r\n resultArr.push(provider);\r\n });\r\n \r\n var res = \"\";\r\n const order = Config.provider.order\r\n if(order == undefined){\r\n return resultArr.shuffle_random(); \r\n } \r\n if(order.mode == undefined){\r\n viewEvent.view_msg(\"안내\",\"\",\"provider.order.mode key값이 존재하지 않습니다.\");\r\n return res;\r\n }\r\n if(order.list == undefined){\r\n viewEvent.view_msg(\"안내\",\"\",\"provider.order.list key값이 존재하지 않습니다.\");\r\n return res;\r\n }\r\n\r\n if(order.mode == \"percent\"){\r\n res = resultArr.shuffle_percent();\r\n }else if(order.mode == \"order\"){\r\n res = resultArr.shuffle_order();\r\n }else if(order.mode == \"random\"){\r\n res = resultArr.shuffle_random();\r\n }else{\r\n viewEvent.view_msg(\"안내\",\"\",\"mode(random, order, percent) 설정이 잘못되었습니다.\");\r\n }\r\n return res;\r\n },\r\n createData: (d) => {\r\n const providerJson = {\r\n providerLabel: \"\",\r\n providerId: \"\",\r\n providerName: \"\",\r\n providerLogo: \"\",\r\n unuse_style: d.unuse_style,\r\n status_code: d.status_code.trim()\r\n }\r\n \r\n if(providerChk.isPass(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"통신사패스\";\r\n providerJson.providerLabel='통신사패스
    (SKT, KT, LGU+)';\r\n providerJson.providerLogo = logo_pass;\r\n }else if(providerChk.isKakao(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"카카오톡\"\r\n providerJson.providerLabel='카카오톡'\r\n providerJson.providerLogo = logo_kakao;\r\n }else if(providerChk.isKakaoPay(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"카카오페이\"\r\n providerJson.providerLabel='카카오페이'\r\n providerJson.providerLogo = logo_kakaopay;\r\n }else if(providerChk.isPayco( d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"페이코\"\r\n providerJson.providerLabel='페이코'\r\n providerJson.providerLogo = logo_payco;\r\n }else if(providerChk.isSamsung(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"삼성패스\"\r\n providerJson.providerLabel='삼성패스'\r\n providerJson.providerLogo = logo_samsung;\r\n }else if(providerChk.isKb(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"KB모바일\"\r\n providerJson.providerLabel='KB모바일
    인증서'\r\n providerJson.providerLogo = logo_kb;\r\n }else if(providerChk.isToss(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"토스\"\r\n providerJson.providerLabel='토스'\r\n providerJson.providerLogo = logo_toss;\r\n }else if(providerChk.isNaver(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"네이버\"\r\n providerJson.providerLabel='네이버'\r\n providerJson.providerLogo = logo_naver;\r\n }else if(providerChk.isShinhan(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"신한\"\r\n providerJson.providerLabel='신한인증서'\r\n providerJson.providerLogo = logo_shinhan;\r\n }else if(providerChk.isBanksalad(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"뱅크샐러드\"\r\n providerJson.providerLabel='뱅크샐러드'\r\n providerJson.providerLogo = logo_banksalad;\r\n }else if(providerChk.isHana(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"하나\"\r\n providerJson.providerLabel='하나인증서'\r\n providerJson.providerLogo = logo_hana;\r\n }else{\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = d.name;\r\n providerJson.providerLabel= d.name;\r\n providerJson.providerLogo = logo_sample;\r\n }\r\n return providerJson;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Config의 Provider Un Use 항목 체크\r\n * 제외 항목이 있을 시 false를 반환\r\n */\r\nfunction unUseProviderCheck(providerId){\r\n const unUseProviderIdList = Config.provider.unUseIdList;\r\n if(unUseProviderIdList.length == 0){\r\n return true;\r\n }\r\n if(unUseProviderIdList.indexOf(providerId) != -1 ){\r\n return false;\r\n }\r\n return true;\r\n}","import * as Handlebars from 'handlebars/runtime';\r\nimport Config from '../../common/model/Config';\r\nimport Provider from '../../common/model/Provider';\r\nimport { device } from '../../common/utils/deviceCheck';\r\nimport { providerChk } from '../../common/utils/provider.id.check';\r\n\r\nfunction fnSelected(){\r\n Handlebars.registerHelper('selected', function(c1, c2) {\r\n return c1 == c2 ? \"selected\" :\"\";\r\n });\r\n}\r\n\r\nfunction fnChecked(){\r\n Handlebars.registerHelper('cntChecked', function(c1) {\r\n return c1 == \"0\" ? \"checked\" :\"\";\r\n });\r\n}\r\n\r\nfunction fnSumParam3(){\r\n Handlebars.registerHelper('sumParam3', function(c1, c2, c3) {\r\n return c1+c2+c3;\r\n });\r\n}\r\n\r\nfunction fnEquals(){\r\n Handlebars.registerHelper('ifEquals', function(arg1, arg2, options) {\r\n if(arg1 !== undefined){\r\n arg1 = arg1.trim();\r\n }\r\n if(arg2 !== undefined){\r\n arg2 = arg2.trim();\r\n }\r\n return (arg1 == arg2) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\n\r\nfunction fnIsPass(){\r\n Handlebars.registerHelper('isPass', function(providerId, options) {\r\n if(providerId !== undefined){\r\n providerId = providerId.trim();\r\n } \r\n return providerChk.isPass(providerId) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnIsNaver(){\r\n Handlebars.registerHelper('isNaver', function(providerId, options) {\r\n if(providerId !== undefined){\r\n providerId = providerId.trim();\r\n } \r\n return providerChk.isNaver(providerId) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnIsKb(){\r\n Handlebars.registerHelper('isKb', function(providerId, options) {\r\n if(providerId !== undefined){\r\n providerId = providerId.trim();\r\n } \r\n return providerChk.isKb(providerId) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnInputPassTypeByBrower(){\r\n Handlebars.registerHelper('inputPassTypeByBrower', function(options) {\r\n var inputYype = \"type='number'\";\r\n if(!device.isMobileUI()){\r\n return \"type='password'\"\r\n }\r\n return inputYype;\r\n });\r\n}\r\nfunction fnInputNumberByBrower(){\r\n Handlebars.registerHelper('inputNumberByBrower', function(options) {\r\n var inputYype = \"type='number'\";\r\n if(!device.isMobileUI()){\r\n return \"type='text'\"\r\n }\r\n return inputYype;\r\n });\r\n}\r\n\r\nfunction fnIsMobile(){\r\n Handlebars.registerHelper('isMobile', function(options) {\r\n return (device.isMobileUI()) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnIsmTranskey(){\r\n Handlebars.registerHelper('ismTranskey', function(options) {\r\n return (Config.mTranskey.use) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnIsEntSimpleAuth(){\r\n Handlebars.registerHelper('isEntSimpleAuth', function(options) {\r\n return Provider.contentInfo.signType === \"ENT_SIMPLE_AUTH\" ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnMath(){\r\n Handlebars.registerHelper(\"math\", function(lvalue, operator, rvalue, options) {\r\n lvalue = parseFloat(lvalue);\r\n rvalue = parseFloat(rvalue);\r\n var result = {\r\n \"+\": lvalue + rvalue\r\n }[operator]\r\n return result;\r\n });\r\n}\r\n\r\nfunction fnIfHidden(){\r\n Handlebars.registerHelper('ifHidden', function(arg1, options) {\r\n return (!arg1) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnIfNotUndefindedEmpty(){\r\n Handlebars.registerHelper('ifNotUndefindedEmpty', function(arg1, options) {\r\n if(arg1 == \"\"){\r\n return options.fn(this)\r\n }\r\n if(arg1 === undefined){\r\n return options.inverse(this);\r\n }\r\n return options.fn(this)\r\n });\r\n}\r\nfunction fnProviderAltNm(){\r\n Handlebars.registerHelper('providerAltNm', function(arg1, options) {\r\n var result = \"\";\r\n if(providerChk.isKakao(arg1)){\r\n result = \"TALK- 카카오톡\"\r\n }else if(providerChk.isKakaoPay(arg1)){\r\n result = \"카카오페이\"\r\n }else if(providerChk.isKb(arg1)){\r\n result = \"KB 국민은행\"\r\n }else if( providerChk.isNaver(arg1)){\r\n result = \"NAVER\"\r\n }else if( providerChk.isPass(arg1)){\r\n result = \"PASS 휴대전화 인증\"\r\n }else if( providerChk.isPayco(arg1)){\r\n result = \"PAYCO\"\r\n }else if( providerChk.isSamsung(arg1)){\r\n result = \"SAMSUNG PASS\"\r\n }else if( providerChk.isToss(arg1)){\r\n result = \"토스\"\r\n }else{\r\n result = \"\"\r\n }\r\n return result \r\n });\r\n}\r\n\r\nexport const helper = {\r\n init : function(){\r\n fnChecked();\r\n fnSelected();\r\n fnEquals();\r\n fnSumParam3();\r\n fnInputPassTypeByBrower();\r\n fnInputNumberByBrower();\r\n fnIsMobile();\r\n fnMath();\r\n fnIsPass();\r\n fnIsKb();\r\n fnIfHidden();\r\n fnIfNotUndefindedEmpty();\r\n fnIsmTranskey();\r\n fnIsEntSimpleAuth();\r\n fnIsNaver();\r\n fnProviderAltNm();\r\n }\r\n}","import {ajax} from '../../common/controller/ajaxCtrl';\r\nimport Provider from '../../common/model/Provider';\r\n\r\nfunction isNotEmpty(value){\r\n if(value === undefined){\r\n value = \"\";\r\n }else if(value == null){\r\n value = \"\";\r\n }\r\n return value;\r\n}\r\n\r\nexport function appendHistory(target, res){\r\n const json = JSON.parse(res);\r\n const keys = Object.keys(json);\r\n var jsonArr = []\r\n for(var i=0; i\"+html+\"\"\r\n $(`#oacx-demo-main #${target}`).html(row);\r\n\r\n $(`#oacx-demo-main #${target} a[data-id=token]`).on('click',function(e){\r\n var token = $(e.currentTarget).text();\r\n ajax.parseToken(token).then(res =>{\r\n var json = {\r\n title: \"토큰 확인\",\r\n data: JSON.stringify(res)\r\n }\r\n template(json);\r\n },res=>{})\r\n })\r\n\r\n $(\"#oacx-demo-main a[data-id=signedData]\").on('click',function(e){\r\n var txId = Provider.txId;\r\n var signTarget = Provider.contentInfo.signTarget\r\n var signedData = $(\"#oacx-demo-main #auth2Log a[data-id=signedData]\").text();\r\n var json = {\r\n txId: isNotEmpty(txId),\r\n signTarget: isNotEmpty(signTarget),\r\n signedData: isNotEmpty(signedData)\r\n };\r\n var params = `txId=${json.txId}&signTarget=${json.signTarget}&signedData=${json.signedData}`\r\n ajax.parseSignData(params).then(res =>{\r\n var json = {\r\n title: \"서명 데이터 확인\",\r\n data: JSON.stringify(res).replace(/\\\\n/g,'').replace(/\\\\r/g,'')\r\n }\r\n template(json);\r\n },res=>{})\r\n })\r\n\r\n}\r\n\r\nfunction template(json){\r\n var tmpl = require('../html/popup.demo.confirm.hbs');\r\n var html = tmpl(json);\r\n $(\"#oacx-demo-main #confirmPopup\").remove();\r\n $(\"#oacx-demo-main\").prepend(html);\r\n $(\"#confirmPopup_confirm\").on('click', function(e){\r\n $(\"#oacx-demo-main #confirmPopup\").remove();\r\n })\r\n}\r\n\r\nconst oacx_demo = {\r\n init: ()=>{\r\n oacx_demo.selectBtn();\r\n },\r\n selectBtn: ()=>{\r\n $(\".demo-header li a\").on('click',function(e){\r\n $(\".demo-header li a\").removeClass(\"demo-select\");\r\n $(e.currentTarget).addClass(\"demo-select\");\r\n \r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n $(\".demo-cst-content\").hide();\r\n $(\"div[data-content=\"+id+\"]\").show();\r\n })\r\n\r\n $(\".log-header li a\").on('click',function(e){\r\n $(\".log-header li a\").removeClass(\"log-select\");\r\n $(e.currentTarget).addClass(\"log-select\");\r\n \r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n $(\".log-tab\").hide();\r\n $(\"div[data-logcontent=\"+id+\"]\").show();\r\n })\r\n\r\n }\r\n}\r\n\r\n\r\n//--------\r\noacx_demo.init();\r\n//--------\r\n","import Provider from '../../common/model/Provider'\r\nimport Config from '../../common/model/Config'\r\nimport GlobalVar from '../../common/model/GlobalVar'\r\nimport { webAccess } from '../../common/controller/webAccessibilityCtrl'\r\nimport { common } from '../../common/controller/validationCtrl'\r\nimport { device } from '../../common/utils/deviceCheck'\r\nimport { providerChk } from '../../common/utils/provider.id.check'\r\nimport {viewAsyn} from './viewAsynProcessing'\r\nimport {vaild} from './validationCtrl'\r\nimport {viewEvent} from './viewEventCtrl'\r\nimport UmdOption from '../../common/model/UmdOption'\r\n\r\nvar rootId = \"\";\r\nvar pcMobileId = \"\";\r\nexport const mobile = {\r\n init: ()=>{\r\n rootId = Config.appendElementTagId;\r\n pcMobileId = GlobalVar.pcMobileId;\r\n //Keyboard Events\r\n mobile.keyboard_events();\r\n mobile.telcoTycd_select_events();\r\n mobile.form_events();\r\n },\r\n serviceSelect: ()=>{\r\n\r\n //개인정보이용동의(필수)\r\n $(`${rootId} #m_policy1_btn`).on('click',()=>{\r\n $(`${rootId} ${pcMobileId} #view_policy1`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} #view_policy1 .policy .cont`);\r\n })\r\n //서비스이용약관동의(필수)\r\n $(`${rootId} #m_policy2_btn`).on('click',()=>{\r\n $(`${rootId} ${pcMobileId} #view_policy2`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} #view_policy2 .policy .cont`);\r\n })\r\n //제3자 정보제공동의(필수)\r\n $(`${rootId} #m_policy3_btn`).on('click',()=>{\r\n $(`${rootId} ${pcMobileId} #view_policy3`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} #view_policy3 .policy .cont`);\r\n })\r\n //고유식별정보처리동의(필수)\r\n $(`${rootId} #m_policy4_btn`).on('click',()=>{\r\n $(`${rootId} ${pcMobileId} #view_policy4`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} #view_policy4 .policy .cont`);\r\n })\r\n \r\n //서비스 선택\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li input[type=radio]`).on('focusout',(e)=>{\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li .logoBg`).removeClass(\"label-focus\");\r\n })\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li input[type=radio]`).on('focusin',(e)=>{\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li .logoBg`).removeClass(\"label-focus\");\r\n $(e.currentTarget).closest(\"li\").find(\".logoBg\").addClass(\"label-focus\");\r\n })\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li`).on('click',(e)=>{\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li`).removeClass('selected');\r\n $(e.currentTarget).addClass('selected');\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li`).removeAttr(\"title\");\r\n $(e.currentTarget).find(\"a\").attr(\"title\",\"선택됨\")\r\n\r\n Provider.providerId = $(e.currentTarget).find(\"input\").val();\r\n var provider_txt = $(e.currentTarget).find(\"input\").attr(\"title\");\r\n $(`${rootId} .selectedService dd`).text(provider_txt);\r\n $(`${rootId} .selectedService`).show();\r\n \r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n viewEvent.hideBirthSsn();\r\n }else{\r\n viewEvent.showBirthSsn();\r\n }\r\n\r\n if(providerChk.isPass(Provider.providerId)){\r\n $(`${rootId} ${pcMobileId} .telecom`).show();\r\n $(`${rootId} ${pcMobileId} .none-telecom`).hide();\r\n if(device.isMobileUI()){\r\n if($(`${rootId} .mobileView [data-id='oacx_phone3']`).val() == \"\"){\r\n var pv = $(`${rootId} .mobileView [data-id='oacx_phone3']`).val();\r\n $(`${rootId} .mobileView [data-id='oacx_phone3']`).val(pv);\r\n }\r\n }\r\n }else{\r\n $(`${rootId} .telecom`).hide();\r\n $(`${rootId} .none-telecom`).show();\r\n if(device.isMobileUI()){\r\n if($(`${rootId} .mobileView [data-id='oacx_phone2']`).val() == \"\"){\r\n var pv = $(`${rootId} .mobileView [data-id='oacx_phone2']`).val();\r\n $(`${rootId} .mobileView [data-id='oacx_phone2']`).val(pv);\r\n }\r\n }\r\n }\r\n\r\n if(device.isMobileUI()){\r\n $(`${rootId} #msg_kica`).hide();\r\n //인증완료 대기화면 인증기관 메시지\r\n if(providerChk.isSamsung(Provider.providerId)){\r\n $(`${rootId} #msg_kica`).show();\r\n }\r\n }\r\n\r\n //입력 Form Check\r\n if(mobile.isAllFormValue()){\r\n //개인정보 동의\r\n mobile.nextView();\r\n }\r\n })\r\n },\r\n nextView: ()=>{\r\n setTimeout(()=>{\r\n $(`${rootId} input`).blur();\r\n $(`${rootId} .mAgreeBg`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} .mAgree`)\r\n }, 100);\r\n },\r\n isAllFormValue: ()=>{\r\n const name = common.trim($(`${rootId} ${pcMobileId} [data-id='oacx_name']`).val());\r\n const num1 = common.trim($(`${rootId} ${pcMobileId} [data-id='oacx_num1']`).val());\r\n const num2 = common.trim($(`${rootId} ${pcMobileId} [data-id='oacx_num2']`).val());\r\n const birth = common.trim($(`${rootId} ${pcMobileId} [data-id='oacx_birth']`).val());\r\n const providerId =$(`${rootId} ${pcMobileId} li.selected input[name=provider]`).val();\r\n var phone = \"\";\r\n\r\n if(Provider.isBirth){\r\n if(name == \"\" || birth == \"\"){\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_name']`)\r\n return false;\r\n }\r\n }else{\r\n if(name == \"\" || num1 == \"\" || num2 == \"\"){\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_name']`)\r\n return false;\r\n }\r\n }\r\n \r\n if(providerChk.isPass(providerId)){\r\n phone = common.trim($(`${rootId} ${pcMobileId} [data-id='oacx_phone3']`).val());\r\n if(phone == \"\"){\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_name']`)\r\n return false;\r\n }\r\n const telcoTycd = $(`${rootId} ${pcMobileId} [data-id='oacx_phone0'] option:not([value=select]):selected`).val();\r\n if(telcoTycd == \"\" || telcoTycd == null || telcoTycd === undefined){\r\n viewEvent.view_msg(\"안내\",\"\",\"통신사를 선택해주세요.\", ()=>{\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone0']`);\r\n });\r\n return false;\r\n }\r\n }else{\r\n phone = common.trim($(`${rootId} ${pcMobileId} [data-id='oacx_phone2']`).val());\r\n if(phone == \"\"){\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_name']`)\r\n return false;\r\n }\r\n }\r\n return true;\r\n }, \r\n telcoTycd_select_events: ()=>{\r\n $(`${rootId} ${pcMobileId} [data-id='oacx_phone0'], ${rootId} ${pcMobileId} [data-id='oacx_phone1']`).on('change', function() {\r\n\r\n //입력 Form Check\r\n if(mobile.isAllFormValue()){\r\n //개인정보 동의\r\n mobile.nextView();\r\n }else{\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone2']`);\r\n }\r\n });\r\n },\r\n keyboard_events: ()=>{\r\n rootId = Config.appendElementTagId;\r\n pcMobileId = GlobalVar.pcMobileId;\r\n $(`${rootId} ${pcMobileId} [data-id='oacx_phone2'], ${rootId} ${pcMobileId} [data-id='oacx_phone3'], \r\n ${rootId} ${pcMobileId} [data-id='oacx_name'], ${rootId} ${pcMobileId} [data-id='oacx_birth'], \r\n ${rootId} ${pcMobileId} [data-id='oacx_num1'], ${rootId} ${pcMobileId} [data-id='oacx_num2']`).on(\"keyup\", (e)=>{\r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n var value = $(e.currentTarget).val().trim();\r\n if(e.which !== 13 && e.which !== 9 && e.which !== 16 && e.which !== 8){\r\n mobile.keyboard_events_allkey(id,value);\r\n }\r\n })\r\n $(`${rootId} ${pcMobileId} [data-id='oacx_phone2'], ${rootId} ${pcMobileId} [data-id='oacx_phone3'], \r\n ${rootId} ${pcMobileId} [data-id='oacx_name'], ${rootId} ${pcMobileId} [data-id='oacx_birth'], \r\n ${rootId} ${pcMobileId} [data-id='oacx_num1'], ${rootId} ${pcMobileId} [data-id='oacx_num2']`).on(\"keydown\", (e)=>{\r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n var value = $(e.currentTarget).val().trim();\r\n if(e.which === 13){\r\n mobile.keyboard_events_enter(id,value);\r\n }\r\n })\r\n },\r\n keyboard_events_enter: (id, value)=>{\r\n switch (id) {\r\n case \"oacx_name\":\r\n if(!vaild.nameCheck(value)){\r\n return false;\r\n }\r\n if(Provider.isBirth){\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_birth']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_num1']`);\r\n }\r\n break;\r\n case \"oacx_birth\":\r\n if(!vaild.birthCheck(value)){\r\n return false;\r\n }\r\n \r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone0']`)\r\n }else{\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone2']`);\r\n }\r\n break;\r\n case \"oacx_num1\":\r\n if(!vaild.ss1NumCheck(value)){\r\n return false;\r\n }\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_num2']`);\r\n break;\r\n case \"oacx_num2\":\r\n if(!vaild.ss2NumCheck(value)){\r\n return false;\r\n }\r\n \r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone0']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone2']`);\r\n }\r\n break;\r\n case \"oacx_phone2\":\r\n if(!vaild.phoneCheck(value)){\r\n return false;\r\n }\r\n viewEvent.formValidation_popup()\r\n break;\r\n case \"oacx_phone3\":\r\n if(!vaild.phoneCheck(value)){\r\n return false;\r\n }\r\n viewEvent.formValidation_popup()\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n keyboard_events_allkey: (id, value)=>{\r\n switch (id) {\r\n case \"oacx_birth\":\r\n if(value.length >= 8){\r\n $(`${rootId} ${pcMobileId} [data-id=${id}]`).val(value.slice(0,8));\r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone0']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone2']`);\r\n }\r\n }\r\n break;\r\n case 'oacx_num1':\r\n if(value.length >= 6){\r\n $(`${rootId} ${pcMobileId} [data-id='${id}']`).val(value.slice(0,6));\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_num2']`);\r\n }\r\n break;\r\n case 'oacx_num2':\r\n if(value.length >= 7){\r\n $(`${rootId} ${pcMobileId} [data-id='${id}']`).val(value.slice(0,7));\r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone0']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_phone2']`);\r\n }\r\n }\r\n break;\r\n case 'oacx_phone2':\r\n if(value.length >= 8){\r\n $(`${rootId} ${pcMobileId} [data-id='${id}']`).val(value.slice(0,8));\r\n viewEvent.formValidation_popup()\r\n }\r\n break;\r\n case 'oacx_phone3':\r\n if(value.length >= 8){\r\n $(`${rootId} ${pcMobileId} [data-id='${id}']`).val(value.slice(0,8));\r\n viewEvent.formValidation_popup()\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n form_events: ()=>{\r\n $(`${rootId} ${pcMobileId} [data-id='oacx_phone0'], ${rootId} ${pcMobileId} [data-id='oacx_phone2'], ${rootId} ${pcMobileId} [data-id='oacx_phone3'], \r\n ${rootId} ${pcMobileId} [data-id='oacx_name'], ${rootId} ${pcMobileId} [data-id='oacx_birth'], ${rootId} ${pcMobileId} [data-id='oacx_num1'], ${rootId} ${pcMobileId} [data-id='oacx_num2']`).on('focusin', (e)=>{\r\n const providerId =$(`${rootId} ${pcMobileId} .oacx_providerList li.selected input[name=provider]`).val();\r\n if(providerId === undefined || providerId == \"\"){\r\n /* alert(`\r\n ✔ Device Code: ${Provider.deviceInfo.code}\r\n ✔ UI Class: ${pcMobileId}\r\n ✔ Select Provider Id: ${providerId}\r\n `) */\r\n $(`${rootId} ${pcMobileId} input`).blur();\r\n viewEvent.view_msg(\"안내\",\"\",\"인증서비스를 선택하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} .oacx_providerList li:lt(1) a`);\r\n $(`${rootId} .main section`).scrollTop(0,0);\r\n });\r\n return false;\r\n }\r\n\r\n var id = $(e.currentTarget).attr(\"data-id\");\r\n $(`${rootId} .selectedService`).show();\r\n if(id != \"oacx_name\"){\r\n $(`${rootId} .main section`).scrollTop(document.body.scrollHeight);\r\n }\r\n })\r\n \r\n //약관동의 닫기\r\n $(`${rootId} .mAgreeBg .close`).on('click', ()=>{\r\n $(`${rootId} .mAgreeBg`).removeClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #mAgreeCstBtn`)\r\n })\r\n\r\n //약관 동의 다음 단계\r\n $(`${rootId} #mAgreeBtn`).on('click', (e)=>{\r\n mobile.hide_agree_button();\r\n if(viewEvent.formValidationCheck()){\r\n if(UmdOption.callback.event.request() === false){ \r\n return false; \r\n }\r\n viewAsyn.requestAuth();\r\n } \r\n })\r\n \r\n //약관 동의 창 팝업\r\n $(`${rootId} #mAgreeCstBtn`).on('click', ()=>{\r\n mobile.show_agree_button();\r\n if(viewEvent.formValidationCheck()){\r\n //개인정보 동의\r\n mobile.nextView();\r\n } \r\n })\r\n }, \r\n show_agree_button: ()=>{\r\n $(`${rootId} #mAgreeBtn`).removeClass(\"disabled\").removeAttr(\"disabled\");\r\n },\r\n hide_agree_button: ()=>{\r\n $(`${rootId} #mAgreeBtn`).addClass(\"disabled\").prop(\"disabled\",true);\r\n }\r\n}","import Config from '../../common/model/Config'\r\nimport { webAccess } from '../../common/controller/webAccessibilityCtrl';\r\nimport { textFileGet } from \"../../common/utils/ajax\";\r\nimport { device } from '../../common/utils/deviceCheck';\r\nimport {helper} from '../utils/handlebars.custom.helper';\r\n\r\nvar rootId = \"\";\r\nexport const template = {\r\n main_template: ()=>{\r\n rootId = Config.appendElementTagId;\r\n helper.init()\r\n var tmpl = require('../html/mainTemplate.hbs');\r\n var html = tmpl();\r\n $(`${rootId}`).html(html);\r\n },\r\n header : (json)=>{\r\n var tmpl = require('../html/header.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents header`).html(html);\r\n },\r\n form_inputinfo : (json)=>{\r\n var tmpl = require('../html/form.inputinfo.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .pcView form`).html(html);\r\n },\r\n agree : (json)=>{\r\n var tmpl = require('../html/agree.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .pcView form dl.agree`).html(html);\r\n const li = $(\"#oacxEmbededContents .agree li\");\r\n $(li).length == 1 ? $(li).css(\"width\",\"100%\") : false;\r\n },\r\n mobile_select_service : ()=>{\r\n var tmpl = require('../html/mobile.select.service.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents .mobileView`).html(html);\r\n },\r\n mobile_select_service_toolbar: ()=>{\r\n var tmpl = require('../html/mobile.serviceSelectToolbar.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents .selectedService`).html(html);\r\n },\r\n mobile_popup_agree : (json)=>{\r\n var tmpl = require('../html/mobile.popup.agree.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .mobileView .mAgreeBg`).html(html);\r\n },\r\n mobile_providerInfo : (json)=>{\r\n var tmpl = require('../html/mobile.providerInfo.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .mobileView .oacx_providerList`).html(html);\r\n },\r\n mobile_form_inputInfo: (json)=>{\r\n var tmpl = require('../html/mobile.form.inputinfo.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents .mobileView form`).html(html);\r\n },\r\n popup_other_service : ()=>{\r\n var tmpl = require('../html/popup.other.service.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #view_otherSrv`).html(html);\r\n },\r\n popup_policy1 : (path)=>{\r\n textFileGet(path).then(res=>{\r\n $(`${rootId} #oacxEmbededContents #view_policy1`).html(res);\r\n $(`${rootId} #view_policy1 button`).on('click',(e)=>{\r\n $(`${rootId} .viewPop.view`).removeClass(\"view\");\r\n if(device.isMobileUI()){\r\n webAccess.targetFocus(`${rootId} #m_policy1_btn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #policy1_btn`);\r\n }\r\n })\r\n },res=>{});\r\n },\r\n popup_policy2 : (path)=>{\r\n textFileGet(path).then(res=>{\r\n $(`${rootId} #oacxEmbededContents #view_policy2`).html(res);\r\n $(`${rootId} #view_policy2 button`).on('click',(e)=>{\r\n $(`${rootId} .viewPop.view`).removeClass(\"view\");\r\n if(device.isMobileUI()){\r\n webAccess.targetFocus(`${rootId} #m_policy2_btn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #policy2_btn`);\r\n }\r\n })\r\n },res=>{});\r\n },\r\n popup_policy3 : (path)=>{\r\n textFileGet(path).then(res=>{\r\n $(`${rootId} #oacxEmbededContents #view_policy3`).html(res);\r\n $(`${rootId} #view_policy3 button`).on('click',(e)=>{\r\n $(`${rootId} .viewPop.view`).removeClass(\"view\");\r\n if(device.isMobileUI()){\r\n webAccess.targetFocus(`${rootId} #m_policy3_btn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #policy3_btn`);\r\n }\r\n })\r\n },res=>{});\r\n },\r\n popup_policy4 : (path)=>{\r\n textFileGet(path).then(res=>{\r\n $(`${rootId} #oacxEmbededContents #view_policy4`).html(res);\r\n $(`${rootId} #view_policy4 button`).on('click',(e)=>{\r\n $(`${rootId} .viewPop.view`).removeClass(\"view\");\r\n if(device.isMobileUI()){\r\n webAccess.targetFocus(`${rootId} #m_policy4_btn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #policy4_btn`);\r\n }\r\n })\r\n },res=>{});\r\n },\r\n popup_valid_warring : (json)=>{\r\n var tmpl = require('../html/popup.valid.warring.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} #oacxEmbededContents #view_err`).html(html);\r\n },\r\n standby : ()=>{\r\n var tmpl = require('../html/standby.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents .standby`).html(html);\r\n\r\n $(\"#oacxEmbededContents #naverStandbyStep\").on('click',(e)=>{\r\n $(`${rootId} #view_standby`).addClass(\"view\");\r\n webAccess.targetFocus(`#oacxEmbededContents #view_standby .alert`);\r\n })\r\n },\r\n popup_naver_standby_step : ()=>{\r\n var tmpl = require('../html/popup.naver.standby.step.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #view_standby`).html(html);\r\n $(`${rootId} #oacxEmbededContents #view_standby button`).on('click',(e)=>{\r\n webAccess.targetFocus(`#oacxEmbededContents #naverStandbyStep`)\r\n })\r\n },\r\n popup_incomplaete : ()=>{\r\n var tmpl = require('../html/popup.incomplete.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #auth_incomplete_alertArea`).html(html);\r\n },\r\n popup_unknown : ()=>{\r\n var tmpl = require('../html/popup.unknown.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #user_unknown_alertArea`).html(html);\r\n },\r\n popup_failure_service : ()=>{\r\n var tmpl = require('../html/popup.failure.service.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #auth_failure_alertArea`).html(html);\r\n },\r\n popup_inactive_service : ()=>{\r\n var tmpl = require('../html/popup.inactive.service.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #inactive_service_provider_alertArea`).html(html);\r\n },\r\n popup_failure_system : ()=>{\r\n var tmpl = require('../html/popup.failure.system.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #system_failure_alertArea`).html(html);\r\n },\r\n popup_failure_client : ()=>{\r\n var tmpl = require('../html/popup.failure.client.hbs');\r\n var html = tmpl();\r\n $(`${rootId} #oacxEmbededContents #client_failure_alertArea`).html(html);\r\n },\r\n providerInfo: (json)=>{\r\n var tmpl = require('../html/providerInfo.hbs');\r\n var html = tmpl(json);\r\n $(`${rootId} .pcView .oacx_providerList`).html(html)\r\n } \r\n}\r\n","import Provider from \"../../common/model/Provider\";\r\nimport Config from \"../../common/model/Config\";\r\nimport { regex } from \"../../common/utils/regex\";\r\nimport { providerChk } from \"../../common/utils/provider.id.check\";\r\nimport { webAccess } from \"../../common/controller/webAccessibilityCtrl\";\r\nimport { viewEvent } from \"./viewEventCtrl\";\r\n\r\n\r\nvar rootId = \"\";\r\nexport const vaild = {\r\n init: ()=>{\r\n rootId = Config.appendElementTagId;\r\n },\r\n nameCheck: (name)=>{\r\n if(name == \"\" ){\r\n viewEvent.view_msg(\"안내\",\"\",\"이름을 입력하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_name']`);\r\n viewEvent.hidePopup();\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isKorEng(name)){\r\n viewEvent.view_msg(\"안내\",\"\",\"이름은 한글, 영어만 입력 가능합니다.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_name']`);\r\n viewEvent.hidePopup();\r\n $(`${rootId} [data-id='oacx_name']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n birthCheck: (birth)=>{\r\n // 본인인증(Nice) CompareCI False 그리고 삼성패스일 때 생년월일, 주민등록번호 제외\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n return true;\r\n }\r\n\r\n if(birth==\"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"생년월일을 입력하여 주십시오.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_birth']`);\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isNum(birth)){\r\n viewEvent.view_msg(\"안내\",\"\",\"생년월일은 숫자만 입력 가능합니다.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_birth']`);\r\n $(`${rootId} [data-id='oacx_birth']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n if(!regex.isBirth(birth)){\r\n viewEvent.view_msg(\"안내\",\"\",\"생년월일을 다시 입력하여 주십시오.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_birth']`);\r\n $(`${rootId} [data-id='oacx_birth']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n ss1NumCheck: (num1)=>{\r\n // 본인인증(Nice) CompareCI False 그리고 삼성패스일 때 생년월일, 주민등록번호 제외\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n return true;\r\n }\r\n \r\n if(num1==\"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 입력하여 주십시오.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isNum(num1)){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호는 숫자만 입력 가능합니다.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n $(`${rootId} [data-id='oacx_num1']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n ss2NumCheck: (num2)=>{\r\n // 본인인증(Nice) CompareCI False 그리고 삼성패스일 때 생년월일, 주민등록번호 제외\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n return true;\r\n }\r\n\r\n if(num2==\"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 입력하여 주십시오.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num2']`);\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isNum(num2)){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호는 숫자만 입력 가능합니다.\",()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num2']`);\r\n $(`${rootId} [data-id='oacx_num2']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n ssCheck: (num1, num2)=>{\r\n // 본인인증(Nice) CompareCI False 그리고 삼성패스일 때 생년월일, 주민등록번호 제외\r\n if(Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)){\r\n return true;\r\n }\r\n if(num1 == \"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 입력하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n });\r\n return false;\r\n }else if(num2 == \"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 입력하여 주십시오.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num2']`);\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isValidBirthday(regex.convertBirthDay(num1, num2))){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 다시 입력해주세요.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n $(`${rootId} [data-id='oacx_num1']`).val(\"\");\r\n $(`${rootId} [data-id='oacx_num2']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n if(!regex.isValidRnNum(num1, num2)){\r\n viewEvent.view_msg(\"안내\",\"\",\"주민등록번호를 다시 입력해주세요.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_num1']`);\r\n $(`${rootId} [data-id='oacx_num1']`).val(\"\");\r\n $(`${rootId} [data-id='oacx_num2']`).val(\"\");\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n telcoTycdCheck: ()=>{\r\n var telcoTycd = $(`${rootId} form select[data-id='oacx_phone0'] option:not([disabled=disabled]):selected`).val();\r\n if(telcoTycd === undefined || telcoTycd == \"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"통신사를 선택해주세요.\", ()=>{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone0']`);\r\n });\r\n return false;\r\n }\r\n return true;\r\n },\r\n phoneCheck: (phone, providerId)=>{\r\n if(phone == \"\"){\r\n viewEvent.view_msg(\"안내\",\"\",\"휴대폰번호를 입력하여 주십시오.\", ()=>{\r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone3']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n });\r\n return false;\r\n }else{\r\n if(!regex.isNum(phone)){\r\n viewEvent.view_msg(\"안내\",\"\",\"휴대폰번호는 숫자만 입력 가능합니다.\", ()=>{\r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone3']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n });\r\n return false;\r\n }\r\n if(phone.length < 7){\r\n viewEvent.view_msg(\"안내\",\"\",\"휴대폰번호를 다시 입력해주세요.\", ()=>{\r\n if(providerChk.isPass(Provider.providerId)){\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone3']`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} [data-id='oacx_phone2']`);\r\n }\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n },\r\n checkBoxVaild: ()=>{\r\n\r\n const policy1 =$(`${rootId} #oacx_policy1`).prop(\"checked\");\r\n const policy2 =$(`${rootId} #oacx_policy2`).prop(\"checked\");\r\n const policy3 =$(`${rootId} #oacx_policy3`).prop(\"checked\");\r\n const policy4 =$(`${rootId} #oacx_policy4`).prop(\"checked\");\r\n const agreeCommonMsg = '에 대한 필수항목 동의를 하여야 합니다.';\r\n if(!policy1 && policy1 !== undefined){\r\n const policy1Msg = !!Config.template.view_policy1.title ? `${Config.template.view_policy1.title}${agreeCommonMsg}`: \"\"\r\n viewEvent.view_msg(\"안내\",\"\", policy1Msg, ()=>{ $(`${rootId} #oacx_policy1`).focus() });\r\n return false\r\n }\r\n if(!policy2 && policy2 !== undefined){\r\n const policy2Msg = !!Config.template.view_policy2.title ? `${Config.template.view_policy2.title}${agreeCommonMsg}`: \"\"\r\n viewEvent.view_msg(\"안내\",\"\", policy2Msg, ()=>{ $(`${rootId} #oacx_policy2`).focus() });\r\n return false\r\n }\r\n if(!policy3 && policy3 !== undefined){\r\n const policy3Msg = !!Config.template.view_policy3.title ? `${Config.template.view_policy3.title}${agreeCommonMsg}`: \"\"\r\n viewEvent.view_msg(\"안내\",\"\", policy3Msg, ()=>{ $(`${rootId} #oacx_policy3`).focus() });\r\n return false\r\n }\r\n if(!policy4 && policy4 !== undefined){\r\n const policy4Msg = !!Config.template.view_policy4.title ? `${Config.template.view_policy4.title}${agreeCommonMsg}`: \"\"\r\n viewEvent.view_msg(\"안내\",\"\", policy4Msg, ()=>{ $(`${rootId} #oacx_policy4`).focus() });\r\n return false\r\n }\r\n\r\n //개인정보 이용 동의 확인 여부\r\n Provider.userInfo.privacy = policy1 ? 1:0;\r\n\r\n //서비스 이용약관 동의 확인 여부\r\n Provider.userInfo.policy3 = policy2 ? 1:0;\r\n\r\n //제3자 정보제공약관 확인 여부\r\n Provider.userInfo.policy4 = policy3 ? 1:0;\r\n\r\n //고유식별정보처리 동의 확인 여부\r\n Provider.userInfo.terms = policy4 ? 1:0;\r\n\r\n return true;\r\n },\r\n inputSizeCheck: ()=>{\r\n function getNumValue(e){\r\n var value = $(e.currentTarget).val(); \r\n if(!regex.isNum(value)){\r\n $(e.currentTarget).val(value.substr(0,value.length-1));\r\n }\r\n }\r\n function getMaxValue(e,size){\r\n var value = $(e.currentTarget).val(); \r\n if(value.length >= size){\r\n $(e.currentTarget).val(value.substr(0,value.length-1));\r\n }\r\n }\r\n $(`${rootId} [data-id='oacx_name']`).on(\"input keypress change\", (e)=>{\r\n getMaxValue(e,50);\r\n })\r\n $(`${rootId} [data-id='oacx_phone2']`).on(\"input keypress change\", (e)=>{\r\n getNumValue(e);\r\n getMaxValue(e,9);\r\n })\r\n $(`${rootId} [data-id='oacx_phone3']`).on(\"input keypress change\", (e)=>{\r\n getNumValue(e);\r\n getMaxValue(e,9);\r\n })\r\n $(`${rootId} [data-id='oacx_birth']`).on(\"input keypress change\", (e)=>{\r\n getNumValue(e);\r\n getMaxValue(e,9);\r\n })\r\n $(`${rootId} [data-id='oacx_num1']`).on(\"input keypress change\", (e)=>{\r\n getNumValue(e);\r\n getMaxValue(e,7);\r\n })\r\n $(`${rootId} [data-id='oacx_num2']`).on(\"input keypress change\", (e)=>{\r\n getNumValue(e);\r\n getMaxValue(e,8);\r\n })\r\n }\r\n}","import Config from '../../common/model/Config';\r\nimport GlobalVar from '../../common/model/GlobalVar';\r\nimport UmdOption from '../../common/model/UmdOption';\r\nimport Provider from '../../common/model/Provider';\r\nimport {ajax} from '../../common/controller/ajaxCtrl';\r\nimport { webAccess } from '../../common/controller/webAccessibilityCtrl';\r\nimport {mobileFn} from '../../common/utils/oacx.mobile.fn';\r\nimport { device } from '../../common/utils/deviceCheck';\r\nimport {process} from '../service/data.processing.srv';\r\nimport {viewEvent} from './viewEventCtrl';\r\nimport {template} from './templateCtrl';\r\nimport {appendHistory} from './demo';\r\nimport { mobile } from './mobileCtrl';\r\nimport { commonEvent } from '../../common/controller/commonEvent';\r\n\r\nfunction msg_view(res, fnEvent){\r\n var errMsg = \"서비스가 원활하지 않습니다. 잠시 후에 다시 시도해주십시오.\";\r\n if(typeof res == \"string\" && res.replace(/\\s/gi, \"\") != \"\"){\r\n const json = JSON.parse(res);\r\n if(json !== undefined){\r\n if(json.resultCode != 200 && json.resultCode != 0){\r\n errMsg = json.clientMessage !== undefined ? json.clientMessage : errMsg;\r\n }\r\n }\r\n }\r\n viewEvent.view_msg(\"안내\",\"\",errMsg, fnEvent);\r\n $(`${Config.appendElementTagId} #oacxEmbededContents`).show();\r\n}\r\n\r\nvar rootId = \"\";\r\nexport const viewAsyn = {\r\n getTokenProviderListPopup: ()=>{\r\n rootId = Config.appendElementTagId;\r\n ajax.getToken().then((res)=>{\r\n appendHistory(\"tokenLog\",res);\r\n ajax.getProviderList().then(sRes=>{\r\n if(sRes != null && sRes !== undefined & sRes != \"\" && sRes.length != 0){\r\n const providerList = process.providerService(sRes);\r\n\r\n template.mobile_providerInfo({list:providerList});\r\n template.providerInfo({list:providerList});\r\n\r\n viewEvent.showStep1();\r\n viewEvent.showBackScreen();\r\n commonEvent.init();\r\n \r\n //서비스 선택 이벤트\r\n device.isMobileUI() ? mobile.serviceSelect() : viewEvent.serviceSelect();\r\n \r\n webAccess.init();\r\n\r\n UmdOption.callback.loaded();\r\n \r\n if(GlobalVar.loadedModule !== undefined){\r\n const loadedModule = GlobalVar.loadedModule\r\n loadedModule($(\"#oacxEmbededContents\")[0]);\r\n }\r\n \r\n webAccess.activeAuthPopup();\r\n }\r\n },res=>{\r\n msg_view(res, viewEvent.closePopup);\r\n });\r\n },res=>{\r\n msg_view(res, viewEvent.closePopup);\r\n })\r\n },\r\n //인증요청\r\n requestAuth: ()=>{\r\n //Callback URI 등록\r\n //프로바이더 및 브라우저 정보 정리\r\n //버전이 낮을 경우 토큰발급 중지\r\n if(!mobileFn.setKakaoCallbackUrl()){\r\n return false;\r\n }\r\n viewEvent.hideStepBtn();\r\n ajax.requestAuth().then(res => {\r\n \r\n // 인증요청 성공 시 Function 초기화\r\n UmdOption.trigger.request = function(){ }\r\n\r\n // 앱호출 Push 방식 체크\r\n if(GlobalVar.appPush !== true){\r\n mobileFn.moveLinkByProvider();\r\n }\r\n\r\n $(`${rootId} .mAgreeBg`).removeClass(\"view\");\r\n $(`${rootId} #authSuccess`).removeAttr(\"disabled\");\r\n $(`${rootId} #authSuccess`).removeClass(\"disabled\");\r\n mobile.show_agree_button();\r\n\r\n viewEvent.view_wait_provider();\r\n viewEvent.showStepBtn();\r\n appendHistory(\"auth1Log\",res);\r\n }, res => {\r\n viewEvent.showStepBtn();\r\n msg_view(res, ()=>{\r\n if(device.isMobile()){\r\n webAccess.targetFocus(`${rootId} #mAgreeBtn`);\r\n }else{\r\n webAccess.targetFocus(`${rootId} #step1Request`);\r\n }\r\n UmdOption.callback.ajax.fail.authRequestAlertConfirm(res);\r\n });\r\n })\r\n },\r\n //인증완료\r\n finishAuth: (callback)=>{\r\n viewEvent.hideStepBtn();\r\n ajax.finishAuth().then(res => {\r\n callback(res);\r\n viewEvent.closePopup();\r\n appendHistory(\"auth2Log\",res);\r\n },res => {\r\n viewEvent.showStepBtn();\r\n msg_view(res, ()=>{\r\n webAccess.targetFocus(`${rootId} #step2Success`);\r\n UmdOption.callback.ajax.fail.authCompleteAlertConfirm(res);\r\n });\r\n })\r\n }\r\n}","import Provider from \"../../common/model/Provider\";\r\nimport Config from \"../../common/model/Config\";\r\nimport GlobalVar from \"../../common/model/GlobalVar\";\r\nimport UmdOption from \"../../common/model/UmdOption\";\r\n\r\nimport logo_pass from \"../../common/resource/img/logo_pass.png\";\r\nimport logo_payco from \"../../common/resource/img/logo_payco.png\";\r\nimport logo_kakao from \"../../common/resource/img/logo_kakao.png\";\r\nimport logo_kakaopay from \"../../common/resource/img/logo_kakaopay.png\";\r\nimport logo_kb from \"../../common/resource/img/logo_kb.png\";\r\nimport logo_samsung from \"../../common/resource/img/logo_samsung.png\";\r\nimport logo_naver from \"../../common/resource/img/logo_naver.png\";\r\nimport logo_toss from \"../../common/resource/img/logo_toss.png\";\r\nimport logo_shinhan from \"../../common/resource/img/logo_shinhan.png\";\r\nimport logo_banksalad from \"../../common/resource/img/logo_banksalad.png\";\r\nimport logo_hana from \"../../common/resource/img/logo_hana.png\";\r\nimport logo_sample from \"../../common/resource/img/logo_sample.png\";\r\nimport { webAccess } from \"../../common/controller/webAccessibilityCtrl\";\r\nimport { common } from \"../../common/controller/validationCtrl\";\r\nimport { regex } from \"../../common/utils/regex\";\r\nimport { providerChk } from \"../../common/utils/provider.id.check\";\r\nimport { mobile } from \"./mobileCtrl\";\r\nimport { vaild } from \"./validationCtrl\";\r\nimport { template } from \"./templateCtrl\";\r\nimport { viewAsyn } from \"./viewAsynProcessing\";\r\nimport { device } from \"../../common/utils/deviceCheck\";\r\n\r\nvar rootId = \"\";\r\nvar pcMobileId = \"\";\r\nexport const viewEvent = {\r\n init: () => {\r\n rootId = Config.appendElementTagId;\r\n pcMobileId = GlobalVar.pcMobileId;\r\n\r\n viewEvent.reqeustFormEvents();\r\n vaild.inputSizeCheck();\r\n\r\n /*$(\"#oacxEmbededContents header h1\").on('click',()=>{\r\n\t\t\tconst md = new MobileDetect(window.navigator.userAgent);\r\n\t\t\t// PC: md.mobile() = null, md.tablet() = null\r\n\t\t\t// MO: md.mobile() = iPhone, md.tablet() = null\r\n\t\t\t// TB: md.mobile() = iPad, md.tablet() = iPad\r\n\t\talert(`${window.navigator.userAgent} \r\n ✔mobile: ${md.mobile()} \r\n ✔phone: ${md.phone()}\r\n ✔tablet: ${md.tablet()}\r\n ✔userAgent: ${md.userAgent()}\r\n ✔os: ${md.os()}`)\r\n\t\t}) */\r\n\r\n },\r\n view_msg: (title, code, message, confirmEvent) => {\r\n var json = {\r\n title: title !== undefined ? title : \"\",\r\n message: message !== undefined ? message : \"\",\r\n };\r\n template.popup_valid_warring(json);\r\n // $(`${rootId} #view_err .tit`).text(title !== undefined ? title : \"\");\r\n // $(`${rootId} #view_err .errerContent`).html(message !== undefined ? message : \"\");\r\n $(`${rootId} #view_err`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #view_err .alert .a11y-hidden`);\r\n window.scrollTo(0, 0);\r\n\r\n // Confirm/close Button\r\n $(`${rootId} #view_err button`).off(\"click\").on(\"click\", () => {\r\n $(\"#view_err\").removeClass(\"view\");\r\n mobile.show_agree_button();\r\n if (confirmEvent !== undefined) {\r\n confirmEvent();\r\n }\r\n });\r\n },\r\n view_wait_provider: () => {\r\n const providerId = Provider.providerId;\r\n viewEvent.showStep2();\r\n $(`${rootId} .csTxt`).removeClass(\"view\");\r\n function render(title, logo) {\r\n $(`${rootId} .m_icon .logoBox img`).attr(\"src\", logo);\r\n $(`${rootId} .m_icon .logoBox img`).attr(\"alt\", title);\r\n $(`${rootId} #provider_icon_url`).attr(\"src\", logo);\r\n $(`${rootId} #provider_icon_url`).attr(\"alt\", title);\r\n $(`${rootId} .serviceName`).text(title);\r\n }\r\n if (providerChk.isPass(providerId)) {\r\n render(\"통신사\", logo_pass);\r\n $(`${rootId} #div_pass`).addClass(\"view\");\r\n } else if (providerChk.isKb(providerId)) {\r\n render(\"KB모바일\", logo_kb);\r\n $(`${rootId} #div_kb`).addClass(\"view\");\r\n } else if (providerChk.isSamsung(providerId)) {\r\n render(\"삼성패스\", logo_samsung);\r\n $(`${rootId} #div_kica`).addClass(\"view\");\r\n } else if (providerChk.isKakao(providerId)) {\r\n render(\"카카오톡\", logo_kakao);\r\n $(`${rootId} #div_kakao`).addClass(\"view\");\r\n } else if (providerChk.isKakaoPay(providerId)) {\r\n render(\"카카오페이\", logo_kakaopay);\r\n $(`${rootId} #div_kakaopay`).addClass(\"view\");\r\n } else if (providerChk.isPayco(providerId)) {\r\n render(\"페이코\", logo_payco);\r\n $(`${rootId} #div_payco`).addClass(\"view\");\r\n } else if (providerChk.isNaver(providerId)) {\r\n render(\"네이버\", logo_naver);\r\n $(`${rootId} #div_naver`).addClass(\"view\");\r\n } else if (providerChk.isToss(providerId)) {\r\n render(\"토스\", logo_toss);\r\n $(`${rootId} #div_toss`).addClass(\"view\");\r\n } else if (providerChk.isShinhan(providerId)) {\r\n render(\"신한인증서\", logo_shinhan);\r\n $(`${rootId} #div_shinhan`).addClass(\"view\");\r\n } else if (providerChk.isBanksalad(providerId)) {\r\n render(\"뱅크샐러드\", logo_banksalad);\r\n $(`${rootId} #div_banksalad`).addClass(\"view\");\r\n } else if (providerChk.isHana(providerId)) {\r\n render(\"하나인증서\", logo_hana);\r\n $(`${rootId} #div_hana`).addClass(\"view\");\r\n } else {\r\n render(providerId, logo_sample);\r\n }\r\n },\r\n serviceSelect: () => {\r\n //서비스 선택\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li`).on(\"click\", (e) => {\r\n // webAccess.targetFocus(`${rootId} ${pcMobileId} [data-id='oacx_name']`)\r\n\r\n Provider.providerId = $(e.currentTarget).find(\"input[name=provider]\").val();\r\n $(e.currentTarget).find(\"input[name=provider]\").prop(\"checked\", true);\r\n\r\n if ( Provider.compareCI == false && providerChk.isSamsung(Provider.providerId)) {\r\n viewEvent.hideBirthSsn();\r\n } else {\r\n viewEvent.showBirthSsn();\r\n }\r\n \r\n // 통신사 패스 선택에 따라 UI 화면 변경\r\n if (providerChk.isPass(Provider.providerId)) {\r\n $(`${rootId} ${pcMobileId} .telecom`).show();\r\n $(`${rootId} ${pcMobileId} .none-telecom`).hide();\r\n }else {\r\n $(`${rootId} .telecom`).hide();\r\n $(`${rootId} .none-telecom`).show();\r\n }\r\n\r\n });\r\n },\r\n successEventHandler: (callback) => {\r\n //인증완료\r\n $(`${rootId} #step2Success`).on(\"click\", () => {\r\n viewAsyn.finishAuth(callback);\r\n });\r\n },\r\n reqeustFormEvents: () => {\r\n //개인정보이용동의(필수)\r\n $(`${rootId} #policy1_btn`).on(\"click\", () => {\r\n $(`${rootId} ${pcMobileId} #view_policy1`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} #view_policy1 .policy .cont`);\r\n });\r\n //서비스이용약관동의(필수)\r\n $(`${rootId} #policy2_btn`).on(\"click\", () => {\r\n $(`${rootId} ${pcMobileId} #view_policy2`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} #view_policy2 .policy .cont`);\r\n });\r\n //제3자 정보제공동의(필수)\r\n $(`${rootId} #policy3_btn`).on(\"click\", () => {\r\n $(`${rootId} ${pcMobileId} #view_policy3`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} #view_policy3 .policy .cont`);\r\n });\r\n //고유식별정보처리동의(필수)\r\n $(`${rootId} #policy4_btn`).on(\"click\", () => {\r\n $(`${rootId} ${pcMobileId} #view_policy4`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} ${pcMobileId} #view_policy4 .policy .cont`);\r\n });\r\n\r\n //다른서비스는 없나요\r\n /* $(`${rootId} .otherSrv`).on('click',()=>{\r\n $(`${rootId} #view_otherSrv`).addClass(\"view\");\r\n webAccess.targetFocus(`${rootId} #view_otherSrv .alert.other`);\r\n }) */\r\n\r\n //통신사 선택\r\n $(`${rootId} [data-id='oacx_phone0']`).on(\"change\", (e) => {\r\n if (!$(e.currentTarget).is(\"option:not([disabled=disabled])\")) {\r\n $(e.currentTarget).css(\"color\", \"#4d4d4d\");\r\n $(e.currentTarget).css(\"color\", \"#4d4d4d\");\r\n } else {\r\n $(e.currentTarget).css(\"color\", \"rgba(55, 59, 64, 0.3)\");\r\n }\r\n });\r\n\r\n if (Config.id == \"sign\") {\r\n $(`${rootId} .signView`).show();\r\n //서명 전문보기\r\n $(`${rootId} #signOrigin`).on(\"click\", () => {\r\n $(`${rootId} #view_sign_origin .cont `).html(\r\n Provider.contentInfo.signTarget\r\n );\r\n $(`${rootId} #view_sign_origin`).addClass(\"view\");\r\n $(`${rootId} #view_sign_origin`).css(\"font-size\", \"13px\");\r\n });\r\n }\r\n\r\n //popup 닫기\r\n $(`${rootId} .btnArea button, ${rootId} button.close`).on(\"click\", (e) => {\r\n $(`${rootId} .alertArea`).removeClass(\"view\");\r\n });\r\n\r\n //서비스 시용에 대한 전체동의 이벤트\r\n $(`${rootId} #oacx_total`).on(\"click\", (e) => {\r\n if ($(e.currentTarget).val() == \"N\") {\r\n $(`${rootId} .pcAgree input[type=checkbox]`).prop(\"checked\", true);\r\n $(e.currentTarget).val(\"Y\");\r\n } else {\r\n $(`${rootId} .pcAgree input[type=checkbox]`).prop(\"checked\", false);\r\n $(e.currentTarget).val(\"N\");\r\n }\r\n });\r\n //개별 동의 체크 항목\r\n $(`${rootId} #oacx_policy1, ${rootId} #oacx_policy2, ${rootId} #oacx_policy3, ${rootId} #oacx_policy4`).on(\"click\", (e) => {\r\n var isAllChk = false;\r\n var chkBxArr = $(`${rootId} .pcAgree input[type=checkbox]`);\r\n chkBxArr.each(function (i, elem) {\r\n if ($(elem).prop(\"checked\")) {\r\n isAllChk = true;\r\n } else {\r\n isAllChk = false;\r\n return false;\r\n }\r\n });\r\n if (isAllChk) {\r\n $(`${rootId} #oacx_total`).prop(\"checked\", true);\r\n $(`${rootId} #oacx_total`).val(\"Y\");\r\n } else {\r\n $(`${rootId} #oacx_total`).prop(\"checked\", false);\r\n $(`${rootId} #oacx_total`).val(\"N\");\r\n }\r\n });\r\n\r\n //사용안내\r\n $(`${rootId} .guide .linkArea`).on(\"click\", () => {\r\n const path = Config.file.guide.path;\r\n window.open( path, \"간편인증 사용방법 안내\", \"location=no, directories=no,resizable=no,status=no,toolbar=no,menubar=no, width=1200,height=720, right=0, top=0\" );\r\n });\r\n\r\n\r\n // 인증요청 바깥 이벤트\r\n UmdOption.trigger.request = ()=>{\r\n if(viewEvent.formValidationCheck()){\r\n //인증요청\r\n viewAsyn.requestAuth();\r\n }\r\n }\r\n\r\n //인증요청\r\n $(`${rootId} #step1Request`).on(\"click\", () => {\r\n viewEvent.formValidation_popup();\r\n });\r\n\r\n //취소\r\n $(`${rootId} .popup-close`).on(\"click\", (e) => {\r\n viewEvent.closePopup();\r\n\r\n UmdOption.callback.event.close();\r\n if (GlobalVar.closeEvt !== undefined) {\r\n const closeEvt = GlobalVar.closeEvt;\r\n closeEvt(e);\r\n }\r\n });\r\n },\r\n formValidationCheck: () => {\r\n const name = common.trim( $(`${rootId} ${pcMobileId} [data-id='oacx_name']`).val() );\r\n const num1 = common.trim( $(`${rootId} ${pcMobileId} [data-id='oacx_num1']`).val() );\r\n const num2 = common.trim( $(`${rootId} ${pcMobileId} [data-id='oacx_num2']`).val() );\r\n const birth = common.trim( $(`${rootId} ${pcMobileId} [data-id='oacx_birth']`).val() );\r\n var providerId = \"\";\r\n if (device.isMobileUI()) {\r\n providerId = $(`${rootId} ${pcMobileId} .oacx_providerList li.selected input[name=provider]`).val();\r\n } else {\r\n providerId = $(`${rootId} ${pcMobileId} .oacx_providerList li input[name=provider]:checked`).val();\r\n }\r\n var phone = \"\";\r\n var telcoTycd = null;\r\n\r\n // alert(`\r\n // ✔ Device Code: ${Provider.deviceInfo.code}\r\n // ✔ UI Class: ${pcMobileId}\r\n // ✔ Select Provider Id: ${providerId}\r\n // `)\r\n if (providerId === undefined || providerId == \"\") {\r\n $(`${rootId} input`).blur();\r\n viewEvent.view_msg(\"안내\", \"\", \"인증서비스를 선택하여 주십시오.\", () => {\r\n $(`${rootId} input`).blur();\r\n $(`${rootId} ${pcMobileId} .oacx_providerList li:first-child input[name=provider]`).focus();\r\n // $(\".main section\").scrollTop(0,0);\r\n });\r\n return false;\r\n }\r\n\r\n if (!vaild.nameCheck(name)) {\r\n return false;\r\n }\r\n\r\n if (Provider.isBirth) {\r\n if (!vaild.birthCheck(birth)) {\r\n return false;\r\n }\r\n } else {\r\n if (!vaild.ssCheck(num1, num2)) {\r\n return false;\r\n }\r\n }\r\n\r\n if (providerChk.isPass(providerId)) {\r\n phone = common.trim( $(`${rootId} ${pcMobileId} [data-id='oacx_phone3']`).val());\r\n var selected = $(`${rootId} ${pcMobileId} [data-id='oacx_phone0'] option:not([disabled=disabled]):selected`).val();\r\n telcoTycd = selected === undefined ? null : selected;\r\n\r\n if (!vaild.telcoTycdCheck()) {\r\n return false;\r\n }\r\n } else {\r\n phone = common.trim($(`${rootId} ${pcMobileId} [data-id='oacx_phone2']`).val());\r\n }\r\n\r\n if (!vaild.phoneCheck(phone, providerId)) {\r\n return false;\r\n }\r\n\r\n //PC, Tablet 환경에서만 작동\r\n if (!device.isMobileUI()) {\r\n if (!vaild.checkBoxVaild()) {\r\n return false;\r\n }\r\n }\r\n\r\n //개인정보 이용 동의 확인 여부\r\n Provider.userInfo.privacy = $(`${rootId} #m_policy1_btn`).length != 0 ? 1 : 0;\r\n //서비스 이용약관 동의 확인 여부\r\n Provider.userInfo.policy3 = $(`${rootId} #m_policy2_btn`).length != 0 ? 1 : 0;\r\n //제3자 정보제공약관 확인 여부\r\n Provider.userInfo.policy4 = $(`${rootId} #m_policy3_btn`).length != 0 ? 1 : 0;\r\n //고유식별정보처리 동의 확인 여부\r\n Provider.userInfo.terms = $(`${rootId} #m_policy4_btn`).length != 0 ? 1 : 0;\r\n\r\n var phoneNm = \"\";\r\n if (providerChk.isPass(providerId)) {\r\n phoneNm = common.trim( $(`${rootId} ${pcMobileId} .telecom [data-id='oacx_phone1']`).val() );\r\n } else {\r\n phoneNm = common.trim(\r\n $(`${rootId} ${pcMobileId} .none-telecom [data-id='oacx_phone1']`).val()\r\n );\r\n }\r\n Provider.userInfo.name = name;\r\n Provider.userInfo.ssn1 = num1;\r\n Provider.userInfo.ssn2 = num2;\r\n Provider.userInfo.phone = phoneNm + phone;\r\n Provider.userInfo.birthday = Provider.isBirth? birth : regex.convertBirthDay(num1, num2);\r\n Provider.userInfo.telcoTycd = telcoTycd;\r\n Provider.providerId = providerId;\r\n Provider.provider = providerId + Config.provider.separator + Config.provider.version;\r\n return true;\r\n },\r\n formValidation_popup: () => {\r\n if (!viewEvent.formValidationCheck()) {\r\n return false;\r\n }\r\n if (device.isMobileUI()) {\r\n //개인정보 동의\r\n mobile.nextView();\r\n } else {\r\n //PC, Tablet 환경에서만 작동\r\n if(UmdOption.callback.event.request() === false){ \r\n return false; \r\n }\r\n //인증요청\r\n viewAsyn.requestAuth();\r\n }\r\n },\r\n closePopup: () => {\r\n $(`${rootId}`).html(\"\");\r\n viewEvent.hideBackScreen();\r\n\r\n $(window).off('resize')\r\n $(window).off(\"orientationchange\")\r\n },\r\n hidePopup: () => {\r\n $(`${rootId} div.view`).removeClass(\"view\");\r\n },\r\n showBackScreen: () => {\r\n $(`${rootId}`).append('
    ');\r\n $(`${rootId}`).show();\r\n },\r\n hideBackScreen: () => {\r\n $(`${rootId} #bgScrn`).remove();\r\n },\r\n showStep1: () => {\r\n $(`${rootId} #oacxEmbededContents`).show();\r\n $(`${rootId} .standby`).hide();\r\n $(`${rootId} .csTxt`).removeClass(\"view\");\r\n },\r\n showStep2: () => {\r\n $(`${rootId} .pcView, ${rootId} .mobileView`).hide();\r\n $(`${rootId} .standby`).show();\r\n /* if(!$(`${rootId} .csTxt`).is(\".view\")){\r\n $(`${rootId} .csTxt`).addClass(\"view\");\r\n } */\r\n webAccess.targetFocus(\".standby\");\r\n },\r\n showStepBtn: () => {\r\n $(`${rootId} #step1Request`).removeAttr(\"disabled\");\r\n $(`${rootId} #step1Request`).removeClass(\"disabled\");\r\n $(`${rootId} #step2Success`).removeAttr(\"disabled\");\r\n $(`${rootId} #step2Success`).removeClass(\"disabled\");\r\n },\r\n hideStepBtn: () => {\r\n $(`${rootId} #step1Request`).attr(\"disabled\", \"disabled\");\r\n $(`${rootId} #step1Request`).addClass(\"disabled\");\r\n $(`${rootId} #step2Success`).attr(\"disabled\", \"disabled\");\r\n $(`${rootId} #step2Success`).addClass(\"disabled\");\r\n },\r\n showBirthSsn: () => {\r\n $(`${rootId} .oacx-birth`).show();\r\n $(`${rootId} .oacx-ssn`).show();\r\n },\r\n hideBirthSsn: () => {\r\n $(`${rootId} .oacx-birth`).hide();\r\n $(`${rootId} .oacx-ssn`).hide();\r\n }\r\n};\r\n","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"pcTitle\") : stack1), depth0))\n + \" \";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" 서비스 이용에 대한 동의 \";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \\r\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
  • \\r\\n \\r\\n \\r\\n \\r\\n \";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.program(10, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":21,\"column\":12},\"end\":{\"line\":23,\"column\":25}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"
  • \\r\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n return \"\\r\\n
    \\r\\n\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
  • \\r\\n \\r\\n \\r\\n \\r\\n \";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.program(13, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":32,\"column\":12},\"end\":{\"line\":34,\"column\":25}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"
  • \\r\\n\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n return \"\\r\\n
    \\r\\n\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
  • \\r\\n \\r\\n \\r\\n \\r\\n \";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.program(16, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":43,\"column\":12},\"end\":{\"line\":45,\"column\":25}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"
  • \\r\\n\";\n},\"16\":function(container,depth0,helpers,partials,data) {\n return \"\\r\\n
    \\r\\n\";\n},\"18\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
  • \\r\\n \\r\\n \\r\\n \\r\\n \";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.program(19, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":54,\"column\":12},\"end\":{\"line\":56,\"column\":25}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"
  • \t\\r\\n\";\n},\"19\":function(container,depth0,helpers,partials,data) {\n return \"\\r\\n
    \\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
    \\r\\n \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifNotUndefindedEmpty\")||(depth0 && lookupProperty(depth0,\"ifNotUndefindedEmpty\"))||alias2).call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"pcTitle\") : stack1),{\"name\":\"ifNotUndefindedEmpty\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":3,\"column\":0},\"end\":{\"line\":3,\"column\":112}}})) != null ? stack1 : \"\")\n + \"\\r\\n \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifShowAgree\")||(depth0 && lookupProperty(depth0,\"ifShowAgree\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"template\") : depth0),{\"name\":\"ifShowAgree\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":4},\"end\":{\"line\":10,\"column\":20}}})) != null ? stack1 : \"\")\n + \"
    \\r\\n
    \\r\\n
      \\r\\n \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy1\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":15,\"column\":8},\"end\":{\"line\":25,\"column\":21}}})) != null ? stack1 : \"\")\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy2\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":26,\"column\":8},\"end\":{\"line\":36,\"column\":21}}})) != null ? stack1 : \"\")\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy3\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(15, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":37,\"column\":8},\"end\":{\"line\":47,\"column\":21}}})) != null ? stack1 : \"\")\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy4\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(18, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":48,\"column\":8},\"end\":{\"line\":58,\"column\":21}}})) != null ? stack1 : \"\")\n + \" \\r\\n \\r\\n \\r\\n
    \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \\r\\n \"\n + ((stack1 = (lookupProperty(helpers,\"demoLogKeyName\")||(depth0 && lookupProperty(depth0,\"demoLogKeyName\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),{\"name\":\"demoLogKeyName\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":9,\"column\":16},\"end\":{\"line\":9,\"column\":58}}})) != null ? stack1 : \"\")\n + \"\\r\\n \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"token\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":11,\"column\":16},\"end\":{\"line\":25,\"column\":29}}})) != null ? stack1 : \"\")\n + \"\\r\\n \\r\\n \\r\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + container.escapeExpression(((helper = (helper = lookupProperty(helpers,\"value\") || (depth0 != null ? lookupProperty(depth0,\"value\") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"value\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":12,\"column\":62},\"end\":{\"line\":12,\"column\":71}}}) : helper)))\n + \"\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"key\") : depth0),\"signedData\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.program(12, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":14,\"column\":20},\"end\":{\"line\":24,\"column\":33}}})) != null ? stack1 : \"\");\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \"\";\n\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isGovSimpleAuth\") || (depth0 != null ? lookupProperty(depth0,\"isGovSimpleAuth\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isGovSimpleAuth\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.program(10, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":15,\"column\":24},\"end\":{\"line\":21,\"column\":44}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isGovSimpleAuth\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer;\n},\"8\":function(container,depth0,helpers,partials,data) {\n var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + container.escapeExpression(((helper = (helper = lookupProperty(helpers,\"value\") || (depth0 != null ? lookupProperty(depth0,\"value\") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"value\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":17,\"column\":55},\"end\":{\"line\":17,\"column\":64}}}) : helper)))\n + \"\\r\\n\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + container.escapeExpression(((helper = (helper = lookupProperty(helpers,\"value\") || (depth0 != null ? lookupProperty(depth0,\"value\") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"value\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":20,\"column\":79},\"end\":{\"line\":20,\"column\":88}}}) : helper)))\n + \"\\r\\n\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + alias4(((helper = (helper = lookupProperty(helpers,\"value\") || (depth0 != null ? lookupProperty(depth0,\"value\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"value\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":23,\"column\":48},\"end\":{\"line\":23,\"column\":57}}}) : helper)))\n + \"\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"\n + ((stack1 = lookupProperty(helpers,\"each\").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"list\") : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":7,\"column\":8},\"end\":{\"line\":29,\"column\":17}}})) != null ? stack1 : \"\")\n + \" \\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"생년월일\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"주민등록번호\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \\r\\n \\r\\n \\r\\n \\r\\n -\\r\\n \\r\\n \\r\\n \\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.lambda, alias3=container.escapeExpression, alias4=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"\n + ((stack1 = lookupProperty(helpers,\"if\").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,\"p\") : depth0)) != null ? lookupProperty(stack1,\"isBirth\") : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.program(7, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":11,\"column\":8},\"end\":{\"line\":36,\"column\":15}}})) != null ? stack1 : \"\")\n + \" \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    이름, \"\n + ((stack1 = lookupProperty(helpers,\"if\").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,\"p\") : depth0)) != null ? lookupProperty(stack1,\"isBirth\") : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":2,\"column\":37},\"end\":{\"line\":2,\"column\":79}}})) != null ? stack1 : \"\")\n + \", 휴대폰번호 입력표
    \\r\\n 이름\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"
    \\r\\n \\r\\n
    \\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" 간편인증\\r\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"id\") : depth0),\"sign\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":14,\"column\":8},\"end\":{\"line\":14,\"column\":48}}})) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"전자서명\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.lambda, alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"\\r\\n간편인증창이 팝업되었습니다. TAB을 눌러 인증기관을 선택해주세요.\\r\\n\\r\\n\";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : alias2),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":4,\"column\":0},\"end\":{\"line\":8,\"column\":13}}}),(typeof helper === \"function\" ? helper.call(alias1,options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"\\r\\n

    \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"id\") : depth0),\"auth\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.program(5, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":11,\"column\":4},\"end\":{\"line\":15,\"column\":17}}})) != null ? stack1 : \"\")\n + \"

    \\r\\n\\r\\n
    \\r\\n \\\"\"\n\\r\\n
    \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n 간편인증창이 팝업되었습니다. TAB을 눌러 인증기관을 선택해주세요.\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \t \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n\\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"이름\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"홍길동\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
    • \\r\\n \\r\\n
    • \\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"생년월일 여덟자리\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n return \"19900101\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing, alias5=\"function\", alias6=container.hooks.blockHelperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
    • \\r\\n \\r\\n \\r\\n
    • \\r\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"주민번호 앞자리\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n return \"900101\";\n},\"15\":function(container,depth0,helpers,partials,data) {\n return \"뒷자리\";\n},\"17\":function(container,depth0,helpers,partials,data) {\n return \"1234567\";\n},\"19\":function(container,depth0,helpers,partials,data) {\n return \"휴대폰번호 7자리이상\";\n},\"21\":function(container,depth0,helpers,partials,data) {\n return \"12345678\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing, alias5=\"function\", alias6=container.hooks.blockHelperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
        \\r\\n
      • \\r\\n \\r\\n
      • \\r\\n\"\n + ((stack1 = lookupProperty(helpers,\"if\").call(alias3,((stack1 = (depth0 != null ? lookupProperty(depth0,\"p\") : depth0)) != null ? lookupProperty(stack1,\"isBirth\") : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.program(10, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":4},\"end\":{\"line\":14,\"column\":11}}})) != null ? stack1 : \"\")\n + \"
      • \\r\\n \\r\\n \\r\\n
      • \\r\\n
      • \\r\\n \\r\\n \\r\\n \\r\\n
      • \\r\\n
      \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
    • \\r\\n

      \"\n + alias2(alias1(((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy1\") : stack1)) != null ? lookupProperty(stack1,\"title\") : stack1), depth0))\n + \"

      \\r\\n 보기\\r\\n\";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":15,\"column\":12},\"end\":{\"line\":17,\"column\":25}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"
    • \\r\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"
      \\r\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
    • \\r\\n

      \"\n + alias2(alias1(((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy2\") : stack1)) != null ? lookupProperty(stack1,\"title\") : stack1), depth0))\n + \"

      \\r\\n 보기\\r\\n\";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":24,\"column\":12},\"end\":{\"line\":26,\"column\":25}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"
    • \\r\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \"
      \\r\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
    • \\r\\n

      \"\n + alias2(alias1(((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy3\") : stack1)) != null ? lookupProperty(stack1,\"title\") : stack1), depth0))\n + \"

      \\r\\n 보기\\r\\n\";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(8, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":33,\"column\":12},\"end\":{\"line\":35,\"column\":25}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"
    • \\r\\n\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n return \"
      \\r\\n\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"
    • \\r\\n

      \"\n + alias2(alias1(((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy4\") : stack1)) != null ? lookupProperty(stack1,\"title\") : stack1), depth0))\n + \"

      \\r\\n 보기\\r\\n\";\n stack1 = ((helper = (helper = lookupProperty(helpers,\"isMobile\") || (depth0 != null ? lookupProperty(depth0,\"isMobile\") : depth0)) != null ? helper : container.hooks.helperMissing),(options={\"name\":\"isMobile\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":42,\"column\":12},\"end\":{\"line\":44,\"column\":25}}}),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));\n if (!lookupProperty(helpers,\"isMobile\")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"
    • \\r\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"
      \\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
      \\r\\n
      \\r\\n

      \"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"moTitle\") : stack1), depth0))\n + \"

      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
        \\r\\n\"\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy1\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":11,\"column\":8},\"end\":{\"line\":19,\"column\":21}}})) != null ? stack1 : \"\")\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy2\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":20,\"column\":8},\"end\":{\"line\":28,\"column\":21}}})) != null ? stack1 : \"\")\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy3\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":29,\"column\":8},\"end\":{\"line\":37,\"column\":21}}})) != null ? stack1 : \"\")\n + ((stack1 = (lookupProperty(helpers,\"ifHidden\")||(depth0 && lookupProperty(depth0,\"ifHidden\"))||alias2).call(alias1,((stack1 = ((stack1 = (depth0 != null ? lookupProperty(depth0,\"template\") : depth0)) != null ? lookupProperty(stack1,\"view_policy4\") : stack1)) != null ? lookupProperty(stack1,\"hidden\") : stack1),{\"name\":\"ifHidden\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":38,\"column\":8},\"end\":{\"line\":46,\"column\":21}}})) != null ? stack1 : \"\")\n + \"
      \\r\\n \\r\\n
      \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"hide\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.program(4, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":2,\"column\":4},\"end\":{\"line\":21,\"column\":17}}})) != null ? stack1 : \"\");\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"\\r\\n
    • \\r\\n \\r\\n
      \\\"\"\n
      \\r\\n
      \\r\\n

      \\r\\n\"\n + ((stack1 = lookupProperty(helpers,\"if\").call(alias1,(data && lookupProperty(data,\"first\")),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(10, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":11,\"column\":16},\"end\":{\"line\":13,\"column\":23}}})) != null ? stack1 : \"\")\n + ((stack1 = lookupProperty(helpers,\"if\").call(alias1,(data && lookupProperty(data,\"last\")),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(12, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":14,\"column\":16},\"end\":{\"line\":16,\"column\":23}}})) != null ? stack1 : \"\")\n + \" \"\n + ((stack1 = ((helper = (helper = lookupProperty(helpers,\"providerLabel\") || (depth0 != null ? lookupProperty(depth0,\"providerLabel\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"providerLabel\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":17,\"column\":16},\"end\":{\"line\":17,\"column\":35}}}) : helper))) != null ? stack1 : \"\")\n + \"\\r\\n

      \\r\\n \\r\\n
    • \\r\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" class=\\\"\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"disabled\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(8, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":19},\"end\":{\"line\":5,\"column\":141}}})) != null ? stack1 : \"\")\n + \"\\\"\\r\\n \";\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"disabled\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.program(2, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":71},\"end\":{\"line\":5,\"column\":128}}})) != null ? stack1 : \"\");\n},\"10\":function(container,depth0,helpers,partials,data) {\n return \" 서비스 체크상자, 방향키를 통해 다음 목록으로 이동하십시오. 선택\\r\\n\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n return \" 마지막 \\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = lookupProperty(helpers,\"each\").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"list\") : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":1,\"column\":0},\"end\":{\"line\":22,\"column\":9}}})) != null ? stack1 : \"\");\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \" \\r\\n
      \\r\\n
      \\r\\n

      서비스 선택

      \\r\\n \\r\\n
        \\r\\n\\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n \\r\\n
        \\r\\n\\r\\n\\r\\n
        \\r\\n
        \\r\\n\\r\\n\\r\\n\\r\\n
        \\r\\n\";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
        선택된 서비스
        \\r\\n
        \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
        \\r\\n
        \\r\\n
        \\r\\n

        \"\n + alias4(((helper = (helper = lookupProperty(helpers,\"title\") || (depth0 != null ? lookupProperty(depth0,\"title\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"title\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":4,\"column\":92},\"end\":{\"line\":4,\"column\":101}}}) : helper)))\n + \"

        \\r\\n

        \"\n + alias4(((helper = (helper = lookupProperty(helpers,\"data\") || (depth0 != null ? lookupProperty(depth0,\"data\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"data\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":109},\"end\":{\"line\":5,\"column\":117}}}) : helper)))\n + \"

        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"간편인증창의 연결이 종료되었습니다. 간편인증을 다시 시도해 주세요.\\r\\n\\r\\n
        \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n

        간편인증창의 연결이 종료되었습니다.

        \\r\\n

        간편인증을 다시 시도해 주세요.

        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \\r\\n \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"죄송합니다.현재 해당 서비스가 정상적이지 않습니다.다른 서비스를 선택해 주시기 바랍니다.\\r\\n\\r\\n
        \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n

        죄송합니다.
        현재 해당 서비스가
        정상적이지 않습니다.

        \\r\\n

        다른 서비스를 선택해 주시기 바랍니다.

        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"간편인증에 오류가 발생했습니다. 잠시 후 다시 시도해 주세요. 계속해서 오류가 발생하면 관리자에게 문의해 주세요.\\r\\n\\r\\n
        \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n

        간편인증에 오류가 발생했습니다.

        \\r\\n

        잠시 후 다시 시도해 주세요.
        계속해서 오류가 발생하면 관리자에게
        문의해 주세요.

        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \\r\\n \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"현재 이용량이 많아 서비스가 지연되고 있습니다. 다른 서비스를 선택해 주시기 바랍니다.\\r\\n\\r\\n
        \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n

        현재 는 이용량이 많아
        서비스가 지연되고 있습니다.

        \\r\\n

        다른 서비스를 선택해 주시기 바랍니다.

        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"인증이 완료되지 않았습니다. 앱에서 인증 완료 후 재시도 해주세요.\\r\\n\\r\\n
        \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n

        인증이 완료되지 않았습니다.
        앱에서 인증 완료 후
        재시도 해주세요.

        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
        \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n

        네이버 인증 안내

        \\r\\n \\\"step1\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"
        \\r\\n 다른 서비스는 없나요? 설명창이 열렸습니다.\\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n

        다른 서비스는 없나요?

        \\r\\n

        해당 서비스는 행정안전부에서 추진중인「공공분야 전자서명 확대 도입을 위한 시범사업」으로 보안성 검증 등을 받은 인증서비스만 제공하고 있습니다. 향 후 '전자서명인증업무 운영기준 준수사실 인정제도' 등을 통해 선정된 전자서명을 지속적으로 추가해나갈 예정입니다.

        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"입력하신 정보와 일치하는 계정을 찾을 수 없습니다. 다른 인증서를 이용하시거나 해당 서비스 고객센터에 문의해주세요.\\r\\n
        \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n

        입력하신 정보와 일치하는 계정을
        찾을 수 없습니다.

        \\r\\n

        다른 인증서를 이용하시거나
        해당 서비스 고객센터(xxxx-xxxx)에
        문의해주세요.

        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, alias4=\"function\", lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
        \\r\\n \"\n + alias3((lookupProperty(helpers,\"removeTag\")||(depth0 && lookupProperty(depth0,\"removeTag\"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,\"message\") : depth0),{\"name\":\"removeTag\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":2,\"column\":44},\"end\":{\"line\":2,\"column\":65}}}))\n + \"\\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n

        \"\n + alias3(((helper = (helper = lookupProperty(helpers,\"title\") || (depth0 != null ? lookupProperty(depth0,\"title\") : depth0)) != null ? helper : alias2),(typeof helper === alias4 ? helper.call(alias1,{\"name\":\"title\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":7,\"column\":23},\"end\":{\"line\":7,\"column\":32}}}) : helper)))\n + \"

        \\r\\n

        \\r\\n

        \"\n + ((stack1 = ((helper = (helper = lookupProperty(helpers,\"message\") || (depth0 != null ? lookupProperty(depth0,\"message\") : depth0)) != null ? helper : alias2),(typeof helper === alias4 ? helper.call(alias1,{\"name\":\"message\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":9,\"column\":32},\"end\":{\"line\":9,\"column\":45}}}) : helper))) != null ? stack1 : \"\")\n + \"

        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
      • \\r\\n \\r\\n
      • \\r\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" class=\\\"\"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"disabled\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.program(5, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":15},\"end\":{\"line\":5,\"column\":137}}})) != null ? stack1 : \"\")\n + \"\\\"\\r\\n \";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"disabled\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":67},\"end\":{\"line\":5,\"column\":124}}})) != null ? stack1 : \"\");\n},\"6\":function(container,depth0,helpers,partials,data) {\n return \"\";\n},\"8\":function(container,depth0,helpers,partials,data) {\n return \" 서비스 체크상자, 방향키를 통해 다음 목록으로 이동하십시오. 선택\\r\\n\";\n},\"10\":function(container,depth0,helpers,partials,data) {\n return \" 마지막 \\r\\n\";\n},\"12\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \" \"\n + ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"disabled\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.program(15, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":20,\"column\":12},\"end\":{\"line\":20,\"column\":138}}})) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"13\":function(container,depth0,helpers,partials,data) {\n return \" disabled \";\n},\"15\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = (lookupProperty(helpers,\"ifEquals\")||(depth0 && lookupProperty(depth0,\"ifEquals\"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"unuse_style\") : depth0),\"\",{\"name\":\"ifEquals\",\"hash\":{},\"fn\":container.program(13, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data,\"loc\":{\"start\":{\"line\":20,\"column\":66},\"end\":{\"line\":20,\"column\":125}}})) != null ? stack1 : \"\");\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"\\r\\n\"\n + ((stack1 = lookupProperty(helpers,\"each\").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"list\") : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":2,\"column\":0},\"end\":{\"line\":25,\"column\":9}}})) != null ? stack1 : \"\")\n + \"\\r\\n\\r\\n\";\n},\"useData\":true});","var Handlebars = require('C:/project/oa-cx-ent/oa-cx-ux/module/node_modules/handlebars/runtime.js');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"https://m.help.naver.com/support/alias/sign/mainmo.naver\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"https://help.naver.com/support/alias/sign/main.naver\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \"https://m.help.naver.com/support/alias/sign/m.sign_9.naver\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n return \"https://help.naver.com/support/alias/sign/sign_7.naver\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n return \"https://m.shinhan.com/rib/mnew/index.jsp#220011420000\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"https://www.shinhan.com/hpe/index.jsp#050000000000\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.hooks.blockHelperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }, buffer = \n \"\\r\\n 인증완료 창이 열렸습니다. 인증절차는 다음 세단계로 진행됩니다. 스탭 일 앱에서 인증메시지 확인, 스탭 이 인증진행, 스탭 삼 인증완료 및 하단 인증완료 버튼 클릭\\r\\n\\r\\n
        \\r\\n
        \\r\\n
        인증을 진행해 주세요.
        \\r\\n
        입력하신 휴대폰으로 인증 요청 메시지를 보냈습니다.
        앱에서 인증을 진행해주세요.
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\\"Step01\\r\\n
        \\r\\n

        \\r\\n STEP 01\\r\\n

        \\r\\n

        앱에서
        인증요청 메시지 확인

        \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\\"Step02\\r\\n
        \\r\\n

        \\r\\n STEP 02\\r\\n

        \\r\\n

        인증진행
        (비밀번호 등)

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\\"Step03\\r\\n
        \\r\\n

        \\r\\n STEP 03\\r\\n

        \\r\\n

        인증 완료 후,
        하단의 인증완료 클릭

        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n \\\"\\\"\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n\\r\\n

        \\r\\n 삼성패스 앱이 정상적으로 동작하지 않으면 최신으로 업데이트 바랍니다.\\r\\n

        \\r\\n\\r\\n \\r\\n \\r\\n
        \\r\\n

        인증요청(알림)이 휴대폰으로 오지 않았다면 아래 순서로 확인해 주세요.

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          [PASS 앱 실행 > 홈 화면 또는 인증서 메뉴] 에서 인증 요청 내용을 확인할 수 있습니다.

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          PASS 앱 설치 확인 및 알림 수신동의 되어 있는지 확인해 주세요.

          \\r\\n
        • \\r\\n
        • \\r\\n

          3

          \\r\\n

          문제가 계속된다면, [PASS인증서 고객센터 : 1800-4273] 로 연락해 주세요.

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n

        ※스마트폰에 PUSH알림이 오지 않을 경우 조치방법

        \\r\\n

        →KB스타뱅킹 앱 [알림함(종모양 아이콘)>인증내역]에서 인증요청내역 조회 및 인증 가능(유효시간내)

        \\r\\n

        ※KB스타뱅킹 알림설정방법(KB국민은행 고객센터 1588-9999)

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          휴대폰 설정에서 KB스타뱅킹 알림 '허용'으로 등록해주세요

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          KB스타뱅킹 앱 [인증/보안>KB모바일인증서>알림설정]에서 알림(Push) 동의해주세요

          \\r\\n

          동의임에도 오지 않는다면, 알림동의 OFF 후 재동의 해주세요

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n

        스마트폰에 PUSH 알림이 오지 않을 경우 조치방법

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          삼성패스의 알림을 설정해주세요. [단말 설정 > 애플리케이션 > Samsung Pass > 알림 > 일반 알림 설정]

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          삼성패스에서 전자서명 인증서를 삭제하고 사용자의 전화 번호를 사용해서 전자서명 인증서를 재발급해 보세요.

          \\r\\n
        • \\r\\n
        • \\r\\n

          3

          \\r\\n

          문제가 계속된다면, [고객센터 1577-8787] 로 연락해 주세요.

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n

        문제 발생 시 조치방법

        \\r\\n \\r\\n
        \\r\\n\\r\\n \\r\\n
        \\r\\n

        문제 발생 시 조치방법

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          카카오페이 인증서에 문제가 있는 경우, 고객센터 도움말에서 해결 방법을 찾아보세요

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          문제가 지속되면, 고객센터 문의채널을 통해 문의해 주세요

          \\r\\n
        • \\r\\n
        • \\r\\n

          - 고객센터 : 1644-7405 (운영시간 : 평일 오전 9:00 ~ 오후 6:00)

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n

        푸시(인증요청)가 휴대폰으로 오지 않았다면 아래 순서로 확인해 주세요.

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          [페이코 앱 설치] 가 휴대폰에 되어 있는지 확인해 주세요.

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          [페이코 앱 > 더보기 > PAYCO 인증서] 에서 인증 요청 내용을 확인할 수 있습니다.

          \\r\\n
        • \\r\\n
        • \\r\\n

          3

          \\r\\n

          문제가 계속된다면, [페이코 고객센터 : 1544-6891] 로 연락해 주세요.

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n\\r\\n \\r\\n
        \\r\\n

        휴대폰에 인증요청 알림이 오지 않으면

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          네이버 앱 설치 및 로그인 여부를 확인해 주세요.

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          네이버 홈의 🔔 종 아이콘 > '네이버 인증서'가 보낸 메시지를 누르세요. 자세히 >

          \\r\\n
        • \\r\\n
        • \\r\\n

          3

          \\r\\n

          문제가 계속되면, \\r\\n 도움말\\r\\n /\\r\\n 이메일 문의\\r\\n / \\r\\n 상담 스마트봇(24시간)\\r\\n /\\r\\n 고객센터: 1588-3820을 통해 문의해 주세요.​\\r\\n

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n

        푸시(인증요청)가 휴대폰으로 오지 않았다면 아래 순서로 확인해 주세요.

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          [신한쏠(SOL)앱 설치] 가 휴대폰에 되어 있는지 확인해 주세요.

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          [신한쏠(SOL)앱 > 인증센터 > 신한인증서] 에서 인증 요청 내용을 확인할 수 있습니다.

          \\r\\n
        • \\r\\n
        • \\r\\n

          3

          \\r\\n

          문제가 계속된다면, [신한은행 고객센터 1577-8000] 로 연락해 주세요.

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n\\r\\n \\r\\n
        \\r\\n

        문제 발생 시 조치방법

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          휴대폰에 토스앱 설치가 되어 있는지 확인해 주세요.

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          토스앱 > 우측 하단 ‘전체’ > 내 정보 > 토스인증서에서 인증 요청 내용을 확인하실 수 있습니다.

          \\r\\n
        • \\r\\n
        • \\r\\n

          3

          \\r\\n

          문제가 계속된다면, 토스 고객센터: 1599-4905로 문의바랍니다.

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n\\r\\n \\r\\n
        \\r\\n

        문제 발생 시 조치방법

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          뱅크샐러드 앱 설치 및 가입 여부를 확인해 주세요.

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          뱅크샐러드 앱 상단의 [🔔 종 아이콘]> [뱅크샐러드 인증서]가 보낸 메시지를 누르세요.

          \\r\\n
        • \\r\\n
        • \\r\\n

          3

          \\r\\n

          문의 : 이메일 (hello@banksalad.com) 또는 사고신고센터 (1661-9793)

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n\\r\\n \\r\\n
        \\r\\n

        ▶ 스마트폰에 인증요청 알림이 오지 않을 경우에는

        \\r\\n
          \\r\\n
        • \\r\\n

          1.

          하나은행 앱(하나원큐)을 설치하고 PUSH 알림을 확인하세요

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          하나원큐 앱의 ‘홈 > 메뉴 > 보안/인증 > 하나Onesign > 인증이력 조회'에서 알림을 누르세요

          \\r\\n
        • \\r\\n
        \\r\\n

        ※ 하나원큐 PUSH 알림설정방법

        \\r\\n
          \\r\\n
        • \\r\\n

          1

          \\r\\n

          휴대폰 설정에서 알림 > 하나은행 알림 '허용'으로 등록해 주세요

          \\r\\n
        • \\r\\n
        • \\r\\n

          2

          \\r\\n

          문제가 계속 된다면 [하나은행 고객센터 1588-1111]로 문의해 주세요

          \\r\\n
        • \\r\\n
        \\r\\n
        \\r\\n\\r\\n \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \";\n},\"useData\":true});","import Config from '../../common/model/Config';\r\n\r\nimport logo_pass from '../../common/resource/img/logo_pass.png';\r\nimport logo_payco from '../../common/resource/img/logo_payco.png';\r\nimport logo_kakao from '../../common/resource/img/logo_kakao.png';\r\nimport logo_kakaopay from '../../common/resource/img/logo_kakaopay.png';\r\nimport logo_kb from '../../common/resource/img/logo_kb.png';\r\nimport logo_samsung from '../../common/resource/img/logo_samsung.png';\r\nimport logo_naver from '../../common/resource/img/logo_naver.png';\r\nimport logo_toss from '../../common/resource/img/logo_toss.png';\r\nimport logo_shinhan from '../../common/resource/img/logo_shinhan.png';\r\nimport logo_banksalad from '../../common/resource/img/logo_banksalad.png';\r\nimport logo_hana from '../../common/resource/img/logo_hana.png';\r\nimport logo_sample from '../../common/resource/img/logo_sample.png';\r\nimport { providerChk } from '../../common/utils/provider.id.check';\r\nimport { device } from '../../common/utils/deviceCheck';\r\n\r\nArray.prototype.shuffle = function () {\r\n var length = this.length;\r\n while (length) {\r\n var index = Math.floor((length--) * Math.random());\r\n var temp = this[length];\r\n this[length] = this[index];\r\n this[index] = temp;\r\n }\r\n return this;\r\n};\r\n\r\nexport const process = {\r\n providerService: (res) => {\r\n var resultArr = [];\r\n var providerArr = [];\r\n var res = res.shuffle();\r\n\r\n const mode = Config.provider.mode.id; //dev, prod\r\n const typeId = Config.provider.type.id; //gov, ent\r\n\r\n //공공,민간,개발,운영 중 해당하는 List로 정련\r\n res.forEach((d,i)=>{\r\n if(device.checkMobileType() == \"IOS\"){\r\n if(providerChk.isSamsung(d.provider_id)){\r\n return;\r\n }\r\n }\r\n // Config Auth의 설정한 개발, 운영과 공공, 민간에 일치하지 않는 인증기관 제외\r\n if(d.provider_type != typeId || d.oper_sort != mode){ \r\n return;\r\n }\r\n \r\n if (d.status_code === 'n' && d.unuse_style === 'hide') {\r\n return\r\n }\r\n if (d.status_code === 'n' && !!!d.unuse_style) {\r\n return\r\n }\r\n // Config Auth의 unUseList 옵션의 인증기관 제외\r\n if(!unUseProviderCheck(d.provider_id)){\r\n return;\r\n }\r\n\r\n var provider = process.createData(d);\r\n resultArr.push(provider);\r\n });\r\n\r\n return resultArr;\r\n },\r\n createData: (d) => {\r\n const providerJson = {\r\n providerLabel: \"\",\r\n providerId: \"\",\r\n providerName: \"\",\r\n providerLogo: \"\",\r\n unuse_style: d.unuse_style,\r\n status_code: d.status_code.trim()\r\n }\r\n \r\n if(providerChk.isPass(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"통신사패스\";\r\n providerJson.providerLabel='통신사패스
        (SKT, KT, LGU+)';\r\n providerJson.providerLogo = logo_pass;\r\n }else if(providerChk.isKakao(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"카카오톡\"\r\n providerJson.providerLabel='카카오톡'\r\n providerJson.providerLogo = logo_kakao;\r\n }else if(providerChk.isKakaoPay(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"카카오페이\"\r\n providerJson.providerLabel='카카오페이'\r\n providerJson.providerLogo = logo_kakaopay;\r\n }else if(providerChk.isPayco( d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"페이코\"\r\n providerJson.providerLabel='페이코'\r\n providerJson.providerLogo = logo_payco;\r\n }else if(providerChk.isSamsung(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"삼성패스\"\r\n providerJson.providerLabel='삼성패스'\r\n providerJson.providerLogo = logo_samsung;\r\n }else if(providerChk.isKb(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"KB모바일\"\r\n providerJson.providerLabel='KB모바일
        인증서'\r\n providerJson.providerLogo = logo_kb;\r\n }else if(providerChk.isToss(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"토스\"\r\n providerJson.providerLabel='토스'\r\n providerJson.providerLogo = logo_toss;\r\n }else if(providerChk.isNaver(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"네이버\"\r\n providerJson.providerLabel='네이버'\r\n providerJson.providerLogo = logo_naver;\r\n }else if(providerChk.isShinhan(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"신한\"\r\n providerJson.providerLabel='신한인증서'\r\n providerJson.providerLogo = logo_shinhan;\r\n }else if(providerChk.isBanksalad(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"뱅크샐러드\"\r\n providerJson.providerLabel='뱅크샐러드'\r\n providerJson.providerLogo = logo_banksalad;\r\n }else if(providerChk.isHana(d.provider_id)){\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = \"하나\"\r\n providerJson.providerLabel='하나인증서'\r\n providerJson.providerLogo = logo_hana;\r\n }else{\r\n providerJson.providerId = d.provider_id;\r\n providerJson.providerName = d.name;\r\n providerJson.providerLabel= d.name;\r\n providerJson.providerLogo = logo_sample;\r\n }\r\n return providerJson;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Config의 Provider Un Use 항목 체크\r\n * 제외 항목이 있을 시 false를 반환\r\n */\r\nfunction unUseProviderCheck(providerId){\r\n const unUseProviderIdList = Config.provider.unUseIdList;\r\n if(unUseProviderIdList.length == 0){\r\n return true;\r\n }\r\n if(unUseProviderIdList.indexOf(providerId) != -1 ){\r\n return false;\r\n }\r\n return true;\r\n}","import * as Handlebars from 'handlebars/runtime';\r\nimport Provider from '../../common/model/Provider';\r\nimport { device } from '../../common/utils/deviceCheck';\r\nimport { providerChk } from '../../common/utils/provider.id.check';\r\n\r\nfunction fnSelected(){\r\n Handlebars.registerHelper('selected', function(c1, c2) {\r\n return c1 == c2 ? \"selected\" :\"\";\r\n });\r\n}\r\n\r\nfunction fnChecked(){\r\n Handlebars.registerHelper('cntChecked', function(c1) {\r\n return c1 == \"0\" ? \"checked\" :\"\";\r\n });\r\n}\r\n\r\nfunction fnSumParam3(){\r\n Handlebars.registerHelper('sumParam3', function(c1, c2, c3) {\r\n return c1+c2+c3;\r\n });\r\n}\r\nfunction fnDemoLogKeyName(){\r\n Handlebars.registerHelper('demoLogKeyName', function(key, options) {\r\n if(key === 'token') return \"토큰\"\r\n else if(key === 'txId') return \"연계 트랜잭션 아이디\"\r\n else if(key === 'oacxStatus') return \"OACX 상태코드\"\r\n else if(key === 'oacxCode') return \"OACX 상태코드\"\r\n else if(key === 'resultCode') return \"API 결과코드\"\r\n else if(key === 'cxId') return \"인증 트랜잭션 아이디\"\r\n else if(key === 'reqTxId') return \"연계 트랜잭션 아이디\"\r\n else if(key === 'clientMessage') return \"사용자 메시지\"\r\n else if(key === 'systemMessage') return \"시스템 메시지\"\r\n else if(key === 'data') return \"확장 데이터\"\r\n else if(key === 'signedData') return \"서명 데이터\"\r\n else{ return key}\r\n });\r\n}\r\nfunction fnIsEntSimpleAuth(){\r\n Handlebars.registerHelper('isGovSimpleAuth', function(options) {\r\n return Provider.contentInfo.signType === \"GOV_SIMPLE_AUTH\" ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnEquals(){\r\n Handlebars.registerHelper('ifEquals', function(arg1, arg2, options) {\r\n if(arg1 !== undefined){\r\n arg1 = arg1.trim();\r\n }\r\n if(arg2 !== undefined){\r\n arg2 = arg2.trim();\r\n }\r\n return (arg1 == arg2) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\n\r\nfunction fnIsPass(){\r\n Handlebars.registerHelper('isPass', function(providerId, options) {\r\n if(providerId !== undefined){\r\n providerId = providerId.trim();\r\n } \r\n return providerChk.isPass(providerId) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnIsNaver(){\r\n Handlebars.registerHelper('isNaver', function(providerId, options) {\r\n if(providerId !== undefined){\r\n providerId = providerId.trim();\r\n } \r\n return providerChk.isNaver(providerId) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnIsKb(){\r\n Handlebars.registerHelper('isKb', function(providerId, options) {\r\n if(providerId !== undefined){\r\n providerId = providerId.trim();\r\n } \r\n return providerChk.isKb(providerId) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnInputPassTypeByBrower(){\r\n Handlebars.registerHelper('inputPassTypeByBrower', function(options) {\r\n var inputYype = \"type='number'\";\r\n if(!device.isMobileUI()){\r\n return \"type='password'\"\r\n }\r\n return inputYype;\r\n });\r\n}\r\nfunction fnInputNumberByBrower(){\r\n Handlebars.registerHelper('inputNumberByBrower', function(options) {\r\n var inputYype = \"type='number'\";\r\n if(!device.isMobileUI()){\r\n return \"type='text'\"\r\n }\r\n return inputYype;\r\n });\r\n}\r\n\r\nfunction fnisMobile(){\r\n Handlebars.registerHelper('isMobile', function(options) {\r\n return (device.isMobileUI()) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnMath(){\r\n Handlebars.registerHelper(\"math\", function(lvalue, operator, rvalue, options) {\r\n lvalue = parseFloat(lvalue);\r\n rvalue = parseFloat(rvalue);\r\n var result = {\r\n \"+\": lvalue + rvalue\r\n }[operator]\r\n return result;\r\n });\r\n}\r\n\r\nfunction fnIfHidden(){\r\n Handlebars.registerHelper('ifHidden', function(arg1, options) {\r\n return (!arg1 && arg1 !== undefined) ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\n\r\nfunction fnRemoveSpaceValue(){\r\n Handlebars.registerHelper('removeSpaceValue', function(arg1) {\r\n return arg1.replaceAll(\"\\\\u200B\", \"\");\r\n });\r\n}\r\nfunction fnIfNotUndefindedEmpty(){\r\n Handlebars.registerHelper('ifNotUndefindedEmpty', function(arg1, options) {\r\n if(arg1 == \"\"){\r\n return options.fn(this)\r\n }\r\n if(arg1 === undefined){\r\n return options.inverse(this);\r\n }\r\n return options.fn(this)\r\n });\r\n}\r\n\r\nfunction fnIfShowAgree(){\r\n Handlebars.registerHelper('ifShowAgree', function(configJson, options) {\r\n var agreeCnt = 0;\r\n if(!!configJson.view_policy1){ !!configJson.view_policy1.hidden ? 0 : agreeCnt++ }\r\n if(!!configJson.view_policy2){ !!configJson.view_policy2.hidden ? 0 : agreeCnt++ }\r\n if(!!configJson.view_policy3){ !!configJson.view_policy3.hidden ? 0 : agreeCnt++ }\r\n if(!!configJson.view_policy4){ !!configJson.view_policy4.hidden ? 0 : agreeCnt++ }\r\n return agreeCnt > 1 ? options.fn(this) : options.inverse(this);\r\n });\r\n}\r\nfunction fnRemoveTag(){\r\n Handlebars.registerHelper('removeTag', function(arg1) {\r\n let res = \"\"\r\n if(arg1 !== undefined){\r\n const extractTextPattern = /(<([^>]+)>)/gi;\r\n res = arg1.replace(extractTextPattern,\"\")\r\n }\r\n return res\r\n });\r\n}\r\nfunction fnProviderAltNm(){\r\n Handlebars.registerHelper('providerAltNm', function(arg1, options) {\r\n var result = \"\";\r\n if(providerChk.isKakao(arg1)){\r\n result = \"TALK- 카카오톡\"\r\n }else if(providerChk.isKakaoPay(arg1)){\r\n result = \"카카오페이\"\r\n }else if(providerChk.isKb(arg1)){\r\n result = \"KB 국민은행\"\r\n }else if( providerChk.isNaver(arg1)){\r\n result = \"NAVER\"\r\n }else if( providerChk.isPass(arg1)){\r\n result = \"PASS 휴대전화 인증\"\r\n }else if( providerChk.isPayco(arg1)){\r\n result = \"PAYCO\"\r\n }else if( providerChk.isSamsung(arg1)){\r\n result = \"SAMSUNG PASS\"\r\n }else if( providerChk.isToss(arg1)){\r\n result = \"토스\"\r\n }else if( providerChk.isShinhan(arg1)){\r\n result = \"신한인증서\"\r\n }else if( providerChk.isNaver(arg1)){\r\n result = \"네이버\"\r\n }else if( providerChk.isBanksalad(arg1)){\r\n result = \"뱅크샐러드\"\r\n }else if( providerChk.isHana(arg1)){\r\n result = \"하나인증서\"\r\n }else{\r\n result = \"\"\r\n }\r\n return result \r\n });\r\n}\r\n\r\nexport const helper = {\r\n init : function(){\r\n fnChecked();\r\n fnSelected();\r\n fnEquals();\r\n fnSumParam3();\r\n fnInputPassTypeByBrower();\r\n fnInputNumberByBrower();\r\n fnisMobile();\r\n fnMath();\r\n fnIsPass();\r\n fnIsKb();\r\n fnIfHidden();\r\n fnIfNotUndefindedEmpty();\r\n fnIfShowAgree();\r\n fnRemoveSpaceValue();\r\n fnIsNaver();\r\n fnProviderAltNm();\r\n fnRemoveTag();\r\n fnIsEntSimpleAuth();\r\n fnDemoLogKeyName();\r\n }\r\n}"],"sourceRoot":""}