@sekyro/elements 0.0.0-stage → 0.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/LICENSE +29 -0
- package/README.md +247 -2
- package/custom-elements.json +355 -0
- package/dist/cdn/chunks/background-monitor-GCMNCJMG-UXYQ5GX7.js +1 -0
- package/dist/cdn/chunks/camera-trait-HVV5ZEDI-JB4HN6S3.js +1 -0
- package/dist/cdn/chunks/capture-session-doc-ELX6VK6Z-SDM3ILRA.js +1 -0
- package/dist/cdn/chunks/chunk-36WGD7QV.js +14 -0
- package/dist/cdn/chunks/chunk-4FHWXBOB.js +1 -0
- package/dist/cdn/chunks/chunk-5FLR7RPJ.js +1 -0
- package/dist/cdn/chunks/chunk-6H22RNSK.js +1 -0
- package/dist/cdn/chunks/chunk-7HJH5Q4M.js +1 -0
- package/dist/cdn/chunks/chunk-7Y73DZJB.js +1 -0
- package/dist/cdn/chunks/chunk-BF6SE2AC.js +1 -0
- package/dist/cdn/chunks/chunk-BZ37D4FR.js +1 -0
- package/dist/cdn/chunks/chunk-CFJJD6T2.js +1 -0
- package/dist/cdn/chunks/chunk-CMDITVXF.js +1 -0
- package/dist/cdn/chunks/chunk-CMS5FVGM.js +1 -0
- package/dist/cdn/chunks/chunk-CYGAKCKG.js +1 -0
- package/dist/cdn/chunks/chunk-D334IAZJ.js +1 -0
- package/dist/cdn/chunks/chunk-ET7NCKUV.js +1 -0
- package/dist/cdn/chunks/chunk-FAIDO3QL.js +1 -0
- package/dist/cdn/chunks/chunk-FCTRNWRU.js +1 -0
- package/dist/cdn/chunks/chunk-FDWO4KXK.js +1 -0
- package/dist/cdn/chunks/chunk-FEWP7HBJ.js +1 -0
- package/dist/cdn/chunks/chunk-HDJ6JFXX.js +1 -0
- package/dist/cdn/chunks/chunk-HQF66Y6S.js +1 -0
- package/dist/cdn/chunks/chunk-IBOJTLL7.js +1 -0
- package/dist/cdn/chunks/chunk-JM3CYFFZ.js +1 -0
- package/dist/cdn/chunks/chunk-JOZCJGRV.js +1 -0
- package/dist/cdn/chunks/chunk-KLE75SX4.js +1 -0
- package/dist/cdn/chunks/chunk-LYYAVERP.js +1 -0
- package/dist/cdn/chunks/chunk-PUO2VWDE.js +33 -0
- package/dist/cdn/chunks/chunk-RK4HVNRS.js +1 -0
- package/dist/cdn/chunks/chunk-RRLXNT33.js +1 -0
- package/dist/cdn/chunks/chunk-SK6UAYX2.js +1 -0
- package/dist/cdn/chunks/chunk-T4M2J44L.js +1 -0
- package/dist/cdn/chunks/chunk-U3UDWPBG.js +1 -0
- package/dist/cdn/chunks/chunk-UZWMCNZI.js +1 -0
- package/dist/cdn/chunks/chunk-X3BGM3B2.js +1 -0
- package/dist/cdn/chunks/chunk-X767DBO7.js +1 -0
- package/dist/cdn/chunks/chunk-YWPZG2MZ.js +25 -0
- package/dist/cdn/chunks/chunk-ZIC5GEH2.js +1 -0
- package/dist/cdn/chunks/chunk-ZKLSZJFN.js +1 -0
- package/dist/cdn/chunks/clip-inspect-HZ7N2YOP-DCDXB76T.js +1 -0
- package/dist/cdn/chunks/create-document-capture-UHZJUZHC-YYZNCSW6.js +1 -0
- package/dist/cdn/chunks/create-portrait-capture-VRZZOMJS-I4FBRNBP.js +1 -0
- package/dist/cdn/chunks/detector-scanic-F3Y5X3DF-FGVR4NEM.js +1 -0
- package/dist/cdn/chunks/document-capture-view-JE6IX4IE-2454PW6Z.js +1 -0
- package/dist/cdn/chunks/eid-view-RZS6MLT6-35VSHTV3.js +1 -0
- package/dist/cdn/chunks/email-otp-view-WUQ5OGDD-YDSUKAN2.js +1 -0
- package/dist/cdn/chunks/flow-views-5L7JF3MM-M6C3RXSX.js +1 -0
- package/dist/cdn/chunks/icao-gate-SO6YJ7RV-MPW6W3QN.js +1 -0
- package/dist/cdn/chunks/icao-tuning-DCZCMCEQ-ZQSK7ZOV.js +1 -0
- package/dist/cdn/chunks/keyframe-rank-R4NPQGN3-VRURE6OQ.js +1 -0
- package/dist/cdn/chunks/landmarker-3BBP3RBY-DDXMOLGK.js +1 -0
- package/dist/cdn/chunks/mrz-band-DCXFWDBD-OPMO6HYS.js +1 -0
- package/dist/cdn/chunks/overlay-de-JQ2FDZBA-HLFTXIF6.js +1 -0
- package/dist/cdn/chunks/overlay-es-WDYRSRHH-UXHTYCHD.js +1 -0
- package/dist/cdn/chunks/overlay-pt-AQMDWDWX-BD7TO6Y4.js +1 -0
- package/dist/cdn/chunks/plan-runner-ZHOYMRAO-RDS523K5.js +1 -0
- package/dist/cdn/chunks/portrait-capture-view-GQIBQY4U-TJUYRCTI.js +1 -0
- package/dist/cdn/chunks/portrait-review-view-XOQYQNU7-LPONGGFW.js +1 -0
- package/dist/cdn/chunks/print-4WOMNRBE-DNXJ7ERA.js +11 -0
- package/dist/cdn/chunks/scanic-ml-stub-XPNKT2N3-YSXFN7KY.js +1 -0
- package/dist/cdn/chunks/segmenter-3CVPTZMM-WGI6XGWN.js +1 -0
- package/dist/cdn/chunks/turnstile-N4K4U2AI-SLP55XAA.js +1 -0
- package/dist/cdn/chunks/upload-file-C4MFKLT3-DXCNEDXP.js +1 -0
- package/dist/cdn/chunks/vision_bundle-WBHR7TEE.js +41 -0
- package/dist/cdn/define.js +1 -0
- package/dist/cdn/index.js +1 -0
- package/dist/chunk-6NQ7EWA4.js +1 -0
- package/dist/chunk-72JW2LCH.js +25 -0
- package/dist/chunk-7URX73UH.js +1 -0
- package/dist/chunk-AGPBG22V.js +1 -0
- package/dist/chunk-B6A5RXN4.js +1 -0
- package/dist/chunk-EIRNIJXL.js +1 -0
- package/dist/chunk-ESSKMX7I.js +1 -0
- package/dist/chunk-IBPUWYHJ.js +1 -0
- package/dist/chunk-IGC6OQZ2.js +14 -0
- package/dist/chunk-QE2B3MSJ.js +1 -0
- package/dist/chunk-RMV3BNWO.js +1 -0
- package/dist/chunk-RPLVIGTS.js +1 -0
- package/dist/chunk-SEE6MST7.js +1 -0
- package/dist/chunk-TPIBYY2S.js +1 -0
- package/dist/chunk-XEY5ANJ6.js +1 -0
- package/dist/chunk-ZDF5JILV.js +33 -0
- package/dist/define.cjs +66 -0
- package/dist/define.d.cts +7 -0
- package/dist/define.d.ts +7 -0
- package/dist/define.js +1 -0
- package/dist/document-capture-view-JE6IX4IE-5HJYAEDX.js +1 -0
- package/dist/eid-view-RZS6MLT6-2W2T3AWK.js +1 -0
- package/dist/email-otp-view-WUQ5OGDD-NGI6PBX3.js +1 -0
- package/dist/flow-views-5L7JF3MM-P55CCCOH.js +1 -0
- package/dist/fonts/Cairo-OFL.txt +93 -0
- package/dist/fonts/Geist-OFL.txt +93 -0
- package/dist/fonts/Inter-OFL.txt +93 -0
- package/dist/fonts/SekyroCairo-Bold.woff2 +0 -0
- package/dist/fonts/SekyroCairo-Regular.woff2 +0 -0
- package/dist/fonts/SekyroCairo-SemiBold.woff2 +0 -0
- package/dist/fonts/SekyroGeist-Bold.woff2 +0 -0
- package/dist/fonts/SekyroGeist-SemiBold.woff2 +0 -0
- package/dist/fonts/SekyroInter-Medium.woff2 +0 -0
- package/dist/fonts/SekyroInter-Regular.woff2 +0 -0
- package/dist/fonts/SekyroInter-SemiBold.woff2 +0 -0
- package/dist/index.cjs +66 -0
- package/dist/index.d.cts +1115 -0
- package/dist/index.d.ts +1115 -0
- package/dist/index.js +1 -0
- package/dist/overlay-de-JQ2FDZBA-FR25JPE4.js +1 -0
- package/dist/overlay-es-WDYRSRHH-PFDMX5D2.js +1 -0
- package/dist/overlay-pt-AQMDWDWX-LTD4N2DW.js +1 -0
- package/dist/portrait-capture-view-GQIBQY4U-AFPEUDLY.js +1 -0
- package/dist/portrait-review-view-XOQYQNU7-IPKAZBP6.js +1 -0
- package/dist/styles.css +1479 -0
- package/package.json +117 -4
- package/types/empty.js +2 -0
- package/types/events.d.ts +9 -0
- package/types/jsx.d.ts +15 -0
- package/types/svelte.d.ts +16 -0
- package/types/vue.d.ts +15 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import{a as o,b as C,c as f,i as u}from"./chunk-RPLVIGTS.js";var F=C(s=>{"use strict";var R=Symbol.for("react.transitional.element"),pe=Symbol.for("react.portal"),de=Symbol.for("react.fragment"),me=Symbol.for("react.strict_mode"),he=Symbol.for("react.profiler"),fe=Symbol.for("react.consumer"),ve=Symbol.for("react.context"),_e=Symbol.for("react.forward_ref"),ye=Symbol.for("react.suspense"),ge=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),Ce=Symbol.for("react.activity"),P=Symbol.iterator;function ke(e){return e===null||typeof e!="object"?null:(e=P&&e[P]||e["@@iterator"],typeof e=="function"?e:null)}o(ke,"getIteratorFn");var U={isMounted:o(function(){return!1},"isMounted"),enqueueForceUpdate:o(function(){},"enqueueForceUpdate"),enqueueReplaceState:o(function(){},"enqueueReplaceState"),enqueueSetState:o(function(){},"enqueueSetState")},V=Object.assign,$={};function _(e,t,r){this.props=e,this.context=t,this.refs=$,this.updater=r||U}o(_,"Component");_.prototype.isReactComponent={};_.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Z(){}o(Z,"ComponentDummy");Z.prototype=_.prototype;function A(e,t,r){this.props=e,this.context=t,this.refs=$,this.updater=r||U}o(A,"PureComponent");var M=A.prototype=new Z;M.constructor=A;V(M,_.prototype);M.isPureReactComponent=!0;var q=Array.isArray;function L(){}o(L,"noop");var p={H:null,A:null,T:null,S:null},Y=Object.prototype.hasOwnProperty;function S(e,t,r){var n=r.ref;return{$$typeof:R,type:e,key:t,ref:n!==void 0?n:null,props:r}}o(S,"ReactElement");function be(e,t){return S(e.type,t,e.props)}o(be,"cloneAndReplaceKey");function E(e){return typeof e=="object"&&e!==null&&e.$$typeof===R}o(E,"isValidElement");function we(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}o(we,"escape");var O=/\/+/g;function z(e,t){return typeof e=="object"&&e!==null&&e.key!=null?we(""+e.key):t.toString(36)}o(z,"getElementKey");function Te(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(L,L):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}o(Te,"resolveThenable");function v(e,t,r,n,a){var c=typeof e;(c==="undefined"||c==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(c){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case R:case pe:i=!0;break;case D:return i=e._init,v(i(e._payload),t,r,n,a)}}if(i)return a=a(e),i=n===""?"."+z(e,0):n,q(a)?(r="",i!=null&&(r=i.replace(O,"$&/")+"/"),v(a,t,r,"",function(le){return le})):a!=null&&(E(a)&&(a=be(a,r+(a.key==null||e&&e.key===a.key?"":(""+a.key).replace(O,"$&/")+"/")+i)),t.push(a)),1;i=0;var d=n===""?".":n+":";if(q(e))for(var m=0;m<e.length;m++)n=e[m],c=d+z(n,m),i+=v(n,t,r,c,a);else if(m=ke(e),typeof m=="function")for(e=m.call(e),m=0;!(n=e.next()).done;)n=n.value,c=d+z(n,m++),i+=v(n,t,r,c,a);else if(c==="object"){if(typeof e.then=="function")return v(Te(e),t,r,n,a);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return i}o(v,"mapIntoArray");function k(e,t,r){if(e==null)return e;var n=[],a=0;return v(e,n,"","",function(c){return t.call(r,c,a++)}),n}o(k,"mapChildren");function ze(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(r){(e._status===0||e._status===-1)&&(e._status=1,e._result=r)},function(r){(e._status===0||e._status===-1)&&(e._status=2,e._result=r)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}o(ze,"lazyInitializer");var I=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Le={map:k,forEach:o(function(e,t,r){k(e,function(){t.apply(this,arguments)},r)},"forEach"),count:o(function(e){var t=0;return k(e,function(){t++}),t},"count"),toArray:o(function(e){return k(e,function(t){return t})||[]},"toArray"),only:o(function(e){if(!E(e))throw Error("React.Children.only expected to receive a single React element child.");return e},"only")};s.Activity=Ce;s.Children=Le;s.Component=_;s.Fragment=de;s.Profiler=he;s.PureComponent=A;s.StrictMode=me;s.Suspense=ye;s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=p;s.__COMPILER_RUNTIME={__proto__:null,c:o(function(e){return p.H.useMemoCache(e)},"c")};s.cache=function(e){return function(){return e.apply(null,arguments)}};s.cacheSignal=function(){return null};s.cloneElement=function(e,t,r){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var n=V({},e.props),a=e.key;if(t!=null)for(c in t.key!==void 0&&(a=""+t.key),t)!Y.call(t,c)||c==="key"||c==="__self"||c==="__source"||c==="ref"&&t.ref===void 0||(n[c]=t[c]);var c=arguments.length-2;if(c===1)n.children=r;else if(1<c){for(var i=Array(c),d=0;d<c;d++)i[d]=arguments[d+2];n.children=i}return S(e.type,a,n)};s.createContext=function(e){return e={$$typeof:ve,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:fe,_context:e},e};s.createElement=function(e,t,r){var n,a={},c=null;if(t!=null)for(n in t.key!==void 0&&(c=""+t.key),t)Y.call(t,n)&&n!=="key"&&n!=="__self"&&n!=="__source"&&(a[n]=t[n]);var i=arguments.length-2;if(i===1)a.children=r;else if(1<i){for(var d=Array(i),m=0;m<i;m++)d[m]=arguments[m+2];a.children=d}if(e&&e.defaultProps)for(n in i=e.defaultProps,i)a[n]===void 0&&(a[n]=i[n]);return S(e,c,a)};s.createRef=function(){return{current:null}};s.forwardRef=function(e){return{$$typeof:_e,render:e}};s.isValidElement=E;s.lazy=function(e){return{$$typeof:D,_payload:{_status:-1,_result:e},_init:ze}};s.memo=function(e,t){return{$$typeof:ge,type:e,compare:t===void 0?null:t}};s.startTransition=function(e){var t=p.T,r={};p.T=r;try{var n=e(),a=p.S;a!==null&&a(r,n),typeof n=="object"&&n!==null&&typeof n.then=="function"&&n.then(L,I)}catch(c){I(c)}finally{t!==null&&r.types!==null&&(t.types=r.types),p.T=t}};s.unstable_useCacheRefresh=function(){return p.H.useCacheRefresh()};s.use=function(e){return p.H.use(e)};s.useActionState=function(e,t,r){return p.H.useActionState(e,t,r)};s.useCallback=function(e,t){return p.H.useCallback(e,t)};s.useContext=function(e){return p.H.useContext(e)};s.useDebugValue=function(){};s.useDeferredValue=function(e,t){return p.H.useDeferredValue(e,t)};s.useEffect=function(e,t){return p.H.useEffect(e,t)};s.useEffectEvent=function(e){return p.H.useEffectEvent(e)};s.useId=function(){return p.H.useId()};s.useImperativeHandle=function(e,t,r){return p.H.useImperativeHandle(e,t,r)};s.useInsertionEffect=function(e,t){return p.H.useInsertionEffect(e,t)};s.useLayoutEffect=function(e,t){return p.H.useLayoutEffect(e,t)};s.useMemo=function(e,t){return p.H.useMemo(e,t)};s.useOptimistic=function(e,t){return p.H.useOptimistic(e,t)};s.useReducer=function(e,t,r){return p.H.useReducer(e,t,r)};s.useRef=function(e){return p.H.useRef(e)};s.useState=function(e){return p.H.useState(e)};s.useSyncExternalStore=function(e,t,r){return p.H.useSyncExternalStore(e,t,r)};s.useTransition=function(){return p.H.useTransition()};s.version="19.2.0"});var b=C((nt,B)=>{"use strict";B.exports=F()});var W=C(w=>{"use strict";var Re=Symbol.for("react.transitional.element"),Ae=Symbol.for("react.fragment");function G(e,t,r){var n=null;if(r!==void 0&&(n=""+r),t.key!==void 0&&(n=""+t.key),"key"in t){r={};for(var a in t)a!=="key"&&(r[a]=t[a])}else r=t;return t=r.ref,{$$typeof:Re,type:e,key:n,ref:t!==void 0?t:null,props:r}}o(G,"jsxProd");w.Fragment=Ae;w.jsx=G;w.jsxs=G});var y=C((st,K)=>{"use strict";K.exports=W()});var Q=f(b(),1),J=f(y(),1),oe=f(b(),1),ae=f(y(),1);var ct=(0,Q.forwardRef)(u(function({kind:e="primary",full:t=!1,className:r,type:n,...a},c){let i=["sekyro-btn",`sekyro-btn--${e}`];return t&&i.push("sekyro-btn--full"),r!==void 0&&i.push(r),(0,J.jsx)("button",{ref:c,type:n??"button",className:i.join(" "),...a})},"Button")),X={"capture.start":"Start camera","capture.recordAgain":"Start a new attempt","capture.switchCamera":"Switch camera","capture.preparing.title":"Preparing secure capture…","capture.checking":"We're checking your identity…","capture.checkingHint":"This usually takes a few seconds. Keep this page open","capture.securityNote":"Your images are encrypted and used only for this verification","capture.cameraOff":"Camera off","capture.previewAlt":"Preview of the captured image of your face","capture.retryCoaching.title":"That attempt didn't work. A few adjustments will help:","capture.retryCoaching.light":"Find good lighting, with the light on your face and not behind you","capture.retryCoaching.eyeLevel":"Hold your phone at eye level","capture.retryCoaching.head":"Look straight at the camera and keep your head upright","capture.retryTips.title":"Before you film again:","capture.retryOneFace.alone":"Make sure nobody is next to or behind the person being verified","capture.retryOneFace.screens":"Keep photos and screens that show a face out of view","capture.retryFrontCamera.screenSide":"The front camera is the one on the screen side, so you can see yourself","capture.retryBackCamera.backSide":"The back camera is the one on the side without the screen","capture.retryBackCamera.circle":"Hold the phone upright in front of the person, with their face in the circle","capture.retryUpright.vertical":"Hold the phone straight up and down, with the camera at the top","capture.retryUpright.untilEnd":"Keep it that way until the recording ends","capture.retryRecording.cameraOn":"Keep the camera on until the recording finishes","capture.retryRecording.stay":"Stay on this screen. Don't switch apps or lock your phone","capture.retryRecording.network":"Use a stable internet connection","capture.retryDevice.screenRecording":"Stop any screen recording or screen sharing","capture.retryDevice.phone":"Use the app on a phone, not on an emulator","capture.attemptsRemaining.one":"{count} attempt remaining","capture.attemptsRemaining.other":"{count} attempts remaining","common.retry":"Try again","fcv2.err.permission":"Allow camera access in your browser settings (the camera icon in the address bar), then try again","fcv2.err.notfound":"No camera detected. Connect or enable a camera, then try again","fcv2.err.inuse":"Another app is using the camera. Close it, then try again","fcv2.err.insecure":"The camera needs a secure connection (HTTPS). Reopen this page over HTTPS","fcv2.err.unsupported":"Your browser cannot capture in a supported format. Open this page in a recent browser such as Chrome or Safari","fcv2.err.generic":"The camera is unavailable. Try again, or contact support if it keeps failing","fcv3.no_face":"We can't see your face. Hold the phone in front of you","fcv3.come_closer":"Bring the phone a little closer","fcv3.move_back":"Move the phone a little farther away","fcv3.center_face":"Center your face in the circle","fcv3.straighten":"Hold your head straight","fcv3.more_light":"Find a brighter spot. Light your face","fcv3.too_bright":"Too much light. Move out of direct light","fcv3.hold_still":"Perfect, hold still","fcv3.steady_camera":"Hold the phone steady","fcv3.hold_upright":"Hold the phone upright","fcv3.one_face":"Only one person should be in the frame","reasons.no_face":"No face could be detected during the check","reasons.media_unreadable":"The submitted capture could not be read","reasons.clip_too_short":"The capture was too short","reasons.spoof_detected":"The liveness check could not confirm a live person in front of the camera","reasons.review_band":"The automatic check was not conclusive, so it was sent to human review","reasons.nni_not_found":"The national identification number was not found in the civil registry","reasons.nni_invalid":"The national identification number is not a valid 10-digit NNI","reasons.registry_unavailable":"The civil registry could not be reached to confirm your number","reasons.no_face_source":"No face could be detected in the selfie photo","reasons.no_face_reference":"No reference photo was available to compare your selfie against. The requester needs to resolve this, so retaking your selfie will not help","reasons.low_quality_reference":"The reference photo on file was not clear enough to compare against","reasons.below_threshold":"The selfie did not match the photo on the identity document closely enough","reasons.side_missing":"One side of the identity document was not submitted","reasons.mrz_checksum_failed":"The machine-readable zone of the document could not be validated","reasons.unreadable":"The document photo was not clear enough to read","reasons.expired_document":"The identity document has expired","reasons.authenticity_review":"The document was sent to human review to confirm its authenticity","reasons.registry_mismatch":"The document's details did not match the civil registry. A reviewer will check","reasons.document_nni_mismatch":"This document belongs to a different person than the one this verification was created for","reasons.id_number_invalid":"The ID number is not valid","reasons.registry_record_not_found":"No record was found in the registry for this ID number","reasons.document_id_number_mismatch":"This document belongs to a different person than the one this verification was created for","reasons.otp_mismatch":"The verification code did not match the one we sent","reasons.otp_expired":"The verification code expired before it was entered","reasons.otp_send_failed":"We could not send a verification code to your phone","reasons.uncalibrated_capture_channel":"Desktop/webcam captures are not yet auto-decided, so your verification went to human review","reasons.capture_back_camera":"Use the front camera. Hold the phone in front of your face and try again","reasons.capture_not_upright":"Hold your phone upright, not sideways, and try again","reasons.capture_front_camera":"Use the back camera. Point it at the person's face and try again","reasons.multiple_faces":"Someone else appeared in the video. Film again with only one person in the frame","reasons.location_not_allowed":"Verification isn't available in your region.","reasons.anonymizer_blocked":"Turn off your VPN or proxy, then open the link again.","reasons.nationality_not_allowed":"This service can't verify this document. Contact the organization for other options.","reasons.document_type_not_accepted":"This type of document isn't accepted. Choose another document.","reasons.underage":"You don't meet the minimum age for this service.","reasons.age_unverifiable":"We couldn't read your date of birth. Take a clearer photo of your document.","reasons.nationality_unreadable":"We couldn't read your nationality. Take a clearer photo of your document.","reasons.name_mismatch":"The details don't match the information the organization has. Contact the organization.","reasons.birth_date_mismatch":"The details don't match the information the organization has. Contact the organization.","reasons.nationality_mismatch":"The details don't match the information the organization has. Contact the organization.","reasons.document_number_mismatch":"The details don't match the information the organization has. Contact the organization.","reasons.liveness_inconclusive":"Let's try again: face a light source and hold still.","reasons.match_inconclusive":"We couldn't confirm it's you. Try again in good light, without glasses.","hints.appearance":"Let's try again: face a light source and hold still.","hints.motion":"Hold still and keep the phone steady, then try again.","hints.lighting":"Face a window or a lamp so your face is well lit, then try again.","hints.framing":"Move closer so your face fills the frame, then try again.","reasons.subject_revoked":"The identity on file for this check is no longer available. The requester needs to run a full verification, so retrying will not help","reasons.probe_not_from_liveness":"The same person needs to be on camera from start to finish. Record the video again","reasons.document_authenticity":"Use the original card, not a photo or a copy, and avoid reflections.","reasons.mobile_required":"Continue on your phone to take the selfie.","reasons.capture_tampered":"We couldn't verify this capture. Use your phone's built-in camera, without screen recording or camera apps.","reasons.device_velocity_exceeded":"This device can't be used for another verification right now. Contact the organization.","reasons.device_cooldown":"Too many attempts. Try again later.","cooldown.retryIn":"Too many attempts. Try again {time}.","cooldown.retryAt":"Too many attempts. Try again after {time}.","capture.busy":"Our service is busy. Trying again…","errors.inference_unavailable":"Try again in a moment.","method.title":"How do you want to verify?","method.description":"Choose one option to continue","returning.title":"Confirm it's you","returning.description":"You verified your identity before. One short face capture confirms it's still you.","method.national_number":"Enter my Mauritanian national ID number (NNI)","method.document_photo":"Photo of my document","errors.method_required":"Choose how you want to verify, then continue","errors.attestation_invalid":"We could not confirm this browser session is genuine. Reload the page and try again","errors.network_error":"We could not reach the verification service. Check your internet connection and try again","errors.session_expired":"This verification session has expired. Ask the organisation that sent you here for a new link","errors.nni_unbound":"This link was created without your national ID number. Ask the requester for a new link","errors.id_number_unbound":"This link was created without your ID number. Ask the requester for a new link","capture.tips.title":"For a successful check:","capture.tips.light":"Face a light source and avoid strong light behind you","capture.tips.uncover":"Uncover your face: no glasses, mask or hand in front of it","capture.tips.eyeLevel":"Hold your phone at eye level","capture.tips.straight":"Look straight at the camera and keep still","capture.tips.summary":"Stand in a well-lit area. Uncover your face: no glasses, no mask. Once the camera starts, hold your phone at eye level, look straight at the camera and keep still.","capture.tips.listen":"Listen to the instructions","capture.tips.stop":"Stop","capture.permission.granted":"Camera access allowed","capture.permission.prompt":"Your browser will ask to use the camera. Choose Allow","capture.permission.denied":"Camera access is blocked. Allow it in your browser settings (the camera icon in the address bar), then reload this page","capture.permission.unknown":"We'll ask to use your camera when you start","capture.cameraLabel":"Camera","capture.facing.user":"Front camera","capture.facing.environment":"Back camera","capture.assisted.title":"Capture the person's face","capture.assisted.lead":"Point the back camera at the person's face and hold the phone upright. The voice guidance speaks to the person being filmed.","capture.assisted.stage":"Point the camera at the person's face","capture.modeSwitch.toAssisted":"Someone is helping me","capture.modeSwitch.toSelf":"I film myself","capture.modeSwitch.toAssistedLabel":"Switch to assisted capture: another person holds the phone and films you","capture.modeSwitch.toSelfLabel":"Switch to self capture: you film yourself with the front camera","capture.modeSwitch.restarted":"Camera switched. Start again when you are ready","capture.voiceGuidance":"Voice guidance","capture.preparing.hint":"Setting up on-device face detection. This can take a moment on a slow connection","capture.ready":"Ready. Start when you are","fcv2.err.models":"The face-detection models could not be loaded. Check your connection and try again","fcv2.err.backcamera":"The back camera could not be opened, and assisted capture needs it. Try again, or continue on another phone"},ut={"capture.start":"تشغيل الكاميرا","capture.recordAgain":"ابدأ محاولة جديدة","capture.switchCamera":"تبديل الكاميرا","capture.preparing.title":"جارٍ تجهيز الالتقاط الآمن…","capture.checking":"نتحقق من هويتك…","capture.checkingHint":"يستغرق هذا عادةً بضع ثوانٍ. أبقِ هذه الصفحة مفتوحة","capture.securityNote":"تُشفَّر لقطاتك وتُستخدم فقط لهذا التحقق","capture.cameraOff":"الكاميرا مطفأة","capture.previewAlt":"معاينة الصورة الملتقطة لوجهك","capture.retryCoaching.title":"لم تنجح هذه المحاولة. بعض التعديلات ستساعد:","capture.retryCoaching.light":"اختر مكانًا جيد الإضاءة، بحيث يكون الضوء على وجهك لا خلفك","capture.retryCoaching.eyeLevel":"أمسك هاتفك بمستوى العينين","capture.retryCoaching.head":"انظر مباشرة إلى الكاميرا وأبقِ رأسك مستقيمًا","capture.retryTips.title":"قبل التصوير مرة أخرى:","capture.retryOneFace.alone":"تأكد من عدم وجود أي شخص بجانب الشخص الذي يتم التحقق منه أو خلفه","capture.retryOneFace.screens":"أبعد عن الإطار الصور والشاشات التي يظهر فيها وجه","capture.retryFrontCamera.screenSide":"الكاميرا الأمامية هي التي في جهة الشاشة، حيث ترى نفسك","capture.retryBackCamera.backSide":"الكاميرا الخلفية هي التي في الجهة المقابلة للشاشة","capture.retryBackCamera.circle":"أمسك الهاتف بشكل عمودي أمام الشخص، مع إبقاء وجهه داخل الدائرة","capture.retryUpright.vertical":"أمسك الهاتف بشكل عمودي، والكاميرا في الأعلى","capture.retryUpright.untilEnd":"أبقِه كذلك حتى ينتهي التسجيل","capture.retryRecording.cameraOn":"أبقِ الكاميرا تعمل حتى ينتهي التسجيل","capture.retryRecording.stay":"ابقَ في هذه الشاشة. لا تنتقل إلى تطبيق آخر ولا تقفل هاتفك","capture.retryRecording.network":"استخدم اتصال إنترنت مستقرًا","capture.retryDevice.screenRecording":"أوقف أي تسجيل للشاشة أو مشاركة لها","capture.retryDevice.phone":"استخدم التطبيق على هاتف، لا على محاكي","capture.attemptsRemaining.zero":"لم تتبقَّ أي محاولة","capture.attemptsRemaining.one":"تبقّت محاولة واحدة","capture.attemptsRemaining.two":"تبقّت محاولتان","capture.attemptsRemaining.few":"تبقّت {count} محاولات","capture.attemptsRemaining.many":"تبقّت {count} محاولة","capture.attemptsRemaining.other":"تبقّت {count} محاولة","common.retry":"أعد المحاولة","fcv2.err.permission":"اسمح بالوصول إلى الكاميرا من إعدادات المتصفح (أيقونة الكاميرا في شريط العنوان) ثم أعد المحاولة","fcv2.err.notfound":"لم يتم العثور على كاميرا. وصِّل كاميرا أو فعِّلها ثم أعد المحاولة","fcv2.err.inuse":"تطبيق آخر يستخدم الكاميرا. أغلقه ثم أعد المحاولة","fcv2.err.insecure":"تتطلب الكاميرا اتصالًا آمنًا (HTTPS). افتح هذه الصفحة عبر HTTPS","fcv2.err.unsupported":"متصفحك لا يستطيع الالتقاط بصيغة مدعومة. افتح هذه الصفحة في متصفح حديث مثل كروم أو سفاري","fcv2.err.generic":"الكاميرا غير متاحة. أعد المحاولة، وتواصل مع الدعم إذا استمرت المشكلة","fcv3.no_face":"لا نرى وجهك. أمسك الهاتف أمامك","fcv3.come_closer":"قرّب الهاتف قليلًا","fcv3.move_back":"أبعد الهاتف قليلًا","fcv3.center_face":"ضع وجهك في منتصف الدائرة","fcv3.straighten":"أبقِ رأسك مستقيمًا","fcv3.more_light":"انتقل إلى مكان أكثر إضاءة. أضئ وجهك","fcv3.too_bright":"الإضاءة قوية جدًا. تجنّب الضوء المباشر على وجهك","fcv3.hold_still":"ممتاز، لا تتحرك","fcv3.steady_camera":"أمسك الهاتف بثبات","fcv3.hold_upright":"أمسك الهاتف بشكل عمودي","fcv3.one_face":"يجب أن يظهر شخص واحد فقط في الإطار","reasons.no_face":"تعذّر اكتشاف أي وجه أثناء التحقق","reasons.media_unreadable":"تعذّرت قراءة اللقطة المُرسلة","reasons.clip_too_short":"كانت اللقطة أقصر من اللازم","reasons.spoof_detected":"لم يتمكن فحص الحضور الحي من تأكيد وجود شخص حقيقي أمام الكاميرا","reasons.review_band":"لم يكن الفحص التلقائي حاسمًا، لذا أُحيل إلى مراجعة بشرية","reasons.nni_not_found":"لم يُعثر على الرقم الوطني في سجل الحالة المدنية","reasons.nni_invalid":"الرقم الوطني ليس رقمًا صالحًا مكوّنًا من 10 أرقام","reasons.registry_unavailable":"تعذّر الوصول إلى سجل الحالة المدنية لتأكيد رقمك","reasons.no_face_source":"تعذّر اكتشاف وجه في الصورة الذاتية","reasons.no_face_reference":"لم تتوفّر صورة مرجعية لمقارنة صورتك الذاتية بها. على الجهة الطالبة معالجة ذلك، وإعادة التقاط صورتك الذاتية لن تُجدي","reasons.low_quality_reference":"الصورة المرجعية المحفوظة لم تكن واضحة بما يكفي للمقارنة","reasons.below_threshold":"الصورة الذاتية لم تطابق صورة وثيقة الهوية بدرجة كافية","reasons.side_missing":"أحد وجهي وثيقة الهوية لم يُرسل","reasons.mrz_checksum_failed":"تعذّر التحقق من منطقة القراءة الآلية في الوثيقة","reasons.unreadable":"صورة الوثيقة لم تكن واضحة بما يكفي للقراءة","reasons.expired_document":"انتهت صلاحية وثيقة الهوية","reasons.authenticity_review":"أُحيلت الوثيقة إلى مراجعة بشرية للتأكد من صحتها","reasons.registry_mismatch":"بيانات الوثيقة لا تطابق السجل المدني. سيتحقق منها مراجع","reasons.document_nni_mismatch":"هذه الوثيقة تخص شخصًا آخر غير الشخص الذي أُنشئ له هذا التحقق","reasons.id_number_invalid":"رقم الهوية غير صالح","reasons.registry_record_not_found":"لم يُعثر على أي سجل لرقم الهوية هذا في السجل","reasons.document_id_number_mismatch":"هذه الوثيقة تخص شخصًا آخر غير الشخص الذي أُنشئ له هذا التحقق","reasons.otp_mismatch":"رمز التحقّق لا يطابق الرمز الذي أرسلناه","reasons.otp_expired":"انتهت صلاحية رمز التحقّق قبل إدخاله","reasons.otp_send_failed":"تعذّر إرسال رمز التحقّق إلى هاتفك","reasons.uncalibrated_capture_channel":"جودة الكاميرا المكتبية غير معايَرة بعد، لذا أُحيل تحققك إلى مراجعة بشرية","reasons.capture_back_camera":"استخدم الكاميرا الأمامية. أمسك الهاتف أمام وجهك وحاول مرة أخرى","reasons.capture_not_upright":"أمسك هاتفك بشكل عمودي وليس أفقيًا، ثم حاول مرة أخرى","reasons.capture_front_camera":"استخدم الكاميرا الخلفية. وجّهها نحو وجه الشخص وحاول مرة أخرى","reasons.multiple_faces":"ظهر شخص آخر في الفيديو. صوّر مرة أخرى مع وجود شخص واحد فقط في الإطار","reasons.location_not_allowed":"التحقق غير متاح في منطقتك.","reasons.anonymizer_blocked":"أوقف تشغيل VPN أو الوكيل ثم افتح الرابط مجددًا.","reasons.nationality_not_allowed":"لا يمكن لهذه الخدمة التحقق من هذه الوثيقة. تواصل مع الجهة لمعرفة الخيارات الأخرى.","reasons.document_type_not_accepted":"هذا النوع من الوثائق غير مقبول. اختر وثيقة أخرى.","reasons.underage":"لا تستوفي الحد الأدنى للسن لهذه الخدمة.","reasons.age_unverifiable":"تعذّرت قراءة تاريخ ميلادك. التقط صورة أوضح لوثيقتك.","reasons.nationality_unreadable":"تعذّرت قراءة جنسيتك. التقط صورة أوضح لوثيقتك.","reasons.name_mismatch":"بياناتك لا تطابق المعلومات المتوفرة لدى الجهة. تواصل مع الجهة.","reasons.birth_date_mismatch":"بياناتك لا تطابق المعلومات المتوفرة لدى الجهة. تواصل مع الجهة.","reasons.nationality_mismatch":"بياناتك لا تطابق المعلومات المتوفرة لدى الجهة. تواصل مع الجهة.","reasons.document_number_mismatch":"بياناتك لا تطابق المعلومات المتوفرة لدى الجهة. تواصل مع الجهة.","reasons.liveness_inconclusive":"لنحاول مجددًا: اجعل وجهك مقابل مصدر ضوء وابقَ ثابتًا.","reasons.match_inconclusive":"لم نتمكّن من التأكد من أنك أنت. حاول مجددًا في إضاءة جيدة ومن دون نظارات.","hints.appearance":"لنحاول مجددًا: اجعل وجهك مقابل مصدر ضوء وابقَ ثابتًا.","hints.motion":"ابقَ ثابتًا وأمسك الهاتف بثبات، ثم حاول مجددًا.","hints.lighting":"اجعل وجهك مقابل نافذة أو مصباح حتى يكون مضاءً جيدًا، ثم حاول مجددًا.","hints.framing":"اقترب أكثر حتى يملأ وجهك الإطار، ثم حاول مجددًا.","reasons.subject_revoked":"لم تعد الهوية المحفوظة لهذا التحقق متاحة. على الجهة الطالبة إجراء تحقق كامل، وإعادة المحاولة لن تُجدي","reasons.probe_not_from_liveness":"يجب أن يظهر الشخص نفسه أمام الكاميرا من البداية إلى النهاية. سجّل الفيديو مرة أخرى","reasons.document_authenticity":"استخدم البطاقة الأصلية، لا صورة لها ولا نسخة منها، وتجنّب الانعكاسات.","reasons.mobile_required":"تابع على هاتفك لالتقاط صورة لوجهك.","reasons.capture_tampered":"تعذّر التحقق من هذا الالتقاط. استخدم الكاميرا المدمجة في هاتفك، دون تسجيل الشاشة أو تطبيقات الكاميرا.","reasons.device_velocity_exceeded":"لا يمكن استخدام هذا الجهاز لعملية تحقق أخرى حاليًا. تواصل مع الجهة.","reasons.device_cooldown":"محاولات كثيرة. حاول مجددًا لاحقًا.","cooldown.retryIn":"محاولات كثيرة. حاول مجددًا {time}.","cooldown.retryAt":"محاولات كثيرة. حاول مجددًا بعد {time}.","capture.busy":"خدمتنا مشغولة حاليًا. نعيد المحاولة…","errors.inference_unavailable":"حاول مجددًا بعد لحظات.","method.title":"كيف تريد التحقق من هويتك؟","method.description":"اختر إحدى الطريقتين للمتابعة","returning.title":"أكّد أنك أنت","returning.description":"سبق أن تحقّقت من هويتك. التقاط قصير لوجهك يكفي لتأكيد أنك أنت.","method.national_number":"إدخال الرقم الوطني للتعريف الموريتاني (NNI)","method.document_photo":"تصوير وثيقتي","errors.method_required":"اختر طريقة التحقق، ثم تابع","errors.attestation_invalid":"تعذّر التأكد من سلامة جلسة المتصفح. أعد تحميل الصفحة وحاول مجددًا","errors.network_error":"تعذّر الوصول إلى خدمة التحقق. تحقق من اتصالك بالإنترنت وأعد المحاولة","errors.session_expired":"انتهت صلاحية جلسة التحقق هذه. اطلب رابطًا جديدًا من الجهة التي أرسلتك إلى هنا","errors.nni_unbound":"أُنشئ هذا الرابط دون رقمك الوطني للتعريف. اطلب رابطًا جديدًا من الجهة الطالبة","errors.id_number_unbound":"أُنشئ هذا الرابط دون رقم هويتك. اطلب رابطًا جديدًا من الجهة الطالبة","capture.tips.title":"لتحقق ناجح:","capture.tips.light":"اجعل الضوء أمام وجهك وتجنّب الإضاءة القوية خلفك","capture.tips.uncover":"اكشف وجهك: بلا نظارات أو كمامة أو يد أمامه","capture.tips.eyeLevel":"أمسك هاتفك بمستوى العينين","capture.tips.straight":"انظر مباشرة إلى الكاميرا وابقَ ثابتًا","capture.tips.summary":"اختر مكانًا جيد الإضاءة. اكشف وجهك: بلا نظارات أو كمامة. بعد تشغيل الكاميرا، أمسك هاتفك بمستوى العينين، وانظر مباشرة إلى الكاميرا وابقَ ثابتًا.","capture.tips.listen":"استمع إلى التعليمات","capture.tips.stop":"إيقاف","capture.permission.granted":"تم السماح بالوصول إلى الكاميرا","capture.permission.prompt":"سيطلب متصفحك استخدام الكاميرا. اختر «السماح»","capture.permission.denied":"الوصول إلى الكاميرا محظور. اسمح به من إعدادات المتصفح (رمز الكاميرا في شريط العنوان)، ثم أعد تحميل الصفحة","capture.permission.unknown":"سنطلب استخدام الكاميرا عند البدء","capture.cameraLabel":"الكاميرا","capture.facing.user":"الكاميرا الأمامية","capture.facing.environment":"الكاميرا الخلفية","capture.assisted.title":"صوّر وجه الشخص","capture.assisted.lead":"وجّه الكاميرا الخلفية نحو وجه الشخص وأمسك الهاتف بشكل عمودي. الإرشادات الصوتية تخاطب الشخص الذي تصوّره.","capture.assisted.stage":"وجّه الكاميرا نحو وجه الشخص","capture.modeSwitch.toAssisted":"شخص يساعدني","capture.modeSwitch.toSelf":"أصوّر نفسي","capture.modeSwitch.toAssistedLabel":"التبديل إلى التصوير بمساعدة شخص آخر يحمل الهاتف ويصوّرك","capture.modeSwitch.toSelfLabel":"التبديل إلى التصوير الذاتي بالكاميرا الأمامية","capture.modeSwitch.restarted":"تم تبديل الكاميرا. ابدأ من جديد عندما تكون جاهزًا","capture.voiceGuidance":"الإرشاد الصوتي","capture.preparing.hint":"يجري إعداد كشف الوجه على جهازك. قد يستغرق ذلك لحظة على اتصال بطيء","capture.ready":"جاهز. ابدأ عندما تكون مستعدًا","fcv2.err.models":"تعذّر تحميل نماذج التعرف على الوجه. تحقق من اتصالك ثم أعد المحاولة","fcv2.err.backcamera":"تعذّر فتح الكاميرا الخلفية، والالتقاط المساعَد يحتاج إليها. أعد المحاولة أو تابع على هاتف آخر"},lt={"capture.start":"Démarrer la caméra","capture.recordAgain":"Commencer une nouvelle tentative","capture.switchCamera":"Changer de caméra","capture.preparing.title":"Préparation de la capture sécurisée…","capture.checking":"Nous vérifions votre identité…","capture.checkingHint":"Cela prend généralement quelques secondes. Gardez cette page ouverte","capture.securityNote":"Vos images sont chiffrées et utilisées uniquement pour cette vérification","capture.cameraOff":"Caméra éteinte","capture.previewAlt":"Aperçu de l’image capturée de votre visage","capture.retryCoaching.title":"Cette tentative n'a pas abouti. Quelques ajustements vous aideront :","capture.retryCoaching.light":"Placez-vous dans un endroit bien éclairé, avec la lumière sur le visage et non derrière vous","capture.retryCoaching.eyeLevel":"Tenez votre téléphone à hauteur des yeux","capture.retryCoaching.head":"Regardez droit vers la caméra, la tête bien droite","capture.retryTips.title":"Avant de filmer à nouveau :","capture.retryOneFace.alone":"Assurez-vous que personne ne se trouve à côté ou derrière la personne vérifiée","capture.retryOneFace.screens":"Gardez hors du cadre les photos et les écrans qui montrent un visage","capture.retryFrontCamera.screenSide":"La caméra avant est celle du côté de l'écran : vous vous voyez à l'écran","capture.retryBackCamera.backSide":"La caméra arrière est celle du côté opposé à l'écran","capture.retryBackCamera.circle":"Tenez le téléphone droit face à la personne, son visage dans le cercle","capture.retryUpright.vertical":"Tenez le téléphone bien droit, la caméra en haut","capture.retryUpright.untilEnd":"Gardez-le ainsi jusqu'à la fin de l'enregistrement","capture.retryRecording.cameraOn":"Laissez la caméra allumée jusqu'à la fin de l'enregistrement","capture.retryRecording.stay":"Restez sur cet écran. Ne changez pas d'application et ne verrouillez pas votre téléphone","capture.retryRecording.network":"Utilisez une connexion internet stable","capture.retryDevice.screenRecording":"Arrêtez tout enregistrement ou partage d'écran","capture.retryDevice.phone":"Utilisez l'application sur un téléphone, pas sur un émulateur","capture.attemptsRemaining.one":"{count} tentative restante","capture.attemptsRemaining.other":"{count} tentatives restantes","common.retry":"Réessayer","fcv2.err.permission":"Autorisez la caméra dans les réglages du navigateur (icône caméra dans la barre d’adresse), puis réessayez","fcv2.err.notfound":"Aucune caméra détectée. Branchez ou activez une caméra, puis réessayez","fcv2.err.inuse":"La caméra est utilisée par une autre application. Fermez-la, puis réessayez","fcv2.err.insecure":"La caméra nécessite une connexion sécurisée (HTTPS). Rouvrez cette page en HTTPS","fcv2.err.unsupported":"Votre navigateur ne prend pas en charge un format de capture compatible. Ouvrez cette page dans un navigateur récent comme Chrome ou Safari","fcv2.err.generic":"Caméra indisponible. Réessayez, ou contactez le support si le problème persiste","fcv3.no_face":"Nous ne voyons pas votre visage. Tenez le téléphone devant vous","fcv3.come_closer":"Rapprochez un peu le téléphone","fcv3.move_back":"Éloignez un peu le téléphone","fcv3.center_face":"Centrez votre visage dans le cercle","fcv3.straighten":"Tenez la tête droite","fcv3.more_light":"Cherchez un endroit plus lumineux. Éclairez votre visage","fcv3.too_bright":"Trop de lumière. Évitez la lumière directe sur le visage","fcv3.hold_still":"Parfait, ne bougez plus","fcv3.steady_camera":"Tenez le téléphone stable","fcv3.hold_upright":"Tenez le téléphone à la verticale","fcv3.one_face":"Une seule personne doit être dans le cadre","reasons.no_face":"Aucun visage n’a pu être détecté pendant la vérification","reasons.media_unreadable":"La capture envoyée n’a pas pu être lue","reasons.clip_too_short":"La capture était trop courte","reasons.spoof_detected":"Le contrôle de présence n'a pas pu confirmer la présence d'une personne réelle devant la caméra","reasons.review_band":"Le contrôle automatique n'a pas été concluant, il a donc été transmis à un examen humain","reasons.nni_not_found":"Le numéro national d'identification n'a pas été trouvé dans le registre d'état civil","reasons.nni_invalid":"Le numéro national d'identification n'est pas un NNI valide à 10 chiffres","reasons.registry_unavailable":"Le registre d'état civil n'a pas pu être joint pour confirmer votre numéro","reasons.no_face_source":"Aucun visage n'a pu être détecté sur la photo selfie","reasons.no_face_reference":"Aucune photo de référence n'était disponible pour comparer votre selfie. C'est au demandeur de le résoudre : reprendre votre selfie n'y changera rien","reasons.low_quality_reference":"La photo de référence enregistrée n'était pas assez nette pour la comparaison","reasons.below_threshold":"Le selfie ne correspondait pas suffisamment à la photo de la pièce d'identité","reasons.side_missing":"Un côté de la pièce d'identité n'a pas été envoyé","reasons.mrz_checksum_failed":"La zone de lecture automatique du document n'a pas pu être validée","reasons.unreadable":"La photo du document n'était pas assez nette pour être lue","reasons.expired_document":"La pièce d'identité a expiré","reasons.authenticity_review":"Le document a été transmis à un examen humain pour confirmer son authenticité","reasons.registry_mismatch":"Les informations du document ne correspondent pas au registre civil. Un examinateur va vérifier","reasons.document_nni_mismatch":"Ce document appartient à une autre personne que celle pour qui cette vérification a été créée","reasons.id_number_invalid":"Le numéro d'identité n'est pas valide","reasons.registry_record_not_found":"Aucun dossier n'a été trouvé dans le registre pour ce numéro d'identité","reasons.document_id_number_mismatch":"Ce document appartient à une autre personne que celle pour qui cette vérification a été créée","reasons.otp_mismatch":"Le code de vérification ne correspond pas à celui que nous avons envoyé","reasons.otp_expired":"Le code de vérification a expiré avant d'être saisi","reasons.otp_send_failed":"Nous n'avons pas pu envoyer de code de vérification à votre téléphone","reasons.uncalibrated_capture_channel":"Les captures webcam ne sont pas encore décidées automatiquement, votre vérification part donc en revue humaine","reasons.capture_back_camera":"Utilisez la caméra avant. Tenez le téléphone devant votre visage et réessayez","reasons.capture_not_upright":"Tenez votre téléphone à la verticale, pas à l'horizontale, et réessayez","reasons.capture_front_camera":"Utilisez la caméra arrière. Dirigez-la vers le visage de la personne et réessayez","reasons.multiple_faces":"Une autre personne est apparue dans la vidéo. Filmez à nouveau avec une seule personne dans le cadre","reasons.location_not_allowed":"La vérification n'est pas disponible dans votre région.","reasons.anonymizer_blocked":"Désactivez votre VPN ou proxy, puis rouvrez le lien.","reasons.nationality_not_allowed":"Ce service ne peut pas vérifier ce document. Contactez l'organisation pour d'autres options.","reasons.document_type_not_accepted":"Ce type de document n'est pas accepté. Choisissez un autre document.","reasons.underage":"Vous n'avez pas l'âge minimum requis pour ce service.","reasons.age_unverifiable":"Nous n'avons pas pu lire votre date de naissance. Prenez une photo plus nette de votre document.","reasons.nationality_unreadable":"Nous n'avons pas pu lire votre nationalité. Prenez une photo plus nette de votre document.","reasons.name_mismatch":"Ces informations ne correspondent pas à celles dont dispose l'organisation. Contactez l'organisation.","reasons.birth_date_mismatch":"Ces informations ne correspondent pas à celles dont dispose l'organisation. Contactez l'organisation.","reasons.nationality_mismatch":"Ces informations ne correspondent pas à celles dont dispose l'organisation. Contactez l'organisation.","reasons.document_number_mismatch":"Ces informations ne correspondent pas à celles dont dispose l'organisation. Contactez l'organisation.","reasons.liveness_inconclusive":"Réessayons : placez-vous face à une source de lumière et restez immobile.","reasons.match_inconclusive":"Nous n'avons pas pu confirmer qu'il s'agit bien de vous. Réessayez dans un endroit bien éclairé, sans lunettes.","hints.appearance":"Réessayons : placez-vous face à une source de lumière et restez immobile.","hints.motion":"Restez immobile et tenez le téléphone bien stable, puis réessayez.","hints.lighting":"Placez-vous face à une fenêtre ou une lampe pour que votre visage soit bien éclairé, puis réessayez.","hints.framing":"Rapprochez-vous pour que votre visage remplisse le cadre, puis réessayez.","reasons.subject_revoked":"L'identité enregistrée pour cette vérification n'est plus disponible. Le demandeur doit lancer une vérification complète : réessayer n'y changera rien","reasons.probe_not_from_liveness":"La même personne doit être devant la caméra du début à la fin. Enregistrez à nouveau la vidéo","reasons.document_authenticity":"Utilisez la carte originale, pas une photo ni une copie, et évitez les reflets.","reasons.mobile_required":"Continuez sur votre téléphone pour prendre le selfie.","reasons.capture_tampered":"Nous n'avons pas pu vérifier cette capture. Utilisez l'appareil photo intégré de votre téléphone, sans enregistrement d'écran ni application de caméra.","reasons.device_velocity_exceeded":"Cet appareil ne peut pas servir à une autre vérification pour le moment. Contactez l'organisation.","reasons.device_cooldown":"Trop de tentatives. Réessayez plus tard.","cooldown.retryIn":"Trop de tentatives. Réessayez {time}.","cooldown.retryAt":"Trop de tentatives. Réessayez à partir de {time}.","capture.busy":"Notre service est très sollicité. Nouvel essai en cours…","errors.inference_unavailable":"Réessayez dans un instant.","method.title":"Comment souhaitez-vous vérifier votre identité ?","method.description":"Choisissez une option pour continuer","returning.title":"Confirmez qu'il s'agit bien de vous","returning.description":"Vous avez déjà vérifié votre identité. Une courte capture du visage confirme qu'il s'agit toujours de vous.","method.national_number":"Saisir mon numéro national d'identification mauritanien (NNI)","method.document_photo":"Photographier mon document","errors.method_required":"Choisissez comment vérifier votre identité, puis continuez","errors.attestation_invalid":"Nous n'avons pas pu confirmer l'authenticité de cette session de navigateur. Rechargez la page et réessayez","errors.network_error":"Nous n'avons pas pu joindre le service de vérification. Vérifiez votre connexion internet et réessayez","errors.session_expired":"Cette session de vérification a expiré. Demandez un nouveau lien à l'organisme qui vous a envoyé ici","errors.nni_unbound":"Ce lien a été créé sans votre numéro national d'identification. Demandez un nouveau lien à l'organisme demandeur","errors.id_number_unbound":"Ce lien a été créé sans votre numéro d'identité. Demandez un nouveau lien à l'organisme demandeur","capture.tips.title":"Pour une vérification réussie :","capture.tips.light":"Placez-vous face à la lumière et évitez une forte lumière derrière vous","capture.tips.uncover":"Dégagez votre visage : ni lunettes, ni masque, ni main devant","capture.tips.eyeLevel":"Tenez votre téléphone à hauteur des yeux","capture.tips.straight":"Regardez droit vers la caméra et restez immobile","capture.tips.summary":"Placez-vous dans une zone bien éclairée. Dégagez votre visage : ni lunettes, ni masque. Une fois la caméra démarrée, tenez votre téléphone à hauteur des yeux, regardez droit vers la caméra et restez immobile.","capture.tips.listen":"Écouter les instructions","capture.tips.stop":"Arrêter","capture.permission.granted":"Accès à la caméra autorisé","capture.permission.prompt":"Votre navigateur va demander l’accès à la caméra. Choisissez « Autoriser »","capture.permission.denied":"L’accès à la caméra est bloqué. Autorisez-le dans les réglages du navigateur (icône caméra dans la barre d’adresse), puis rechargez la page","capture.permission.unknown":"Nous demanderons l’accès à la caméra au démarrage","capture.cameraLabel":"Caméra","capture.facing.user":"Caméra avant","capture.facing.environment":"Caméra arrière","capture.assisted.title":"Filmez le visage de la personne","capture.assisted.lead":"Pointez la caméra arrière vers le visage de la personne et tenez le téléphone à la verticale. Le guidage vocal s'adresse à la personne filmée.","capture.assisted.stage":"Pointez la caméra vers le visage de la personne","capture.modeSwitch.toAssisted":"Quelqu'un m'aide","capture.modeSwitch.toSelf":"Je me filme","capture.modeSwitch.toAssistedLabel":"Passer à la capture assistée : une autre personne tient le téléphone et vous filme","capture.modeSwitch.toSelfLabel":"Passer à la capture seule : vous vous filmez avec la caméra avant","capture.modeSwitch.restarted":"Caméra changée. Recommencez quand vous le souhaitez","capture.voiceGuidance":"Guidage vocal","capture.preparing.hint":"Mise en place de la détection du visage sur l’appareil. Cela peut prendre un instant sur une connexion lente","capture.ready":"Prêt. Commencez quand vous voulez","fcv2.err.models":"Impossible de charger les modèles de détection du visage. Vérifiez votre connexion puis réessayez","fcv2.err.backcamera":"La caméra arrière n'a pas pu s'ouvrir, et la capture assistée en a besoin. Réessayez ou continuez sur un autre téléphone"},T={},H=u(e=>e==="es"||e==="pt"||e==="de","isOverlayLocale");function Me(e){return H(e)?"en":e}o(Me,"q");u(Me,"baseLocale");function Se(e){return H(e)?T[e]:void 0}o(Se,"N");u(Se,"overlayOf");function ee(e){return H(e)&&T[e]===void 0}o(ee,"_");u(ee,"overlayPending");function Ee(e){return ee(e)?(e==="es"?import("./overlay-es-WDYRSRHH-PFDMX5D2.js"):e==="pt"?import("./overlay-pt-AQMDWDWX-LTD4N2DW.js"):import("./overlay-de-JQ2FDZBA-FR25JPE4.js")).then(t=>{T[e]=t.overlay},()=>{T[e]={}}):Promise.resolve()}o(Ee,"O");u(Ee,"loadSekyroLocale");var te=Object.freeze({"reasons.id_number_invalid":"reasons.nni_invalid","reasons.registry_record_not_found":"reasons.nni_not_found","reasons.document_id_number_mismatch":"reasons.document_nni_mismatch","errors.id_number_unbound":"errors.nni_unbound","population.reason_id_number_invalid":"population.reason_nni_invalid","population.reason_registry_record_not_found":"population.reason_nni_not_found","population.reason_registry_record_not_found_or_document":"population.reason_nni_not_found_or_document","summary.id_number":"summary.nni"}),He=new Map(Object.entries(te).filter(([e])=>e.startsWith("reasons.")).map(([e,t])=>[t.slice(8),e.slice(8)]));function re(e){return He.get(e)??e}o(re,"m");u(re,"genericReason");function Ne(e,t){let r=e,n=t;for(let[a,c]of Object.entries(te)){let i=n[a],d=n[c];typeof i!="string"&&typeof d=="string"?r[a]=d:typeof d!="string"&&typeof i=="string"&&(r[c]=i)}}o(Ne,"D");u(Ne,"aliasRenamedKeys");function je(e){switch(e){case"center":return"fcv3.center_face";case"closer":return"fcv3.come_closer";case"farther":return"fcv3.move_back";case"light":return"fcv3.more_light";case"still":case"hold":return"fcv3.hold_still";case"upright":return"fcv3.hold_upright";case"one_face":return"fcv3.one_face";default:{let t=e;throw new Error(`hintStringKey: unhandled hint ${t}`)}}}o(je,"E");u(je,"hintStringKey");function xe(e){let t=`hints.${e}`;return Object.hasOwn(X,t)?t:null}o(xe,"B");u(xe,"retakeHintStringKey");function ne(e){return`fcv2.err.${e}`}o(ne,"b");u(ne,"captureErrorStringKey");function Pe(e){return e.detail?.engineKind==="backcamera"?"fcv2.err.backcamera":ne(e.kind)}o(Pe,"M");u(Pe,"captureErrorCopyKey");function qe(e){switch(e){case"no_recorder":return"fcv2.err.unsupported";case"attestation":return"errors.attestation_invalid";case"network":return"errors.network_error";case"nni_unbound":case"id_number_unbound":return"errors.id_number_unbound";case"method_required":return"errors.method_required";case"inference_unavailable":return"errors.inference_unavailable";default:{let t=`reasons.${re(e)}`;return Object.hasOwn(X,t)?t:null}}}o(qe,"j");u(qe,"reasonStringKey");function Oe(e,t,r=new Date){if(t===void 0)return null;let n=new Date(t),a=n.getTime()-r.getTime();if(!Number.isFinite(a)||a<=0)return null;if(a<36e5){let i=Math.max(1,Math.ceil(a/6e4));return{key:"cooldown.retryIn",time:new Intl.RelativeTimeFormat(e,{numeric:"always"}).format(i,"minute")}}let c=n.toDateString()===r.toDateString();return{key:"cooldown.retryAt",time:new Intl.DateTimeFormat(e,{...c?{}:{day:"numeric",month:"long"},hour:"2-digit",minute:"2-digit"}).format(n)}}o(Oe,"V");u(Oe,"retryAfterTime");function N(e,t,r){let n=new Intl.PluralRules(t).select(r);return((n==="other"?void 0:e[`capture.attemptsRemaining.${n}`])??e["capture.attemptsRemaining.other"]).replace("{count}",new Intl.NumberFormat(t).format(r))}o(N,"G");u(N,"attemptsRemainingText");function j(){return(0,oe.useCallback)(e=>{e?.focus()},[])}o(j,"X");u(j,"useFocusOnMount");function x({tone:e,role:t,children:r,testId:n}){return(0,ae.jsx)("div",{role:t??(e==="info"?"status":"alert"),className:`sekyro-notice sekyro-notice--${e}`,"data-testid":n,children:r})}o(x,"re");u(x,"Notice");var ie=f(y(),1),l=f(b(),1),h=f(y(),1),g=f(y(),1);var Ie={success:'<path d="M2 12A10 10 0 1 0 22 12A10 10 0 1 0 2 12Z" stroke="currentColor"/><path d="M8.5 12.5L10.5 14.5L15.5 9.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>',pending:'<path d="M2 12A10 10 0 1 0 22 12A10 10 0 1 0 2 12Z" stroke="currentColor"/><path d="M12 8V12L14.5 14.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>',info:'<path d="M2 12A10 10 0 1 0 22 12A10 10 0 1 0 2 12Z" stroke="currentColor"/><path d="M12 17V11" stroke="currentColor" stroke-linecap="round"/><path d="M12 8H12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>',timer:'<path d="M3 13A9 9 0 1 0 21 13A9 9 0 1 0 3 13Z" stroke="currentColor"/><path d="M12 9V13L14.5 15.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.5 4.5L7.5 2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20.5 4.5L16.5 2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>',closeCircle:'<path d="M2 12A10 10 0 1 0 22 12A10 10 0 1 0 2 12Z" stroke="currentColor"/><path d="M14.5 9.5L9.5 14.5M9.5 9.5L14.5 14.5" stroke="currentColor" stroke-linecap="round"/>',sms:'<path d="M14.6 19.21C14.26 19.41 14.05 19.76 13.63 20.47L13.09 21.39C12.6 22.2 11.4 22.2 10.91 21.39L10.37 20.47C9.95 19.76 9.74 19.41 9.4 19.21C9.07 19.01 8.64 19.01 7.79 18.99C6.53 18.97 5.75 18.89 5.09 18.62C3.86 18.11 2.89 17.14 2.38 15.91C2 14.99 2 13.83 2 11.5V10.5C2 7.23 2 5.59 2.74 4.39C3.15 3.71 3.71 3.15 4.39 2.74C5.59 2 7.23 2 10.5 2H13.5C16.77 2 18.41 2 19.61 2.74C20.29 3.15 20.85 3.71 21.26 4.39C22 5.59 22 7.23 22 10.5V11.5C22 13.83 22 14.99 21.62 15.91C21.11 17.14 20.14 18.11 18.91 18.62C18.25 18.89 17.47 18.97 16.21 18.99C15.36 19.01 14.93 19.01 14.6 19.21Z" stroke="currentColor" stroke-linecap="round"/>',whatsapp:'<path d="M17.47 14.38c-0.3-0.15-1.76-0.87-2.03-0.97c-0.27-0.1-0.47-0.15-0.670.15c-0.20.3-0.770.97-0.94 1.16c-0.170.2-0.350.22-0.640.07c-0.3-0.15-1.25-0.46-2.39-1.48c-0.88-0.79-1.48-1.76-1.65-2.06c-0.17-0.3-0.02-0.460.13-0.61c0.13-0.130.3-0.350.45-0.52s0.2-0.30.3-0.5c0.1-0.20.05-0.37-0.03-0.52s-0.67-1.61-0.92-2.21c-0.24-0.58-0.49-0.5-0.67-0.51a13 13 0 0 0-0.57-0.01c-0.2 0-0.520.07-0.790.37c-0.270.3-1.04 1.02-1.04 2.48c0 1.46 1.06 2.88 1.21 3.07s2.1 3.2 5.08 4.49c0.710.31 1.260.49 1.690.63c0.710.23 1.360.2 1.870.12c0.57-0.09 1.76-0.72 2.01-1.41s0.25-1.290.17-1.41c-0.07-0.12-0.27-0.2-0.57-0.35m-5.42 7.4h0a9.87 9.87 0 0 1-5.03-1.38l-0.36-0.21l-3.740.98l1-3.65l-0.23-0.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88c2.64 0 5.12 1.03 6.99 2.9a9.82 9.82 0 0 1 2.89 6.99c0 5.45-4.44 9.88-9.88 9.88m8.41-18.3A11.82 11.82 0 0 0 12.05 0C5.5 0 0.16 5.330.16 11.89c0 2.10.55 4.14 1.59 5.95L0.06 24l6.3-1.65a11.9 11.9 0 0 0 5.68 1.45h0.01c6.55 0 11.89-5.33 11.89-11.89a11.82 11.82 0 0 0-3.48-8.41" fill="currentColor"/>',back:'<path d="M15 5L9 12L15 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>',warning:'<path d="M5.31 10.76C8.23 5.59 9.69 3 12 3C14.31 3 15.77 5.59 18.69 10.76L19.05 11.41C21.48 15.71 22.69 17.86 21.59 19.43C20.5 21 17.79 21 12.36 21H11.64C6.21 21 3.5 21 2.41 19.43C1.31 17.86 2.52 15.71 4.95 11.41L5.31 10.76Z" stroke="currentColor"/><path d="M12 8V13" stroke="currentColor" stroke-linecap="round"/><path d="M12 16H12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>',external:'<path d="M9 15L15 9M15 13.5V9H10.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M2 12C2 7.29 2 4.93 3.46 3.46C4.93 2 7.29 2 12 2C16.71 2 19.07 2 20.54 3.46C22 4.93 22 7.29 22 12C22 16.71 22 19.07 20.54 20.54C19.07 22 16.71 22 12 22C7.29 22 4.93 22 3.46 20.54C2 19.07 2 16.71 2 12Z" stroke="currentColor"/>'},se={id:'<path d="M4 6H17C18.66 6 20 7.34 20 9V19C20 20.66 18.66 22 17 22H7C5.34 22 4 20.66 4 19V6ZM4 6V5" stroke="currentColor" stroke-linejoin="round"/><path d="M9 13A3 3 0 1 0 15 13A3 3 0 1 0 9 13Z" stroke="currentColor"/><path d="M18 6H5.07C4.48 6 4 5.52 4 4.93C4 4.4 4.39 3.94 4.92 3.87L15.72 2.33C16.92 2.15 18 3.09 18 4.31V6Z" stroke="currentColor" stroke-linejoin="round"/><path d="M10 19H14" stroke="currentColor" stroke-linecap="round"/>',card:'<path d="M2 12C2 8.23 2 6.34 3.17 5.17C4.34 4 6.23 4 10 4H14C17.77 4 19.66 4 20.83 5.17C22 6.34 22 8.23 22 12C22 15.77 22 17.66 20.83 18.83C19.66 20 17.77 20 14 20H10C6.23 20 4.34 20 3.17 18.83C2 17.66 2 15.77 2 12Z" stroke="currentColor"/><path d="M10 16H6" stroke="currentColor" stroke-linecap="round"/><path d="M14 16H12.5" stroke="currentColor" stroke-linecap="round"/><path d="M2 10L22 10" stroke="currentColor" stroke-linecap="round"/>',lock:'<path d="M2 16C2 13.17 2 11.76 2.88 10.88C3.76 10 5.17 10 8 10H16C18.83 10 20.24 10 21.12 10.88C22 11.76 22 13.17 22 16C22 18.83 22 20.24 21.12 21.12C20.24 22 18.83 22 16 22H8C5.17 22 3.76 22 2.88 21.12C2 20.24 2 18.83 2 16Z" stroke="currentColor"/><path d="M6 10V8C6 4.69 8.69 2 12 2C15.31 2 18 4.69 18 8V10" stroke="currentColor" stroke-linecap="round"/>',passport:'<path d="M4 6H17C18.66 6 20 7.34 20 9V19C20 20.66 18.66 22 17 22H7C5.34 22 4 20.66 4 19V6ZM4 6V5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M15 13A3 3 0 1 1 9 13A3 3 0 1 1 15 13Z" stroke="currentColor" stroke-linecap="round"/><path d="M18 6H5.07C4.48 6 4 5.52 4 4.93C4 4.4 4.39 3.94 4.92 3.87L15.72 2.33C16.92 2.15 18 3.09 18 4.31V6Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 19H14" stroke="currentColor" stroke-linecap="round"/>',camera:'<path d="M9 13A3 3 0 1 0 15 13A3 3 0 1 0 9 13Z" stroke="currentColor"/><path d="M9.78 21H14.22C17.34 21 18.9 21 20.02 20.26C20.51 19.95 20.93 19.54 21.25 19.06C22 17.96 22 16.43 22 13.36C22 10.3 22 8.77 21.25 7.67C20.93 7.19 20.51 6.78 20.02 6.46C19.3 5.99 18.4 5.82 17.02 5.76C16.36 5.76 15.8 5.27 15.67 4.64C15.47 3.68 14.62 3 13.63 3H10.37C9.38 3 8.53 3.68 8.33 4.64C8.2 5.27 7.64 5.76 6.98 5.76C5.6 5.82 4.7 5.99 3.98 6.46C3.49 6.78 3.07 7.19 2.75 7.67C2 8.77 2 10.3 2 13.36C2 16.43 2 17.96 2.75 19.06C3.07 19.54 3.49 19.95 3.98 20.26C5.1 21 6.66 21 9.78 21Z" stroke="currentColor"/><path d="M19 10H18" stroke="currentColor" stroke-linecap="round"/>',light:'<path d="M6 12A6 6 0 1 0 18 12A6 6 0 1 0 6 12Z" stroke="currentColor"/><path d="M12 2V3" stroke="currentColor" stroke-linecap="round"/><path d="M12 21V22" stroke="currentColor" stroke-linecap="round"/><path d="M22 12L21 12" stroke="currentColor" stroke-linecap="round"/><path d="M3 12L2 12" stroke="currentColor" stroke-linecap="round"/><path d="M19.07 4.93L18.68 5.32" stroke="currentColor" stroke-linecap="round"/><path d="M5.32 18.68L4.93 19.07" stroke="currentColor" stroke-linecap="round"/><path d="M19.07 19.07L18.68 18.68" stroke="currentColor" stroke-linecap="round"/><path d="M5.32 5.32L4.93 4.93" stroke="currentColor" stroke-linecap="round"/>',jGlasses:'<path d="M14 16A4 4 0 1 0 22 16A4 4 0 1 0 14 16Z" stroke="currentColor"/><path d="M2 16A4 4 0 1 0 10 16A4 4 0 1 0 2 16Z" stroke="currentColor"/><path d="M14 16.21L13.34 15.98C12.47 15.67 11.53 15.67 10.66 15.98L10 16.21" stroke="currentColor" stroke-linecap="round"/><path d="M2 16L2.76 7.61C2.88 6.34 2.94 5.71 3.31 5.24C3.68 4.77 4.28 4.57 5.48 4.17L6 4" stroke="currentColor" stroke-linecap="round"/><path d="M22 16L21.24 7.61C21.12 6.34 21.06 5.71 20.69 5.24C20.32 4.77 19.72 4.57 18.52 4.17L18 4" stroke="currentColor" stroke-linecap="round"/>',smartphone:'<path d="M4 10C4 6.23 4 4.34 5.17 3.17C6.34 2 8.23 2 12 2C15.77 2 17.66 2 18.83 3.17C20 4.34 20 6.23 20 10V14C20 17.77 20 19.66 18.83 20.83C17.66 22 15.77 22 12 22C8.23 22 6.34 22 5.17 20.83C4 19.66 4 17.77 4 14V10Z" stroke="currentColor" stroke-linecap="round"/><path d="M15 19H9" stroke="currentColor" stroke-linecap="round"/>',close:'<path d="M19.01 5L5.01 19" stroke="currentColor" stroke-linecap="round"/><path d="M19 19L5 5" stroke="currentColor" stroke-linecap="round"/>',phone:'<path d="M18.68 19.96C19.19 19.91 19.64 19.63 20 19.25L21.42 17.76C22.38 16.75 22.11 15.02 20.88 14.31L18.97 13.21C18.17 12.75 17.19 12.88 16.56 13.55L16.1 14.03C16.1 14.03 15.02 15.17 12.06 12.06C9.11 8.94 10.19 7.81 10.19 7.81L10.48 7.5C11.18 6.76 11.25 5.56 10.63 4.69L9.37 2.91C8.61 1.83 7.14 1.69 6.26 2.61L4.69 4.26C4.26 4.72 3.97 5.31 4 5.97C4.09 7.65 4.81 11.26 8.82 15.48C13.06 19.95 17.05 20.12 18.68 19.96Z" stroke="currentColor" stroke-linecap="round"/>',email:'<path d="M2 12C2 8.23 2 6.34 3.17 5.17C4.34 4 6.23 4 10 4H14C17.77 4 19.66 4 20.83 5.17C22 6.34 22 8.23 22 12C22 15.77 22 17.66 20.83 18.83C19.66 20 17.77 20 14 20H10C6.23 20 4.34 20 3.17 18.83C2 17.66 2 15.77 2 12Z" stroke="currentColor"/><path d="M6 8L8.16 9.8C10 11.33 10.91 12.09 12 12.09C13.09 12.09 14 11.33 15.84 9.8L18 8" stroke="currentColor" stroke-linecap="round"/>',face:'<path d="M9 16C9.85 16.63 10.88 17 12 17C13.12 17 14.15 16.63 15 16" stroke="currentColor" stroke-linecap="round"/><path d="M2.2 10C3 6.08 6.08 3 10 2.2" stroke="currentColor" stroke-linecap="round"/><path d="M2.2 14C3 17.92 6.08 21 10 21.8" stroke="currentColor" stroke-linecap="round"/><path d="M21.8 10C21 6.08 17.92 3 14 2.2" stroke="currentColor" stroke-linecap="round"/><path d="M21.8 14C21 17.92 17.92 21 14 21.8" stroke="currentColor" stroke-linecap="round"/><path d="M15.5 10.5C15.5 11.05 15.28 11.5 15 11.5C14.72 11.5 14.5 11.05 14.5 10.5C14.5 9.95 14.72 9.5 15 9.5C15.28 9.5 15.5 9.95 15.5 10.5Z" stroke="currentColor"/><path d="M8.5 10.5A0.5 1 0 1 0 9.5 10.5A0.5 1 0 1 0 8.5 10.5Z" stroke="currentColor"/>',copy:'<path d="M6 11C6 8.17 6 6.76 6.88 5.88C7.76 5 9.17 5 12 5H15C17.83 5 19.24 5 20.12 5.88C21 6.76 21 8.17 21 11V16C21 18.83 21 20.24 20.12 21.12C19.24 22 17.83 22 15 22H12C9.17 22 7.76 22 6.88 21.12C6 20.24 6 18.83 6 16V11Z" stroke="currentColor"/><path d="M6 19C4.34 19 3 17.66 3 16V10C3 6.23 3 4.34 4.17 3.17C5.34 2 7.23 2 11 2H15C16.66 2 18 3.34 18 5" stroke="currentColor"/>'};function ce({name:e,className:t}){return(0,ie.jsx)("svg",{className:`sekyro-glyph${t?` ${t}`:""}`,viewBox:"0 0 24 24",fill:"none",stroke:"none",strokeWidth:1.5,"aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:e in se?se[e]:Ie[e]}})}o(ce,"f");u(ce,"Icon");function De({id:e,title:t,lead:r}){let n=j();return(0,h.jsxs)("div",{className:"sekyro-heading",children:[(0,h.jsx)("h2",{id:e,ref:n,tabIndex:-1,className:"sekyro-text-body",children:t}),r!==void 0?(0,h.jsx)("p",{className:"sekyro-text-muted",children:r}):null]})}o(De,"B");u(De,"StepHeading");var Ue=(0,l.createContext)(null),Ve=typeof window>"u"?l.useEffect:l.useLayoutEffect;function $e({children:e}){let t=(0,l.useContext)(Ue),r=(0,l.useId)(),n=t?.claim;return Ve(()=>n?.(r),[n,r]),(0,h.jsxs)("div",{className:"sekyro-actions",children:[e,t!==null&&t.owner===r?t.node:null]})}o($e,"G");u($e,"StepActions");var Ze=(0,l.createContext)(()=>{});function Ye(e){let t=(0,l.useContext)(Ze),r=(0,l.useRef)(e);r.current=e;let n=e!==null;(0,l.useEffect)(()=>{if(n)return t(()=>r.current?.()),()=>t(null)},[n,t])}o(Ye,"P");u(Ye,"useFlowBack");var ft=(0,l.createContext)(void 0),vt=(0,l.createContext)(void 0),Fe=(0,l.createContext)(()=>{});function Be(e){let t=(0,l.useContext)(Fe);(0,l.useEffect)(()=>(t(e),()=>t(!1)),[e,t])}o(Be,"D");u(Be,"useImmersive");var Ge=(0,l.createContext)(null);function We({onStop:e}){let t=(0,l.useContext)(Ge);return t===null?null:(0,h.jsx)("button",{type:"button",className:"sekyro-lm-upload",disabled:t.busy,"aria-busy":t.busy||void 0,"data-testid":"sekyro-skip-capture",onClick:o(()=>{e?.(),t.run()},"onClick"),children:t.label})}o(We,"J");u(We,"CameraSkip");function Ke({template:e,code:t}){let[r,n]=e.split("{code}");return(0,h.jsxs)("span",{"data-testid":"sekyro-test-code-line",children:[r,(0,h.jsx)("bdi",{dir:"ltr",className:"sekyro-mono sekyro-test-code",children:t}),n]})}o(Ke,"Q");u(Ke,"TestCodeLine");var Qe=100;function ue({swapKey:e,className:t,children:r}){let[n,a]=(0,l.useState)({key:e,node:r}),c=(0,l.useRef)(r);c.current=r;let i=n.key!==e;return(0,l.useEffect)(()=>{if(!i)return;let d=setTimeout(()=>a({key:e,node:c.current}),Qe);return()=>clearTimeout(d)},[i,e]),(0,h.jsx)("div",{className:`${t}${i?" is-leaving":""}`,"aria-hidden":i||void 0,children:i?n.node:r},n.key)}o(ue,"w");u(ue,"Swap");var _t=u(({pageKey:e,children:t})=>(0,h.jsx)(ue,{swapKey:e,className:"sekyro-page",children:t}),"PageSwap"),Je={info:"info",warning:"warning",danger:"warning"};function Xe({tone:e,children:t}){return(0,g.jsxs)(x,{tone:e,children:[(0,g.jsx)("span",{className:"sekyro-notice__icon","aria-hidden":"true",children:(0,g.jsx)(ce,{name:Je[e]})}),(0,g.jsx)("div",{className:"sekyro-notice__body",children:t})]})}o(Xe,"s1");u(Xe,"StepNotice");function et(e,t,r){return r?e.t("common.noAttemptsLeft"):N(e.strings,e.locale,t)}o(et,"a1");u(et,"attemptsLine");export{b as a,y as b,ct as c,X as d,ut as e,lt as f,Me as g,Se as h,ee as i,Ee as j,re as k,Ne as l,je as m,xe as n,ne as o,Pe as p,qe as q,Oe as r,N as s,j as t,x as u,ce as v,De as w,Ue as x,$e as y,Ze as z,Ye as A,ft as B,vt as C,Fe as D,Be as E,Ge as F,We as G,Ke as H,ue as I,_t as J,Xe as K,et as L};
|
|
2
|
+
/*! Bundled license information:
|
|
3
|
+
|
|
4
|
+
react/cjs/react.production.js:
|
|
5
|
+
(**
|
|
6
|
+
* @license React
|
|
7
|
+
* react.production.js
|
|
8
|
+
*
|
|
9
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
10
|
+
*
|
|
11
|
+
* This source code is licensed under the MIT license found in the
|
|
12
|
+
* LICENSE file in the root directory of this source tree.
|
|
13
|
+
*)
|
|
14
|
+
|
|
15
|
+
react/cjs/react-jsx-runtime.production.js:
|
|
16
|
+
(**
|
|
17
|
+
* @license React
|
|
18
|
+
* react-jsx-runtime.production.js
|
|
19
|
+
*
|
|
20
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
21
|
+
*
|
|
22
|
+
* This source code is licensed under the MIT license found in the
|
|
23
|
+
* LICENSE file in the root directory of this source tree.
|
|
24
|
+
*)
|
|
25
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as pr,d as hr}from"./chunk-IGC6OQZ2.js";import{b as gr,c as kt}from"./chunk-IBPUWYHJ.js";import{a as kr}from"./chunk-SEE6MST7.js";import{c as bt}from"./chunk-EIRNIJXL.js";import{a as cr,b as ur,c as dr,d as Re}from"./chunk-6NQ7EWA4.js";import{F as mr,K as yr,L as vr,a as F,b as de,c as X,m as ar,n as Je,p as ir,q as Xe,r as or,s as lr,t as gt,u as se,v as Ae,w as et,y as fr}from"./chunk-72JW2LCH.js";import{a as i,c as E,i as s}from"./chunk-RPLVIGTS.js";var _r=E(F(),1),v=E(de(),1),ee=E(de(),1),ye=E(F(),1),q=E(de(),1),_=E(F(),1),y=E(F(),1),st=E(F(),1),fe=E(de(),1),Hr=E(F(),1),Y=E(F(),1),it=E(F(),1),we=E(de(),1),Se=E(de(),1),U=E(de(),1),ot=E(F(),1),pe=E(F(),1),Q=E(F(),1),M=E(F(),1),me=E(F(),1),Te=E(F(),1),Nt=E(de(),1),k=E(de(),1);import{subscribeCameraPermission as Un}from"@sekyro/web";import{getLivenessAssetsStatus as jn,preloadLivenessAssets as Tn,subscribeLivenessAssets as Pn}from"@sekyro/web";import{createLivenessCapture as qn}from"@sekyro/web";function ie({className:e,children:t}){return(0,v.jsx)("svg",{"aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e??"sekyro-icon sekyro-icon--sm",children:t})}i(ie,"te");s(ie,"Svg");var Mt="M4 7.5h2.2l1.4-1.9h8.8l1.4 1.9H20a1.6 1.6 0 0 1 1.6 1.6v8.3A1.6 1.6 0 0 1 20 19H4a1.6 1.6 0 0 1-1.6-1.6V9.1A1.6 1.6 0 0 1 4 7.5Z";function Cr(e){return(0,v.jsxs)(ie,{...e,children:[(0,v.jsx)("circle",{cx:"12",cy:"12",r:"4"}),(0,v.jsx)("path",{d:"M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2M5.3 5.3l1.4 1.4M17.3 17.3l1.4 1.4M5.3 18.7l1.4-1.4M17.3 6.7l1.4-1.4"})]})}i(Cr,"cn");s(Cr,"SunIcon");function wr(e){return(0,v.jsxs)(ie,{...e,children:[(0,v.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,v.jsx)("path",{d:"M9 10h.01M15 10h.01M8.8 14.6a4.2 4.2 0 0 0 6.4 0"})]})}i(wr,"ln");s(wr,"FaceUncoveredIcon");function Sr(e){return(0,v.jsxs)(ie,{...e,children:[(0,v.jsx)("rect",{x:"7",y:"2.5",width:"10",height:"19",rx:"2"}),(0,v.jsx)("path",{d:"M10.5 18.5h3M2.5 9.5h2.5M19 9.5h2.5"}),(0,v.jsx)("circle",{cx:"12",cy:"9.5",r:"1.6"})]})}i(Sr,"un");s(Sr,"PhoneEyeLevelIcon");function xr(e){return(0,v.jsxs)(ie,{...e,children:[(0,v.jsx)("path",{d:"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z"}),(0,v.jsx)("circle",{cx:"12",cy:"12",r:"2.8"})]})}i(xr,"dn");s(xr,"LookStraightIcon");function Nr(e){return(0,v.jsxs)(ie,{...e,children:[(0,v.jsx)("path",{d:Mt}),(0,v.jsx)("path",{d:"M9 13l2 2 4-4"})]})}i(Nr,"pn");s(Nr,"CameraCheckIcon");function Mr(e){return(0,v.jsxs)(ie,{...e,children:[(0,v.jsx)("path",{d:Mt}),(0,v.jsx)("path",{d:"M10.2 11.2a1.9 1.9 0 1 1 2.6 1.8c-.5.2-.8.6-.8 1.1v.3M12 16.4h.01"})]})}i(Mr,"fn");s(Mr,"CameraAskIcon");function Lr(e){return(0,v.jsxs)(ie,{...e,children:[(0,v.jsx)("path",{d:Mt}),(0,v.jsx)("path",{d:"M3 3l18 18"})]})}i(Lr,"mn");s(Lr,"CameraBlockedIcon");function rt({off:e,className:t}){return(0,v.jsxs)(ie,{className:t,children:[(0,v.jsx)("path",{d:"M4.5 9.5v5H8l4 3.5v-12L8 9.5H4.5Z"}),e?(0,v.jsx)("path",{d:"M4 4l16 16"}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("path",{d:"M15.5 9.7a3.6 3.6 0 0 1 0 4.6"}),(0,v.jsx)("path",{d:"M18 7.6a6.6 6.6 0 0 1 0 8.8"})]})]})}i(rt,"Ve");s(rt,"SpeakerIcon");function Rr(e){return(0,v.jsx)(ie,{...e,children:(0,v.jsx)("path",{d:"M5 12.5l4.5 4.5L19 7.5"})})}i(Rr,"yn");s(Rr,"CheckIcon");function Ar(e){return(0,v.jsxs)(ie,{className:e.className??"sekyro-spinner",children:[(0,v.jsx)("circle",{cx:"12",cy:"12",r:"9",opacity:"0.25"}),(0,v.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9"})]})}i(Ar,"gn");s(Ar,"SpinnerIcon");var _t=["light","uncover","eyeLevel","straight"],Sn={light:{key:"capture.tips.light",icon:s(()=>(0,ee.jsx)(Cr,{}),"icon")},uncover:{key:"capture.tips.uncover",icon:s(()=>(0,ee.jsx)(wr,{}),"icon")},eyeLevel:{key:"capture.tips.eyeLevel",icon:s(()=>(0,ee.jsx)(Sr,{}),"icon")},straight:{key:"capture.tips.straight",icon:s(()=>(0,ee.jsx)(xr,{}),"icon")}};function Er({tips:e}){let t=Re(),n=(0,_r.useId)();return e.length===0?null:(0,ee.jsxs)("section",{className:"sekyro-tips","aria-labelledby":n,"data-testid":"sekyro-tips",children:[(0,ee.jsx)("p",{className:"sekyro-tips__title",id:n,children:t("capture.tips.title")}),(0,ee.jsx)("ul",{className:"sekyro-tips__list",children:e.map(r=>{let a=typeof r=="string"?Sn[r]:void 0,o=typeof r=="string"?r:r.id,l=a!==void 0?a.icon():typeof r=="string"?void 0:r.icon,u=a!==void 0?t(a.key):typeof r=="string"?r:r.text;return(0,ee.jsxs)("li",{className:"sekyro-tips__item",children:[l!=null?(0,ee.jsx)("span",{className:"sekyro-tips__icon","aria-hidden":"true",children:l}):null,(0,ee.jsx)("span",{children:u})]},o)})})]})}i(Er,"vn");s(Er,"TipList");var xn=220;function Ir({title:e,description:t,options:n,busy:r,error:a,focus:o,testId:l,look:u="cards",marked:S,onChoose:h}){let w=(0,ye.useId)(),x=gt(),[I,d]=(0,ye.useState)(null),N=(0,ye.useRef)(null);(0,ye.useEffect)(()=>{a!==null&&d(null)},[a]),(0,ye.useEffect)(()=>()=>{N.current!==null&&clearTimeout(N.current)},[]);let L=s(p=>{r||I!==null||(d(p),N.current=setTimeout(()=>{N.current=null,d(null),h(p)},xn))},"choose");return(0,q.jsxs)("section",{className:"sekyro-stack sekyro-stack--4 sekyro-choice","aria-labelledby":w,"data-testid":l,children:[(0,q.jsxs)("div",{className:u==="cards"?"sekyro-heading":"sekyro-stack sekyro-stack--1",children:[(0,q.jsx)("h2",{id:w,ref:o?x:void 0,tabIndex:-1,className:"sekyro-text-body",children:e}),t!==void 0&&t!==""?(0,q.jsx)("p",{className:"sekyro-text-muted",children:t}):null]}),a!==null?(0,q.jsx)(se,{tone:"danger",children:(0,q.jsx)("span",{children:a})}):null,u==="buttons"?(0,q.jsx)("div",{className:"sekyro-stack sekyro-stack--3",children:n.map((p,j)=>(0,q.jsx)(X,{kind:j===0?"primary":"ghost",full:!0,disabled:r,"aria-busy":r||void 0,onClick:i(()=>h(p.id),"onClick"),children:p.label},p.id))}):(0,q.jsx)("div",{className:"sekyro-choices",children:n.map(p=>(0,q.jsxs)("button",{type:"button",className:"sekyro-card","aria-pressed":(I??S)===p.id,"aria-busy":r||void 0,disabled:r||I!==null&&I!==p.id,onClick:i(()=>L(p.id),"onClick"),children:[p.glyph!==void 0?(0,q.jsx)("span",{className:"sekyro-card__tile",children:p.glyph}):null,(0,q.jsxs)("span",{className:"sekyro-card__body",children:[(0,q.jsx)("span",{className:"sekyro-card__title",children:p.label}),p.sub!==void 0?(0,q.jsx)("span",{className:"sekyro-card__sub",children:p.sub}):null]}),(0,q.jsx)("span",{className:"sekyro-radio","aria-hidden":"true"})]},p.id))})]})}i(Ir,"kn");s(Ir,"ChoiceScreen");var Ur=["fcv3.no_face","fcv3.come_closer","fcv3.move_back","fcv3.center_face","fcv3.straighten","fcv3.more_light","fcv3.too_bright","fcv3.hold_still","fcv3.steady_camera","fcv3.hold_upright","fcv3.one_face","capture.tips.summary"];function nt(e){return e!==null&&Ur.includes(e)}i(nt,"he");s(nt,"isVoiceKey");var Nn=s((e,t)=>Object.prototype.hasOwnProperty.call(e,t),"own");function je(e,t,n){let r;try{if(typeof e=="function")r=e(t,n);else{let a=e[n];r=a!=null&&Nn(a,t)?a[t]:null}}catch{return null}return typeof r=="string"&&r!==""?r:null}i(je,"Me");s(je,"resolveClip");var Mn="UklGRiQAAABXQVZFZm10IBAAAAABAAEAESsAACJWAAACABAAZGF0YQAAAAA=",Ln={ar:"ar-SA",fr:"fr-FR",en:"en-US",es:"es-ES",pt:"pt-BR",de:"de-DE"};function ae(){return typeof window<"u"&&"speechSynthesis"in window?window.speechSynthesis:null}i(ae,"ne");s(ae,"synth");function jr(){return ae()!==null&&typeof SpeechSynthesisUtterance=="function"}i(jr,"wr");s(jr,"speechAvailable");function Ct(e){return(e.split(/[-_]/)[0]??e).toLowerCase()}i(Ct,"bn");s(Ct,"baseLang");function Lt(e,t){let n=s(a=>a.replace(/_/g,"-").toLowerCase(),"norm"),r=Ct(t);return e.find(a=>n(a.lang)===n(t))??e.find(a=>Ct(a.lang)===r)}i(Lt,"Vn");s(Lt,"pickVoice");function Tr(e){if(!jr())return!1;let t=[];try{t=ae()?.getVoices()??[]}catch{return!0}return t.length===0||Lt(t,e)!==void 0}i(Tr,"Mn");s(Tr,"speechUsable");function Pr(e){let t=ae();return t===null||typeof t.addEventListener!="function"?()=>{}:(t.addEventListener("voiceschanged",e),()=>t.removeEventListener?.("voiceschanged",e))}i(Pr,"wn");s(Pr,"subscribeVoices");function $e(e){try{let t=typeof location<"u"?location.href:"http://localhost/",n=new URL(e,t);return`clip:${n.origin}${n.pathname}`}catch{return`clip:${e}`}}i($e,"Ke");s($e,"clipIdentity");function wt(e){e.pause(),e.removeAttribute("src"),e.load()}i(wt,"Sn");s(wt,"release");function Br(){let e=null,t=null,n=0,r=null,a=[],o=new Map,l=s(()=>{a=ae()?.getVoices()??[]},"loadVoices"),u=!1,S=s(()=>{let d=ae();u||d===null||(u=!0,l(),d.addEventListener?.("voiceschanged",l))},"bindVoices"),h=s(()=>(e??(e=new Audio),e),"element"),w=s((d,N,L)=>{let p=ae();if(p!==null&&d!==""&&typeof SpeechSynthesisUtterance=="function"){S();let j=Lt(a,N);if(a.length===0||j!==void 0){p.cancel();let C=new SpeechSynthesisUtterance(d);C.lang=N,j!==void 0&&(C.voice=j),C.rate=.95,L!==void 0&&(C.onend=C.onerror=L),p.speak(C);return}}L?.()},"speak"),x=s(()=>{n+=1,r=null,e!==null&&(e.pause(),e.currentTime=0),ae()?.cancel()},"stop"),I=s(d=>{for(let N of d){let L=$e(N);if(o.has(L))continue;let p=new Audio;p.preload="auto",p.src=N,o.set(L,p)}},"warmClips");return{say(d){let N=d.url!==null?$e(d.url):`tts:${d.lang}:${d.text}`;if(N===r)return;r=N,n+=1;let L=n,p=d.onEnd,j=p!==void 0?()=>{L===n&&p()}:void 0;if(ae()?.cancel(),d.url!==null){let C=h();C.pause(),C.muted=!1,C.src=d.url,C.currentTime=0,C.onended=j??null,C.play()?.catch(A=>{L===n&&A?.name!=="AbortError"&&(d.speech?w(d.text,d.lang,j):j?.())});return}d.speech?w(d.text,d.lang,j):j?.()},unlock({lang:d,speech:N,prefetch:L}){let p=h();if(t===null&&typeof Blob=="function"&&typeof URL.createObjectURL=="function"){let A=Uint8Array.from(atob(Mn),O=>O.charCodeAt(0));t=URL.createObjectURL(new Blob([A],{type:"audio/wav"}))}let j=p.paused===!1&&t!==null&&p.src!==t;t!==null&&!j&&(p.muted=!0,p.onended=null,p.src=t,p.play()?.catch(()=>{}));let C=ae();if(N&&C!==null&&typeof SpeechSynthesisUtterance=="function"){S();let A=new SpeechSynthesisUtterance(" ");A.volume=0,A.lang=d,C.speak(A)}I(L??[])},prefetch:I,stop:x,dispose(){x(),u&&ae()?.removeEventListener?.("voiceschanged",l),u=!1,t!==null&&URL.revokeObjectURL(t),t=null,e!==null&&wt(e),e=null;for(let d of o.values())wt(d);o.clear()}}}i(Br,"Ln");s(Br,"createVoicePlayer");var Rn="sekyro.voiceGuidance";function qr(e){try{if(typeof window>"u")return null;let t=window.localStorage.getItem(e);return t==="1"?!0:t==="0"?!1:null}catch{return null}}i(qr,"xn");s(qr,"readVoicePreference");function Or(e,t){try{if(typeof window>"u")return;window.localStorage.setItem(e,t?"1":"0")}catch{}}i(Or,"In");s(Or,"writeVoicePreference");var Ve="capture.tips.summary",An=typeof window<"u"?_.useLayoutEffect:_.useEffect,En=Object.freeze({});function tt(e,t){let n=new Set,r=[];for(let a of Ur){let o=a===Ve?null:je(e,a,t);o===null||n.has($e(o))||(n.add($e(o)),r.push(o))}return r}i(tt,"gt");s(tt,"resolvedClipUrls");function Vr({locale:e,defaultClips:t,options:n}){let r=n===!1,a=r?{}:n??{},o=a.storageKey===void 0?Rn:a.storageKey,[l,u]=(0,_.useState)(a.defaultEnabled??!0),S=(0,_.useRef)(l),[h,w]=(0,_.useState)(!1),[x,I]=(0,_.useState)("none"),[d,N]=(0,_.useState)(!1),L=(0,_.useRef)(!1),[p,j]=(0,_.useState)(0),C=(0,_.useRef)(null),A=(0,_.useCallback)(()=>(C.current??(C.current=Br()),C.current),[]),O=Ln[e],H=a.speechFallback,f=H===void 0||H===!0?!0:H===!1?!1:H.includes(e),D=a.clips??t??En,oe=(0,_.useRef)(!1),le=(0,_.useRef)(D);An(()=>{le.current=D,S.current=l}),(0,_.useEffect)(()=>{if(r||o===null)return;let R=qr(o);R!==null&&(S.current=R,u(R))},[r,o]),(0,_.useEffect)(()=>{if(!(r||!f))return Pr(()=>j(R=>R+1))},[r,f]);let c=a.clips;(0,_.useEffect)(()=>{if(r)return;let R=f&&Tr(O);w(tt(D,e).length>0||R),I(c!==void 0&&je(c,Ve,e)!==null?"partner":je(D,Ve,e)!==null||R?"default":"none")},[r,D,c,e,f,O,p]),(0,_.useEffect)(()=>{if(r||!l||!oe.current)return;let R=tt(D,e);R.length>0&&A().prefetch(R)},[r,l,D,e,A]),(0,_.useEffect)(()=>()=>{C.current?.dispose(),C.current=null,oe.current=!1},[]);let V=(0,_.useCallback)(R=>{r||(oe.current=!0,A().unlock({lang:O,speech:f,...R?{prefetch:tt(le.current,e)}:{}}))},[r,A,O,f,e]),T=(0,_.useCallback)(()=>V(S.current),[V]),G=(0,_.useCallback)(()=>{L.current=!1,N(!1)},[]),B=(0,_.useCallback)(()=>{G(),C.current?.stop()},[G]),ve=(0,_.useCallback)(()=>{L.current&&B()},[B]),he=(0,_.useCallback)((R,xe)=>{if(r)return;if(L.current){B();return}let ge=A();ge.stop(),L.current=!0,N(!0);let P=xe?.clip===!1?null:je(le.current,Ve,e);ge.say({url:P,text:R,lang:O,speech:f,onEnd:G})},[r,B,A,e,O,f,G]),K=(0,_.useCallback)(R=>{r||(R?V(!0):B(),o!==null&&Or(o,R),S.current=R,u(R))},[r,V,B,o]),z=(0,_.useCallback)(()=>K(!S.current),[K]),te=(0,_.useCallback)((R,xe)=>{if(r||!l)return;L.current&&G();let ge=je(le.current,R,e);A().say({url:ge,text:xe,lang:O,speech:f})},[r,l,e,A,O,f,G]);return(0,_.useMemo)(()=>({supported:!r&&h,enabled:!r&&l,setEnabled:K,toggle:z,unlock:T,speakKey:te,stop:B,summary:r?"none":x,summaryPlaying:d,toggleSummary:he,stopSummary:ve}),[r,h,l,K,z,T,te,B,x,d,he,ve])}i(Vr,"ht");s(Vr,"useVoiceGuidance");function $r(e,t,n,r){let{speakKey:a,stop:o,enabled:l}=e,u=(0,_.useRef)(!1);(0,_.useEffect)(()=>{if(!r||!l){u.current&&o(),u.current=!1;return}u.current=!0,nt(t)&&t!==Ve&&n!==""&&a(t,n)},[r,l,t,n,a,o])}i($r,"vt");s($r,"useSpeakGuidance");function at(e){switch(e){case"multiple_faces":return"one_face";case"capture_back_camera":return"front_camera";case"capture_front_camera":return"back_camera";case"capture_not_upright":return"upright";case"media_unreadable":case"clip_too_short":return"recording";case"device_integrity_failed":return"device";default:return"face"}}i(at,"Pn");s(at,"retryCoachingOf");var Fe={face:{title:"capture.retryCoaching.title",tips:["capture.retryCoaching.light","capture.retryCoaching.eyeLevel","capture.retryCoaching.head"]},one_face:{title:"capture.retryTips.title",tips:["capture.retryOneFace.alone","capture.retryOneFace.screens"]},front_camera:{title:"capture.retryTips.title",tips:["capture.retryFrontCamera.screenSide"]},back_camera:{title:"capture.retryTips.title",tips:["capture.retryBackCamera.backSide","capture.retryBackCamera.circle"]},upright:{title:"capture.retryTips.title",tips:["capture.retryUpright.vertical","capture.retryUpright.untilEnd"]},recording:{title:"capture.retryTips.title",tips:["capture.retryRecording.cameraOn","capture.retryRecording.stay","capture.retryRecording.network"]},device:{title:"capture.retryTips.title",tips:["capture.retryDevice.screenRecording","capture.retryDevice.phone"]}};function Fr({showCoaching:e,coaching:t="face",attemptsText:n,showRetake:r,onRetake:a}){let o=Re(),l=(0,st.useRef)(null);return(0,st.useEffect)(()=>{r&&l.current?.focus()},[r]),!e&&!r?null:(0,fe.jsxs)("div",{className:"sekyro-stack sekyro-stack--3","data-testid":"sekyro-captured-panel",children:[e?(0,fe.jsxs)("div",{className:"sekyro-stack sekyro-stack--1",children:[(0,fe.jsx)("p",{className:"sekyro-text-body",children:o(Fe[t].title)}),(0,fe.jsx)("ul",{className:"sekyro-coaching",children:Fe[t].tips.map(u=>(0,fe.jsx)("li",{children:o(u)},u))}),n!==null?(0,fe.jsx)("p",{className:"sekyro-text-muted","data-testid":"sekyro-attempts-remaining",children:n}):null]}):null,r?(0,fe.jsx)(X,{ref:l,className:"sekyro-btn--start",onClick:a,children:o("capture.recordAgain")}):null]})}i(Fr,"An");s(Fr,"CapturedPanel");function Rt(){try{return!1}catch{return!1}}i(Rt,"tt");s(Rt,"isDevBuild");var In=(0,Hr.createContext)(null);function Dr({state:e}){let t=Re(),[n,r]=(0,it.useState)(!1);(0,it.useEffect)(()=>{e!=="unknown"&&r(!0)},[e]);let a=e==="granted"?(0,we.jsx)(Nr,{}):e==="denied"?(0,we.jsx)(Lr,{}):(0,we.jsx)(Mr,{});return(0,we.jsxs)("div",{role:n?"status":void 0,className:`sekyro-permission sekyro-permission--${e}`,"data-testid":"sekyro-permission","data-state":e,children:[(0,we.jsx)("span",{className:"sekyro-permission__icon","aria-hidden":"true",children:a}),(0,we.jsx)("span",{children:t(`capture.permission.${e}`)})]})}i(Dr,"Kn");s(Dr,"PermissionRow");function Gr({voice:e}){let t=Re();if(!e.supported)return null;let n=e.enabled;return(0,Se.jsxs)("button",{type:"button",role:"switch","aria-checked":n,className:"sekyro-switch","data-testid":"sekyro-voice-switch",onClick:i(()=>e.toggle(),"onClick"),children:[(0,Se.jsxs)("span",{className:"sekyro-switch__label",children:[(0,Se.jsx)(rt,{off:!n}),t("capture.voiceGuidance")]}),(0,Se.jsx)("span",{className:"sekyro-switch__track","aria-hidden":"true",children:(0,Se.jsx)("span",{className:"sekyro-switch__thumb",children:n?(0,Se.jsx)(Rr,{className:"sekyro-switch__check"}):null})})]})}i(Gr,"Un");s(Gr,"VoiceSwitch");function Kr({assets:e,onRetryAssets:t,permission:n,captureMode:r="self",voice:a,tips:o,summary:l,startLabel:u,startDisabled:S,onStart:h}){let w=Re(),x=(0,Y.useRef)(l?.stop);x.current=l?.stop,(0,Y.useEffect)(()=>()=>x.current?.(),[]);let I=(0,Y.useRef)(null),d=(0,Y.useRef)(null),N=(0,Y.useRef)(null),L=(0,Y.useRef)(e),p=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{let f=L.current;if(L.current=e,f===e)return;let D=p.current;e!=="loading"&&(p.current=!1),zr(I.current)&&(e==="failed"?N.current?.focus():D&&d.current?.focus())},[e]);let j=(0,Y.useCallback)(()=>{p.current=!0,t()},[t]),C=e==="loading",A=C||S,O=(0,Y.useCallback)(()=>{A||(x.current?.(),h())},[A,h]),H;return e==="failed"?H=(0,U.jsxs)(se,{tone:"danger",testId:"sekyro-assets-error",children:[(0,U.jsx)("p",{className:"sekyro-text-body",children:w("fcv2.err.models")}),(0,U.jsx)(X,{kind:"ghost",ref:N,className:"sekyro-btn--start",onClick:j,"data-testid":"sekyro-assets-retry",children:w("common.retry")})]}):H=(0,U.jsxs)("div",{className:"sekyro-stack sekyro-stack--1",children:[(0,U.jsx)(X,{ref:d,full:!0,"data-testid":"sekyro-start","aria-disabled":A?"true":void 0,"aria-busy":C?"true":void 0,onClick:O,children:C?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Ar,{}),w("capture.preparing.title")]}):u??w("capture.start")}),C?(0,U.jsx)("p",{className:"sekyro-text-muted",children:w("capture.preparing.hint")}):null]}),(0,U.jsxs)("div",{ref:I,className:"sekyro-stack sekyro-stack--4","data-testid":"sekyro-intro","data-assets":e,children:[r==="assisted"?(0,U.jsxs)("div",{className:"sekyro-stack sekyro-stack--1","data-testid":"sekyro-assisted-intro",children:[(0,U.jsx)("h2",{className:"sekyro-text-body",children:w("capture.assisted.title")}),(0,U.jsx)("p",{className:"sekyro-text-muted",children:w("capture.assisted.lead")})]}):null,o!==!1?(0,U.jsx)(Er,{tips:o}):null,l!==void 0?(0,U.jsxs)(X,{kind:"ghost",className:"sekyro-btn--start",onClick:l.toggle,"data-testid":"sekyro-tips-listen",children:[(0,U.jsx)(rt,{off:!1}),w(l.playing?"capture.tips.stop":"capture.tips.listen")]}):null,(0,U.jsx)(Dr,{state:n}),(0,U.jsx)(Gr,{voice:a}),(0,U.jsx)("p",{className:"sekyro-text-muted",children:w("capture.securityNote")}),H,(0,U.jsx)("p",{role:"status",className:"sekyro-visually-hidden","data-testid":"sekyro-intro-status",children:e==="loading"?w("capture.preparing.title"):e==="ready"?w("capture.ready"):""})]})}i(Kr,"Gn");s(Kr,"PreCaptureScreen");function zr(e){if(typeof document>"u")return!1;let t=document.activeElement;return t===null||t===document.body||e!==null&&e.contains(t)}i(zr,"Or");s(zr,"focusIsOurs");function Zr(){let[e,t]=(0,ot.useState)({state:"unknown",settled:!1});return(0,ot.useEffect)(()=>Un(n=>t({state:n,settled:!0})),[]),{permission:e.state,permissionSettled:e.settled}}i(Zr,"Fn");s(Zr,"useCameraStatus");function Qr(e){return At(e,"mobileRequired")}i(Qr,"qn");s(Qr,"useMobileRequired");function Wr(e){return At(e,"returning").required}i(Wr,"Dn");s(Wr,"useReturning");function At(e,t){let[n,r]=(0,pe.useState)({required:!1,settled:e===void 0});return(0,pe.useEffect)(()=>{let a=e?.[t];if(e===void 0||typeof a!="function"){r({required:!1,settled:!0});return}let o=!0;return r({required:!1,settled:!1}),Promise.resolve().then(()=>a.call(e)).then(l=>{o&&r({required:l===!0,settled:!0})},()=>{o&&r({required:!1,settled:!0})}),()=>{o=!1}},[e,t]),n}i(At,"jn");s(At,"useFlag");function Yr(e){let t=s(()=>e?.captureChoice??null,"initialChoice"),[n,r]=(0,pe.useState)(()=>({session:"self",choice:t(),settled:e===void 0}));(0,pe.useEffect)(()=>{let o=e?.captureMode,l=e?.captureChoice??null;if(e===void 0||typeof o!="function"){r({session:"self",choice:l,settled:!0});return}let u=!0;return r({session:"self",choice:l,settled:!1}),Promise.resolve().then(()=>o.call(e)).then(S=>{let h=e.captureChoice??null;u&&r({session:h!==null&&S===h?"choice":S==="assisted"||S==="choice"?S:"self",choice:h,settled:!0})},()=>{u&&r({session:"self",choice:null,settled:!0})}),()=>{u=!1}},[e]);let a=(0,pe.useCallback)(o=>{e?.chooseCaptureMode?.(o),r(l=>({...l,choice:o}))},[e]);return{mode:n.session==="choice"?n.choice??"self":n.session==="assisted"?"assisted":"self",session:n.session,choice:n.choice,settled:n.settled,choose:a}}i(Yr,"$n");s(Yr,"useCaptureMode");function Jr(e){let[t,n]=(0,pe.useState)(!1);return(0,pe.useEffect)(()=>{if(n(!1),e===void 0)return;let r=e.on("busy",()=>n(!0)),a=e.on("result",()=>n(!1));return()=>{r(),a()}},[e]),t}i(Jr,"zn");s(Jr,"useBusy");var Bn=s(()=>"idle","serverSnapshot");function St(e){return Tn(e!==void 0?{assetBaseUrl:e}:{})}i(St,"Wn");s(St,"preload");function Xr(e,t=!0){let n=(0,Q.useSyncExternalStore)((0,Q.useCallback)(h=>Pn(h,e),[e]),()=>jn(e),Bn),[r,a]=(0,Q.useState)(null),o=(0,Q.useRef)(!1),l=(0,Q.useCallback)(()=>{St(e).then(h=>{o.current&&h==="idle"&&a({base:e})})},[e]);(0,Q.useEffect)(()=>(o.current=!0,l(),()=>{o.current=!1}),[l]);let u=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if(n!=="idle"){u.current={base:e};return}!t||u.current===null||u.current.base!==e||(u.current=null,l())},[n,e,l,t]);let S=(0,Q.useCallback)(()=>{St(e)},[e]);return{gate:r!==null&&r.base===e&&n==="idle"||n==="ready"?"ready":n==="failed"?"failed":"loading",retry:S}}i(Xr,"Qn");s(Xr,"useLivenessAssets");var br={progress:0,hint:null,faceDetected:!1};function en(e){let{videoRef:t,assetBaseUrl:n}=e,r=(0,M.useRef)(e.verification).current,a=(0,M.useRef)(!1);e.verification!==r&&!a.current&&Rt()&&(a.current=!0,console.warn("[@sekyro/react] <LivenessCapture>: the `verification` prop changed identity after mount. The first instance stays bound (the camera is not rebuilt); create the verification once (useMemo / useState / outside render) instead of on every render."));let o=(0,M.useRef)(null),[l,u]=(0,M.useState)("idle"),[S,h]=(0,M.useState)(br),[w,x]=(0,M.useState)(!1),[I,d]=(0,M.useState)(!1),[N,L]=(0,M.useState)(null),[p,j]=(0,M.useState)(!1),[C,A]=(0,M.useState)(null),[O,H]=(0,M.useState)(null),[f,D]=(0,M.useState)(null),[oe,le]=(0,M.useState)(null),[c,V]=(0,M.useState)(null),[T,G]=(0,M.useState)(!1),B=(0,M.useRef)(null),ve=(0,M.useRef)("idle"),he=(0,M.useRef)(-1),[K,z]=(0,M.useState)(0),te=(0,M.useRef)(e);te.current=e,(0,M.useEffect)(()=>{let J=t.current;if(J===null)return;let ce={video:J,...n!==void 0?{assetBaseUrl:n}:{}},$=r!==void 0?r.liveness(ce):qn(ce);o.current=$;let Ne=s(()=>V($.facingMode??null),"readFacing");Ne();let He=[$.on("state",b=>{b==="mode_switch"?G(!0):b!=="starting"&&b!=="gating"&&G(!1),b==="starting"?(ve.current!=="starting"&&(he.current+=1,z(Math.max(0,he.current))),H(null),D(null),h(br),d(!1),x(!1),L(null),A(null),B.current=null):b==="gating"&&ve.current==="recording"&&(d(!1),x(!1),L(null),B.current=null),ve.current=b,Ne(),u(b),te.current.onStateChange?.(b)}),$.on("gate",b=>{let ke=B.current;B.current=b.progress,x(ke!==null&&b.progress<ke-.001&&b.progress>0&&b.progress<1),b.progress>=1&&d(!0),h(b)}),$.on("frozen",({previewDataUrl:b})=>L(b)),$.on("profile",({animations:b})=>j(b==="reduced")),$.on("ramp",({colour:b})=>A(b)),$.on("captured",b=>{H(b),le(null),te.current.onCaptured?.(b)}),$.on("error",b=>{D(b);let ke=r?.reportCaptureIssue;ke!==void 0&&kt(Ee=>ke.call(r,Ee),gr("liveness",b,Math.max(0,he.current))),te.current.onError?.(b)}),r?.on("result",b=>{le(b),te.current.onResult?.(b)})];return()=>{for(let b of He)b?.();o.current=null,$.destroy()}},[r,t,n]);let R=(0,M.useCallback)(()=>{o.current?.start()},[]),xe=(0,M.useCallback)(()=>{o.current?.retry()},[]),ge=(0,M.useCallback)(async()=>{let J=o.current;return J===null||typeof J.canSwitchCaptureMode!="function"?!1:await J.canSwitchCaptureMode().catch(()=>!1)===!0},[]),P=(0,M.useCallback)(async J=>{let ce=o.current;if(ce===null||typeof ce.setCaptureMode!="function")return!1;let $=await ce.setCaptureMode(J).catch(()=>!1)===!0;return $&&V(ce.facingMode??null),$},[]);return{state:l,gate:S,draining:w,gateLocked:I,frozenPreview:N,reduceMotion:p,rampColour:C,artifacts:O,error:f,result:oe,facingMode:c,start:R,retry:xe,canSwitchCaptureMode:ge,setCaptureMode:P,modeRestarted:T,attempt:K}}i(en,"Xn");s(en,"useLivenessHandle");var On=new Set(["national_number"]);function xt(e){if(e==null||!e.available||e.selected!==null)return null;let t=e.options.filter(n=>On.has(n));return t.length>0?{...e,options:t}:null}i(xt,"er");s(xt,"pending");function tn(e){let[t,n]=(0,me.useState)(null),[r,a]=(0,me.useState)(e===void 0),[o,l]=(0,me.useState)(!1),[u,S]=(0,me.useState)(!1);(0,me.useEffect)(()=>{if(n(null),e===void 0){a(!0);return}let x=!0,I=e.methodChoice;typeof I=="function"?(a(!1),Promise.resolve().then(()=>I.call(e)).then(N=>{x&&n(xt(N))},()=>{}).finally(()=>{x&&a(!0)})):a(!0);let d=e.on("method",N=>n(xt(N)));return()=>{x=!1,d()}},[e]);let h=(0,me.useCallback)(async x=>{if(e===void 0)return!1;l(!0),S(!1);try{return await e.selectMethod(x),n(null),!0}catch{return S(!0),!1}finally{l(!1)}},[e]),w=t!==null&&t.options.length===1?t.options[0]:null;return{choice:t,auto:w==="national_number"&&!u?w:null,settled:r,busy:o,failed:u,select:h}}i(tn,"tr");s(tn,"useMethodChoice");var Vn=["ar","fr","en"];function rn(e){if(typeof e!="string")return!1;try{let t=new URL(e);return t.protocol==="https:"||t.protocol==="http:"&&/^(localhost|127\.0\.0\.1)$/.test(t.hostname)}catch{return!1}}i(rn,"oo");s(rn,"isClipUrl");function nn(e){let t=e.clips;if(typeof t!="object"||t===null)return null;let n={};for(let r of Vn){let a=t[r];if(!(typeof a!="object"||a===null))for(let[o,l]of Object.entries(a))!nt(o)||!rn(l)||((n[r]??(n[r]={}))[o]=l)}return Object.keys(n).length>0?n:null}i(nn,"so");s(nn,"toVoiceClipMap");function sn(e){let[t,n]=(0,Te.useState)(null);(0,Te.useEffect)(()=>{if(n(null),e===void 0)return;let a=!0,o=s(u=>{if(!a)return;let S=typeof u=="object"&&u!==null&&typeof u.setId=="string"?u:null;n(h=>h?.setId===S?.setId?h:S)},"take");try{typeof e.voiceClips=="function"&&Promise.resolve(e.voiceClips()).then(o,()=>o(null))}catch{o(null)}let l=e.on("view",u=>o(u.voice));return()=>{a=!1,l()}},[e]);let r=(0,Te.useMemo)(()=>t!==null?nn(t):null,[t]);return e===void 0?null:r}i(sn,"nr");s(sn,"useServerVoiceClips");function an({voice:e}){let t=Re();return(0,Nt.jsx)(X,{kind:"chip","aria-pressed":e.enabled,"aria-label":t("capture.voiceGuidance"),"data-testid":"sekyro-voice-toggle",onClick:i(()=>e.toggle(),"onClick"),children:(0,Nt.jsx)(rt,{off:!e.enabled,className:"sekyro-icon"})})}i(an,"or");s(an,"VoiceChip");var $n=new Set(["abandoned","not_opened","cancelled","superseded"]),Fn=800;function on(e){return e===void 0||e!==!1&&e.length===_t.length&&_t.every(t=>e.includes(t))}i(on,"uo");s(on,"isDefaultTips");function ln(e){if(e.type==="keydown"&&e.key==="Escape")return!1;let t=globalThis.navigator?.userActivation;return t===void 0?!(e.type==="pointerup"&&e.pointerType==="touch"):t.isActive}i(ln,"po");s(ln,"carriesActivation");function cn(e){return typeof e=="object"&&e!==null&&!(0,y.isValidElement)(e)&&"tone"in e&&"text"in e}i(cn,"fo");s(cn,"isNoticeObject");var Hn=new Set(["nni_unbound","id_number_unbound","method_required","mobile_required","portrait_required"]);function un(e){return e==="starting"||e==="gating"||e==="recording"||e==="mode_switch"}i(un,"yo");s(un,"isCapturing");function dn(e){return e==="captured"||e==="uploading"||e==="checking"}i(dn,"go");s(dn,"isPostCapture");function Dn({verification:e,locale:t,dir:n,strings:r,slots:a,autoStart:o=!1,notice:l,startDisabled:u=!1,startLabel:S,tips:h,tipsSummary:w,coach:x,voice:I,onGuidance:d,onCaptured:N,onResult:L,onError:p,onStateChange:j,assetBaseUrl:C,className:A}){let O=ur(t),H=(0,y.useMemo)(()=>cr(t,r),[t,r,O]),f=(0,y.useMemo)(()=>g=>H[g]??"",[H]),D=n??(t==="ar"?"rtl":"ltr"),oe=(0,y.useRef)(null),le=(0,y.useContext)(In),c=en({verification:e,videoRef:oe,assetBaseUrl:C,onCaptured:N,onResult:L,onError:p,onStateChange:j}),V=Xr(C,c.state==="idle"&&c.error===null),T=tn(e),G=T.choice!==null,B=Qr(e),ve=Wr(e),he=Jr(e),K=Zr(),z=Yr(e),te=z.session==="choice",R=z.mode==="assisted",xe=I!==!1&&I?.clips===void 0,ge=sn(xe?e:void 0),P=Vr({locale:t,defaultClips:ge,options:I}),J=R?"environment":"user",ce=z.settled,$=(0,y.useRef)(null),Ne=(0,y.useRef)(!1),He=(0,y.useRef)(P.unlock);He.current=P.unlock,(0,y.useEffect)(()=>{let g=$.current;if(g===null)return;let ne=["pointerup","touchend","click","keydown"],Ce=s(()=>{for(let Oe of ne)g.removeEventListener(Oe,Le,!0)},"disarm");function Le(Oe){if(Ne.current){Ce();return}ln(Oe)&&(Ne.current=!0,Ce(),He.current())}i(Le,"Re"),s(Le,"onGesture");for(let Oe of ne)g.addEventListener(Oe,Le,{capture:!0,passive:!0});return Ce},[]);let b=(0,y.useCallback)(()=>{Ne.current||(Ne.current=!0,P.unlock()),c.start()},[P.unlock,c.start]),ke=(0,y.useCallback)(()=>c.start(),[c.start]),Ee=(0,y.useRef)(!1),Pe=c.state==="idle"&&c.error===null,It=!G&&!B.required&&(o===!0||o==="when-permitted"&&K.permission==="granted"),Ut=It&&T.settled&&B.settled&&ce,fn=o==="when-permitted"&&!K.permissionSettled&&!Ee.current,jt=It&&Pe&&!Ee.current,ct=(fn||jt||!ce)&&V.gate==="ready"?"loading":V.gate;(0,y.useEffect)(()=>{!Ut||!Pe||V.gate!=="ready"||Ee.current||(Ee.current=!0,ke())},[Ut,Pe,V.gate,ke]);let mn=Pe&&!G&&!B.required&&!(jt&&V.gate==="ready"),[Tt,Pt]=(0,y.useState)(!1),{canSwitchCaptureMode:Bt,setCaptureMode:qt}=c;(0,y.useEffect)(()=>{if(!z.settled||!te){Pt(!1);return}let g=!0;return Bt().then(ne=>{g&&Pt(ne)}),()=>{g=!1}},[z.settled,te,Bt]);let{choose:Ot}=z,Ie=R?"self":"assisted",yn=(0,y.useCallback)(async()=>{await qt(Ie)&&Ot(Ie)},[qt,Ot,Ie]),Vt=c.state!=="idle"&&c.facingMode!==null?c.facingMode:J;(0,y.useEffect)(()=>{let g=oe.current?.style;Vt==="user"?g?.removeProperty("transform"):g&&(g.transform="none")},[Vt]);let De=(0,y.useMemo)(()=>c.artifacts!==null&&typeof URL.createObjectURL=="function"?URL.createObjectURL(c.artifacts.keyframe):null,[c.artifacts]);(0,y.useEffect)(()=>{if(De!==null)return()=>URL.revokeObjectURL(De)},[De]);let $t=c.frozenPreview??De,Ue=e!==void 0,Z=un(c.state),be=dn(c.state),Ge=Z||be,re=c.result,Ft=c.state==="done"&&re!==null,ut=c.state==="recording"&&c.frozenPreview!==null,Ke=le!==null,Ht=Tt&&Z&&!ut?{to:Ie,label:f(Ie==="assisted"?"capture.modeSwitch.toAssisted":"capture.modeSwitch.toSelf"),description:f(Ie==="assisted"?"capture.modeSwitch.toAssistedLabel":"capture.modeSwitch.toSelfLabel"),onSwitch:s(()=>{yn()},"onSwitch")}:null,ze=c.modeRestarted&&Z?f("capture.modeSwitch.restarted"):null,Be=be||ut,Dt=be?"checking":ut?"frozen":c.state==="recording"?"recording":c.gateLocked||c.gate.progress>=1?"locked":c.gate.faceDetected?"aligning":"seeking",Ze=Z?c.gate.hint:null,Qe=c.state==="starting"?"capture.preparing.title":Ze===null?null:Ze==="center"&&!c.gate.faceDetected?"fcv3.no_face":ar(Ze),[vn,Gt]=(0,y.useState)(null);(0,y.useEffect)(()=>{if(Qe!=="fcv3.no_face"){Gt(Qe);return}if(!Z)return;let g=setTimeout(()=>Gt(Qe),Fn);return()=>clearTimeout(g)},[Qe,Z]);let dt=Z&&typeof x=="string"&&x!=="",Kt=R&&Z?f("capture.assisted.stage"):null,Me=Z&&!dt?vn:null,pt=dt?x:Me===null?"":f(Me);$r(P,Me,pt,Z);let zt=(0,y.useRef)(d);zt.current=d,(0,y.useEffect)(()=>{if(nt(Me))try{zt.current?.(Me)}catch(g){console.error("[@sekyro/react] onGuidance threw:",g)}},[Me]);let qe=(0,y.useMemo)(()=>({supported:P.supported,enabled:P.enabled,setEnabled:P.setEnabled,toggle:P.toggle}),[P.supported,P.enabled,P.setEnabled,P.toggle]),ht=a?.voicePrompt,Zt=ht!==void 0,Qt=I===void 0,Wt=(0,y.useRef)(!1);(0,y.useEffect)(()=>{!Zt||!Qt||Wt.current||!Rt()||(Wt.current=!0,console.warn("[@sekyro/react] <LivenessCapture>: `slots.voicePrompt` is set and `voice` is undefined, so the component speaks the guidance itself. If your slot plays audio, pass voice={false} or the person hears every hint twice; pass voice={{}} to keep the built-in voice and silence this warning."))},[Zt,Qt]);let gn=ht!==void 0?(g,ne,Ce)=>ht(g,ne,Ce,qe):P.supported?()=>(0,k.jsx)(an,{voice:qe}):void 0,{summary:ft,summaryPlaying:Yt,toggleSummary:Jt,stopSummary:Xt}=P,We=w!==void 0&&w!=="",er=We?w:f("capture.tips.summary"),tr=We?ft!=="none":ft==="partner"||ft==="default"&&on(h),kn=(0,y.useMemo)(()=>tr?{playing:Yt,toggle:s(()=>Jt(er,{clip:!We}),"toggle"),stop:Xt}:void 0,[tr,Yt,Jt,er,Xt,We]),bn=(0,y.useMemo)(()=>({assets:ct,retryAssets:V.retry,permission:K.permission,permissionSettled:K.permissionSettled,captureMode:z.mode,facing:J,voice:qe}),[ct,V.retry,K.permission,K.permissionSettled,z.mode,J,qe]),_n=cn(l)?(0,k.jsx)(se,{tone:l.tone,testId:"sekyro-host-notice",children:(0,k.jsx)("span",{children:l.text})}):l??null,ue=re!==null&&re.status==="retry"?re:null,W=Ft&&re.status==="unavailable"&&!G&&re.reasonCode!=="portrait_required"?re:null,_e=Ft&&(re.status==="verified"||re.status==="not_verified"||re.status==="review")?re:null,mt=s((g,ne)=>{if(g===void 0)return null;if(g==="device_cooldown"){let Le=or(t,ne);if(Le!==null)return f(Le.key).replace("{time}",Le.time)}let Ce=Xe(g);return Ce===null?null:f(Ce)},"reasonText"),yt=s(g=>{let ne=g.retakeHint===void 0?null:Je(g.retakeHint);return ne===null?mt(g.reasonCode):f(ne)},"retryText"),rr=_e===null?null:mt(_e.reasonCode,_e.retryAfter)??(_e.status==="not_verified"&&_e.reason!==void 0&&$n.has(_e.reason)?f("errors.session_expired"):null),Cn=W!==null&&W.reasonCode!==void 0&&W.reasonCode!=="nni_unbound"&&W.reasonCode!=="id_number_unbound"&&W.reasonCode!=="method_required"&&W.reasonCode!=="mobile_required"&&!(W.reasonCode==="no_recorder"&&c.artifacts?.degraded==="NO_RECORDER"),Ye=W?.reasonCode,nr=c.attempt;(0,y.useEffect)(()=>{W===null||Ye===void 0||e?.reportCaptureIssue===void 0||Hn.has(Ye)||kt(g=>e.reportCaptureIssue?.(g),{check:"liveness",kind:"unavailable",phase:"upload",engineKind:Ye,attempt:Math.min(1e3,nr)})},[W,Ye,nr,e]);let sr=gt(),wn=G&&T.auto===null&&!Z&&!be&&c.error===null,vt=(0,y.useCallback)(async g=>{await T.select(g)&&c.state==="done"&&c.retry()},[T.select,c.state,c.retry]);return(0,y.useEffect)(()=>{T.auto!==null&&!T.busy&&!Z&&!be&&vt(T.auto)},[T.auto,T.busy,Z,be,vt]),(0,k.jsx)(dr,{value:f,children:(0,k.jsxs)("div",{ref:$,className:A===void 0?"sekyro-capture":`sekyro-capture ${A}`,dir:D,lang:t,"data-testid":"sekyro-liveness-capture","data-state":c.state,children:[a?.header,ue!==null&&yt(ue)!==null&&!(Ke&&Ge)?(0,k.jsx)(se,{tone:"warning",role:"status",testId:"sekyro-retry-notice",children:(0,k.jsx)("span",{children:yt(ue)})}):null,ze!==null&&!Ke?(0,k.jsx)(se,{tone:"info",role:"status",testId:"sekyro-mode-switch-status",children:(0,k.jsx)("span",{children:ze})}):null,he&&be&&!Ke?(0,k.jsx)(se,{tone:"info",role:"status",testId:"sekyro-busy-notice",children:(0,k.jsx)("span",{children:f("capture.busy")})}):null,B.required&&Pe?(0,k.jsx)(se,{tone:"info",role:"status",testId:"sekyro-mobile-required",children:(0,k.jsx)("span",{children:f("reasons.mobile_required")})}):null,c.error!==null?a?.errorPanel!==void 0?a.errorPanel(c.error,c.retry):(0,k.jsxs)(se,{tone:"danger",testId:"sekyro-error-notice",children:[(0,k.jsx)("span",{children:f(ir(c.error))}),c.error.retryable?(0,k.jsx)(X,{ref:sr,kind:"ghost",className:"sekyro-btn--start",onClick:c.retry,children:f("common.retry")}):null]}):null,W!==null?(0,k.jsxs)(se,{tone:"danger",testId:"sekyro-unavailable-notice",children:[(0,k.jsx)("span",{children:mt(W.reasonCode)??f(W.reasonCode===void 0?"errors.session_expired":"errors.network_error")}),Cn?(0,k.jsx)(X,{ref:sr,kind:"ghost",className:"sekyro-btn--start",onClick:c.retry,children:f("capture.recordAgain")}):null]}):null,rr!==null&&_e!==null?(0,k.jsx)(se,{tone:_e.status==="not_verified"?"danger":"info",testId:"sekyro-result-notice",children:(0,k.jsx)("span",{children:rr})}):null,(0,k.jsx)("div",{className:Ge?void 0:"sekyro-hidden","data-capture-live":Ge?"":void 0,children:Ke?le({videoRef:oe,guidance:Be&&Ue?f("capture.checking"):pt,coached:dt&&!(Be&&Ue),note:Be?Ue?f(he?"capture.busy":"capture.checkingHint"):null:ze??(ue!==null?yt(ue):Kt),settled:Be&&Ue,progress:c.gate.progress,phase:Dt,still:Be?$t:null,live:Ge,modeSwitch:Ht,...Tt?{status:ze}:{},ramp:c.rampColour===null?null:{colour:c.rampColour}}):(0,k.jsx)(pr,{videoRef:oe,guidanceText:pt,guidanceHint:Ze,guidanceKey:Me,progress:c.gate.progress,phase:Dt,draining:c.draining,stillUrl:$t,showChecking:Ue,operatorText:Kt,voicePrompt:gn,overlay:i(g=>(0,k.jsxs)(k.Fragment,{children:[a?.stageOverlay?.(g),(0,k.jsx)(hr,{colour:c.rampColour})]}),"overlay"),reduceMotion:c.reduceMotion,modeSwitch:Ht})}),wn&&T.choice!==null?(0,k.jsx)(Ir,{title:f("method.title"),description:f("method.description"),options:T.choice.options.map(g=>({id:g,label:f(`method.${g}`)})),busy:T.busy,error:T.failed?f("errors.network_error"):null,focus:c.state==="done",testId:"sekyro-method",look:"buttons",onChoose:i(g=>{vt(g)},"onChoose")}):null,mn?(0,k.jsxs)(k.Fragment,{children:[ve&&a?.header===void 0&&a?.intro===void 0?(0,k.jsxs)("div",{className:"sekyro-stack sekyro-stack--1",children:[(0,k.jsx)("h2",{className:"sekyro-text-body",children:f("returning.title")}),(0,k.jsx)("p",{className:"sekyro-text-muted",children:f("returning.description")})]}):null,_n,a?.intro!==void 0?a.intro(b,bn):(0,k.jsx)(Kr,{assets:ct,onRetryAssets:V.retry,permission:K.permission,captureMode:z.mode,voice:qe,tips:h??_t,summary:kn,startLabel:S,startDisabled:u,onStart:b})]}):null,(0,k.jsx)(Fr,{showCoaching:ue!==null,coaching:at(ue?.reasonCode),attemptsText:ue?.attemptsRemaining!==void 0?lr(H,t,ue.attemptsRemaining):null,showRetake:ue!==null&&!Z&&!be||!Ue&&c.state==="captured",onRetake:c.retry}),a?.footer]})})}i(Dn,"_i");s(Dn,"LivenessCapture");var Et=E(F(),1),lt=E(F(),1),m=E(de(),1);import{isInAppBrowser as Jn}from"@sekyro/web/client";var vs={document:"card",population_registry:"id",national_eid:"smartphone",phone_otp:"phone",email_otp:"email"};function Gn(e,t){switch(e.service){case"document":return t.t("method.document_photo");case"population_registry":return t.t("method.national_number");case"national_eid":{let n=e.nationalEid?.providerName;return n?t.t("method.national_eid",{provider:n}):t.t("method.national_eidGeneric")}default:return null}}i(Gn,"Y");s(Gn,"identityLabel");function Kn(e,t){let[n,r]=(0,Et.useState)(!1),[a,o]=(0,Et.useState)(null);return{busy:n,error:a,run:s(l=>{r(!0),o(null),l().then(()=>r(!1),u=>{r(!1),o(e.t(kr(u,e.strings))),t?.(u)})},"run")}}i(Kn,"q");s(Kn,"useChoiceAction");function pn(){let e=`sekyro-face-light-${(0,lt.useId)().replace(/[^A-Za-z0-9_-]/g,"")}`;return(0,m.jsxs)("svg",{className:"sekyro-mark sekyro-mark--face",viewBox:"0 0 168 206","aria-hidden":"true",focusable:"false",children:[(0,m.jsx)("defs",{children:(0,m.jsx)("mask",{id:e,children:(0,m.jsx)("ellipse",{className:"sekyro-mark__arc",cx:"84",cy:"103",rx:"76",ry:"95",pathLength:"1",fill:"none",stroke:"#fff",strokeWidth:"16"})})}),(0,m.jsx)("ellipse",{cx:"84",cy:"103",rx:"64",ry:"83",fill:"none",className:"sekyro-mark__line"}),(0,m.jsx)("path",{className:"sekyro-mark__face",d:"M68 64v10M100 64v10M84 66v25q0 2-6 1M60 108q24 18 48 0"}),(0,m.jsx)("ellipse",{className:"sekyro-mark__ticks",cx:"84",cy:"103",rx:"76",ry:"95",pathLength:"56"}),(0,m.jsx)("ellipse",{className:"sekyro-mark__ticks sekyro-mark__ticks--light",cx:"84",cy:"103",rx:"76",ry:"95",pathLength:"56",mask:`url(#${e})`})]})}i(pn,"O");s(pn,"FaceMark");var zn={glasses:"jGlasses",lighting:"light",faceCamera:"camera"};function Zn(e){if(!(e?.kind!=="liveness"||e.reason===void 0))return{reason:e.reason,...e.retakeHint!==void 0?{retakeHint:e.retakeHint}:{},attemptsRemaining:e.attemptsRemaining??0,attemptsExhausted:e.attemptsExhausted===!0}}i(Zn,"te");s(Zn,"faceIntroRetryOf");var Qn={"capture.retryFrontCamera.screenSide":"camera","capture.retryBackCamera.backSide":"camera","capture.retryUpright.vertical":"smartphone","capture.retryUpright.untilEnd":"smartphone","capture.retryRecording.cameraOn":"camera","capture.retryRecording.stay":"smartphone","capture.retryRecording.network":"smartphone","capture.retryDevice.screenRecording":"smartphone","capture.retryDevice.phone":"smartphone"};function Wn({start:e,context:t,tips:n,tipsTitle:r,human:a=!1,returning:o=!1,notice:l,retry:u}){let S=bt(),{t:h}=S,w=u===void 0?"face":at(u.reason),x=w==="face"?null:Fe[w].tips,I=(0,lt.useContext)(mr)?.busy===!0;return(0,m.jsxs)("section",{className:"sekyro-step",children:[(0,m.jsx)(pn,{}),t.captureMode==="assisted"?(0,m.jsx)(et,{title:h("capture.assisted.heading"),lead:h("capture.assisted.lead")}):o?(0,m.jsx)(et,{title:h("returning.heading"),lead:h("returning.description")}):(0,m.jsx)(et,{title:h(a?"native.face.humanIntroTitle":"native.face.introTitle"),lead:h(a?"native.face.humanIntroLead":"native.face.introLead")}),u!==void 0?(0,m.jsx)(hn,{retry:u,title:Fe[w].title}):null,r!==void 0&&x===null?(0,m.jsx)("p",{className:"sekyro-section-label",children:r}):null,(0,m.jsx)("ul",{className:"sekyro-tiprows",children:x!==null?x.map(d=>(0,m.jsxs)("li",{children:[(0,m.jsx)(Ae,{name:Qn[d]??"face"}),h(d)]},d)):n!==void 0?n.map(d=>(0,m.jsxs)("li",{children:[(0,m.jsx)(Ae,{name:zn[d.id]??"face"}),d.text]},d.id)):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("li",{children:[(0,m.jsx)(Ae,{name:"light"}),h("capture.tips.light")]}),(0,m.jsxs)("li",{children:[(0,m.jsx)(Ae,{name:"jGlasses"}),h("capture.tips.uncover")]}),(0,m.jsxs)("li",{children:[(0,m.jsx)(Ae,{name:"smartphone"}),h("capture.tips.eyeLevel")]})]})}),l??null,l!==void 0?null:t.assets==="failed"?(0,m.jsx)(X,{kind:"secondary",full:!0,onClick:t.retryAssets,children:h("common.retry")}):null,l!==void 0?null:(0,m.jsx)(fr,{children:(0,m.jsxs)(X,{full:!0,disabled:t.assets!=="ready"||I,"aria-busy":t.assets==="loading"||void 0,onClick:e,children:[(0,m.jsx)(Ae,{name:"camera"}),h("capture.start")]})})]})}i(Wn,"ne");s(Wn,"FaceIntro");var Yn=new Set(["match_inconclusive","no_face_source","below_threshold"]);function hn({retry:e,title:t}){let n=bt(),r=e.retakeHint===void 0?null:Je(e.retakeHint),a=e.reason==="probe_not_from_liveness"?"capture.retrySamePerson.message":Yn.has(e.reason)?"capture.retryMatch.message":Xe(e.reason);return(0,m.jsxs)(yr,{tone:"warning",children:[r!==null?(0,m.jsx)("span",{children:n.t(r)}):a!==null?(0,m.jsx)("span",{children:n.t(a)}):null,r===null?(0,m.jsx)("span",{children:n.t(t)}):null,(0,m.jsx)("span",{children:vr(n,e.attemptsRemaining,e.attemptsExhausted)})]})}i(hn,"T");s(hn,"RetryNotice");function Xn(e){return Jn(e)}i(Xn,"se");s(Xn,"isInAppBrowser");function es(e,t){let n=t??(typeof navigator>"u"?"":String(navigator.userAgent??""));if(!/Android/i.test(n))return null;let r;try{r=new URL(e)}catch{return null}if(r.protocol!=="https:"&&r.protocol!=="http:")return null;let a=r.protocol.slice(0,-1);return`intent://${r.host}${r.pathname}${r.search}#Intent;scheme=${a};action=android.intent.action.VIEW;S.browser_fallback_url=${encodeURIComponent(e)};end`}i(es,"ce");s(es,"androidBrowserIntent");export{Ir as a,Rt as b,In as c,Yr as d,Dn as e,vs as f,Gn as g,Kn as h,Zn as i,Wn as j,Xn as k,es as l};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b,c as t,v as s,w as i,y as l}from"./chunk-72JW2LCH.js";import{a as o,c as k,i as r}from"./chunk-RPLVIGTS.js";var a=k(b(),1);function x({title:n,lead:d,cameraLabel:c,uploadLabel:m,notice:p,testId:e,onCamera:h,onUpload:u,onPhone:f=!1}){return(0,a.jsxs)("section",{className:"sekyro-step","data-testid":e,children:[(0,a.jsx)(i,{title:n,lead:d}),p,(0,a.jsxs)(l,{children:[(0,a.jsxs)(t,{full:!0,onClick:h,"data-testid":`${e}-camera`,children:[(0,a.jsx)(s,{name:f?"smartphone":"camera"}),c]}),(0,a.jsx)(t,{full:!0,kind:"ghost",onClick:u,"data-testid":`${e}-upload`,children:m})]})]})}o(x,"k");r(x,"PhotoSourceView");export{x as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b,t as r,v as l,y as o}from"./chunk-72JW2LCH.js";import{a,c as p,i}from"./chunk-RPLVIGTS.js";var s=p(b(),1);function f({tone:d,icon:n,busy:c,title:m,titleId:e,children:u,actions:t,live:y,testId:h}){let k=r();return(0,s.jsxs)("section",{className:"sekyro-step sekyro-status",...e!==void 0?{"aria-labelledby":e}:{},...y?{role:"status","aria-live":"polite"}:{},"data-testid":h,children:[(0,s.jsxs)("div",{className:"sekyro-status__body",children:[(0,s.jsx)("span",{className:`sekyro-tile sekyro-tile--${d}${c?" is-busy":""}`,"aria-hidden":"true",children:(0,s.jsx)(l,{name:n})}),(0,s.jsxs)("div",{className:"sekyro-heading sekyro-status__text",children:[(0,s.jsx)("h2",{id:e,ref:k,tabIndex:-1,className:"sekyro-text-body",children:m}),u]})]}),t!=null&&t!==!1?(0,s.jsx)(o,{children:t}):null]})}a(f,"g");i(f,"StatusPage");export{f as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m,b as v}from"./chunk-6NQ7EWA4.js";import{a as b,b as k,g as u,h as l,l as h}from"./chunk-72JW2LCH.js";import{a as s,c as d,i}from"./chunk-RPLVIGTS.js";var n=d(b(),1),g=d(k(),1);var z={"session.title":"تحقّق من هويتك","session.requestedBy":"تطلب {orgName} منك التحقق من هويتك","returning.requestedBy":"تطلب {orgName} منك تأكيد أنك أنت","consent.notice":"بإكمال عملية التحقق من الهوية، فإنك توافق على معالجة بياناتك الشخصية والبيومترية للتحقق من هويتك.","consent.details":"التفاصيل","consent.terms.intro":"تتحقق Sekyro AI من هويتك نيابةً عن الجهة التي أرسلت إليك هذا الرابط. قبل البدء، اطّلع على كيفية استخدام بياناتك.","consent.terms.data":"أثناء التحقق، تجمع Sekyro AI صور وثيقة هويتك، ومقطع فيديو ذاتيًا قصيرًا، وصورة ذاتية، ورقم وثيقة هويتك.","consent.terms.processing":"تُستخدم هذه البيانات للتحقق من هويتك فقط: يُقارَن وجهك بالصورة الموجودة على وثيقتك، ويُطابَق رقمك مع سجلات الجهة المُصدِرة متى أمكن ذلك. وقد يفحص بعض الخطوات مراجع بشري مخوَّل.","consent.terms.sharing":"تُبلَّغ الجهة التي طلبت هذا التحقق بنتيجته.","consent.terms.retention":"تُخزَّن بياناتك مشفّرة ولا يُحتفظ بها إلا للمدة التي يقتضيها القانون. لممارسة حقوقك المتعلقة بحماية البيانات، تواصل مع الجهة التي طلبت هذا التحقق.","capture.modeSwitch.toSelfPhoto":"ألتقط الصورة بنفسي","capture.modeSwitch.toAssistedLabelPhoto":"التبديل إلى التصوير بمساعدة شخص آخر يحمل الهاتف ويلتقط صورتك","capture.modeSwitch.toSelfLabelPhoto":"التبديل إلى التصوير الذاتي والتقاط صورتك بالكاميرا الأمامية","reasons.camera_unavailable":"يتطلب هذا التحقق كاميرا. عُد إلى {org} للمتابعة بطريقة أخرى.","otp.sendTitle":"تحقّق من رقم هاتفك","otp.sendDescription":"سنرسل إليك رمزًا يُستخدم مرة واحدة لتأكيد أن هذا الرقم يخصّك","otp.prefilledNotice":"سنرسل رمز تحقّق إلى رقم هاتفك المسجّل.","otp.phoneLabel":"رقم الهاتف","otp.phoneHelper":"سنرسل رمزًا يُستخدم مرة واحدة إلى هذا الرقم","otp.phonePlaceholder":"8 أرقام","otp.send":"إرسال الرمز","otp.channelSms":"رسالة نصية","otp.channelWhatsapp":"واتساب","otp.verifyTitle":"أدخل الرمز","otp.verifyDescription":"أدخل الرمز المكوّن من 6 أرقام الذي أرسلناه إليك لإتمام التحقّق من رقمك","otp.sentTo":"أرسلنا رمزًا مكوّنًا من 6 أرقام إلى {number} عبر {channel}","otp.codeLabel":"رمز التحقّق","otp.codeHelper":"أدخل الرمز المكوّن من 6 أرقام الذي أرسلناه إليك","otp.verify":"تحقّق من الرمز","otp.resend":"إعادة إرسال الرمز","otp.resendIn":"إعادة إرسال الرمز خلال {seconds} ثانية","otp.expiresIn":"ينتهي الرمز خلال {time}","otp.expired":"انتهت صلاحية الرمز. أعد إرسال رمز جديد","otp.reason_otp_mismatch":"الرمز غير صحيح. تحقّق منه وأعد إدخاله","otp.reason_otp_expired":"انتهت صلاحية الرمز. أعد إرسال رمز جديد للمتابعة","otp.reason_otp_send_failed":"تعذّر إرسال الرمز. أعد المحاولة بعد قليل","otp.chooseChannel":"كيف تريد أن تتلقّى رمزك؟","otp.sendBy":"إرسال الرمز عبر {channel}","otp.resendBy":"إعادة الإرسال عبر {channel}","otp.sending":"جارٍ إرسال الرمز عبر {channel}","otp.reason_otp_channel_unavailable":"هذه الوسيلة غير متاحة. اختر طريقة أخرى لتلقّي رمزك","otp.reason_otp_destination_not_allowed":"لا يمكننا إرسال الرموز إلى أرقام هذا البلد. أدخل رقمًا آخر","otp.reason_otp_destination_unknown":"تعذّر التعرّف على هذا الرقم. تحقّق منه وأعد إدخاله مع رمز البلد","otp.reason_otp_rate_limited":"طلبت رموزًا كثيرة. انتظر قليلًا ثم أعد المحاولة","otp.reason_otp_daily_cap_reached":"لا يمكننا إرسال رمز إليك اليوم. اختر طريقة أخرى للتحقق إن كانت متاحة، أو حاول مرة أخرى لاحقًا.","otp.reason_payment_method_required":"طريقة التحقق هذه غير متاحة حاليًا. اختر طريقة أخرى للتحقق إن كانت متاحة.","otp.reason_spend_cap_reached":"طريقة التحقق هذه غير متاحة حاليًا. اختر طريقة أخرى للتحقق إن كانت متاحة.","otp.reason_insufficient_balance":"طريقة التحقق هذه غير متاحة حاليًا. اختر طريقة أخرى للتحقق إن كانت متاحة.","otp.phonePlaceholderGeneric":"أدخل رقم هاتفك بدون رمز البلد","otp.countryLabel":"البلد","otp.phoneLengthError":"تحقق من الرقم: يجب أن يكون عدد أرقامه {digits}.","otp.or":"أو","otp.otherCountry":"بلد آخر","otp.reason_otp_number_invalid":"لا يبدو هذا الرقم كاملاً لبلده. تحقق منه ثم أعد المحاولة.","otp.reason_otp_number_not_mobile":"أدخل رقم هاتف محمول. لا يمكن إرسال الرموز إلى خط أرضي.","session.steps.population.title":"أدخل رقم تعريفك الوطني","session.steps.population.description":"يُطابَق رقمك الوطني المكوّن من 10 أرقام مع سجل الحالة المدنية","population.label":"الرقم الوطني للتعريف الموريتاني (NNI)","population.helper":"رقم التعريف الوطني المكوّن من 10 أرقام كما هو مطبوع على بطاقتك","population.placeholder":"10 أرقام","population.submit":"تحقّق من رقمي","population.invalid":"أدخل الأرقام العشرة للرقم الوطني كما هو مطبوع على بطاقة هويتك","population.reason_registry_unavailable":"سجل الحالة المدنية غير متاح مؤقتًا. لم يُتحقَّق من رقمك. أعد المحاولة بعد قليل","population.reason_nni_not_found":"لم يُعثر على هذا الرقم في سجل الحالة المدنية. تأكد من مطابقته تمامًا لبطاقتك","population.reason_nni_invalid":"هذا الرقم ليس رقمًا وطنيًا صالحًا. تحقق من الأرقام العشرة المطبوعة على بطاقة هويتك","population.bound.description":"قدّمت الجهة الطالبة رقمك الوطني للتعريف مسبقًا. أكّد للتحقق منه في سجل الحالة المدنية","population.bound.confirm":"تأكيد ومتابعة","population.reason_nni_not_found_or_document":"لم نعثر على هذا الرقم. تأكّد منه، أو استخدم وثيقتك بدلًا منه.","population.useDocument":"استخدام وثيقتي بدلًا من ذلك","population.fromDocument.title":"التحقق في السجل المدني","population.fromDocument.description":"نتحقق من الرقم الوطني المقروء من وثيقتك في السجل المدني","population.fromDocument.continue":"متابعة","population.reason_id_number_invalid":"هذا الرقم ليس رقمًا وطنيًا صالحًا. تحقق من الأرقام العشرة المطبوعة على بطاقة هويتك","population.reason_registry_record_not_found":"لم يُعثر على هذا الرقم في سجل الحالة المدنية. تأكد من مطابقته تمامًا لبطاقتك","population.reason_registry_record_not_found_or_document":"لم نعثر على هذا الرقم. تأكّد منه، أو استخدم وثيقتك بدلًا منه.","session.steps.doc.titleRecto":"صوّر الوجه الأمامي لوثيقة هويتك","session.steps.doc.titleVerso":"صوّر الوجه الخلفي لوثيقة هويتك","session.steps.doc.description":"استخدم إضاءة جيدة وأبقِ البطاقة كاملة داخل الإطار","doc.pickTitle":"أي وثيقة ستستخدم؟","doc.pickDescription":"اختر وثيقة الهوية التي بحوزتك. ستمسحها بالكاميرا","doc.pickLabel":"نوع الوثيقة","doc.startScan":"بدء المسح","doc.titlePassport":"امسح صفحة بيانات جواز سفرك","doc.reason_side_missing":"حُفظ أحد الوجهين. صوّر الآن الوجه المتبقي من الوثيقة","doc.reason_unreadable":"تعذّرت قراءة الوثيقة. أعد التقاط الصورة بحيث تكون البطاقة كاملة وواضحة داخل الإطار","doc.process_failed":"تعذّرت معالجة هذه الصورة. التقط صورة جديدة وأعد المحاولة","doc.uploading":"جارٍ رفع وثيقتك…","doc.cameraBlocked":"نحتاج إلى الكاميرا لمسح الوثيقة. الوصول إلى الكاميرا محظور أو غير متاح","doc.cameraBlockedHint":"اسمح بالوصول إلى الكاميرا لهذا الموقع من إعدادات المتصفح ثم أعد المحاولة","doc.retryCamera":"إعادة تجربة الكاميرا","doc.holdUpright":"ضع الوثيقة داخل الإطار. سيتم الالتقاط تلقائيًا. للحصول على صورة أوضح، أدر هاتفك أفقيًا","doc.ageStepUp":"لم نتمكّن من التأكد من عمرك من الصورة الذاتية. تابع باستخدام وثيقة هوية.","reasons.underage_estimated":"هذه الخدمة مخصّصة لمن بلغوا الحد الأدنى للسن المطلوب.","reasons.starter_credit_claimed":"سبق أن منح تحققك رصيدًا ابتدائيًا لمؤسسة أخرى. يُمنح هذا الرصيد مرة واحدة لكل شخص.","reasons.blocked_by_org":"لا يمكن متابعة هذا التحقق. تواصل مع الجهة التي أرسلت لك هذا الرابط.","dcv2.sensing":"جارٍ البحث عن الوثيقة. ضعها داخل الإطار","dcv2.too_far":"قرّب الوثيقة حتى تملأ الإطار","dcv2.too_close":"ابتعد قليلًا. أبقِ الوثيقة كاملة داخل الإطار","dcv2.edge_clipped":"أدخل الوثيقة كاملة داخل الإطار. أبقِ الحواف ظاهرة","dcv2.wrong_shape":"هذا لا يبدو صحيحًا. ضع الوثيقة مسطحة باتجاه الكاميرا مباشرة","dcv2.tilted":"أمسك الهاتف بشكل مستوٍ فوق الوثيقة. الزاوية كبيرة جدًا","dcv2.too_dark":"ابحث عن مكان أكثر إضاءة. أنر الوثيقة","dcv2.too_bright":"الإضاءة قوية جدًا. أمل الوثيقة بعيدًا عن الانعكاس","dcv2.blurry":"ثبّت هاتفك. الصورة غير واضحة","dcv2.focus_far":"قريب جدًا للتركيز. أبعد الهاتف قليلًا","dcv2.glare":"الضوء ينعكس على الوثيقة. أملها قليلًا","dcv2.hold_still":"ممتاز. لا تتحرك","dcv2.processing":"جارٍ الالتقاط…","dcv2.side_captured":"تم التقاط هذا الوجه. اقلب الوثيقة إلى الوجه الخلفي","dcv2.captured":"تم الالتقاط","session.processing.title":"جارٍ معالجة عمليات التحقق","session.processing.description":"يستغرق ذلك عادةً بضع ثوانٍ. وستظهر النتيجة هنا","handoff.title":"تابع على هاتفك","handoff.lead.document":"التقط صورة وثيقتك بهاتفك","handoff.lead.portrait":"التقط صورتك الشخصية بهاتفك","capture.source.phone":"المتابعة على هاتفي","session.processing.age_estimation.title":"التحقق من عمرك","session.processing.age_estimation.description":"يستغرق ذلك بضع ثوانٍ","session.result.review.title":"تحققك قيد المراجعة","session.result.review.description":"سيراجع شخص عملية التحقق الخاصة بك. ستتواصل معك الجهة التي أرسلت إليك هذا الرابط.","session.result.rejected.title":"تعذّر التحقق من هويتك","session.result.rejected.description":"لم تؤكد عمليات التحقق هويتك. تواصل مع الجهة التي أرسلت إليك هذا الرابط إذا كنت تعتقد أن هذا خطأ.","session.result.expired.title":"انتهت صلاحية هذا الرابط","session.result.expired.description":"اطلب رابطًا جديدًا من الجهة التي أرسلت إليك هذا الرابط.","session.result.detailsMismatch":"بياناتك لا تطابق المعلومات المتوفرة لدى {org}. تواصل مع {org}.","session.result.deviceVelocity":"لا يمكن استخدام هذا الجهاز لعملية تحقق أخرى حاليًا. تواصل مع {org}.","session.result.verified.title":"تم التحقق من هويتك","session.result.verified.description":"انتهيت. يمكنك إغلاق هذه الصفحة","session.result.inconclusive.title":"تعذّر علينا تأكيد هويتك هذه المرة","session.result.inconclusive.description":"لم تكن الصور واضحة بما يكفي لاتخاذ قرار. اطلب رابطًا جديدًا من الجهة التي أرسلت إليك هذا الرابط، وحاول في إضاءة جيدة مع إمساك الهاتف بشكل مستقيم.","session.result.unavailable.title":"لم تكن خدمة التحقق متاحة","session.result.unavailable.description":"كانت خدمتنا غير متاحة عند محاولتك. اطلب رابطًا جديدًا من الجهة التي أرسلت إليك هذا الرابط.","session.result.policy.title":"توقّف التحقق","session.result.policy.description":"لا يمكن للجهة التي أرسلت إليك هذا الرابط التحقق منك بهذه الوثيقة أو من هذا الموقع.","session.result.cooldown.title":"حاول لاحقًا","session.result.cooldown.description":"يحتاج هذا الجهاز إلى استراحة قصيرة قبل عملية تحقق أخرى.","session.result.deviceStop":"تعذّر المتابعة على هذا الجهاز. حاول مرة أخرى من جهاز أو متصفح آخر.","result.referenceLabel":"الرمز المرجعي","capture.retrySamePerson.message":"يجب أن يظهر الشخص نفسه أمام الكاميرا من البداية إلى النهاية. سجّل الفيديو مرة أخرى","capture.retryMatch.message":"لم نتمكّن من التأكد من أنك أنت. سجّل الفيديو مرة أخرى في إضاءة جيدة ومن دون نظارات","common.loading":"جارٍ تحميل جلسة التحقق","common.refresh":"حدّث الحالة","common.noAttemptsLeft":"لم تتبقَّ أي محاولة","session.steps.portrait.title":"التقط صورة الهوية","session.steps.portrait.description":"انظر مباشرة إلى الكاميرا بملامح محايدة، أمام جدار سادة وفاتح","portrait.coach.no_face":"ضع وجهك داخل الإطار البيضاوي","portrait.coach.multiple_faces":"تأكد من عدم وجود أي شخص آخر في الصورة","portrait.coach.center":"ضع وجهك في وسط الإطار البيضاوي","portrait.coach.too_close":"ابتعد قليلاً","portrait.coach.pose":"انظر مباشرة إلى الكاميرا","portrait.coach.eyes":"افتح عينيك أكثر قليلاً","portrait.coach.mouth":"أغلق فمك، بتعبير محايد","portrait.coach.glare":"أمِل نظارتك أو انزعها","portrait.coach.lighting":"اجعل وجهك مقابل نافذة أو مصباح","portrait.coach.lighting_side":"تجنّب الإضاءة من جانب واحد","portrait.coach.background":"قف أمام جدار فاتح اللون وسادة","portrait.coach.resolution":"اقترب قليلاً","portrait.coach.hold_still":"لا تتحرك","portrait.coach.hold":"ممتاز. لا تتحرك","portrait.criteria.face":"الوجه داخل الإطار","portrait.criteria.framing":"في الوسط","portrait.criteria.pose":"النظر مباشرة","portrait.criteria.eyes":"العينان مفتوحتان","portrait.criteria.mouth":"تعبير محايد","portrait.criteria.glare":"بلا انعكاس","portrait.criteria.lighting":"إضاءة متساوية","portrait.criteria.background":"خلفية سادة","portrait.criteria.resolution":"قريب بما يكفي","portrait.criteria.sharpness":"ثابت","portrait.report.pose":"وضعية الرأس","portrait.report.eyes":"العينان","portrait.report.mouth":"تعبير الوجه","portrait.report.occlusion":"الوجه مكشوف","portrait.report.glare":"انعكاس النظارة","portrait.report.lighting":"الإضاءة","portrait.report.background":"الخلفية","portrait.report.resolution":"المسافة","portrait.checksLabel":"فحوصات الصورة","portrait.met":"تم","portrait.notMet":"ليس بعد","portrait.starting":"جارٍ تشغيل الكاميرا…","portrait.taken":"تم التقاط الصورة","portrait.uploading":"جارٍ إرسال صورتك…","portrait.checking":"جارٍ التحقق من صورتك…","portrait.retryTitle":"لنلتقط صورتك مرة أخرى","portrait.reportTitle":"ما يجب تصحيحه","portrait.retake":"التقط الصورة مرة أخرى","portrait.uploadFailed":"تعذّر إرسال صورتك. تحقّق من اتصالك ثم أعد المحاولة.","portrait.sendAgain":"أرسل الصورة مرة أخرى","portrait.matching":"جارٍ مقارنة الصور…","portrait.reviewTitle":"سنراجع صورتك","portrait.reviewDescription":"سيتحقق أحد أعضاء فريقنا من صورتك. يمكنك المتابعة.","portrait.cameraBlocked":"نحتاج إلى الكاميرا لالتقاط صورة الهوية. الوصول إلى الكاميرا محظور أو غير متاح","portrait.cameraBlockedHint":"اسمح بالوصول إلى الكاميرا لهذا الموقع من إعدادات المتصفح ثم أعد المحاولة","portrait.retryCamera":"إعادة تجربة الكاميرا","reasons.icao_pose":"انظر مباشرة إلى الكاميرا","reasons.icao_eyes":"افتح عينيك أكثر قليلاً","reasons.icao_mouth":"أغلق فمك وحافظ على ملامح محايدة","reasons.icao_occlusion":"أزل ما يغطي وجهك، وأمِل نظارتك أو انزعها","reasons.icao_lighting":"قف مقابل نافذة أو مصباح، وتجنب الضوء من جهة واحدة","reasons.icao_background":"قف أمام جدار سادة وفاتح","reasons.icao_resolution":"اقترب قليلاً من الكاميرا","reasons.portrait_not_from_liveness":"يجب أن تكون الصورة للشخص نفسه الذي أجرى فحص الوجه. التقطها بنفسك مرة أخرى","reasons.tester_document_mismatch":"هذه الوثيقة لا تخص المختبِر","reasons.tester_phone_mismatch":"استخدم رقم الهاتف الذي سجّل به المختبِر","method.national_eid":"التحقق عبر {provider}","method.national_eidGeneric":"التحقق عبر هويتك الرقمية الوطنية","consent.short":"بالمتابعة، فإنك توافق على {terms}.","consent.termsLink":"الشروط","session.progressLabel":"تقدّم التحقق","section.contact":"تحقق من وسيلة التواصل","section.identity":"تحقق من هويتك","section.live_photo":"التقط صورة حية","section.screening":"فحوصات إضافية","handoff.copied":"تم نسخ الرابط. افتحه على هاتفك","needsApp.title":"تتطلب هذه الخطوة التطبيق","needsApp.description":"تطلب {org} قراءة شريحة مستندك. افتح تطبيق {org} على هاتف يدعم NFC للمتابعة.","needsApp.descriptionNoOrg":"يقرأ هذا التحقق شريحة مستندك. افتح التطبيق على هاتف يدعم NFC للمتابعة.","consent.termsTitle":"كيف تُستخدم بياناتك","leave.title":"مغادرة التحقق؟","leave.body":"إذا غادرت الآن، فلن يكتمل التحقق.","leave.confirm":"مغادرة","leave.stay":"البقاء","otp.changeNumber":"تغيير الرقم","otp.backToCode":"العودة إلى الرمز","otp.reason_otp_resend_limit":"لا يمكنك طلب رموز أخرى. أدخل آخر رمز وصلك","reasons.otp_resend_limit":"تم بلوغ الحد الأقصى لرموز التحقق في هذه الجلسة","common.back":"رجوع","capture.assisted.heading":"صوّر وجه الشخص","returning.heading":"أكّد أنك أنت","capture.checkingTitle":"جارٍ التحقق من هويتك…","method.heading":"كيف تريد التحقق من هويتك؟","sandbox.otpHint":"جلسة اختبار: لم يُرسَل أي شيء. أدخل الرمز {code}.","sandbox.skipCapture":"التخطي باستخدام بيانات الاختبار","app.sandboxBadge":"جلسة اختبار","population.recheck.title":"تحقّق من رقمك الوطني","population.recheck.description":"لم يتطابق وجهك مع السجل الخاص بهذا الرقم. تحقّق من الرقم وأدخله مرة أخرى.","otp.phoneInvalid":"أدخل رقم هاتفك مع رمز البلد","otp.codeInvalid":"أدخل الرمز المكوّن من 6 أرقام","doc.countryTitle":"اختر البلد المُصدِر","doc.countryLabel":"بلد الإصدار","doc.countrySearch":"ابحث عن بلد","doc.noCountryMatch":"لا يوجد بلد يطابق بحثك","doc.type.carte_identite":"بطاقة الهوية","doc.type.residence_permit":"بطاقة الإقامة","doc.type.passport":"جواز السفر","doc.showSide":"اعرض أحد وجهي البطاقة","doc.showPage":"اعرض صفحة الصورة","doc.flip":"اقلب البطاقة","doc.sameFace":"الوجه نفسه · اقلب البطاقة","doc.reaskRecto":"اعرض الوجه الأمامي مرة أخرى","doc.reread":"تعذّرت قراءة هذا الوجه · ثبّت البطاقة في إضاءة جيدة","doc.photoTaken":"تم التقاط الصورة","doc.frontCaptured":"تم التقاط الوجه الأمامي","doc.backCaptured":"تم التقاط الوجه الخلفي","doc.pageCaptured":"تم التقاط الصفحة","doc.progressFront":"الأمام","doc.progressBack":"الخلف","doc.progressPage":"صفحة الصورة","doc.shutter":"التقط الصورة","doc.torchOn":"شغّل الضوء","doc.torchOff":"أطفئ الضوء","result.platform_unsupported":"يتطلب هذا التحقق تطبيقًا على الهاتف.","unsupported.title":"يلزم التحديث","unsupported.description":"تتطلب هذه الخطوة إصدارًا أحدث من هذه الصفحة. تواصل مع {org}.","shell.subtitle":"التحقق من الهوية","shell.subtitleHuman":"التحقق البشري","shell.verifiedBy":"تم التحقق بواسطة Sekyro AI","doc.sub.carte_identite":"الوجه والظهر","doc.sub.residence_permit":"الوجه والظهر","doc.sub.passport":"الصفحة التي تحمل صورتك","native.close":"إغلاق","native.face.introTitle":"لنتحقق الآن من وجهك","native.face.introLead":"لقطة واحدة دون أي حركة خاصة: انظر إلى الشاشة فقط.","native.face.humanIntroTitle":"أكّد أنك شخص حقيقي","native.face.humanIntroLead":"لقطة قصيرة واحدة: انظر إلى الشاشة فقط.","native.doc.holdIt":"احتفظ بوثيقتك في متناول يدك.","native.doc.changeCountry":"تغيير البلد","native.result.review":"سيراجع شخص عملية التحقق الخاصة بك. ستتواصل معك {org}.","native.result.rejected":"لم تؤكد عمليات التحقق هويتك. تواصل مع {org} إذا كنت تعتقد أن هذا خطأ.","native.result.expired":"اطلب رابطًا جديدًا من {org}.","native.result.copied":"تم النسخ","native.result.back":"العودة إلى {org}","native.result.verified":"اكتمل التحقق. يمكنك العودة إلى {org}.","native.result.inconclusive":"لم تكن الصور واضحة بما يكفي لاتخاذ قرار. اطلب رابطًا جديدًا من {org}، وحاول في إضاءة جيدة مع إمساك الهاتف بشكل مستقيم.","native.result.unavailable":"كانت خدمتنا غير متاحة عند محاولتك. اطلب رابطًا جديدًا من {org}.","native.result.policy":"لا يمكن التحقق منك لدى {org} بهذه الوثيقة أو من هذا الموقع."},C={"session.title":"Verify your identity","session.requestedBy":"{orgName} asks you to verify your identity","returning.requestedBy":"{orgName} asks you to confirm it's you","consent.notice":"By completing this identity verification, you consent to the processing of your personal and biometric data to verify your identity.","consent.details":"Learn more","consent.terms.intro":"Sekyro AI verifies your identity on behalf of the organization that sent you this link. Before you start, review how your data is used.","consent.terms.data":"During verification, Sekyro AI collects photos of your identity document, a short selfie video, a selfie photo, and your identity document number.","consent.terms.processing":"This data is used only to verify your identity: your face is compared with the photo on your document, and your number is checked against the issuing authority's records when available. Some steps may be examined by an authorized human reviewer.","consent.terms.sharing":"The organization that requested this verification is informed of its outcome.","consent.terms.retention":"Your data is stored encrypted and kept only as long as the law requires. To exercise your data-protection rights, contact the organization that requested this verification.","capture.modeSwitch.toSelfPhoto":"I take the photo myself","capture.modeSwitch.toAssistedLabelPhoto":"Switch to assisted capture: another person holds the phone and takes your photo","capture.modeSwitch.toSelfLabelPhoto":"Switch to self capture: you take your own photo with the front camera","reasons.camera_unavailable":"This verification needs a camera. Go back to {org} to continue another way.","otp.sendTitle":"Verify your phone number","otp.sendDescription":"We'll send you a one-time code to confirm this number is yours","otp.prefilledNotice":"We'll send a verification code to your registered phone number.","otp.phoneLabel":"Phone number","otp.phoneHelper":"We'll send a one-time code to this number","otp.phonePlaceholder":"8 digits","otp.send":"Send code","otp.channelSms":"SMS","otp.channelWhatsapp":"WhatsApp","otp.verifyTitle":"Enter the code","otp.verifyDescription":"Type the 6-digit code we sent you to finish verifying your number","otp.sentTo":"We sent a 6-digit code to {number} via {channel}","otp.codeLabel":"Verification code","otp.codeHelper":"Enter the 6-digit code we sent you","otp.verify":"Verify code","otp.resend":"Resend code","otp.resendIn":"Resend code in {seconds}s","otp.expiresIn":"Code expires in {time}","otp.expired":"That code has expired. Resend a new one","otp.reason_otp_mismatch":"That code was incorrect. Check it and enter it again","otp.reason_otp_expired":"That code has expired. Resend a new code to continue","otp.reason_otp_send_failed":"We couldn't send the code. Try again in a moment","otp.chooseChannel":"How should we send your code?","otp.sendBy":"Send code by {channel}","otp.resendBy":"Resend by {channel}","otp.sending":"Sending your code by {channel}","otp.reason_otp_channel_unavailable":"That channel isn't available. Choose another way to get your code","otp.reason_otp_destination_not_allowed":"We can't send codes to numbers from this country. Enter another number","otp.reason_otp_destination_unknown":"We couldn't recognize this number. Check it and enter it again with the country code","otp.reason_otp_rate_limited":"Too many codes requested. Wait a moment, then try again","otp.reason_otp_daily_cap_reached":"We can't send you a code today. Choose another way to verify if one is offered, or try again later.","otp.reason_payment_method_required":"This verification method is not available right now. Choose another way to verify if one is offered.","otp.reason_spend_cap_reached":"This verification method is not available right now. Choose another way to verify if one is offered.","otp.reason_insufficient_balance":"This verification method is not available right now. Choose another way to verify if one is offered.","otp.phonePlaceholderGeneric":"Type your phone number without the prefix","otp.countryLabel":"Country","otp.phoneLengthError":"Check the number: it should have {digits} digits.","otp.or":"or","otp.otherCountry":"Another country","otp.reason_otp_number_invalid":"This number does not look complete for its country. Check it and try again.","otp.reason_otp_number_not_mobile":"Enter a mobile number. Codes cannot reach a landline.","session.steps.population.title":"Enter your ID number","session.steps.population.description":"Your 10-digit NNI is checked against the civil registry","population.label":"Mauritanian national ID number (NNI)","population.helper":"10-digit national identification number, exactly as printed on your ID","population.placeholder":"10 digits","population.submit":"Verify my number","population.invalid":"Enter the 10-digit NNI printed on your national ID","population.reason_registry_unavailable":"The civil registry is temporarily unreachable. Your number was not checked. Try again in a moment","population.reason_nni_not_found":"This number was not found in the civil registry. Check that it matches your ID exactly","population.reason_nni_invalid":"This is not a valid NNI. Check the 10 digits printed on your national ID","population.bound.description":"The requester already provided your national ID number. Confirm to check it against the civil registry","population.bound.confirm":"Confirm and continue","population.reason_nni_not_found_or_document":"We couldn't find this number. Check it, or use your document instead.","population.useDocument":"Use my document instead","population.fromDocument.title":"Checking the civil registry","population.fromDocument.description":"We're checking the national number from your document against the civil registry","population.fromDocument.continue":"Continue","population.reason_id_number_invalid":"This is not a valid NNI. Check the 10 digits printed on your national ID","population.reason_registry_record_not_found":"This number was not found in the civil registry. Check that it matches your ID exactly","population.reason_registry_record_not_found_or_document":"We couldn't find this number. Check it, or use your document instead.","session.steps.doc.titleRecto":"Photograph the front of your ID document","session.steps.doc.titleVerso":"Photograph the back of your ID document","session.steps.doc.description":"Use good lighting and keep the whole card inside the frame","doc.pickTitle":"Choose your document","doc.pickDescription":"Choose the identity document you have with you. You will scan it with your camera","doc.pickLabel":"Document type","doc.startScan":"Start scanning","doc.titlePassport":"Scan your passport data page","doc.reason_side_missing":"One side is saved. Now photograph the remaining side of the document","doc.reason_unreadable":"We could not read the document. Retake the photo with the whole card sharp and inside the frame","doc.process_failed":"We could not process this photo. Take a new one and try again","doc.uploading":"Uploading your document…","doc.cameraBlocked":"We need your camera to scan the document. Camera access is blocked or unavailable","doc.cameraBlockedHint":"Allow camera access for this site in your browser settings, then try again","doc.retryCamera":"Try the camera again","doc.holdUpright":"Fit the document inside the frame. It captures by itself. For a sharper photo, turn your phone sideways","doc.ageStepUp":"We could not confirm your age from the selfie. Continue with an ID document.","reasons.underage_estimated":"This service is for people who have reached its minimum age.","reasons.starter_credit_claimed":"Your verification already earned a starting credit for another organization. It is given once per person.","reasons.blocked_by_org":"This verification can't continue. Contact the organization that sent you this link.","dcv2.sensing":"Looking for the document. Fit it inside the frame","dcv2.too_far":"Bring the document closer so it fills the frame","dcv2.too_close":"Move back a little. Keep the whole document in the frame","dcv2.edge_clipped":"Fit the whole document inside the frame. Keep the edges visible","dcv2.wrong_shape":"That doesn't look right. Lay the document flat, straight toward the camera","dcv2.tilted":"Hold the phone flat above the document. Too much angle","dcv2.too_dark":"Find a brighter spot. Light the document","dcv2.too_bright":"Too much light. Tilt the document away from the glare","dcv2.blurry":"Hold your phone steady. The image is blurry","dcv2.focus_far":"Too close to focus. Move the phone a little farther","dcv2.glare":"Light is reflecting off the document. Tilt it slightly","dcv2.hold_still":"Perfect. Hold still","dcv2.processing":"Capturing…","dcv2.side_captured":"Side captured. Flip the document to the back","dcv2.captured":"Captured","session.processing.title":"Processing your checks","session.processing.description":"This usually takes a few seconds. The result will appear here","handoff.title":"Continue on your phone","handoff.lead.document":"Take the photo of your document with your phone","handoff.lead.portrait":"Take your ID photo with your phone","capture.source.phone":"Continue on my phone","session.processing.age_estimation.title":"Checking your age","session.processing.age_estimation.description":"This takes a few seconds","session.result.review.title":"Under review","session.result.review.description":"A person will check your verification. You will hear from the organization that gave you this link.","session.result.rejected.title":"Identity not verified","session.result.rejected.description":"The checks did not confirm your identity. Contact the organization that sent you this link if you think this is wrong.","session.result.expired.title":"This link has expired","session.result.expired.description":"Ask the organization that sent you this link for a new one.","session.result.detailsMismatch":"The details don't match the information {org} has. Contact {org}.","session.result.deviceVelocity":"This device can't be used for another verification right now. Contact {org}.","session.result.verified.title":"Your identity is verified","session.result.verified.description":"You are done. You can close this page","session.result.inconclusive.title":"We could not confirm your identity this time","session.result.inconclusive.description":"The captures were not clear enough to decide. Ask the organization that sent you this link for a new one and try in good light, holding the phone upright.","session.result.unavailable.title":"Verification was not available","session.result.unavailable.description":"Our service was unavailable when you tried. Ask the organization that sent you this link for a new one.","session.result.policy.title":"Verification stopped","session.result.policy.description":"The organization that sent you this link cannot verify you with this document or from this location.","session.result.cooldown.title":"Try again later","session.result.cooldown.description":"This device needs a short pause before another verification.","session.result.deviceStop":"We couldn't continue on this device. Try again on another device or browser.","result.referenceLabel":"Reference code","capture.retrySamePerson.message":"The same person needs to be on camera from start to finish. Record the video again","capture.retryMatch.message":"We couldn't confirm it's you. Record the video again in good light, without glasses","common.loading":"Loading your session","common.refresh":"Refresh status","common.noAttemptsLeft":"No attempts left","session.steps.portrait.title":"Take your ID photo","session.steps.portrait.description":"Look straight at the camera with a neutral expression, in front of a plain, light wall","portrait.coach.no_face":"Place your face inside the oval","portrait.coach.multiple_faces":"Make sure no one else is in the picture","portrait.coach.center":"Center your face in the oval","portrait.coach.too_close":"Move back a little","portrait.coach.pose":"Look straight at the camera","portrait.coach.eyes":"Open your eyes a little more","portrait.coach.mouth":"Close your mouth, neutral expression","portrait.coach.glare":"Tilt your glasses or remove them","portrait.coach.lighting":"Face a window or a lamp","portrait.coach.lighting_side":"Avoid light from one side","portrait.coach.background":"Stand in front of a plain, light wall","portrait.coach.resolution":"Come a little closer","portrait.coach.hold_still":"Hold still","portrait.coach.hold":"Perfect. Hold still","portrait.criteria.face":"Face in the oval","portrait.criteria.framing":"Centered","portrait.criteria.pose":"Looking straight","portrait.criteria.eyes":"Eyes open","portrait.criteria.mouth":"Neutral expression","portrait.criteria.glare":"No glare","portrait.criteria.lighting":"Even light","portrait.criteria.background":"Plain background","portrait.criteria.resolution":"Close enough","portrait.criteria.sharpness":"Steady","portrait.report.pose":"Head position","portrait.report.eyes":"Eyes","portrait.report.mouth":"Expression","portrait.report.occlusion":"Face uncovered","portrait.report.glare":"Glasses glare","portrait.report.lighting":"Lighting","portrait.report.background":"Background","portrait.report.resolution":"Distance","portrait.checksLabel":"Photo checks","portrait.met":"done","portrait.notMet":"not yet","portrait.starting":"Starting the camera…","portrait.taken":"Photo taken","portrait.uploading":"Sending your photo…","portrait.checking":"Checking your photo…","portrait.retryTitle":"Let's take your photo again","portrait.reportTitle":"What to fix","portrait.retake":"Take the photo again","portrait.uploadFailed":"We couldn't send your photo. Check your connection, then try again.","portrait.sendAgain":"Send the photo again","portrait.matching":"Comparing your photos…","portrait.reviewTitle":"We'll review your photo","portrait.reviewDescription":"A member of our team will check your photo. You can continue.","portrait.cameraBlocked":"We need your camera to take your ID photo. Camera access is blocked or unavailable","portrait.cameraBlockedHint":"Allow camera access for this site in your browser settings, then try again","portrait.retryCamera":"Try the camera again","reasons.icao_pose":"Look straight at the camera","reasons.icao_eyes":"Open your eyes a little more","reasons.icao_mouth":"Close your mouth and keep a neutral expression","reasons.icao_occlusion":"Remove anything covering your face, and tilt or remove your glasses","reasons.icao_lighting":"Face a window or a lamp, and avoid light from one side","reasons.icao_background":"Stand in front of a plain, light wall","reasons.icao_resolution":"Come a little closer to the camera","reasons.portrait_not_from_liveness":"The photo must be of the same person who did the face check. Take it again yourself","reasons.tester_document_mismatch":"This document doesn't belong to the tester","reasons.tester_phone_mismatch":"Use the phone number the tester enrolled with","method.national_eid":"Verify with {provider}","method.national_eidGeneric":"Verify with your national eID","consent.short":"By continuing, you agree to the {terms}.","consent.termsLink":"terms","session.progressLabel":"Verification progress","section.contact":"Verify your contact","section.identity":"Verify your identity","section.live_photo":"Take a live photo","section.screening":"Additional checks","handoff.copied":"Link copied. Open it on your phone","needsApp.title":"This step needs the app","needsApp.description":"{org} asks to read your document's chip. Open {org}'s app on a phone with NFC to continue.","needsApp.descriptionNoOrg":"This verification reads your document's chip. Open the app on a phone with NFC to continue.","consent.termsTitle":"How your data is used","leave.title":"Leave verification?","leave.body":"If you leave now, your verification will not be finished.","leave.confirm":"Leave","leave.stay":"Stay","otp.changeNumber":"Change number","otp.backToCode":"Back to code","otp.reason_otp_resend_limit":"You can't get more codes. Enter the last code you received","reasons.otp_resend_limit":"The maximum number of verification codes for this session was reached","common.back":"Back","capture.assisted.heading":"Film the person's face","returning.heading":"Confirm it's you","capture.checkingTitle":"Checking your identity…","method.heading":"How do you want to verify?","sandbox.otpHint":"Test session: nothing was sent. Enter the code {code}.","sandbox.skipCapture":"Skip with test data","app.sandboxBadge":"Test session","population.recheck.title":"Check your ID number","population.recheck.description":"Your face didn't match the record for this number. Check the number and enter it again.","otp.phoneInvalid":"Enter your phone number with the country code","otp.codeInvalid":"Enter the 6-digit code","doc.countryTitle":"Choose the issuing country","doc.countryLabel":"Issuing country","doc.countrySearch":"Search for a country","doc.noCountryMatch":"No country matches your search","doc.type.carte_identite":"Identity card","doc.type.residence_permit":"Residence permit","doc.type.passport":"Passport","doc.showSide":"Show one side of the card","doc.showPage":"Show the photo page","doc.flip":"Turn the card over","doc.sameFace":"Same side · turn the card over","doc.reaskRecto":"Show the front again","doc.reread":"We couldn't read this side · hold it steady in good light","doc.photoTaken":"Photo taken","doc.frontCaptured":"Front captured","doc.backCaptured":"Back captured","doc.pageCaptured":"Page captured","doc.progressFront":"Front","doc.progressBack":"Back","doc.progressPage":"Photo page","doc.shutter":"Take the photo","doc.torchOn":"Turn on the light","doc.torchOff":"Turn off the light","result.platform_unsupported":"This verification needs a phone app.","unsupported.title":"Update required","unsupported.description":"This step needs a newer version of this page. Contact {org}.","shell.subtitle":"Identity verification","shell.subtitleHuman":"Human verification","shell.verifiedBy":"Verified by Sekyro AI","doc.sub.carte_identite":"Front and back","doc.sub.residence_permit":"Front and back","doc.sub.passport":"The page with your photo","native.close":"Close","native.face.introTitle":"Now let's check your face","native.face.introLead":"One capture, no special movement: just look at the screen.","native.face.humanIntroTitle":"Confirm you're human","native.face.humanIntroLead":"One short capture: just look at the screen.","native.doc.holdIt":"Keep your document within reach.","native.doc.changeCountry":"Change country","native.result.review":"A person will check your verification. You will hear from {org}.","native.result.rejected":"The checks did not confirm your identity. Contact {org} if you think this is wrong.","native.result.expired":"Ask {org} for a new link.","native.result.copied":"Copied","native.result.back":"Back to {org}","native.result.verified":"Your verification is complete. You can go back to {org}.","native.result.inconclusive":"The captures were not clear enough to decide. Ask {org} for a new link and try in good light, holding the phone upright.","native.result.unavailable":"Our service was unavailable when you tried. Ask {org} for a new link.","native.result.policy":"{org} cannot verify you with this document or from this location."},w={"session.title":"Vérifiez votre identité","session.requestedBy":"{orgName} vous demande de vérifier votre identité","returning.requestedBy":"{orgName} vous demande de confirmer qu'il s'agit bien de vous","consent.notice":"En poursuivant la vérification d'identité, vous consentez au traitement de vos données personnelles et biométriques afin de vérifier votre identité.","consent.details":"En savoir plus","consent.terms.intro":"Sekyro AI vérifie votre identité pour le compte de l'organisme qui vous a envoyé ce lien. Avant de commencer, consultez la façon dont vos données sont utilisées.","consent.terms.data":"Pendant la vérification, Sekyro AI recueille les photos de votre pièce d'identité, une courte vidéo selfie, une photo selfie et le numéro de votre pièce d'identité.","consent.terms.processing":"Ces données servent uniquement à vérifier votre identité : votre visage est comparé à la photo de votre document et votre numéro est vérifié auprès des registres de l'autorité émettrice lorsque c'est possible. Certaines étapes peuvent être examinées par un examinateur humain habilité.","consent.terms.sharing":"L'organisme qui a demandé cette vérification est informé de son résultat.","consent.terms.retention":"Vos données sont stockées chiffrées et conservées uniquement pendant la durée exigée par la loi. Pour exercer vos droits en matière de protection des données, contactez l'organisme qui a demandé cette vérification.","capture.modeSwitch.toSelfPhoto":"Je prends la photo moi-même","capture.modeSwitch.toAssistedLabelPhoto":"Passer à la capture assistée : une autre personne tient le téléphone et vous prend en photo","capture.modeSwitch.toSelfLabelPhoto":"Passer à la capture seule : vous prenez votre photo avec la caméra avant","reasons.camera_unavailable":"Cette vérification nécessite une caméra. Retournez sur {org} pour continuer autrement.","otp.sendTitle":"Vérifiez votre numéro","otp.sendDescription":"Nous vous enverrons un code à usage unique pour confirmer que ce numéro vous appartient","otp.prefilledNotice":"Nous enverrons un code de vérification à votre numéro de téléphone enregistré.","otp.phoneLabel":"Numéro de téléphone","otp.phoneHelper":"Nous enverrons un code à usage unique à ce numéro","otp.phonePlaceholder":"8 chiffres","otp.send":"Envoyer le code","otp.channelSms":"SMS","otp.channelWhatsapp":"WhatsApp","otp.verifyTitle":"Saisissez le code","otp.verifyDescription":"Saisissez le code à 6 chiffres que nous vous avons envoyé pour finaliser la vérification de votre numéro","otp.sentTo":"Nous avons envoyé un code à 6 chiffres au {number} par {channel}","otp.codeLabel":"Code de vérification","otp.codeHelper":"Saisissez le code à 6 chiffres que nous vous avons envoyé","otp.verify":"Vérifier le code","otp.resend":"Renvoyer le code","otp.resendIn":"Renvoyer le code dans {seconds} s","otp.expiresIn":"Le code expire dans {time}","otp.expired":"Ce code a expiré. Renvoyez-en un nouveau","otp.reason_otp_mismatch":"Ce code est incorrect. Vérifiez-le et saisissez-le à nouveau","otp.reason_otp_expired":"Ce code a expiré. Renvoyez un nouveau code pour continuer","otp.reason_otp_send_failed":"Nous n'avons pas pu envoyer le code. Réessayez dans un instant","otp.chooseChannel":"Comment souhaitez-vous recevoir votre code ?","otp.sendBy":"Envoyer le code par {channel}","otp.resendBy":"Renvoyer par {channel}","otp.sending":"Envoi du code par {channel}","otp.reason_otp_channel_unavailable":"Ce moyen d'envoi n'est pas disponible. Choisissez une autre façon de recevoir votre code","otp.reason_otp_destination_not_allowed":"Nous ne pouvons pas envoyer de code aux numéros de ce pays. Saisissez un autre numéro","otp.reason_otp_destination_unknown":"Nous n'avons pas reconnu ce numéro. Vérifiez-le et saisissez-le à nouveau avec l'indicatif du pays","otp.reason_otp_rate_limited":"Trop de codes demandés. Patientez un instant, puis réessayez","otp.reason_otp_daily_cap_reached":"Nous ne pouvons pas vous envoyer de code aujourd'hui. Choisissez une autre méthode si elle est proposée, ou réessayez plus tard.","otp.reason_payment_method_required":"Cette méthode de vérification n'est pas disponible pour le moment. Choisissez une autre méthode si elle est proposée.","otp.reason_spend_cap_reached":"Cette méthode de vérification n'est pas disponible pour le moment. Choisissez une autre méthode si elle est proposée.","otp.reason_insufficient_balance":"Cette méthode de vérification n'est pas disponible pour le moment. Choisissez une autre méthode si elle est proposée.","otp.phonePlaceholderGeneric":"Saisissez votre numéro sans l'indicatif","otp.countryLabel":"Pays","otp.phoneLengthError":"Vérifiez le numéro : il doit comporter {digits} chiffres.","otp.or":"ou","otp.otherCountry":"Autre pays","otp.reason_otp_number_invalid":"Ce numéro ne semble pas complet pour son pays. Vérifiez-le et réessayez.","otp.reason_otp_number_not_mobile":"Saisissez un numéro de mobile. Les codes ne peuvent pas atteindre une ligne fixe.","session.steps.population.title":"Saisissez votre numéro","session.steps.population.description":"Votre NNI à 10 chiffres est vérifié auprès du registre d'état civil","population.label":"Numéro national d'identification mauritanien (NNI)","population.helper":"Numéro national d'identification à 10 chiffres, tel qu'imprimé sur votre pièce","population.placeholder":"10 chiffres","population.submit":"Vérifier mon numéro","population.invalid":"Saisissez les 10 chiffres du NNI imprimé sur votre pièce d'identité","population.reason_registry_unavailable":"Le registre d'état civil est temporairement inaccessible. Votre numéro n'a pas été vérifié. Réessayez dans un instant","population.reason_nni_not_found":"Ce numéro est introuvable dans le registre d'état civil. Vérifiez qu'il correspond exactement à votre pièce","population.reason_nni_invalid":"Ce numéro n'est pas un NNI valide. Vérifiez les 10 chiffres imprimés sur votre pièce d'identité","population.bound.description":"L'organisme demandeur a déjà fourni votre numéro national d'identification. Confirmez pour le vérifier auprès de l'état civil","population.bound.confirm":"Confirmer et continuer","population.reason_nni_not_found_or_document":"Nous n'avons pas trouvé ce numéro. Vérifiez-le, ou utilisez plutôt votre document.","population.useDocument":"Utiliser plutôt mon document","population.fromDocument.title":"Consultation du registre","population.fromDocument.description":"Nous vérifions le numéro national lu sur votre document auprès du registre civil","population.fromDocument.continue":"Continuer","population.reason_id_number_invalid":"Ce numéro n'est pas un NNI valide. Vérifiez les 10 chiffres imprimés sur votre pièce d'identité","population.reason_registry_record_not_found":"Ce numéro est introuvable dans le registre d'état civil. Vérifiez qu'il correspond exactement à votre pièce","population.reason_registry_record_not_found_or_document":"Nous n'avons pas trouvé ce numéro. Vérifiez-le, ou utilisez plutôt votre document.","session.steps.doc.titleRecto":"Photographiez le recto de votre pièce d'identité","session.steps.doc.titleVerso":"Photographiez le verso de votre pièce d'identité","session.steps.doc.description":"Utilisez un bon éclairage et gardez la carte entière dans le cadre","doc.pickTitle":"Choisissez votre document","doc.pickDescription":"Choisissez la pièce d'identité en votre possession. Vous la scannerez avec votre caméra","doc.pickLabel":"Type de document","doc.startScan":"Commencer le scan","doc.titlePassport":"Scannez la page de données de votre passeport","doc.reason_side_missing":"Une face est enregistrée. Photographiez maintenant l'autre face du document","doc.reason_unreadable":"Nous n'avons pas pu lire le document. Reprenez la photo avec la carte entière, nette et dans le cadre","doc.process_failed":"Nous n'avons pas pu traiter cette photo. Prenez-en une nouvelle et réessayez","doc.uploading":"Envoi de votre document…","doc.cameraBlocked":"Nous avons besoin de votre caméra pour scanner le document. L'accès est bloqué ou indisponible","doc.cameraBlockedHint":"Autorisez l'accès à la caméra pour ce site dans les réglages du navigateur, puis réessayez","doc.retryCamera":"Réessayer la caméra","doc.holdUpright":"Placez le document dans le cadre. La capture est automatique. Pour une photo plus nette, tournez votre téléphone à l'horizontale","doc.ageStepUp":"Nous n'avons pas pu confirmer votre âge à partir du selfie. Continuez avec une pièce d'identité.","reasons.underage_estimated":"Ce service est réservé aux personnes qui ont atteint l'âge minimum requis.","reasons.starter_credit_claimed":"Votre vérification a déjà donné un crédit de départ à une autre organisation. Il n’est accordé qu’une fois par personne.","reasons.blocked_by_org":"Cette vérification ne peut pas continuer. Contactez l'organisation qui vous a envoyé ce lien.","dcv2.sensing":"Recherche du document. Placez-le dans le cadre","dcv2.too_far":"Rapprochez le document pour qu'il remplisse le cadre","dcv2.too_close":"Reculez un peu. Gardez tout le document dans le cadre","dcv2.edge_clipped":"Placez tout le document dans le cadre. Gardez les bords visibles","dcv2.wrong_shape":"Cela ne semble pas correct. Posez le document à plat, face à la caméra","dcv2.tilted":"Tenez le téléphone à plat au-dessus du document. Trop d'angle","dcv2.too_dark":"Trouvez un endroit plus lumineux. Éclairez le document","dcv2.too_bright":"Trop de lumière. Inclinez le document pour éviter les reflets","dcv2.blurry":"Tenez votre téléphone immobile. L'image est floue","dcv2.focus_far":"Trop près pour la mise au point. Éloignez un peu le téléphone","dcv2.glare":"La lumière se reflète sur le document. Inclinez-le légèrement","dcv2.hold_still":"Parfait. Ne bougez plus","dcv2.processing":"Capture…","dcv2.side_captured":"Face capturée. Retournez le document","dcv2.captured":"Capturé","session.processing.title":"Traitement en cours","session.processing.description":"Cela prend généralement quelques secondes. Le résultat s'affichera ici","handoff.title":"Continuez sur mobile","handoff.lead.document":"Prenez la photo de votre document avec votre téléphone","handoff.lead.portrait":"Prenez votre photo d'identité avec votre téléphone","capture.source.phone":"Continuer sur mon téléphone","session.processing.age_estimation.title":"Vérification de votre âge","session.processing.age_estimation.description":"Cela prend quelques secondes","session.result.review.title":"En cours d'examen","session.result.review.description":"Une personne va examiner votre vérification. L'organisme qui vous a donné ce lien vous tiendra informé.","session.result.rejected.title":"Identité non vérifiée","session.result.rejected.description":"Les contrôles n'ont pas confirmé votre identité. Contactez l'organisme qui vous a envoyé ce lien si vous pensez qu'il s'agit d'une erreur.","session.result.expired.title":"Ce lien a expiré","session.result.expired.description":"Demandez un nouveau lien à l'organisme qui vous a envoyé celui-ci.","session.result.detailsMismatch":"Ces informations ne correspondent pas à celles dont dispose {org}. Contactez {org}.","session.result.deviceVelocity":"Cet appareil ne peut pas servir à une autre vérification pour le moment. Contactez {org}.","session.result.verified.title":"Identité vérifiée","session.result.verified.description":"C'est terminé. Vous pouvez fermer cette page","session.result.inconclusive.title":"Nous n'avons pas pu confirmer votre identité cette fois","session.result.inconclusive.description":"Les captures n'étaient pas assez nettes pour décider. Demandez un nouveau lien à l'organisme qui vous a envoyé celui-ci et réessayez dans un endroit bien éclairé, en tenant le téléphone droit.","session.result.unavailable.title":"La vérification n'était pas disponible","session.result.unavailable.description":"Notre service était indisponible au moment de votre essai. Demandez un nouveau lien à l'organisme qui vous a envoyé celui-ci.","session.result.policy.title":"Vérification interrompue","session.result.policy.description":"L'organisme qui vous a envoyé ce lien ne peut pas vous vérifier avec ce document ou depuis cet endroit.","session.result.cooldown.title":"Réessayez plus tard","session.result.cooldown.description":"Cet appareil a besoin d'une courte pause avant une nouvelle vérification.","session.result.deviceStop":"Impossible de continuer sur cet appareil. Réessayez sur un autre appareil ou navigateur.","result.referenceLabel":"Code de référence","capture.retrySamePerson.message":"La même personne doit être devant la caméra du début à la fin. Enregistrez à nouveau la vidéo","capture.retryMatch.message":"Nous n'avons pas pu confirmer qu'il s'agit bien de vous. Enregistrez à nouveau la vidéo dans un endroit bien éclairé, sans lunettes","common.loading":"Chargement…","common.refresh":"Actualiser le statut","common.noAttemptsLeft":"Plus aucune tentative","session.steps.portrait.title":"Prenez votre photo","session.steps.portrait.description":"Regardez la caméra bien en face, l’expression neutre, devant un mur uni et clair","portrait.coach.no_face":"Placez votre visage dans l'ovale","portrait.coach.multiple_faces":"Assurez-vous d'être seul sur la photo","portrait.coach.center":"Centrez votre visage dans l'ovale","portrait.coach.too_close":"Reculez un peu","portrait.coach.pose":"Regardez droit vers la caméra","portrait.coach.eyes":"Ouvrez un peu plus les yeux","portrait.coach.mouth":"Fermez la bouche, expression neutre","portrait.coach.glare":"Inclinez vos lunettes ou retirez-les","portrait.coach.lighting":"Placez-vous face à une fenêtre ou une lampe","portrait.coach.lighting_side":"Évitez la lumière venant d'un seul côté","portrait.coach.background":"Placez-vous devant un mur uni et clair","portrait.coach.resolution":"Rapprochez-vous un peu","portrait.coach.hold_still":"Ne bougez plus","portrait.coach.hold":"Parfait. Ne bougez plus","portrait.criteria.face":"Visage dans l'ovale","portrait.criteria.framing":"Centré","portrait.criteria.pose":"Regard droit","portrait.criteria.eyes":"Yeux ouverts","portrait.criteria.mouth":"Expression neutre","portrait.criteria.glare":"Sans reflet","portrait.criteria.lighting":"Lumière uniforme","portrait.criteria.background":"Fond uni","portrait.criteria.resolution":"Assez proche","portrait.criteria.sharpness":"Stable","portrait.report.pose":"Position de la tête","portrait.report.eyes":"Yeux","portrait.report.mouth":"Expression","portrait.report.occlusion":"Visage dégagé","portrait.report.glare":"Reflets des lunettes","portrait.report.lighting":"Éclairage","portrait.report.background":"Arrière-plan","portrait.report.resolution":"Distance","portrait.checksLabel":"Contrôles de la photo","portrait.met":"validé","portrait.notMet":"pas encore","portrait.starting":"Démarrage de la caméra…","portrait.taken":"Photo prise","portrait.uploading":"Envoi de votre photo…","portrait.checking":"Vérification en cours…","portrait.retryTitle":"Reprenons votre photo","portrait.reportTitle":"À corriger","portrait.retake":"Reprendre la photo","portrait.uploadFailed":"Nous n'avons pas pu envoyer votre photo. Vérifiez votre connexion, puis réessayez.","portrait.sendAgain":"Renvoyer la photo","portrait.matching":"Comparaison des photos…","portrait.reviewTitle":"Vérification de la photo","portrait.reviewDescription":"Un membre de notre équipe vérifiera votre photo. Vous pouvez continuer.","portrait.cameraBlocked":"Nous avons besoin de votre caméra pour prendre votre photo d'identité. L'accès à la caméra est bloqué ou indisponible","portrait.cameraBlockedHint":"Autorisez l'accès à la caméra pour ce site dans les réglages du navigateur, puis réessayez","portrait.retryCamera":"Réessayer la caméra","reasons.icao_pose":"Regardez la caméra bien en face","reasons.icao_eyes":"Ouvrez un peu plus les yeux","reasons.icao_mouth":"Fermez la bouche et gardez une expression neutre","reasons.icao_occlusion":"Retirez ce qui couvre votre visage, et inclinez ou retirez vos lunettes","reasons.icao_lighting":"Placez-vous face à une fenêtre ou une lampe, sans lumière d’un seul côté","reasons.icao_background":"Placez-vous devant un mur uni et clair","reasons.icao_resolution":"Rapprochez-vous un peu de la caméra","reasons.portrait_not_from_liveness":"La photo doit être celle de la personne qui a fait le contrôle du visage. Reprenez-la vous-même","reasons.tester_document_mismatch":"Ce document n'appartient pas au testeur","reasons.tester_phone_mismatch":"Utilisez le numéro avec lequel le testeur s'est inscrit","method.national_eid":"Vérifier avec {provider}","method.national_eidGeneric":"Vérifier avec votre eID national","consent.short":"En continuant, vous acceptez les {terms}.","consent.termsLink":"conditions","session.progressLabel":"Progression de la vérification","section.contact":"Vérifiez votre contact","section.identity":"Vérifiez votre identité","section.live_photo":"Prenez une photo en direct","section.screening":"Contrôles complémentaires","handoff.copied":"Lien copié. Ouvrez-le sur votre téléphone","needsApp.title":"Il faut l'application","needsApp.description":"{org} demande de lire la puce de votre document. Ouvrez l'application de {org} sur un téléphone avec NFC pour continuer.","needsApp.descriptionNoOrg":"Cette vérification lit la puce de votre document. Ouvrez l'application sur un téléphone avec NFC pour continuer.","consent.termsTitle":"Utilisation de vos données","leave.title":"Quitter la vérification ?","leave.body":"Si vous quittez maintenant, votre vérification ne sera pas terminée.","leave.confirm":"Quitter","leave.stay":"Rester","otp.changeNumber":"Changer de numéro","otp.backToCode":"Retour au code","otp.reason_otp_resend_limit":"Vous ne pouvez plus demander de code. Saisissez le dernier code reçu","reasons.otp_resend_limit":"Le nombre maximal de codes de vérification pour cette session a été atteint","common.back":"Retour","capture.assisted.heading":"Filmez la personne","returning.heading":"Confirmez que c'est vous","capture.checkingTitle":"Vérification en cours…","method.heading":"Choisissez une méthode","sandbox.otpHint":"Session de test : rien n'a été envoyé. Saisissez le code {code}.","sandbox.skipCapture":"Passer avec des données de test","app.sandboxBadge":"Mode test","population.recheck.title":"Vérifiez votre numéro","population.recheck.description":"Votre visage ne correspond pas au dossier de ce numéro. Vérifiez le numéro et saisissez-le à nouveau.","otp.phoneInvalid":"Saisissez votre numéro avec l'indicatif du pays","otp.codeInvalid":"Saisissez le code à 6 chiffres","doc.countryTitle":"Choisissez le pays","doc.countryLabel":"Pays de délivrance","doc.countrySearch":"Rechercher un pays","doc.noCountryMatch":"Aucun pays ne correspond à votre recherche","doc.type.carte_identite":"Carte d'identité","doc.type.residence_permit":"Titre de séjour","doc.type.passport":"Passeport","doc.showSide":"Montrez une face de la carte","doc.showPage":"Montrez la page avec la photo","doc.flip":"Retournez la carte","doc.sameFace":"Même face · retournez la carte","doc.reaskRecto":"Remontrez le recto","doc.reread":"Lecture impossible · tenez la carte stable, bien éclairée","doc.photoTaken":"Photo prise","doc.frontCaptured":"Recto capturé","doc.backCaptured":"Verso capturé","doc.pageCaptured":"Page capturée","doc.progressFront":"Recto","doc.progressBack":"Verso","doc.progressPage":"Page photo","doc.shutter":"Prendre la photo","doc.torchOn":"Allumer la lampe","doc.torchOff":"Éteindre la lampe","result.platform_unsupported":"Cette vérification nécessite une application mobile.","unsupported.title":"Mise à jour requise","unsupported.description":"Cette étape nécessite une version plus récente de cette page. Contactez {org}.","shell.subtitle":"Vérification d'identité","shell.subtitleHuman":"Vérification humaine","shell.verifiedBy":"Vérifié par Sekyro AI","doc.sub.carte_identite":"Recto et verso","doc.sub.residence_permit":"Recto et verso","doc.sub.passport":"La page avec votre photo","native.close":"Fermer","native.face.introTitle":"Vérifions votre visage","native.face.introLead":"Une seule prise, sans geste particulier : regardez simplement l'écran.","native.face.humanIntroTitle":"Confirmez votre présence","native.face.humanIntroLead":"Une courte prise : regardez simplement l'écran.","native.doc.holdIt":"Gardez votre document à portée de main.","native.doc.changeCountry":"Changer de pays","native.result.review":"Une personne va examiner votre vérification. {org} vous tiendra informé.","native.result.rejected":"Les contrôles n'ont pas confirmé votre identité. Contactez {org} si vous pensez qu'il s'agit d'une erreur.","native.result.expired":"Demandez un nouveau lien à {org}.","native.result.copied":"Copiée","native.result.back":"Revenir à {org}","native.result.verified":"Votre vérification est terminée. Vous pouvez retourner à {org}.","native.result.inconclusive":"Les captures n'étaient pas assez nettes pour décider. Demandez un nouveau lien à {org} et réessayez dans un endroit bien éclairé, en tenant le téléphone droit.","native.result.unavailable":"Notre service était indisponible au moment de votre essai. Demandez un nouveau lien à {org}.","native.result.policy":"{org} ne peut pas vous vérifier avec ce document ou depuis cet endroit."},T={en:C,fr:w,ar:z};function f(o,e){return e===void 0?o:o.replace(/\{(\w+)\}/g,(t,r)=>Object.hasOwn(e,r)?String(e[r]):t)}s(f,"k");i(f,"formatTemplate");function y(o,e){let t=u(o),r={...m(t),...T[t],...l(o)};if(e!==void 0){for(let a of Object.keys(e)){let p=e[a];typeof p=="string"&&(r[a]=p)}h(r,e)}return r}s(y,"z");i(y,"resolveSekyroStrings");var _=(0,n.createContext)(null);function c(o,e){let t=y(o,e);return{locale:o,strings:t,t:i((r,a)=>f(t[r]??"",a),"t")}}s(c,"f");i(c,"build");function S({locale:o,strings:e,children:t}){let r=v(o),a=(0,n.useMemo)(()=>c(o,e),[o,e,r]);return r?(0,g.jsx)(_.Provider,{value:a,children:t}):null}s(S,"q");i(S,"StepI18nProvider");function L(o,e){let t=(0,n.useContext)(_);return(0,n.useMemo)(()=>t!==null&&o===void 0&&e===void 0?t:c(o??t?.locale??"en",e),[t,o,e])}s(L,"A");i(L,"useStepI18n");export{f as a,S as b,L as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as v,b}from"./chunk-72JW2LCH.js";import{a,c as p,i as d}from"./chunk-RPLVIGTS.js";var r=p(v(),1),o=p(b(),1),m=p(v(),1);import{normalizeNni as C}from"@sekyro/web";function w(t,e,i){let[n,c]=(0,r.useState)(!1),s=(0,r.useRef)(i);return s.current=i,(0,r.useEffect)(()=>{t&&(c(!0),s.current())},[t,e]),[n,()=>c(!1)]}a(w,"I");d(w,"useWrongCode");function x({id:t,value:e,onChange:i,length:n=6,describedBy:c,invalid:s}){let[y,f]=(0,r.useState)(!1),[h,k]=(0,r.useState)(0);(0,r.useEffect)(()=>{s&&k(l=>l+1)},[s]);let g=(0,r.useRef)(null);(0,r.useEffect)(()=>{let l=setTimeout(()=>g.current?.focus({preventScroll:!0}),350);return()=>clearTimeout(l)},[]);let N=e.length<n?e.length:-1;return(0,o.jsxs)("div",{className:"sekyro-otp-boxes",dir:"ltr",children:[(0,o.jsx)("div",{className:`sekyro-otp-row${h>0?" is-shaking":""}`,"aria-hidden":"true",children:Array.from({length:n},(l,u)=>(0,o.jsx)("span",{className:`sekyro-otp-box${u<e.length?" is-filled":""}${y&&u===N?" is-current":""}${s?" is-invalid":""}`,children:e[u]!==void 0?(0,o.jsx)("span",{className:"sekyro-otp-digit",children:e[u]},e[u]):null},u))},h),(0,o.jsx)("input",{ref:g,id:t,className:"sekyro-input sekyro-input--code",dir:"ltr",inputMode:"numeric",autoComplete:"one-time-code",value:e,"aria-describedby":c,"aria-invalid":s||void 0,onFocus:a(()=>f(!0),"onFocus"),onBlur:a(()=>f(!1),"onBlur"),onChange:a(l=>i(C(l.target.value).replace(/\D/g,"").slice(0,n)),"onChange")})]})}a(x,"S");d(x,"CodeInput");function I(t){let[e,i]=(0,m.useState)(()=>Date.now());return(0,m.useEffect)(()=>{if(!t)return;let n=setInterval(()=>i(Date.now()),1e3);return()=>clearInterval(n)},[t]),e}a(I,"B");d(I,"useNow");export{w as a,x as b,I as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as d}from"./chunk-72JW2LCH.js";import{a as i,c as r,i as t}from"./chunk-RPLVIGTS.js";var s=r(d(),1);var u=(0,s.createContext)(null);function c(a,n,o){let e=n.detail;return{check:a,kind:n.kind,...e?.name!==void 0?{name:e.name}:{},...e?.phase!==void 0?{phase:e.phase}:{},...e?.engineKind!==void 0?{engineKind:e.engineKind}:{},attempt:Math.max(0,Math.min(1e3,o))}}i(c,"a");t(c,"captureIssueOf");function m(a,n){if(a!==void 0)try{a(n)}catch{}}i(m,"o");t(m,"sendCaptureIssue");export{u as a,c as b,m as c};
|