tethysfaceid
Version:
59 lines (45 loc) • 36.1 MB
JavaScript
(window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([[1],{
/***/ "./common/Config.js":
/*!**************************!*\
!*** ./common/Config.js ***!
\**************************/
/*! exports provided: Config */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Config\", function() { return Config; });\nvar Config = function () {\n // -------------------------------------\n // REQUIRED\n // Available at https://dev.facetec.com/#/account\n // NOTE: This field is auto-populated by the FaceTec SDK Configuration Wizard.\n var DeviceKeyIdentifier = \"dZ8k2xxyoeb50uRS0AnkSmDejrFL4pZM\"; // -------------------------------------\n // REQUIRED\n // The URL to call to process FaceTec SDK Sessions.\n // In Production, you likely will handle network requests elsewhere and without the use of this variable.\n // See https://dev.facetec.com/#/security-best-practices for more information.\n // NOTE: This field is auto-populated by the FaceTec SDK Configuration Wizard.\n\n var BaseURL = \"https://api.facetec.com/api/v3/biometrics\"; // -------------------------------------\n // REQUIRED\n // The FaceMap Encryption Key you define for your application.\n // Please see https://dev.facetec.com/#/licensing-and-encryption-keys for more information.\n // NOTE: This field is auto-populated by the FaceTec SDK Configuration Wizard.\n\n var PublicFaceMapEncryptionKey = \"-----BEGIN PUBLIC KEY-----\\n\" + \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5PxZ3DLj+zP6T6HFgzzk\\n\" + \"M77LdzP3fojBoLasw7EfzvLMnJNUlyRb5m8e5QyyJxI+wRjsALHvFgLzGwxM8ehz\\n\" + \"DqqBZed+f4w33GgQXFZOS4AOvyPbALgCYoLehigLAbbCNTkeY5RDcmmSI/sbp+s6\\n\" + \"mAiAKKvCdIqe17bltZ/rfEoL3gPKEfLXeN549LTj3XBp0hvG4loQ6eC1E1tRzSkf\\n\" + \"GJD4GIVvR+j12gXAaftj3ahfYxioBH7F7HQxzmWkwDyn3bqU54eaiB7f0ftsPpWM\\n\" + \"ceUaqkL2DZUvgN0efEJjnWy5y1/Gkq5GGWCROI9XG/SwXJ30BbVUehTbVcD70+ZF\\n\" + \"8QIDAQAB\\n\" + \"-----END PUBLIC KEY-----\";\n return {\n DeviceKeyIdentifier: DeviceKeyIdentifier,\n BaseURL: BaseURL,\n PublicFaceMapEncryptionKey: PublicFaceMapEncryptionKey\n };\n}();\n\n;\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n var currentExports = module.__proto__.exports;\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.i);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tbW9uL0NvbmZpZy5qcz9lNmJmIl0sIm5hbWVzIjpbIkNvbmZpZyIsIkRldmljZUtleUlkZW50aWZpZXIiLCJCYXNlVVJMIiwiUHVibGljRmFjZU1hcEVuY3J5cHRpb25LZXkiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBTyxJQUFJQSxNQUFNLEdBQUksWUFBWTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUlDLG1CQUFtQixHQUFHLGtDQUExQixDQUw2QixDQU83QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsTUFBSUMsT0FBTyxHQUFHLDJDQUFkLENBYjZCLENBZTdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsTUFBSUMsMEJBQTBCLEdBQzFCLGlDQUNBLG9FQURBLEdBRUEsb0VBRkEsR0FHQSxvRUFIQSxHQUlBLG9FQUpBLEdBS0Esb0VBTEEsR0FNQSxvRUFOQSxHQU9BLFlBUEEsR0FRQSwwQkFUSjtBQVdBLFNBQU87QUFDSEYsdUJBQW1CLEVBQW5CQSxtQkFERztBQUVIQyxXQUFPLEVBQVBBLE9BRkc7QUFHSEMsOEJBQTBCLEVBQTFCQTtBQUhHLEdBQVA7QUFNSCxDQXJDbUIsRUFBYiIsImZpbGUiOiIuL2NvbW1vbi9Db25maWcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIENvbmZpZyA9IChmdW5jdGlvbiAoKSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFJFUVVJUkVEXG4gICAgLy8gQXZhaWxhYmxlIGF0IGh0dHBzOi8vZGV2LmZhY2V0ZWMuY29tLyMvYWNjb3VudFxuICAgIC8vIE5PVEU6IFRoaXMgZmllbGQgaXMgYXV0by1wb3B1bGF0ZWQgYnkgdGhlIEZhY2VUZWMgU0RLIENvbmZpZ3VyYXRpb24gV2l6YXJkLlxuICAgIHZhciBEZXZpY2VLZXlJZGVudGlmaWVyID0gXCJkWjhrMnh4eW9lYjUwdVJTMEFua1NtRGVqckZMNHBaTVwiO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFJFUVVJUkVEXG4gICAgLy8gVGhlIFVSTCB0byBjYWxsIHRvIHByb2Nlc3MgRmFjZVRlYyBTREsgU2Vzc2lvbnMuXG4gICAgLy8gSW4gUHJvZHVjdGlvbiwgeW91IGxpa2VseSB3aWxsIGhhbmRsZSBuZXR3b3JrIHJlcXVlc3RzIGVsc2V3aGVyZSBhbmQgd2l0aG91dCB0aGUgdXNlIG9mIHRoaXMgdmFyaWFibGUuXG4gICAgLy8gU2VlIGh0dHBzOi8vZGV2LmZhY2V0ZWMuY29tLyMvc2VjdXJpdHktYmVzdC1wcmFjdGljZXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAgLy8gTk9URTogVGhpcyBmaWVsZCBpcyBhdXRvLXBvcHVsYXRlZCBieSB0aGUgRmFjZVRlYyBTREsgQ29uZmlndXJhdGlvbiBXaXphcmQuXG4gICAgdmFyIEJhc2VVUkwgPSBcImh0dHBzOi8vYXBpLmZhY2V0ZWMuY29tL2FwaS92My9iaW9tZXRyaWNzXCI7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUkVRVUlSRURcbiAgICAvLyBUaGUgRmFjZU1hcCBFbmNyeXB0aW9uIEtleSB5b3UgZGVmaW5lIGZvciB5b3VyIGFwcGxpY2F0aW9uLlxuICAgIC8vIFBsZWFzZSBzZWUgaHR0cHM6Ly9kZXYuZmFjZXRlYy5jb20vIy9saWNlbnNpbmctYW5kLWVuY3J5cHRpb24ta2V5cyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAvLyBOT1RFOiBUaGlzIGZpZWxkIGlzIGF1dG8tcG9wdWxhdGVkIGJ5IHRoZSBGYWNlVGVjIFNESyBDb25maWd1cmF0aW9uIFdpemFyZC5cbiAgICB2YXIgUHVibGljRmFjZU1hcEVuY3J5cHRpb25LZXkgPVxuICAgICAgICBcIi0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXFxuXCIgK1xuICAgICAgICBcIk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBNVB4WjNETGorelA2VDZIRmd6emtcXG5cIiArXG4gICAgICAgIFwiTTc3TGR6UDNmb2pCb0xhc3c3RWZ6dkxNbkpOVWx5UmI1bThlNVF5eUp4SSt3UmpzQUxIdkZnTHpHd3hNOGVoelxcblwiICtcbiAgICAgICAgXCJEcXFCWmVkK2Y0dzMzR2dRWEZaT1M0QU92eVBiQUxnQ1lvTGVoaWdMQWJiQ05Ua2VZNVJEY21tU0kvc2JwK3M2XFxuXCIgK1xuICAgICAgICBcIm1BaUFLS3ZDZElxZTE3Ymx0Wi9yZkVvTDNnUEtFZkxYZU41NDlMVGozWEJwMGh2RzRsb1E2ZUMxRTF0UnpTa2ZcXG5cIiArXG4gICAgICAgIFwiR0pENEdJVnZSK2oxMmdYQWFmdGozYWhmWXhpb0JIN0Y3SFF4em1Xa3dEeW4zYnFVNTRlYWlCN2YwZnRzUHBXTVxcblwiICtcbiAgICAgICAgXCJjZVVhcWtMMkRaVXZnTjBlZkVKam5XeTV5MS9Ha3E1R0dXQ1JPSTlYRy9Td1hKMzBCYlZVZWhUYlZjRDcwK1pGXFxuXCIgK1xuICAgICAgICBcIjhRSURBUUFCXFxuXCIgK1xuICAgICAgICBcIi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLVwiO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgRGV2aWNlS2V5SWRlbnRpZmllcixcbiAgICAgICAgQmFzZVVSTCxcbiAgICAgICAgUHVibGljRmFjZU1hcEVuY3J5cHRpb25LZXlcbiAgICB9O1xuXG59KSgpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./common/Config.js\n");
/***/ }),
/***/ "./common/apiConstants.js":
/*!********************************!*\
!*** ./common/apiConstants.js ***!
\********************************/
/*! exports provided: LOGIN, FACE_COMPARE, ACCESS_KEY, LiCENCE_KEY */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LOGIN\", function() { return LOGIN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FACE_COMPARE\", function() { return FACE_COMPARE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ACCESS_KEY\", function() { return ACCESS_KEY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LiCENCE_KEY\", function() { return LiCENCE_KEY; });\nvar LOGIN = 'https://cors-anywhere.herokuapp.com/https://auon7ei0z2.execute-api.us-east-2.amazonaws.com/prod/loginuser'; // 'https://auon7ei0z2.execute-api.us-east-2.amazonaws.com/prod/loginuser',\n\nvar FACE_COMPARE = 'https://cors-anywhere.herokuapp.com/https://meza8z760k.execute-api.us-east-2.amazonaws.com/default/facecompare';\nvar ACCESS_KEY = '9a23ad06e00c048f4aebfbcf7d1928acc';\nvar LiCENCE_KEY = '001-593-3147';\n\n;\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n var currentExports = module.__proto__.exports;\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.i);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tbW9uL2FwaUNvbnN0YW50cy5qcz9jZGRlIl0sIm5hbWVzIjpbIkxPR0lOIiwiRkFDRV9DT01QQVJFIiwiQUNDRVNTX0tFWSIsIkxpQ0VOQ0VfS0VZIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQU8sSUFBTUEsS0FBSyxHQUNoQiwyR0FESyxDLENBRVA7O0FBRU8sSUFBTUMsWUFBWSxHQUFHLGdIQUFyQjtBQUVBLElBQU1DLFVBQVUsR0FBRyxtQ0FBbkI7QUFDQSxJQUFNQyxXQUFXLEdBQUcsY0FBcEIiLCJmaWxlIjoiLi9jb21tb24vYXBpQ29uc3RhbnRzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IExPR0lOID1cbiAgJ2h0dHBzOi8vY29ycy1hbnl3aGVyZS5oZXJva3VhcHAuY29tL2h0dHBzOi8vYXVvbjdlaTB6Mi5leGVjdXRlLWFwaS51cy1lYXN0LTIuYW1hem9uYXdzLmNvbS9wcm9kL2xvZ2ludXNlcic7XG4vLyAnaHR0cHM6Ly9hdW9uN2VpMHoyLmV4ZWN1dGUtYXBpLnVzLWVhc3QtMi5hbWF6b25hd3MuY29tL3Byb2QvbG9naW51c2VyJyxcblxuZXhwb3J0IGNvbnN0IEZBQ0VfQ09NUEFSRSA9ICdodHRwczovL2NvcnMtYW55d2hlcmUuaGVyb2t1YXBwLmNvbS9odHRwczovL21lemE4ejc2MGsuZXhlY3V0ZS1hcGkudXMtZWFzdC0yLmFtYXpvbmF3cy5jb20vZGVmYXVsdC9mYWNlY29tcGFyZSc7XG5cbmV4cG9ydCBjb25zdCBBQ0NFU1NfS0VZID0gJzlhMjNhZDA2ZTAwYzA0OGY0YWViZmJjZjdkMTkyOGFjYyc7XG5leHBvcnQgY29uc3QgTGlDRU5DRV9LRVkgPSAnMDAxLTU5My0zMTQ3JztcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./common/apiConstants.js\n");
/***/ }),
/***/ "./common/utils.js":
/*!*************************!*\
!*** ./common/utils.js ***!
\*************************/
/*! exports provided: handleError, getConfig */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleError\", function() { return handleError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getConfig\", function() { return getConfig; });\nvar handleError = function handleError(e) {\n console.log(e);\n};\nvar getConfig = function getConfig() {\n var config = {\n headers: {\n Accept: 'application/json',\n 'Access-Control-Allow-Origin': '*',\n 'Content-Type': 'application/json',\n 'access-control-allow-credentials': 'true'\n }\n };\n return config;\n};\n\n;\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n var currentExports = module.__proto__.exports;\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.i);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tbW9uL3V0aWxzLmpzP2IzOWQiXSwibmFtZXMiOlsiaGFuZGxlRXJyb3IiLCJlIiwiY29uc29sZSIsImxvZyIsImdldENvbmZpZyIsImNvbmZpZyIsImhlYWRlcnMiLCJBY2NlcHQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFPLElBQU1BLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUNDLENBQUQsRUFBTztBQUNoQ0MsU0FBTyxDQUFDQyxHQUFSLENBQVlGLENBQVo7QUFDRCxDQUZNO0FBSUEsSUFBTUcsU0FBUyxHQUFHLFNBQVpBLFNBQVksR0FBTTtBQUM3QixNQUFNQyxNQUFNLEdBQUc7QUFDYkMsV0FBTyxFQUFFO0FBQ1BDLFlBQU0sRUFBRSxrQkFERDtBQUVQLHFDQUErQixHQUZ4QjtBQUdQLHNCQUFnQixrQkFIVDtBQUlQLDBDQUFvQztBQUo3QjtBQURJLEdBQWY7QUFRQSxTQUFPRixNQUFQO0FBQ0QsQ0FWTSIsImZpbGUiOiIuL2NvbW1vbi91dGlscy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBoYW5kbGVFcnJvciA9IChlKSA9PiB7XG4gIGNvbnNvbGUubG9nKGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbmZpZyA9ICgpID0+IHtcbiAgY29uc3QgY29uZmlnID0ge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbic6ICcqJyxcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAnYWNjZXNzLWNvbnRyb2wtYWxsb3ctY3JlZGVudGlhbHMnOiAndHJ1ZScsXG4gICAgfSxcbiAgfTtcbiAgcmV0dXJuIGNvbmZpZztcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./common/utils.js\n");
/***/ }),
/***/ "./components/LivenessCheck/liveness.js":
/*!**********************************************!*\
!*** ./components/LivenessCheck/liveness.js ***!
\**********************************************/
/*! exports provided: Liveness */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Liveness\", function() { return Liveness; });\n/* harmony import */ var common_Config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! common/Config */ \"./common/Config.js\");\n/* harmony import */ var core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-sdk/FaceTecSDK.js/FaceTecSDK */ \"./core-sdk/FaceTecSDK.js/FaceTecSDK.js\");\n/* harmony import */ var core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _processors_LivenessCheckProcessor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./processors/LivenessCheckProcessor */ \"./components/LivenessCheck/processors/LivenessCheckProcessor.js\");\n/* harmony import */ var _utilities_faceMapAppUtilities__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utilities/faceMapAppUtilities */ \"./components/LivenessCheck/utilities/faceMapAppUtilities.js\");\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/index.js\");\n/* harmony import */ var _utilities_themeHelpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utilities/themeHelpers */ \"./components/LivenessCheck/utilities/themeHelpers.js\");\n\n\n\n\n\n\nvar Liveness = function () {\n var latestEnrollmentIdentifier = \"\";\n var latestSessionResult = null;\n var latestIDScanResult = null;\n var latestProcessor; // Wait for onload to be complete before attempting to access the Browser SDK.\n\n window.onload = function () {\n // Set a the directory path for other FaceTec Browser SDK Resources.\n core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_1__[\"FaceTecSDK\"].setResourceDirectory(\"/resources\"); // Set the directory path for required FaceTec Browser SDK images.\n\n core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_1__[\"FaceTecSDK\"].setImagesDirectory(\"/FaceTec_images\"); // Initialize FaceTec Browser SDK and configure the UI features.\n\n core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_1__[\"FaceTecSDK\"].initializeInDevelopmentMode(common_Config__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].DeviceKeyIdentifier, common_Config__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].PublicFaceMapEncryptionKey, function (initializedSuccessfully) {\n if (initializedSuccessfully) {\n Object(_utilities_themeHelpers__WEBPACK_IMPORTED_MODULE_5__[\"ThemeHelpers\"])();\n _utilities_faceMapAppUtilities__WEBPACK_IMPORTED_MODULE_3__[\"FaceMapAppUtillities\"].enableAllButtons();\n }\n\n _utilities_faceMapAppUtilities__WEBPACK_IMPORTED_MODULE_3__[\"FaceMapAppUtillities\"].displayStatus(core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_1__[\"FaceTecSDK\"].getFriendlyDescriptionForFaceTecSDKStatus(core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_1__[\"FaceTecSDK\"].getStatus()), antd__WEBPACK_IMPORTED_MODULE_4__[\"message\"].success);\n });\n _utilities_faceMapAppUtilities__WEBPACK_IMPORTED_MODULE_3__[\"FaceMapAppUtillities\"].formatUIForDevice();\n }; // Initiate a 3D Liveness Check.\n\n\n function onLivenessCheckPressed(data, onContinue) {\n _utilities_faceMapAppUtilities__WEBPACK_IMPORTED_MODULE_3__[\"FaceMapAppUtillities\"].fadeOutMainUIAndPrepareForSession(); // Get a Session Token from the FaceTec SDK, then start the 3D Liveness Check.\n\n getSessionToken(function (sessionToken) {\n latestProcessor = new _processors_LivenessCheckProcessor__WEBPACK_IMPORTED_MODULE_2__[\"LivenessCheckProcessor\"](sessionToken, Liveness, data, onContinue);\n });\n } // Show the final result and transition back into the main interface.\n\n\n function onComplete() {\n _utilities_faceMapAppUtilities__WEBPACK_IMPORTED_MODULE_3__[\"FaceMapAppUtillities\"].showMainUI();\n\n if (!latestProcessor.isSuccess()) {\n // Reset the enrollment identifier.\n latestEnrollmentIdentifier = \"\"; // Show early exit message to screen. If this occurs, please check logs.\n // FaceMapAppUtillities.displayStatus(\"Complete your face scan first!\");\n\n return;\n } // Show successful message to screen\n // FaceMapAppUtillities.displayStatus(\"Success\", message.success);\n\n } // Get the Session Token from the server\n\n\n function getSessionToken(sessionTokenCallback) {\n var XHR = new XMLHttpRequest();\n XHR.open(\"GET\", common_Config__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].BaseURL + \"/session-token\");\n XHR.setRequestHeader(\"X-Device-Key\", common_Config__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].DeviceKeyIdentifier);\n XHR.setRequestHeader(\"X-User-Agent\", core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_1__[\"FaceTecSDK\"].createFaceTecAPIUserAgentString(\"\"));\n\n XHR.onreadystatechange = function () {\n if (this.readyState === XMLHttpRequest.DONE) {\n var sessionToken = \"\";\n\n try {\n // Attempt to get the sessionToken from the response object.\n sessionToken = JSON.parse(this.responseText).sessionToken; // Something went wrong in parsing the response. Return an error.\n\n if (typeof sessionToken !== \"string\") {\n onServerSessionTokenError();\n return;\n }\n } catch (_unused) {\n // Something went wrong in parsing the response. Return an error.\n onServerSessionTokenError();\n return;\n }\n\n sessionTokenCallback(sessionToken);\n }\n };\n\n XHR.onerror = function () {\n onServerSessionTokenError();\n };\n\n XHR.send();\n }\n\n function onServerSessionTokenError() {\n _utilities_faceMapAppUtilities__WEBPACK_IMPORTED_MODULE_3__[\"FaceMapAppUtillities\"].handleErrorGettingServerSessionToken();\n } //\n // DEVELOPER NOTE: This is a convenience function for demonstration purposes only so the Sample App can have access to the latest session results.\n // In your code, you may not even want or need to do this.\n //\n\n\n function setLatestSessionResult(sessionResult) {\n latestSessionResult = sessionResult;\n }\n\n function setIDScanResult(idScanResult) {\n latestIDScanResult = idScanResult;\n }\n\n function getLatestEnrollmentIdentifier() {\n return latestEnrollmentIdentifier;\n }\n\n function setLatestServerResult(responseJSON) {}\n\n return {\n onLivenessCheckPressed: onLivenessCheckPressed,\n onComplete: onComplete,\n setLatestSessionResult: setLatestSessionResult,\n setIDScanResult: setIDScanResult,\n getLatestEnrollmentIdentifier: getLatestEnrollmentIdentifier,\n setLatestServerResult: setLatestServerResult\n };\n}();\n\n;\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n var currentExports = module.__proto__.exports;\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.i);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/harmony-module.js */ \"./node_modules/webpack/buildin/harmony-module.js\")(module)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tcG9uZW50cy9MaXZlbmVzc0NoZWNrL2xpdmVuZXNzLmpzP2QwOGQiXSwibmFtZXMiOlsiTGl2ZW5lc3MiLCJsYXRlc3RFbnJvbGxtZW50SWRlbnRpZmllciIsImxhdGVzdFNlc3Npb25SZXN1bHQiLCJsYXRlc3RJRFNjYW5SZXN1bHQiLCJsYXRlc3RQcm9jZXNzb3IiLCJ3aW5kb3ciLCJvbmxvYWQiLCJGYWNlVGVjU0RLIiwic2V0UmVzb3VyY2VEaXJlY3RvcnkiLCJzZXRJbWFnZXNEaXJlY3RvcnkiLCJpbml0aWFsaXplSW5EZXZlbG9wbWVudE1vZGUiLCJDb25maWciLCJEZXZpY2VLZXlJZGVudGlmaWVyIiwiUHVibGljRmFjZU1hcEVuY3J5cHRpb25LZXkiLCJpbml0aWFsaXplZFN1Y2Nlc3NmdWxseSIsIlRoZW1lSGVscGVycyIsIkZhY2VNYXBBcHBVdGlsbGl0aWVzIiwiZW5hYmxlQWxsQnV0dG9ucyIsImRpc3BsYXlTdGF0dXMiLCJnZXRGcmllbmRseURlc2NyaXB0aW9uRm9yRmFjZVRlY1NES1N0YXR1cyIsImdldFN0YXR1cyIsIm1lc3NhZ2UiLCJzdWNjZXNzIiwiZm9ybWF0VUlGb3JEZXZpY2UiLCJvbkxpdmVuZXNzQ2hlY2tQcmVzc2VkIiwiZGF0YSIsIm9uQ29udGludWUiLCJmYWRlT3V0TWFpblVJQW5kUHJlcGFyZUZvclNlc3Npb24iLCJnZXRTZXNzaW9uVG9rZW4iLCJzZXNzaW9uVG9rZW4iLCJMaXZlbmVzc0NoZWNrUHJvY2Vzc29yIiwib25Db21wbGV0ZSIsInNob3dNYWluVUkiLCJpc1N1Y2Nlc3MiLCJzZXNzaW9uVG9rZW5DYWxsYmFjayIsIlhIUiIsIlhNTEh0dHBSZXF1ZXN0Iiwib3BlbiIsIkJhc2VVUkwiLCJzZXRSZXF1ZXN0SGVhZGVyIiwiY3JlYXRlRmFjZVRlY0FQSVVzZXJBZ2VudFN0cmluZyIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlYWR5U3RhdGUiLCJET05FIiwiSlNPTiIsInBhcnNlIiwicmVzcG9uc2VUZXh0Iiwib25TZXJ2ZXJTZXNzaW9uVG9rZW5FcnJvciIsIm9uZXJyb3IiLCJzZW5kIiwiaGFuZGxlRXJyb3JHZXR0aW5nU2VydmVyU2Vzc2lvblRva2VuIiwic2V0TGF0ZXN0U2Vzc2lvblJlc3VsdCIsInNlc3Npb25SZXN1bHQiLCJzZXRJRFNjYW5SZXN1bHQiLCJpZFNjYW5SZXN1bHQiLCJnZXRMYXRlc3RFbnJvbGxtZW50SWRlbnRpZmllciIsInNldExhdGVzdFNlcnZlclJlc3VsdCIsInJlc3BvbnNlSlNPTiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRU8sSUFBSUEsUUFBUSxHQUFJLFlBQVk7QUFDakMsTUFBSUMsMEJBQTBCLEdBQUcsRUFBakM7QUFDQSxNQUFJQyxtQkFBbUIsR0FBRyxJQUExQjtBQUNBLE1BQUlDLGtCQUFrQixHQUFHLElBQXpCO0FBQ0EsTUFBSUMsZUFBSixDQUppQyxDQU1qQzs7QUFDQUMsUUFBTSxDQUFDQyxNQUFQLEdBQWdCLFlBQVk7QUFFMUI7QUFDQUMsZ0ZBQVUsQ0FBQ0Msb0JBQVgsQ0FBZ0MsWUFBaEMsRUFIMEIsQ0FLMUI7O0FBQ0FELGdGQUFVLENBQUNFLGtCQUFYLENBQThCLGlCQUE5QixFQU4wQixDQVExQjs7QUFDQUYsZ0ZBQVUsQ0FBQ0csMkJBQVgsQ0FBdUNDLG9EQUFNLENBQUNDLG1CQUE5QyxFQUFtRUQsb0RBQU0sQ0FBQ0UsMEJBQTFFLEVBQXNHLFVBQVVDLHVCQUFWLEVBQW1DO0FBQ3ZJLFVBQUlBLHVCQUFKLEVBQTZCO0FBQzNCQyxvRkFBWTtBQUNaQywyRkFBb0IsQ0FBQ0MsZ0JBQXJCO0FBQ0Q7O0FBQ0RELHlGQUFvQixDQUFDRSxhQUFyQixDQUFtQ1gsNEVBQVUsQ0FBQ1kseUNBQVgsQ0FBcURaLDRFQUFVLENBQUNhLFNBQVgsRUFBckQsQ0FBbkMsRUFBaUhDLDRDQUFPLENBQUNDLE9BQXpIO0FB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anMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcgfSBmcm9tIFwiY29tbW9uL0NvbmZpZ1wiO1xuaW1wb3J0IHsgRmFjZVRlY1NESyB9IGZyb20gXCJjb3JlLXNkay9GYWNlVGVjU0RLLmpzL0ZhY2VUZWNTREtcIjtcbmltcG9ydCB7IExpdmVuZXNzQ2hlY2tQcm9jZXNzb3IgfSBmcm9tIFwiLi9wcm9jZXNzb3JzL0xpdmVuZXNzQ2hlY2tQcm9jZXNzb3JcIjtcbmltcG9ydCB7IEZhY2VNYXBBcHBVdGlsbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZhY2VNYXBBcHBVdGlsaXRpZXNcIjtcbmltcG9ydCB7IG1lc3NhZ2UgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IFRoZW1lSGVscGVycyB9IGZyb20gXCIuL3V0aWxpdGllcy90aGVtZUhlbHBlcnNcIjtcblxuZXhwb3J0IHZhciBMaXZlbmVzcyA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciBsYXRlc3RFbnJvbGxtZW50SWRlbnRpZmllciA9IFwiXCI7XG4gIHZhciBsYXRlc3RTZXNzaW9uUmVzdWx0ID0gbnVsbDtcbiAgdmFyIGxhdGVzdElEU2NhblJlc3VsdCA9IG51bGw7XG4gIHZhciBsYXRlc3RQcm9jZXNzb3I7XG5cbiAgLy8gV2FpdCBmb3Igb25sb2FkIHRvIGJlIGNvbXBsZXRlIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGFjY2VzcyB0aGUgQnJvd3NlciBTREsuXG4gIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG5cbiAgICAvLyBTZXQgYSB0aGUgZGlyZWN0b3J5IHBhdGggZm9yIG90aGVyIEZhY2VUZWMgQnJvd3NlciBTREsgUmVzb3VyY2VzLlxuICAgIEZhY2VUZWNTREsuc2V0UmVzb3VyY2VEaXJlY3RvcnkoXCIvcmVzb3VyY2VzXCIpO1xuXG4gICAgLy8gU2V0IHRoZSBkaXJlY3RvcnkgcGF0aCBmb3IgcmVxdWlyZWQgRmFjZVRlYyBCcm93c2VyIFNESyBpbWFnZXMuXG4gICAgRmFjZVRlY1NESy5zZXRJbWFnZXNEaXJlY3RvcnkoXCIvRmFjZVRlY19pbWFnZXNcIik7XG5cbiAgICAvLyBJbml0aWFsaXplIEZhY2VUZWMgQnJvd3NlciBTREsgYW5kIGNvbmZpZ3VyZSB0aGUgVUkgZmVhdHVyZXMuXG4gICAgRmFjZVRlY1NESy5pbml0aWFsaXplSW5EZXZlbG9wbWVudE1vZGUoQ29uZmlnLkRldmljZUtleUlkZW50aWZpZXIsIENvbmZpZy5QdWJsaWNGYWNlTWFwRW5jcnlwdGlvbktleSwgZnVuY3Rpb24gKGluaXRpYWxpemVkU3VjY2Vzc2Z1bGx5KSB7XG4gICAgICBpZiAoaW5pdGlhbGl6ZWRTdWNjZXNzZnVsbHkpIHtcbiAgICAgICAgVGhlbWVIZWxwZXJzKCk7XG4gICAgICAgIEZhY2VNYXBBcHBVdGlsbGl0aWVzLmVuYWJsZUFsbEJ1dHRvbnMoKTtcbiAgICAgIH1cbiAgICAgIEZhY2VNYXBBcHBVdGlsbGl0aWVzLmRpc3BsYXlTdGF0dXMoRmFjZVRlY1NESy5nZXRGcmllbmRseURlc2NyaXB0aW9uRm9yRmFjZVRlY1NES1N0YXR1cyhGYWNlVGVjU0RLLmdldFN0YXR1cygpKSwgbWVzc2FnZS5zdWNjZXNzKTtcbiAgICB9KTtcblxuICAgIEZhY2VNYXBBcHBVdGlsbGl0aWVzLmZvcm1hdFVJRm9yRGV2aWNlKCk7XG5cbiAgfVxuXG4gIC8vIEluaXRpYXRlIGEgM0QgTGl2ZW5lc3MgQ2hlY2suXG4gIGZ1bmN0aW9uIG9uTGl2ZW5lc3NDaGVja1ByZXNzZWQoZGF0YSwgb25Db250aW51ZSkge1xuICAgIEZhY2VNYXBBcHBVdGlsbGl0aWVzLmZhZGVPdXRNYWluVUlBbmRQcmVwYXJlRm9yU2Vzc2lvbigpO1xuXG4gICAgLy8gR2V0IGEgU2Vzc2lvbiBUb2tlbiBmcm9tIHRoZSBGYWNlVGVjIFNESywgdGhlbiBzdGFydCB0aGUgM0QgTGl2ZW5lc3MgQ2hlY2suXG4gICAgZ2V0U2Vzc2lvblRva2VuKGZ1bmN0aW9uIChzZXNzaW9uVG9rZW4pIHtcbiAgICAgIGxhdGVzdFByb2Nlc3NvciA9IG5ldyBMaXZlbmVzc0NoZWNrUHJvY2Vzc29yKHNlc3Npb25Ub2tlbiwgTGl2ZW5lc3MsIGRhdGEsIG9uQ29udGludWUpO1xuICAgIH0pXG5cbiAgfVxuXG4gIC8vIFNob3cgdGhlIGZpbmFsIHJlc3VsdCBhbmQgdHJhbnNpdGlvbiBiYWNrIGludG8gdGhlIG1haW4gaW50ZXJmYWNlLlxuICBmdW5jdGlvbiBvbkNvbXBsZXRlKCkge1xuICAgIEZhY2VNYXBBcHBVdGlsbGl0aWVzLnNob3dNYWluVUkoKTtcblxuICAgIGlmICghbGF0ZXN0UHJvY2Vzc29yLmlzU3VjY2VzcygpKSB7XG4gICAgICAvLyBSZXNldCB0aGUgZW5yb2xsbWVudCBpZGVudGlmaWVyLlxuICAgICAgbGF0ZXN0RW5yb2xsbWVudElkZW50aWZpZXIgPSBcIlwiO1xuXG4gICAgICAvLyBTaG93IGVhcmx5IGV4aXQgbWVzc2FnZSB0byBzY3JlZW4uICBJZiB0aGlzIG9jY3VycywgcGxlYXNlIGNoZWNrIGxvZ3MuXG4gICAgICAvLyBGYWNlTWFwQXBwVXRpbGxpdGllcy5kaXNwbGF5U3RhdHVzKFwiQ29tcGxldGUgeW91ciBmYWNlIHNjYW4gZmlyc3QhXCIpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gU2hvdyBzdWNjZXNzZnVsIG1lc3NhZ2UgdG8gc2NyZWVuXG4gICAgLy8gRmFjZU1hcEFwcFV0aWxsaXRpZXMuZGlzcGxheVN0YXR1cyhcIlN1Y2Nlc3NcIiwgbWVzc2FnZS5zdWNjZXNzKTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgU2Vzc2lvbiBUb2tlbiBmcm9tIHRoZSBzZXJ2ZXJcbiAgZnVuY3Rpb24gZ2V0U2Vzc2lvblRva2VuKHNlc3Npb25Ub2tlbkNhbGxiYWNrKSB7XG4gICAgdmFyIFhIUiA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIFhIUi5vcGVuKFwiR0VUXCIsIENvbmZpZy5CYXNlVVJMICsgXCIvc2Vzc2lvbi10b2tlblwiKTtcbiAgICBYSFIuc2V0UmVxdWVzdEhlYWRlcihcIlgtRGV2aWNlLUtleVwiLCBDb25maWcuRGV2aWNlS2V5SWRlbnRpZmllcik7XG4gICAgWEhSLnNldFJlcXVlc3RIZWFkZXIoXCJYLVVzZXItQWdlbnRcIiwgRmFjZVRlY1NESy5jcmVhdGVGYWNlVGVjQVBJVXNlckFnZW50U3RyaW5nKFwiXCIpKTtcbiAgICBYSFIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHRoaXMucmVhZHlTdGF0ZSA9PT0gWE1MSHR0cFJlcXVlc3QuRE9ORSkge1xuICAgICAgICB2YXIgc2Vzc2lvblRva2VuID0gXCJcIjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBBdHRlbXB0IHRvIGdldCB0aGUgc2Vzc2lvblRva2VuIGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdC5cbiAgICAgICAgICBzZXNzaW9uVG9rZW4gPSBKU09OLnBhcnNlKHRoaXMucmVzcG9uc2VUZXh0KS5zZXNzaW9uVG9rZW47XG4gICAgICAgICAgLy8gU29tZXRoaW5nIHdlbnQgd3JvbmcgaW4gcGFyc2luZyB0aGUgcmVzcG9uc2UuIFJldHVybiBhbiBlcnJvci5cbiAgICAgICAgICBpZiAodHlwZW9mIHNlc3Npb25Ub2tlbiAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgb25TZXJ2ZXJTZXNzaW9uVG9rZW5FcnJvcigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCB7XG4gICAgICAgICAgLy8gU29tZXRoaW5nIHdlbnQgd3JvbmcgaW4gcGFyc2luZyB0aGUgcmVzcG9uc2UuIFJldHVybiBhbiBlcnJvci5cbiAgICAgICAgICBvblNlcnZlclNlc3Npb25Ub2tlbkVycm9yKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNlc3Npb25Ub2tlbkNhbGxiYWNrKHNlc3Npb25Ub2tlbik7XG4gICAgICB9XG4gICAgfTtcblxuICAgIFhIUi5vbmVycm9yID0gZnVuY3Rpb24gKCkge1xuICAgICAgb25TZXJ2ZXJTZXNzaW9uVG9rZW5FcnJvcigpO1xuICAgIH1cbiAgICBYSFIuc2VuZCgpO1xuICB9XG5cbiAgZnVuY3Rpb24gb25TZXJ2ZXJTZXNzaW9uVG9rZW5FcnJvcigpIHtcbiAgICBGYWNlTWFwQXBwVXRpbGxpdGllcy5oYW5kbGVFcnJvckdldHRpbmdTZXJ2ZXJTZXNzaW9uVG9rZW4oKTtcbiAgfVxuXG4gIC8vXG4gIC8vIERFVkVMT1BFUiBOT1RFOiAgVGhpcyBpcyBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzIG9ubHkgc28gdGhlIFNhbXBsZSBBcHAgY2FuIGhhdmUgYWNjZXNzIHRvIHRoZSBsYXRlc3Qgc2Vzc2lvbiByZXN1bHRzLlxuICAvLyBJbiB5b3VyIGNvZGUsIHlvdSBtYXkgbm90IGV2ZW4gd2FudCBvciBuZWVkIHRvIGRvIHRoaXMuXG4gIC8vXG4gIGZ1bmN0aW9uIHNldExhdGVzdFNlc3Npb25SZXN1bHQoc2Vzc2lvblJlc3VsdCkge1xuICAgIGxhdGVzdFNlc3Npb25SZXN1bHQgPSBzZXNzaW9uUmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0SURTY2FuUmVzdWx0KGlkU2NhblJlc3VsdCkge1xuICAgIGxhdGVzdElEU2NhblJlc3VsdCA9IGlkU2NhblJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldExhdGVzdEVucm9sbG1lbnRJZGVudGlmaWVyKCkge1xuICAgIHJldHVybiBsYXRlc3RFbnJvbGxtZW50SWRlbnRpZmllclxuICB9XG5cbiAgZnVuY3Rpb24gc2V0TGF0ZXN0U2VydmVyUmVzdWx0KHJlc3BvbnNlSlNPTikge1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBvbkxpdmVuZXNzQ2hlY2tQcmVzc2VkLFxuICAgIG9uQ29tcGxldGUsXG4gICAgc2V0TGF0ZXN0U2Vzc2lvblJlc3VsdCxcbiAgICBzZXRJRFNjYW5SZXN1bHQsXG4gICAgZ2V0TGF0ZXN0RW5yb2xsbWVudElkZW50aWZpZXIsXG4gICAgc2V0TGF0ZXN0U2VydmVyUmVzdWx0XG4gIH1cblxufSkoKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./components/LivenessCheck/liveness.js\n");
/***/ }),
/***/ "./components/LivenessCheck/processors/LivenessCheckProcessor.js":
/*!***********************************************************************!*\
!*** ./components/LivenessCheck/processors/LivenessCheckProcessor.js ***!
\***********************************************************************/
/*! exports provided: LivenessCheckProcessor */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LivenessCheckProcessor\", function() { return LivenessCheckProcessor; });\n/* harmony import */ var _Users_dhrumil1_Documents_Tethy_online_verification_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classCallCheck */ \"./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _Users_dhrumil1_Documents_Tethy_online_verification_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/createClass */ \"./node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _Users_dhrumil1_Documents_Tethy_online_verification_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var common_Config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! common/Config */ \"./common/Config.js\");\n/* harmony import */ var core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-sdk/FaceTecSDK.js/FaceTecSDK */ \"./core-sdk/FaceTecSDK.js/FaceTecSDK.js\");\n/* harmony import */ var core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/index.js\");\n/* harmony import */ var common_apiConstants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! common/apiConstants */ \"./common/apiConstants.js\");\n\n\n\n//\n// Welcome to the annotated FaceTec Device SDK core code for performing secure Liveness Checks!\n//\n\n\n\n //\n// This is an example self-contained class to perform Liveness Checks with the FaceTec SDK.\n// You may choose to further componentize parts of this in your own Apps based on your specific requirements.\n//\n\nvar LivenessCheckProcessor = /*#__PURE__*/function () {\n //\n // DEVELOPER NOTE: These properties are for demonstration purposes only so the Sample App can get information about what is happening in the processor.\n // In the code in your own App, you can pass around signals, flags, intermediates, and results however you would like.\n //\n function LivenessCheckProcessor(sessionToken, sampleAppControllerReference, data, onContinue) {\n Object(_Users_dhrumil1_Documents_Tethy_online_verification_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, LivenessCheckProcessor);\n\n Object(_Users_dhrumil1_Documents_Tethy_online_verification_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, \"latestNetworkRequest\", new XMLHttpRequest());\n\n Object(_Users_dhrumil1_Documents_Tethy_online_verification_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, \"success\", void 0);\n\n Object(_Users_dhrumil1_Documents_Tethy_online_verification_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, \"sampleAppControllerReference\", void 0);\n\n Object(_Users_dhrumil1_Documents_Tethy_online_verification_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, \"data\", void 0);\n\n //\n // DEVELOPER NOTE: These properties are for demonstration purposes only so the Sample App can get information about what is happening in the processor.\n // In the code in your own App, you can pass around signals, flags, intermediates, and results however you would like.\n //\n this.success = false;\n this.sampleAppControllerReference = sampleAppControllerReference;\n this.data = data;\n this[\"continue\"] = onContinue, //\n // Part 1: Starting the FaceTec Session\n //\n // Required parameters:\n // - FaceTecFaceScanProcessor: A class that implements FaceTecFaceScanProcessor, which handles the FaceScan when the User completes a Session. In this example, \"this\" implements the class.\n // - sessionToken: A valid Session Token you just created by calling your API to get a Session Token from the Server SDK.\n //\n new core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_4__[\"FaceTecSDK\"].FaceTecSession(this, sessionToken);\n } //\n // Part 2: Handling the Result of a FaceScan\n //\n\n\n Object(_Users_dhrumil1_Documents_Tethy_online_verification_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(LivenessCheckProcessor, [{\n key: \"processSessionResultWhileFaceTecSDKWaits\",\n value: function processSessionResultWhileFaceTecSDKWaits(sessionResult, faceScanResultCallback) {\n var _this = this;\n\n //\n // DEVELOPER NOTE: These properties are for demonstration purposes only so the Sample App can get information about what is happening in the processor.\n // In the code in your own App, you can pass around signals, flags, intermediates, and results however you would like.\n //\n this.sampleAppControllerReference.setLatestSessionResult(sessionResult); //\n // Part 3: Handles early exit scenarios where there is no FaceScan to handle -- i.e. User Cancellation, Timeouts, etc.\n //\n\n if (sessionResult.status !== core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_4__[\"FaceTecSDK\"].FaceTecSessionStatus.SessionCompletedSuccessfully) {\n antd__WEBPACK_IMPORTED_MODULE_5__[\"message\"].error(\"Session was not completed successfully, cancelling. Status: \" + sessionResult.status, 3);\n this.latestNetworkRequest.abort();\n faceScanResultCallback.cancel();\n return;\n } // IMPORTANT: FaceTecSDK.FaceTecSessionStatus.SessionCompletedSuccessfully DOES NOT mean the Liveness Check was Successful.\n // It simply means the User completed the Session and a 3D FaceScan was created. You still need to perform the Liveness Check on your Servers.\n //\n // Part 4: Get essential data off the FaceTecSessionResult\n //\n\n\n var _this$data = this.data,\n id = _this$data.id,\n username = _this$data.username;\n var parameters = {\n // faceScan: sessionResult.faceScan,\n // auditTrailImage: sessionResult.auditTrail[0],\n pic: sessionResult.lowQualityAuditTrail[0],\n // sessionId: sessionResult.sessionId,\n id: id,\n username: username\n }; //\n // Part 5: Make the Networking Call to Your Servers. Below is just example code, you are free to customize based on how your own API works.\n //\n\n this.latestNetworkRequest = new XMLHttpRequest();\n this.latestNetworkRequest.open(\"POST\", common_apiConstants__WEBPACK_IMPORTED_MODULE_6__[\"FACE_COMPARE\"], true);\n this.latestNetworkRequest.setRequestHeader(\"licence\", common_apiConstants__WEBPACK_IMPORTED_MODULE_6__[\"LiCENCE_KEY\"]);\n this.latestNetworkRequest.setRequestHeader(\"Content-Type\", \"application/json\");\n this.latestNetworkRequest.setRequestHeader(\"access_key\", common_apiConstants__WEBPACK_IMPORTED_MODULE_6__[\"ACCESS_KEY\"]); // TODO: Make this prettier and more consolidated and perhaps less things to do here.\n\n this.latestNetworkRequest.setRequestHeader(\"X-Device-Key\", common_Config__WEBPACK_IMPORTED_MODULE_3__[\"Config\"].DeviceKeyIdentifier);\n this.latestNetworkRequest.setRequestHeader(\"X-User-Agent\", core_sdk_FaceTecSDK_js_FaceTecSDK__WEBPACK_IMPORTED_MODULE_4__[\"FaceTecSDK\"].createFaceTecAPIUserAgentString(sessionResult.sessionId));\n\n this.latestNetworkRequest.onreadystatechange = function () {\n //\n // Part 6: In our Sample, we evaluate a boolean response and treat true as success, false as \"User Needs to Retry\",\n // and handle all other non-nominal r