@btsd/aitu-bridge 0.7.2-canary.0 → 0.7.2-canary.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/dist/error.d.ts CHANGED
@@ -1,6 +1,13 @@
1
+ /**
2
+ * @public
3
+ */
1
4
  export declare enum BridgeErrors {
2
5
  PermissionDenyError = 0,
3
6
  PermissionSecurityDenyError = 1,
4
7
  OtherError = 2
5
8
  }
9
+ /**
10
+ * @public
11
+ */
6
12
  export declare const classifyBridgeError: (e: any) => BridgeErrors;
13
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,YAAY;IACpB,mBAAmB,IAAA;IACnB,2BAA2B,IAAA;IAC3B,UAAU,IAAA;CACb;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,MAAO,GAAG,KAAG,YAY5C,CAAA"}
package/dist/index.d.ts CHANGED
@@ -15,6 +15,7 @@ type ClearType = () => Promise<void>;
15
15
  type HeaderMenuItemClickHandlerType = (id: string) => Promise<void>;
16
16
  type BackArrowClickHandlerType = () => Promise<void>;
17
17
  /**
18
+ * @public
18
19
  * Represents an error that can occur during NFC passport operations.
19
20
  */
20
21
  export interface NFCPassportError {
@@ -36,10 +37,16 @@ export interface NFCPassportError {
36
37
  */
37
38
  msg: string;
38
39
  }
40
+ /**
41
+ * @public
42
+ */
39
43
  export interface GetPhoneResponse {
40
44
  phone: string;
41
45
  sign: string;
42
46
  }
47
+ /**
48
+ * @public
49
+ */
43
50
  export interface GetMeResponse {
44
51
  name: string;
45
52
  lastname: string;
@@ -50,15 +57,24 @@ export interface GetMeResponse {
50
57
  private_messaging_enabled: boolean;
51
58
  sign: string;
52
59
  }
60
+ /**
61
+ * @public
62
+ */
53
63
  export interface ResponseObject {
54
64
  phone?: string;
55
65
  name?: string;
56
66
  lastname?: string;
57
67
  }
68
+ /**
69
+ * @public
70
+ */
58
71
  export interface GetGeoResponse {
59
72
  latitude: number;
60
73
  longitude: number;
61
74
  }
75
+ /**
76
+ * @public
77
+ */
62
78
  export interface GetContactsResponse {
63
79
  contacts: Array<{
64
80
  first_name: string;
@@ -67,11 +83,17 @@ export interface GetContactsResponse {
67
83
  }>;
68
84
  sign: string;
69
85
  }
86
+ /**
87
+ * @public
88
+ */
70
89
  export interface SelectContactResponse {
71
90
  phone: string;
72
91
  name: string;
73
92
  lastname: string;
74
93
  }
94
+ /**
95
+ * @public
96
+ */
75
97
  export interface GetUserProfileResponse {
76
98
  name: string;
77
99
  lastname?: string;
@@ -79,6 +101,9 @@ export interface GetUserProfileResponse {
79
101
  avatar?: string;
80
102
  avatarThumb?: string;
81
103
  }
104
+ /**
105
+ * @public
106
+ */
82
107
  export declare enum HeaderMenuIcon {
83
108
  Search = "Search",
84
109
  ShoppingCart = "ShoppingCart",
@@ -93,21 +118,33 @@ export declare enum HeaderMenuIcon {
93
118
  Close = "Close",
94
119
  SystemNotifications = "SystemNotifications"
95
120
  }
121
+ /**
122
+ * @public
123
+ */
96
124
  export declare enum NavigationItemMode {
97
125
  SystemBackArrow = "SystemBackArrow",
98
126
  CustomBackArrow = "CustomBackArrow",
99
127
  NoItem = "NoItem",
100
128
  UserProfile = "UserProfile"
101
129
  }
130
+ /**
131
+ * @public
132
+ */
102
133
  export interface HeaderMenuItem {
103
134
  id: string;
104
135
  icon: HeaderMenuIcon;
105
136
  badge?: string;
106
137
  }
138
+ /**
139
+ * @public
140
+ */
107
141
  export interface UserStepsPerDay {
108
142
  date: string;
109
143
  steps: number;
110
144
  }
145
+ /**
146
+ * @public
147
+ */
111
148
  export interface UserStepInfoResponse {
112
149
  steps: UserStepsPerDay[];
113
150
  }
@@ -118,7 +155,13 @@ export interface UserStepInfoResponse {
118
155
  * - `failed` — The operation failed.
119
156
  */
120
157
  type ResponseType = 'success' | 'failed';
158
+ /**
159
+ * @public
160
+ */
121
161
  type BiometryResponse = ResponseType | 'unavailable' | 'cancelled';
162
+ /**
163
+ * @public
164
+ */
122
165
  export interface PassportDataResponse {
123
166
  documentNumber: string;
124
167
  dateOfBirth: string;
@@ -135,6 +178,9 @@ interface BridgeStorage {
135
178
  getItem: GetItemType;
136
179
  clear: ClearType;
137
180
  }
181
+ /**
182
+ * @public
183
+ */
138
184
  export interface AituBridge {
139
185
  version: string;
140
186
  invoke: BridgeInvoke<EInvokeRequest, ResponseObject>;
@@ -189,7 +235,7 @@ export interface AituBridge {
189
235
  * Establishes a real-time subscription that listens for step count changes
190
236
  * from the underlying health data provider. The promise resolves once the
191
237
  * subscription request has been processed. To stop receiving updates, call
192
- * {@link unsubscribeUserStepInfo}.
238
+ * {@link AituBridge.unsubscribeUserStepInfo}.
193
239
  *
194
240
  * @returns A promise that resolves with a `ResponseType` indicating
195
241
  * whether the subscription was successfully created.
@@ -199,7 +245,7 @@ export interface AituBridge {
199
245
  * Unsubscribes from user step updates from HealthKit/Google Fit.
200
246
  *
201
247
  * Stops the active step-count subscription created by
202
- * {@link subscribeUserStepInfo}. Once unsubscribed, no further step updates
248
+ * {@link AituBridge.subscribeUserStepInfo}. Once unsubscribed, no further step updates
203
249
  * will be delivered.
204
250
  *
205
251
  * @returns A promise that resolves with a `ResponseType` indicating
@@ -227,7 +273,7 @@ export interface AituBridge {
227
273
  * @returns A promise resolving to a `PassportDataResponse` containing the decoded
228
274
  * data groups read from the passport’s NFC chip.
229
275
  *
230
- * @throws {NFCPassportError} When an NFC passport operation fails. Possible codes:
276
+ * @throws {@link NFCPassportError} When an NFC passport operation fails. Possible codes:
231
277
  * - `nfc_passport_mismatch` — Passport does not match the provided MRZ values.
232
278
  * - `nfc_document_read_failure` — General failure to read the document.
233
279
  * - `nfc_session_timeout` — NFC session timed out before completion.
@@ -236,5 +282,9 @@ export interface AituBridge {
236
282
  */
237
283
  readNFCPassport: (passportNumber: string, dateOfBirth: string, expirationDate: string) => Promise<PassportDataResponse>;
238
284
  }
285
+ /**
286
+ * @public
287
+ */
239
288
  declare const bridge: AituBridge;
240
289
  export default bridge;
290
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- function e(){return e=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var o=arguments[n];for(var t in o)({}).hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e},e.apply(null,arguments)}function n(e){var n=function(e){return void 0===e&&(e="m:"),{current:0,next:function(){return e+ ++this.current}}}(e),o={};return{add:function(e,t){void 0===t&&(t="");var r=t+n.next();return o[r]=e,r},resolve:function(e,n,t,r){var i=o[e];i&&(t(r)?i.resolve(n):i.reject(r),o[e]=null)}}}function o(e,n){e(function(e){if(e.detail&&"reqId"in e.detail){var o=e.detail,t=o.reqId;t&&n.resolve(t,o.data,function(e){return!e},o.error)}})}function t(e,t,r){var i=n(t+":");return o(r,i),function(){var n=arguments;return new Promise(function(o,t){var r=i.add({resolve:o,reject:t});e.apply(void 0,[r].concat([].slice.call(n)))})}}var r=new URLSearchParams(window.location.search).get("__aitu-domain");r?localStorage.setItem("mini-app-domain",r):r=localStorage.getItem("mini-app-domain");var i=null;r&&(i={origin:r,execute:function(e,n){window.top.postMessage({source:"aitu-bridge",method:e,reqId:n,payload:[].concat([].slice.call(arguments,2))},i.origin)}},window.addEventListener("message",function(e){if(e.origin===r&&e.data){if(window.dispatchEvent(new CustomEvent("aituEvents",{detail:e.data})),"string"!=typeof e.data||""===e.data)return;try{var n=JSON.parse(e.data);n&&n.method&&("setCustomBackArrowOnClickHandler"===n.method?window.onAituBridgeBackArrowClick():"setHeaderMenuItemClickHandler"===n.method&&window.onAituBridgeHeaderMenuItemClick(n.param))}catch(e){console.log("Error parsing message data: "+e)}}}));var s,a,d,c,u=i;exports.BridgeErrors=void 0,(s=exports.BridgeErrors||(exports.BridgeErrors={}))[s.PermissionDenyError=0]="PermissionDenyError",s[s.PermissionSecurityDenyError=1]="PermissionSecurityDenyError",s[s.OtherError=2]="OtherError",function(e){e.getMe="GetMe",e.getPhone="GetPhone",e.getContacts="GetContacts",e.getUserProfile="GetUserProfile",e.enableNotifications="AllowNotifications",e.disableNotifications="DisableNotifications",e.enablePrivateMessaging="EnablePrivateMessaging",e.disablePrivateMessaging="DisablePrivateMessaging"}(a||(a={})),exports.HeaderMenuIcon=void 0,(d=exports.HeaderMenuIcon||(exports.HeaderMenuIcon={})).Search="Search",d.ShoppingCart="ShoppingCart",d.Menu="Menu",d.Share="Share",d.Notifications="Notifications",d.Help="Help",d.Error="Error",d.Person="Person",d.Sort="Sort",d.Filter="Filter",d.Close="Close",d.SystemNotifications="SystemNotifications",exports.NavigationItemMode=void 0,(c=exports.NavigationItemMode||(exports.NavigationItemMode={})).SystemBackArrow="SystemBackArrow",c.CustomBackArrow="CustomBackArrow",c.NoItem="NoItem",c.UserProfile="UserProfile";var l="invoke",f="storage",p="getGeo",g="getQr",w="getSMSCode",m="selectContact",v="openSettings",k="closeApplication",y="share",M="setTitle",I="copyToClipboard",b="shareFile",S="setShakeHandler",C="vibrate",x="enableScreenCapture",h="disableScreenCapture",U="setTabActiveHandler",B="setHeaderMenuItems",P="setHeaderMenuItemClickHandler",A="setCustomBackArrowMode",N="getCustomBackArrowMode",E="setCustomBackArrowVisible",q="openPayment",H="setCustomBackArrowOnClickHandler",O="checkBiometry",D="openExternalUrl",T="enableSwipeBack",j="disableSwipeBack",F="setNavigationItemMode",G="getNavigationItemMode",J="getUserStepInfo",V="undefined"!=typeof window&&window.AndroidBridge,W="undefined"!=typeof window&&window.webkit&&window.webkit.messageHandlers,L="undefined"!=typeof window&&window.top!==window&&u,Q=function(){var r=[];"undefined"!=typeof window&&window.addEventListener("aituEvents",function(e){[].concat(r).map(function(n){return n.call(null,e)})});var i,s=function(e){r.push(e)},d=function(n,o){return t(function(t){var r=[].slice.call(arguments,1),i=!!W&&!!W[n],s=!(null==o||!o.isWebSupported||!L);V&&V[n]?V[n].apply(V,[t].concat(r)):i?W[n].postMessage(e({reqId:t},null==o||null==o.transformToObject?void 0:o.transformToObject(r))):s?L.execute.apply(L,[n,t].concat(r)):"undefined"!=typeof window&&console.log("--"+n+"-isUnknown")},n,s)},c=(o(s,i=n("invoke:")),function(e,n){return void 0===n&&(n={}),new Promise(function(o,t){!function(e,n,o){void 0===o&&(o={});var t=W&&W[l];V&&V[l]?V[l](e,n,JSON.stringify(o)):t?W[l].postMessage({reqId:e,method:n,data:o}):L?L.execute(l,e,n,o):"undefined"!=typeof window&&console.log("--invoke-isUnknown")}(i.add({resolve:o,reject:t},e+":"),e,n)})}),u=function(e,t){var r=n("storage:");return o(t,r),{setItem:function(n,o){return new Promise(function(t,i){var s=r.add({resolve:t,reject:i});e(s,"setItem",{keyName:n,keyValue:o})})},getItem:function(n){return new Promise(function(o,t){var i=r.add({resolve:o,reject:t});e(i,"getItem",{keyName:n})})},clear:function(){return new Promise(function(n,o){var t=r.add({resolve:n,reject:o});e(t,"clear",{})})}}}(function(e,n,o){void 0===o&&(o={});var t=W&&W[f];V&&V[f]?V[f](e,n,JSON.stringify(o)):t?W[f].postMessage({reqId:e,method:n,data:o}):L?L.execute(f,e,n,o):"undefined"!=typeof window&&console.log("--storage-isUnknown")},s),Q=t(function(e){var n=W&&W[p];V&&V[p]?V[p](e):n?W[p].postMessage({reqId:e}):L?L.execute(p,e):"undefined"!=typeof window&&console.log("--getGeo-isUnknown")},p,s),_=t(function(e){var n=W&&W[g];V&&V[g]?V[g](e):n?W[g].postMessage({reqId:e}):L?L.execute(g,e):"undefined"!=typeof window&&console.log("--getQr-isUnknown")},g,s),R=t(function(e){var n=W&&W[w];V&&V[w]?V[w](e):n?W[w].postMessage({reqId:e}):L?L.execute(w,e):"undefined"!=typeof window&&console.log("--getSMSCode-isUnknown")},w,s),z=t(function(e){var n=W&&W[m];V&&V[m]?V[m](e):n?W[m].postMessage({reqId:e}):L?L.execute(m,e):"undefined"!=typeof window&&console.log("--selectContact-isUnknown")},m,s),K=t(function(e){var n=W&&W[v];V&&V[v]?V[v](e):n?W[v].postMessage({reqId:e}):L?L.execute(v,e):"undefined"!=typeof window&&console.log("--openSettings-isUnknown")},v,s),X=t(function(e){var n=W&&W[k];V&&V[k]?V[k](e):n?W[k].postMessage({reqId:e}):L?L.execute(k,e):"undefined"!=typeof window&&console.log("--closeApplication-isUnknown")},k,s),Y=t(function(e,n){var o=W&&W[y];V&&V[y]?V[y](e,n):o?W[y].postMessage({reqId:e,text:n}):L?L.execute(y,e,n):"undefined"!=typeof window&&console.log("--share-isUnknown")},y,s),Z=t(function(e,n){var o=W&&W[M];V&&V[M]?V[M](e,n):o?W[M].postMessage({reqId:e,text:n}):L?L.execute(M,e,n):"undefined"!=typeof window&&console.log("--setTitle-isUnknown")},M,s),$=t(function(e,n){var o=W&&W[I];V&&V[I]?V[I](e,n):o?W[I].postMessage({reqId:e,text:n}):L?L.execute(I,e,n):"undefined"!=typeof window&&console.log("--copyToClipboard-isUnknown")},I,s),ee=t(function(e,n,o){var t=V&&V[b],r=W&&W[b],i="image."+o.split(";")[0].split("/")[1],s=o.substr(o.indexOf(",")+1);t?V[b](e,n,i,s):r?W[b].postMessage({reqId:e,text:n,filename:i,base64Data:s}):L?L.execute(b,e,{text:n,filename:i,base64Data:s}):"undefined"!=typeof window&&console.log("--shareFile-isUnknown")},"shareImage",s),ne=t(function(e,n,o,t){var r=W&&W[b];V&&V[b]?V[b](e,n,o,t):r?W[b].postMessage({reqId:e,text:n,filename:o,base64Data:t}):L?L.execute(b,e,n,o,t):"undefined"!=typeof window&&console.log("--shareFile-isUnknown")},b,s),oe=t(function(e,n){if(!Array.isArray(n)||n.some(function(e){return e<1||e!==Math.floor(e)})||n.reduce(function(e,n){return e+n})>1e4)console.error("Pattern should be an array of positive integers no longer than 10000ms total");else{var o=W&&W[C];V&&V[C]?V[C](e,JSON.stringify(n)):o?W[C].postMessage({reqId:e,pattern:n}):L?L.execute(C,e,n):"undefined"!=typeof window&&console.log("--vibrate-isUnknown")}},C,s),te=t(function(e){var n=W&&W[x];V&&V[x]?V[x](e):n?W[x].postMessage({reqId:e}):L?L.execute(x,e):"undefined"!=typeof window&&console.log("--enableScreenCapture-isUnknown")},x,s),re=t(function(e){var n=W&&W[h];V&&V[h]?V[h](e):n?W[h].postMessage({reqId:e}):L?L.execute(h,e):"undefined"!=typeof window&&console.log("--disableScreenCapture-isUnknown")},h,s),ie=t(function(e,n){if(n.length>3)console.error("SetHeaderMenuItems: items count should not be more than 3");else{var o=V&&V[B],t=W&&W[B],r=JSON.stringify(n);o?V[B](e,r):t?W[B].postMessage({reqId:e,itemsJsonArray:r}):L?L.execute(B,e,r):"undefined"!=typeof window&&console.log("--setHeaderMenuItems-isUnknown")}},B,s),se=t(function(e,n){var o=W&&W[A];V&&V[A]?V[A](e,n):o?W[A].postMessage({reqId:e,enabled:n}):L?L.execute(A,e,n):"undefined"!=typeof window&&console.log("--setCustomBackArrowMode-isUnknown")},A,s),ae=t(function(e){var n=W&&W[N];V&&V[N]?V[N](e):n?W[N].postMessage({reqId:e}):L?L.execute(N,e):"undefined"!=typeof window&&console.log("--getCustomBackArrowMode-isUnknown")},N,s),de=t(function(e,n){var o=W&&W[E];V&&V[E]?V[E](e,n):o?W[E].postMessage({reqId:e,visible:n}):L?L.execute(E,e,n):"undefined"!=typeof window&&console.log("--setCustomBackArrowVisible-isUnknown")},E,s),ce=t(function(e,n){var o=W&&W[q];V&&V[q]?V[q](e,n):o?W[q].postMessage({reqId:e,transactionId:n}):console.log("--openPayment-isUnknown")},q,s),ue=t(function(e){var n=W&&W[O];V&&V[O]?V[O](e):n?W[O].postMessage({reqId:e}):L?L.execute(O,e):"undefined"!=typeof window&&console.log("--checkBiometry-isUnknown")},O,s),le=t(function(e,n){var o=W&&W[D];V&&V[D]?V[D](e,n):o?W[D].postMessage({reqId:e,url:n}):console.log("--openExternalUrlMethod-isUnknown")},D,s),fe=t(function(e){var n=W&&W[T];V&&V[T]?V[T](e):n?W[T].postMessage({reqId:e}):L?L.execute(T,e):"undefined"!=typeof window&&console.log("--enableSwipeBack-isUnknown")},T,s),pe=t(function(e){var n=W&&W[j];V&&V[j]?V[j](e):n?W[j].postMessage({reqId:e}):L?L.execute(j,e):"undefined"!=typeof window&&console.log("--disableSwipeBack-isUnknown")},j,s),ge=t(function(e,n){var o=W&&W[F];V&&V[F]?V[F](e,n):o?W[F].postMessage({reqId:e,mode:n}):L?L.execute(F,e,n):"undefined"!=typeof window&&console.log("--setNavigationItemMode-isUnknown")},F,s),we=t(function(e){var n=W&&W[G];V&&V[G]?V[G](e):n?W[G].postMessage({reqId:e}):L?L.execute(G,e):"undefined"!=typeof window&&console.log("--getNavigationItemMode-isUnknown")},G,s),me=t(function(e){var n=W&&W[J];V&&V[J]?V[J](e):n?W[J].postMessage({reqId:e}):L?console.log("--getUserStepInfo-isWeb"):"undefined"!=typeof window&&console.log("--getUserStepInfo-isUnknown")},J,s),ve=d("isESimSupported"),ke=d("activateESim",{transformToObject:function(e){return{activationCode:e[0]}}}),ye=d("readNFCData"),Me=d("readNFCPassport",{transformToObject:function(e){return{passportNumber:e[0],dateOfBirth:e[1],expirationDate:e[2]}}}),Ie=d("subscribeUserStepInfo"),be=d("unsubscribeUserStepInfo");return{version:"0.7.2-canary.0",copyToClipboard:$,invoke:c,storage:u,getMe:function(){return c(a.getMe)},getPhone:function(){return c(a.getPhone)},getContacts:function(){return c(a.getContacts)},getGeo:Q,getQr:_,getSMSCode:R,getUserProfile:function(e){return c(a.getUserProfile,{id:e})},selectContact:z,enableNotifications:function(){return c(a.enableNotifications)},disableNotifications:function(){return c(a.disableNotifications)},enablePrivateMessaging:function(e){return c(a.enablePrivateMessaging,{appId:e})},disablePrivateMessaging:function(e){return c(a.disablePrivateMessaging,{appId:e})},openSettings:K,closeApplication:X,setTitle:Z,share:Y,shareImage:ee,shareFile:ne,setShakeHandler:function(e){V&&V[S]||W&&W[S]||L?window.onAituBridgeShake=e:"undefined"!=typeof window&&console.log("--setShakeHandler-isUnknown")},setTabActiveHandler:function(e){V&&V[U]||W&&W[U]||L?window.onAituBridgeTabActive=e:"undefined"!=typeof window&&console.log("--setTabActiveHandler-isUnknown")},vibrate:oe,isSupported:function(){var e=W&&window.webkit.messageHandlers.invoke;return Boolean(V||e||L)},supports:function(e){return V&&"function"==typeof V[e]||W&&W[e]&&"function"==typeof W[e].postMessage||L&&"function"==typeof L[e]},sub:s,enableScreenCapture:te,disableScreenCapture:re,setHeaderMenuItems:ie,setHeaderMenuItemClickHandler:function(e){V&&V[P]||W&&W[P]||L?window.onAituBridgeHeaderMenuItemClick=e:"undefined"!=typeof window&&console.log("--setHeaderMenuItemClickHandler-isUnknown")},setCustomBackArrowMode:se,getCustomBackArrowMode:ae,setCustomBackArrowVisible:de,openPayment:ce,setCustomBackArrowOnClickHandler:function(e){V&&V[H]||W&&W[H]||L?window.onAituBridgeBackArrowClick=e:"undefined"!=typeof window&&console.log("--setCustomBackArrowOnClickHandler-isUnknown")},checkBiometry:ue,openExternalUrl:le,enableSwipeBack:fe,disableSwipeBack:pe,setNavigationItemMode:ge,getNavigationItemMode:we,getUserStepInfo:me,isESimSupported:ve,activateESim:ke,readNFCData:ye,subscribeUserStepInfo:Ie,unsubscribeUserStepInfo:be,readNFCPassport:Me}}();exports.classifyBridgeError=function(e){if(e.msg){if(e.msg.startsWith("permission deny"))return exports.BridgeErrors.PermissionDenyError;if(e.msg.startsWith("permission security deny"))return exports.BridgeErrors.PermissionSecurityDenyError}return exports.BridgeErrors.OtherError},exports.default=Q;
1
+ function e(){return e=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var o=arguments[n];for(var t in o)({}).hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e},e.apply(null,arguments)}function n(e){var n=function(e){return void 0===e&&(e="m:"),{current:0,next:function(){return e+ ++this.current}}}(e),o={};return{add:function(e,t){void 0===t&&(t="");var r=t+n.next();return o[r]=e,r},resolve:function(e,n,t,r){var i=o[e];i&&(t(r)?i.resolve(n):i.reject(r),o[e]=null)}}}function o(e,n){e(function(e){if(e.detail&&"reqId"in e.detail){var o=e.detail,t=o.reqId;t&&n.resolve(t,o.data,function(e){return!e},o.error)}})}function t(e,t,r){var i=n(t+":");return o(r,i),function(){var n=arguments;return new Promise(function(o,t){var r=i.add({resolve:o,reject:t});e.apply(void 0,[r].concat([].slice.call(n)))})}}var r=new URLSearchParams(window.location.search).get("__aitu-domain");r?localStorage.setItem("mini-app-domain",r):r=localStorage.getItem("mini-app-domain");var i=null;r&&(i={origin:r,execute:function(e,n){window.top.postMessage({source:"aitu-bridge",method:e,reqId:n,payload:[].concat([].slice.call(arguments,2))},i.origin)}},window.addEventListener("message",function(e){if(e.origin===r&&e.data){if(window.dispatchEvent(new CustomEvent("aituEvents",{detail:e.data})),"string"!=typeof e.data||""===e.data)return;try{var n=JSON.parse(e.data);n&&n.method&&("setCustomBackArrowOnClickHandler"===n.method?window.onAituBridgeBackArrowClick():"setHeaderMenuItemClickHandler"===n.method&&window.onAituBridgeHeaderMenuItemClick(n.param))}catch(e){console.log("Error parsing message data: "+e)}}}));var s,a,d,c,u=i;exports.BridgeErrors=void 0,(s=exports.BridgeErrors||(exports.BridgeErrors={}))[s.PermissionDenyError=0]="PermissionDenyError",s[s.PermissionSecurityDenyError=1]="PermissionSecurityDenyError",s[s.OtherError=2]="OtherError",function(e){e.getMe="GetMe",e.getPhone="GetPhone",e.getContacts="GetContacts",e.getUserProfile="GetUserProfile",e.enableNotifications="AllowNotifications",e.disableNotifications="DisableNotifications",e.enablePrivateMessaging="EnablePrivateMessaging",e.disablePrivateMessaging="DisablePrivateMessaging"}(a||(a={})),exports.HeaderMenuIcon=void 0,(d=exports.HeaderMenuIcon||(exports.HeaderMenuIcon={})).Search="Search",d.ShoppingCart="ShoppingCart",d.Menu="Menu",d.Share="Share",d.Notifications="Notifications",d.Help="Help",d.Error="Error",d.Person="Person",d.Sort="Sort",d.Filter="Filter",d.Close="Close",d.SystemNotifications="SystemNotifications",exports.NavigationItemMode=void 0,(c=exports.NavigationItemMode||(exports.NavigationItemMode={})).SystemBackArrow="SystemBackArrow",c.CustomBackArrow="CustomBackArrow",c.NoItem="NoItem",c.UserProfile="UserProfile";var l="invoke",f="storage",p="getGeo",g="getQr",w="getSMSCode",m="selectContact",v="openSettings",k="closeApplication",y="share",M="setTitle",I="copyToClipboard",b="shareFile",S="setShakeHandler",C="vibrate",x="enableScreenCapture",h="disableScreenCapture",U="setTabActiveHandler",B="setHeaderMenuItems",P="setHeaderMenuItemClickHandler",A="setCustomBackArrowMode",N="getCustomBackArrowMode",E="setCustomBackArrowVisible",q="openPayment",H="setCustomBackArrowOnClickHandler",O="checkBiometry",D="openExternalUrl",T="enableSwipeBack",j="disableSwipeBack",F="setNavigationItemMode",G="getNavigationItemMode",J="getUserStepInfo",V="undefined"!=typeof window&&window.AndroidBridge,W="undefined"!=typeof window&&window.webkit&&window.webkit.messageHandlers,L="undefined"!=typeof window&&window.top!==window&&u,Q=function(){var r=[];"undefined"!=typeof window&&window.addEventListener("aituEvents",function(e){[].concat(r).map(function(n){return n.call(null,e)})});var i,s=function(e){r.push(e)},d=function(n,o){return t(function(t){var r=[].slice.call(arguments,1),i=!!W&&!!W[n],s=!(null==o||!o.isWebSupported||!L);V&&V[n]?V[n].apply(V,[t].concat(r)):i?W[n].postMessage(e({reqId:t},null==o||null==o.transformToObject?void 0:o.transformToObject(r))):s?L.execute.apply(L,[n,t].concat(r)):"undefined"!=typeof window&&console.log("--"+n+"-isUnknown")},n,s)},c=(o(s,i=n("invoke:")),function(e,n){return void 0===n&&(n={}),new Promise(function(o,t){!function(e,n,o){void 0===o&&(o={});var t=W&&W[l];V&&V[l]?V[l](e,n,JSON.stringify(o)):t?W[l].postMessage({reqId:e,method:n,data:o}):L?L.execute(l,e,n,o):"undefined"!=typeof window&&console.log("--invoke-isUnknown")}(i.add({resolve:o,reject:t},e+":"),e,n)})}),u=function(e,t){var r=n("storage:");return o(t,r),{setItem:function(n,o){return new Promise(function(t,i){var s=r.add({resolve:t,reject:i});e(s,"setItem",{keyName:n,keyValue:o})})},getItem:function(n){return new Promise(function(o,t){var i=r.add({resolve:o,reject:t});e(i,"getItem",{keyName:n})})},clear:function(){return new Promise(function(n,o){var t=r.add({resolve:n,reject:o});e(t,"clear",{})})}}}(function(e,n,o){void 0===o&&(o={});var t=W&&W[f];V&&V[f]?V[f](e,n,JSON.stringify(o)):t?W[f].postMessage({reqId:e,method:n,data:o}):L?L.execute(f,e,n,o):"undefined"!=typeof window&&console.log("--storage-isUnknown")},s),Q=t(function(e){var n=W&&W[p];V&&V[p]?V[p](e):n?W[p].postMessage({reqId:e}):L?L.execute(p,e):"undefined"!=typeof window&&console.log("--getGeo-isUnknown")},p,s),_=t(function(e){var n=W&&W[g];V&&V[g]?V[g](e):n?W[g].postMessage({reqId:e}):L?L.execute(g,e):"undefined"!=typeof window&&console.log("--getQr-isUnknown")},g,s),R=t(function(e){var n=W&&W[w];V&&V[w]?V[w](e):n?W[w].postMessage({reqId:e}):L?L.execute(w,e):"undefined"!=typeof window&&console.log("--getSMSCode-isUnknown")},w,s),z=t(function(e){var n=W&&W[m];V&&V[m]?V[m](e):n?W[m].postMessage({reqId:e}):L?L.execute(m,e):"undefined"!=typeof window&&console.log("--selectContact-isUnknown")},m,s),K=t(function(e){var n=W&&W[v];V&&V[v]?V[v](e):n?W[v].postMessage({reqId:e}):L?L.execute(v,e):"undefined"!=typeof window&&console.log("--openSettings-isUnknown")},v,s),X=t(function(e){var n=W&&W[k];V&&V[k]?V[k](e):n?W[k].postMessage({reqId:e}):L?L.execute(k,e):"undefined"!=typeof window&&console.log("--closeApplication-isUnknown")},k,s),Y=t(function(e,n){var o=W&&W[y];V&&V[y]?V[y](e,n):o?W[y].postMessage({reqId:e,text:n}):L?L.execute(y,e,n):"undefined"!=typeof window&&console.log("--share-isUnknown")},y,s),Z=t(function(e,n){var o=W&&W[M];V&&V[M]?V[M](e,n):o?W[M].postMessage({reqId:e,text:n}):L?L.execute(M,e,n):"undefined"!=typeof window&&console.log("--setTitle-isUnknown")},M,s),$=t(function(e,n){var o=W&&W[I];V&&V[I]?V[I](e,n):o?W[I].postMessage({reqId:e,text:n}):L?L.execute(I,e,n):"undefined"!=typeof window&&console.log("--copyToClipboard-isUnknown")},I,s),ee=t(function(e,n,o){var t=V&&V[b],r=W&&W[b],i="image."+o.split(";")[0].split("/")[1],s=o.substr(o.indexOf(",")+1);t?V[b](e,n,i,s):r?W[b].postMessage({reqId:e,text:n,filename:i,base64Data:s}):L?L.execute(b,e,{text:n,filename:i,base64Data:s}):"undefined"!=typeof window&&console.log("--shareFile-isUnknown")},"shareImage",s),ne=t(function(e,n,o,t){var r=W&&W[b];V&&V[b]?V[b](e,n,o,t):r?W[b].postMessage({reqId:e,text:n,filename:o,base64Data:t}):L?L.execute(b,e,n,o,t):"undefined"!=typeof window&&console.log("--shareFile-isUnknown")},b,s),oe=t(function(e,n){if(!Array.isArray(n)||n.some(function(e){return e<1||e!==Math.floor(e)})||n.reduce(function(e,n){return e+n})>1e4)console.error("Pattern should be an array of positive integers no longer than 10000ms total");else{var o=W&&W[C];V&&V[C]?V[C](e,JSON.stringify(n)):o?W[C].postMessage({reqId:e,pattern:n}):L?L.execute(C,e,n):"undefined"!=typeof window&&console.log("--vibrate-isUnknown")}},C,s),te=t(function(e){var n=W&&W[x];V&&V[x]?V[x](e):n?W[x].postMessage({reqId:e}):L?L.execute(x,e):"undefined"!=typeof window&&console.log("--enableScreenCapture-isUnknown")},x,s),re=t(function(e){var n=W&&W[h];V&&V[h]?V[h](e):n?W[h].postMessage({reqId:e}):L?L.execute(h,e):"undefined"!=typeof window&&console.log("--disableScreenCapture-isUnknown")},h,s),ie=t(function(e,n){if(n.length>3)console.error("SetHeaderMenuItems: items count should not be more than 3");else{var o=V&&V[B],t=W&&W[B],r=JSON.stringify(n);o?V[B](e,r):t?W[B].postMessage({reqId:e,itemsJsonArray:r}):L?L.execute(B,e,r):"undefined"!=typeof window&&console.log("--setHeaderMenuItems-isUnknown")}},B,s),se=t(function(e,n){var o=W&&W[A];V&&V[A]?V[A](e,n):o?W[A].postMessage({reqId:e,enabled:n}):L?L.execute(A,e,n):"undefined"!=typeof window&&console.log("--setCustomBackArrowMode-isUnknown")},A,s),ae=t(function(e){var n=W&&W[N];V&&V[N]?V[N](e):n?W[N].postMessage({reqId:e}):L?L.execute(N,e):"undefined"!=typeof window&&console.log("--getCustomBackArrowMode-isUnknown")},N,s),de=t(function(e,n){var o=W&&W[E];V&&V[E]?V[E](e,n):o?W[E].postMessage({reqId:e,visible:n}):L?L.execute(E,e,n):"undefined"!=typeof window&&console.log("--setCustomBackArrowVisible-isUnknown")},E,s),ce=t(function(e,n){var o=W&&W[q];V&&V[q]?V[q](e,n):o?W[q].postMessage({reqId:e,transactionId:n}):console.log("--openPayment-isUnknown")},q,s),ue=t(function(e){var n=W&&W[O];V&&V[O]?V[O](e):n?W[O].postMessage({reqId:e}):L?L.execute(O,e):"undefined"!=typeof window&&console.log("--checkBiometry-isUnknown")},O,s),le=t(function(e,n){var o=W&&W[D];V&&V[D]?V[D](e,n):o?W[D].postMessage({reqId:e,url:n}):console.log("--openExternalUrlMethod-isUnknown")},D,s),fe=t(function(e){var n=W&&W[T];V&&V[T]?V[T](e):n?W[T].postMessage({reqId:e}):L?L.execute(T,e):"undefined"!=typeof window&&console.log("--enableSwipeBack-isUnknown")},T,s),pe=t(function(e){var n=W&&W[j];V&&V[j]?V[j](e):n?W[j].postMessage({reqId:e}):L?L.execute(j,e):"undefined"!=typeof window&&console.log("--disableSwipeBack-isUnknown")},j,s),ge=t(function(e,n){var o=W&&W[F];V&&V[F]?V[F](e,n):o?W[F].postMessage({reqId:e,mode:n}):L?L.execute(F,e,n):"undefined"!=typeof window&&console.log("--setNavigationItemMode-isUnknown")},F,s),we=t(function(e){var n=W&&W[G];V&&V[G]?V[G](e):n?W[G].postMessage({reqId:e}):L?L.execute(G,e):"undefined"!=typeof window&&console.log("--getNavigationItemMode-isUnknown")},G,s),me=t(function(e){var n=W&&W[J];V&&V[J]?V[J](e):n?W[J].postMessage({reqId:e}):L?console.log("--getUserStepInfo-isWeb"):"undefined"!=typeof window&&console.log("--getUserStepInfo-isUnknown")},J,s),ve=d("isESimSupported"),ke=d("activateESim",{transformToObject:function(e){return{activationCode:e[0]}}}),ye=d("readNFCData"),Me=d("readNFCPassport",{transformToObject:function(e){return{passportNumber:e[0],dateOfBirth:e[1],expirationDate:e[2]}}}),Ie=d("subscribeUserStepInfo"),be=d("unsubscribeUserStepInfo");return{version:"0.7.2-canary.1",copyToClipboard:$,invoke:c,storage:u,getMe:function(){return c(a.getMe)},getPhone:function(){return c(a.getPhone)},getContacts:function(){return c(a.getContacts)},getGeo:Q,getQr:_,getSMSCode:R,getUserProfile:function(e){return c(a.getUserProfile,{id:e})},selectContact:z,enableNotifications:function(){return c(a.enableNotifications)},disableNotifications:function(){return c(a.disableNotifications)},enablePrivateMessaging:function(e){return c(a.enablePrivateMessaging,{appId:e})},disablePrivateMessaging:function(e){return c(a.disablePrivateMessaging,{appId:e})},openSettings:K,closeApplication:X,setTitle:Z,share:Y,shareImage:ee,shareFile:ne,setShakeHandler:function(e){V&&V[S]||W&&W[S]||L?window.onAituBridgeShake=e:"undefined"!=typeof window&&console.log("--setShakeHandler-isUnknown")},setTabActiveHandler:function(e){V&&V[U]||W&&W[U]||L?window.onAituBridgeTabActive=e:"undefined"!=typeof window&&console.log("--setTabActiveHandler-isUnknown")},vibrate:oe,isSupported:function(){var e=W&&window.webkit.messageHandlers.invoke;return Boolean(V||e||L)},supports:function(e){return V&&"function"==typeof V[e]||W&&W[e]&&"function"==typeof W[e].postMessage||L&&"function"==typeof L[e]},sub:s,enableScreenCapture:te,disableScreenCapture:re,setHeaderMenuItems:ie,setHeaderMenuItemClickHandler:function(e){V&&V[P]||W&&W[P]||L?window.onAituBridgeHeaderMenuItemClick=e:"undefined"!=typeof window&&console.log("--setHeaderMenuItemClickHandler-isUnknown")},setCustomBackArrowMode:se,getCustomBackArrowMode:ae,setCustomBackArrowVisible:de,openPayment:ce,setCustomBackArrowOnClickHandler:function(e){V&&V[H]||W&&W[H]||L?window.onAituBridgeBackArrowClick=e:"undefined"!=typeof window&&console.log("--setCustomBackArrowOnClickHandler-isUnknown")},checkBiometry:ue,openExternalUrl:le,enableSwipeBack:fe,disableSwipeBack:pe,setNavigationItemMode:ge,getNavigationItemMode:we,getUserStepInfo:me,isESimSupported:ve,activateESim:ke,readNFCData:ye,subscribeUserStepInfo:Ie,unsubscribeUserStepInfo:be,readNFCPassport:Me}}();exports.classifyBridgeError=function(e){if(e.msg){if(e.msg.startsWith("permission deny"))return exports.BridgeErrors.PermissionDenyError;if(e.msg.startsWith("permission security deny"))return exports.BridgeErrors.PermissionSecurityDenyError}return exports.BridgeErrors.OtherError},exports.default=Q;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils.ts","../src/webBridge.ts","../src/error.ts","../src/index.ts"],"sourcesContent":["function createCounter(prefix = 'm:') {\n return {\n current: 0,\n next() {\n return prefix + ++this.current;\n },\n };\n}\n\nfunction createRequestResolver(prefix: string) {\n type PromiseController = {\n resolve: (value: any) => any;\n reject: (reason: any) => any;\n };\n\n const counter = createCounter(prefix);\n const promiseControllers: Record<string, PromiseController | null> = {};\n\n return {\n add(controller: PromiseController, customId = ''): number | string {\n const id = customId + counter.next()\n promiseControllers[id] = controller;\n return id;\n },\n\n resolve<T>(reqId: number | string, data: T, isSuccess: (data: T) => boolean, error: any) {\n const requestPromise = promiseControllers[reqId];\n\n if (requestPromise) {\n if (isSuccess(error)) {\n requestPromise.resolve(data);\n } else {\n requestPromise.reject(error);\n }\n\n promiseControllers[reqId] = null;\n }\n },\n };\n}\n\nfunction handleSubscribe(subscribe: (handler: (event: any) => void) => void, requestResolver: ReturnType<typeof createRequestResolver>) {\n subscribe(event => {\n if (!event.detail) {\n return;\n }\n\n if ('reqId' in event.detail) {\n const { reqId, data, error } = event.detail;\n\n if (reqId) {\n requestResolver.resolve(reqId, data, (error) => !(error), error);\n }\n }\n })\n}\n\nexport function promisifyStorage(storage, subscribe: (fn: any) => void) {\n const requestResolver = createRequestResolver('storage:');\n\n handleSubscribe(subscribe, requestResolver)\n\n return {\n setItem: (keyName: string, keyValue: string): Promise<void> => {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject });\n storage(reqId, 'setItem', { keyName, keyValue });\n });\n },\n getItem: (keyName: string): Promise<string | null> => {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject });\n storage(reqId, 'getItem', { keyName });\n });\n },\n clear: (): Promise<void> => {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject });\n storage(reqId, 'clear', {});\n });\n },\n }\n}\n\nexport function promisifyInvoke(invoke, subscribe: (fn: any) => void) {\n const requestResolver = createRequestResolver('invoke:');\n\n handleSubscribe(subscribe, requestResolver)\n\n return function promisifiedFunc(invokeMethodName: string, props: any = {}): Promise<any | void> {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject }, invokeMethodName + ':');\n\n invoke(reqId, invokeMethodName, props);\n });\n };\n}\n\nexport function promisifyMethod(method: Function, methodName: string, subscribe: (fn: any) => void) {\n const requestResolver = createRequestResolver(methodName + ':');\n\n handleSubscribe(subscribe, requestResolver)\n\n return function promisifiedFunc(...args: any[]): Promise<any | void> {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject });\n method(reqId, ...args);\n });\n };\n}\n\n\n\n","import type { AituBridge } from './index';\n\nconst AITU_DOMAIN_PARAM = '__aitu-domain'\n\nconst searchParams = new URLSearchParams(window.location.search)\n\nlet aituOrigin = searchParams.get(AITU_DOMAIN_PARAM)\n\nif(aituOrigin){\n localStorage.setItem('mini-app-domain', aituOrigin)\n}else{\n aituOrigin = localStorage.getItem('mini-app-domain')\n}\ninterface WebBridge {\n execute(method: keyof AituBridge, reqId: string, ...payload: any[] ): void\n origin: string\n}\n\nlet WebBridge: WebBridge | null = null\n\nif (aituOrigin) {\n WebBridge = {\n origin: aituOrigin,\n execute: (method, reqId, ...payload) => {\n window.top.postMessage({\n source: 'aitu-bridge',\n method,\n reqId,\n payload: [...payload],\n },\n WebBridge.origin\n )\n }\n\n }\n window.addEventListener('message', event => {\n if (event.origin === aituOrigin && event.data) {\n\n // dispatch aitu events\n window.dispatchEvent(new CustomEvent('aituEvents', { detail: event.data }));\n\n // try to detect handler call\n if (typeof event.data !== 'string' || event.data === '') {\n return;\n }\n\n try {\n const message = JSON.parse(event.data)\n\n if (message && message['method']) {\n if (message.method === 'setCustomBackArrowOnClickHandler') {\n (window as any).onAituBridgeBackArrowClick()\n } else if (message.method === 'setHeaderMenuItemClickHandler') {\n (window as any).onAituBridgeHeaderMenuItemClick(message.param)\n }\n }\n } catch (e) {\n console.log('Error parsing message data: ' + e);\n }\n }\n })\n}\n\nexport default WebBridge\n","export enum BridgeErrors {\n PermissionDenyError,\n PermissionSecurityDenyError,\n OtherError\n}\n\nexport const classifyBridgeError = (e: any): BridgeErrors => {\n const permissionDeny = \"permission deny\";\n const permissionSecurityDeny = \"permission security deny\";\n\n if (e.msg) {\n if (e.msg.startsWith(permissionDeny)) {\n return BridgeErrors.PermissionDenyError;\n } else if (e.msg.startsWith(permissionSecurityDeny)) {\n return BridgeErrors.PermissionSecurityDenyError\n }\n }\n return BridgeErrors.OtherError;\n}\n","import { promisifyMethod, promisifyStorage, promisifyInvoke } from './utils';\n\nimport WebBridge from './webBridge';\nexport * from './error';\n\ndeclare const VERSION: string;\n\nenum EInvokeRequest {\n getMe = 'GetMe',\n getPhone = 'GetPhone',\n getContacts = 'GetContacts',\n getUserProfile = 'GetUserProfile',\n enableNotifications = 'AllowNotifications',\n disableNotifications = 'DisableNotifications',\n enablePrivateMessaging = 'EnablePrivateMessaging',\n disablePrivateMessaging = 'DisablePrivateMessaging',\n}\n\ntype SetItemType = (keyName: string, keyValue: string) => Promise<void>;\ntype GetItemType = (keyName: string) => Promise<string | null>;\ntype ClearType = () => Promise<void>;\n\ntype HeaderMenuItemClickHandlerType = (id: string) => Promise<void>;\ntype BackArrowClickHandlerType = () => Promise<void>;\n\n/**\n * Represents an error that can occur during NFC passport operations.\n */\nexport interface NFCPassportError {\n /**\n * Error code indicating the type of NFC passport issue.\n *\n * - `nfc_passport_mismatch` — The passport does not match the requested parameters\n * (date of birth, passport number, expiration date).\n * - `nfc_document_read_failure` — Document reading error\n * (read errors, algorithm errors, unknown algorithms, other documents that are not passports, etc.).\n * - `nfc_session_timeout` — Session timeout: the document reading was not completed\n * in time (depends on the OS).\n * - `nfc_permission_denied` — The user denied NFC permission or the device has no NFC chip.\n * - `nfc_session_cancelled` — The user cancelled the NFC session (iOS).\n */\n code: 'nfc_passport_mismatch' | 'nfc_document_read_failure' | 'nfc_session_timeout' | 'nfc_permission_denied' | 'nfc_session_cancelled';\n\n /**\n * Human-readable error message describing the issue.\n */\n msg: string;\n};\n\nexport interface GetPhoneResponse {\n phone: string;\n sign: string;\n}\n\nexport interface GetMeResponse {\n name: string;\n lastname: string;\n id: string;\n avatar?: string;\n avatarThumb?: string;\n notifications_allowed: boolean;\n private_messaging_enabled: boolean;\n sign: string;\n}\n\nexport interface ResponseObject {\n phone?: string;\n name?: string;\n lastname?: string;\n}\n\nexport interface GetGeoResponse {\n latitude: number;\n longitude: number;\n}\n\nexport interface GetContactsResponse {\n contacts: Array<{\n first_name: string;\n last_name: string;\n phone: string;\n }>;\n sign: string;\n}\n\nexport interface SelectContactResponse {\n phone: string;\n name: string;\n lastname: string;\n}\n\nexport interface GetUserProfileResponse {\n name: string;\n lastname?: string;\n phone?: string;\n avatar?: string;\n avatarThumb?: string;\n}\n\nconst MAX_HEADER_MENU_ITEMS_COUNT = 3;\n\nexport enum HeaderMenuIcon {\n Search = 'Search',\n ShoppingCart = 'ShoppingCart',\n Menu = 'Menu',\n Share = 'Share',\n Notifications = 'Notifications',\n Help = 'Help',\n Error = 'Error',\n Person = 'Person',\n Sort = 'Sort',\n Filter = 'Filter',\n Close = 'Close',\n SystemNotifications = 'SystemNotifications',\n}\n\nexport enum NavigationItemMode {\n SystemBackArrow = 'SystemBackArrow',\n CustomBackArrow = 'CustomBackArrow',\n NoItem = 'NoItem',\n UserProfile = 'UserProfile',\n}\n\nexport interface HeaderMenuItem {\n id: string;\n icon: HeaderMenuIcon;\n badge?: string;\n}\n\nexport interface UserStepsPerDay {\n date: string;\n steps: number;\n}\n\nexport interface UserStepInfoResponse {\n steps: UserStepsPerDay[];\n}\n\n/**\n * Represents the status of a response.\n *\n * - `success` — The operation completed successfully.\n * - `failed` — The operation failed.\n */\ntype ResponseType = 'success' | 'failed';\n\ntype BiometryResponse = ResponseType | 'unavailable' | 'cancelled';\n\nexport interface PassportDataResponse {\n documentNumber: string;\n dateOfBirth: string;\n dateOfExpiry: string;\n firstName: string;\n lastName: string;\n gender: string;\n nationality: string;\n documentType: string;\n}\n\ntype BridgeInvoke<T extends EInvokeRequest, R> = (method: T, data?: {}) => Promise<R>;\n\ninterface BridgeStorage {\n setItem: SetItemType;\n getItem: GetItemType;\n clear: ClearType;\n}\n\nexport interface AituBridge {\n version: string;\n invoke: BridgeInvoke<EInvokeRequest, ResponseObject>;\n storage: BridgeStorage;\n getMe: () => Promise<GetMeResponse>;\n getPhone: () => Promise<GetPhoneResponse>;\n getContacts: () => Promise<GetContactsResponse>;\n getGeo: () => Promise<GetGeoResponse>;\n selectContact: () => Promise<SelectContactResponse>;\n getQr: () => Promise<string>;\n getSMSCode: () => Promise<string>;\n getUserProfile: (userId: string) => Promise<GetUserProfileResponse>;\n share: (text: string) => Promise<ResponseType>;\n setTitle: (text: string) => Promise<ResponseType>;\n copyToClipboard: (text: string) => Promise<ResponseType>;\n shareImage: (text: string, image: string) => Promise<ResponseType>;\n shareFile: (text: string, filename: string, base64Data: string) => Promise<ResponseType>;\n enableNotifications: () => Promise<{}>;\n disableNotifications: () => Promise<{}>;\n enablePrivateMessaging: (appId: string) => Promise<string>;\n disablePrivateMessaging: (appId: string) => Promise<string>;\n openSettings: () => Promise<ResponseType>;\n closeApplication: () => Promise<ResponseType>;\n setShakeHandler: (handler: any) => void;\n setTabActiveHandler: (handler: (tabname: string) => void) => void;\n vibrate: (pattern: number[]) => Promise<VibratePattern>;\n isSupported: () => boolean;\n supports: (method: string) => boolean;\n sub: any;\n enableScreenCapture: () => Promise<{}>;\n disableScreenCapture: () => Promise<{}>;\n setHeaderMenuItems: (items: Array<HeaderMenuItem>) => Promise<ResponseType>;\n setHeaderMenuItemClickHandler: (handler: HeaderMenuItemClickHandlerType) => void;\n setCustomBackArrowMode: (enabled: boolean) => Promise<ResponseType>;\n getCustomBackArrowMode: () => Promise<boolean>;\n setCustomBackArrowVisible: (visible: boolean) => Promise<ResponseType>;\n openPayment: (transactionId: string) => Promise<ResponseType>;\n setCustomBackArrowOnClickHandler: (handler: BackArrowClickHandlerType) => void;\n checkBiometry: () => Promise<BiometryResponse>;\n openExternalUrl: (url: string) => Promise<ResponseType>;\n enableSwipeBack: () => Promise<ResponseType>;\n disableSwipeBack: () => Promise<ResponseType>;\n setNavigationItemMode: (mode: NavigationItemMode) => Promise<void>;\n getNavigationItemMode: () => Promise<NavigationItemMode>;\n getUserStepInfo: () => Promise<UserStepInfoResponse>;\n isESimSupported: () => Promise<ResponseType>;\n activateESim: (activationCode: string) => Promise<ResponseType>;\n readNFCData: () => Promise<string>;\n /**\n * Subscribes to user step updates from HealthKit/Google Fit.\n *\n * Establishes a real-time subscription that listens for step count changes\n * from the underlying health data provider. The promise resolves once the\n * subscription request has been processed. To stop receiving updates, call\n * {@link unsubscribeUserStepInfo}.\n *\n * @returns A promise that resolves with a `ResponseType` indicating\n * whether the subscription was successfully created.\n */\n subscribeUserStepInfo: () => Promise<ResponseType>;\n /**\n * Unsubscribes from user step updates from HealthKit/Google Fit.\n *\n * Stops the active step-count subscription created by\n * {@link subscribeUserStepInfo}. Once unsubscribed, no further step updates\n * will be delivered.\n *\n * @returns A promise that resolves with a `ResponseType` indicating\n * whether the unsubscription was successful.\n */\n unsubscribeUserStepInfo: () => Promise<ResponseType>;\n /**\n * Reads data from the NFC chip of an ePassport using BAC (Basic Access Control).\n *\n * Initiates a BAC-protected NFC read operation on an ePassport. The caller must\n * provide the passport number, date of birth, and expiration date—values taken\n * from the machine-readable zone (MRZ). These values are used to derive the\n * cryptographic access keys required by BAC to open a secure session with the\n * passport’s NFC chip.\n *\n * Once BAC is successfully established, the function retrieves data groups\n * from the chip, typically including the holder’s biographical information\n * (DG1) and, if supported and permitted, biometric data such as the facial\n * image (DG2).\n *\n * @param passportNumber - Passport number taken from the MRZ.\n * @param dateOfBirth - Holder’s date of birth (MRZ format: YYMMDD).\n * @param expirationDate - Passport expiration date (MRZ format: YYMMDD).\n *\n * @returns A promise resolving to a `PassportDataResponse` containing the decoded\n * data groups read from the passport’s NFC chip.\n *\n * @throws {NFCPassportError} When an NFC passport operation fails. Possible codes:\n * - `nfc_passport_mismatch` — Passport does not match the provided MRZ values.\n * - `nfc_document_read_failure` — General failure to read the document.\n * - `nfc_session_timeout` — NFC session timed out before completion.\n * - `nfc_permission_denied` — NFC permission denied or NFC unavailable.\n * - `nfc_session_cancelled` — User cancelled the NFC session (iOS).\n */\n readNFCPassport: (passportNumber: string, dateOfBirth: string, expirationDate: string) => Promise<PassportDataResponse>;\n}\n\nconst invokeMethod = 'invoke';\nconst storageMethod = 'storage';\nconst getGeoMethod = 'getGeo';\nconst getQrMethod = 'getQr';\nconst getSMSCodeMethod = 'getSMSCode';\nconst selectContactMethod = 'selectContact';\nconst openSettingsMethod = 'openSettings';\nconst closeApplicationMethod = 'closeApplication';\nconst shareMethod = 'share';\nconst setTitleMethod = 'setTitle';\nconst copyToClipboardMethod = 'copyToClipboard';\nconst shareImageMethod = 'shareImage';\nconst shareFileMethod = 'shareFile';\nconst setShakeHandlerMethod = 'setShakeHandler';\nconst vibrateMethod = 'vibrate';\nconst enableScreenCaptureMethod = 'enableScreenCapture';\nconst disableScreenCaptureMethod = 'disableScreenCapture';\nconst setTabActiveHandlerMethod = 'setTabActiveHandler';\nconst setHeaderMenuItemsMethod = 'setHeaderMenuItems';\nconst setHeaderMenuItemClickHandlerMethod = 'setHeaderMenuItemClickHandler';\nconst setCustomBackArrowModeMethod = 'setCustomBackArrowMode';\nconst getCustomBackArrowModeMethod = 'getCustomBackArrowMode';\nconst setCustomBackArrowVisibleMethod = 'setCustomBackArrowVisible';\nconst openPaymentMethod = 'openPayment';\nconst setCustomBackArrowOnClickHandlerMethod = 'setCustomBackArrowOnClickHandler';\nconst checkBiometryMethod = 'checkBiometry';\nconst openExternalUrlMethod = 'openExternalUrl';\nconst enableSwipeBackMethod = 'enableSwipeBack';\nconst disableSwipeBackMethod = 'disableSwipeBack';\nconst setNavigationItemModeMethod = 'setNavigationItemMode';\nconst getNavigationItemModeMethod = 'getNavigationItemMode';\nconst getUserStepInfoMethod = 'getUserStepInfo';\n\nconst android = typeof window !== 'undefined' && (window as any).AndroidBridge;\nconst ios = typeof window !== 'undefined' && (window as any).webkit && (window as any).webkit.messageHandlers;\nconst web = typeof window !== 'undefined' && window.top !== window && WebBridge;\n\nconst buildBridge = (): AituBridge => {\n const subs = [];\n\n if (typeof window !== 'undefined') {\n window.addEventListener('aituEvents', (e: any) => {\n [...subs].map((fn) => fn.call(null, e));\n });\n }\n\n const invoke = (reqId, method, data = {}) => {\n const isAndroid = android && android[invokeMethod];\n const isIos = ios && ios[invokeMethod];\n\n if (isAndroid) {\n android[invokeMethod](reqId, method, JSON.stringify(data));\n } else if (isIos) {\n ios[invokeMethod].postMessage({ reqId, method, data });\n } else if (web) {\n web.execute(invokeMethod, reqId, method, data);\n } else if (typeof window !== 'undefined') {\n console.log('--invoke-isUnknown');\n }\n };\n\n const storage = (reqId, method, data = {}) => {\n const isAndroid = android && android[storageMethod];\n const isIos = ios && ios[storageMethod];\n\n if (isAndroid) {\n android[storageMethod](reqId, method, JSON.stringify(data));\n } else if (isIos) {\n ios[storageMethod].postMessage({ reqId, method, data });\n } else if (web) {\n web.execute(storageMethod, reqId, method, data);\n } else if (typeof window !== 'undefined') {\n console.log('--storage-isUnknown');\n }\n };\n\n const getGeo = (reqId) => {\n const isAndroid = android && android[getGeoMethod];\n const isIos = ios && ios[getGeoMethod];\n\n if (isAndroid) {\n android[getGeoMethod](reqId);\n } else if (isIos) {\n ios[getGeoMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getGeoMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getGeo-isUnknown');\n }\n };\n\n const getQr = (reqId) => {\n const isAndroid = android && android[getQrMethod];\n const isIos = ios && ios[getQrMethod];\n\n if (isAndroid) {\n android[getQrMethod](reqId);\n } else if (isIos) {\n ios[getQrMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getQrMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getQr-isUnknown');\n }\n };\n\n const getSMSCode = (reqId) => {\n const isAndroid = android && android[getSMSCodeMethod];\n const isIos = ios && ios[getSMSCodeMethod];\n\n if (isAndroid) {\n android[getSMSCodeMethod](reqId);\n } else if (isIos) {\n ios[getSMSCodeMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getSMSCodeMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getSMSCode-isUnknown');\n }\n };\n\n const selectContact = (reqId) => {\n const isAndroid = android && android[selectContactMethod];\n const isIos = ios && ios[selectContactMethod];\n\n if (isAndroid) {\n android[selectContactMethod](reqId);\n } else if (isIos) {\n ios[selectContactMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(selectContactMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--selectContact-isUnknown');\n }\n };\n\n const openSettings = (reqId) => {\n const isAndroid = android && android[openSettingsMethod];\n const isIos = ios && ios[openSettingsMethod];\n\n if (isAndroid) {\n android[openSettingsMethod](reqId);\n } else if (isIos) {\n ios[openSettingsMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(openSettingsMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--openSettings-isUnknown');\n }\n };\n\n const closeApplication = (reqId) => {\n const isAndroid = android && android[closeApplicationMethod];\n const isIos = ios && ios[closeApplicationMethod];\n\n if (isAndroid) {\n android[closeApplicationMethod](reqId);\n } else if (isIos) {\n ios[closeApplicationMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(closeApplicationMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--closeApplication-isUnknown');\n }\n };\n\n const share = (reqId, text) => {\n const isAndroid = android && android[shareMethod];\n const isIos = ios && ios[shareMethod];\n\n if (isAndroid) {\n android[shareMethod](reqId, text);\n } else if (isIos) {\n ios[shareMethod].postMessage({ reqId, text });\n } else if (web) {\n web.execute(shareMethod, reqId, text);\n } else if (typeof window !== 'undefined') {\n console.log('--share-isUnknown');\n }\n };\n\n const setTitle = (reqId, text) => {\n const isAndroid = android && android[setTitleMethod];\n const isIos = ios && ios[setTitleMethod];\n\n if (isAndroid) {\n android[setTitleMethod](reqId, text);\n } else if (isIos) {\n ios[setTitleMethod].postMessage({ reqId, text });\n } else if (web) {\n web.execute(setTitleMethod, reqId, text);\n } else if (typeof window !== 'undefined') {\n console.log('--setTitle-isUnknown');\n }\n };\n\n const copyToClipboard = (reqId, text) => {\n const isAndroid = android && android[copyToClipboardMethod];\n const isIos = ios && ios[copyToClipboardMethod];\n\n if (isAndroid) {\n android[copyToClipboardMethod](reqId, text);\n } else if (isIos) {\n ios[copyToClipboardMethod].postMessage({ reqId, text });\n } else if (web) {\n web.execute(copyToClipboardMethod, reqId, text);\n } else if (typeof window !== 'undefined') {\n console.log('--copyToClipboard-isUnknown');\n }\n };\n\n const enableScreenCapture = (reqId) => {\n const isAndroid = android && android[enableScreenCaptureMethod];\n const isIos = ios && ios[enableScreenCaptureMethod];\n\n if (isAndroid) {\n android[enableScreenCaptureMethod](reqId);\n } else if (isIos) {\n ios[enableScreenCaptureMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(enableScreenCaptureMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--enableScreenCapture-isUnknown');\n }\n };\n\n const disableScreenCapture = (reqId) => {\n const isAndroid = android && android[disableScreenCaptureMethod];\n const isIos = ios && ios[disableScreenCaptureMethod];\n\n if (isAndroid) {\n android[disableScreenCaptureMethod](reqId);\n } else if (isIos) {\n ios[disableScreenCaptureMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(disableScreenCaptureMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--disableScreenCapture-isUnknown');\n }\n };\n\n const shareImage = (reqId, text, image) => {\n // !!!======================!!!\n // !!!===== Deprecated =====!!!\n // !!!======================!!!\n\n // const isAndroid = android && android[shareImageMethod];\n // const isIos = ios && ios[shareImageMethod];\n\n // if (isAndroid) {\n // android[shareImageMethod](reqId, text, image);\n // } else if (isIos) {\n // ios[shareImageMethod].postMessage({ reqId, text, image });\n // } else if (typeof window !== 'undefined') {\n // console.log('--shareImage-isWeb');\n // }\n\n // new one - fallback to shareFile\n const isAndroid = android && android[shareFileMethod];\n const isIos = ios && ios[shareFileMethod];\n\n // get extension from base64 mime type and merge with name\n const ext = image.split(';')[0].split('/')[1];\n const filename = 'image.' + ext;\n // remove mime type\n const base64Data = image.substr(image.indexOf(',') + 1);\n\n if (isAndroid) {\n android[shareFileMethod](reqId, text, filename, base64Data);\n } else if (isIos) {\n ios[shareFileMethod].postMessage({ reqId, text, filename, base64Data });\n } else if (web) {\n web.execute(shareFileMethod, reqId, { text, filename, base64Data });\n } else if (typeof window !== 'undefined') {\n console.log('--shareFile-isUnknown');\n }\n };\n\n const shareFile = (reqId, text, filename, base64Data) => {\n const isAndroid = android && android[shareFileMethod];\n const isIos = ios && ios[shareFileMethod];\n\n if (isAndroid) {\n android[shareFileMethod](reqId, text, filename, base64Data);\n } else if (isIos) {\n ios[shareFileMethod].postMessage({ reqId, text, filename, base64Data });\n } else if (web) {\n web.execute(shareFileMethod, reqId, text, filename, base64Data);\n } else if (typeof window !== 'undefined') {\n console.log('--shareFile-isUnknown');\n }\n };\n\n const enableNotifications = () => invokePromise(EInvokeRequest.enableNotifications);\n\n const disableNotifications = () => invokePromise(EInvokeRequest.disableNotifications);\n\n const setShakeHandler = (handler) => {\n const isAndroid = android && android[setShakeHandlerMethod];\n const isIos = ios && ios[setShakeHandlerMethod];\n\n if (isAndroid || isIos || web) {\n (window as any).onAituBridgeShake = handler;\n } else if (typeof window !== 'undefined') {\n console.log('--setShakeHandler-isUnknown');\n }\n };\n\n const setTabActiveHandler = (handler: (tabname: string) => void) => {\n const isAndroid = android && android[setTabActiveHandlerMethod];\n const isIos = ios && ios[setTabActiveHandlerMethod];\n\n if (isAndroid || isIos || web) {\n (window as any).onAituBridgeTabActive = handler;\n } else if (typeof window !== 'undefined') {\n console.log('--setTabActiveHandler-isUnknown');\n }\n };\n\n const vibrate = (reqId, pattern) => {\n if (\n !Array.isArray(pattern) ||\n pattern.some((timing) => timing < 1 || timing !== Math.floor(timing)) ||\n pattern.reduce((total, timing) => total + timing) > 10000\n ) {\n console.error('Pattern should be an array of positive integers no longer than 10000ms total');\n return;\n }\n\n const isAndroid = android && android[vibrateMethod];\n const isIos = ios && ios[vibrateMethod];\n\n if (isAndroid) {\n android[vibrateMethod](reqId, JSON.stringify(pattern));\n } else if (isIos) {\n ios[vibrateMethod].postMessage({ reqId, pattern });\n } else if (web) {\n web.execute(vibrateMethod, reqId, pattern);\n } else if (typeof window !== 'undefined') {\n console.log('--vibrate-isUnknown');\n }\n };\n\n const isSupported = () => {\n const iosSup = ios && (window as any).webkit.messageHandlers.invoke;\n return Boolean(android || iosSup || web);\n };\n\n // TODO: implement web support\n const supports = (method) =>\n (android && typeof android[method] === 'function') ||\n (ios && ios[method] && typeof ios[method].postMessage === 'function') ||\n (web && typeof web[method] === 'function');\n\n const sub = (listener: any) => {\n subs.push(listener);\n };\n\n const createMethod = <Params extends unknown[], Result>(\n name: string,\n options?: {\n transformToObject?: (args: Params) => Record<string, Params[number]>;\n isWebSupported?: boolean;\n }\n ) => {\n const method = (reqId: string, ...args: Params) => {\n const isAndroid = !!android && !!android[name];\n const isIos = !!ios && !!ios[name];\n const isWeb = !!options?.isWebSupported && !!web;\n\n if (isAndroid) {\n android[name](reqId, ...args);\n } else if (isIos) {\n ios[name].postMessage({\n reqId,\n ...options?.transformToObject?.(args),\n });\n } else if (isWeb) {\n web.execute(name as unknown as keyof AituBridge, reqId, ...args);\n } else if (typeof window !== 'undefined') {\n console.log(`--${name}-isUnknown`);\n }\n };\n\n return promisifyMethod(method, name, sub) as (...args: Params) => Promise<Result>;\n };\n\n const setHeaderMenuItems = (reqId, items: Array<HeaderMenuItem>) => {\n if (items.length > MAX_HEADER_MENU_ITEMS_COUNT) {\n console.error('SetHeaderMenuItems: items count should not be more than ' + MAX_HEADER_MENU_ITEMS_COUNT);\n return;\n }\n\n const isAndroid = android && android[setHeaderMenuItemsMethod];\n const isIos = ios && ios[setHeaderMenuItemsMethod];\n\n const itemsJsonArray = JSON.stringify(items);\n\n if (isAndroid) {\n android[setHeaderMenuItemsMethod](reqId, itemsJsonArray);\n } else if (isIos) {\n ios[setHeaderMenuItemsMethod].postMessage({ reqId, itemsJsonArray });\n } else if (web) {\n web.execute(setHeaderMenuItemsMethod, reqId, itemsJsonArray);\n } else if (typeof window !== 'undefined') {\n console.log('--setHeaderMenuItems-isUnknown');\n }\n };\n\n const setHeaderMenuItemClickHandler = (handler: HeaderMenuItemClickHandlerType) => {\n const isAndroid = android && android[setHeaderMenuItemClickHandlerMethod];\n const isIos = ios && ios[setHeaderMenuItemClickHandlerMethod];\n\n if (isAndroid || isIos || web) {\n (window as any).onAituBridgeHeaderMenuItemClick = handler;\n } else if (typeof window !== 'undefined') {\n console.log('--setHeaderMenuItemClickHandler-isUnknown');\n }\n };\n\n /**\n * @deprecated данный метод не рекомендуется использовать\n * вместо него используйте setNavigationItemMode\n */\n const setCustomBackArrowMode = (reqId, enabled: boolean) => {\n const isAndroid = android && android[setCustomBackArrowModeMethod];\n const isIos = ios && ios[setCustomBackArrowModeMethod];\n\n if (isAndroid) {\n android[setCustomBackArrowModeMethod](reqId, enabled);\n } else if (isIos) {\n ios[setCustomBackArrowModeMethod].postMessage({ reqId, enabled });\n } else if (web) {\n web.execute(setCustomBackArrowModeMethod, reqId, enabled);\n } else if (typeof window !== 'undefined') {\n console.log('--setCustomBackArrowMode-isUnknown');\n }\n };\n\n /**\n * @deprecated данный метод не рекомендуется использовать\n * вместо него используйте getNavigationItemMode\n */\n const getCustomBackArrowMode = (reqId) => {\n const isAndroid = android && android[getCustomBackArrowModeMethod];\n const isIos = ios && ios[getCustomBackArrowModeMethod];\n\n if (isAndroid) {\n android[getCustomBackArrowModeMethod](reqId);\n } else if (isIos) {\n ios[getCustomBackArrowModeMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getCustomBackArrowModeMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getCustomBackArrowMode-isUnknown');\n }\n };\n\n /**\n * @deprecated данный метод не рекомендуется использовать\n * вместо него используйте setNavigationItemMode\n */\n const setCustomBackArrowVisible = (reqId, visible: boolean) => {\n const isAndroid = android && android[setCustomBackArrowVisibleMethod];\n const isIos = ios && ios[setCustomBackArrowVisibleMethod];\n\n if (isAndroid) {\n android[setCustomBackArrowVisibleMethod](reqId, visible);\n } else if (isIos) {\n ios[setCustomBackArrowVisibleMethod].postMessage({ reqId, visible });\n } else if (web) {\n web.execute(setCustomBackArrowVisibleMethod, reqId, visible);\n } else if (typeof window !== 'undefined') {\n console.log('--setCustomBackArrowVisible-isUnknown');\n }\n };\n\n const setCustomBackArrowOnClickHandler = (handler: BackArrowClickHandlerType) => {\n const isAndroid = android && android[setCustomBackArrowOnClickHandlerMethod];\n const isIos = ios && ios[setCustomBackArrowOnClickHandlerMethod];\n\n if (isAndroid || isIos || web) {\n (window as any).onAituBridgeBackArrowClick = handler;\n } else if (typeof window !== 'undefined') {\n console.log('--setCustomBackArrowOnClickHandler-isUnknown');\n }\n };\n\n const openPayment = (reqId, transactionId: string) => {\n const isAndroid = android && android[openPaymentMethod];\n const isIos = ios && ios[openPaymentMethod];\n\n if (isAndroid) {\n android[openPaymentMethod](reqId, transactionId);\n } else if (isIos) {\n ios[openPaymentMethod].postMessage({ reqId, transactionId });\n } else {\n console.log('--openPayment-isUnknown');\n }\n };\n\n const checkBiometry = (reqId) => {\n const isAndroid = android && android[checkBiometryMethod];\n const isIos = ios && ios[checkBiometryMethod];\n\n if (isAndroid) {\n android[checkBiometryMethod](reqId);\n } else if (isIos) {\n ios[checkBiometryMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(checkBiometryMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--checkBiometry-isUnknown');\n }\n };\n\n const openExternalUrl = (reqId, url: string) => {\n const isAndroid = android && android[openExternalUrlMethod];\n const isIos = ios && ios[openExternalUrlMethod];\n\n if (isAndroid) {\n android[openExternalUrlMethod](reqId, url);\n } else if (isIos) {\n ios[openExternalUrlMethod].postMessage({ reqId, url });\n } else {\n console.log('--openExternalUrlMethod-isUnknown');\n }\n };\n\n const enableSwipeBack = (reqId) => {\n const isAndroid = android && android[enableSwipeBackMethod];\n const isIos = ios && ios[enableSwipeBackMethod];\n\n if (isAndroid) {\n android[enableSwipeBackMethod](reqId);\n } else if (isIos) {\n ios[enableSwipeBackMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(enableSwipeBackMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--enableSwipeBack-isUnknown');\n }\n };\n\n const disableSwipeBack = (reqId) => {\n const isAndroid = android && android[disableSwipeBackMethod];\n const isIos = ios && ios[disableSwipeBackMethod];\n\n if (isAndroid) {\n android[disableSwipeBackMethod](reqId);\n } else if (isIos) {\n ios[disableSwipeBackMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(disableSwipeBackMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--disableSwipeBack-isUnknown');\n }\n };\n\n const setNavigationItemMode = (reqId, mode: NavigationItemMode) => {\n const isAndroid = android && android[setNavigationItemModeMethod];\n const isIos = ios && ios[setNavigationItemModeMethod];\n\n if (isAndroid) {\n android[setNavigationItemModeMethod](reqId, mode);\n } else if (isIos) {\n ios[setNavigationItemModeMethod].postMessage({ reqId, mode });\n } else if (web) {\n web.execute(setNavigationItemModeMethod, reqId, mode);\n } else if (typeof window !== 'undefined') {\n console.log('--setNavigationItemMode-isUnknown');\n }\n };\n\n const getNavigationItemMode = (reqId) => {\n const isAndroid = android && android[getNavigationItemModeMethod];\n const isIos = ios && ios[getNavigationItemModeMethod];\n\n if (isAndroid) {\n android[getNavigationItemModeMethod](reqId);\n } else if (isIos) {\n ios[getNavigationItemModeMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getNavigationItemModeMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getNavigationItemMode-isUnknown');\n }\n };\n\n const getUserStepInfo = (reqId) => {\n const isAndroid = android && android[getUserStepInfoMethod];\n const isIos = ios && ios[getUserStepInfoMethod];\n\n if (isAndroid) {\n android[getUserStepInfoMethod](reqId);\n } else if (isIos) {\n ios[getUserStepInfoMethod].postMessage({ reqId });\n } else if (web) {\n console.log('--getUserStepInfo-isWeb');\n } else if (typeof window !== 'undefined') {\n console.log('--getUserStepInfo-isUnknown');\n }\n };\n\n const invokePromise = promisifyInvoke(invoke, sub);\n const storagePromise = promisifyStorage(storage, sub);\n const getGeoPromise = promisifyMethod(getGeo, getGeoMethod, sub);\n const getQrPromise = promisifyMethod(getQr, getQrMethod, sub);\n const getSMSCodePromise = promisifyMethod(getSMSCode, getSMSCodeMethod, sub);\n const selectContactPromise = promisifyMethod(selectContact, selectContactMethod, sub);\n const openSettingsPromise = promisifyMethod(openSettings, openSettingsMethod, sub);\n const closeApplicationPromise = promisifyMethod(closeApplication, closeApplicationMethod, sub);\n const sharePromise = promisifyMethod(share, shareMethod, sub);\n const setTitlePromise = promisifyMethod(setTitle, setTitleMethod, sub);\n const copyToClipboardPromise = promisifyMethod(copyToClipboard, copyToClipboardMethod, sub);\n const shareImagePromise = promisifyMethod(shareImage, shareImageMethod, sub);\n const shareFilePromise = promisifyMethod(shareFile, shareFileMethod, sub);\n const vibratePromise = promisifyMethod(vibrate, vibrateMethod, sub);\n const enableScreenCapturePromise = promisifyMethod(enableScreenCapture, enableScreenCaptureMethod, sub);\n const disableScreenCapturePromise = promisifyMethod(disableScreenCapture, disableScreenCaptureMethod, sub);\n const setHeaderMenuItemsPromise = promisifyMethod(setHeaderMenuItems, setHeaderMenuItemsMethod, sub);\n const setCustomBackArrowModePromise = promisifyMethod(setCustomBackArrowMode, setCustomBackArrowModeMethod, sub);\n const getCustomBackArrowModePromise = promisifyMethod(getCustomBackArrowMode, getCustomBackArrowModeMethod, sub);\n const setCustomBackArrowVisiblePromise = promisifyMethod(setCustomBackArrowVisible, setCustomBackArrowVisibleMethod, sub);\n const openPaymentPromise = promisifyMethod(openPayment, openPaymentMethod, sub);\n const checkBiometryPromise = promisifyMethod(checkBiometry, checkBiometryMethod, sub);\n const openExternalUrlPromise = promisifyMethod(openExternalUrl, openExternalUrlMethod, sub);\n const enableSwipeBackPromise = promisifyMethod(enableSwipeBack, enableSwipeBackMethod, sub);\n const disableSwipeBackPromise = promisifyMethod(disableSwipeBack, disableSwipeBackMethod, sub);\n const setNavigationItemModePromise = promisifyMethod(setNavigationItemMode, setNavigationItemModeMethod, sub);\n const getNavigationItemModePromise = promisifyMethod(getNavigationItemMode, getNavigationItemModeMethod, sub);\n const getUserStepInfoPromise = promisifyMethod(getUserStepInfo, getUserStepInfoMethod, sub);\n const isESimSupported = createMethod<never, ResponseType>('isESimSupported');\n const activateESim = createMethod<[activationCode: string], ResponseType>('activateESim', {\n transformToObject: ([activationCode]) => ({\n activationCode,\n }),\n });\n const readNFCData = createMethod<never, string>('readNFCData');\n\n const readNFCPassport = createMethod<[passportNumber: string, dateOfBirth: string, expirationDate: string], PassportDataResponse>(\n 'readNFCPassport',\n {\n transformToObject: ([passportNumber, dateOfBirth, expirationDate]) => ({\n passportNumber,\n dateOfBirth,\n expirationDate,\n }),\n }\n );\n\n const subscribeUserStepInfo = createMethod<never, ResponseType>('subscribeUserStepInfo');\n\n const unsubscribeUserStepInfo = createMethod<never, ResponseType>('unsubscribeUserStepInfo');\n\n return {\n version: VERSION,\n copyToClipboard: copyToClipboardPromise,\n invoke: invokePromise,\n storage: storagePromise,\n getMe: () => invokePromise(EInvokeRequest.getMe),\n getPhone: () => invokePromise(EInvokeRequest.getPhone),\n getContacts: () => invokePromise(EInvokeRequest.getContacts),\n getGeo: getGeoPromise,\n getQr: getQrPromise,\n getSMSCode: getSMSCodePromise,\n getUserProfile: (id: string) => invokePromise(EInvokeRequest.getUserProfile, { id }),\n selectContact: selectContactPromise,\n enableNotifications,\n disableNotifications,\n enablePrivateMessaging: (appId: string) => invokePromise(EInvokeRequest.enablePrivateMessaging, { appId }),\n disablePrivateMessaging: (appId: string) => invokePromise(EInvokeRequest.disablePrivateMessaging, { appId }),\n openSettings: openSettingsPromise,\n closeApplication: closeApplicationPromise,\n setTitle: setTitlePromise,\n share: sharePromise,\n shareImage: shareImagePromise,\n shareFile: shareFilePromise,\n setShakeHandler,\n setTabActiveHandler,\n vibrate: vibratePromise,\n isSupported,\n supports,\n sub,\n enableScreenCapture: enableScreenCapturePromise,\n disableScreenCapture: disableScreenCapturePromise,\n setHeaderMenuItems: setHeaderMenuItemsPromise,\n setHeaderMenuItemClickHandler,\n setCustomBackArrowMode: setCustomBackArrowModePromise,\n getCustomBackArrowMode: getCustomBackArrowModePromise,\n setCustomBackArrowVisible: setCustomBackArrowVisiblePromise,\n openPayment: openPaymentPromise,\n setCustomBackArrowOnClickHandler,\n checkBiometry: checkBiometryPromise,\n openExternalUrl: openExternalUrlPromise,\n enableSwipeBack: enableSwipeBackPromise,\n disableSwipeBack: disableSwipeBackPromise,\n setNavigationItemMode: setNavigationItemModePromise,\n getNavigationItemMode: getNavigationItemModePromise,\n getUserStepInfo: getUserStepInfoPromise,\n isESimSupported,\n activateESim,\n readNFCData,\n subscribeUserStepInfo,\n unsubscribeUserStepInfo,\n readNFCPassport,\n };\n};\n\nconst bridge = buildBridge();\n\nexport default bridge;\n"],"names":["createRequestResolver","prefix","counter","current","next","this","createCounter","promiseControllers","add","controller","customId","id","resolve","reqId","data","isSuccess","error","requestPromise","reject","handleSubscribe","subscribe","requestResolver","event","detail","_event$detail","promisifyMethod","method","methodName","_arguments","arguments","Promise","apply","concat","slice","call","aituOrigin","URLSearchParams","window","location","search","get","localStorage","setItem","getItem","WebBridge","origin","execute","top","postMessage","source","payload","addEventListener","dispatchEvent","CustomEvent","message","JSON","parse","onAituBridgeBackArrowClick","onAituBridgeHeaderMenuItemClick","param","e","console","log","BridgeErrors","EInvokeRequest","HeaderMenuIcon","NavigationItemMode","invokeMethod","storageMethod","getGeoMethod","getQrMethod","getSMSCodeMethod","selectContactMethod","openSettingsMethod","closeApplicationMethod","shareMethod","setTitleMethod","copyToClipboardMethod","shareFileMethod","setShakeHandlerMethod","vibrateMethod","enableScreenCaptureMethod","disableScreenCaptureMethod","setTabActiveHandlerMethod","setHeaderMenuItemsMethod","setHeaderMenuItemClickHandlerMethod","setCustomBackArrowModeMethod","getCustomBackArrowModeMethod","setCustomBackArrowVisibleMethod","openPaymentMethod","setCustomBackArrowOnClickHandlerMethod","checkBiometryMethod","openExternalUrlMethod","enableSwipeBackMethod","disableSwipeBackMethod","setNavigationItemModeMethod","getNavigationItemModeMethod","getUserStepInfoMethod","android","AndroidBridge","ios","webkit","messageHandlers","web","bridge","subs","map","fn","sub","listener","push","createMethod","name","options","args","isIos","isWeb","isWebSupported","_extends","transformToObject","invokePromise","invokeMethodName","props","stringify","invoke","storagePromise","storage","keyName","keyValue","clear","promisifyStorage","getGeoPromise","getQrPromise","getSMSCodePromise","selectContactPromise","openSettingsPromise","closeApplicationPromise","sharePromise","text","setTitlePromise","copyToClipboardPromise","shareImagePromise","image","isAndroid","filename","split","base64Data","substr","indexOf","shareFilePromise","vibratePromise","pattern","Array","isArray","some","timing","Math","floor","reduce","total","enableScreenCapturePromise","disableScreenCapturePromise","setHeaderMenuItemsPromise","items","length","itemsJsonArray","setCustomBackArrowModePromise","enabled","getCustomBackArrowModePromise","setCustomBackArrowVisiblePromise","visible","openPaymentPromise","transactionId","checkBiometryPromise","openExternalUrlPromise","url","enableSwipeBackPromise","disableSwipeBackPromise","setNavigationItemModePromise","mode","getNavigationItemModePromise","getUserStepInfoPromise","isESimSupported","activateESim","_ref","activationCode","readNFCData","readNFCPassport","_ref2","passportNumber","dateOfBirth","expirationDate","subscribeUserStepInfo","unsubscribeUserStepInfo","version","copyToClipboard","getMe","getPhone","getContacts","getGeo","getQr","getSMSCode","getUserProfile","selectContact","enableNotifications","disableNotifications","enablePrivateMessaging","appId","disablePrivateMessaging","openSettings","closeApplication","setTitle","share","shareImage","shareFile","setShakeHandler","handler","onAituBridgeShake","setTabActiveHandler","onAituBridgeTabActive","vibrate","isSupported","iosSup","Boolean","supports","enableScreenCapture","disableScreenCapture","setHeaderMenuItems","setHeaderMenuItemClickHandler","setCustomBackArrowMode","getCustomBackArrowMode","setCustomBackArrowVisible","openPayment","setCustomBackArrowOnClickHandler","checkBiometry","openExternalUrl","enableSwipeBack","disableSwipeBack","setNavigationItemMode","getNavigationItemMode","getUserStepInfo","buildBridge","msg","startsWith","PermissionDenyError","PermissionSecurityDenyError","OtherError"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils.ts","../src/webBridge.ts","../src/error.ts","../src/index.ts"],"sourcesContent":["function createCounter(prefix = 'm:') {\n return {\n current: 0,\n next() {\n return prefix + ++this.current;\n },\n };\n}\n\nfunction createRequestResolver(prefix: string) {\n type PromiseController = {\n resolve: (value: any) => any;\n reject: (reason: any) => any;\n };\n\n const counter = createCounter(prefix);\n const promiseControllers: Record<string, PromiseController | null> = {};\n\n return {\n add(controller: PromiseController, customId = ''): number | string {\n const id = customId + counter.next()\n promiseControllers[id] = controller;\n return id;\n },\n\n resolve<T>(reqId: number | string, data: T, isSuccess: (data: T) => boolean, error: any) {\n const requestPromise = promiseControllers[reqId];\n\n if (requestPromise) {\n if (isSuccess(error)) {\n requestPromise.resolve(data);\n } else {\n requestPromise.reject(error);\n }\n\n promiseControllers[reqId] = null;\n }\n },\n };\n}\n\nfunction handleSubscribe(subscribe: (handler: (event: any) => void) => void, requestResolver: ReturnType<typeof createRequestResolver>) {\n subscribe(event => {\n if (!event.detail) {\n return;\n }\n\n if ('reqId' in event.detail) {\n const { reqId, data, error } = event.detail;\n\n if (reqId) {\n requestResolver.resolve(reqId, data, (error) => !(error), error);\n }\n }\n })\n}\n\nexport function promisifyStorage(storage, subscribe: (fn: any) => void) {\n const requestResolver = createRequestResolver('storage:');\n\n handleSubscribe(subscribe, requestResolver)\n\n return {\n setItem: (keyName: string, keyValue: string): Promise<void> => {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject });\n storage(reqId, 'setItem', { keyName, keyValue });\n });\n },\n getItem: (keyName: string): Promise<string | null> => {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject });\n storage(reqId, 'getItem', { keyName });\n });\n },\n clear: (): Promise<void> => {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject });\n storage(reqId, 'clear', {});\n });\n },\n }\n}\n\nexport function promisifyInvoke(invoke, subscribe: (fn: any) => void) {\n const requestResolver = createRequestResolver('invoke:');\n\n handleSubscribe(subscribe, requestResolver)\n\n return function promisifiedFunc(invokeMethodName: string, props: any = {}): Promise<any | void> {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject }, invokeMethodName + ':');\n\n invoke(reqId, invokeMethodName, props);\n });\n };\n}\n\nexport function promisifyMethod(method: Function, methodName: string, subscribe: (fn: any) => void) {\n const requestResolver = createRequestResolver(methodName + ':');\n\n handleSubscribe(subscribe, requestResolver)\n\n return function promisifiedFunc(...args: any[]): Promise<any | void> {\n return new Promise((resolve, reject) => {\n const reqId = requestResolver.add({ resolve, reject });\n method(reqId, ...args);\n });\n };\n}\n\n\n\n","import type { AituBridge } from './index';\n\nconst AITU_DOMAIN_PARAM = '__aitu-domain'\n\nconst searchParams = new URLSearchParams(window.location.search)\n\nlet aituOrigin = searchParams.get(AITU_DOMAIN_PARAM)\n\nif(aituOrigin){\n localStorage.setItem('mini-app-domain', aituOrigin)\n}else{\n aituOrigin = localStorage.getItem('mini-app-domain')\n}\ninterface WebBridge {\n execute(method: keyof AituBridge, reqId: string, ...payload: any[] ): void\n origin: string\n}\n\nlet WebBridge: WebBridge | null = null\n\nif (aituOrigin) {\n WebBridge = {\n origin: aituOrigin,\n execute: (method, reqId, ...payload) => {\n window.top.postMessage({\n source: 'aitu-bridge',\n method,\n reqId,\n payload: [...payload],\n },\n WebBridge.origin\n )\n }\n\n }\n window.addEventListener('message', event => {\n if (event.origin === aituOrigin && event.data) {\n\n // dispatch aitu events\n window.dispatchEvent(new CustomEvent('aituEvents', { detail: event.data }));\n\n // try to detect handler call\n if (typeof event.data !== 'string' || event.data === '') {\n return;\n }\n\n try {\n const message = JSON.parse(event.data)\n\n if (message && message['method']) {\n if (message.method === 'setCustomBackArrowOnClickHandler') {\n (window as any).onAituBridgeBackArrowClick()\n } else if (message.method === 'setHeaderMenuItemClickHandler') {\n (window as any).onAituBridgeHeaderMenuItemClick(message.param)\n }\n }\n } catch (e) {\n console.log('Error parsing message data: ' + e);\n }\n }\n })\n}\n\nexport default WebBridge\n","/**\n * @public\n */\nexport enum BridgeErrors {\n PermissionDenyError,\n PermissionSecurityDenyError,\n OtherError\n}\n\n/**\n * @public\n */\nexport const classifyBridgeError = (e: any): BridgeErrors => {\n const permissionDeny = \"permission deny\";\n const permissionSecurityDeny = \"permission security deny\";\n\n if (e.msg) {\n if (e.msg.startsWith(permissionDeny)) {\n return BridgeErrors.PermissionDenyError;\n } else if (e.msg.startsWith(permissionSecurityDeny)) {\n return BridgeErrors.PermissionSecurityDenyError\n }\n }\n return BridgeErrors.OtherError;\n}\n","import { promisifyMethod, promisifyStorage, promisifyInvoke } from './utils';\n\nimport WebBridge from './webBridge';\nexport * from './error';\n\ndeclare const VERSION: string;\n\nenum EInvokeRequest {\n getMe = 'GetMe',\n getPhone = 'GetPhone',\n getContacts = 'GetContacts',\n getUserProfile = 'GetUserProfile',\n enableNotifications = 'AllowNotifications',\n disableNotifications = 'DisableNotifications',\n enablePrivateMessaging = 'EnablePrivateMessaging',\n disablePrivateMessaging = 'DisablePrivateMessaging',\n}\n\ntype SetItemType = (keyName: string, keyValue: string) => Promise<void>;\ntype GetItemType = (keyName: string) => Promise<string | null>;\ntype ClearType = () => Promise<void>;\n\ntype HeaderMenuItemClickHandlerType = (id: string) => Promise<void>;\ntype BackArrowClickHandlerType = () => Promise<void>;\n\n/**\n * @public\n * Represents an error that can occur during NFC passport operations.\n */\nexport interface NFCPassportError {\n /**\n * Error code indicating the type of NFC passport issue.\n *\n * - `nfc_passport_mismatch` — The passport does not match the requested parameters\n * (date of birth, passport number, expiration date).\n * - `nfc_document_read_failure` — Document reading error\n * (read errors, algorithm errors, unknown algorithms, other documents that are not passports, etc.).\n * - `nfc_session_timeout` — Session timeout: the document reading was not completed\n * in time (depends on the OS).\n * - `nfc_permission_denied` — The user denied NFC permission or the device has no NFC chip.\n * - `nfc_session_cancelled` — The user cancelled the NFC session (iOS).\n */\n code: 'nfc_passport_mismatch' | 'nfc_document_read_failure' | 'nfc_session_timeout' | 'nfc_permission_denied' | 'nfc_session_cancelled';\n\n /**\n * Human-readable error message describing the issue.\n */\n msg: string;\n};\n\n/**\n * @public\n */\nexport interface GetPhoneResponse {\n phone: string;\n sign: string;\n}\n\n/**\n * @public\n */\nexport interface GetMeResponse {\n name: string;\n lastname: string;\n id: string;\n avatar?: string;\n avatarThumb?: string;\n notifications_allowed: boolean;\n private_messaging_enabled: boolean;\n sign: string;\n}\n\n/**\n * @public\n */\nexport interface ResponseObject {\n phone?: string;\n name?: string;\n lastname?: string;\n}\n\n/**\n * @public\n */\nexport interface GetGeoResponse {\n latitude: number;\n longitude: number;\n}\n\n/**\n * @public\n */\nexport interface GetContactsResponse {\n contacts: Array<{\n first_name: string;\n last_name: string;\n phone: string;\n }>;\n sign: string;\n}\n\n/**\n * @public\n */\nexport interface SelectContactResponse {\n phone: string;\n name: string;\n lastname: string;\n}\n\n/**\n * @public\n */\nexport interface GetUserProfileResponse {\n name: string;\n lastname?: string;\n phone?: string;\n avatar?: string;\n avatarThumb?: string;\n}\n\nconst MAX_HEADER_MENU_ITEMS_COUNT = 3;\n\n/**\n * @public\n */\nexport enum HeaderMenuIcon {\n Search = 'Search',\n ShoppingCart = 'ShoppingCart',\n Menu = 'Menu',\n Share = 'Share',\n Notifications = 'Notifications',\n Help = 'Help',\n Error = 'Error',\n Person = 'Person',\n Sort = 'Sort',\n Filter = 'Filter',\n Close = 'Close',\n SystemNotifications = 'SystemNotifications',\n}\n\n/**\n * @public\n */\nexport enum NavigationItemMode {\n SystemBackArrow = 'SystemBackArrow',\n CustomBackArrow = 'CustomBackArrow',\n NoItem = 'NoItem',\n UserProfile = 'UserProfile',\n}\n\n/**\n * @public\n */\nexport interface HeaderMenuItem {\n id: string;\n icon: HeaderMenuIcon;\n badge?: string;\n}\n\n/**\n * @public\n */\nexport interface UserStepsPerDay {\n date: string;\n steps: number;\n}\n\n/**\n * @public\n */\nexport interface UserStepInfoResponse {\n steps: UserStepsPerDay[];\n}\n\n/**\n * Represents the status of a response.\n *\n * - `success` — The operation completed successfully.\n * - `failed` — The operation failed.\n */\ntype ResponseType = 'success' | 'failed';\n\n/**\n * @public\n */\ntype BiometryResponse = ResponseType | 'unavailable' | 'cancelled';\n\n/**\n * @public\n */\nexport interface PassportDataResponse {\n documentNumber: string;\n dateOfBirth: string;\n dateOfExpiry: string;\n firstName: string;\n lastName: string;\n gender: string;\n nationality: string;\n documentType: string;\n}\n\ntype BridgeInvoke<T extends EInvokeRequest, R> = (method: T, data?: {}) => Promise<R>;\n\ninterface BridgeStorage {\n setItem: SetItemType;\n getItem: GetItemType;\n clear: ClearType;\n}\n\n/**\n * @public\n */\nexport interface AituBridge {\n version: string;\n invoke: BridgeInvoke<EInvokeRequest, ResponseObject>;\n storage: BridgeStorage;\n getMe: () => Promise<GetMeResponse>;\n getPhone: () => Promise<GetPhoneResponse>;\n getContacts: () => Promise<GetContactsResponse>;\n getGeo: () => Promise<GetGeoResponse>;\n selectContact: () => Promise<SelectContactResponse>;\n getQr: () => Promise<string>;\n getSMSCode: () => Promise<string>;\n getUserProfile: (userId: string) => Promise<GetUserProfileResponse>;\n share: (text: string) => Promise<ResponseType>;\n setTitle: (text: string) => Promise<ResponseType>;\n copyToClipboard: (text: string) => Promise<ResponseType>;\n shareImage: (text: string, image: string) => Promise<ResponseType>;\n shareFile: (text: string, filename: string, base64Data: string) => Promise<ResponseType>;\n enableNotifications: () => Promise<{}>;\n disableNotifications: () => Promise<{}>;\n enablePrivateMessaging: (appId: string) => Promise<string>;\n disablePrivateMessaging: (appId: string) => Promise<string>;\n openSettings: () => Promise<ResponseType>;\n closeApplication: () => Promise<ResponseType>;\n setShakeHandler: (handler: any) => void;\n setTabActiveHandler: (handler: (tabname: string) => void) => void;\n vibrate: (pattern: number[]) => Promise<VibratePattern>;\n isSupported: () => boolean;\n supports: (method: string) => boolean;\n sub: any;\n enableScreenCapture: () => Promise<{}>;\n disableScreenCapture: () => Promise<{}>;\n setHeaderMenuItems: (items: Array<HeaderMenuItem>) => Promise<ResponseType>;\n setHeaderMenuItemClickHandler: (handler: HeaderMenuItemClickHandlerType) => void;\n setCustomBackArrowMode: (enabled: boolean) => Promise<ResponseType>;\n getCustomBackArrowMode: () => Promise<boolean>;\n setCustomBackArrowVisible: (visible: boolean) => Promise<ResponseType>;\n openPayment: (transactionId: string) => Promise<ResponseType>;\n setCustomBackArrowOnClickHandler: (handler: BackArrowClickHandlerType) => void;\n checkBiometry: () => Promise<BiometryResponse>;\n openExternalUrl: (url: string) => Promise<ResponseType>;\n enableSwipeBack: () => Promise<ResponseType>;\n disableSwipeBack: () => Promise<ResponseType>;\n setNavigationItemMode: (mode: NavigationItemMode) => Promise<void>;\n getNavigationItemMode: () => Promise<NavigationItemMode>;\n getUserStepInfo: () => Promise<UserStepInfoResponse>;\n isESimSupported: () => Promise<ResponseType>;\n activateESim: (activationCode: string) => Promise<ResponseType>;\n readNFCData: () => Promise<string>;\n /**\n * Subscribes to user step updates from HealthKit/Google Fit.\n *\n * Establishes a real-time subscription that listens for step count changes\n * from the underlying health data provider. The promise resolves once the\n * subscription request has been processed. To stop receiving updates, call\n * {@link AituBridge.unsubscribeUserStepInfo}.\n *\n * @returns A promise that resolves with a `ResponseType` indicating\n * whether the subscription was successfully created.\n */\n subscribeUserStepInfo: () => Promise<ResponseType>;\n /**\n * Unsubscribes from user step updates from HealthKit/Google Fit.\n *\n * Stops the active step-count subscription created by\n * {@link AituBridge.subscribeUserStepInfo}. Once unsubscribed, no further step updates\n * will be delivered.\n *\n * @returns A promise that resolves with a `ResponseType` indicating\n * whether the unsubscription was successful.\n */\n unsubscribeUserStepInfo: () => Promise<ResponseType>;\n /**\n * Reads data from the NFC chip of an ePassport using BAC (Basic Access Control).\n *\n * Initiates a BAC-protected NFC read operation on an ePassport. The caller must\n * provide the passport number, date of birth, and expiration date—values taken\n * from the machine-readable zone (MRZ). These values are used to derive the\n * cryptographic access keys required by BAC to open a secure session with the\n * passport’s NFC chip.\n *\n * Once BAC is successfully established, the function retrieves data groups\n * from the chip, typically including the holder’s biographical information\n * (DG1) and, if supported and permitted, biometric data such as the facial\n * image (DG2).\n *\n * @param passportNumber - Passport number taken from the MRZ.\n * @param dateOfBirth - Holder’s date of birth (MRZ format: YYMMDD).\n * @param expirationDate - Passport expiration date (MRZ format: YYMMDD).\n *\n * @returns A promise resolving to a `PassportDataResponse` containing the decoded\n * data groups read from the passport’s NFC chip.\n *\n * @throws {@link NFCPassportError} When an NFC passport operation fails. Possible codes:\n * - `nfc_passport_mismatch` — Passport does not match the provided MRZ values.\n * - `nfc_document_read_failure` — General failure to read the document.\n * - `nfc_session_timeout` — NFC session timed out before completion.\n * - `nfc_permission_denied` — NFC permission denied or NFC unavailable.\n * - `nfc_session_cancelled` — User cancelled the NFC session (iOS).\n */\n readNFCPassport: (passportNumber: string, dateOfBirth: string, expirationDate: string) => Promise<PassportDataResponse>;\n}\n\nconst invokeMethod = 'invoke';\nconst storageMethod = 'storage';\nconst getGeoMethod = 'getGeo';\nconst getQrMethod = 'getQr';\nconst getSMSCodeMethod = 'getSMSCode';\nconst selectContactMethod = 'selectContact';\nconst openSettingsMethod = 'openSettings';\nconst closeApplicationMethod = 'closeApplication';\nconst shareMethod = 'share';\nconst setTitleMethod = 'setTitle';\nconst copyToClipboardMethod = 'copyToClipboard';\nconst shareImageMethod = 'shareImage';\nconst shareFileMethod = 'shareFile';\nconst setShakeHandlerMethod = 'setShakeHandler';\nconst vibrateMethod = 'vibrate';\nconst enableScreenCaptureMethod = 'enableScreenCapture';\nconst disableScreenCaptureMethod = 'disableScreenCapture';\nconst setTabActiveHandlerMethod = 'setTabActiveHandler';\nconst setHeaderMenuItemsMethod = 'setHeaderMenuItems';\nconst setHeaderMenuItemClickHandlerMethod = 'setHeaderMenuItemClickHandler';\nconst setCustomBackArrowModeMethod = 'setCustomBackArrowMode';\nconst getCustomBackArrowModeMethod = 'getCustomBackArrowMode';\nconst setCustomBackArrowVisibleMethod = 'setCustomBackArrowVisible';\nconst openPaymentMethod = 'openPayment';\nconst setCustomBackArrowOnClickHandlerMethod = 'setCustomBackArrowOnClickHandler';\nconst checkBiometryMethod = 'checkBiometry';\nconst openExternalUrlMethod = 'openExternalUrl';\nconst enableSwipeBackMethod = 'enableSwipeBack';\nconst disableSwipeBackMethod = 'disableSwipeBack';\nconst setNavigationItemModeMethod = 'setNavigationItemMode';\nconst getNavigationItemModeMethod = 'getNavigationItemMode';\nconst getUserStepInfoMethod = 'getUserStepInfo';\n\nconst android = typeof window !== 'undefined' && (window as any).AndroidBridge;\nconst ios = typeof window !== 'undefined' && (window as any).webkit && (window as any).webkit.messageHandlers;\nconst web = typeof window !== 'undefined' && window.top !== window && WebBridge;\n\nconst buildBridge = (): AituBridge => {\n const subs = [];\n\n if (typeof window !== 'undefined') {\n window.addEventListener('aituEvents', (e: any) => {\n [...subs].map((fn) => fn.call(null, e));\n });\n }\n\n const invoke = (reqId, method, data = {}) => {\n const isAndroid = android && android[invokeMethod];\n const isIos = ios && ios[invokeMethod];\n\n if (isAndroid) {\n android[invokeMethod](reqId, method, JSON.stringify(data));\n } else if (isIos) {\n ios[invokeMethod].postMessage({ reqId, method, data });\n } else if (web) {\n web.execute(invokeMethod, reqId, method, data);\n } else if (typeof window !== 'undefined') {\n console.log('--invoke-isUnknown');\n }\n };\n\n const storage = (reqId, method, data = {}) => {\n const isAndroid = android && android[storageMethod];\n const isIos = ios && ios[storageMethod];\n\n if (isAndroid) {\n android[storageMethod](reqId, method, JSON.stringify(data));\n } else if (isIos) {\n ios[storageMethod].postMessage({ reqId, method, data });\n } else if (web) {\n web.execute(storageMethod, reqId, method, data);\n } else if (typeof window !== 'undefined') {\n console.log('--storage-isUnknown');\n }\n };\n\n const getGeo = (reqId) => {\n const isAndroid = android && android[getGeoMethod];\n const isIos = ios && ios[getGeoMethod];\n\n if (isAndroid) {\n android[getGeoMethod](reqId);\n } else if (isIos) {\n ios[getGeoMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getGeoMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getGeo-isUnknown');\n }\n };\n\n const getQr = (reqId) => {\n const isAndroid = android && android[getQrMethod];\n const isIos = ios && ios[getQrMethod];\n\n if (isAndroid) {\n android[getQrMethod](reqId);\n } else if (isIos) {\n ios[getQrMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getQrMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getQr-isUnknown');\n }\n };\n\n const getSMSCode = (reqId) => {\n const isAndroid = android && android[getSMSCodeMethod];\n const isIos = ios && ios[getSMSCodeMethod];\n\n if (isAndroid) {\n android[getSMSCodeMethod](reqId);\n } else if (isIos) {\n ios[getSMSCodeMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getSMSCodeMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getSMSCode-isUnknown');\n }\n };\n\n const selectContact = (reqId) => {\n const isAndroid = android && android[selectContactMethod];\n const isIos = ios && ios[selectContactMethod];\n\n if (isAndroid) {\n android[selectContactMethod](reqId);\n } else if (isIos) {\n ios[selectContactMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(selectContactMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--selectContact-isUnknown');\n }\n };\n\n const openSettings = (reqId) => {\n const isAndroid = android && android[openSettingsMethod];\n const isIos = ios && ios[openSettingsMethod];\n\n if (isAndroid) {\n android[openSettingsMethod](reqId);\n } else if (isIos) {\n ios[openSettingsMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(openSettingsMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--openSettings-isUnknown');\n }\n };\n\n const closeApplication = (reqId) => {\n const isAndroid = android && android[closeApplicationMethod];\n const isIos = ios && ios[closeApplicationMethod];\n\n if (isAndroid) {\n android[closeApplicationMethod](reqId);\n } else if (isIos) {\n ios[closeApplicationMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(closeApplicationMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--closeApplication-isUnknown');\n }\n };\n\n const share = (reqId, text) => {\n const isAndroid = android && android[shareMethod];\n const isIos = ios && ios[shareMethod];\n\n if (isAndroid) {\n android[shareMethod](reqId, text);\n } else if (isIos) {\n ios[shareMethod].postMessage({ reqId, text });\n } else if (web) {\n web.execute(shareMethod, reqId, text);\n } else if (typeof window !== 'undefined') {\n console.log('--share-isUnknown');\n }\n };\n\n const setTitle = (reqId, text) => {\n const isAndroid = android && android[setTitleMethod];\n const isIos = ios && ios[setTitleMethod];\n\n if (isAndroid) {\n android[setTitleMethod](reqId, text);\n } else if (isIos) {\n ios[setTitleMethod].postMessage({ reqId, text });\n } else if (web) {\n web.execute(setTitleMethod, reqId, text);\n } else if (typeof window !== 'undefined') {\n console.log('--setTitle-isUnknown');\n }\n };\n\n const copyToClipboard = (reqId, text) => {\n const isAndroid = android && android[copyToClipboardMethod];\n const isIos = ios && ios[copyToClipboardMethod];\n\n if (isAndroid) {\n android[copyToClipboardMethod](reqId, text);\n } else if (isIos) {\n ios[copyToClipboardMethod].postMessage({ reqId, text });\n } else if (web) {\n web.execute(copyToClipboardMethod, reqId, text);\n } else if (typeof window !== 'undefined') {\n console.log('--copyToClipboard-isUnknown');\n }\n };\n\n const enableScreenCapture = (reqId) => {\n const isAndroid = android && android[enableScreenCaptureMethod];\n const isIos = ios && ios[enableScreenCaptureMethod];\n\n if (isAndroid) {\n android[enableScreenCaptureMethod](reqId);\n } else if (isIos) {\n ios[enableScreenCaptureMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(enableScreenCaptureMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--enableScreenCapture-isUnknown');\n }\n };\n\n const disableScreenCapture = (reqId) => {\n const isAndroid = android && android[disableScreenCaptureMethod];\n const isIos = ios && ios[disableScreenCaptureMethod];\n\n if (isAndroid) {\n android[disableScreenCaptureMethod](reqId);\n } else if (isIos) {\n ios[disableScreenCaptureMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(disableScreenCaptureMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--disableScreenCapture-isUnknown');\n }\n };\n\n const shareImage = (reqId, text, image) => {\n // !!!======================!!!\n // !!!===== Deprecated =====!!!\n // !!!======================!!!\n\n // const isAndroid = android && android[shareImageMethod];\n // const isIos = ios && ios[shareImageMethod];\n\n // if (isAndroid) {\n // android[shareImageMethod](reqId, text, image);\n // } else if (isIos) {\n // ios[shareImageMethod].postMessage({ reqId, text, image });\n // } else if (typeof window !== 'undefined') {\n // console.log('--shareImage-isWeb');\n // }\n\n // new one - fallback to shareFile\n const isAndroid = android && android[shareFileMethod];\n const isIos = ios && ios[shareFileMethod];\n\n // get extension from base64 mime type and merge with name\n const ext = image.split(';')[0].split('/')[1];\n const filename = 'image.' + ext;\n // remove mime type\n const base64Data = image.substr(image.indexOf(',') + 1);\n\n if (isAndroid) {\n android[shareFileMethod](reqId, text, filename, base64Data);\n } else if (isIos) {\n ios[shareFileMethod].postMessage({ reqId, text, filename, base64Data });\n } else if (web) {\n web.execute(shareFileMethod, reqId, { text, filename, base64Data });\n } else if (typeof window !== 'undefined') {\n console.log('--shareFile-isUnknown');\n }\n };\n\n const shareFile = (reqId, text, filename, base64Data) => {\n const isAndroid = android && android[shareFileMethod];\n const isIos = ios && ios[shareFileMethod];\n\n if (isAndroid) {\n android[shareFileMethod](reqId, text, filename, base64Data);\n } else if (isIos) {\n ios[shareFileMethod].postMessage({ reqId, text, filename, base64Data });\n } else if (web) {\n web.execute(shareFileMethod, reqId, text, filename, base64Data);\n } else if (typeof window !== 'undefined') {\n console.log('--shareFile-isUnknown');\n }\n };\n\n const enableNotifications = () => invokePromise(EInvokeRequest.enableNotifications);\n\n const disableNotifications = () => invokePromise(EInvokeRequest.disableNotifications);\n\n const setShakeHandler = (handler) => {\n const isAndroid = android && android[setShakeHandlerMethod];\n const isIos = ios && ios[setShakeHandlerMethod];\n\n if (isAndroid || isIos || web) {\n (window as any).onAituBridgeShake = handler;\n } else if (typeof window !== 'undefined') {\n console.log('--setShakeHandler-isUnknown');\n }\n };\n\n const setTabActiveHandler = (handler: (tabname: string) => void) => {\n const isAndroid = android && android[setTabActiveHandlerMethod];\n const isIos = ios && ios[setTabActiveHandlerMethod];\n\n if (isAndroid || isIos || web) {\n (window as any).onAituBridgeTabActive = handler;\n } else if (typeof window !== 'undefined') {\n console.log('--setTabActiveHandler-isUnknown');\n }\n };\n\n const vibrate = (reqId, pattern) => {\n if (\n !Array.isArray(pattern) ||\n pattern.some((timing) => timing < 1 || timing !== Math.floor(timing)) ||\n pattern.reduce((total, timing) => total + timing) > 10000\n ) {\n console.error('Pattern should be an array of positive integers no longer than 10000ms total');\n return;\n }\n\n const isAndroid = android && android[vibrateMethod];\n const isIos = ios && ios[vibrateMethod];\n\n if (isAndroid) {\n android[vibrateMethod](reqId, JSON.stringify(pattern));\n } else if (isIos) {\n ios[vibrateMethod].postMessage({ reqId, pattern });\n } else if (web) {\n web.execute(vibrateMethod, reqId, pattern);\n } else if (typeof window !== 'undefined') {\n console.log('--vibrate-isUnknown');\n }\n };\n\n const isSupported = () => {\n const iosSup = ios && (window as any).webkit.messageHandlers.invoke;\n return Boolean(android || iosSup || web);\n };\n\n // TODO: implement web support\n const supports = (method) =>\n (android && typeof android[method] === 'function') ||\n (ios && ios[method] && typeof ios[method].postMessage === 'function') ||\n (web && typeof web[method] === 'function');\n\n const sub = (listener: any) => {\n subs.push(listener);\n };\n\n const createMethod = <Params extends unknown[], Result>(\n name: string,\n options?: {\n transformToObject?: (args: Params) => Record<string, Params[number]>;\n isWebSupported?: boolean;\n }\n ) => {\n const method = (reqId: string, ...args: Params) => {\n const isAndroid = !!android && !!android[name];\n const isIos = !!ios && !!ios[name];\n const isWeb = !!options?.isWebSupported && !!web;\n\n if (isAndroid) {\n android[name](reqId, ...args);\n } else if (isIos) {\n ios[name].postMessage({\n reqId,\n ...options?.transformToObject?.(args),\n });\n } else if (isWeb) {\n web.execute(name as unknown as keyof AituBridge, reqId, ...args);\n } else if (typeof window !== 'undefined') {\n console.log(`--${name}-isUnknown`);\n }\n };\n\n return promisifyMethod(method, name, sub) as (...args: Params) => Promise<Result>;\n };\n\n const setHeaderMenuItems = (reqId, items: Array<HeaderMenuItem>) => {\n if (items.length > MAX_HEADER_MENU_ITEMS_COUNT) {\n console.error('SetHeaderMenuItems: items count should not be more than ' + MAX_HEADER_MENU_ITEMS_COUNT);\n return;\n }\n\n const isAndroid = android && android[setHeaderMenuItemsMethod];\n const isIos = ios && ios[setHeaderMenuItemsMethod];\n\n const itemsJsonArray = JSON.stringify(items);\n\n if (isAndroid) {\n android[setHeaderMenuItemsMethod](reqId, itemsJsonArray);\n } else if (isIos) {\n ios[setHeaderMenuItemsMethod].postMessage({ reqId, itemsJsonArray });\n } else if (web) {\n web.execute(setHeaderMenuItemsMethod, reqId, itemsJsonArray);\n } else if (typeof window !== 'undefined') {\n console.log('--setHeaderMenuItems-isUnknown');\n }\n };\n\n const setHeaderMenuItemClickHandler = (handler: HeaderMenuItemClickHandlerType) => {\n const isAndroid = android && android[setHeaderMenuItemClickHandlerMethod];\n const isIos = ios && ios[setHeaderMenuItemClickHandlerMethod];\n\n if (isAndroid || isIos || web) {\n (window as any).onAituBridgeHeaderMenuItemClick = handler;\n } else if (typeof window !== 'undefined') {\n console.log('--setHeaderMenuItemClickHandler-isUnknown');\n }\n };\n\n /**\n * @deprecated данный метод не рекомендуется использовать\n * вместо него используйте setNavigationItemMode\n */\n const setCustomBackArrowMode = (reqId, enabled: boolean) => {\n const isAndroid = android && android[setCustomBackArrowModeMethod];\n const isIos = ios && ios[setCustomBackArrowModeMethod];\n\n if (isAndroid) {\n android[setCustomBackArrowModeMethod](reqId, enabled);\n } else if (isIos) {\n ios[setCustomBackArrowModeMethod].postMessage({ reqId, enabled });\n } else if (web) {\n web.execute(setCustomBackArrowModeMethod, reqId, enabled);\n } else if (typeof window !== 'undefined') {\n console.log('--setCustomBackArrowMode-isUnknown');\n }\n };\n\n /**\n * @deprecated данный метод не рекомендуется использовать\n * вместо него используйте getNavigationItemMode\n */\n const getCustomBackArrowMode = (reqId) => {\n const isAndroid = android && android[getCustomBackArrowModeMethod];\n const isIos = ios && ios[getCustomBackArrowModeMethod];\n\n if (isAndroid) {\n android[getCustomBackArrowModeMethod](reqId);\n } else if (isIos) {\n ios[getCustomBackArrowModeMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getCustomBackArrowModeMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getCustomBackArrowMode-isUnknown');\n }\n };\n\n /**\n * @deprecated данный метод не рекомендуется использовать\n * вместо него используйте setNavigationItemMode\n */\n const setCustomBackArrowVisible = (reqId, visible: boolean) => {\n const isAndroid = android && android[setCustomBackArrowVisibleMethod];\n const isIos = ios && ios[setCustomBackArrowVisibleMethod];\n\n if (isAndroid) {\n android[setCustomBackArrowVisibleMethod](reqId, visible);\n } else if (isIos) {\n ios[setCustomBackArrowVisibleMethod].postMessage({ reqId, visible });\n } else if (web) {\n web.execute(setCustomBackArrowVisibleMethod, reqId, visible);\n } else if (typeof window !== 'undefined') {\n console.log('--setCustomBackArrowVisible-isUnknown');\n }\n };\n\n const setCustomBackArrowOnClickHandler = (handler: BackArrowClickHandlerType) => {\n const isAndroid = android && android[setCustomBackArrowOnClickHandlerMethod];\n const isIos = ios && ios[setCustomBackArrowOnClickHandlerMethod];\n\n if (isAndroid || isIos || web) {\n (window as any).onAituBridgeBackArrowClick = handler;\n } else if (typeof window !== 'undefined') {\n console.log('--setCustomBackArrowOnClickHandler-isUnknown');\n }\n };\n\n const openPayment = (reqId, transactionId: string) => {\n const isAndroid = android && android[openPaymentMethod];\n const isIos = ios && ios[openPaymentMethod];\n\n if (isAndroid) {\n android[openPaymentMethod](reqId, transactionId);\n } else if (isIos) {\n ios[openPaymentMethod].postMessage({ reqId, transactionId });\n } else {\n console.log('--openPayment-isUnknown');\n }\n };\n\n const checkBiometry = (reqId) => {\n const isAndroid = android && android[checkBiometryMethod];\n const isIos = ios && ios[checkBiometryMethod];\n\n if (isAndroid) {\n android[checkBiometryMethod](reqId);\n } else if (isIos) {\n ios[checkBiometryMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(checkBiometryMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--checkBiometry-isUnknown');\n }\n };\n\n const openExternalUrl = (reqId, url: string) => {\n const isAndroid = android && android[openExternalUrlMethod];\n const isIos = ios && ios[openExternalUrlMethod];\n\n if (isAndroid) {\n android[openExternalUrlMethod](reqId, url);\n } else if (isIos) {\n ios[openExternalUrlMethod].postMessage({ reqId, url });\n } else {\n console.log('--openExternalUrlMethod-isUnknown');\n }\n };\n\n const enableSwipeBack = (reqId) => {\n const isAndroid = android && android[enableSwipeBackMethod];\n const isIos = ios && ios[enableSwipeBackMethod];\n\n if (isAndroid) {\n android[enableSwipeBackMethod](reqId);\n } else if (isIos) {\n ios[enableSwipeBackMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(enableSwipeBackMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--enableSwipeBack-isUnknown');\n }\n };\n\n const disableSwipeBack = (reqId) => {\n const isAndroid = android && android[disableSwipeBackMethod];\n const isIos = ios && ios[disableSwipeBackMethod];\n\n if (isAndroid) {\n android[disableSwipeBackMethod](reqId);\n } else if (isIos) {\n ios[disableSwipeBackMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(disableSwipeBackMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--disableSwipeBack-isUnknown');\n }\n };\n\n const setNavigationItemMode = (reqId, mode: NavigationItemMode) => {\n const isAndroid = android && android[setNavigationItemModeMethod];\n const isIos = ios && ios[setNavigationItemModeMethod];\n\n if (isAndroid) {\n android[setNavigationItemModeMethod](reqId, mode);\n } else if (isIos) {\n ios[setNavigationItemModeMethod].postMessage({ reqId, mode });\n } else if (web) {\n web.execute(setNavigationItemModeMethod, reqId, mode);\n } else if (typeof window !== 'undefined') {\n console.log('--setNavigationItemMode-isUnknown');\n }\n };\n\n const getNavigationItemMode = (reqId) => {\n const isAndroid = android && android[getNavigationItemModeMethod];\n const isIos = ios && ios[getNavigationItemModeMethod];\n\n if (isAndroid) {\n android[getNavigationItemModeMethod](reqId);\n } else if (isIos) {\n ios[getNavigationItemModeMethod].postMessage({ reqId });\n } else if (web) {\n web.execute(getNavigationItemModeMethod, reqId);\n } else if (typeof window !== 'undefined') {\n console.log('--getNavigationItemMode-isUnknown');\n }\n };\n\n const getUserStepInfo = (reqId) => {\n const isAndroid = android && android[getUserStepInfoMethod];\n const isIos = ios && ios[getUserStepInfoMethod];\n\n if (isAndroid) {\n android[getUserStepInfoMethod](reqId);\n } else if (isIos) {\n ios[getUserStepInfoMethod].postMessage({ reqId });\n } else if (web) {\n console.log('--getUserStepInfo-isWeb');\n } else if (typeof window !== 'undefined') {\n console.log('--getUserStepInfo-isUnknown');\n }\n };\n\n const invokePromise = promisifyInvoke(invoke, sub);\n const storagePromise = promisifyStorage(storage, sub);\n const getGeoPromise = promisifyMethod(getGeo, getGeoMethod, sub);\n const getQrPromise = promisifyMethod(getQr, getQrMethod, sub);\n const getSMSCodePromise = promisifyMethod(getSMSCode, getSMSCodeMethod, sub);\n const selectContactPromise = promisifyMethod(selectContact, selectContactMethod, sub);\n const openSettingsPromise = promisifyMethod(openSettings, openSettingsMethod, sub);\n const closeApplicationPromise = promisifyMethod(closeApplication, closeApplicationMethod, sub);\n const sharePromise = promisifyMethod(share, shareMethod, sub);\n const setTitlePromise = promisifyMethod(setTitle, setTitleMethod, sub);\n const copyToClipboardPromise = promisifyMethod(copyToClipboard, copyToClipboardMethod, sub);\n const shareImagePromise = promisifyMethod(shareImage, shareImageMethod, sub);\n const shareFilePromise = promisifyMethod(shareFile, shareFileMethod, sub);\n const vibratePromise = promisifyMethod(vibrate, vibrateMethod, sub);\n const enableScreenCapturePromise = promisifyMethod(enableScreenCapture, enableScreenCaptureMethod, sub);\n const disableScreenCapturePromise = promisifyMethod(disableScreenCapture, disableScreenCaptureMethod, sub);\n const setHeaderMenuItemsPromise = promisifyMethod(setHeaderMenuItems, setHeaderMenuItemsMethod, sub);\n const setCustomBackArrowModePromise = promisifyMethod(setCustomBackArrowMode, setCustomBackArrowModeMethod, sub);\n const getCustomBackArrowModePromise = promisifyMethod(getCustomBackArrowMode, getCustomBackArrowModeMethod, sub);\n const setCustomBackArrowVisiblePromise = promisifyMethod(setCustomBackArrowVisible, setCustomBackArrowVisibleMethod, sub);\n const openPaymentPromise = promisifyMethod(openPayment, openPaymentMethod, sub);\n const checkBiometryPromise = promisifyMethod(checkBiometry, checkBiometryMethod, sub);\n const openExternalUrlPromise = promisifyMethod(openExternalUrl, openExternalUrlMethod, sub);\n const enableSwipeBackPromise = promisifyMethod(enableSwipeBack, enableSwipeBackMethod, sub);\n const disableSwipeBackPromise = promisifyMethod(disableSwipeBack, disableSwipeBackMethod, sub);\n const setNavigationItemModePromise = promisifyMethod(setNavigationItemMode, setNavigationItemModeMethod, sub);\n const getNavigationItemModePromise = promisifyMethod(getNavigationItemMode, getNavigationItemModeMethod, sub);\n const getUserStepInfoPromise = promisifyMethod(getUserStepInfo, getUserStepInfoMethod, sub);\n const isESimSupported = createMethod<never, ResponseType>('isESimSupported');\n const activateESim = createMethod<[activationCode: string], ResponseType>('activateESim', {\n transformToObject: ([activationCode]) => ({\n activationCode,\n }),\n });\n const readNFCData = createMethod<never, string>('readNFCData');\n\n const readNFCPassport = createMethod<[passportNumber: string, dateOfBirth: string, expirationDate: string], PassportDataResponse>(\n 'readNFCPassport',\n {\n transformToObject: ([passportNumber, dateOfBirth, expirationDate]) => ({\n passportNumber,\n dateOfBirth,\n expirationDate,\n }),\n }\n );\n\n const subscribeUserStepInfo = createMethod<never, ResponseType>('subscribeUserStepInfo');\n\n const unsubscribeUserStepInfo = createMethod<never, ResponseType>('unsubscribeUserStepInfo');\n\n return {\n version: VERSION,\n copyToClipboard: copyToClipboardPromise,\n invoke: invokePromise,\n storage: storagePromise,\n getMe: () => invokePromise(EInvokeRequest.getMe),\n getPhone: () => invokePromise(EInvokeRequest.getPhone),\n getContacts: () => invokePromise(EInvokeRequest.getContacts),\n getGeo: getGeoPromise,\n getQr: getQrPromise,\n getSMSCode: getSMSCodePromise,\n getUserProfile: (id: string) => invokePromise(EInvokeRequest.getUserProfile, { id }),\n selectContact: selectContactPromise,\n enableNotifications,\n disableNotifications,\n enablePrivateMessaging: (appId: string) => invokePromise(EInvokeRequest.enablePrivateMessaging, { appId }),\n disablePrivateMessaging: (appId: string) => invokePromise(EInvokeRequest.disablePrivateMessaging, { appId }),\n openSettings: openSettingsPromise,\n closeApplication: closeApplicationPromise,\n setTitle: setTitlePromise,\n share: sharePromise,\n shareImage: shareImagePromise,\n shareFile: shareFilePromise,\n setShakeHandler,\n setTabActiveHandler,\n vibrate: vibratePromise,\n isSupported,\n supports,\n sub,\n enableScreenCapture: enableScreenCapturePromise,\n disableScreenCapture: disableScreenCapturePromise,\n setHeaderMenuItems: setHeaderMenuItemsPromise,\n setHeaderMenuItemClickHandler,\n setCustomBackArrowMode: setCustomBackArrowModePromise,\n getCustomBackArrowMode: getCustomBackArrowModePromise,\n setCustomBackArrowVisible: setCustomBackArrowVisiblePromise,\n openPayment: openPaymentPromise,\n setCustomBackArrowOnClickHandler,\n checkBiometry: checkBiometryPromise,\n openExternalUrl: openExternalUrlPromise,\n enableSwipeBack: enableSwipeBackPromise,\n disableSwipeBack: disableSwipeBackPromise,\n setNavigationItemMode: setNavigationItemModePromise,\n getNavigationItemMode: getNavigationItemModePromise,\n getUserStepInfo: getUserStepInfoPromise,\n isESimSupported,\n activateESim,\n readNFCData,\n subscribeUserStepInfo,\n unsubscribeUserStepInfo,\n readNFCPassport,\n };\n};\n\n/**\n * @public\n */\nconst bridge = buildBridge();\n\nexport default bridge;\n"],"names":["createRequestResolver","prefix","counter","current","next","this","createCounter","promiseControllers","add","controller","customId","id","resolve","reqId","data","isSuccess","error","requestPromise","reject","handleSubscribe","subscribe","requestResolver","event","detail","_event$detail","promisifyMethod","method","methodName","_arguments","arguments","Promise","apply","concat","slice","call","aituOrigin","URLSearchParams","window","location","search","get","localStorage","setItem","getItem","WebBridge","origin","execute","top","postMessage","source","payload","addEventListener","dispatchEvent","CustomEvent","message","JSON","parse","onAituBridgeBackArrowClick","onAituBridgeHeaderMenuItemClick","param","e","console","log","BridgeErrors","EInvokeRequest","HeaderMenuIcon","NavigationItemMode","invokeMethod","storageMethod","getGeoMethod","getQrMethod","getSMSCodeMethod","selectContactMethod","openSettingsMethod","closeApplicationMethod","shareMethod","setTitleMethod","copyToClipboardMethod","shareFileMethod","setShakeHandlerMethod","vibrateMethod","enableScreenCaptureMethod","disableScreenCaptureMethod","setTabActiveHandlerMethod","setHeaderMenuItemsMethod","setHeaderMenuItemClickHandlerMethod","setCustomBackArrowModeMethod","getCustomBackArrowModeMethod","setCustomBackArrowVisibleMethod","openPaymentMethod","setCustomBackArrowOnClickHandlerMethod","checkBiometryMethod","openExternalUrlMethod","enableSwipeBackMethod","disableSwipeBackMethod","setNavigationItemModeMethod","getNavigationItemModeMethod","getUserStepInfoMethod","android","AndroidBridge","ios","webkit","messageHandlers","web","bridge","subs","map","fn","sub","listener","push","createMethod","name","options","args","isIos","isWeb","isWebSupported","_extends","transformToObject","invokePromise","invokeMethodName","props","stringify","invoke","storagePromise","storage","keyName","keyValue","clear","promisifyStorage","getGeoPromise","getQrPromise","getSMSCodePromise","selectContactPromise","openSettingsPromise","closeApplicationPromise","sharePromise","text","setTitlePromise","copyToClipboardPromise","shareImagePromise","image","isAndroid","filename","split","base64Data","substr","indexOf","shareFilePromise","vibratePromise","pattern","Array","isArray","some","timing","Math","floor","reduce","total","enableScreenCapturePromise","disableScreenCapturePromise","setHeaderMenuItemsPromise","items","length","itemsJsonArray","setCustomBackArrowModePromise","enabled","getCustomBackArrowModePromise","setCustomBackArrowVisiblePromise","visible","openPaymentPromise","transactionId","checkBiometryPromise","openExternalUrlPromise","url","enableSwipeBackPromise","disableSwipeBackPromise","setNavigationItemModePromise","mode","getNavigationItemModePromise","getUserStepInfoPromise","isESimSupported","activateESim","_ref","activationCode","readNFCData","readNFCPassport","_ref2","passportNumber","dateOfBirth","expirationDate","subscribeUserStepInfo","unsubscribeUserStepInfo","version","copyToClipboard","getMe","getPhone","getContacts","getGeo","getQr","getSMSCode","getUserProfile","selectContact","enableNotifications","disableNotifications","enablePrivateMessaging","appId","disablePrivateMessaging","openSettings","closeApplication","setTitle","share","shareImage","shareFile","setShakeHandler","handler","onAituBridgeShake","setTabActiveHandler","onAituBridgeTabActive","vibrate","isSupported","iosSup","Boolean","supports","enableScreenCapture","disableScreenCapture","setHeaderMenuItems","setHeaderMenuItemClickHandler","setCustomBackArrowMode","getCustomBackArrowMode","setCustomBackArrowVisible","openPayment","setCustomBackArrowOnClickHandler","checkBiometry","openExternalUrl","enableSwipeBack","disableSwipeBack","setNavigationItemMode","getNavigationItemMode","getUserStepInfo","buildBridge","msg","startsWith","PermissionDenyError","PermissionSecurityDenyError","OtherError"],"mappings":"wNASA,SAASA,EAAsBC,GAM3B,IAAMC,EAfV,SAAuBD,GACnB,YADmBA,IAAAA,IAAAA,EAAS,MACrB,CACHE,QAAS,EACTC,KAAA,WACI,OAAOH,KAAWI,KAAKF,OAC3B,EAER,CAQoBG,CAAcL,GACxBM,EAA+D,CAAA,EAErE,MAAO,CACHC,aAAIC,EAA+BC,YAAAA,IAAAA,EAAW,IAC1C,IAAMC,EAAKD,EAAWR,EAAQE,OAE9B,OADAG,EAAmBI,GAAMF,EAClBE,CACX,EAEAC,QAAA,SAAWC,EAAwBC,EAASC,EAAiCC,GACzE,IAAMC,EAAiBV,EAAmBM,GAEtCI,IACIF,EAAUC,GACVC,EAAeL,QAAQE,GAEvBG,EAAeC,OAAOF,GAG1BT,EAAmBM,GAAS,KAEpC,EAER,CAEA,SAASM,EAAgBC,EAAoDC,GACzED,EAAU,SAAAE,GACN,GAAKA,EAAMC,QAIP,UAAWD,EAAMC,OAAQ,CACzB,IAAAC,EAA+BF,EAAMC,OAA7BV,EAAKW,EAALX,MAEJA,GACAQ,EAAgBT,QAAQC,EAHTW,EAAJV,KAG0B,SAACE,GAAK,OAAOA,CAAM,EAHlCQ,EAALR,MAKxB,CACL,EACJ,UA2CgBS,EAAgBC,EAAkBC,EAAoBP,GAClE,IAAMC,EAAkBrB,EAAsB2B,EAAa,KAI3D,OAFAR,EAAgBC,EAAWC,GAEX,WAA8BO,IAAAA,EAAAC,UAC1C,OAAO,IAAIC,QAAQ,SAAClB,EAASM,GACzB,IAAML,EAAQQ,EAAgBb,IAAI,CAAEI,QAAAA,EAASM,OAAAA,IAC7CQ,EAAMK,WAAA,EAAA,CAAClB,GAAKmB,OAAAC,GAAAA,MAAAC,KAAAN,IAChB,EACJ,CACJ,CC3GA,IAIIO,EAFiB,IAAIC,gBAAgBC,OAAOC,SAASC,QAE3BC,IAJJ,iBAMvBL,EACCM,aAAaC,QAAQ,kBAAmBP,GAExCA,EAAaM,aAAaE,QAAQ,mBAOtC,IAAIC,EAA8B,KAE9BT,IACAS,EAAY,CACRC,OAAQV,EACRW,QAAS,SAACpB,EAAQb,GACdwB,OAAOU,IAAIC,YAAY,CACfC,OAAQ,cACRvB,OAAAA,EACAb,MAAAA,EACAqC,QAAO,GAAAlB,OAAA,GAAAC,MAAAC,KAAAL,UAAA,KAEXe,EAAUC,OAEtB,GAGAR,OAAOc,iBAAiB,UAAW,SAAA7B,GAC/B,GAAIA,EAAMuB,SAAWV,GAAcb,EAAMR,KAAM,CAM3C,GAHAuB,OAAOe,cAAc,IAAIC,YAAY,aAAc,CAAE9B,OAAQD,EAAMR,QAGzC,iBAAfQ,EAAMR,MAAoC,KAAfQ,EAAMR,KACxC,OAGJ,IACI,IAAMwC,EAAUC,KAAKC,MAAMlC,EAAMR,MAE7BwC,GAAWA,EAAgB,SACJ,qCAAnBA,EAAQ5B,OACPW,OAAeoB,6BACU,kCAAnBH,EAAQ5B,QACdW,OAAeqB,gCAAgCJ,EAAQK,OAGnE,CAAC,MAAOC,GACLC,QAAQC,IAAI,+BAAiCF,EAChD,CACJ,CACL,IAGJ,IC5DYG,ECIPC,EAuHOC,EAkBAC,IFjFGtB,EC5DHmB,QAAZA,kBAAA,GAAYA,EAAAA,QAAYA,eAAZA,QAAYA,aAIvB,CAAA,IAHGA,EAAA,oBAAA,GAAA,sBACAA,EAAAA,EAAA,4BAAA,GAAA,8BACAA,EAAAA,EAAA,WAAA,GAAA,aCCJ,SAAKC,GACHA,EAAA,MAAA,QACAA,EAAA,SAAA,WACAA,EAAA,YAAA,cACAA,EAAA,eAAA,iBACAA,EAAA,oBAAA,qBACAA,EAAA,qBAAA,uBACAA,EAAA,uBAAA,yBACAA,EAAA,wBAAA,yBACD,CATD,CAAKA,IAAAA,EASJ,KA8GWC,+BAAAA,EAAAA,yBAAAA,QAAAA,eAaX,CAAA,IAZC,OAAA,SACAA,EAAA,aAAA,eACAA,EAAA,KAAA,OACAA,EAAA,MAAA,QACAA,EAAA,cAAA,gBACAA,EAAA,KAAA,OACAA,EAAA,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,KAAA,OACAA,EAAA,OAAA,SACAA,EAAA,MAAA,QACAA,EAAA,oBAAA,sBAMUC,QAAAA,wBAAAA,GAAAA,EAAAA,QAAAA,qBAAAA,QAAAA,mBAKX,CAAA,IAJC,gBAAA,kBACAA,EAAA,gBAAA,kBACAA,EAAA,OAAA,SACAA,EAAA,YAAA,cAuKF,IAAMC,EAAe,SACfC,EAAgB,UAChBC,EAAe,SACfC,EAAc,QACdC,EAAmB,aACnBC,EAAsB,gBACtBC,EAAqB,eACrBC,EAAyB,mBACzBC,EAAc,QACdC,EAAiB,WACjBC,EAAwB,kBAExBC,EAAkB,YAClBC,EAAwB,kBACxBC,EAAgB,UAChBC,EAA4B,sBAC5BC,EAA6B,uBAC7BC,EAA4B,sBAC5BC,EAA2B,qBAC3BC,EAAsC,gCACtCC,EAA+B,yBAC/BC,EAA+B,yBAC/BC,EAAkC,4BAClCC,EAAoB,cACpBC,EAAyC,mCACzCC,EAAsB,gBACtBC,EAAwB,kBACxBC,EAAwB,kBACxBC,EAAyB,mBACzBC,EAA8B,wBAC9BC,EAA8B,wBAC9BC,EAAwB,kBAExBC,EAA4B,oBAAX7D,QAA2BA,OAAe8D,cAC3DC,EAAwB,oBAAX/D,QAA2BA,OAAegE,QAAWhE,OAAegE,OAAOC,gBACxFC,EAAwB,oBAAXlE,QAA0BA,OAAOU,MAAQV,QAAUO,EAqqBhE4D,EAnqBc,WAClB,IAAMC,EAAO,GAES,oBAAXpE,QACTA,OAAOc,iBAAiB,aAAc,SAACS,GACrC,GAAA5B,OAAIyE,GAAMC,IAAI,SAACC,GAAO,OAAAA,EAAGzE,KAAK,KAAM0B,EAAE,EACxC,GAGF,IHpRQvC,EGwkBFuF,EAAM,SAACC,GACXJ,EAAKK,KAAKD,EACZ,EAEME,EAAe,SACnBC,EACAC,GAwBA,OAAOxF,EAnBQ,SAACZ,GAAkB,IAAAqG,EAAYjF,GAAAA,MAAAC,KAAAL,UAAA,GAEtCsF,IAAUf,KAASA,EAAIY,GACvBI,IAAUH,MAAAA,IAAAA,EAASI,iBAAoBd,GAFzBL,GAAaA,EAAQc,GAKvCd,EAAQc,GAAKjF,MAAbmE,EAAcrF,CAAAA,GAAKmB,OAAKkF,IACfC,EACTf,EAAIY,GAAMhE,YAAWsE,GACnBzG,MAAAA,GACGoG,MAAAA,SAAAA,EAASM,yBAATN,EAASM,kBAAoBL,KAEzBE,EACTb,EAAIzD,QAAOf,MAAXwE,EAAYS,CAAAA,EAAqCnG,GAAKmB,OAAKkF,IAChC,oBAAX7E,QAChBwB,QAAQC,IAASkD,KAAAA,EAAgB,aAErC,EAE+BA,EAAMJ,EACvC,EA2NMY,GHh0BJrG,EGg0B4CyF,EHl0BtCvF,EAAkBrB,EAAsB,YAI9B,SAAgByH,EAA0BC,GACtD,YADsDA,IAAAA,IAAAA,EAAa,CAAE,OAC1D5F,QAAQ,SAAClB,EAASM,IG+QpB,SAACL,EAAOa,EAAQZ,QAAI,IAAJA,IAAAA,EAAO,CAAA,GACpC,IACMqG,EAAQf,GAAOA,EAAIjC,GADP+B,GAAWA,EAAQ/B,GAInC+B,EAAQ/B,GAActD,EAAOa,EAAQ6B,KAAKoE,UAAU7G,IAC3CqG,EACTf,EAAIjC,GAAcnB,YAAY,CAAEnC,MAAAA,EAAOa,OAAAA,EAAQZ,KAAAA,IACtCyF,EACTA,EAAIzD,QAAQqB,EAActD,EAAOa,EAAQZ,GACd,oBAAXuB,QAChBwB,QAAQC,IAAI,qBAEhB,CHzRU8D,CAFcvG,EAAgBb,IAAI,CAAEI,QAAAA,EAASM,OAAAA,GAAUuG,EAAmB,KAE5DA,EAAkBC,EACpC,EACJ,GGyzBIG,EH/1BQ,SAAiBC,EAAS1G,GACtC,IAAMC,EAAkBrB,EAAsB,YAI9C,OAFAmB,EAAgBC,EAAWC,GAEpB,CACHqB,QAAS,SAACqF,EAAiBC,GACvB,OAAO,IAAIlG,QAAQ,SAAClB,EAASM,GACzB,IAAML,EAAQQ,EAAgBb,IAAI,CAAEI,QAAAA,EAASM,OAAAA,IAC7C4G,EAAQjH,EAAO,UAAW,CAAEkH,QAAAA,EAASC,SAAAA,GACzC,EACJ,EACArF,QAAS,SAACoF,GACN,WAAWjG,QAAQ,SAAClB,EAASM,GACzB,IAAML,EAAQQ,EAAgBb,IAAI,CAAEI,QAAAA,EAASM,OAAAA,IAC7C4G,EAAQjH,EAAO,UAAW,CAAEkH,QAAAA,GAChC,EACJ,EACAE,MAAO,WACH,OAAW,IAAAnG,QAAQ,SAAClB,EAASM,GACzB,IAAML,EAAQQ,EAAgBb,IAAI,CAAEI,QAAAA,EAASM,OAAAA,IAC7C4G,EAAQjH,EAAO,QAAS,CAAE,EAC9B,EACJ,EAER,CGs0ByBqH,CAhiBP,SAACrH,EAAOa,EAAQZ,YAAAA,IAAAA,EAAO,CAAE,GACvC,IACMqG,EAAQf,GAAOA,EAAIhC,GADP8B,GAAWA,EAAQ9B,GAInC8B,EAAQ9B,GAAevD,EAAOa,EAAQ6B,KAAKoE,UAAU7G,IAC5CqG,EACTf,EAAIhC,GAAepB,YAAY,CAAEnC,MAAAA,EAAOa,OAAAA,EAAQZ,KAAAA,IACvCyF,EACTA,EAAIzD,QAAQsB,EAAevD,EAAOa,EAAQZ,GACf,oBAAXuB,QAChBwB,QAAQC,IAAI,sBAEhB,EAmhBiD8C,GAC3CuB,EAAgB1G,EAlhBP,SAACZ,GACd,IACMsG,EAAQf,GAAOA,EAAI/B,GADP6B,GAAWA,EAAQ7B,GAInC6B,EAAQ7B,GAAcxD,GACbsG,EACTf,EAAI/B,GAAcrB,YAAY,CAAEnC,MAAAA,IACvB0F,EACTA,EAAIzD,QAAQuB,EAAcxD,GACC,oBAAXwB,QAChBwB,QAAQC,IAAI,qBAEhB,EAqgB8CO,EAAcuC,GACtDwB,EAAe3G,EApgBP,SAACZ,GACb,IACMsG,EAAQf,GAAOA,EAAI9B,GADP4B,GAAWA,EAAQ5B,GAInC4B,EAAQ5B,GAAazD,GACZsG,EACTf,EAAI9B,GAAatB,YAAY,CAAEnC,MAAAA,IACtB0F,EACTA,EAAIzD,QAAQwB,EAAazD,GACE,oBAAXwB,QAChBwB,QAAQC,IAAI,oBAEhB,EAuf4CQ,EAAasC,GACnDyB,EAAoB5G,EAtfP,SAACZ,GAClB,IACMsG,EAAQf,GAAOA,EAAI7B,GADP2B,GAAWA,EAAQ3B,GAInC2B,EAAQ3B,GAAkB1D,GACjBsG,EACTf,EAAI7B,GAAkBvB,YAAY,CAAEnC,MAAAA,IAC3B0F,EACTA,EAAIzD,QAAQyB,EAAkB1D,GACH,oBAAXwB,QAChBwB,QAAQC,IAAI,yBAEhB,EAyesDS,EAAkBqC,GAClE0B,EAAuB7G,EAxeP,SAACZ,GACrB,IACMsG,EAAQf,GAAOA,EAAI5B,GADP0B,GAAWA,EAAQ1B,GAInC0B,EAAQ1B,GAAqB3D,GACpBsG,EACTf,EAAI5B,GAAqBxB,YAAY,CAAEnC,MAAAA,IAC9B0F,EACTA,EAAIzD,QAAQ0B,EAAqB3D,GACN,oBAAXwB,QAChBwB,QAAQC,IAAI,4BAEhB,EA2d4DU,EAAqBoC,GAC3E2B,EAAsB9G,EA1dP,SAACZ,GACpB,IACMsG,EAAQf,GAAOA,EAAI3B,GADPyB,GAAWA,EAAQzB,GAInCyB,EAAQzB,GAAoB5D,GACnBsG,EACTf,EAAI3B,GAAoBzB,YAAY,CAAEnC,MAAAA,IAC7B0F,EACTA,EAAIzD,QAAQ2B,EAAoB5D,GACL,oBAAXwB,QAChBwB,QAAQC,IAAI,2BAEhB,EA6c0DW,EAAoBmC,GACxE4B,EAA0B/G,EA5cP,SAACZ,GACxB,IACMsG,EAAQf,GAAOA,EAAI1B,GADPwB,GAAWA,EAAQxB,GAInCwB,EAAQxB,GAAwB7D,GACvBsG,EACTf,EAAI1B,GAAwB1B,YAAY,CAAEnC,MAAAA,IACjC0F,EACTA,EAAIzD,QAAQ4B,EAAwB7D,GACT,oBAAXwB,QAChBwB,QAAQC,IAAI,+BAEhB,EA+bkEY,EAAwBkC,GACpF6B,EAAehH,EA9bP,SAACZ,EAAO6H,GACpB,IACMvB,EAAQf,GAAOA,EAAIzB,GADPuB,GAAWA,EAAQvB,GAInCuB,EAAQvB,GAAa9D,EAAO6H,GACnBvB,EACTf,EAAIzB,GAAa3B,YAAY,CAAEnC,MAAAA,EAAO6H,KAAAA,IAC7BnC,EACTA,EAAIzD,QAAQ6B,EAAa9D,EAAO6H,GACL,oBAAXrG,QAChBwB,QAAQC,IAAI,oBAEhB,EAib4Ca,EAAaiC,GACnD+B,EAAkBlH,EAhbP,SAACZ,EAAO6H,GACvB,IACMvB,EAAQf,GAAOA,EAAIxB,GADPsB,GAAWA,EAAQtB,GAInCsB,EAAQtB,GAAgB/D,EAAO6H,GACtBvB,EACTf,EAAIxB,GAAgB5B,YAAY,CAAEnC,MAAAA,EAAO6H,KAAAA,IAChCnC,EACTA,EAAIzD,QAAQ8B,EAAgB/D,EAAO6H,GACR,oBAAXrG,QAChBwB,QAAQC,IAAI,uBAEhB,EAmakDc,EAAgBgC,GAC5DgC,EAAyBnH,EAlaP,SAACZ,EAAO6H,GAC9B,IACMvB,EAAQf,GAAOA,EAAIvB,GADPqB,GAAWA,EAAQrB,GAInCqB,EAAQrB,GAAuBhE,EAAO6H,GAC7BvB,EACTf,EAAIvB,GAAuB7B,YAAY,CAAEnC,MAAAA,EAAO6H,KAAAA,IACvCnC,EACTA,EAAIzD,QAAQ+B,EAAuBhE,EAAO6H,GACf,oBAAXrG,QAChBwB,QAAQC,IAAI,8BAEhB,EAqZgEe,EAAuB+B,GACjFiC,GAAoBpH,EAtXP,SAACZ,EAAO6H,EAAMI,GAiB/B,IAAMC,EAAY7C,GAAWA,EAAQpB,GAC/BqC,EAAQf,GAAOA,EAAItB,GAInBkE,EAAW,SADLF,EAAMG,MAAM,KAAK,GAAGA,MAAM,KAAK,GAGrCC,EAAaJ,EAAMK,OAAOL,EAAMM,QAAQ,KAAO,GAEjDL,EACF7C,EAAQpB,GAAiBjE,EAAO6H,EAAMM,EAAUE,GACvC/B,EACTf,EAAItB,GAAiB9B,YAAY,CAAEnC,MAAAA,EAAO6H,KAAAA,EAAMM,SAAAA,EAAUE,WAAAA,IACjD3C,EACTA,EAAIzD,QAAQgC,EAAiBjE,EAAO,CAAE6H,KAAAA,EAAMM,SAAAA,EAAUE,WAAAA,IAC3B,oBAAX7G,QAChBwB,QAAQC,IAAI,wBAEhB,EAzQuB,aA4lBiD8C,GAClEyC,GAAmB5H,EAlVP,SAACZ,EAAO6H,EAAMM,EAAUE,GACxC,IACM/B,EAAQf,GAAOA,EAAItB,GADPoB,GAAWA,EAAQpB,GAInCoB,EAAQpB,GAAiBjE,EAAO6H,EAAMM,EAAUE,GACvC/B,EACTf,EAAItB,GAAiB9B,YAAY,CAAEnC,MAAAA,EAAO6H,KAAAA,EAAMM,SAAAA,EAAUE,WAAAA,IACjD3C,EACTA,EAAIzD,QAAQgC,EAAiBjE,EAAO6H,EAAMM,EAAUE,GACzB,oBAAX7G,QAChBwB,QAAQC,IAAI,wBAEhB,EAqUoDgB,EAAiB8B,GAC/D0C,GAAiB7H,EA1SP,SAACZ,EAAO0I,GACtB,IACGC,MAAMC,QAAQF,IACfA,EAAQG,KAAK,SAACC,GAAM,OAAKA,EAAS,GAAKA,IAAWC,KAAKC,MAAMF,EAAO,IACpEJ,EAAQO,OAAO,SAACC,EAAOJ,GAAM,OAAKI,EAAQJ,CAAM,GAAI,IAEpD9F,QAAQ7C,MAAM,oFALhB,CASA,IACMmG,EAAQf,GAAOA,EAAIpB,GADPkB,GAAWA,EAAQlB,GAInCkB,EAAQlB,GAAenE,EAAO0C,KAAKoE,UAAU4B,IACpCpC,EACTf,EAAIpB,GAAehC,YAAY,CAAEnC,MAAAA,EAAO0I,QAAAA,IAC/BhD,EACTA,EAAIzD,QAAQkC,EAAenE,EAAO0I,GACP,oBAAXlH,QAChBwB,QAAQC,IAAI,sBAZb,CAcH,EAoRgDkB,EAAe4B,GACzDoD,GAA6BvI,EAvZP,SAACZ,GAC3B,IACMsG,EAAQf,GAAOA,EAAInB,GADPiB,GAAWA,EAAQjB,GAInCiB,EAAQjB,GAA2BpE,GAC1BsG,EACTf,EAAInB,GAA2BjC,YAAY,CAAEnC,MAAAA,IACpC0F,EACTA,EAAIzD,QAAQmC,EAA2BpE,GACZ,oBAAXwB,QAChBwB,QAAQC,IAAI,kCAEhB,EA0YwEmB,EAA2B2B,GAC7FqD,GAA8BxI,EAzYP,SAACZ,GAC5B,IACMsG,EAAQf,GAAOA,EAAIlB,GADPgB,GAAWA,EAAQhB,GAInCgB,EAAQhB,GAA4BrE,GAC3BsG,EACTf,EAAIlB,GAA4BlC,YAAY,CAAEnC,MAAAA,IACrC0F,EACTA,EAAIzD,QAAQoC,EAA4BrE,GACb,oBAAXwB,QAChBwB,QAAQC,IAAI,mCAEhB,EA4X0EoB,EAA4B0B,GAChGsD,GAA4BzI,EAzOP,SAACZ,EAAOsJ,GACjC,GAAIA,EAAMC,OAtkBsB,EAukB9BvG,QAAQ7C,MAAM,iEADhB,CAKA,IAAM+H,EAAY7C,GAAWA,EAAQd,GAC/B+B,EAAQf,GAAOA,EAAIhB,GAEnBiF,EAAiB9G,KAAKoE,UAAUwC,GAElCpB,EACF7C,EAAQd,GAA0BvE,EAAOwJ,GAChClD,EACTf,EAAIhB,GAA0BpC,YAAY,CAAEnC,MAAAA,EAAOwJ,eAAAA,IAC1C9D,EACTA,EAAIzD,QAAQsC,EAA0BvE,EAAOwJ,GAClB,oBAAXhI,QAChBwB,QAAQC,IAAI,iCAdb,CAgBH,EAqNsEsB,EAA0BwB,GAC1F0D,GAAgC7I,EArMP,SAACZ,EAAO0J,GACrC,IACMpD,EAAQf,GAAOA,EAAId,GADPY,GAAWA,EAAQZ,GAInCY,EAAQZ,GAA8BzE,EAAO0J,GACpCpD,EACTf,EAAId,GAA8BtC,YAAY,CAAEnC,MAAAA,EAAO0J,QAAAA,IAC9ChE,EACTA,EAAIzD,QAAQwC,EAA8BzE,EAAO0J,GACtB,oBAAXlI,QAChBwB,QAAQC,IAAI,qCAEhB,EAwL8EwB,EAA8BsB,GACtG4D,GAAgC/I,EAnLP,SAACZ,GAC9B,IACMsG,EAAQf,GAAOA,EAAIb,GADPW,GAAWA,EAAQX,GAInCW,EAAQX,GAA8B1E,GAC7BsG,EACTf,EAAIb,GAA8BvC,YAAY,CAAEnC,MAAAA,IACvC0F,EACTA,EAAIzD,QAAQyC,EAA8B1E,GACf,oBAAXwB,QAChBwB,QAAQC,IAAI,qCAEhB,EAsK8EyB,EAA8BqB,GACtG6D,GAAmChJ,EAjKP,SAACZ,EAAO6J,GACxC,IACMvD,EAAQf,GAAOA,EAAIZ,GADPU,GAAWA,EAAQV,GAInCU,EAAQV,GAAiC3E,EAAO6J,GACvCvD,EACTf,EAAIZ,GAAiCxC,YAAY,CAAEnC,MAAAA,EAAO6J,QAAAA,IACjDnE,EACTA,EAAIzD,QAAQ0C,EAAiC3E,EAAO6J,GACzB,oBAAXrI,QAChBwB,QAAQC,IAAI,wCAEhB,EAoJoF0B,EAAiCoB,GAC/G+D,GAAqBlJ,EAxIP,SAACZ,EAAO+J,GAC1B,IACMzD,EAAQf,GAAOA,EAAIX,GADPS,GAAWA,EAAQT,GAInCS,EAAQT,GAAmB5E,EAAO+J,GACzBzD,EACTf,EAAIX,GAAmBzC,YAAY,CAAEnC,MAAAA,EAAO+J,cAAAA,IAE5C/G,QAAQC,IAAI,0BAEhB,EA6HwD2B,EAAmBmB,GACrEiE,GAAuBpJ,EA5HP,SAACZ,GACrB,IACMsG,EAAQf,GAAOA,EAAIT,GADPO,GAAWA,EAAQP,GAInCO,EAAQP,GAAqB9E,GACpBsG,EACTf,EAAIT,GAAqB3C,YAAY,CAAEnC,MAAAA,IAC9B0F,EACTA,EAAIzD,QAAQ6C,EAAqB9E,GACN,oBAAXwB,QAChBwB,QAAQC,IAAI,4BAEhB,EA+G4D6B,EAAqBiB,GAC3EkE,GAAyBrJ,EA9GP,SAACZ,EAAOkK,GAC9B,IACM5D,EAAQf,GAAOA,EAAIR,GADPM,GAAWA,EAAQN,GAInCM,EAAQN,GAAuB/E,EAAOkK,GAC7B5D,EACTf,EAAIR,GAAuB5C,YAAY,CAAEnC,MAAAA,EAAOkK,IAAAA,IAEhDlH,QAAQC,IAAI,oCAEhB,EAmGgE8B,EAAuBgB,GACjFoE,GAAyBvJ,EAlGP,SAACZ,GACvB,IACMsG,EAAQf,GAAOA,EAAIP,GADPK,GAAWA,EAAQL,GAInCK,EAAQL,GAAuBhF,GACtBsG,EACTf,EAAIP,GAAuB7C,YAAY,CAAEnC,MAAAA,IAChC0F,EACTA,EAAIzD,QAAQ+C,EAAuBhF,GACR,oBAAXwB,QAChBwB,QAAQC,IAAI,8BAEhB,EAqFgE+B,EAAuBe,GACjFqE,GAA0BxJ,EApFP,SAACZ,GACxB,IACMsG,EAAQf,GAAOA,EAAIN,GADPI,GAAWA,EAAQJ,GAInCI,EAAQJ,GAAwBjF,GACvBsG,EACTf,EAAIN,GAAwB9C,YAAY,CAAEnC,MAAAA,IACjC0F,EACTA,EAAIzD,QAAQgD,EAAwBjF,GACT,oBAAXwB,QAChBwB,QAAQC,IAAI,+BAEhB,EAuEkEgC,EAAwBc,GACpFsE,GAA+BzJ,EAtEP,SAACZ,EAAOsK,GACpC,IACMhE,EAAQf,GAAOA,EAAIL,GADPG,GAAWA,EAAQH,GAInCG,EAAQH,GAA6BlF,EAAOsK,GACnChE,EACTf,EAAIL,GAA6B/C,YAAY,CAAEnC,MAAAA,EAAOsK,KAAAA,IAC7C5E,EACTA,EAAIzD,QAAQiD,EAA6BlF,EAAOsK,GACrB,oBAAX9I,QAChBwB,QAAQC,IAAI,oCAEhB,EAyD4EiC,EAA6Ba,GACnGwE,GAA+B3J,EAxDP,SAACZ,GAC7B,IACMsG,EAAQf,GAAOA,EAAIJ,GADPE,GAAWA,EAAQF,GAInCE,EAAQF,GAA6BnF,GAC5BsG,EACTf,EAAIJ,GAA6BhD,YAAY,CAAEnC,MAAAA,IACtC0F,EACTA,EAAIzD,QAAQkD,EAA6BnF,GACd,oBAAXwB,QAChBwB,QAAQC,IAAI,oCAEhB,EA2C4EkC,EAA6BY,GACnGyE,GAAyB5J,EA1CP,SAACZ,GACvB,IACMsG,EAAQf,GAAOA,EAAIH,GADPC,GAAWA,EAAQD,GAInCC,EAAQD,GAAuBpF,GACtBsG,EACTf,EAAIH,GAAuBjD,YAAY,CAAEnC,MAAAA,IAChC0F,EACT1C,QAAQC,IAAI,2BACe,oBAAXzB,QAChBwB,QAAQC,IAAI,8BAEhB,EA6BgEmC,EAAuBW,GACjF0E,GAAkBvE,EAAkC,mBACpDwE,GAAexE,EAAqD,eAAgB,CACxFQ,kBAAmB,SAAFiE,GAAyB,MAAA,CACxCC,eADiCD,EAAO,GAEzC,IAEGE,GAAc3E,EAA4B,eAE1C4E,GAAkB5E,EACtB,kBACA,CACEQ,kBAAmB,SAAFqE,GAA+C,MAAO,CACrEC,eADiCD,EAAEE,GAEnCA,YAF8CF,EAAEG,GAGhDA,eAH8DH,EAAA,GAI/D,IAICI,GAAwBjF,EAAkC,yBAE1DkF,GAA0BlF,EAAkC,2BAElE,MAAO,CACLmF,QA38BJ,iBA48BIC,gBAAiBvD,EACjBhB,OAAQJ,EACRM,QAASD,EACTuE,MAAO,WAAF,OAAQ5E,EAAcxD,EAAeoI,MAAM,EAChDC,SAAU,kBAAM7E,EAAcxD,EAAeqI,SAAS,EACtDC,YAAa,kBAAM9E,EAAcxD,EAAesI,YAAY,EAC5DC,OAAQpE,EACRqE,MAAOpE,EACPqE,WAAYpE,EACZqE,eAAgB,SAAC/L,GAAU,OAAK6G,EAAcxD,EAAe0I,eAAgB,CAAE/L,GAAAA,GAAK,EACpFgM,cAAerE,EACfsE,oBAvX0B,WAAM,OAAApF,EAAcxD,EAAe4I,oBAAoB,EAwXjFC,qBAtX2B,WAAM,OAAArF,EAAcxD,EAAe6I,qBAAqB,EAuXnFC,uBAAwB,SAACC,UAAkBvF,EAAcxD,EAAe8I,uBAAwB,CAAEC,MAAAA,GAAQ,EAC1GC,wBAAyB,SAACD,GAAa,OAAKvF,EAAcxD,EAAegJ,wBAAyB,CAAED,MAAAA,GAAQ,EAC5GE,aAAc1E,EACd2E,iBAAkB1E,EAClB2E,SAAUxE,EACVyE,MAAO3E,EACP4E,WAAYxE,GACZyE,UAAWjE,GACXkE,gBA7XsB,SAACC,GACLtH,GAAWA,EAAQnB,IACvBqB,GAAOA,EAAIrB,IAECwB,EACvBlE,OAAeoL,kBAAoBD,EACT,oBAAXnL,QAChBwB,QAAQC,IAAI,8BAEhB,EAqXE4J,oBAnX0B,SAACF,GACTtH,GAAWA,EAAQf,IACvBiB,GAAOA,EAAIjB,IAECoB,EACvBlE,OAAesL,sBAAwBH,EACb,oBAAXnL,QAChBwB,QAAQC,IAAI,kCAEhB,EA2WE8J,QAAStE,GACTuE,YAlVkB,WAClB,IAAMC,EAAS1H,GAAQ/D,OAAegE,OAAOC,gBAAgBsB,OAC7D,OAAOmG,QAAQ7H,GAAW4H,GAAUvH,EACtC,EAgVEyH,SA7Ue,SAACtM,GACf,OAAAwE,GAAsC,mBAApBA,EAAQxE,IAC1B0E,GAAOA,EAAI1E,IAA8C,mBAA5B0E,EAAI1E,GAAQsB,aACzCuD,GAA8B,mBAAhBA,EAAI7E,EAAuB,EA2U1CkF,IAAAA,EACAqH,oBAAqBjE,GACrBkE,qBAAsBjE,GACtBkE,mBAAoBjE,GACpBkE,8BAtRoC,SAACZ,GACnBtH,GAAWA,EAAQb,IACvBe,GAAOA,EAAIf,IAECkB,EACvBlE,OAAeqB,gCAAkC8J,EACvB,oBAAXnL,QAChBwB,QAAQC,IAAI,4CAEhB,EA8QEuK,uBAAwB/D,GACxBgE,uBAAwB9D,GACxB+D,0BAA2B9D,GAC3B+D,YAAa7D,GACb8D,iCAvNuC,SAACjB,GACtBtH,GAAWA,EAAQR,IACvBU,GAAOA,EAAIV,IAECa,EACvBlE,OAAeoB,2BAA6B+J,EAClB,oBAAXnL,QAChBwB,QAAQC,IAAI,+CAEhB,EA+ME4K,cAAe7D,GACf8D,gBAAiB7D,GACjB8D,gBAAiB5D,GACjB6D,iBAAkB5D,GAClB6D,sBAAuB5D,GACvB6D,sBAAuB3D,GACvB4D,gBAAiB3D,GACjBC,gBAAAA,GACAC,aAAAA,GACAG,YAAAA,GACAM,sBAAAA,GACAC,wBAAAA,GACAN,gBAAAA,GAEJ,CAKesD,+BDv/BoB,SAACrL,GAIhC,GAAIA,EAAEsL,IAAK,CACP,GAAItL,EAAEsL,IAAIC,WAJS,mBAKf,OAAOpL,QAAAA,aAAaqL,oBACbxL,GAAAA,EAAEsL,IAAIC,WALU,4BAMvB,OAAOpL,QAAYA,aAACsL,2BAE3B,CACD,OAAOtL,QAAYA,aAACuL,UACxB"}