{"version":3,"sources":["webpack:///./node_modules/crypto-pro/lib/crypto-pro.js"],"names":["factory","window","modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","global","base64","ieee754","isArray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","__proto__","arg","encodingOrOffset","this","allocUnsafe","from","TypeError","ArrayBuffer","array","byteOffset","undefined","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","slice","fromString","obj","isBuffer","checked","copy","buffer","val","type","data","fromObject","assertSize","size","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","apply","decodeCodePointsArray","ret","out","bytes","checkOffset","ext","checkInt","max","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","e","typedArraySupport","poolSize","_augment","species","configurable","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","equals","inspect","match","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","Infinity","leadSurrogate","trim","replace","stringtrim","base64clean","src","dst","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","log","LN2","g","Function","constants_1","exportBase64_1","getAlgorithm_1","getCadesProp_1","getDecodedExtendedKeyUsage_1","getExtendedKeyUsage_1","getInfo_1","hasExtendedKeyUsage_1","isValid_1","Certificate","_cadesCertificate","issuerName","subjectName","thumbprint","validFrom","validTo","getInfo","SUBJECT_TAGS_TRANSLATIONS","ISSUER_TAGS_TRANSLATIONS","getExtendedKeyUsage","getDecodedExtendedKeyUsage","getAlgorithm","propName","getCadesProp","isValid","exportBase64","oids","hasExtendedKeyUsage","_afterPluginsLoaded_1","_extractMeaningfulErrorMessage_1","_generateCadesFn_1","_afterPluginsLoaded","cadesCertificate","eval","_generateCadesFn","__cadesAsyncToken__","Export","error","console","_extractMeaningfulErrorMessage","algorithmInfo","algorithm","oid","cadesPublicKey","PublicKey","Algorithm","FriendlyName","Value","propertyValue","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","reduce","decodedOids","oidCode","assign","OIDS_DICTIONARY","OIDS","count","ExtendedKeyUsage","EKUs","Count","cadesExtendedKeyUsage","Item","OID","_parseCertInfo_1","tags","entitiesPath","entities","_parseCertInfo","certOids","every","oidToCheck","some","certOid","__export","IsValid","Result","Boolean","_getCadesCert_1","_getDateObj_1","createAttachedSignature","unencryptedMessage","cadesplugin","_getCadesCert","cadesAttrs","cadesSignedData","cadesSigner","__createCadesPluginObject__","currentTime","_getDateObj","Date","propset_Name","CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME","propset_Value","messageBase64","cadesAuthAttrs","signature","propset_Certificate","AuthenticatedAttributes2","Add","propset_ContentEncoding","CADESCOM_BASE64_TO_BINARY","propset_Content","propset_Options","CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN","SignCades","CADESCOM_PKCS7_TYPE","createDetachedSignature","messageHash","cadesHashedData","propset_Algorithm","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256","SetHashValue","SignHash","createHash","hash","propset_DataEncoding","Hash","createSignature","detachedSignature","warn","CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY","CADESCOM_CADES_BES","createXMLSignature","cadesSignedXML","signatureMethod","digestMethod","propset_CheckCertificate","propset_SignatureType","CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED","propset_SignatureMethod","propset_DigestMethod","Sign","execute","callback","getUserCertificates_1","getCertificate","foundCertificate","getUserCertificates","find","cert","getSystemInfo","sysInfo","cadesVersion","cspVersion","cadesAbout","PluginVersion","CSPVersion","Version","certificate_1","_extractCommonName_1","certificatesCache","resetCache","cadesStore","cadesCertificates","cadesCertificatesCount","Open","CAPICOM_CURRENT_USER_STORE","CAPICOM_MY_STORE","CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED","Certificates","Find","CAPICOM_CERTIFICATE_FIND_TIME_VALID","CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY","CAPICOM_PROPID_KEY_PROV_INFO","certificateList","_extractCommonName","SubjectName","IssuerName","Thumbprint","ValidFromDate","ValidToDate","Close","_isSupportedCadesVersion_1","_isSupportedCSPVersion_1","getSystemInfo_1","isValidSystemSetup","systemInfo","_isSupportedCadesVersion","_isSupportedCSPVersion","CADESCOM_ATTRIBUTE_OTHER","CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION","CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME","CADESCOM_AllowNoOutstandingRequest","CADESCOM_AllowNone","CADESCOM_AllowUntrustedCertificate","CADESCOM_AllowUntrustedRoot","CADESCOM_CADES_DEFAULT","CADESCOM_CADES_T","CADESCOM_CADES_X_LONG_TYPE_1","CADESCOM_CONTAINER_STORE","CADESCOM_CURRENT_USER_STORE","CADESCOM_DISPLAY_DATA_ATTRIBUTE","CADESCOM_DISPLAY_DATA_CONTENT","CADESCOM_DISPLAY_DATA_NONE","CADESCOM_ENCODE_ANY","CADESCOM_ENCODE_BASE64","CADESCOM_ENCODE_BINARY","CADESCOM_ENCRYPTION_ALGORITHM_3DES","CADESCOM_ENCRYPTION_ALGORITHM_AES","CADESCOM_ENCRYPTION_ALGORITHM_DES","CADESCOM_ENCRYPTION_ALGORITHM_GOST_28147_89","CADESCOM_ENCRYPTION_ALGORITHM_RC2","CADESCOM_ENCRYPTION_ALGORITHM_RC4","CADESCOM_HASH_ALGORITHM_CP_GOST_3411","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256_HMAC","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512_HMAC","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_HMAC","CADESCOM_HASH_ALGORITHM_MD2","CADESCOM_HASH_ALGORITHM_MD4","CADESCOM_HASH_ALGORITHM_MD5","CADESCOM_HASH_ALGORITHM_SHA1","CADESCOM_HASH_ALGORITHM_SHA_256","CADESCOM_HASH_ALGORITHM_SHA_384","CADESCOM_HASH_ALGORITHM_SHA_512","CADESCOM_LOCAL_MACHINE_STORE","CADESCOM_STRING_TO_UCS2LE","CADESCOM_SkipInstallToStore","CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING","CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE","CAPICOM_ACTIVE_DIRECTORY_USER_STORE","CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION","CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME","CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME","CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY","CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY","CAPICOM_CERTIFICATE_FIND_EXTENSION","CAPICOM_CERTIFICATE_FIND_ISSUER_NAME","CAPICOM_CERTIFICATE_FIND_KEY_USAGE","CAPICOM_CERTIFICATE_FIND_ROOT_NAME","CAPICOM_CERTIFICATE_FIND_SHA1_HASH","CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME","CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME","CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED","CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID","CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT","CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME","CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME","CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE","CAPICOM_EKU_CLIENT_AUTH","CAPICOM_EKU_OTHER","CAPICOM_EKU_SMARTCARD_LOGON","CAPICOM_LOCAL_MACHINE_STORE","CAPICOM_MEMORY_STORE","CAPICOM_OID_KEY_USAGE_EXTENSION","CAPICOM_OID_OTHER","CAPICOM_PROPID_ACCESS_STATE","CAPICOM_PROPID_ARCHIVED","CAPICOM_PROPID_ARCHIVED_KEY_HASH","CAPICOM_PROPID_AUTO_ENROLL","CAPICOM_PROPID_CROSS_CERT_DIST_POINTS","CAPICOM_PROPID_CTL_USAGE","CAPICOM_PROPID_DATE_STAMP","CAPICOM_PROPID_DESCRIPTION","CAPICOM_PROPID_EFS","CAPICOM_PROPID_ENHKEY_USAGE","CAPICOM_PROPID_ENROLLMENT","CAPICOM_PROPID_EXTENDED_ERROR_INFO","CAPICOM_PROPID_FIRST_RESERVED","CAPICOM_PROPID_FIRST_USER","CAPICOM_PROPID_FORTEZZA_DATA","CAPICOM_PROPID_FRIENDLY_NAME","CAPICOM_PROPID_HASH_PROP","CAPICOM_PROPID_IE30_RESERVED","CAPICOM_PROPID_ISSUER_PUBLIC_KEY_MD5_HASH","CAPICOM_PROPID_ISSUER_SERIAL_NUMBER_MD5_HASH","CAPICOM_PROPID_KEY_CONTEXT","CAPICOM_PROPID_KEY_IDENTIFIER","CAPICOM_PROPID_KEY_PROV_HANDLE","CAPICOM_PROPID_KEY_SPEC","CAPICOM_PROPID_LAST_RESERVED","CAPICOM_PROPID_LAST_USER","CAPICOM_PROPID_MD5_HASH","CAPICOM_PROPID_NEXT_UPDATE_LOCATION","CAPICOM_PROPID_PUBKEY_ALG_PARA","CAPICOM_PROPID_PUBKEY_HASH_RESERVED","CAPICOM_PROPID_PVK_FILE","CAPICOM_PROPID_RENEWAL","CAPICOM_PROPID_SHA1_HASH","CAPICOM_PROPID_SIGNATURE_HASH","CAPICOM_PROPID_SMART_CARD_DATA","CAPICOM_PROPID_SUBJECT_NAME_MD5_HASH","CAPICOM_PROPID_SUBJECT_PUBLIC_KEY_MD5_HASH","CAPICOM_PROPID_UNKNOWN","CAPICOM_SMART_CARD_USER_STORE","CAPICOM_STORE_OPEN_EXISTING_ONLY","CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED","CAPICOM_STORE_OPEN_READ_ONLY","CAPICOM_STORE_OPEN_READ_WRITE","CHECK_NONE","CHECK_OFFLINE_REVOCATION_STATUS","CHECK_ONLINE_REVOCATION_STATUS","CHECK_SIGNATURE_VALIDITY","CHECK_TIME_VALIDITY","CHECK_TRUSTED_ROOT","LOG_LEVEL_DEBUG","LOG_LEVEL_ERROR","LOG_LEVEL_INFO","TRUST_CTL_IS_NOT_SIGNATURE_VALID","TRUST_CTL_IS_NOT_TIME_VALID","TRUST_CTL_IS_NOT_VALID_FOR_USAGE","TRUST_IS_CYCLIC","TRUST_IS_NOT_SIGNATURE_VALID","TRUST_IS_NOT_TIME_NESTED","TRUST_IS_NOT_TIME_VALID","TRUST_IS_NOT_VALID_FOR_USAGE","TRUST_IS_PARTIAL_CHAIN","TRUST_IS_REVOKED","TRUST_IS_UNTRUSTED_ROOT","TRUST_REVOCATION_STATUS_UNKNOWN","XmlDsigGost3410Url","XmlDsigGost3410UrlObsolete","XmlDsigGost3411Url","XmlDsigGost3411UrlObsolete","possibleNames","translation","isSetLogLevel","isPluginLoaded","fn","canPromise","args","set_log_level","_a","errorContainer","getLastError","message","test","searchResult","cadesGeneratorsAPI","CreateObjectAsync","callbackName","callbackLiteral","callbackArguments","callbackBody","crossEnvCallbackLiteral","cadesCertificateList","certificatesCount","dateObj","getVarDate","version","major","minor","patch","tagsTranslations","rawInfo","extractedEntities","map","group","_b","_c","segmentsMatch","title","description","oidIdentifierMatch","oidIdentifier","isTranslated","oidTranslation","tagTranslation","tag","pluginObject","plugin_resolved","plugin_reject","plugin_resolve","isOpera","isFireFox","isEdge","isSafari","failed_extensions","browserSpecs","check_browser","ru_cryptopro_npcades_10_native_bridge","callbacksCount","callbacks","resultForCallback","callbackId","resultArray","functionName","hasCallback","iframe","document","createElement","arrObjs","setAttribute","encodeURIComponent","JSON","stringify","alert","documentElement","appendChild","parentNode","removeChild","JSModuleVersion","async_spawn","set_pluginObject","is_capilite_enabled","isNativeMessageSupported","ReleasePluginObjects","CreateObject","cadesplugin_load_timeout","setTimeout","check_load_timeout","set_constantValues","current_log_level","check_plugin_working","tem","ua","navigator","userAgent","M","exec","appName","appVersion","splice","cpcsp_console_log","level","msg","info","postMessage","generatorFunc","continuer","verb","err","onFulfilled","onRejected","isIE","isIOS","call_ru_cryptopro_npcades_10_native_bridge","getElementById","ActiveXObject","decimalToHexString","number","toUpperCase","GetMessageFromException","exception","cpcsp_chrome_nmcades","tmpobj","ex","response","show_firefox_missing_extension_dialog","cadesplugin_skip_extension_install","ovr","id","style","innerHTML","getElementsByTagName","addEventListener","plugin_loaded_error","visibility","install_opera_extension","event","opr","addons","installExtension","location","reload","stopPropagation","firefox_or_edge_nmcades_onload","check_chrome_plugin","plugin_loaded","nmcades_api_onload","url","substring","fileref","onerror","onload","load_extension","load_npapi_plugin","elem","elem1","elem2","createPromise","check_npapi_plugin","display","mimetype","mimeTypes","enabledPlugin","div","readyState","EnableInternalCSP"],"mappings":"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","file":"js/npm.crypto-pro-legacy.068a8f44.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(\"cryptoPro\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cryptoPro\"] = factory();\n\telse\n\t\troot[\"cryptoPro\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./crypto-pro.ts\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"../node_modules/base64-js/index.js\":\n/*!******************************************!*\\\n !*** ../node_modules/base64-js/index.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n/***/ }),\n\n/***/ \"../node_modules/buffer/index.js\":\n/*!***************************************!*\\\n !*** ../node_modules/buffer/index.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(/*! base64-js */ \"../node_modules/base64-js/index.js\")\nvar ieee754 = __webpack_require__(/*! ieee754 */ \"../node_modules/ieee754/index.js\")\nvar isArray = __webpack_require__(/*! isarray */ \"../node_modules/isarray/index.js\")\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"../node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"../node_modules/ieee754/index.js\":\n/*!****************************************!*\\\n !*** ../node_modules/ieee754/index.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n/***/ }),\n\n/***/ \"../node_modules/isarray/index.js\":\n/*!****************************************!*\\\n !*** ../node_modules/isarray/index.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n\n/***/ \"../node_modules/webpack/buildin/global.js\":\n/*!*************************************************!*\\\n !*** ../node_modules/webpack/buildin/global.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"./api/certificate/certificate.ts\":\n/*!****************************************!*\\\n !*** ./api/certificate/certificate.ts ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst constants_1 = __webpack_require__(/*! ../../constants */ \"./constants/index.ts\");\nconst exportBase64_1 = __webpack_require__(/*! ./exportBase64 */ \"./api/certificate/exportBase64.ts\");\nconst getAlgorithm_1 = __webpack_require__(/*! ./getAlgorithm */ \"./api/certificate/getAlgorithm.ts\");\nconst getCadesProp_1 = __webpack_require__(/*! ./getCadesProp */ \"./api/certificate/getCadesProp.ts\");\nconst getDecodedExtendedKeyUsage_1 = __webpack_require__(/*! ./getDecodedExtendedKeyUsage */ \"./api/certificate/getDecodedExtendedKeyUsage.ts\");\nconst getExtendedKeyUsage_1 = __webpack_require__(/*! ./getExtendedKeyUsage */ \"./api/certificate/getExtendedKeyUsage.ts\");\nconst getInfo_1 = __webpack_require__(/*! ./getInfo */ \"./api/certificate/getInfo.ts\");\nconst hasExtendedKeyUsage_1 = __webpack_require__(/*! ./hasExtendedKeyUsage */ \"./api/certificate/hasExtendedKeyUsage.ts\");\nconst isValid_1 = __webpack_require__(/*! ./isValid */ \"./api/certificate/isValid.ts\");\nclass Certificate {\n constructor(_cadesCertificate, name, issuerName, subjectName, thumbprint, validFrom, validTo) {\n this._cadesCertificate = _cadesCertificate;\n this.name = name;\n this.issuerName = issuerName;\n this.subjectName = subjectName;\n this.thumbprint = thumbprint;\n this.validFrom = validFrom;\n this.validTo = validTo;\n }\n getOwnerInfo() {\n return getInfo_1.getInfo.call(this, constants_1.SUBJECT_TAGS_TRANSLATIONS, 'SubjectName');\n }\n getIssuerInfo() {\n return getInfo_1.getInfo.call(this, constants_1.ISSUER_TAGS_TRANSLATIONS, 'IssuerName');\n }\n getExtendedKeyUsage() {\n return getExtendedKeyUsage_1.getExtendedKeyUsage.call(this);\n }\n getDecodedExtendedKeyUsage() {\n return getDecodedExtendedKeyUsage_1.getDecodedExtendedKeyUsage.call(this);\n }\n getAlgorithm() {\n return getAlgorithm_1.getAlgorithm.call(this);\n }\n getCadesProp(propName) {\n return getCadesProp_1.getCadesProp.call(this, propName);\n }\n isValid() {\n return isValid_1.isValid.call(this);\n }\n exportBase64() {\n return exportBase64_1.exportBase64.call(this);\n }\n hasExtendedKeyUsage(oids) {\n return hasExtendedKeyUsage_1.hasExtendedKeyUsage.call(this, oids);\n }\n}\nexports.Certificate = Certificate;\n\n\n/***/ }),\n\n/***/ \"./api/certificate/exportBase64.ts\":\n/*!*****************************************!*\\\n !*** ./api/certificate/exportBase64.ts ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\n/**\n * Экспортирует сертификат в формате base64\n *\n * @returns сертификат в формате base64\n */\nexports.exportBase64 = _afterPluginsLoaded_1._afterPluginsLoaded(function () {\n const cadesCertificate = this._cadesCertificate;\n return eval(_generateCadesFn_1._generateCadesFn(function exportBase64() {\n let base64;\n try {\n base64 = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.Export(0);\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при экспорте сертификата');\n }\n return base64;\n }));\n});\n\n\n/***/ }),\n\n/***/ \"./api/certificate/getAlgorithm.ts\":\n/*!*****************************************!*\\\n !*** ./api/certificate/getAlgorithm.ts ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\n/**\n * Возвращает информацию об алгоритме сертификата\n *\n * @returns информацию об алгоритме и его OID'е\n */\nexports.getAlgorithm = _afterPluginsLoaded_1._afterPluginsLoaded(function () {\n const cadesCertificate = this._cadesCertificate;\n return eval(_generateCadesFn_1._generateCadesFn(function getAlgorithm() {\n const algorithmInfo = {\n algorithm: null,\n oid: null,\n };\n let cadesPublicKey;\n try {\n cadesPublicKey = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.PublicKey();\n cadesPublicKey = _generateCadesFn_1.__cadesAsyncToken__ + cadesPublicKey.Algorithm;\n algorithmInfo.algorithm = _generateCadesFn_1.__cadesAsyncToken__ + cadesPublicKey.FriendlyName;\n algorithmInfo.oid = _generateCadesFn_1.__cadesAsyncToken__ + cadesPublicKey.Value;\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении алгоритма');\n }\n return algorithmInfo;\n }));\n});\n\n\n/***/ }),\n\n/***/ \"./api/certificate/getCadesProp.ts\":\n/*!*****************************************!*\\\n !*** ./api/certificate/getCadesProp.ts ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\n/**\n * Возвращает указанное внутренее свойство у сертификата в формате Cades\n *\n * @param propName = наименование свойства\n * @returns значение запрошенного свойства\n */\nexports.getCadesProp = _afterPluginsLoaded_1._afterPluginsLoaded(function (propName) {\n const cadesCertificate = this._cadesCertificate;\n return eval(_generateCadesFn_1._generateCadesFn(function getCadesProp() {\n let propertyValue;\n try {\n propertyValue = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate[propName];\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при обращении к свойству сертификата');\n }\n return propertyValue;\n }));\n});\n\n\n/***/ }),\n\n/***/ \"./api/certificate/getDecodedExtendedKeyUsage.ts\":\n/*!*******************************************************!*\\\n !*** ./api/certificate/getDecodedExtendedKeyUsage.ts ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst constants_1 = __webpack_require__(/*! ../../constants */ \"./constants/index.ts\");\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\n/**\n * Возвращает расшифрованные ОИД'ы сертификата\n *\n * @returns словарь расшифрованных ОИД'ов\n */\nexports.getDecodedExtendedKeyUsage = _afterPluginsLoaded_1._afterPluginsLoaded(function () {\n return __awaiter(this, void 0, void 0, function* () {\n const certificateOids = yield this.getExtendedKeyUsage();\n return certificateOids.reduce((decodedOids, oidCode) => (Object.assign(Object.assign({}, decodedOids), { [oidCode]: constants_1.OIDS_DICTIONARY[oidCode] || null })), {});\n });\n});\n\n\n/***/ }),\n\n/***/ \"./api/certificate/getExtendedKeyUsage.ts\":\n/*!************************************************!*\\\n !*** ./api/certificate/getExtendedKeyUsage.ts ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\n/**\n * Возвращает ОИД'ы сертификата\n *\n * @returns список ОИД'ов\n */\nexports.getExtendedKeyUsage = _afterPluginsLoaded_1._afterPluginsLoaded(function () {\n const cadesCertificate = this._cadesCertificate;\n return eval(_generateCadesFn_1._generateCadesFn(function getExtendedKeyUsage() {\n const OIDS = [];\n let count;\n try {\n count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.ExtendedKeyUsage();\n count = _generateCadesFn_1.__cadesAsyncToken__ + count.EKUs;\n count = _generateCadesFn_1.__cadesAsyncToken__ + count.Count;\n if (count > 0) {\n while (count > 0) {\n let cadesExtendedKeyUsage;\n cadesExtendedKeyUsage = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.ExtendedKeyUsage();\n cadesExtendedKeyUsage = _generateCadesFn_1.__cadesAsyncToken__ + cadesExtendedKeyUsage.EKUs;\n cadesExtendedKeyUsage = _generateCadesFn_1.__cadesAsyncToken__ + cadesExtendedKeyUsage.Item(count);\n cadesExtendedKeyUsage = _generateCadesFn_1.__cadesAsyncToken__ + cadesExtendedKeyUsage.OID;\n OIDS.push(cadesExtendedKeyUsage);\n count--;\n }\n }\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || \"Ошибка при получении ОИД'ов\");\n }\n return OIDS;\n }));\n});\n\n\n/***/ }),\n\n/***/ \"./api/certificate/getInfo.ts\":\n/*!************************************!*\\\n !*** ./api/certificate/getInfo.ts ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _parseCertInfo_1 = __webpack_require__(/*! ../../helpers/_parseCertInfo */ \"./helpers/_parseCertInfo.ts\");\nconst getCadesProp_1 = __webpack_require__(/*! ./getCadesProp */ \"./api/certificate/getCadesProp.ts\");\n/**\n * Возвращает расшифрованную информацию о сертификате из указанного свойства по тэгам\n *\n * @param tags = словарь\n * @param entitiesPath = путь к разбираемой сущности\n * @returns расшифрованная информация по отдельным тэгам\n */\nexports.getInfo = _afterPluginsLoaded_1._afterPluginsLoaded(function (tags, entitiesPath) {\n return __awaiter(this, void 0, void 0, function* () {\n let entities;\n try {\n entities = yield getCadesProp_1.getCadesProp.call(this, entitiesPath);\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при извлечении информации из сертификата');\n }\n return _parseCertInfo_1._parseCertInfo(tags, entities);\n });\n});\n\n\n/***/ }),\n\n/***/ \"./api/certificate/hasExtendedKeyUsage.ts\":\n/*!************************************************!*\\\n !*** ./api/certificate/hasExtendedKeyUsage.ts ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\n/**\n * Проверяет наличие ОИД'а (ОИД'ов) у сертификата\n *\n * @param oids - ОИД'ы для проверки\n * @returns флаг наличия ОИД'ов у сертификата\n */\nexports.hasExtendedKeyUsage = _afterPluginsLoaded_1._afterPluginsLoaded(function (oids) {\n return __awaiter(this, void 0, void 0, function* () {\n const certOids = yield this.getExtendedKeyUsage();\n let result;\n if (Array.isArray(oids)) {\n result = oids.every((oidToCheck) => certOids.some((certOid) => certOid === oidToCheck));\n }\n else {\n result = certOids.some((certOid) => certOid === oids);\n }\n return result;\n });\n});\n\n\n/***/ }),\n\n/***/ \"./api/certificate/index.ts\":\n/*!**********************************!*\\\n !*** ./api/certificate/index.ts ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(__webpack_require__(/*! ./certificate */ \"./api/certificate/certificate.ts\"));\n\n\n/***/ }),\n\n/***/ \"./api/certificate/isValid.ts\":\n/*!************************************!*\\\n !*** ./api/certificate/isValid.ts ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\n/**\n * Проверяет действительность сертификата\n *\n * @returns флаг валидности\n */\nexports.isValid = _afterPluginsLoaded_1._afterPluginsLoaded(function () {\n const cadesCertificate = this._cadesCertificate;\n return eval(_generateCadesFn_1._generateCadesFn(function isValid() {\n let isValid;\n try {\n isValid = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.IsValid();\n isValid = _generateCadesFn_1.__cadesAsyncToken__ + isValid.Result;\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при проверке сертификата');\n }\n return Boolean(isValid);\n }));\n});\n\n\n/***/ }),\n\n/***/ \"./api/createAttachedSignature.ts\":\n/*!****************************************!*\\\n !*** ./api/createAttachedSignature.ts ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(Buffer) {\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst constants_1 = __webpack_require__(/*! ../constants */ \"./constants/index.ts\");\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\nconst _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ \"./helpers/_getCadesCert.ts\");\nconst _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ \"./helpers/_getDateObj.ts\");\n/**\n * Создает присоединенную подпись сообщения по отпечатку сертификата\n *\n * @param thumbprint - отпечаток сертификата\n * @param message - подписываемое сообщение\n * @returns подпись в формате PKCS#7\n */\nexports.createAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, unencryptedMessage) => __awaiter(void 0, void 0, void 0, function* () {\n const { cadesplugin } = window;\n const cadesCertificate = yield _getCadesCert_1._getCadesCert(thumbprint);\n return eval(_generateCadesFn_1._generateCadesFn(function createAttachedSignature() {\n let cadesAttrs;\n let cadesSignedData;\n let cadesSigner;\n try {\n cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute');\n cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData');\n cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner');\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи');\n }\n const currentTime = _getDateObj_1._getDateObj(new Date());\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи');\n }\n let messageBase64;\n try {\n messageBase64 = Buffer.from(unencryptedMessage).toString('base64');\n }\n catch (error) {\n console.error(error);\n throw new Error('Ошибка при преобразовании сообщения в Base64');\n }\n let cadesAuthAttrs;\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate));\n cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2;\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_Content(messageBase64));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи');\n }\n let signature;\n try {\n signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.SignCades(cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE);\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных');\n }\n return signature;\n }));\n}));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/buffer/index.js */ \"../node_modules/buffer/index.js\").Buffer))\n\n/***/ }),\n\n/***/ \"./api/createDetachedSignature.ts\":\n/*!****************************************!*\\\n !*** ./api/createDetachedSignature.ts ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst constants_1 = __webpack_require__(/*! ../constants */ \"./constants/index.ts\");\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\nconst _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ \"./helpers/_getCadesCert.ts\");\nconst _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ \"./helpers/_getDateObj.ts\");\n/**\n * Создает отсоединенную подпись хеша по отпечатку сертификата\n *\n * @param thumbprint - отпечаток сертификата\n * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11-2012 256 бит\n * @returns подпись в формате PKCS#7\n */\nexports.createDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, messageHash) => __awaiter(void 0, void 0, void 0, function* () {\n const { cadesplugin } = window;\n const cadesCertificate = yield _getCadesCert_1._getCadesCert(thumbprint);\n return eval(_generateCadesFn_1._generateCadesFn(function createDetachedSignature() {\n let cadesAttrs;\n let cadesHashedData;\n let cadesSignedData;\n let cadesSigner;\n try {\n cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute');\n cadesHashedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.HashedData');\n cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData');\n cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner');\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи');\n }\n const currentTime = _getDateObj_1._getDateObj(new Date());\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи');\n }\n let cadesAuthAttrs;\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate));\n cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2;\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке сертификата');\n }\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ +\n cadesHashedData.propset_Algorithm(cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesHashedData.SetHashValue(messageHash));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке хеша');\n }\n let signature;\n try {\n signature =\n _generateCadesFn_1.__cadesAsyncToken__ +\n cadesSignedData.SignHash(cadesHashedData, cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE);\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных');\n }\n return signature;\n }));\n}));\n\n\n/***/ }),\n\n/***/ \"./api/createHash.ts\":\n/*!***************************!*\\\n !*** ./api/createHash.ts ***!\n \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(Buffer) {\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\n/**\n * Создает хеш сообщения по ГОСТ Р 34.11-2012 256 бит\n * https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B8%D0%B1%D0%BE%D0%B3_(%D1%85%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F)\n *\n * @param unencryptedMessage - сообщение для хеширования\n *\n * @returns хеш\n */\nexports.createHash = _afterPluginsLoaded_1._afterPluginsLoaded((unencryptedMessage) => __awaiter(void 0, void 0, void 0, function* () {\n const { cadesplugin } = window;\n return eval(_generateCadesFn_1._generateCadesFn(function createHash() {\n const cadesHashedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.HashedData');\n let messageBase64;\n let hash;\n try {\n messageBase64 = Buffer.from(unencryptedMessage).toString('base64');\n }\n catch (error) {\n console.error(error);\n throw new Error('Ошибка при преобразовании сообщения в Base64');\n }\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ +\n cadesHashedData.propset_Algorithm(cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesHashedData.propset_DataEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesHashedData.Hash(messageBase64));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации хэширования');\n }\n try {\n hash = _generateCadesFn_1.__cadesAsyncToken__ + cadesHashedData.Value;\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при создании хэша');\n }\n return hash;\n }));\n}));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/buffer/index.js */ \"../node_modules/buffer/index.js\").Buffer))\n\n/***/ }),\n\n/***/ \"./api/createSignature.ts\":\n/*!********************************!*\\\n !*** ./api/createSignature.ts ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst constants_1 = __webpack_require__(/*! ../constants */ \"./constants/index.ts\");\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\nconst _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ \"./helpers/_getCadesCert.ts\");\nconst _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ \"./helpers/_getDateObj.ts\");\n/**\n * Создает подпись base64 строки по отпечатку сертификата\n *\n * @param thumbprint - отпечаток сертификата\n * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11\n * @param detachedSignature = true - тип подписи открепленная (true) / присоединенная (false)\n * @returns подпись\n */\nexports.createSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, messageHash, detachedSignature = true) => __awaiter(void 0, void 0, void 0, function* () {\n console.warn([\n 'cryptoPro: Метод \"createSignature\" является устаревшим и будет убран из будущих версий.',\n 'Используйте \"createAttachedSignature\" и \"createDetachedSignature\".',\n ].join('\\n'));\n const { cadesplugin } = window;\n const cadesCertificate = yield _getCadesCert_1._getCadesCert(thumbprint);\n return eval(_generateCadesFn_1._generateCadesFn(function createSignature() {\n let cadesAttrs;\n let cadesSignedData;\n let cadesSigner;\n try {\n cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute');\n cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData');\n cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner');\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи');\n }\n const currentTime = _getDateObj_1._getDateObj(new Date());\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи');\n }\n let cadesAuthAttrs;\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate));\n cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2;\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_Content(messageHash));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи');\n }\n let signature;\n try {\n signature =\n _generateCadesFn_1.__cadesAsyncToken__ +\n cadesSignedData.SignCades(cadesSigner, cadesplugin.CADESCOM_CADES_BES, detachedSignature);\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных');\n }\n return signature;\n }));\n}));\n\n\n/***/ }),\n\n/***/ \"./api/createXMLSignature.ts\":\n/*!***********************************!*\\\n !*** ./api/createXMLSignature.ts ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\nconst _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ \"./helpers/_getCadesCert.ts\");\n/**\n * Создает XML подпись для документа в формате XML\n *\n * @param thumbprint - отпечаток сертификата\n * @param unencryptedMessage - подписываемое сообщение в формате XML\n * @returns подпись\n */\nexports.createXMLSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, unencryptedMessage) => __awaiter(void 0, void 0, void 0, function* () {\n const { cadesplugin } = window;\n const cadesCertificate = yield _getCadesCert_1._getCadesCert(thumbprint);\n return eval(_generateCadesFn_1._generateCadesFn(function createXMLSignature() {\n let cadesSigner;\n let cadesSignedXML;\n try {\n cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner');\n cadesSignedXML = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.SignedXML');\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи');\n }\n try {\n const signatureMethod = 'urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256';\n const digestMethod = 'urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256';\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_CheckCertificate(true));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedXML.propset_Content(unencryptedMessage));\n void (_generateCadesFn_1.__cadesAsyncToken__ +\n cadesSignedXML.propset_SignatureType(cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedXML.propset_SignatureMethod(signatureMethod));\n void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedXML.propset_DigestMethod(digestMethod));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи');\n }\n let signature;\n try {\n signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedXML.Sign(cadesSigner);\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных');\n }\n return signature;\n }));\n}));\n\n\n/***/ }),\n\n/***/ \"./api/execute.ts\":\n/*!************************!*\\\n !*** ./api/execute.ts ***!\n \\************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\n/**\n * Функция кастомной реализации с доступом к Cades плагину напрямую\n *\n * @callback executeCallback\n * @param exposedAPI - API доступные для кастомной реализации\n * @param exposedAPI.cadesplugin - Cades плагин, предоставляемый КриптоПРО\n * @param exposedAPI._generateCadesFn - функция, компилирующая тело передаваемой javascript функции для текущей среды\n * @param exposedAPI.__cadesAsyncToken__ - синтетический маркер, подменяемый в рантайме\n * @param exposedAPI.__createCadesPluginObject__ - функция для создания синхронных/асинхронных Cades объектов\n * @param exposedAPI._extractMeaningfulErrorMessage - хелпер для извлечения текста ошибки\n *\n * @returns результат выполнения кастомной реализации\n */\n/**\n * Компилирует и выполняет переданную функцию для доступной браузерной среды (синхронной/асинхронной)\n *\n * @param {executeCallback} callback - функция, использующая низкоуровневый доступ к Cades плагину\n *\n * @returns асинхронный результат выполнения передаваемой функции\n */\nexports.execute = _afterPluginsLoaded_1._afterPluginsLoaded((callback) => __awaiter(void 0, void 0, void 0, function* () {\n return yield callback({\n cadesplugin: window.cadesplugin,\n _generateCadesFn: _generateCadesFn_1._generateCadesFn,\n __cadesAsyncToken__: _generateCadesFn_1.__cadesAsyncToken__,\n __createCadesPluginObject__: _generateCadesFn_1.__createCadesPluginObject__,\n _extractMeaningfulErrorMessage: _extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage,\n });\n}));\n\n\n/***/ }),\n\n/***/ \"./api/getCertificate.ts\":\n/*!*******************************!*\\\n !*** ./api/getCertificate.ts ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst getUserCertificates_1 = __webpack_require__(/*! ./getUserCertificates */ \"./api/getUserCertificates.ts\");\n/**\n * Возвращает сертификат по отпечатку\n *\n * @param thumbprint - отпечаток сертификата\n * @returns сертификат\n */\nexports.getCertificate = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) => __awaiter(void 0, void 0, void 0, function* () {\n if (!thumbprint) {\n throw new Error('Отпечаток не указан');\n }\n const availableCertificates = yield getUserCertificates_1.getUserCertificates();\n const foundCertificate = availableCertificates.find((cert) => cert.thumbprint === thumbprint);\n if (!foundCertificate) {\n throw new Error(`Сертификат с отпечатком: \"${thumbprint}\" не найден`);\n }\n return foundCertificate;\n}));\n\n\n/***/ }),\n\n/***/ \"./api/getSystemInfo.ts\":\n/*!******************************!*\\\n !*** ./api/getSystemInfo.ts ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\n/**\n * Предоставляет информацию о системе\n *\n * @returns информацию о CSP и плагине\n */\nexports.getSystemInfo = _afterPluginsLoaded_1._afterPluginsLoaded(() => {\n const sysInfo = {\n cadesVersion: null,\n cspVersion: null,\n };\n return eval(_generateCadesFn_1._generateCadesFn(function getSystemInfo() {\n let cadesAbout;\n try {\n cadesAbout = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.About');\n sysInfo.cadesVersion = _generateCadesFn_1.__cadesAsyncToken__ + cadesAbout.PluginVersion;\n sysInfo.cspVersion = _generateCadesFn_1.__cadesAsyncToken__ + cadesAbout.CSPVersion();\n if (!sysInfo.cadesVersion) {\n sysInfo.cadesVersion = _generateCadesFn_1.__cadesAsyncToken__ + cadesAbout.Version;\n }\n sysInfo.cadesVersion = _generateCadesFn_1.__cadesAsyncToken__ + sysInfo.cadesVersion.toString();\n sysInfo.cspVersion = _generateCadesFn_1.__cadesAsyncToken__ + sysInfo.cspVersion.toString();\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении информации о системе');\n }\n return sysInfo;\n }));\n});\n\n\n/***/ }),\n\n/***/ \"./api/getUserCertificates.ts\":\n/*!************************************!*\\\n !*** ./api/getUserCertificates.ts ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst certificate_1 = __webpack_require__(/*! ./certificate */ \"./api/certificate/index.ts\");\nconst constants_1 = __webpack_require__(/*! ../constants */ \"./constants/index.ts\");\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractCommonName_1 = __webpack_require__(/*! ../helpers/_extractCommonName */ \"./helpers/_extractCommonName.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\nlet certificatesCache;\n/**\n * Возвращает список сертификатов, доступных пользователю в системе\n *\n * @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов\n * @returns список сертификатов\n */\nexports.getUserCertificates = _afterPluginsLoaded_1._afterPluginsLoaded((resetCache = false) => {\n const { cadesplugin } = window;\n if (!resetCache && certificatesCache) {\n return certificatesCache;\n }\n return eval(_generateCadesFn_1._generateCadesFn(function getUserCertificates() {\n let cadesStore;\n try {\n cadesStore = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.Store');\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при попытке доступа к хранилищу');\n }\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ +\n cadesStore.Open(cadesplugin.CAPICOM_CURRENT_USER_STORE, cadesplugin.CAPICOM_MY_STORE, cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища');\n }\n let cadesCertificates;\n let cadesCertificatesCount;\n try {\n cadesCertificates = _generateCadesFn_1.__cadesAsyncToken__ + cadesStore.Certificates;\n if (cadesCertificates) {\n cadesCertificates =\n _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificates.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_VALID);\n /**\n * Не рассматриваются сертификаты, в которых отсутствует закрытый ключ\n * или не действительны на данный момент\n */\n cadesCertificates =\n _generateCadesFn_1.__cadesAsyncToken__ +\n cadesCertificates.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY, constants_1.CAPICOM_PROPID_KEY_PROV_INFO);\n cadesCertificatesCount = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificates.Count;\n }\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов');\n }\n if (!cadesCertificatesCount) {\n throw new Error('Нет доступных сертификатов');\n }\n const certificateList = [];\n try {\n while (cadesCertificatesCount) {\n const cadesCertificate = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificates.Item(cadesCertificatesCount);\n certificateList.push(new certificate_1.Certificate(cadesCertificate, _extractCommonName_1._extractCommonName(_generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.SubjectName), _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.IssuerName, _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.SubjectName, _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.Thumbprint, _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.ValidFromDate, _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificate.ValidToDate));\n cadesCertificatesCount--;\n }\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка обработки сертификатов');\n }\n cadesStore.Close();\n certificatesCache = certificateList;\n return certificatesCache;\n }));\n});\n\n\n/***/ }),\n\n/***/ \"./api/index.ts\":\n/*!**********************!*\\\n !*** ./api/index.ts ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(__webpack_require__(/*! ./getCertificate */ \"./api/getCertificate.ts\"));\n__export(__webpack_require__(/*! ./getUserCertificates */ \"./api/getUserCertificates.ts\"));\n__export(__webpack_require__(/*! ./getSystemInfo */ \"./api/getSystemInfo.ts\"));\n__export(__webpack_require__(/*! ./isValidSystemSetup */ \"./api/isValidSystemSetup.ts\"));\n__export(__webpack_require__(/*! ./createSignature */ \"./api/createSignature.ts\"));\n__export(__webpack_require__(/*! ./createXMLSignature */ \"./api/createXMLSignature.ts\"));\n__export(__webpack_require__(/*! ./createDetachedSignature */ \"./api/createDetachedSignature.ts\"));\n__export(__webpack_require__(/*! ./createAttachedSignature */ \"./api/createAttachedSignature.ts\"));\n__export(__webpack_require__(/*! ./createHash */ \"./api/createHash.ts\"));\n__export(__webpack_require__(/*! ./certificate */ \"./api/certificate/index.ts\"));\n__export(__webpack_require__(/*! ./execute */ \"./api/execute.ts\"));\n\n\n/***/ }),\n\n/***/ \"./api/isValidSystemSetup.ts\":\n/*!***********************************!*\\\n !*** ./api/isValidSystemSetup.ts ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _isSupportedCadesVersion_1 = __webpack_require__(/*! ../helpers/_isSupportedCadesVersion */ \"./helpers/_isSupportedCadesVersion.ts\");\nconst _isSupportedCSPVersion_1 = __webpack_require__(/*! ../helpers/_isSupportedCSPVersion */ \"./helpers/_isSupportedCSPVersion.ts\");\nconst getSystemInfo_1 = __webpack_require__(/*! ./getSystemInfo */ \"./api/getSystemInfo.ts\");\n/**\n * Проверяет корректность настроек ЭП на машине\n *\n * @returns флаг корректности настроек\n */\nexports.isValidSystemSetup = _afterPluginsLoaded_1._afterPluginsLoaded(() => __awaiter(void 0, void 0, void 0, function* () {\n let systemInfo;\n try {\n systemInfo = yield getSystemInfo_1.getSystemInfo();\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Настройки ЭП на данной машине не верны');\n }\n if (!_isSupportedCadesVersion_1._isSupportedCadesVersion(systemInfo.cadesVersion)) {\n throw new Error('Не поддерживаемая версия плагина');\n }\n if (!_isSupportedCSPVersion_1._isSupportedCSPVersion(systemInfo.cspVersion)) {\n throw new Error('Не поддерживаемая версия CSP');\n }\n return true;\n}));\n\n\n/***/ }),\n\n/***/ \"./constants/cades-constants.ts\":\n/*!**************************************!*\\\n !*** ./constants/cades-constants.ts ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CADESCOM_ATTRIBUTE_OTHER = -1;\nexports.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2;\nexports.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;\nexports.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;\nexports.CADESCOM_AllowNoOutstandingRequest = 1;\nexports.CADESCOM_AllowNone = 0;\nexports.CADESCOM_AllowUntrustedCertificate = 2;\nexports.CADESCOM_AllowUntrustedRoot = 4;\nexports.CADESCOM_BASE64_TO_BINARY = 0x01;\nexports.CADESCOM_CADES_BES = 1;\nexports.CADESCOM_CADES_DEFAULT = 0;\nexports.CADESCOM_CADES_T = 5;\nexports.CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;\nexports.CADESCOM_CONTAINER_STORE = 100;\nexports.CADESCOM_CURRENT_USER_STORE = 2;\nexports.CADESCOM_DISPLAY_DATA_ATTRIBUTE = 2;\nexports.CADESCOM_DISPLAY_DATA_CONTENT = 1;\nexports.CADESCOM_DISPLAY_DATA_NONE = 0;\nexports.CADESCOM_ENCODE_ANY = -1;\nexports.CADESCOM_ENCODE_BASE64 = 0;\nexports.CADESCOM_ENCODE_BINARY = 1;\nexports.CADESCOM_ENCRYPTION_ALGORITHM_3DES = 3;\nexports.CADESCOM_ENCRYPTION_ALGORITHM_AES = 4;\nexports.CADESCOM_ENCRYPTION_ALGORITHM_DES = 2;\nexports.CADESCOM_ENCRYPTION_ALGORITHM_GOST_28147_89 = 25;\nexports.CADESCOM_ENCRYPTION_ALGORITHM_RC2 = 0;\nexports.CADESCOM_ENCRYPTION_ALGORITHM_RC4 = 1;\nexports.CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100;\nexports.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 = 101;\nexports.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256_HMAC = 111;\nexports.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512 = 102;\nexports.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512_HMAC = 112;\nexports.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_HMAC = 110;\nexports.CADESCOM_HASH_ALGORITHM_MD2 = 1;\nexports.CADESCOM_HASH_ALGORITHM_MD4 = 2;\nexports.CADESCOM_HASH_ALGORITHM_MD5 = 3;\nexports.CADESCOM_HASH_ALGORITHM_SHA1 = 0;\nexports.CADESCOM_HASH_ALGORITHM_SHA_256 = 4;\nexports.CADESCOM_HASH_ALGORITHM_SHA_384 = 5;\nexports.CADESCOM_HASH_ALGORITHM_SHA_512 = 6;\nexports.CADESCOM_LOCAL_MACHINE_STORE = 1;\nexports.CADESCOM_PKCS7_TYPE = 65535;\nexports.CADESCOM_STRING_TO_UCS2LE = 0x00;\nexports.CADESCOM_SkipInstallToStore = 268435456;\nexports.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED = 0;\nexports.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING = 1;\nexports.CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE = 2;\nexports.CAPICOM_ACTIVE_DIRECTORY_USER_STORE = 3;\nexports.CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2;\nexports.CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;\nexports.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;\nexports.CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY = 7;\nexports.CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY = 8;\nexports.CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY = 6;\nexports.CAPICOM_CERTIFICATE_FIND_EXTENSION = 5;\nexports.CAPICOM_CERTIFICATE_FIND_ISSUER_NAME = 2;\nexports.CAPICOM_CERTIFICATE_FIND_KEY_USAGE = 12;\nexports.CAPICOM_CERTIFICATE_FIND_ROOT_NAME = 3;\nexports.CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;\nexports.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;\nexports.CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME = 4;\nexports.CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED = 11;\nexports.CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID = 10;\nexports.CAPICOM_CERTIFICATE_FIND_TIME_VALID = 9;\nexports.CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT = 0;\nexports.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY = 2;\nexports.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN = 1;\nexports.CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME = 1;\nexports.CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME = 0;\nexports.CAPICOM_CURRENT_USER_STORE = 2;\nexports.CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE = 128;\nexports.CAPICOM_EKU_CLIENT_AUTH = 2;\nexports.CAPICOM_EKU_OTHER = 0;\nexports.CAPICOM_EKU_SMARTCARD_LOGON = 5;\nexports.CAPICOM_LOCAL_MACHINE_STORE = 1;\nexports.CAPICOM_MEMORY_STORE = 0;\nexports.CAPICOM_MY_STORE = 'My';\nexports.CAPICOM_OID_KEY_USAGE_EXTENSION = 10;\nexports.CAPICOM_OID_OTHER = 0;\nexports.CAPICOM_PROPID_ACCESS_STATE = 14;\nexports.CAPICOM_PROPID_ARCHIVED = 19;\nexports.CAPICOM_PROPID_ARCHIVED_KEY_HASH = 65;\nexports.CAPICOM_PROPID_AUTO_ENROLL = 21;\nexports.CAPICOM_PROPID_CROSS_CERT_DIST_POINTS = 23;\nexports.CAPICOM_PROPID_CTL_USAGE = 9;\nexports.CAPICOM_PROPID_DATE_STAMP = 27;\nexports.CAPICOM_PROPID_DESCRIPTION = 13;\nexports.CAPICOM_PROPID_EFS = 17;\nexports.CAPICOM_PROPID_ENHKEY_USAGE = 9;\nexports.CAPICOM_PROPID_ENROLLMENT = 26;\nexports.CAPICOM_PROPID_EXTENDED_ERROR_INFO = 30;\nexports.CAPICOM_PROPID_FIRST_RESERVED = 66;\nexports.CAPICOM_PROPID_FIRST_USER = 0x00008000;\nexports.CAPICOM_PROPID_FORTEZZA_DATA = 18;\nexports.CAPICOM_PROPID_FRIENDLY_NAME = 11;\nexports.CAPICOM_PROPID_HASH_PROP = 3;\nexports.CAPICOM_PROPID_IE30_RESERVED = 7;\nexports.CAPICOM_PROPID_ISSUER_PUBLIC_KEY_MD5_HASH = 24;\nexports.CAPICOM_PROPID_ISSUER_SERIAL_NUMBER_MD5_HASH = 28;\nexports.CAPICOM_PROPID_KEY_CONTEXT = 5;\nexports.CAPICOM_PROPID_KEY_IDENTIFIER = 20;\nexports.CAPICOM_PROPID_KEY_PROV_HANDLE = 1;\nexports.CAPICOM_PROPID_KEY_PROV_INFO = 2;\nexports.CAPICOM_PROPID_KEY_SPEC = 6;\nexports.CAPICOM_PROPID_LAST_RESERVED = 0x00007fff;\nexports.CAPICOM_PROPID_LAST_USER = 0x0000ffff;\nexports.CAPICOM_PROPID_MD5_HASH = 4;\nexports.CAPICOM_PROPID_NEXT_UPDATE_LOCATION = 10;\nexports.CAPICOM_PROPID_PUBKEY_ALG_PARA = 22;\nexports.CAPICOM_PROPID_PUBKEY_HASH_RESERVED = 8;\nexports.CAPICOM_PROPID_PVK_FILE = 12;\nexports.CAPICOM_PROPID_RENEWAL = 64;\nexports.CAPICOM_PROPID_SHA1_HASH = 3;\nexports.CAPICOM_PROPID_SIGNATURE_HASH = 15;\nexports.CAPICOM_PROPID_SMART_CARD_DATA = 16;\nexports.CAPICOM_PROPID_SUBJECT_NAME_MD5_HASH = 29;\nexports.CAPICOM_PROPID_SUBJECT_PUBLIC_KEY_MD5_HASH = 25;\nexports.CAPICOM_PROPID_UNKNOWN = 0;\nexports.CAPICOM_SMART_CARD_USER_STORE = 4;\nexports.CAPICOM_STORE_OPEN_EXISTING_ONLY = 128;\nexports.CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED = 256;\nexports.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;\nexports.CAPICOM_STORE_OPEN_READ_ONLY = 0;\nexports.CAPICOM_STORE_OPEN_READ_WRITE = 1;\nexports.CHECK_NONE = 0;\nexports.CHECK_OFFLINE_REVOCATION_STATUS = 16;\nexports.CHECK_ONLINE_REVOCATION_STATUS = 8;\nexports.CHECK_SIGNATURE_VALIDITY = 4;\nexports.CHECK_TIME_VALIDITY = 2;\nexports.CHECK_TRUSTED_ROOT = 1;\nexports.LOG_LEVEL_DEBUG = 4;\nexports.LOG_LEVEL_ERROR = 1;\nexports.LOG_LEVEL_INFO = 2;\nexports.TRUST_CTL_IS_NOT_SIGNATURE_VALID = 262144;\nexports.TRUST_CTL_IS_NOT_TIME_VALID = 131072;\nexports.TRUST_CTL_IS_NOT_VALID_FOR_USAGE = 524288;\nexports.TRUST_IS_CYCLIC = 128;\nexports.TRUST_IS_NOT_SIGNATURE_VALID = 8;\nexports.TRUST_IS_NOT_TIME_NESTED = 2;\nexports.TRUST_IS_NOT_TIME_VALID = 1;\nexports.TRUST_IS_NOT_VALID_FOR_USAGE = 16;\nexports.TRUST_IS_PARTIAL_CHAIN = 65536;\nexports.TRUST_IS_REVOKED = 4;\nexports.TRUST_IS_UNTRUSTED_ROOT = 32;\nexports.TRUST_REVOCATION_STATUS_UNKNOWN = 64;\nexports.XmlDsigGost3410Url = 'urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411';\nexports.XmlDsigGost3410UrlObsolete = 'http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411';\nexports.XmlDsigGost3411Url = 'urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411';\nexports.XmlDsigGost3411UrlObsolete = 'http://www.w3.org/2001/04/xmldsig-more#gostr3411';\n\n\n/***/ }),\n\n/***/ \"./constants/index.ts\":\n/*!****************************!*\\\n !*** ./constants/index.ts ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(__webpack_require__(/*! ./cades-constants */ \"./constants/cades-constants.ts\"));\n__export(__webpack_require__(/*! ./issuer-tags-translations */ \"./constants/issuer-tags-translations.ts\"));\n__export(__webpack_require__(/*! ./oids-dictionary */ \"./constants/oids-dictionary.ts\"));\n__export(__webpack_require__(/*! ./subject-tags-translations */ \"./constants/subject-tags-translations.ts\"));\n\n\n/***/ }),\n\n/***/ \"./constants/issuer-tags-translations.ts\":\n/*!***********************************************!*\\\n !*** ./constants/issuer-tags-translations.ts ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ISSUER_TAGS_TRANSLATIONS = [\n { possibleNames: ['UnstructuredName'], translation: 'Неструктурированное имя' },\n { possibleNames: ['CN'], translation: 'Удостоверяющий центр' },\n { possibleNames: ['C'], translation: 'Страна' },\n { possibleNames: ['S'], translation: 'Регион' },\n { possibleNames: ['STREET'], translation: 'Адрес' },\n { possibleNames: ['O'], translation: 'Компания' },\n { possibleNames: ['OU'], translation: 'Тип' },\n { possibleNames: ['T'], translation: 'Должность' },\n { possibleNames: ['ОГРН', 'OGRN'], translation: 'ОГРН' },\n { possibleNames: ['ОГРНИП', 'OGRNIP'], translation: 'ОГРНИП' },\n { possibleNames: ['СНИЛС', 'SNILS'], translation: 'СНИЛС' },\n { possibleNames: ['ИНН', 'INN', 'ИНН организации'], translation: 'ИНН' },\n { possibleNames: ['E'], translation: 'Email' },\n { possibleNames: ['L'], translation: 'Город' },\n];\n\n\n/***/ }),\n\n/***/ \"./constants/oids-dictionary.ts\":\n/*!**************************************!*\\\n !*** ./constants/oids-dictionary.ts ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OIDS_DICTIONARY = {\n '1.2.643.2.2.34.6': 'Пользователь Центра Регистрации',\n '1.2.643.2.39.1.1': 'Использование в программных продуктах системы \"1С:Предприятие 8\"',\n '1.2.643.3.131.1.1': 'ИНН',\n '1.2.643.3.141.1.1': 'РНС ФСС',\n '1.2.643.3.141.1.2': 'КП ФСС',\n '1.2.643.3.2.100.65.13.11': 'Использование в системе АИС \"Госзакупки\" Сахалинской области.',\n '1.2.643.3.8.100.1': 'Сертификат типа \"ekey-ГОСТ\"',\n '1.2.643.3.8.100.1.1': 'Общее использование в системах ИОК без права заверения финансовых документов',\n '1.2.643.3.8.100.1.10': 'Для участия в электронных торгах и подписания государственного контракта в информационных системах Тендерного комитета города Москвы уполномоченными лицами участников размещения государственного заказа города Москвы',\n '1.2.643.3.8.100.1.11': 'Подписание электронных документов в автоматизированной информационной системе размещения государственного и муниципального заказа Саратовской области',\n '1.2.643.3.8.100.1.12': 'Использование в системе государственного заказа Иркутской области',\n '1.2.643.3.8.100.1.13': 'Использование в электронной торговой площадке агентства государственного заказа Красноярского края',\n '1.2.643.3.8.100.1.14': 'Использование в электронной торговой площадке \"Тендер\"',\n '1.2.643.3.8.100.1.2': 'Передача отчетности по ТКС',\n '1.2.643.3.8.100.1.3': 'Оформление взаимных обязательств, соглашений, договоров, актов и т.п.',\n '1.2.643.3.8.100.1.4': 'Внутрикорпоративный документооборот',\n '1.2.643.3.8.100.1.5': 'Использование в системах электронной торговли',\n '1.2.643.3.8.100.1.6': 'Использование в торгово-закупочной системе \"ЭЛЕКТРА\"',\n '1.2.643.3.8.100.1.7': 'Использование в системе Портал государственных закупок Ставропольского края.',\n '1.2.643.3.8.100.1.8': 'Использование в Единой системе электронной торговли B2B-Center и B2G.',\n '1.2.643.3.8.100.1.9': 'Для участия в электронных торгах и подписания государственного контракта в электронной площадке ОАО «ЕЭТП» уполномоченными лицами участников размещения государственного или муниципального заказа',\n '1.2.643.5.1.24.2.1.3': 'Формирование документов для получения государственных услуг в сфере ведения государственного кадастра недвижимости со стороны заявителя',\n '1.2.643.5.1.24.2.1.3.1': 'Формирование кадастровым инженером документов для получения государственных услуг в сфере ведения государственного кадастра недвижимости со стороны заявителя',\n '1.2.643.5.1.24.2.2.2': 'Формирование документов как результата оказания услуги со стороны органов регистрации прав',\n '1.2.643.5.1.24.2.2.3': 'Формирование документов для получения государственных услуг в сфере государственной регистрации прав на недвижимое имущество и сделок с ним со стороны заявителя',\n '1.2.643.6.2.1.7.1': 'Использование единоличным исполнительным органом юридического лица или уполномоченными представителями юридического лица в отношениях, связанных с возникновением, исполнением (осуществлением) и прекращением гражданских и иных прав и обязанностей в сфере негосударственного пенсионного обеспечения, негосударственного пенсионного страхования, в сфере деятельности паевых инвестиционных фондов, акционерных инвестиционных фондов, профессиональных участников рынка ценных бумаг, а также связанной с обслуживанием указанной деятельности услуг кредитных и иных организаций',\n '1.2.643.6.2.1.7.2': 'Использование физическим лицом в отношениях, связанных с возникновением, исполнением (осуществлением) и прекращением гражданских прав и обязанностей в отношении инвестиционных паев паевых инвестиционных фондов, в том числе отношения, связанные с учетом и/или фиксацией прав на инвестиционные паи паевых инвестиционных фондов',\n '1.2.643.6.3': 'Использование в электронных торговых системах и в программном обеспечении, связанным с обменом электронных сообщений',\n '1.2.643.6.3.1.1': 'Использование на электронных площадок отобранных для проведения аукционах в электронной форме',\n '1.2.643.6.3.1.2.1': 'Тип участника - Юридическое лицо',\n '1.2.643.6.3.1.2.2': 'Тип участника - Физическое лицо',\n '1.2.643.6.3.1.2.3': 'Тип участника - Индивидуальный предприниматель',\n '1.2.643.6.3.1.3.1': 'Участник размещения заказа',\n '1.2.643.6.3.1.4.1': 'Администратор организации',\n '1.2.643.6.3.1.4.2': 'Уполномоченный специалист',\n '1.2.643.6.3.1.4.3': 'Специалист с правом подписи контракта',\n '1.2.840.113549.1.9.2': 'Неструктурированное имя',\n '1.3.6.1.4.1.24138.1.1.8.1': 'Обеспечение юридической значимости в Системе \"Электронная Торговая Площадка\"',\n '1.3.6.1.4.1.29919.21': 'Использование в системе Портал государственных закупок Ростовской области \"Рефери\".',\n '1.3.6.1.5.5.7.3.2': 'Проверка подлинности клиента',\n '1.3.6.1.5.5.7.3.4': 'Защищенная электронная почта',\n '1.3.643.3.8.100.15': 'Использование в ЭТП \"uTender\"',\n};\n\n\n/***/ }),\n\n/***/ \"./constants/subject-tags-translations.ts\":\n/*!************************************************!*\\\n !*** ./constants/subject-tags-translations.ts ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SUBJECT_TAGS_TRANSLATIONS = [\n { possibleNames: ['UnstructuredName'], translation: 'Неструктурированное имя' },\n { possibleNames: ['CN'], translation: 'Владелец' },\n { possibleNames: ['SN'], translation: 'Фамилия' },\n { possibleNames: ['G'], translation: 'Имя Отчество' },\n { possibleNames: ['C'], translation: 'Страна' },\n { possibleNames: ['S'], translation: 'Регион' },\n { possibleNames: ['STREET'], translation: 'Адрес' },\n { possibleNames: ['O'], translation: 'Компания' },\n { possibleNames: ['OU'], translation: 'Отдел/подразделение' },\n { possibleNames: ['T'], translation: 'Должность' },\n { possibleNames: ['ОГРН', 'OGRN'], translation: 'ОГРН' },\n { possibleNames: ['ОГРНИП', 'OGRNIP'], translation: 'ОГРНИП' },\n { possibleNames: ['СНИЛС', 'SNILS'], translation: 'СНИЛС' },\n { possibleNames: ['ИНН', 'INN', 'ИНН организации'], translation: 'ИНН' },\n { possibleNames: ['E'], translation: 'Email' },\n { possibleNames: ['L'], translation: 'Город' },\n];\n\n\n/***/ }),\n\n/***/ \"./crypto-pro.ts\":\n/*!***********************!*\\\n !*** ./crypto-pro.ts ***!\n \\***********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(__webpack_require__(/*! ./api */ \"./api/index.ts\"));\n\n\n/***/ }),\n\n/***/ \"./helpers/_afterPluginsLoaded.ts\":\n/*!****************************************!*\\\n !*** ./helpers/_afterPluginsLoaded.ts ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nlet isSetLogLevel = false;\nlet isPluginLoaded = false;\nexports._afterPluginsLoaded = (fn) => {\n const canPromise = Boolean(window.Promise);\n return function (...args) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!isPluginLoaded) {\n try {\n __webpack_require__(/*! ../vendor/cadesplugin_api */ \"./vendor/cadesplugin_api.js\");\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подключении модуля для работы с Cades plugin');\n }\n isPluginLoaded = true;\n }\n const { cadesplugin } = window;\n if (!canPromise) {\n throw new Error('Необходим полифилл для Promise');\n }\n if (!cadesplugin) {\n throw new Error('Не подключен модуль для работы с Cades plugin');\n }\n if (!isSetLogLevel) {\n cadesplugin.set_log_level(cadesplugin.LOG_LEVEL_ERROR);\n isSetLogLevel = true;\n }\n try {\n yield cadesplugin;\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации модуля для работы с Cades plugin');\n }\n return yield fn.apply(this, args);\n });\n };\n};\n\n\n/***/ }),\n\n/***/ \"./helpers/_extractCommonName.ts\":\n/*!***************************************!*\\\n !*** ./helpers/_extractCommonName.ts ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports._extractCommonName = (subjectName) => { var _a; return (_a = subjectName.match(/CN=(.+?)(?:,|$)/)) === null || _a === void 0 ? void 0 : _a[1]; };\n\n\n/***/ }),\n\n/***/ \"./helpers/_extractMeaningfulErrorMessage.ts\":\n/*!***************************************************!*\\\n !*** ./helpers/_extractMeaningfulErrorMessage.ts ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports._extractMeaningfulErrorMessage = (error) => {\n var _a;\n let errorContainer = ((_a = window.cadesplugin) === null || _a === void 0 ? void 0 : _a.getLastError) && window.cadesplugin.getLastError(error);\n if (!(errorContainer === null || errorContainer === void 0 ? void 0 : errorContainer.message)) {\n if (!error.message) {\n return null;\n }\n errorContainer = error;\n }\n const containsRussianLetters = /[а-яА-Я]/.test(errorContainer.message);\n if (!containsRussianLetters) {\n return null;\n }\n const searchResult = errorContainer.message.match(/^(.*?)(?:(?:\\.?\\s?\\(?0x)|(?:\\.?$))/);\n return searchResult ? searchResult[1] : null;\n};\n\n\n/***/ }),\n\n/***/ \"./helpers/_generateCadesFn.ts\":\n/*!*************************************!*\\\n !*** ./helpers/_generateCadesFn.ts ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// синтетические переменные, которые подменяются в рантайме\nexports.__cadesAsyncToken__ = {};\nexports.__createCadesPluginObject__ = (...args) => ({});\nfunction getGeneratorConstructor() {\n return new Function('', 'return Object.getPrototypeOf(function*(){}).constructor')();\n}\nexports._generateCadesFn = (callback) => {\n var _a;\n const { cadesplugin } = window;\n const cadesGeneratorsAPI = Boolean(cadesplugin.CreateObjectAsync);\n const callbackName = callback.name || 'dynamicFn';\n const callbackLiteral = String(callback);\n const callbackArguments = ((_a = callbackLiteral.match(/^function[\\s\\w]*?\\((.*?)\\)/)) === null || _a === void 0 ? void 0 : _a[1]) || '';\n const callbackBody = callbackLiteral.replace(/^.*?{([\\s\\S]*?)}$/, '$1');\n let crossEnvCallbackLiteral = String(new (cadesGeneratorsAPI ? getGeneratorConstructor() : Function)(callbackArguments, callbackBody));\n crossEnvCallbackLiteral = crossEnvCallbackLiteral.replace(/(?:\\w+?\\.)?__createCadesPluginObject__(\\([\\s\\S]*?\\))/gm, `cadesplugin.CreateObject${cadesGeneratorsAPI ? 'Async' : ''}$1`);\n crossEnvCallbackLiteral = crossEnvCallbackLiteral.replace(/(?:\\w+?\\.)?__cadesAsyncToken__\\s*?\\+\\s*?\\b/gm, cadesGeneratorsAPI ? 'yield ' : '');\n if (!cadesGeneratorsAPI) {\n crossEnvCallbackLiteral = crossEnvCallbackLiteral.replace(/propset_(.*?)\\((.*?)\\)/gm, '$1 = $2');\n }\n return [\n cadesGeneratorsAPI ? `cadesplugin.async_spawn(${crossEnvCallbackLiteral});` : `(${crossEnvCallbackLiteral})();`,\n `//# sourceURL=crypto-pro_${callbackName}.js`,\n ].join('');\n};\n\n\n/***/ }),\n\n/***/ \"./helpers/_getCadesCert.ts\":\n/*!**********************************!*\\\n !*** ./helpers/_getCadesCert.ts ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ \"./helpers/_afterPluginsLoaded.ts\");\nconst _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ \"./helpers/_extractMeaningfulErrorMessage.ts\");\nconst _generateCadesFn_1 = __webpack_require__(/*! ./_generateCadesFn */ \"./helpers/_generateCadesFn.ts\");\n/**\n * Возвращает сертификат в формате Cades по отпечатку\n *\n * @param thumbprint - отпечаток сертификата\n * @returns сертификат в формате Cades\n */\nexports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) => {\n const { cadesplugin } = window;\n return eval(_generateCadesFn_1._generateCadesFn(function _getCadesCert() {\n let cadesStore;\n try {\n cadesStore = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.Store');\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при попытке доступа к хранилищу');\n }\n if (!cadesStore) {\n throw new Error('Не удалось получить доступ к хранилищу сертификатов');\n }\n try {\n void (_generateCadesFn_1.__cadesAsyncToken__ +\n cadesStore.Open(cadesplugin.CAPICOM_CURRENT_USER_STORE, cadesplugin.CAPICOM_MY_STORE, cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED));\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища');\n }\n let cadesCertificateList;\n let certificatesCount;\n try {\n cadesCertificateList = _generateCadesFn_1.__cadesAsyncToken__ + cadesStore.Certificates;\n certificatesCount = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count;\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов');\n }\n if (!certificatesCount) {\n throw new Error('Нет доступных сертификатов');\n }\n let cadesCertificate;\n try {\n cadesCertificateList =\n _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);\n const count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count;\n if (!count) {\n throw new Error(`Сертификат с отпечатком: \"${thumbprint}\" не найден`);\n }\n cadesCertificate = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Item(1);\n }\n catch (error) {\n console.error(error);\n throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата');\n }\n cadesStore.Close();\n return cadesCertificate;\n }));\n});\n\n\n/***/ }),\n\n/***/ \"./helpers/_getDateObj.ts\":\n/*!********************************!*\\\n !*** ./helpers/_getDateObj.ts ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Возвращает объект даты, совместимый с Cades plugin'ом, зависящий от браузера.\n *\n * В IE необходимо использовать специфичный формат \"VT_DATE\"\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Microsoft_Extensions/Date.getVarDate\n */\nexports._getDateObj = (dateObj) => (dateObj.getVarDate ? dateObj.getVarDate() : dateObj);\n\n\n/***/ }),\n\n/***/ \"./helpers/_isSupportedCSPVersion.ts\":\n/*!*******************************************!*\\\n !*** ./helpers/_isSupportedCSPVersion.ts ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst oldestSupportedCSPVersion = 4.0;\nexports._isSupportedCSPVersion = (version) => {\n var _a;\n version = (_a = version.match(/\\d+?\\b(?:\\.\\d+)?/)) === null || _a === void 0 ? void 0 : _a[0];\n return Number(version) >= oldestSupportedCSPVersion;\n};\n\n\n/***/ }),\n\n/***/ \"./helpers/_isSupportedCadesVersion.ts\":\n/*!*********************************************!*\\\n !*** ./helpers/_isSupportedCadesVersion.ts ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports._isSupportedCadesVersion = (version) => {\n const match = version.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n if (!match) {\n return false;\n }\n const [, major, minor, patch] = match;\n if (Number(major) < 2) {\n return false;\n }\n if (Number(major) === 2 && Number(patch) < 12438) {\n return false;\n }\n return true;\n};\n\n\n/***/ }),\n\n/***/ \"./helpers/_parseCertInfo.ts\":\n/*!***********************************!*\\\n !*** ./helpers/_parseCertInfo.ts ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst constants_1 = __webpack_require__(/*! ../constants */ \"./constants/index.ts\");\n/**\n * Парсит информацию из строки с информацией о сертификате\n *\n * @param tagsTranslations - словарь с расшифровками тэгов\n * @param rawInfo - данные для парсинга\n * @returns расшифрованная информация по отдельным тэгам\n */\nexports._parseCertInfo = (tagsTranslations, rawInfo) => {\n const extractedEntities = rawInfo.match(/([а-яА-Яa-zA-Z0-9\\s.]+)=(?:(\"[^\"]+?\")|(.+?))(?:,|$)/g);\n if (extractedEntities) {\n return extractedEntities.map((group) => {\n var _a, _b, _c;\n const segmentsMatch = group.trim().match(/^([а-яА-Яa-zA-Z0-9\\s.]+)=(.+?),?$/);\n let title = segmentsMatch === null || segmentsMatch === void 0 ? void 0 : segmentsMatch[1];\n // Вырезаем лишние кавычки\n const description = (_b = (_a = segmentsMatch === null || segmentsMatch === void 0 ? void 0 : segmentsMatch[2]) === null || _a === void 0 ? void 0 : _a.replace(/^\"(.*)\"/, '$1')) === null || _b === void 0 ? void 0 : _b.replace(/\"{2}/g, '\"');\n const oidIdentifierMatch = title === null || title === void 0 ? void 0 : title.match(/^OID\\.(.*)/);\n const oidIdentifier = oidIdentifierMatch === null || oidIdentifierMatch === void 0 ? void 0 : oidIdentifierMatch[1];\n let isTranslated = false;\n // Если нашли в тайтле ОИД, пытаемся его расшифровать\n if (oidIdentifier) {\n const oidTranslation = constants_1.OIDS_DICTIONARY[oidIdentifier];\n if (oidTranslation) {\n title = oidTranslation;\n isTranslated = true;\n }\n }\n const tagTranslation = (_c = tagsTranslations.find((tag) => tag.possibleNames.find((name) => name === title))) === null || _c === void 0 ? void 0 : _c.translation;\n if (tagTranslation) {\n title = tagTranslation;\n isTranslated = true;\n }\n return { description, title, isTranslated };\n });\n }\n};\n\n\n/***/ }),\n\n/***/ \"./vendor/cadesplugin_api.js\":\n/*!***********************************!*\\\n !*** ./vendor/cadesplugin_api.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n;(function () {\n //already loaded\n if(window.cadesplugin)\n return;\n\n var pluginObject;\n var plugin_resolved = 0;\n var plugin_reject;\n var plugin_resolve;\n var isOpera = 0;\n var isFireFox = 0;\n var isEdge = 0;\n var isSafari = 0;\n var failed_extensions = 0;\n\n var canPromise = !!window.Promise;\n var cadesplugin;\n\n if(canPromise)\n {\n cadesplugin = new Promise(function(resolve, reject)\n {\n plugin_resolve = resolve;\n plugin_reject = reject;\n });\n } else\n {\n cadesplugin = {};\n }\n\n function check_browser() {\n var ua= navigator.userAgent, tem, M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n if(/trident/i.test(M[1])){\n tem= /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n return {name:'IE',version:(tem[1] || '')};\n }\n if(M[1]=== 'Chrome'){\n tem= ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\n if(tem!= null) return {name:tem[1].replace('OPR', 'Opera'),version:tem[2]};\n }\n M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];\n if((tem= ua.match(/version\\/(\\d+)/i))!= null) M.splice(1, 1, tem[1]);\n return {name:M[0],version:M[1]};\n }\n var browserSpecs = check_browser();\n\n function cpcsp_console_log(level, msg){\n //IE9 не может писать в консоль если не открыта вкладка developer tools\n if(typeof(console) === 'undefined')\n return;\n if (level <= cadesplugin.current_log_level ){\n if (level === cadesplugin.LOG_LEVEL_DEBUG)\n console.log(\"DEBUG: %s\", msg);\n if (level === cadesplugin.LOG_LEVEL_INFO)\n console.info(\"INFO: %s\", msg);\n if (level === cadesplugin.LOG_LEVEL_ERROR)\n console.error(\"ERROR: %s\", msg);\n return;\n }\n }\n\n function set_log_level(level){\n if (!((level === cadesplugin.LOG_LEVEL_DEBUG) ||\n (level === cadesplugin.LOG_LEVEL_INFO) ||\n (level === cadesplugin.LOG_LEVEL_ERROR))){\n cpcsp_console_log(cadesplugin.LOG_LEVEL_ERROR, \"cadesplugin_api.js: Incorrect log_level: \" + level);\n return;\n }\n cadesplugin.current_log_level = level;\n if (cadesplugin.current_log_level === cadesplugin.LOG_LEVEL_DEBUG)\n cpcsp_console_log(cadesplugin.LOG_LEVEL_INFO, \"cadesplugin_api.js: log_level = DEBUG\");\n if (cadesplugin.current_log_level === cadesplugin.LOG_LEVEL_INFO)\n cpcsp_console_log(cadesplugin.LOG_LEVEL_INFO, \"cadesplugin_api.js: log_level = INFO\");\n if (cadesplugin.current_log_level === cadesplugin.LOG_LEVEL_ERROR)\n cpcsp_console_log(cadesplugin.LOG_LEVEL_INFO, \"cadesplugin_api.js: log_level = ERROR\");\n if(isNativeMessageSupported())\n {\n if (cadesplugin.current_log_level === cadesplugin.LOG_LEVEL_DEBUG)\n window.postMessage(\"set_log_level=debug\", \"*\");\n if (cadesplugin.current_log_level === cadesplugin.LOG_LEVEL_INFO)\n window.postMessage(\"set_log_level=info\", \"*\");\n if (cadesplugin.current_log_level === cadesplugin.LOG_LEVEL_ERROR)\n window.postMessage(\"set_log_level=error\", \"*\");\n }\n }\n\n function set_constantValues()\n {\n cadesplugin.CAPICOM_LOCAL_MACHINE_STORE = 1;\n cadesplugin.CAPICOM_CURRENT_USER_STORE = 2;\n cadesplugin.CADESCOM_LOCAL_MACHINE_STORE = 1;\n cadesplugin.CADESCOM_CURRENT_USER_STORE = 2;\n cadesplugin.CADESCOM_CONTAINER_STORE = 100;\n\n cadesplugin.CAPICOM_MY_STORE = \"My\";\n\n cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;\n\n cadesplugin.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;\n\n cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED = 0;\n cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING = 1;\n cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE = 2;\n\n cadesplugin.XmlDsigGost3410UrlObsolete = \"http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411\";\n cadesplugin.XmlDsigGost3411UrlObsolete = \"http://www.w3.org/2001/04/xmldsig-more#gostr3411\";\n cadesplugin.XmlDsigGost3410Url = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411\";\n cadesplugin.XmlDsigGost3411Url = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411\";\n\n cadesplugin.CADESCOM_CADES_DEFAULT = 0;\n cadesplugin.CADESCOM_CADES_BES = 1;\n cadesplugin.CADESCOM_CADES_T = 0x5;\n cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;\n cadesplugin.CADESCOM_PKCS7_TYPE = 0xffff;\n\n cadesplugin.CADESCOM_ENCODE_BASE64 = 0;\n cadesplugin.CADESCOM_ENCODE_BINARY = 1;\n cadesplugin.CADESCOM_ENCODE_ANY = -1;\n\n cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT = 0;\n cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN = 1;\n cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY = 2;\n\n cadesplugin.CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME = 0;\n cadesplugin.CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME = 1;\n\n cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_ISSUER_NAME = 2;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_ROOT_NAME = 3;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME = 4;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_EXTENSION = 5;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY = 6;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY = 7;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY = 8;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_VALID = 9;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID = 10;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED = 11;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_KEY_USAGE = 12;\n\n cadesplugin.CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE = 128;\n\n cadesplugin.CAPICOM_PROPID_ENHKEY_USAGE = 9;\n\n cadesplugin.CAPICOM_OID_OTHER = 0;\n cadesplugin.CAPICOM_OID_KEY_USAGE_EXTENSION = 10;\n\n cadesplugin.CAPICOM_EKU_CLIENT_AUTH = 2;\n cadesplugin.CAPICOM_EKU_SMARTCARD_LOGON = 5;\n cadesplugin.CAPICOM_EKU_OTHER = 0;\n\n cadesplugin.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;\n cadesplugin.CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;\n cadesplugin.CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2;\n cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;\n cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;\n cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2;\n cadesplugin.CADESCOM_ATTRIBUTE_OTHER = -1;\n\n cadesplugin.CADESCOM_STRING_TO_UCS2LE = 0;\n cadesplugin.CADESCOM_BASE64_TO_BINARY = 1;\n\n cadesplugin.CADESCOM_DISPLAY_DATA_NONE = 0;\n cadesplugin.CADESCOM_DISPLAY_DATA_CONTENT = 1;\n cadesplugin.CADESCOM_DISPLAY_DATA_ATTRIBUTE = 2;\n\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_RC2 = 0;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_RC4 = 1;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_DES = 2;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_3DES = 3;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_AES = 4;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_GOST_28147_89 = 25;\n\n cadesplugin.CADESCOM_HASH_ALGORITHM_SHA1 = 0;\n cadesplugin.CADESCOM_HASH_ALGORITHM_MD2 = 1;\n cadesplugin.CADESCOM_HASH_ALGORITHM_MD4 = 2;\n cadesplugin.CADESCOM_HASH_ALGORITHM_MD5 = 3;\n cadesplugin.CADESCOM_HASH_ALGORITHM_SHA_256 = 4;\n cadesplugin.CADESCOM_HASH_ALGORITHM_SHA_384 = 5;\n cadesplugin.CADESCOM_HASH_ALGORITHM_SHA_512 = 6;\n cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100;\n cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 = 101;\n cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512 = 102;\n cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_HMAC = 110;\n cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256_HMAC = 111;\n cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512_HMAC = 112;\n\n cadesplugin.LOG_LEVEL_DEBUG = 4;\n cadesplugin.LOG_LEVEL_INFO = 2;\n cadesplugin.LOG_LEVEL_ERROR = 1;\n\n cadesplugin.CADESCOM_AllowNone = 0;\n cadesplugin.CADESCOM_AllowNoOutstandingRequest = 0x1;\n cadesplugin.CADESCOM_AllowUntrustedCertificate = 0x2;\n cadesplugin.CADESCOM_AllowUntrustedRoot = 0x4;\n cadesplugin.CADESCOM_SkipInstallToStore = 0x10000000;\n }\n\n function async_spawn(generatorFunc) {\n function continuer(verb, arg) {\n var result;\n try {\n result = generator[verb](arg);\n } catch (err) {\n return Promise.reject(err);\n }\n if (result.done) {\n return result.value;\n } else {\n return Promise.resolve(result.value).then(onFulfilled, onRejected);\n }\n }\n var generator = generatorFunc(Array.prototype.slice.call(arguments, 1));\n var onFulfilled = continuer.bind(continuer, \"next\");\n var onRejected = continuer.bind(continuer, \"throw\");\n return onFulfilled();\n }\n\n function isIE() {\n // var retVal = ((\"Microsoft Internet Explorer\" == navigator.appName) || // IE < 11\n // navigator.userAgent.match(/Trident\\/./i)); // IE 11\n return (browserSpecs.name === 'IE' || browserSpecs.name === 'MSIE');\n }\n\n function isIOS() {\n return (navigator.userAgent.match(/ipod/i) ||\n navigator.userAgent.match(/ipad/i) ||\n navigator.userAgent.match(/iphone/i));\n }\n\n function isNativeMessageSupported()\n {\n // В IE работаем через NPAPI\n if(isIE())\n return false;\n // В Edge работаем через NativeMessage\n if(browserSpecs.name === 'Edge') {\n isEdge = true;\n return true;\n }\n // В Chrome, Firefox, Safari и Opera работаем через асинхронную версию в зависимости от версии\n if(browserSpecs.name === 'Opera') {\n isOpera = true;\n if(browserSpecs.version >= 33){\n return true;\n }\n else{\n return false;\n }\n }\n if(browserSpecs.name === 'Firefox') {\n isFireFox = true;\n if(browserSpecs.version >= 52){\n return true;\n }\n else{\n return false;\n }\n }\n if(browserSpecs.name === 'Chrome') {\n if(browserSpecs.version >= 42){\n return true;\n }\n else{\n return false;\n }\n }\n //В Сафари начиная с 12 версии нет NPAPI\n if(browserSpecs.name === 'Safari') {\n isSafari = true;\n if(browserSpecs.version >= 12) {\n return true;\n } else {\n return false;\n }\n }\n }\n\n // Функция активации объектов КриптоПро ЭЦП Browser plug-in\n function CreateObject(name) {\n if (isIOS()) {\n // На iOS для создания объектов используется функция\n // call_ru_cryptopro_npcades_10_native_bridge, определенная в IOS_npcades_supp.js\n return call_ru_cryptopro_npcades_10_native_bridge(\"CreateObject\", [name]);\n }\n if (isIE()) {\n // В Internet Explorer создаются COM-объекты\n if (name.match(/X509Enrollment/i)) {\n try {\n // Объекты CertEnroll пробуем создавать через нашу фабрику,\n // если не получилось то через CX509EnrollmentWebClassFactory\n var objCertEnrollClassFactory = document.getElementById(\"webClassFactory\");\n return objCertEnrollClassFactory.CreateObject(name);\n }\n catch (e) {\n try {\n var objWebClassFactory = document.getElementById(\"certEnrollClassFactory\");\n return objWebClassFactory.CreateObject(name);\n }\n catch (err) {\n throw (\"Для создания обьектов X509Enrollment следует настроить веб-узел на использование проверки подлинности по протоколу HTTPS\");\n }\n }\n }\n // Объекты CAPICOM и CAdESCOM создаются через CAdESCOM.WebClassFactory\n try {\n var objWebClassFactory = document.getElementById(\"webClassFactory\");\n return objWebClassFactory.CreateObject(name);\n }\n catch (e) {\n // Для версий плагина ниже 2.0.12538\n return new ActiveXObject(name);\n }\n }\n // создаются объекты NPAPI\n return pluginObject.CreateObject(name);\n }\n\n function decimalToHexString(number) {\n if (number < 0) {\n number = 0xFFFFFFFF + number + 1;\n }\n\n return number.toString(16).toUpperCase();\n }\n\n function GetMessageFromException(e) {\n var err = e.message;\n if (!err) {\n err = e;\n } else if (e.number) {\n err += \" (0x\" + decimalToHexString(e.number) + \")\";\n }\n return err;\n }\n\n function getLastError(exception) {\n if(isNativeMessageSupported() || isIE() || isIOS() ) {\n return GetMessageFromException(exception);\n }\n\n try {\n return pluginObject.getLastError();\n } catch(e) {\n return GetMessageFromException(exception);\n }\n }\n\n // Функция для удаления созданных объектов\n function ReleasePluginObjects() {\n return cpcsp_chrome_nmcades.ReleasePluginObjects();\n }\n\n // Функция активации асинхронных объектов КриптоПро ЭЦП Browser plug-in\n function CreateObjectAsync(name) {\n return pluginObject.CreateObjectAsync(name);\n }\n\n //Функции для IOS\n var ru_cryptopro_npcades_10_native_bridge = {\n callbacksCount : 1,\n callbacks : {},\n\n // Automatically called by native layer when a result is available\n resultForCallback : function resultForCallback(callbackId, resultArray) {\n var callback = ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId];\n if (!callback) return;\n callback.apply(null,resultArray);\n },\n\n // Use this in javascript to request native objective-c code\n // functionName : string (I think the name is explicit :p)\n // args : array of arguments\n // callback : function with n-arguments that is going to be called when the native code returned\n call : function call(functionName, args, callback) {\n var hasCallback = callback && typeof callback === \"function\";\n var callbackId = hasCallback ? ru_cryptopro_npcades_10_native_bridge.callbacksCount++ : 0;\n\n if (hasCallback)\n ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId] = callback;\n\n var iframe = document.createElement(\"IFRAME\");\n var arrObjs = new Array(\"_CPNP_handle\");\n try{\n iframe.setAttribute(\"src\", \"cpnp-js-call:\" + functionName + \":\" + callbackId+ \":\" + encodeURIComponent(JSON.stringify(args, arrObjs)));\n } catch(e){\n alert(e);\n }\n document.documentElement.appendChild(iframe);\n iframe.parentNode.removeChild(iframe);\n iframe = null;\n }\n };\n\n function call_ru_cryptopro_npcades_10_native_bridge(functionName, array){\n var tmpobj;\n var ex;\n ru_cryptopro_npcades_10_native_bridge.call(functionName, array, function(e, response){\n ex = e;\n var str='tmpobj='+response;\n eval(str);\n if (typeof (tmpobj) === \"string\"){\n tmpobj = tmpobj.replace(/\\\\\\n/gm, \"\\n\");\n tmpobj = tmpobj.replace(/\\\\\\r/gm, \"\\r\");\n }\n });\n if(ex)\n throw ex;\n return tmpobj;\n }\n\n function show_firefox_missing_extension_dialog()\n {\n if (!window.cadesplugin_skip_extension_install)\n {\n var ovr = document.createElement('div');\n ovr.id = \"cadesplugin_ovr\";\n ovr.style = \"visibility: hidden; position: fixed; left: 0px; top: 0px; width:100%; height:100%; background-color: rgba(0,0,0,0.7)\";\n ovr.innerHTML = \"
\" +\n \"\" +\n \"

Для работы КриптоПро ЭЦП Browser plugin на данном сайте необходимо расширение для браузера. Убедитесь, что оно у Вас включено или установите его.\" +\n \"

Скачать расширение

\" +\n \"
\";\n document.getElementsByTagName(\"Body\")[0].appendChild(ovr);\n document.getElementById(\"cadesplugin_close_install\").addEventListener('click',function()\n {\n plugin_loaded_error(\"Плагин недоступен\");\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n });\n\n ovr.addEventListener('click',function()\n {\n plugin_loaded_error(\"Плагин недоступен\");\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n });\n ovr.style.visibility=\"visible\";\n }\n }\n\n\n //Выводим окно поверх других с предложением установить расширение для Opera.\n //Если установленна переменная cadesplugin_skip_extension_install - не предлагаем установить расширение\n function install_opera_extension()\n {\n if (!window.cadesplugin_skip_extension_install)\n {\n document.addEventListener('DOMContentLoaded', function() {\n var ovr = document.createElement('div');\n ovr.id = \"cadesplugin_ovr\";\n ovr.style = \"visibility: hidden; position: fixed; left: 0px; top: 0px; width:100%; height:100%; background-color: rgba(0,0,0,0.7)\";\n ovr.innerHTML = \"
\" +\n \"\" +\n \"

Для работы КриптоПро ЭЦП Browser plugin на данном сайте необходимо установить расширение из каталога дополнений Opera.\" +\n \"

\" +\n \"
\";\n document.getElementsByTagName(\"Body\")[0].appendChild(ovr);\n var btn_install = document.getElementById(\"cadesplugin_install\");\n btn_install.addEventListener('click', function(event) {\n opr.addons.installExtension(\"epebfcehmdedogndhlcacafjaacknbcm\",\n function()\n {\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n location.reload();\n },\n function(){})\n });\n document.getElementById(\"cadesplugin_close_install\").addEventListener('click',function()\n {\n plugin_loaded_error(\"Плагин недоступен\");\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n });\n\n ovr.addEventListener('click',function()\n {\n plugin_loaded_error(\"Плагин недоступен\");\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n });\n ovr.style.visibility=\"visible\";\n document.getElementById(\"cadesplugin_ovr_item\").addEventListener('click',function(e){\n e.stopPropagation();\n });\n });\n }else\n {\n plugin_loaded_error(\"Плагин недоступен\");\n }\n }\n\n function firefox_or_edge_nmcades_onload() {\n cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded, plugin_loaded_error);\n }\n\n function nmcades_api_onload () {\n window.postMessage(\"cadesplugin_echo_request\", \"*\");\n window.addEventListener(\"message\", function (event){\n if (typeof(event.data) !== \"string\" || !event.data.match(\"cadesplugin_loaded\"))\n return;\n if(isFireFox || isEdge || isSafari)\n {\n // Для Firefox, Сафари, Edge вместе с сообщением cadesplugin_loaded прилетает url для загрузки nmcades_plugin_api.js\n var url = event.data.substring(event.data.indexOf(\"url:\") + 4);\n var fileref = document.createElement('script');\n fileref.setAttribute(\"type\", \"text/javascript\");\n fileref.setAttribute(\"src\", url);\n fileref.onerror = plugin_loaded_error;\n fileref.onload = firefox_or_edge_nmcades_onload;\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\n // Для Firefox, Safari и Edge у нас только по одному расширению.\n failed_extensions++;\n }else {\n cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded, plugin_loaded_error);\n }\n }, false);\n }\n\n //Загружаем расширения для Chrome, Opera, YaBrowser, FireFox, Edge, Safari\n function load_extension()\n {\n\n if(isFireFox || isEdge || isSafari){\n // вызываем callback руками т.к. нам нужно узнать ID расширения. Он уникальный для браузера.\n nmcades_api_onload();\n } else {\n // в асинхронном варианте для chrome и opera подключаем оба расширения\n var fileref = document.createElement('script');\n fileref.setAttribute(\"type\", \"text/javascript\");\n fileref.setAttribute(\"src\", \"chrome-extension://iifchhfnnmpdbibifmljnfjhpififfog/nmcades_plugin_api.js\");\n fileref.onerror = plugin_loaded_error;\n fileref.onload = nmcades_api_onload;\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\n fileref = document.createElement('script');\n fileref.setAttribute(\"type\", \"text/javascript\");\n fileref.setAttribute(\"src\", \"chrome-extension://epebfcehmdedogndhlcacafjaacknbcm/nmcades_plugin_api.js\");\n fileref.onerror = plugin_loaded_error;\n fileref.onload = nmcades_api_onload;\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\n }\n }\n\n //Загружаем плагин для NPAPI\n function load_npapi_plugin()\n {\n var elem = document.createElement('object');\n elem.setAttribute(\"id\", \"cadesplugin_object\");\n elem.setAttribute(\"type\", \"application/x-cades\");\n elem.setAttribute(\"style\", \"visibility: hidden\");\n document.getElementsByTagName(\"body\")[0].appendChild(elem);\n pluginObject = document.getElementById(\"cadesplugin_object\");\n if(isIE())\n {\n var elem1 = document.createElement('object');\n elem1.setAttribute(\"id\", \"certEnrollClassFactory\");\n elem1.setAttribute(\"classid\", \"clsid:884e2049-217d-11da-b2a4-000e7bbb2b09\");\n elem1.setAttribute(\"style\", \"visibility: hidden\");\n document.getElementsByTagName(\"body\")[0].appendChild(elem1);\n var elem2 = document.createElement('object');\n elem2.setAttribute(\"id\", \"webClassFactory\");\n elem2.setAttribute(\"classid\", \"clsid:B04C8637-10BD-484E-B0DA-B8A039F60024\");\n elem2.setAttribute(\"style\", \"visibility: hidden\");\n document.getElementsByTagName(\"body\")[0].appendChild(elem2);\n }\n }\n\n //Отправляем событие что все ок.\n function plugin_loaded()\n {\n plugin_resolved = 1;\n if(canPromise)\n {\n plugin_resolve();\n }else {\n window.postMessage(\"cadesplugin_loaded\", \"*\");\n }\n }\n\n //Отправляем событие что сломались.\n function plugin_loaded_error(msg)\n {\n if(isNativeMessageSupported())\n {\n //в асинхронном варианте подключаем оба расширения, если сломались оба пробуем установить для Opera\n failed_extensions++;\n if(failed_extensions<2)\n return;\n if(isOpera && (typeof(msg) === 'undefined'|| typeof(msg) === 'object'))\n {\n install_opera_extension();\n return;\n }\n }\n if(typeof(msg) === 'undefined' || typeof(msg) === 'object')\n msg = \"Плагин недоступен\";\n plugin_resolved = 1;\n if(canPromise)\n {\n plugin_reject(msg);\n } else {\n window.postMessage(\"cadesplugin_load_error\", \"*\");\n }\n }\n\n //проверяем что у нас хоть какое то событие ушло, и если не уходило кидаем еще раз ошибку\n function check_load_timeout()\n {\n if(plugin_resolved === 1)\n return;\n if(isFireFox)\n {\n show_firefox_missing_extension_dialog();\n }\n plugin_resolved = 1;\n if(canPromise)\n {\n plugin_reject(\"Истекло время ожидания загрузки плагина\");\n } else {\n window.postMessage(\"cadesplugin_load_error\", \"*\");\n }\n\n }\n\n //Вспомогательная функция для NPAPI\n function createPromise(arg)\n {\n return new Promise(arg);\n }\n\n function check_npapi_plugin (){\n try {\n var oAbout = CreateObject(\"CAdESCOM.About\");\n plugin_loaded();\n }\n catch (err) {\n document.getElementById(\"cadesplugin_object\").style.display = 'none';\n // Объект создать не удалось, проверим, установлен ли\n // вообще плагин. Такая возможность есть не во всех браузерах\n var mimetype = navigator.mimeTypes[\"application/x-cades\"];\n if (mimetype) {\n var plugin = mimetype.enabledPlugin;\n if (plugin) {\n plugin_loaded_error(\"Плагин загружен, но не создаются обьекты\");\n }else\n {\n plugin_loaded_error(\"Ошибка при загрузке плагина\");\n }\n }else\n {\n plugin_loaded_error(\"Плагин недоступен\");\n }\n }\n }\n\n //Проверяем работает ли плагин\n function check_plugin_working()\n {\n var div = document.createElement(\"div\");\n div.innerHTML = \"\";\n var isIeLessThan9 = (div.getElementsByTagName(\"i\").length === 1);\n if (isIeLessThan9) {\n plugin_loaded_error(\"Internet Explorer версии 8 и ниже не поддерживается\");\n return;\n }\n\n if(isNativeMessageSupported())\n {\n load_extension();\n }else if(!canPromise) {\n window.addEventListener(\"message\", function (event){\n if (event.data !== \"cadesplugin_echo_request\")\n return;\n load_npapi_plugin();\n check_npapi_plugin();\n },\n false);\n }else\n {\n if(document.readyState === \"complete\"){\n load_npapi_plugin();\n check_npapi_plugin();\n } else {\n window.addEventListener(\"load\", function (event) {\n load_npapi_plugin();\n check_npapi_plugin();\n }, false);\n }\n }\n }\n\n function set_pluginObject(obj)\n {\n pluginObject = obj;\n }\n\n function is_capilite_enabled()\n {\n if ((typeof (cadesplugin.EnableInternalCSP) !== 'undefined') && cadesplugin.EnableInternalCSP)\n return true;\n return false;\n };\n\n //Export\n cadesplugin.JSModuleVersion = \"2.1.2\";\n cadesplugin.async_spawn = async_spawn;\n cadesplugin.set = set_pluginObject;\n cadesplugin.set_log_level = set_log_level;\n cadesplugin.getLastError = getLastError;\n cadesplugin.is_capilite_enabled = is_capilite_enabled;\n\n if(isNativeMessageSupported())\n {\n cadesplugin.CreateObjectAsync = CreateObjectAsync;\n cadesplugin.ReleasePluginObjects = ReleasePluginObjects;\n }\n\n if(!isNativeMessageSupported())\n {\n cadesplugin.CreateObject = CreateObject;\n }\n\n if(window.cadesplugin_load_timeout)\n {\n setTimeout(check_load_timeout, window.cadesplugin_load_timeout);\n }\n else\n {\n setTimeout(check_load_timeout, 20000);\n }\n\n set_constantValues();\n\n cadesplugin.current_log_level = cadesplugin.LOG_LEVEL_ERROR;\n window.cadesplugin = cadesplugin;\n check_plugin_working();\n}());\n\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=crypto-pro.js.map"],"sourceRoot":""}