@feedmepos/mf-connect 0.1.113-prod → 0.1.114-dev

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.
Files changed (156) hide show
  1. package/README.md +66 -1
  2. package/dist/{App-2J4yDonr.js → App-CIWTDYuZ.js} +700 -654
  3. package/dist/AuditLogs-BluLDXu9.js +2016 -0
  4. package/dist/{Bin-BU_hVuxJ.js → Bin-jS6pM4L3.js} +8 -8
  5. package/dist/Broadcast-DBqsSZ0S.js +306 -0
  6. package/dist/{CampaignAnalytic-DUUmFMvy.js → CampaignAnalytic-DJrjXD4H.js} +7 -7
  7. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BZirReIy.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CzwigRLi.js} +9 -9
  8. package/dist/{Card-DS2K_LFv.js → Card-B10nLilL.js} +25 -24
  9. package/dist/{Collections-BFdRdPHR.js → Collections-BN42A73p.js} +197 -185
  10. package/dist/{Credit-CODfiox3.js → Credit-0SS26HGE.js} +21 -20
  11. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-B2T5G1hZ.js → DateRangeChip.vue_vue_type_script_setup_true_lang-B3wozBFs.js} +1 -1
  12. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-BRd5RVYe.js +4442 -0
  13. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-KvZebiOu.js → EffectSheet.vue_vue_type_style_index_0_lang-zV9dLCWp.js} +32 -32
  14. package/dist/{Experience-BGBWc8Ep.js → Experience-D7qPzsrc.js} +32 -31
  15. package/dist/{FileSaver.min-DJAN3Eu0.js → FileSaver.min-BKWoklMK.js} +1 -1
  16. package/dist/{Game-6yyn0uAd.js → Game-BoYMwfog.js} +19 -18
  17. package/dist/{GiftCardSetup-B096bTm0.js → GiftCardSetup-B87O0xzo.js} +75 -75
  18. package/dist/{GoalPickerPanel.vue_vue_type_script_setup_true_lang-ChvUXdF-.js → GoalPickerPanel.vue_vue_type_script_setup_true_lang-B3uGbEFY.js} +7 -7
  19. package/dist/{Goals-Db2mwbRo.js → Goals-CVxf3xCA.js} +4 -4
  20. package/dist/Grab-mGL1Mue_.js +301 -0
  21. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-xdEzwMcS.js → ImageInput.vue_vue_type_script_setup_true_lang-HipBZ1_T.js} +1 -1
  22. package/dist/{Index-580WNkG2.js → Index-Dptuy-6c.js} +10 -10
  23. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-BkAQXKNJ.js → LocationPicker.vue_vue_type_script_setup_true_lang-Cjc4UeKz.js} +1 -1
  24. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-CR6sSnx4.js → LottieAnimation.vue_vue_type_script_setup_true_lang-Bh0ari3f.js} +1 -1
  25. package/dist/{LoyaltyDashboard-Clr2aiUP.js → LoyaltyDashboard-BxhI6RAE.js} +15 -15
  26. package/dist/MainLayout-YfDxvZXl.js +4 -0
  27. package/dist/{MainLayout-_iCyT5mw.js → MainLayout.vue_vue_type_script_setup_true_lang-BgXpznbi.js} +5 -4
  28. package/dist/{Marketing-fq1wxANq.js → Marketing-C2cVJacf.js} +4 -4
  29. package/dist/MarketingMaterialEdit-DkOEy_L-.js +1037 -0
  30. package/dist/{Member-BfRy196y.js → Member-DufbKDOh.js} +7 -7
  31. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-BAR44Qcp.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-CU8EmBxy.js} +43 -50
  32. package/dist/{MemberImportHistory-C4622Ivs.js → MemberImportHistory-DlFN-uQl.js} +7 -7
  33. package/dist/{MemberList-DqtsMN_N.js → MemberList-B344n8I4.js} +103 -105
  34. package/dist/{MemberTransactions-DsUoFg3z.js → MemberTransactions-BS7H640M.js} +1 -1
  35. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-CzFMUgXM.js → MessageInput.vue_vue_type_script_setup_true_lang-CxDtXvwd.js} +4228 -4176
  36. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-CVQYcuQ6.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-lY0jlyOG.js} +1 -1
  37. package/dist/{Mission-B0GO4LiM.js → Mission-D2ed_oKn.js} +22 -21
  38. package/dist/{Overview-XpJJmHqs.js → Overview-CLh_T6YY.js} +145 -144
  39. package/dist/{Overview-CVITimwN.js → Overview-DJa-hXDC.js} +23 -22
  40. package/dist/{Point-B7aCrMkI.js → Point-DAPeg1VD.js} +22 -21
  41. package/dist/{Promotion-DfVcuXHy.js → Promotion-CPPCMMFl.js} +137 -131
  42. package/dist/{Queue-BT7O2cvj.js → Queue-BcPwCRcM.js} +47 -46
  43. package/dist/{Record-CAc030dz.js → Record-C5XKn--g.js} +9 -9
  44. package/dist/{Review-CyXo4GTY.js → Review-Cc51luIv.js} +2 -2
  45. package/dist/ReviewFacebookCallback-BSGInFB8.js +225 -0
  46. package/dist/{ReviewGoogleCallback-BxiFOl0B.js → ReviewGoogleCallback-C1gY4vcP.js} +5 -5
  47. package/dist/{Reward-ChfNtdwX.js → Reward-k1R3hLiF.js} +29 -29
  48. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-CpQu_QBQ.js → RewardGroup.vue_vue_type_script_setup_true_lang-BGbbGVK4.js} +16 -15
  49. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-Coh3L11L.js +1923 -0
  50. package/dist/{Segment-H2zBDZeh.js → Segment-DsBnIvje.js} +290 -291
  51. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-B0jCJ-Xq.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-CMKpvXN-.js} +31 -30
  52. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-DW_ViNZM.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-LyAtRMs8.js} +4 -4
  53. package/dist/Setting-BRueNgc4.js +574 -0
  54. package/dist/{SettingAdvertisements-DPQHP3-B.js → SettingAdvertisements-BrVcQyhF.js} +12 -12
  55. package/dist/Settings-fOvXd29Z.js +286 -0
  56. package/dist/{Store-B2f5HVQc.js → Store-rrh2pIHH.js} +661 -654
  57. package/dist/{StoreRewards-QxfaEt9f.js → StoreRewards-D-jivVKr.js} +15 -15
  58. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-CvQXsZbH.js +1319 -0
  59. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-DbnY9VE9.js +7007 -0
  60. package/dist/{Tier-BSk4rBm8.js → Tier-DJiLtw3M.js} +2576 -687
  61. package/dist/{Title-CIzpB8TT.js → Title-s0bzA7yZ.js} +94 -92
  62. package/dist/{Transaction-BjxxNEHa.js → Transaction-CQ-CJ_eh.js} +2 -2
  63. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-BMutYxOU.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-Bfy8SZH1.js} +26 -26
  64. package/dist/{Voucher-B2lFq21Y.js → Voucher-9vydRET7.js} +19 -19
  65. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-BWV631It.js → VoucherEditor.vue_vue_type_script_setup_true_lang-Dq7veRL5.js} +16 -16
  66. package/dist/WhatsappAccount-D12Hvzfl.js +159 -0
  67. package/dist/WhatsappAccountStatusLabel.vue_vue_type_script_setup_true_lang-BrZEDi6O.js +39 -0
  68. package/dist/WhatsappBot-o5b_0CnB.js +629 -0
  69. package/dist/WhatsappBotLogs-CK_V_iT5.js +372 -0
  70. package/dist/WhatsappBotSettings-BooibLUg.js +694 -0
  71. package/dist/WhatsappLayout-bOyNHGUI.js +21 -0
  72. package/dist/WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-Cytrffdh.js +253 -0
  73. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-BCoB0Fsa.js → ZodTextField.vue_vue_type_script_setup_true_lang-96t_eUzk.js} +2 -2
  74. package/dist/{app-DgFVWdhA.js → app-DV3e2LkD.js} +10610 -8223
  75. package/dist/app.js +4 -3
  76. package/dist/{base.export-B6Rojjek.js → base.export-DQUUtGmy.js} +2 -2
  77. package/dist/browser-BSAOEeIM.js +1478 -0
  78. package/dist/{business-C6ID0exl.js → business-BZ0boE-5.js} +1 -1
  79. package/dist/campaign-CsfFq2S-.js +400 -0
  80. package/dist/{campaign-BgSJXWdU.js → campaign-DMrtYWcs.js} +31 -25
  81. package/dist/{campaign.enum-CVvm0LMm.js → campaign.enum-Dx-Zo68Q.js} +3 -2
  82. package/dist/campaign.fn-C-CdNNdR.js +776 -0
  83. package/dist/{collectible.enum-DGQVW464.js → collectible.enum-Liy2wH3s.js} +1 -1
  84. package/dist/{collection.fn-dV4F8R-j.js → collection.fn-C-rryKSc.js} +2 -2
  85. package/dist/{currency-DlHi_3WN.js → currency-BOd9iVZV.js} +1 -1
  86. package/dist/duplicateCampaign-ey_rW0Bz.js +51 -0
  87. package/dist/{effect-BJgmiWY4.js → effect-BP6Hkxmj.js} +1 -1
  88. package/dist/{email-addresses-3GTx_xTh.js → email-addresses-CO61QAq0.js} +2 -2
  89. package/dist/feature-flag-Bq1SgbYC.js +868 -0
  90. package/dist/feature-flag-lvPP0ED-.js +50 -0
  91. package/dist/google-BQK68wbe.js +5 -0
  92. package/dist/{helper-BX0JQP06.js → helper-BRpts-M-.js} +1 -1
  93. package/dist/{index-BIpAzktM.js → index-03WIXl-H.js} +8 -7
  94. package/dist/{index-BeCKw7Y3.js → index-B0RavybO.js} +19 -6
  95. package/dist/{index-DeNbsrQx.js → index-BDNkoALK.js} +1 -1
  96. package/dist/{index-Bl5aHABH.js → index-BV5aPSYo.js} +11 -10
  97. package/dist/{index-Cnw0B8Lc.js → index-Bk20uvPY.js} +1 -1
  98. package/dist/index-Bn19rfby.js +14571 -0
  99. package/dist/index-C_H8jFYf.js +2743 -0
  100. package/dist/{index-nmw7_9ZE.js → index-Cj-eugzc.js} +1 -1
  101. package/dist/{index-uXgPJlic.js → index-CoROn5OA.js} +2700 -2613
  102. package/dist/{index-DdMVrWZy.js → index-CrBhcMaL.js} +8028 -10767
  103. package/dist/{index-2xed2K8D.js → index-CsBjAM3E.js} +4 -3
  104. package/dist/{index-CiFReW-F.js → index-D1t4_KaG.js} +1 -1
  105. package/dist/{index-DRNdJ_KC.js → index-D3wGTCWf.js} +8 -7
  106. package/dist/{index-CtBLnWVG.js → index-D41kjcrZ.js} +683 -581
  107. package/dist/{index-CNULhBPM.js → index-DIZLkVe0.js} +691 -230
  108. package/dist/{index-QaWLGgEC.js → index-DucKyzrD.js} +2 -2
  109. package/dist/{index-o2OQljHs.js → index-R5WS21OL.js} +4 -4
  110. package/dist/index-RwNlbTO8.js +115 -0
  111. package/dist/{index-R0qlOO6J.js → index-VYI0zWNC.js} +29 -15
  112. package/dist/index-ZRE89TKq.js +80 -0
  113. package/dist/{index-BHT6cvWA.js → index-_Cj-bsd_.js} +396 -232
  114. package/dist/{index-Y2Pu1YkB.js → index-mToWKHVs.js} +2 -2
  115. package/dist/{index.esm2017-Dum0onrS.js → index.esm2017-B_Sag8Pg.js} +209 -209
  116. package/dist/{loading-B2mSdkfy.js → loading-C5fVI0ry.js} +1 -1
  117. package/dist/{lodash-DtOypaKt.js → lodash-COo8_xCU.js} +1 -1
  118. package/dist/{member-import-C2pLnh44.js → member-import-I_pKwUfF.js} +6 -5
  119. package/dist/{membership-BWyBGF4n.js → membership-BgfH9Kva.js} +3 -3
  120. package/dist/{money-3lCCVCeP.js → money-Cr07YDlV.js} +1 -1
  121. package/dist/{number-zlqy2MLG.js → number-DFsj0dkh.js} +1 -1
  122. package/dist/objectid-Cu89BzwI.js +145 -0
  123. package/dist/{onboarding-BqD3B4M1.js → onboarding-DlkJCm-5.js} +25 -25
  124. package/dist/{onboardingSetup-CCQ90jg7.js → onboardingSetup-BEhVj613.js} +2 -2
  125. package/dist/{plugins-Bj3npYnL.js → plugins-CPTtiKqf.js} +3 -3
  126. package/dist/{MarketingMaterialEdit-0h7E0n5e.js → remy-icon-BhUGu2NI.js} +2 -1031
  127. package/dist/{reward-5dDuZEb7.js → reward-DqY0mQ_5.js} +1 -1
  128. package/dist/{rule-NqLeSyoO.js → rule-mJJ48eKw.js} +572 -492
  129. package/dist/style.css +1 -1
  130. package/dist/template-C1QftpDG.js +188 -0
  131. package/dist/{timezone-B0lkgvh-.js → timezone-BBgBHels.js} +1 -1
  132. package/dist/{transaction.fn-CACuVUBe.js → transaction.fn-Sr0hj3kY.js} +2 -2
  133. package/dist/{trigger-BKJwKTJx.js → trigger-PUP0mwKM.js} +8 -8
  134. package/dist/{useMarketingMaterialActions-DERvOmen.js → useMarketingMaterialActions-faslwaHd.js} +3 -3
  135. package/dist/{usePagination-FkjroUq2.js → usePagination-Be6nIQ9y.js} +1 -1
  136. package/dist/{user-H9MnsLbu.js → user-DBSYzG_9.js} +1 -1
  137. package/dist/vue-i18n-C6c2jsH3.js +2365 -0
  138. package/dist/{xlsx-BVmtIl_i.js → xlsx-Bfo19lFv.js} +786 -786
  139. package/dist/{zod-DI7OBdxu.js → zod-CihbDg3N.js} +1 -1
  140. package/package.json +12 -3
  141. package/dist/Broadcast-CoirZUyr.js +0 -271
  142. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-DyIOw_HH.js +0 -2431
  143. package/dist/ReviewFacebookCallback--IcyheQA.js +0 -238
  144. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang--5K-qagY.js +0 -1883
  145. package/dist/Setting-D4XOHSHT.js +0 -2036
  146. package/dist/Settings-Dt_oLoGl.js +0 -179
  147. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-Db2cd6ny.js +0 -1264
  148. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-D9L-AayN.js +0 -142
  149. package/dist/campaign-DDfFBFye.js +0 -228
  150. package/dist/campaign.fn-DRabv93K.js +0 -776
  151. package/dist/google-C3S8u0mT.js +0 -4
  152. package/dist/index-CmhDYsk6.js +0 -51
  153. package/dist/objectid-b2KGvMA7.js +0 -145
  154. package/dist/rule-builder-BzYwbbj4.js +0 -102
  155. package/dist/template-fjUz6xrU.js +0 -236
  156. package/dist/vue-i18n-DbJO6sZW.js +0 -2365
@@ -0,0 +1,2016 @@
1
+ import { defineComponent as Ve, ref as ye, resolveComponent as Be, openBlock as P, createBlock as ui, unref as v, isRef as mi, withCtx as We, createElementVNode as k, createElementBlock as ie, Fragment as Ue, renderList as je, toDisplayString as $, watch as fi, onBeforeMount as hi, createVNode as H, createCommentVNode as gi, h as G } from "vue";
2
+ import { components as Ye } from "@feedmepos/ui-library";
3
+ import "./index-CrBhcMaL.js";
4
+ import { h as Q } from "./moment-D7p2TMB-.js";
5
+ import { _ as Je } from "./FilterChip.vue_vue_type_script_setup_true_lang-3bH-tZAm.js";
6
+ import { _ as vi } from "./DateRangeChip.vue_vue_type_script_setup_true_lang-B3wozBFs.js";
7
+ import { u as yi, _ as ki } from "./usePagination-Be6nIQ9y.js";
8
+ import { c as Xe } from "./plugins-CPTtiKqf.js";
9
+ import { c as Fe } from "./string-Gcy5IM_H.js";
10
+ import { f as me, g as xi } from "./index-DIZLkVe0.js";
11
+ import "./index-D41kjcrZ.js";
12
+ import "./index-CoROn5OA.js";
13
+ import "./index-_Cj-bsd_.js";
14
+ import "./index-D3wGTCWf.js";
15
+ import "./index-RwNlbTO8.js";
16
+ import "./index-CsBjAM3E.js";
17
+ import { g as Si, S as Ei, b as Ci } from "./index-03WIXl-H.js";
18
+ import { o as _i } from "./objectId-dwaoBfJX.js";
19
+ import { u as Oi } from "./vue-i18n-C6c2jsH3.js";
20
+ var Ii = "2.0.10", ci = 500, Ke = "user-agent", te = "", Ze = "?", x = {
21
+ FUNCTION: "function",
22
+ OBJECT: "object",
23
+ STRING: "string",
24
+ UNDEFINED: "undefined"
25
+ }, O = "browser", F = "cpu", M = "device", A = "engine", R = "os", oe = "result", o = "name", i = "type", a = "vendor", r = "version", C = "architecture", we = "major", t = "model", ke = "console", c = "mobile", g = "tablet", S = "smarttv", D = "wearable", fe = "xr", ce = "embedded", Ri = "fetcher", L = "inapp", ze = "brands", Y = "formFactors", $e = "fullVersionList", re = "platform", Ge = "platformVersion", Ee = "bitness", z = "sec-ch-ua", Ti = z + "-full-version-list", Ai = z + "-arch", Di = z + "-" + Ee, Mi = z + "-form-factors", Li = z + "-" + c, Ui = z + "-" + t, wi = z + "-" + re, Fi = wi + "-version", bi = [ze, $e, c, t, re, Ge, C, Y, Ee], he = "Amazon", X = "Apple", Qe = "ASUS", ei = "BlackBerry", W = "Google", _e = "Huawei", Oe = "Lenovo", ii = "Honor", ge = "LG", Ie = "Microsoft", Re = "Motorola", ti = "Nvidia", oi = "OnePlus", Te = "OPPO", le = "Samsung", ri = "Sharp", de = "Sony", Ae = "Xiaomi", De = "Zebra", ai = "Chrome", si = "Chromium", q = "Chromecast", xe = "Edge", ue = "Firefox", K = "Opera", Me = "Facebook", ni = "Sogou", Z = "Mobile ", j = " Browser", Ne = "Windows", Ni = typeof window !== x.UNDEFINED, _ = Ni && window.navigator ? window.navigator : void 0, J = _ && _.userAgentData ? _.userAgentData : void 0, qi = function(e, s) {
26
+ var n = {}, w = s;
27
+ if (!Se(s)) {
28
+ w = {};
29
+ for (var b in s)
30
+ for (var m in s[b])
31
+ w[m] = s[b][m].concat(w[m] ? w[m] : []);
32
+ }
33
+ for (var l in e)
34
+ n[l] = w[l] && w[l].length % 2 === 0 ? w[l].concat(e[l]) : e[l];
35
+ return n;
36
+ }, Ce = function(e) {
37
+ for (var s = {}, n = 0; n < e.length; n++)
38
+ s[e[n].toUpperCase()] = e[n];
39
+ return s;
40
+ }, qe = function(e, s) {
41
+ if (typeof e === x.OBJECT && e.length > 0) {
42
+ for (var n in e)
43
+ if (V(s) == V(e[n])) return !0;
44
+ return !1;
45
+ }
46
+ return ae(e) ? V(s) == V(e) : !1;
47
+ }, Se = function(e, s) {
48
+ for (var n in e)
49
+ return /^(browser|cpu|device|engine|os)$/.test(n) || (s ? Se(e[n]) : !1);
50
+ }, ae = function(e) {
51
+ return typeof e === x.STRING;
52
+ }, Le = function(e) {
53
+ if (e) {
54
+ for (var s = [], n = ee(e).split(","), w = 0; w < n.length; w++)
55
+ if (n[w].indexOf(";") > -1) {
56
+ var b = pe(n[w]).split(";v=");
57
+ s[w] = { brand: b[0], version: b[1] };
58
+ } else
59
+ s[w] = pe(n[w]);
60
+ return s;
61
+ }
62
+ }, V = function(e) {
63
+ return ae(e) ? e.toLowerCase() : e;
64
+ }, He = function(e) {
65
+ return ae(e) ? be(/[^\d\.]/g, e).split(".")[0] : void 0;
66
+ }, ee = function(e) {
67
+ return ae(e) ? pe(be(/\\?\"/g, e), ci) : void 0;
68
+ }, U = function(e) {
69
+ for (var s in e)
70
+ if (e.hasOwnProperty(s)) {
71
+ var n = e[s];
72
+ typeof n == x.OBJECT && n.length == 2 ? this[n[0]] = n[1] : this[n] = void 0;
73
+ }
74
+ return this;
75
+ }, be = function(e, s) {
76
+ return ae(s) ? s.replace(e, te) : s;
77
+ }, pe = function(e, s) {
78
+ return e = be(/^\s\s*/, String(e)), typeof s === x.UNDEFINED ? e : e.substring(0, s);
79
+ }, Pe = function(e, s) {
80
+ if (!(!e || !s))
81
+ for (var n = 0, w, b, m, l, u, d; n < s.length && !u; ) {
82
+ var y = s[n], p = s[n + 1];
83
+ for (w = b = 0; w < y.length && !u && y[w]; )
84
+ if (u = y[w++].exec(e), u)
85
+ for (m = 0; m < p.length; m++)
86
+ d = u[++b], l = p[m], typeof l === x.OBJECT && l.length > 0 ? l.length === 2 ? typeof l[1] == x.FUNCTION ? this[l[0]] = l[1].call(this, d) : this[l[0]] = l[1] : l.length >= 3 && (typeof l[1] === x.FUNCTION && !(l[1].exec && l[1].test) ? l.length > 3 ? this[l[0]] = d ? l[1].apply(this, l.slice(2)) : void 0 : this[l[0]] = d ? l[1].call(this, d, l[2]) : void 0 : l.length == 3 ? this[l[0]] = d ? d.replace(l[1], l[2]) : void 0 : l.length == 4 ? this[l[0]] = d ? l[3].call(this, d.replace(l[1], l[2])) : void 0 : l.length > 4 && (this[l[0]] = d ? l[3].apply(this, [d.replace(l[1], l[2])].concat(l.slice(4))) : void 0)) : this[l] = d || void 0;
87
+ n += 2;
88
+ }
89
+ }, Hi = function(e, s) {
90
+ return s.test.test(e) ? s.ifTrue : s.ifFalse;
91
+ }, T = function(e, s) {
92
+ for (var n in s)
93
+ if (typeof s[n] === x.OBJECT && s[n].length > 0) {
94
+ for (var w = 0; w < s[n].length; w++)
95
+ if (qe(s[n][w], e))
96
+ return n === Ze ? void 0 : n;
97
+ } else if (qe(s[n], e))
98
+ return n === Ze ? void 0 : n;
99
+ return s.hasOwnProperty("*") ? s["*"] : e;
100
+ }, li = {
101
+ ME: "4.90",
102
+ "NT 3.51": "3.51",
103
+ "NT 4.0": "4.0",
104
+ 2e3: ["5.0", "5.01"],
105
+ XP: ["5.1", "5.2"],
106
+ Vista: "6.0",
107
+ 7: "6.1",
108
+ 8: "6.2",
109
+ "8.1": "6.3",
110
+ 10: ["6.4", "10.0"],
111
+ NT: ""
112
+ }, di = {
113
+ embedded: "Automotive",
114
+ mobile: "Mobile",
115
+ tablet: ["Tablet", "EInk"],
116
+ smarttv: "TV",
117
+ wearable: "Watch",
118
+ xr: ["VR", "XR"],
119
+ "?": ["Desktop", "Unknown"],
120
+ "*": void 0
121
+ }, Pi = {
122
+ Chrome: "Google Chrome",
123
+ Edge: "Microsoft Edge",
124
+ "Edge WebView2": "Microsoft Edge WebView2",
125
+ "Chrome WebView": "Android WebView",
126
+ "Chrome Headless": "HeadlessChrome",
127
+ "Huawei Browser": "HuaweiBrowser",
128
+ "MIUI Browser": "Miui Browser",
129
+ "Opera Mobi": "OperaMobile",
130
+ Yandex: "YaBrowser"
131
+ }, Vi = {
132
+ browser: [
133
+ [
134
+ // Most common regardless engine
135
+ /\b(?:crmo|crios)\/([\w\.]+)/i
136
+ // Chrome for Android/iOS
137
+ ],
138
+ [r, [o, Z + "Chrome"]],
139
+ [
140
+ /webview.+edge\/([\w\.]+)/i
141
+ // Microsoft Edge
142
+ ],
143
+ [r, [o, xe + " WebView"], [i, L]],
144
+ [
145
+ /edg(?:e|ios|a)?\/([\w\.]+)/i
146
+ ],
147
+ [r, [o, "Edge"]],
148
+ [
149
+ // Presto based
150
+ /(opera mini)\/([-\w\.]+)/i,
151
+ // Opera Mini
152
+ /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
153
+ // Opera Mobi/Tablet
154
+ /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
155
+ // Opera
156
+ ],
157
+ [o, r],
158
+ [
159
+ /opios[\/ ]+([\w\.]+)/i
160
+ // Opera mini on iphone >= 8.0
161
+ ],
162
+ [r, [o, K + " Mini"]],
163
+ [
164
+ /\bop(?:rg)?x\/([\w\.]+)/i
165
+ // Opera GX
166
+ ],
167
+ [r, [o, K + " GX"]],
168
+ [
169
+ /\bopr\/([\w\.]+)/i
170
+ // Opera Webkit
171
+ ],
172
+ [r, [o, K]],
173
+ [
174
+ // Mixed
175
+ /\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
176
+ // Baidu
177
+ ],
178
+ [r, [o, "Baidu"]],
179
+ [
180
+ /\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i
181
+ // Maxthon
182
+ ],
183
+ [r, [o, "Maxthon"]],
184
+ [
185
+ /(kindle)\/([\w\.]+)/i,
186
+ // Kindle
187
+ /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
188
+ // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir
189
+ // Trident based
190
+ /(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,
191
+ // Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet
192
+ /(?:ms|\()(ie) ([\w\.]+)/i,
193
+ // Internet Explorer
194
+ // Blink/Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon/LG Browser/Otter/qutebrowser/Dooble/Palemoon/HiBrowser
195
+ /(atlas|flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:hi|lg |ovi|qute)browser|palemoon)\/v?([-\w\.]+)/i,
196
+ // Atlas/Rekonq/Puffin/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon
197
+ /(brave)(?: chrome)?\/([\d\.]+)/i,
198
+ // Brave
199
+ /(aloha|heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,
200
+ // Aloha/HeyTap/Ovi/115/Surf
201
+ /(qwant)(?:ios|mobile)\/([\d\.]+)/i,
202
+ // Qwant
203
+ /(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
204
+ // Ecosia/Weibo
205
+ ],
206
+ [o, r],
207
+ [
208
+ /quark(?:pc)?\/([-\w\.]+)/i
209
+ // Quark
210
+ ],
211
+ [r, [o, "Quark"]],
212
+ [
213
+ /\bddg\/([\w\.]+)/i
214
+ // DuckDuckGo
215
+ ],
216
+ [r, [o, "DuckDuckGo"]],
217
+ [
218
+ /(?:\buc? ?browser|(?:juc.+)ucweb| ucpc)[\/ ]?([\w\.]+)/i
219
+ // UCBrowser
220
+ ],
221
+ [r, [o, "UCBrowser"]],
222
+ [
223
+ /microm.+\bqbcore\/([\w\.]+)/i,
224
+ // WeChat Desktop for Windows Built-in Browser
225
+ /\bqbcore\/([\w\.]+).+microm/i,
226
+ /micromessenger\/([\w\.]+)/i
227
+ // WeChat
228
+ ],
229
+ [r, [o, "WeChat"]],
230
+ [
231
+ /konqueror\/([\w\.]+)/i
232
+ // Konqueror
233
+ ],
234
+ [r, [o, "Konqueror"]],
235
+ [
236
+ /trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
237
+ // IE11
238
+ ],
239
+ [r, [o, "IE"]],
240
+ [
241
+ /ya(?:search)?browser\/([\w\.]+)/i
242
+ // Yandex
243
+ ],
244
+ [r, [o, "Yandex"]],
245
+ [
246
+ /slbrowser\/([\w\.]+)/i
247
+ // Smart Lenovo Browser
248
+ ],
249
+ [r, [o, "Smart " + Oe + j]],
250
+ [
251
+ /(av(?:ast|g|ira))\/([\w\.]+)/i
252
+ // Avast/AVG/Avira Secure Browser
253
+ ],
254
+ [[o, /(.+)/, "$1 Secure" + j], r],
255
+ [
256
+ /norton\/([\w\.]+)/i
257
+ // Norton Private Browser
258
+ ],
259
+ [r, [o, "Norton Private" + j]],
260
+ [
261
+ /\bfocus\/([\w\.]+)/i
262
+ // Firefox Focus
263
+ ],
264
+ [r, [o, ue + " Focus"]],
265
+ [
266
+ / mms\/([\w\.]+)$/i
267
+ // Opera Neon
268
+ ],
269
+ [r, [o, K + " Neon"]],
270
+ [
271
+ / opt\/([\w\.]+)$/i
272
+ // Opera Touch
273
+ ],
274
+ [r, [o, K + " Touch"]],
275
+ [
276
+ /coc_coc\w+\/([\w\.]+)/i
277
+ // Coc Coc Browser
278
+ ],
279
+ [r, [o, "Coc Coc"]],
280
+ [
281
+ /dolfin\/([\w\.]+)/i
282
+ // Dolphin
283
+ ],
284
+ [r, [o, "Dolphin"]],
285
+ [
286
+ /coast\/([\w\.]+)/i
287
+ // Opera Coast
288
+ ],
289
+ [r, [o, K + " Coast"]],
290
+ [
291
+ /miuibrowser\/([\w\.]+)/i
292
+ // MIUI Browser
293
+ ],
294
+ [r, [o, "MIUI" + j]],
295
+ [
296
+ /fxios\/([\w\.-]+)/i
297
+ // Firefox for iOS
298
+ ],
299
+ [r, [o, Z + ue]],
300
+ [
301
+ /\bqihoobrowser\/?([\w\.]*)/i
302
+ // 360
303
+ ],
304
+ [r, [o, "360"]],
305
+ [
306
+ /\b(qq)\/([\w\.]+)/i
307
+ // QQ
308
+ ],
309
+ [[o, /(.+)/, "$1Browser"], r],
310
+ [
311
+ /(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
312
+ ],
313
+ [[o, /(.+)/, "$1" + j], r],
314
+ [
315
+ // Oculus/Sailfish/VivoBrowser/PicoBrowser
316
+ / HBPC\/([\w\.]+)/
317
+ // Huawei Browser
318
+ ],
319
+ [r, [o, _e + j]],
320
+ [
321
+ /samsungbrowser\/([\w\.]+)/i
322
+ // Samsung Internet
323
+ ],
324
+ [r, [o, le + " Internet"]],
325
+ [
326
+ /metasr[\/ ]?([\d\.]+)/i
327
+ // Sogou Explorer
328
+ ],
329
+ [r, [o, ni + " Explorer"]],
330
+ [
331
+ /(sogou)mo\w+\/([\d\.]+)/i
332
+ // Sogou Mobile
333
+ ],
334
+ [[o, ni + " Mobile"], r],
335
+ [
336
+ /(electron)\/([\w\.]+) safari/i,
337
+ // Electron-based App
338
+ /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
339
+ // Tesla
340
+ /m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
341
+ // QQ/2345
342
+ ],
343
+ [o, r],
344
+ [
345
+ /(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i
346
+ // LieBao Browser/Luakit/Rekonq/Steam
347
+ ],
348
+ [o],
349
+ [
350
+ /ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i
351
+ // Iron / 360
352
+ ],
353
+ [r, o],
354
+ [
355
+ // WebView
356
+ /((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
357
+ // Facebook App for iOS & Android
358
+ ],
359
+ [[o, Me], r, [i, L]],
360
+ [
361
+ /(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
362
+ // Kakao App
363
+ /(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
364
+ // Naver InApp
365
+ /(daum)apps[\/ ]([\w\.]+)/i,
366
+ // Daum App
367
+ /safari (line)\/([\w\.]+)/i,
368
+ // Line App for iOS
369
+ /\b(line)\/([\w\.]+)\/iab/i,
370
+ // Line App for Android
371
+ /(alipay)client\/([\w\.]+)/i,
372
+ // Alipay
373
+ /(twitter)(?:and| f.+e\/([\w\.]+))/i,
374
+ // Twitter
375
+ /(bing)(?:web|sapphire)\/([\w\.]+)/i,
376
+ // Bing
377
+ /(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
378
+ // Instagram/Snapchat/Klarna
379
+ ],
380
+ [o, r, [i, L]],
381
+ [
382
+ /\bgsa\/([\w\.]+) .*safari\//i
383
+ // Google Search Appliance on iOS
384
+ ],
385
+ [r, [o, "GSA"], [i, L]],
386
+ [
387
+ /(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i
388
+ // TikTok
389
+ ],
390
+ [r, [o, "TikTok"], [i, L]],
391
+ [
392
+ /\[(linkedin)app\]/i
393
+ // LinkedIn App for iOS & Android
394
+ ],
395
+ [o, [i, L]],
396
+ [
397
+ /(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i
398
+ // Zalo
399
+ ],
400
+ [[o, /(.+)/, "Zalo"], r, [i, L]],
401
+ [
402
+ /(chromium)[\/ ]([-\w\.]+)/i
403
+ // Chromium
404
+ ],
405
+ [o, r],
406
+ [
407
+ /ome-(lighthouse)$/i
408
+ // Chrome Lighthouse
409
+ ],
410
+ [o, [i, Ri]],
411
+ [
412
+ /headlesschrome(?:\/([\w\.]+)| )/i
413
+ // Chrome Headless
414
+ ],
415
+ [r, [o, ai + " Headless"]],
416
+ [
417
+ /wv\).+chrome\/([\w\.]+).+edgw\//i
418
+ // Edge WebView2
419
+ ],
420
+ [r, [o, xe + " WebView2"], [i, L]],
421
+ [
422
+ /; wv\).+(chrome)\/([\w\.]+)/i
423
+ // Chrome WebView
424
+ ],
425
+ [[o, ai + " WebView"], r, [i, L]],
426
+ [
427
+ /droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
428
+ // Android Browser
429
+ ],
430
+ [r, [o, "Android" + j]],
431
+ [
432
+ /chrome\/([\w\.]+) mobile/i
433
+ // Chrome Mobile
434
+ ],
435
+ [r, [o, Z + "Chrome"]],
436
+ [
437
+ /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
438
+ // Chrome/OmniWeb/Arora/Tizen/Nokia
439
+ ],
440
+ [o, r],
441
+ [
442
+ /version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i
443
+ // Safari Mobile
444
+ ],
445
+ [r, [o, Z + "Safari"]],
446
+ [
447
+ /iphone .*mobile(?:\/\w+ | ?)safari/i
448
+ ],
449
+ [[o, Z + "Safari"]],
450
+ [
451
+ /version\/([\w\.\,]+) .*(safari)/i
452
+ // Safari
453
+ ],
454
+ [r, o],
455
+ [
456
+ /webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
457
+ // Safari < 3.0
458
+ ],
459
+ [o, [r, "1"]],
460
+ [
461
+ /(webkit|khtml)\/([\w\.]+)/i
462
+ ],
463
+ [o, r],
464
+ [
465
+ // Gecko based
466
+ /(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i
467
+ // Firefox Mobile
468
+ ],
469
+ [[o, Z + ue], r],
470
+ [
471
+ /(navigator|netscape\d?)\/([-\w\.]+)/i
472
+ // Netscape
473
+ ],
474
+ [[o, "Netscape"], r],
475
+ [
476
+ /(wolvic|librewolf)\/([\w\.]+)/i
477
+ // Wolvic/LibreWolf
478
+ ],
479
+ [o, r],
480
+ [
481
+ /mobile vr; rv:([\w\.]+)\).+firefox/i
482
+ // Firefox Reality
483
+ ],
484
+ [r, [o, ue + " Reality"]],
485
+ [
486
+ /ekiohf.+(flow)\/([\w\.]+)/i,
487
+ // Flow
488
+ /(swiftfox)/i,
489
+ // Swiftfox
490
+ /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
491
+ // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
492
+ /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,
493
+ // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
494
+ /(firefox)\/([\w\.]+)/i,
495
+ // Other Firefox-based
496
+ /(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,
497
+ // Mozilla
498
+ // Other
499
+ /(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
500
+ // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser/Ladybird
501
+ /\b(links) \(([\w\.]+)/i
502
+ // Links
503
+ ],
504
+ [o, [r, /_/g, "."]],
505
+ [
506
+ /(cobalt)\/([\w\.]+)/i
507
+ // Cobalt
508
+ ],
509
+ [o, [r, /[^\d\.]+./, te]]
510
+ ],
511
+ cpu: [
512
+ [
513
+ /\b((amd|x|x86[-_]?|wow|win)64)\b/i
514
+ // AMD64 (x64)
515
+ ],
516
+ [[C, "amd64"]],
517
+ [
518
+ /(ia32(?=;))/i,
519
+ // IA32 (quicktime)
520
+ /\b((i[346]|x)86)(pc)?\b/i
521
+ // IA32 (x86)
522
+ ],
523
+ [[C, "ia32"]],
524
+ [
525
+ /\b(aarch64|arm(v?[89]e?l?|_?64))\b/i
526
+ // ARM64
527
+ ],
528
+ [[C, "arm64"]],
529
+ [
530
+ /\b(arm(v[67])?ht?n?[fl]p?)\b/i
531
+ // ARMHF
532
+ ],
533
+ [[C, "armhf"]],
534
+ [
535
+ // PocketPC mistakenly identified as PowerPC
536
+ /( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i
537
+ ],
538
+ [[C, "arm"]],
539
+ [
540
+ / sun4\w[;\)]/i
541
+ // SPARC
542
+ ],
543
+ [[C, "sparc"]],
544
+ [
545
+ // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
546
+ /\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,
547
+ /((ppc|powerpc)(64)?)( mac|;|\))/i,
548
+ // PowerPC
549
+ /(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
550
+ // Alpha
551
+ ],
552
+ [[C, /ower/, te, V]],
553
+ [
554
+ /mc680.0/i
555
+ ],
556
+ [[C, "68k"]],
557
+ [
558
+ /winnt.+\[axp/i
559
+ ],
560
+ [[C, "alpha"]]
561
+ ],
562
+ device: [
563
+ [
564
+ //////////////////////////
565
+ // MOBILES & TABLETS
566
+ /////////////////////////
567
+ // Samsung
568
+ /\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
569
+ ],
570
+ [t, [a, le], [i, g]],
571
+ [
572
+ /\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
573
+ /samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
574
+ /sec-(sgh\w+)/i
575
+ ],
576
+ [t, [a, le], [i, c]],
577
+ [
578
+ // Apple
579
+ /(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i
580
+ // iPod/iPhone
581
+ ],
582
+ [t, [a, X], [i, c]],
583
+ [
584
+ /\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,
585
+ // iPad
586
+ /\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i
587
+ ],
588
+ [t, [a, X], [i, g]],
589
+ [
590
+ /(macintosh);/i
591
+ ],
592
+ [t, [a, X]],
593
+ [
594
+ // Sharp
595
+ /\b(sh-?[altvz]?\d\d[a-ekm]?)/i
596
+ ],
597
+ [t, [a, ri], [i, c]],
598
+ [
599
+ // Honor
600
+ /\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i
601
+ ],
602
+ [t, [a, ii], [i, g]],
603
+ [
604
+ /honor([-\w ]+)[;\)]/i
605
+ ],
606
+ [t, [a, ii], [i, c]],
607
+ [
608
+ // Huawei
609
+ /\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i
610
+ ],
611
+ [t, [a, _e], [i, g]],
612
+ [
613
+ /(?:huawei) ?([-\w ]+)[;\)]/i,
614
+ /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i
615
+ ],
616
+ [t, [a, _e], [i, c]],
617
+ [
618
+ // Xiaomi
619
+ /oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,
620
+ /\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i
621
+ // Mi Pad tablets
622
+ ],
623
+ [[t, /_/g, " "], [a, Ae], [i, g]],
624
+ [
625
+ /\b; (\w+) build\/hm\1/i,
626
+ // Xiaomi Hongmi 'numeric' models
627
+ /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
628
+ // Xiaomi Hongmi
629
+ // Xiaomi Redmi / POCO / Black Shark / Qin
630
+ /oid[^\)]+; (redmi[\-_ ]?(?:note|k)?[\w_ ]+|m?[12]\d[01]\d\w{3,6}|poco[\w ]+|(shark )?\w{3}-[ah]0|qin ?[1-3](s\+|ultra| pro)?)( bui|; wv|\))/i,
631
+ // Xiaomi Mi
632
+ /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
633
+ /; ([\w ]+) miui\/v?\d/i
634
+ ],
635
+ [[t, /_/g, " "], [a, Ae], [i, c]],
636
+ [
637
+ // OnePlus
638
+ /droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-l]\w[1m]10)\b/i,
639
+ /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
640
+ ],
641
+ [t, [a, oi], [i, c]],
642
+ [
643
+ // OPPO
644
+ /; (\w+) bui.+ oppo/i,
645
+ /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
646
+ ],
647
+ [t, [a, Te], [i, c]],
648
+ [
649
+ /\b(opd2(\d{3}a?))(?: bui|\))/i
650
+ ],
651
+ [t, [a, T, { OnePlus: ["203", "304", "403", "404", "413", "415"], "*": Te }], [i, g]],
652
+ [
653
+ // BLU
654
+ /(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i
655
+ // Vivo series
656
+ ],
657
+ [t, [a, "BLU"], [i, c]],
658
+ [
659
+ // Vivo
660
+ /; vivo (\w+)(?: bui|\))/i,
661
+ /\b(v[12]\d{3}\w?[at])(?: bui|;)/i
662
+ ],
663
+ [t, [a, "Vivo"], [i, c]],
664
+ [
665
+ // Realme
666
+ /\b(rmx[1-3]\d{3})(?: bui|;|\))/i
667
+ ],
668
+ [t, [a, "Realme"], [i, c]],
669
+ [
670
+ // Lenovo
671
+ /(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,
672
+ /lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i
673
+ ],
674
+ [t, [a, Oe], [i, g]],
675
+ [
676
+ /lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i
677
+ ],
678
+ [t, [a, Oe], [i, c]],
679
+ [
680
+ // Motorola
681
+ /\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
682
+ /\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,
683
+ /((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i
684
+ ],
685
+ [t, [a, Re], [i, c]],
686
+ [
687
+ /\b(mz60\d|xoom[2 ]{0,2}) build\//i
688
+ ],
689
+ [t, [a, Re], [i, g]],
690
+ [
691
+ // LG
692
+ /\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
693
+ ],
694
+ [t, [a, ge], [i, g]],
695
+ [
696
+ /(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
697
+ /\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
698
+ /\blg-?([\d\w]+) bui/i
699
+ ],
700
+ [t, [a, ge], [i, c]],
701
+ [
702
+ // Nokia
703
+ /(nokia) (t[12][01])/i
704
+ ],
705
+ [a, t, [i, g]],
706
+ [
707
+ /(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,
708
+ /nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i
709
+ ],
710
+ [[t, /_/g, " "], [i, c], [a, "Nokia"]],
711
+ [
712
+ // Google
713
+ /(pixel (c|tablet))\b/i
714
+ // Google Pixel C/Tablet
715
+ ],
716
+ [t, [a, W], [i, g]],
717
+ [
718
+ // Google Pixel
719
+ /droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i
720
+ ],
721
+ [t, [a, W], [i, c]],
722
+ [
723
+ /(google) (pixelbook( go)?)/i
724
+ ],
725
+ [a, t],
726
+ [
727
+ // Sony
728
+ /droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
729
+ ],
730
+ [t, [a, de], [i, c]],
731
+ [
732
+ /sony tablet [ps]/i,
733
+ /\b(?:sony)?sgp\w+(?: bui|\))/i
734
+ ],
735
+ [[t, "Xperia Tablet"], [a, de], [i, g]],
736
+ [
737
+ // Amazon
738
+ /(alexa)webm/i,
739
+ /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,
740
+ // Kindle Fire without Silk / Echo Show
741
+ /(kf[a-z]+)( bui|\)).+silk\//i
742
+ // Kindle Fire HD
743
+ ],
744
+ [t, [a, he], [i, g]],
745
+ [
746
+ /((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
747
+ // Fire Phone
748
+ ],
749
+ [[t, /(.+)/g, "Fire Phone $1"], [a, he], [i, c]],
750
+ [
751
+ // BlackBerry
752
+ /(playbook);[-\w\),; ]+(rim)/i
753
+ // BlackBerry PlayBook
754
+ ],
755
+ [t, a, [i, g]],
756
+ [
757
+ /\b((?:bb[a-f]|st[hv])100-\d)/i,
758
+ /(?:blackberry|\(bb10;) (\w+)/i
759
+ ],
760
+ [t, [a, ei], [i, c]],
761
+ [
762
+ // Asus
763
+ /(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
764
+ ],
765
+ [t, [a, Qe], [i, g]],
766
+ [
767
+ / (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
768
+ ],
769
+ [t, [a, Qe], [i, c]],
770
+ [
771
+ // HTC
772
+ /(nexus 9)/i
773
+ // HTC Nexus 9
774
+ ],
775
+ [t, [a, "HTC"], [i, g]],
776
+ [
777
+ /(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
778
+ // HTC
779
+ // ZTE
780
+ /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
781
+ /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
782
+ // Alcatel/GeeksPhone/Nexian/Panasonic/Sony
783
+ ],
784
+ [a, [t, /_/g, " "], [i, c]],
785
+ [
786
+ // TCL
787
+ /tcl (xess p17aa)/i,
788
+ /droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i
789
+ ],
790
+ [t, [a, "TCL"], [i, g]],
791
+ [
792
+ /droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i
793
+ ],
794
+ [t, [a, "TCL"], [i, c]],
795
+ [
796
+ // itel
797
+ /(itel) ((\w+))/i
798
+ ],
799
+ [[a, V], t, [i, T, { tablet: ["p10001l", "w7001"], "*": "mobile" }]],
800
+ [
801
+ // Acer
802
+ /droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
803
+ ],
804
+ [t, [a, "Acer"], [i, g]],
805
+ [
806
+ // Meizu
807
+ /droid.+; (m[1-5] note) bui/i,
808
+ /\bmz-([-\w]{2,})/i
809
+ ],
810
+ [t, [a, "Meizu"], [i, c]],
811
+ [
812
+ // Ulefone
813
+ /; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
814
+ ],
815
+ [t, [a, "Ulefone"], [i, c]],
816
+ [
817
+ // Energizer
818
+ /; (energy ?\w+)(?: bui|\))/i,
819
+ /; energizer ([\w ]+)(?: bui|\))/i
820
+ ],
821
+ [t, [a, "Energizer"], [i, c]],
822
+ [
823
+ // Cat
824
+ /; cat (b35);/i,
825
+ /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i
826
+ ],
827
+ [t, [a, "Cat"], [i, c]],
828
+ [
829
+ // Smartfren
830
+ /((?:new )?andromax[\w- ]+)(?: bui|\))/i
831
+ ],
832
+ [t, [a, "Smartfren"], [i, c]],
833
+ [
834
+ // Nothing
835
+ /droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i
836
+ ],
837
+ [t, [a, "Nothing"], [i, c]],
838
+ [
839
+ // Archos
840
+ /; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,
841
+ /archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i
842
+ ],
843
+ [t, [a, "Archos"], [i, g]],
844
+ [
845
+ /archos ([\w ]+)( b|\))/i,
846
+ /; (ac[3-6]\d\w{2,8})( b|\))/i
847
+ ],
848
+ [t, [a, "Archos"], [i, c]],
849
+ [
850
+ // Blackview
851
+ /blackview ([-\w ]+)( b|\))/i,
852
+ /; (bv\d{4}[-\w ]*)( b|\))/i
853
+ ],
854
+ [t, [a, "Blackview"], [i, c]],
855
+ [
856
+ // HMD
857
+ /; (n159v)/i
858
+ ],
859
+ [t, [a, "HMD"], [i, c]],
860
+ [
861
+ // T-Mobile
862
+ /((revvl[ \w\+]+|tm(?:rv|af)\w*[45]g(?:tb)?))( b|\))/i
863
+ ],
864
+ [t, [i, Hi, { test: /ta?b/i, ifTrue: g, ifFalse: c }], [a, "T-Mobile"]],
865
+ [
866
+ // MIXED
867
+ /(imo) (tab \w+)/i,
868
+ // IMO
869
+ /(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i
870
+ // Infinix XPad / Tecno
871
+ ],
872
+ [a, t, [i, g]],
873
+ [
874
+ /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,
875
+ // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Tecno/Micromax/Advan
876
+ // BLU/Coolpad/CUBOT/HMD/IMO/Infinix/Lava/OnePlus/TCL/Wiko
877
+ /; (blu|coolpad|cubot|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([-\w\+ ]+?)(?: bui|\)|; r)/i,
878
+ /(hp) ([\w ]+\w)/i,
879
+ // HP iPAQ
880
+ /(microsoft); (lumia[\w ]+)/i,
881
+ // Microsoft Lumia
882
+ /(oppo) ?([\w ]+) bui/i,
883
+ // OPPO
884
+ /(hisense) ([ehv][\w ]+)\)/i,
885
+ // Hisense
886
+ /droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i
887
+ // Philips
888
+ ],
889
+ [a, t, [i, c]],
890
+ [
891
+ /(kobo)\s(ereader|touch)/i,
892
+ // Kobo
893
+ /(hp).+(touchpad(?!.+tablet)|tablet)/i,
894
+ // HP TouchPad
895
+ /(kindle)\/([\w\.]+)/i
896
+ // Kindle
897
+ ],
898
+ [a, t, [i, g]],
899
+ [
900
+ /(surface duo)/i
901
+ // Surface Duo
902
+ ],
903
+ [t, [a, Ie], [i, g]],
904
+ [
905
+ /droid [\d\.]+; (fp\du?)(?: b|\))/i
906
+ // Fairphone
907
+ ],
908
+ [t, [a, "Fairphone"], [i, c]],
909
+ [
910
+ /((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i
911
+ // Nvidia Tablets
912
+ ],
913
+ [t, [a, ti], [i, g]],
914
+ [
915
+ /(sprint) (\w+)/i
916
+ // Sprint Phones
917
+ ],
918
+ [a, t, [i, c]],
919
+ [
920
+ /(kin\.[onetw]{3})/i
921
+ // Microsoft Kin
922
+ ],
923
+ [[t, /\./g, " "], [a, Ie], [i, c]],
924
+ [
925
+ /droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
926
+ // Zebra
927
+ ],
928
+ [t, [a, De], [i, g]],
929
+ [
930
+ /droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
931
+ ],
932
+ [t, [a, De], [i, c]],
933
+ [
934
+ ///////////////////
935
+ // SMARTTVS
936
+ ///////////////////
937
+ /(philips)[\w ]+tv/i,
938
+ // Philips
939
+ /smart-tv.+(samsung)/i
940
+ // Samsung
941
+ ],
942
+ [a, [i, S]],
943
+ [
944
+ /hbbtv.+maple;(\d+)/i
945
+ ],
946
+ [[t, /^/, "SmartTV"], [a, le], [i, S]],
947
+ [
948
+ /(vizio)(?: |.+model\/)(\w+-\w+)/i,
949
+ // Vizio
950
+ /tcast.+(lg)e?. ([-\w]+)/i
951
+ // LG SmartTV
952
+ ],
953
+ [a, t, [i, S]],
954
+ [
955
+ /(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
956
+ ],
957
+ [[a, ge], [i, S]],
958
+ [
959
+ /(apple) ?tv/i
960
+ // Apple TV
961
+ ],
962
+ [a, [t, X + " TV"], [i, S]],
963
+ [
964
+ /crkey.*devicetype\/chromecast/i
965
+ // Google Chromecast Third Generation
966
+ ],
967
+ [[t, q + " Third Generation"], [a, W], [i, S]],
968
+ [
969
+ /crkey.*devicetype\/([^/]*)/i
970
+ // Google Chromecast with specific device type
971
+ ],
972
+ [[t, /^/, "Chromecast "], [a, W], [i, S]],
973
+ [
974
+ /fuchsia.*crkey/i
975
+ // Google Chromecast Nest Hub
976
+ ],
977
+ [[t, q + " Nest Hub"], [a, W], [i, S]],
978
+ [
979
+ /crkey/i
980
+ // Google Chromecast, Linux-based or unknown
981
+ ],
982
+ [[t, q], [a, W], [i, S]],
983
+ [
984
+ /(portaltv)/i
985
+ // Facebook Portal TV
986
+ ],
987
+ [t, [a, Me], [i, S]],
988
+ [
989
+ /droid.+aft(\w+)( bui|\))/i
990
+ // Fire TV
991
+ ],
992
+ [t, [a, he], [i, S]],
993
+ [
994
+ /(shield \w+ tv)/i
995
+ // Nvidia Shield TV
996
+ ],
997
+ [t, [a, ti], [i, S]],
998
+ [
999
+ /\(dtv[\);].+(aquos)/i,
1000
+ /(aquos-tv[\w ]+)\)/i
1001
+ // Sharp
1002
+ ],
1003
+ [t, [a, ri], [i, S]],
1004
+ [
1005
+ /(bravia[\w ]+)( bui|\))/i
1006
+ // Sony
1007
+ ],
1008
+ [t, [a, de], [i, S]],
1009
+ [
1010
+ /(mi(tv|box)-?\w+) bui/i
1011
+ // Xiaomi
1012
+ ],
1013
+ [t, [a, Ae], [i, S]],
1014
+ [
1015
+ /Hbbtv.*(technisat) (.*);/i
1016
+ // TechniSAT
1017
+ ],
1018
+ [a, t, [i, S]],
1019
+ [
1020
+ /\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
1021
+ // Roku
1022
+ /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
1023
+ // HbbTV devices
1024
+ ],
1025
+ [[a, /.+\/(\w+)/, "$1", T, { LG: "lge" }], [t, pe], [i, S]],
1026
+ [
1027
+ ///////////////////
1028
+ // CONSOLES
1029
+ ///////////////////
1030
+ /(playstation \w+)/i
1031
+ // Playstation
1032
+ ],
1033
+ [t, [a, de], [i, ke]],
1034
+ [
1035
+ /\b(xbox(?: one)?(?!; xbox))[\); ]/i
1036
+ // Microsoft Xbox
1037
+ ],
1038
+ [t, [a, Ie], [i, ke]],
1039
+ [
1040
+ /(ouya)/i,
1041
+ // Ouya
1042
+ /(nintendo) (\w+)/i,
1043
+ // Nintendo
1044
+ /(retroid) (pocket ([^\)]+))/i,
1045
+ // Retroid Pocket
1046
+ /(valve).+(steam deck)/i,
1047
+ /droid.+; ((shield|rgcube|gr0006))( bui|\))/i
1048
+ // Nvidia Portable/Anbernic/Logitech
1049
+ ],
1050
+ [[a, T, { Nvidia: "Shield", Anbernic: "RGCUBE", Logitech: "GR0006" }], t, [i, ke]],
1051
+ [
1052
+ ///////////////////
1053
+ // WEARABLES
1054
+ ///////////////////
1055
+ /\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i
1056
+ // Samsung Galaxy Watch
1057
+ ],
1058
+ [t, [a, le], [i, D]],
1059
+ [
1060
+ /((pebble))app/i,
1061
+ // Pebble
1062
+ /(asus|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i
1063
+ // Asus ZenWatch / LG Watch / Pixel Watch / Xiaomi Watch
1064
+ ],
1065
+ [a, t, [i, D]],
1066
+ [
1067
+ /(ow(?:19|20)?we?[1-3]{1,3})/i
1068
+ // Oppo Watch
1069
+ ],
1070
+ [t, [a, Te], [i, D]],
1071
+ [
1072
+ /(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
1073
+ // Apple Watch
1074
+ ],
1075
+ [t, [a, X], [i, D]],
1076
+ [
1077
+ /(opwwe\d{3})/i
1078
+ // OnePlus Watch
1079
+ ],
1080
+ [t, [a, oi], [i, D]],
1081
+ [
1082
+ /(moto 360)/i
1083
+ // Motorola 360
1084
+ ],
1085
+ [t, [a, Re], [i, D]],
1086
+ [
1087
+ /(smartwatch 3)/i
1088
+ // Sony SmartWatch
1089
+ ],
1090
+ [t, [a, de], [i, D]],
1091
+ [
1092
+ /(g watch r)/i
1093
+ // LG G Watch R
1094
+ ],
1095
+ [t, [a, ge], [i, D]],
1096
+ [
1097
+ /droid.+; (wt63?0{2,3})\)/i
1098
+ ],
1099
+ [t, [a, De], [i, D]],
1100
+ [
1101
+ ///////////////////
1102
+ // XR
1103
+ ///////////////////
1104
+ /droid.+; (glass) \d/i
1105
+ // Google Glass
1106
+ ],
1107
+ [t, [a, W], [i, fe]],
1108
+ [
1109
+ /(pico) ([\w ]+) os\d/i
1110
+ // Pico
1111
+ ],
1112
+ [a, t, [i, fe]],
1113
+ [
1114
+ /(quest( \d| pro)?s?).+vr/i
1115
+ // Meta Quest
1116
+ ],
1117
+ [t, [a, Me], [i, fe]],
1118
+ [
1119
+ /mobile vr; rv.+firefox/i
1120
+ // Unidentifiable VR device using Firefox Reality / Wolvic
1121
+ ],
1122
+ [[i, fe]],
1123
+ [
1124
+ ///////////////////
1125
+ // EMBEDDED
1126
+ ///////////////////
1127
+ /(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
1128
+ // Tesla
1129
+ ],
1130
+ [a, [i, ce]],
1131
+ [
1132
+ /(aeobc)\b/i
1133
+ // Echo Dot
1134
+ ],
1135
+ [t, [a, he], [i, ce]],
1136
+ [
1137
+ /(homepod).+mac os/i
1138
+ // Apple HomePod
1139
+ ],
1140
+ [t, [a, X], [i, ce]],
1141
+ [
1142
+ /windows iot/i
1143
+ // Unidentifiable embedded device using Windows IoT
1144
+ ],
1145
+ [[i, ce]],
1146
+ [
1147
+ ////////////////////
1148
+ // MIXED (GENERIC)
1149
+ ///////////////////
1150
+ /droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i
1151
+ // Unidentifiable SmartTV
1152
+ ],
1153
+ [t, [i, S]],
1154
+ [
1155
+ /\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i
1156
+ ],
1157
+ [[i, S]],
1158
+ [
1159
+ /droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i
1160
+ ],
1161
+ [t, [i, T, { mobile: "Mobile", xr: "VR", "*": g }]],
1162
+ [
1163
+ /\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
1164
+ // Unidentifiable Tablet
1165
+ ],
1166
+ [[i, g]],
1167
+ [
1168
+ /(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
1169
+ // Unidentifiable Mobile
1170
+ ],
1171
+ [[i, c]],
1172
+ [
1173
+ /droid .+?; ([\w\. -]+)( bui|\))/i
1174
+ // Generic Android Device
1175
+ ],
1176
+ [t, [a, "Generic"]]
1177
+ ],
1178
+ engine: [
1179
+ [
1180
+ /windows.+ edge\/([\w\.]+)/i
1181
+ // EdgeHTML
1182
+ ],
1183
+ [r, [o, xe + "HTML"]],
1184
+ [
1185
+ /(arkweb)\/([\w\.]+)/i
1186
+ // ArkWeb
1187
+ ],
1188
+ [o, r],
1189
+ [
1190
+ /webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
1191
+ // Blink
1192
+ ],
1193
+ [r, [o, "Blink"]],
1194
+ [
1195
+ /(presto)\/([\w\.]+)/i,
1196
+ // Presto
1197
+ /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,
1198
+ // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo
1199
+ /ekioh(flow)\/([\w\.]+)/i,
1200
+ // Flow
1201
+ /(khtml|tasman|links|dillo)[\/ ]\(?([\w\.]+)/i,
1202
+ // KHTML/Tasman/Links/Dillo
1203
+ /(icab)[\/ ]([23]\.[\d\.]+)/i,
1204
+ // iCab
1205
+ /\b(libweb)/i
1206
+ // LibWeb
1207
+ ],
1208
+ [o, r],
1209
+ [
1210
+ /ladybird\//i
1211
+ ],
1212
+ [[o, "LibWeb"]],
1213
+ [
1214
+ /rv\:([\w\.]{1,9})\b.+(gecko)/i
1215
+ // Gecko
1216
+ ],
1217
+ [r, o]
1218
+ ],
1219
+ os: [
1220
+ [
1221
+ // Windows
1222
+ /(windows nt) (6\.[23]); arm/i
1223
+ // Windows RT
1224
+ ],
1225
+ [[o, /N/, "R"], [r, T, li]],
1226
+ [
1227
+ /(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,
1228
+ // Windows IoT/Mobile/Phone
1229
+ // Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11
1230
+ /(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i
1231
+ ],
1232
+ [o, r],
1233
+ [
1234
+ /windows nt ?([\d\.\)]*)(?!.+xbox)/i,
1235
+ /\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i
1236
+ ],
1237
+ [[r, /(;|\))/g, "", T, li], [o, Ne]],
1238
+ [
1239
+ /(windows ce)\/?([\d\.]*)/i
1240
+ // Windows CE
1241
+ ],
1242
+ [o, r],
1243
+ [
1244
+ // iOS/macOS
1245
+ /[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
1246
+ // iOS
1247
+ /(?:ios;fbsv|ios(?=.+ip(?:ad|hone)|.+apple ?tv)|ip(?:ad|hone)(?: |.+i(?:pad)?)os|apple ?tv.+ios)[\/ ]([\w\.]+)/i,
1248
+ /\btvos ?([\w\.]+)/i,
1249
+ /cfnetwork\/.+darwin/i
1250
+ ],
1251
+ [[r, /_/g, "."], [o, "iOS"]],
1252
+ [
1253
+ /(mac os x) ?([\w\. ]*)/i,
1254
+ /(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i
1255
+ // Mac OS
1256
+ ],
1257
+ [[o, "macOS"], [r, /_/g, "."]],
1258
+ [
1259
+ // Google Chromecast
1260
+ /android ([\d\.]+).*crkey/i
1261
+ // Google Chromecast, Android-based
1262
+ ],
1263
+ [r, [o, q + " Android"]],
1264
+ [
1265
+ /fuchsia.*crkey\/([\d\.]+)/i
1266
+ // Google Chromecast, Fuchsia-based
1267
+ ],
1268
+ [r, [o, q + " Fuchsia"]],
1269
+ [
1270
+ /crkey\/([\d\.]+).*devicetype\/smartspeaker/i
1271
+ // Google Chromecast, Linux-based Smart Speaker
1272
+ ],
1273
+ [r, [o, q + " SmartSpeaker"]],
1274
+ [
1275
+ /linux.*crkey\/([\d\.]+)/i
1276
+ // Google Chromecast, Legacy Linux-based
1277
+ ],
1278
+ [r, [o, q + " Linux"]],
1279
+ [
1280
+ /crkey\/([\d\.]+)/i
1281
+ // Google Chromecast, unknown
1282
+ ],
1283
+ [r, [o, q]],
1284
+ [
1285
+ // Mobile OSes
1286
+ /droid ([\w\.]+)\b.+(android[- ]x86)/i
1287
+ // Android-x86
1288
+ ],
1289
+ [r, o],
1290
+ [
1291
+ /(ubuntu) ([\w\.]+) like android/i
1292
+ // Ubuntu Touch
1293
+ ],
1294
+ [[o, /(.+)/, "$1 Touch"], r],
1295
+ [
1296
+ /(harmonyos)[\/ ]?([\d\.]*)/i,
1297
+ // HarmonyOS
1298
+ // Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen
1299
+ /(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i
1300
+ ],
1301
+ [o, r],
1302
+ [
1303
+ /\(bb(10);/i
1304
+ // BlackBerry 10
1305
+ ],
1306
+ [r, [o, ei]],
1307
+ [
1308
+ /(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i
1309
+ // Symbian
1310
+ ],
1311
+ [r, [o, "Symbian"]],
1312
+ [
1313
+ /mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i
1314
+ // Firefox OS
1315
+ ],
1316
+ [r, [o, ue + " OS"]],
1317
+ [
1318
+ /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,
1319
+ // WebOS
1320
+ /webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i
1321
+ ],
1322
+ [r, [o, "webOS"]],
1323
+ [
1324
+ /web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i
1325
+ // https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine
1326
+ ],
1327
+ [[r, T, { 25: "120", 24: "108", 23: "94", 22: "87", 6: "79", 5: "68", 4: "53", 3: "38", 2: "538", 1: "537", "*": "TV" }], [o, "webOS"]],
1328
+ [
1329
+ /watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i
1330
+ // watchOS
1331
+ ],
1332
+ [r, [o, "watchOS"]],
1333
+ [
1334
+ // Google ChromeOS
1335
+ /cros [\w]+(?:\)| ([\w\.]+)\b)/i
1336
+ // Chromium OS
1337
+ ],
1338
+ [r, [o, "Chrome OS"]],
1339
+ [
1340
+ // Smart TVs
1341
+ /kepler ([\w\.]+); (aft|aeo)/i
1342
+ // Vega OS
1343
+ ],
1344
+ [r, [o, "Vega OS"]],
1345
+ [
1346
+ /(netrange)mmh/i,
1347
+ // Netrange
1348
+ /(nettv)\/(\d+\.[\w\.]+)/i,
1349
+ // NetTV
1350
+ // Console
1351
+ /(nintendo|playstation) (\w+)/i,
1352
+ // Nintendo/Playstation
1353
+ /(xbox); +xbox ([^\);]+)/i,
1354
+ // Microsoft Xbox (360, One, X, S, Series X, Series S)
1355
+ /(pico) .+os([\w\.]+)/i,
1356
+ // Pico
1357
+ // Other
1358
+ /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
1359
+ // Joli/Palm
1360
+ /linux.+(mint)[\/\(\) ]?([\w\.]*)/i,
1361
+ // Mint
1362
+ /(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,
1363
+ // Mageia/VectorLinux/Fuchsia/ArcaOS/Arch
1364
+ /([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
1365
+ // Ubuntu/Debian/SUSE/Gentoo/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire/Knoppix
1366
+ /((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
1367
+ // Solaris
1368
+ /\b(aix)[; ]([1-9\.]{0,4})/i,
1369
+ // AIX
1370
+ /(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,
1371
+ // Hurd/Linux/MorphOS
1372
+ /(gnu) ?([\w\.]*)/i,
1373
+ // GNU
1374
+ /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
1375
+ // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
1376
+ /(haiku) ?(r\d)?/i
1377
+ // Haiku
1378
+ ],
1379
+ [o, r],
1380
+ [
1381
+ /(sunos) ?([\d\.]*)/i
1382
+ // Solaris
1383
+ ],
1384
+ [[o, "Solaris"], r],
1385
+ [
1386
+ /\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,
1387
+ // BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS
1388
+ /(unix) ?([\w\.]*)/i
1389
+ // UNIX
1390
+ ],
1391
+ [o, r]
1392
+ ]
1393
+ }, ve = function() {
1394
+ var e = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };
1395
+ return U.call(e.init, [
1396
+ [O, [o, r, we, i]],
1397
+ [F, [C]],
1398
+ [M, [i, t, a]],
1399
+ [A, [o, r]],
1400
+ [R, [o, r]]
1401
+ ]), U.call(e.isIgnore, [
1402
+ [O, [r, we]],
1403
+ [A, [r]],
1404
+ [R, [r]]
1405
+ ]), U.call(e.isIgnoreRgx, [
1406
+ [O, / ?browser$/i],
1407
+ [R, / ?os$/i]
1408
+ ]), U.call(e.toString, [
1409
+ [O, [o, r]],
1410
+ [F, [C]],
1411
+ [M, [a, t]],
1412
+ [A, [o, r]],
1413
+ [R, [o, r]]
1414
+ ]), e;
1415
+ }(), Bi = function(e, s) {
1416
+ var n = ve.init[s], w = ve.isIgnore[s] || 0, b = ve.isIgnoreRgx[s] || 0, m = ve.toString[s] || 0;
1417
+ function l() {
1418
+ U.call(this, n);
1419
+ }
1420
+ return l.prototype.getItem = function() {
1421
+ return e;
1422
+ }, l.prototype.withClientHints = function() {
1423
+ return J ? J.getHighEntropyValues(bi).then(function(u) {
1424
+ return e.setCH(new pi(u, !1)).parseCH().get();
1425
+ }) : e.parseCH().get();
1426
+ }, l.prototype.withFeatureCheck = function() {
1427
+ return e.detectFeature().get();
1428
+ }, s != oe && (l.prototype.is = function(u) {
1429
+ var d = !1;
1430
+ for (var y in this)
1431
+ if (this.hasOwnProperty(y) && !qe(w, y) && V(b ? be(b, this[y]) : this[y]) == V(b ? be(b, u) : u)) {
1432
+ if (d = !0, u != x.UNDEFINED) break;
1433
+ } else if (u == x.UNDEFINED && d) {
1434
+ d = !d;
1435
+ break;
1436
+ }
1437
+ return d;
1438
+ }, l.prototype.toString = function() {
1439
+ var u = te;
1440
+ for (var d in m)
1441
+ typeof this[m[d]] !== x.UNDEFINED && (u += (u ? " " : te) + this[m[d]]);
1442
+ return u || x.UNDEFINED;
1443
+ }), l.prototype.then = function(u) {
1444
+ var d = this, y = function() {
1445
+ for (var E in d)
1446
+ d.hasOwnProperty(E) && (this[E] = d[E]);
1447
+ };
1448
+ y.prototype = {
1449
+ is: l.prototype.is,
1450
+ toString: l.prototype.toString,
1451
+ withClientHints: l.prototype.withClientHints,
1452
+ withFeatureCheck: l.prototype.withFeatureCheck
1453
+ };
1454
+ var p = new y();
1455
+ return u(p), p;
1456
+ }, new l();
1457
+ };
1458
+ function pi(e, s) {
1459
+ if (e = e || {}, U.call(this, bi), s)
1460
+ U.call(this, [
1461
+ [ze, Le(e[z])],
1462
+ [$e, Le(e[Ti])],
1463
+ [c, /\?1/.test(e[Li])],
1464
+ [t, ee(e[Ui])],
1465
+ [re, ee(e[wi])],
1466
+ [Ge, ee(e[Fi])],
1467
+ [C, ee(e[Ai])],
1468
+ [Y, Le(e[Mi])],
1469
+ [Ee, ee(e[Di])]
1470
+ ]);
1471
+ else
1472
+ for (var n in e)
1473
+ this.hasOwnProperty(n) && typeof e[n] !== x.UNDEFINED && (this[n] = e[n]);
1474
+ }
1475
+ function B(e, s, n, w) {
1476
+ return U.call(this, [
1477
+ ["itemType", e],
1478
+ ["ua", s],
1479
+ ["uaCH", w],
1480
+ ["rgxMap", n],
1481
+ ["data", Bi(this, e)]
1482
+ ]), this;
1483
+ }
1484
+ B.prototype.get = function(e) {
1485
+ return e ? this.data.hasOwnProperty(e) ? this.data[e] : void 0 : this.data;
1486
+ };
1487
+ B.prototype.set = function(e, s) {
1488
+ return this.data[e] = s, this;
1489
+ };
1490
+ B.prototype.setCH = function(e) {
1491
+ return this.uaCH = e, this;
1492
+ };
1493
+ B.prototype.detectFeature = function() {
1494
+ if (_ && _.userAgent == this.ua)
1495
+ switch (this.itemType) {
1496
+ case O:
1497
+ _.brave && typeof _.brave.isBrave == x.FUNCTION && this.set(o, "Brave");
1498
+ break;
1499
+ case M:
1500
+ !this.get(i) && J && J[c] && this.set(i, c), this.get(t) == "Macintosh" && _ && typeof _.standalone !== x.UNDEFINED && _.maxTouchPoints && _.maxTouchPoints > 2 && this.set(t, "iPad").set(i, g);
1501
+ break;
1502
+ case R:
1503
+ !this.get(o) && J && J[re] && this.set(o, J[re]);
1504
+ break;
1505
+ case oe:
1506
+ var e = this.data, s = function(n) {
1507
+ return e[n].getItem().detectFeature().get();
1508
+ };
1509
+ this.set(O, s(O)).set(F, s(F)).set(M, s(M)).set(A, s(A)).set(R, s(R));
1510
+ }
1511
+ return this;
1512
+ };
1513
+ B.prototype.parseUA = function() {
1514
+ switch (this.itemType != oe && Pe.call(this.data, this.ua, this.rgxMap), this.itemType) {
1515
+ case O:
1516
+ this.set(we, He(this.get(r)));
1517
+ break;
1518
+ case R:
1519
+ if (this.get(o) == "iOS" && this.get(r) && /^1[89][^\d]/.exec(this.get(r))) {
1520
+ var e = /\) Version\/((\d+)[\d\.]*)/.exec(this.ua);
1521
+ e && parseInt(e[2], 10) >= 26 && this.set(r, e[1]);
1522
+ }
1523
+ break;
1524
+ }
1525
+ return this;
1526
+ };
1527
+ B.prototype.parseCH = function() {
1528
+ var e = this.uaCH, s = this.rgxMap;
1529
+ switch (this.itemType) {
1530
+ case O:
1531
+ case A:
1532
+ var n = e[$e] || e[ze], w;
1533
+ if (n)
1534
+ for (var b = 0; b < n.length; b++) {
1535
+ var m = n[b].brand || n[b], l = n[b].version;
1536
+ this.itemType == O && !/not.a.brand/i.test(m) && (!w || /Chrom/.test(w) && m != si || w == xe && /WebView2/.test(m)) && (m = T(m, Pi), w = this.get(o), w && !/Chrom/.test(w) && /Chrom/.test(m) || this.set(o, m).set(r, l).set(we, He(l)), w = m), this.itemType == A && m == si && this.set(r, l);
1537
+ }
1538
+ break;
1539
+ case F:
1540
+ var u = e[C];
1541
+ u && (u && e[Ee] == "64" && (u += "64"), Pe.call(this.data, u + ";", s));
1542
+ break;
1543
+ case M:
1544
+ if (e[c] && this.set(i, c), e[t] && (this.set(t, e[t]), !this.get(i) || !this.get(a))) {
1545
+ var d = {};
1546
+ Pe.call(d, "droid 9; " + e[t] + ")", s), !this.get(i) && d.type && this.set(i, d.type), !this.get(a) && d.vendor && this.set(a, d.vendor);
1547
+ }
1548
+ if (e[Y]) {
1549
+ var y;
1550
+ if (typeof e[Y] != "string")
1551
+ for (var p = 0; !y && p < e[Y].length; )
1552
+ y = T(e[Y][p++], di);
1553
+ else
1554
+ y = T(e[Y], di);
1555
+ this.set(i, y);
1556
+ }
1557
+ break;
1558
+ case R:
1559
+ var E = e[re];
1560
+ if (E) {
1561
+ var se = e[Ge];
1562
+ E == Ne && (se = parseInt(He(se), 10) >= 13 ? "11" : "10"), this.set(o, E).set(r, se);
1563
+ }
1564
+ this.get(o) == Ne && e[t] == "Xbox" && this.set(o, "Xbox").set(r, void 0);
1565
+ break;
1566
+ case oe:
1567
+ var f = this.data, h = function(ne) {
1568
+ return f[ne].getItem().setCH(e).parseCH().get();
1569
+ };
1570
+ this.set(O, h(O)).set(F, h(F)).set(M, h(M)).set(A, h(A)).set(R, h(R));
1571
+ }
1572
+ return this;
1573
+ };
1574
+ function N(e, s, n) {
1575
+ if (typeof e === x.OBJECT ? (Se(e, !0) ? (typeof s === x.OBJECT && (n = s), s = e) : (n = e, s = void 0), e = void 0) : typeof e === x.STRING && !Se(s, !0) && (n = s, s = void 0), n)
1576
+ if (typeof n.append === x.FUNCTION) {
1577
+ var w = {};
1578
+ n.forEach(function(p, E) {
1579
+ w[String(E).toLowerCase()] = p;
1580
+ }), n = w;
1581
+ } else {
1582
+ var b = {};
1583
+ for (var m in n)
1584
+ n.hasOwnProperty(m) && (b[String(m).toLowerCase()] = n[m]);
1585
+ n = b;
1586
+ }
1587
+ if (!(this instanceof N))
1588
+ return new N(e, s, n).getResult();
1589
+ var l = typeof e === x.STRING ? e : (
1590
+ // Passed user-agent string
1591
+ n && n[Ke] ? n[Ke] : (
1592
+ // User-Agent from passed headers
1593
+ _ && _.userAgent ? _.userAgent : (
1594
+ // navigator.userAgent
1595
+ te
1596
+ )
1597
+ )
1598
+ ), u = new pi(n, !0), d = Vi, y = function(p) {
1599
+ return p == oe ? function() {
1600
+ return new B(p, l, d, u).set("ua", l).set(O, this.getBrowser()).set(F, this.getCPU()).set(M, this.getDevice()).set(A, this.getEngine()).set(R, this.getOS()).get();
1601
+ } : function() {
1602
+ return new B(p, l, d[p], u).parseUA().get();
1603
+ };
1604
+ };
1605
+ return U.call(this, [
1606
+ ["getBrowser", y(O)],
1607
+ ["getCPU", y(F)],
1608
+ ["getDevice", y(M)],
1609
+ ["getEngine", y(A)],
1610
+ ["getOS", y(R)],
1611
+ ["getResult", y(oe)],
1612
+ ["getUA", function() {
1613
+ return l;
1614
+ }],
1615
+ ["setUA", function(p) {
1616
+ return ae(p) && (l = pe(p, ci)), this;
1617
+ }],
1618
+ ["useExtension", function(p) {
1619
+ return p && (d = qi(d, p)), this;
1620
+ }]
1621
+ ]).setUA(l).useExtension(s), this;
1622
+ }
1623
+ N.VERSION = Ii;
1624
+ N.BROWSER = Ce([o, r, we, i]);
1625
+ N.CPU = Ce([C]);
1626
+ N.DEVICE = Ce([t, a, i, ke, c, S, g, D, ce]);
1627
+ N.ENGINE = N.OS = Ce([o, r]);
1628
+ const zi = { class: "space-y-16" }, $i = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Gi = { class: "fm-typo-en-body-md-600" }, Wi = { class: "mt-48" }, ji = { class: "space-y-16" }, Yi = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Ji = {
1629
+ key: 0,
1630
+ class: "fm-typo-en-body-md-600"
1631
+ }, Xi = {
1632
+ key: 1,
1633
+ class: "fm-typo-en-body-md-600"
1634
+ }, Ki = { class: "mt-48" }, Zi = { class: "space-y-16" }, Qi = { class: "fm-typo-en-body-md-600" }, et = { class: "fm-typo-en-body-md-600" }, it = /* @__PURE__ */ Ve({
1635
+ __name: "AuditLogDetailSheet",
1636
+ props: {
1637
+ auditLog: {
1638
+ type: Object,
1639
+ required: !0
1640
+ }
1641
+ },
1642
+ setup(e, { expose: s }) {
1643
+ const n = ye(!0), w = [
1644
+ {
1645
+ label: "ID",
1646
+ key: "_id"
1647
+ },
1648
+ {
1649
+ label: "Module Type",
1650
+ getter: (u) => u.moduleType ? Fe.title(u.moduleType) : "-"
1651
+ },
1652
+ {
1653
+ label: "User ID",
1654
+ key: "user"
1655
+ },
1656
+ {
1657
+ label: "User Name",
1658
+ key: "userName"
1659
+ },
1660
+ {
1661
+ label: "User Phone No.",
1662
+ key: "userPhoneNumber"
1663
+ },
1664
+ {
1665
+ label: "Client IP",
1666
+ key: "clientIp"
1667
+ },
1668
+ {
1669
+ label: "Timestamp",
1670
+ getter: (u) => u.timestamp ? Q(u.timestamp).format("D MMM YYYY, hh:mmA") : "-"
1671
+ }
1672
+ ], b = [
1673
+ {
1674
+ label: "Request Method",
1675
+ key: "httpMethod"
1676
+ },
1677
+ {
1678
+ label: "Request URL",
1679
+ getter: (u) => `${u.request.host}${u.request.url}`
1680
+ },
1681
+ {
1682
+ label: "User Agent",
1683
+ getter: (u) => N(u.request.userAgent),
1684
+ isJson: !0
1685
+ },
1686
+ {
1687
+ label: "Request Params",
1688
+ getter: (u) => u.request.params || "-",
1689
+ isJson: !0
1690
+ },
1691
+ {
1692
+ label: "Request Query",
1693
+ getter: (u) => u.request.query || "-",
1694
+ isJson: !0
1695
+ },
1696
+ {
1697
+ label: "Request Body",
1698
+ getter: (u) => u.request.body || "-",
1699
+ isJson: !0
1700
+ }
1701
+ ];
1702
+ function m() {
1703
+ n.value = !0;
1704
+ }
1705
+ function l() {
1706
+ n.value = !1;
1707
+ }
1708
+ return s({
1709
+ showSheet: m,
1710
+ hideSheet: l
1711
+ }), (u, d) => {
1712
+ const y = Be("FmSideSheet");
1713
+ return P(), ui(y, {
1714
+ modelValue: v(n),
1715
+ "onUpdate:modelValue": d[0] || (d[0] = (p) => mi(n) ? n.value = p : null),
1716
+ header: "Audit Log Detail",
1717
+ "dismiss-away": "",
1718
+ "close-button": !0,
1719
+ "max-width": 650
1720
+ }, {
1721
+ "side-sheet-footer": We(() => [...d[6] || (d[6] = [])]),
1722
+ default: We(() => [
1723
+ k("div", null, [
1724
+ d[1] || (d[1] = k("div", { class: "fm-typo-en-title-sm-800 my-24" }, "Log Information", -1)),
1725
+ k("div", zi, [
1726
+ (P(), ie(Ue, null, je(w, (p, E) => k("div", { key: E }, [
1727
+ k("div", $i, $(p.label), 1),
1728
+ k("div", Gi, $((p.key ? e.auditLog[p.key] : p.getter(e.auditLog)) || "-"), 1)
1729
+ ])), 64))
1730
+ ])
1731
+ ]),
1732
+ k("div", Wi, [
1733
+ d[2] || (d[2] = k("div", { class: "fm-typo-en-title-sm-800 mb-24" }, "Request Detail", -1)),
1734
+ k("div", ji, [
1735
+ (P(), ie(Ue, null, je(b, (p, E) => k("div", { key: E }, [
1736
+ k("div", Yi, $(p.label), 1),
1737
+ p.isJson ? (P(), ie("pre", Xi, $(p.key ? e.auditLog.request[p.key] : p.getter(e.auditLog) || "-"), 1)) : (P(), ie("div", Ji, $(p.key ? e.auditLog.request[p.key] : p.getter(e.auditLog) || "-"), 1))
1738
+ ])), 64))
1739
+ ])
1740
+ ]),
1741
+ k("div", Ki, [
1742
+ d[5] || (d[5] = k("div", { class: "fm-typo-en-title-sm-800 mb-24" }, "Response Detail", -1)),
1743
+ k("div", Zi, [
1744
+ k("div", null, [
1745
+ d[3] || (d[3] = k("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Status Code ", -1)),
1746
+ k("div", Qi, $(e.auditLog.response.statusCode || "-"), 1)
1747
+ ]),
1748
+ k("div", null, [
1749
+ d[4] || (d[4] = k("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Response Body ", -1)),
1750
+ k("pre", et, $(e.auditLog.response.body || "-"), 1)
1751
+ ])
1752
+ ])
1753
+ ])
1754
+ ]),
1755
+ _: 1
1756
+ }, 8, ["modelValue"]);
1757
+ };
1758
+ }
1759
+ }), tt = () => {
1760
+ const e = Ei.getBusinessId();
1761
+ if (!e) throw new Error("Invalid business ID");
1762
+ return Ci(`businesses/${e}/audit-logs`, {
1763
+ noIdRequired: !0
1764
+ });
1765
+ }, ot = {
1766
+ async readAll(e, s) {
1767
+ const n = Si(
1768
+ await tt().get("", {
1769
+ params: { ...e, ...s }
1770
+ })
1771
+ );
1772
+ return {
1773
+ meta: n.meta,
1774
+ resources: n.resources
1775
+ };
1776
+ }
1777
+ }, rt = { class: "hidden xs:flex items-center justify-end" }, at = { class: "flex items-center justify-between" }, st = { class: "flex gap-8 items-center w-full overflow-x-scroll" }, nt = /* @__PURE__ */ Ve({
1778
+ __name: "AuditLogsTable",
1779
+ setup(e) {
1780
+ const s = ye(), n = ye(), w = [
1781
+ {
1782
+ header: "Audit Log ID",
1783
+ accessorKey: "_id",
1784
+ meta: {
1785
+ maxWidth: "100px"
1786
+ },
1787
+ cell(f) {
1788
+ return G("div", { class: "flex items-center" }, [
1789
+ G(Ye.FmIcon, {
1790
+ name: "content_copy",
1791
+ outline: !0,
1792
+ size: "sm",
1793
+ class: "cursor-pointer mr-4",
1794
+ onClick: (h) => {
1795
+ h.preventDefault(), h.stopPropagation(), Xe(f.row.original._id.toString());
1796
+ }
1797
+ }),
1798
+ G(
1799
+ "div",
1800
+ { class: "pr-2 text-ellipsis overflow-hidden" },
1801
+ f.row.original._id.toString()
1802
+ )
1803
+ ]);
1804
+ },
1805
+ enableSorting: !1
1806
+ },
1807
+ {
1808
+ header: "Timestamp",
1809
+ accessorKey: "timestamp",
1810
+ accessorFn: (f) => Q(_i(f._id.toString())).format("D MMM YYYY, hh:mmA"),
1811
+ enableSorting: !0
1812
+ },
1813
+ {
1814
+ header: "Status",
1815
+ accessorKey: "response.statusCode",
1816
+ enableSorting: !1
1817
+ },
1818
+ {
1819
+ header: "Module Type",
1820
+ accessorKey: "moduleType",
1821
+ accessorFn: (f) => f.moduleType ? Fe.title(f.moduleType) : "-",
1822
+ enableSorting: !1
1823
+ },
1824
+ {
1825
+ header: "User ID",
1826
+ accessorKey: "user",
1827
+ cell(f) {
1828
+ return G("div", { class: "flex items-center" }, [
1829
+ G(Ye.FmIcon, {
1830
+ name: "content_copy",
1831
+ outline: !0,
1832
+ size: "sm",
1833
+ class: "cursor-pointer mr-4",
1834
+ onClick: (h) => {
1835
+ h.preventDefault(), h.stopPropagation(), Xe(f.row.original.user);
1836
+ }
1837
+ }),
1838
+ G(
1839
+ "div",
1840
+ { class: "pr-2 text-ellipsis overflow-hidden" },
1841
+ f.row.original.user
1842
+ )
1843
+ ]);
1844
+ },
1845
+ enableSorting: !1
1846
+ },
1847
+ {
1848
+ header: "User Name",
1849
+ accessorKey: "userName",
1850
+ enableSorting: !1
1851
+ },
1852
+ {
1853
+ header: "User Phone No.",
1854
+ accessorFn: (f) => f.userPhoneNumber || "-",
1855
+ enableSorting: !1
1856
+ },
1857
+ {
1858
+ header: "Request URL",
1859
+ meta: {
1860
+ maxWidth: "400px"
1861
+ },
1862
+ cell(f) {
1863
+ return G(
1864
+ "div",
1865
+ { class: "break-words whitespace-normal" },
1866
+ `${f.row.original.request.host}${f.row.original.request.url}`
1867
+ );
1868
+ },
1869
+ accessorFn: (f) => `${f.request.host}${f.request.url}`,
1870
+ enableSorting: !1
1871
+ },
1872
+ {
1873
+ header: "Request Method",
1874
+ accessorKey: "request.httpMethod",
1875
+ enableSorting: !1
1876
+ },
1877
+ {
1878
+ header: "Client IP",
1879
+ accessorFn: (f) => f.clientIp || "-",
1880
+ enableSorting: !1
1881
+ }
1882
+ ], b = ye({
1883
+ search: "",
1884
+ dateRange: {
1885
+ startDate: Q().subtract(7, "day").toISOString(),
1886
+ endDate: Q().endOf("day").toISOString()
1887
+ },
1888
+ httpMethod: [],
1889
+ moduleType: []
1890
+ }), { tableMeta: m, rowData: l, onSort: u, debouncedFetchData: d, onSearch: y } = yi(async (f) => {
1891
+ const h = {
1892
+ ...b.value,
1893
+ dateRange: {
1894
+ start: new Date(b.value.dateRange.startDate).toISOString(),
1895
+ end: new Date(b.value.dateRange.endDate).toISOString()
1896
+ }
1897
+ };
1898
+ return await ot.readAll(f, h);
1899
+ }), p = [
1900
+ me.enum.POST,
1901
+ me.enum.PUT,
1902
+ me.enum.PATCH,
1903
+ me.enum.DELETE
1904
+ ].map((f) => ({ label: f, value: f })), E = xi.options.map((f) => ({ label: Fe.title(f), value: f })).sort((f, h) => f.label.localeCompare(h.label));
1905
+ fi(
1906
+ b,
1907
+ () => {
1908
+ d();
1909
+ },
1910
+ { deep: !0 }
1911
+ );
1912
+ function se(f) {
1913
+ var h;
1914
+ n.value = f.original, (h = s == null ? void 0 : s.value) == null || h.showSheet();
1915
+ }
1916
+ return hi(async () => {
1917
+ await d();
1918
+ }), (f, h) => {
1919
+ const ne = Be("FmSearch");
1920
+ return P(), ie("div", null, [
1921
+ k("div", rt, [
1922
+ H(ne, {
1923
+ class: "hidden xs:flex",
1924
+ modelValue: v(b).search,
1925
+ "onUpdate:modelValue": h[0] || (h[0] = (I) => v(b).search = I),
1926
+ placeholder: "Search",
1927
+ collapsible: ""
1928
+ }, null, 8, ["modelValue"])
1929
+ ]),
1930
+ k("div", at, [
1931
+ k("div", st, [
1932
+ H(Je, {
1933
+ class: "cursor-pointer text-fm-color-neutral-gray-400",
1934
+ "right-icon": "keyboard_arrow_down",
1935
+ modelValue: v(b).moduleType,
1936
+ "onUpdate:modelValue": h[1] || (h[1] = (I) => v(b).moduleType = I),
1937
+ label: "Module Type: ",
1938
+ "show-item-label": !0,
1939
+ items: v(E)
1940
+ }, null, 8, ["modelValue", "items"]),
1941
+ H(Je, {
1942
+ class: "cursor-pointer text-fm-color-neutral-gray-400",
1943
+ "right-icon": "keyboard_arrow_down",
1944
+ modelValue: v(b).httpMethod,
1945
+ "onUpdate:modelValue": h[2] || (h[2] = (I) => v(b).httpMethod = I),
1946
+ label: "Request Method: ",
1947
+ "show-item-label": !0,
1948
+ items: v(p)
1949
+ }, null, 8, ["modelValue", "items"]),
1950
+ H(vi, {
1951
+ "model-value": {
1952
+ startDate: v(b).dateRange.startDate,
1953
+ endDate: v(b).dateRange.endDate
1954
+ },
1955
+ "onUpdate:modelValue": h[3] || (h[3] = (I) => v(b).dateRange = {
1956
+ startDate: v(Q)(I.startDate).startOf("d").toISOString(),
1957
+ endDate: v(Q)(I.endDate).endOf("d").toISOString()
1958
+ })
1959
+ }, null, 8, ["model-value"])
1960
+ ]),
1961
+ H(ne, {
1962
+ class: "xs:hidden",
1963
+ modelValue: v(b).search,
1964
+ "onUpdate:modelValue": [
1965
+ h[4] || (h[4] = (I) => v(b).search = I),
1966
+ v(y)
1967
+ ],
1968
+ placeholder: "Search",
1969
+ collapsible: ""
1970
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
1971
+ ]),
1972
+ H(ki, {
1973
+ loading: v(m).isLoading,
1974
+ "row-data": v(l),
1975
+ "row-count": v(m).totalRows,
1976
+ "column-defs": w,
1977
+ "page-count": v(m).pageCount,
1978
+ "page-index": v(m).pageIndex,
1979
+ "page-size": v(m).pageSize,
1980
+ "shrink-at": !1,
1981
+ onSortChange: v(u),
1982
+ onPageChange: h[5] || (h[5] = (I) => v(d)({
1983
+ pageSize: I.pageSize,
1984
+ pageIndex: I.pageIndex
1985
+ })),
1986
+ onRowClick: se
1987
+ }, null, 8, ["loading", "row-data", "row-count", "page-count", "page-index", "page-size", "onSortChange"]),
1988
+ v(n) ? (P(), ui(it, {
1989
+ key: 0,
1990
+ ref_key: "sheetRef",
1991
+ ref: s,
1992
+ auditLog: v(n)
1993
+ }, null, 8, ["auditLog"])) : gi("", !0)
1994
+ ]);
1995
+ };
1996
+ }
1997
+ }), lt = { class: "px-24 flex flex-col gap-y-32 pb-24" }, It = /* @__PURE__ */ Ve({
1998
+ __name: "AuditLogs",
1999
+ setup(e) {
2000
+ const { t: s } = Oi();
2001
+ return (n, w) => {
2002
+ const b = Be("FmPageHead");
2003
+ return P(), ie(Ue, null, [
2004
+ H(b, {
2005
+ title: v(s)("connect.auditLogs.title")
2006
+ }, null, 8, ["title"]),
2007
+ k("div", lt, [
2008
+ H(nt)
2009
+ ])
2010
+ ], 64);
2011
+ };
2012
+ }
2013
+ });
2014
+ export {
2015
+ It as default
2016
+ };