const uni={
getStorageSync:k=>localStorage.getItem(k),
setStorageSync:(k,v)=>localStorage.setItem(k,v),
connectSocket:({url})=>{
const ws=new WebSocket(url); ws.binaryType='arraybuffer';
return {onOpen:f=>ws.addEventListener('open',f),onMessage:f=>ws.addEventListener('message',f),onError:f=>ws.addEventListener('error',f),onClose:f=>ws.addEventListener('close',f),send:({data})=>ws.send(data),close:({code,reason})=>ws.close(code,reason)};
}
};
const send=(kind,value)=>window.HybridWebView.SendRawMessage(JSON.stringify({kind,value}));
const dr = { exports: {} };
dr.exports = dr.exports = (function () {
function e(e, t) {
for (var o = 0; o < t.length; o++) {
var a = t[o];
((a.enumerable = a.enumerable || !1),
(a.configurable = !0),
"value" in a && (a.writable = !0),
Object.defineProperty(e, a.key, a));
}
}
var t = { ECB: 0, CBC: 1 },
o = { PKCS5: 0, ONE_AND_ZEROS: 1, LAST_BYTE: 2, NULL: 3, SPACES: 4 },
a = { STRING: 0, UINT8_ARRAY: 1, JSON_OBJECT: 2 },
r = [
608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832,
137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300,
3232508343, 3380367581, 1065670069, 3041331479, 2450970073,
2306472731,
],
n = [
3509652390, 2564797868, 805139163, 3491422135, 3101798381, 1780907670,
3128725573, 4046225305, 614570311, 3012652279, 134345442, 2240740374,
1667834072, 1901547113, 2757295779, 4103290238, 227898511, 1921955416,
1904987480, 2182433518, 2069144605, 3260701109, 2620446009, 720527379,
3318853667, 677414384, 3393288472, 3101374703, 2390351024, 1614419982,
1822297739, 2954791486, 3608508353, 3174124327, 2024746970,
1432378464, 3864339955, 2857741204, 1464375394, 1676153920,
1439316330, 715854006, 3033291828, 289532110, 2706671279, 2087905683,
3018724369, 1668267050, 732546397, 1947742710, 3462151702, 2609353502,
2950085171, 1814351708, 2050118529, 680887927, 999245976, 1800124847,
3300911131, 1713906067, 1641548236, 4213287313, 1216130144,
1575780402, 4018429277, 3917837745, 3693486850, 3949271944, 596196993,
3549867205, 258830323, 2213823033, 772490370, 2760122372, 1774776394,
2652871518, 566650946, 4142492826, 1728879713, 2882767088, 1783734482,
3629395816, 2517608232, 2874225571, 1861159788, 326777828, 3124490320,
2130389656, 2716951837, 967770486, 1724537150, 2185432712, 2364442137,
1164943284, 2105845187, 998989502, 3765401048, 2244026483, 1075463327,
1455516326, 1322494562, 910128902, 469688178, 1117454909, 936433444,
3490320968, 3675253459, 1240580251, 122909385, 2157517691, 634681816,
4142456567, 3825094682, 3061402683, 2540495037, 79693498, 3249098678,
1084186820, 1583128258, 426386531, 1761308591, 1047286709, 322548459,
995290223, 1845252383, 2603652396, 3431023940, 2942221577, 3202600964,
3727903485, 1712269319, 422464435, 3234572375, 1170764815, 3523960633,
3117677531, 1434042557, 442511882, 3600875718, 1076654713, 1738483198,
4213154764, 2393238008, 3677496056, 1014306527, 4251020053, 793779912,
2902807211, 842905082, 4246964064, 1395751752, 1040244610, 2656851899,
3396308128, 445077038, 3742853595, 3577915638, 679411651, 2892444358,
2354009459, 1767581616, 3150600392, 3791627101, 3102740896, 284835224,
4246832056, 1258075500, 768725851, 2589189241, 3069724005, 3532540348,
1274779536, 3789419226, 2764799539, 1660621633, 3471099624,
4011903706, 913787905, 3497959166, 737222580, 2514213453, 2928710040,
3937242737, 1804850592, 3499020752, 2949064160, 2386320175,
2390070455, 2415321851, 4061277028, 2290661394, 2416832540,
1336762016, 1754252060, 3520065937, 3014181293, 791618072, 3188594551,
3933548030, 2332172193, 3852520463, 3043980520, 413987798, 3465142937,
3030929376, 4245938359, 2093235073, 3534596313, 375366246, 2157278981,
2479649556, 555357303, 3870105701, 2008414854, 3344188149, 4221384143,
3956125452, 2067696032, 3594591187, 2921233993, 2428461, 544322398,
577241275, 1471733935, 610547355, 4027169054, 1432588573, 1507829418,
2025931657, 3646575487, 545086370, 48609733, 2200306550, 1653985193,
298326376, 1316178497, 3007786442, 2064951626, 458293330, 2589141269,
3591329599, 3164325604, 727753846, 2179363840, 146436021, 1461446943,
4069977195, 705550613, 3059967265, 3887724982, 4281599278, 3313849956,
1404054877, 2845806497, 146425753, 1854211946,
],
l = [
1266315497, 3048417604, 3681880366, 3289982499, 290971e4, 1235738493,
2632868024, 2414719590, 3970600049, 1771706367, 1449415276,
3266420449, 422970021, 1963543593, 2690192192, 3826793022, 1062508698,
1531092325, 1804592342, 2583117782, 2714934279, 4024971509,
1294809318, 4028980673, 1289560198, 2221992742, 1669523910, 35572830,
157838143, 1052438473, 1016535060, 1802137761, 1753167236, 1386275462,
3080475397, 2857371447, 1040679964, 2145300060, 2390574316,
1461121720, 2956646967, 4031777805, 4028374788, 33600511, 2920084762,
1018524850, 629373528, 3691585981, 3515945977, 2091462646, 2486323059,
586499841, 988145025, 935516892, 3367335476, 2599673255, 2839830854,
265290510, 3972581182, 2759138881, 3795373465, 1005194799, 847297441,
406762289, 1314163512, 1332590856, 1866599683, 4127851711, 750260880,
613907577, 1450815602, 3165620655, 3734664991, 3650291728, 3012275730,
3704569646, 1427272223, 778793252, 1343938022, 2676280711, 2052605720,
1946737175, 3164576444, 3914038668, 3967478842, 3682934266,
1661551462, 3294938066, 4011595847, 840292616, 3712170807, 616741398,
312560963, 711312465, 1351876610, 322626781, 1910503582, 271666773,
2175563734, 1594956187, 70604529, 3617834859, 1007753275, 1495573769,
4069517037, 2549218298, 2663038764, 504708206, 2263041392, 3941167025,
2249088522, 1514023603, 1998579484, 1312622330, 694541497, 2582060303,
2151582166, 1382467621, 776784248, 2618340202, 3323268794, 2497899128,
2784771155, 503983604, 4076293799, 907881277, 423175695, 432175456,
1378068232, 4145222326, 3954048622, 3938656102, 3820766613,
2793130115, 2977904593, 26017576, 3274890735, 3194772133, 1700274565,
1756076034, 4006520079, 3677328699, 720338349, 1533947780, 354530856,
688349552, 3973924725, 1637815568, 332179504, 3949051286, 53804574,
2852348879, 3044236432, 1282449977, 3583942155, 3416972820,
4006381244, 1617046695, 2628476075, 3002303598, 1686838959, 431878346,
2686675385, 1700445008, 1080580658, 1009431731, 832498133, 3223435511,
2605976345, 2271191193, 2516031870, 1648197032, 4164389018,
2548247927, 300782431, 375919233, 238389289, 3353747414, 2531188641,
2019080857, 1475708069, 455242339, 2609103871, 448939670, 3451063019,
1395535956, 2413381860, 1841049896, 1491858159, 885456874, 4264095073,
4001119347, 1565136089, 3898914787, 1108368660, 540939232, 1173283510,
2745871338, 3681308437, 4207628240, 3343053890, 4016749493,
1699691293, 1103962373, 3625875870, 2256883143, 3830138730,
1031889488, 3479347698, 1535977030, 4236805024, 3251091107,
2132092099, 1774941330, 1199868427, 1452454533, 157007616, 2904115357,
342012276, 595725824, 1480756522, 206960106, 497939518, 591360097,
863170706, 2375253569, 3596610801, 1814182875, 2094937945, 3421402208,
1082520231, 3463918190, 2785509508, 435703966, 3908032597, 1641649973,
2842273706, 3305899714, 1510255612, 2148256476, 2655287854,
3276092548, 4258621189, 236887753, 3681803219, 274041037, 1734335097,
3815195456, 3317970021, 1899903192, 1026095262, 4050517792, 356393447,
2410691914, 3873677099, 3682840055,
],
i = [
3913112168, 2491498743, 4132185628, 2489919796, 1091903735,
1979897079, 3170134830, 3567386728, 3557303409, 857797738, 1136121015,
1342202287, 507115054, 2535736646, 337727348, 3213592640, 1301675037,
2528481711, 1895095763, 1721773893, 3216771564, 62756741, 2142006736,
835421444, 2531993523, 1442658625, 3659876326, 2882144922, 676362277,
1392781812, 170690266, 3921047035, 1759253602, 3611846912, 1745797284,
664899054, 1329594018, 3901205900, 3045908486, 2062866102, 2865634940,
3543621612, 3464012697, 1080764994, 553557557, 3656615353, 3996768171,
991055499, 499776247, 1265440854, 648242737, 3940784050, 980351604,
3713745714, 1749149687, 3396870395, 4211799374, 3640570775,
1161844396, 3125318951, 1431517754, 545492359, 4268468663, 3499529547,
1437099964, 2702547544, 3433638243, 2581715763, 2787789398,
1060185593, 1593081372, 2418618748, 4260947970, 69676912, 2159744348,
86519011, 2512459080, 3838209314, 1220612927, 3339683548, 133810670,
1090789135, 1078426020, 1569222167, 845107691, 3583754449, 4072456591,
1091646820, 628848692, 1613405280, 3757631651, 526609435, 236106946,
48312990, 2942717905, 3402727701, 1797494240, 859738849, 992217954,
4005476642, 2243076622, 3870952857, 3732016268, 765654824, 3490871365,
2511836413, 1685915746, 3888969200, 1414112111, 2273134842,
3281911079, 4080962846, 172450625, 2569994100, 980381355, 4109958455,
2819808352, 2716589560, 2568741196, 3681446669, 3329971472,
1835478071, 660984891, 3704678404, 4045999559, 3422617507, 3040415634,
1762651403, 1719377915, 3470491036, 2693910283, 3642056355,
3138596744, 1364962596, 2073328063, 1983633131, 926494387, 3423689081,
2150032023, 4096667949, 1749200295, 3328846651, 309677260, 2016342300,
1779581495, 3079819751, 111262694, 1274766160, 443224088, 298511866,
1025883608, 3806446537, 1145181785, 168956806, 3641502830, 3584813610,
1689216846, 3666258015, 3200248200, 1692713982, 2646376535,
4042768518, 1618508792, 1610833997, 3523052358, 4130873264,
2001055236, 3610705100, 2202168115, 4028541809, 2961195399,
1006657119, 2006996926, 3186142756, 1430667929, 3210227297,
1314452623, 4074634658, 4101304120, 2273951170, 1399257539,
3367210612, 3027628629, 1190975929, 2062231137, 2333990788,
2221543033, 2438960610, 1181637006, 548689776, 2362791313, 3372408396,
3104550113, 3145860560, 296247880, 1970579870, 3078560182, 3769228297,
1714227617, 3291629107, 3898220290, 166772364, 1251581989, 493813264,
448347421, 195405023, 2709975567, 677966185, 3703036547, 1463355134,
2715995803, 1338867538, 1343315457, 2802222074, 2684532164, 233230375,
2599980071, 2000651841, 3277868038, 1638401717, 4028070440,
3237316320, 6314154, 819756386, 300326615, 590932579, 1405279636,
3267499572, 3150704214, 2428286686, 3959192993, 3461946742,
1862657033, 1266418056, 963775037, 2089974820, 2263052895, 1917689273,
448879540, 3550394620, 3981727096, 150775221, 3627908307, 1303187396,
508620638, 2975983352, 2726630617, 1817252668, 1876281319, 1457606340,
908771278, 3720792119, 3617206836, 2455994898, 1729034894, 1080033504,
],
s = [
976866871, 3556439503, 2881648439, 1522871579, 1555064734, 1336096578,
3548522304, 2579274686, 3574697629, 3205460757, 3593280638,
3338716283, 3079412587, 564236357, 2993598910, 1781952180, 1464380207,
3163844217, 3332601554, 1699332808, 1393555694, 1183702653,
3581086237, 1288719814, 691649499, 2847557200, 2895455976, 3193889540,
2717570544, 1781354906, 1676643554, 2592534050, 3230253752,
1126444790, 2770207658, 2633158820, 2210423226, 2615765581,
2414155088, 3127139286, 673620729, 2805611233, 1269405062, 4015350505,
3341807571, 4149409754, 1057255273, 2012875353, 2162469141,
2276492801, 2601117357, 993977747, 3918593370, 2654263191, 753973209,
36408145, 2530585658, 25011837, 3520020182, 2088578344, 530523599,
2918365339, 1524020338, 1518925132, 3760827505, 3759777254,
1202760957, 3985898139, 3906192525, 674977740, 4174734889, 2031300136,
2019492241, 3983892565, 4153806404, 3822280332, 352677332, 2297720250,
60907813, 90501309, 3286998549, 1016092578, 2535922412, 2839152426,
457141659, 509813237, 4120667899, 652014361, 1966332200, 2975202805,
55981186, 2327461051, 676427537, 3255491064, 2882294119, 3433927263,
1307055953, 942726286, 933058658, 2468411793, 3933900994, 4215176142,
1361170020, 2001714738, 2830558078, 3274259782, 1222529897,
1679025792, 2729314320, 3714953764, 1770335741, 151462246, 3013232138,
1682292957, 1483529935, 471910574, 1539241949, 458788160, 3436315007,
1807016891, 3718408830, 978976581, 1043663428, 3165965781, 1927990952,
4200891579, 2372276910, 3208408903, 3533431907, 1412390302,
2931980059, 4132332400, 1947078029, 3881505623, 4168226417,
2941484381, 1077988104, 1320477388, 886195818, 18198404, 3786409e3,
2509781533, 112762804, 3463356488, 1866414978, 891333506, 18488651,
661792760, 1628790961, 3885187036, 3141171499, 876946877, 2693282273,
1372485963, 791857591, 2686433993, 3759982718, 3167212022, 3472953795,
2716379847, 445679433, 3561995674, 3504004811, 3574258232, 54117162,
3331405415, 2381918588, 3769707343, 4154350007, 1140177722,
4074052095, 668550556, 3214352940, 367459370, 261225585, 2610173221,
4209349473, 3468074219, 3265815641, 314222801, 3066103646, 3808782860,
282218597, 3406013506, 3773591054, 379116347, 1285071038, 846784868,
2669647154, 3771962079, 3550491691, 2305946142, 453669953, 1268987020,
3317592352, 3279303384, 3744833421, 2610507566, 3859509063, 266596637,
3847019092, 517658769, 3462560207, 3443424879, 370717030, 4247526661,
2224018117, 4143653529, 4112773975, 2788324899, 2477274417,
1456262402, 2901442914, 1517677493, 1846949527, 2295493580,
3734397586, 2176403920, 1280348187, 1908823572, 3871786941, 846861322,
1172426758, 3287448474, 3383383037, 1655181056, 3139813346, 901632758,
1897031941, 2986607138, 3066810236, 3447102507, 1393639104, 373351379,
950779232, 625454576, 3124240540, 4148612726, 2007998917, 544563296,
2244738638, 2330496472, 2058025392, 1291430526, 424198748, 50039436,
29584100, 3605783033, 2429876329, 2791104160, 1057563949, 3255363231,
3075367218, 3463963227, 1469046755, 985887462,
];
function c(e) {
for (var t = 0, o = ""; t < e.length;) {
var a = e[t++];
if (127 < a)
if (191 < a && a < 224) {
if (t >= e.length) return o;
a = ((31 & a) << 6) | (63 & e[t++]);
} else if (223 < a && a < 240) {
if (t + 1 >= e.length) return o;
a = ((15 & a) << 12) | ((63 & e[t++]) << 6) | (63 & e[t++]);
} else {
if (!(239 < a && a < 248)) return o;
if (t + 2 >= e.length) return o;
a =
((7 & a) << 18) |
((63 & e[t++]) << 12) |
((63 & e[t++]) << 6) |
(63 & e[t++]);
}
if (a <= 65535) o += String.fromCharCode(a);
else {
if (!(a <= 1114111)) return o;
((a -= 65536),
(o =
(o += String.fromCharCode((a >> 10) | 55296)) +
String.fromCharCode((1023 & a) | 56320)));
}
}
return o;
}
function d(e) {
return e >>> 0;
}
function m(e, t) {
return d(e ^ t);
}
function u(e, t) {
return d((e + t) | 0);
}
function p(e, t, o, a) {
return d((e << 24) | (t << 16) | (o << 8) | a);
}
function h(e) {
return [(e >>> 24) & 255, (e >>> 16) & 255, (e >>> 8) & 255, 255 & e];
}
function E(e) {
return "string" == typeof e;
}
function g(e) {
return "object" == typeof e && "byteLength" in e;
}
function y(e) {
return e instanceof Uint8Array;
}
function f(e) {
return E(e) || g(e);
}
function w(e, t) {
var o = !1;
return (
Object.keys(e).forEach(function (a) {
e[a] === t && (o = !0);
}),
o
);
}
function N(e) {
if (E(e)) {
for (
var t = e, o = new Uint8Array(4 * t.length), a = 0, r = 0;
r !== t.length;
r++
) {
var n = t.charCodeAt(r);
if (n < 128) o[a++] = n;
else {
if (n < 2048) o[a++] = (n >> 6) | 192;
else {
if (55295 < n && n < 56320) {
if (++r >= t.length) return o.subarray(0, a);
var l = t.charCodeAt(r);
if (l < 56320 || 57343 < l) return o.subarray(0, a);
((o[a++] =
((n = 65536 + ((1023 & n) << 10) + (1023 & l)) >> 18) |
240),
(o[a++] = ((n >> 12) & 63) | 128));
} else o[a++] = (n >> 12) | 224;
o[a++] = ((n >> 6) & 63) | 128;
}
o[a++] = (63 & n) | 128;
}
}
return o.subarray(0, a);
}
if (g(e)) return new Uint8Array(e);
if (y(e)) return e;
throw new Error("Unsupported type");
}
function k(e, t) {
for (
var o,
a,
r,
n = e.replace(/[^A-Za-z0-9+/]/g, ""),
l = n.length,
i = t ? Math.ceil(((3 * l + 1) >> 2) / t) * t : (3 * l + 1) >> 2,
s = new Uint8Array(i),
c = 0,
d = 0,
m = 0;
m < l;
m++
)
if (
((a = 3 & m),
(c |=
(64 < (r = n.charCodeAt(m)) && r < 91
? r - 65
: 96 < r && r < 123
? r - 71
: 47 < r && r < 58
? r + 4
: 43 === r
? 62
: 47 === r
? 63
: 0) <<
(6 * (3 - a))),
3 == a || l - m == 1)
) {
for (o = 0; o < 3 && d < i;)
((s[d] = (c >>> ((16 >>> o) & 24)) & 255), o++, d++);
c = 0;
}
return s;
}
return (function () {
function d(e, a, c) {
if (
(void 0 === a && (a = t.ECB), void 0 === c && (c = o.PKCS5), !f(e))
)
throw new Error(
"Key should be a string or an ArrayBuffer / Buffer",
);
if (!w(t, a)) throw new Error("Unsupported mode");
if (!w(o, c)) throw new Error("Unsupported padding");
((this.mode = a),
(this.padding = c),
(this.iv = null),
(this.p = r.slice()),
(this.s = [n.slice(), l.slice(), i.slice(), s.slice()]),
(e = (function (e) {
if (72 <= e.length) return e;
for (var t = []; t.length < 72;)
for (var o = 0; o < e.length; o++) t.push(e[o]);
return new Uint8Array(t);
})(N(e))));
for (var d = 0, u = 0; d < 18; d++, u += 4) {
var h = p(e[u], e[u + 1], e[u + 2], e[u + 3]);
this.p[d] = m(this.p[d], h);
}
for (var E = 0, g = 0, y = 0; y < 18; y += 2) {
var k = this._encryptBlock(E, g);
((E = k[0]), (g = k[1]), (this.p[y] = E), (this.p[y + 1] = g));
}
for (var v = 0; v < 4; v++)
for (var V = 0; V < 256; V += 2) {
var b = this._encryptBlock(E, g);
((E = b[0]),
(g = b[1]),
(this.s[v][V] = E),
(this.s[v][V + 1] = g));
}
}
var E,
g = d.prototype;
return (
(g.setIv = function (e) {
if (!f(e))
throw new Error(
"IV should be a string or an ArrayBuffer / Buffer",
);
if (8 !== (e = N(e)).length)
throw new Error("IV should be 8 byte length");
this.iv = e;
}),
(g.encode = function (e) {
if (!f(e))
throw new Error(
"Encode data should be a string or an ArrayBuffer / Buffer",
);
if (this.mode === t.ECB || this.iv)
return (
(e = (function (e, t) {
var a = 8 - (e.length % 8);
if (8 == a && 0 < e.length && t !== o.PKCS5) return e;
var r = new Uint8Array(e.length + a),
n = [],
l = a,
i = 0;
switch (t) {
case o.PKCS5:
i = a;
break;
case o.ONE_AND_ZEROS:
(n.push(128), l--);
break;
case o.SPACES:
i = 32;
}
for (; 0 < l;) {
if (t === o.LAST_BYTE && 1 === l) {
n.push(a);
break;
}
(n.push(i), l--);
}
return (r.set(e), r.set(n, e.length), r);
})(N(e), this.padding)),
this.mode === t.ECB
? this._encodeECB(e)
: this.mode === t.CBC
? this._encodeCBC(e)
: void 0
);
throw new Error("IV is not set");
}),
(g.encodeToBase64 = function (e) {
return this.encodeToBuffer(e).toString("base64");
}),
(g.encodeToBuffer = function (e) {
return Buffer.from(this.encode(e));
}),
(g._decodeB64 = function (e) {
return (
(e = 32 < e.length && "string" == typeof e ? k(e) : e),
"object" != typeof (e = this.decode(e)) &&
"string" == typeof e &&
(("{" === e[0] && "}" === e[e.length - 1]) ||
("[" === e[0] && "]" === e[e.length - 1]))
? JSON.parse(e)
: e
);
}),
(g.decode = function (e, r) {
if ((void 0 === r && (r = a.STRING), !f(e)))
throw new Error(
"Decode data should be a string or an ArrayBuffer / Buffer",
);
if (this.mode !== t.ECB && !this.iv)
throw new Error("IV is not set");
if ((e = (r !== a.JSON_OBJECT || y(e) ? N : k)(e)).length % 8 != 0)
throw new Error("Decoded data should be multiple of 8 bytes");
switch (this.mode) {
case t.ECB:
e = this._decodeECB(e);
break;
case t.CBC:
e = this._decodeCBC(e);
}
switch (
((e = (function (e, t) {
var a = 0;
switch (t) {
case o.LAST_BYTE:
case o.PKCS5:
var r = e[e.length - 1];
r <= 8 && (a = r);
break;
case o.ONE_AND_ZEROS:
for (var n = 1; n <= 8;) {
var l = e[e.length - n];
if (128 === l) {
a = n;
break;
}
if (0 !== l) break;
n++;
}
break;
case o.NULL:
case o.SPACES:
for (var i = t === o.SPACES ? 32 : 0, s = 1; s <= 8;) {
if (e[e.length - s] !== i) {
a = s - 1;
break;
}
s++;
}
}
return e.subarray(0, e.length - a);
})(e, this.padding)),
r)
) {
case a.UINT8_ARRAY:
return e;
case a.STRING:
return c(e);
case a.JSON_OBJECT:
return (function (e) {
e = c(e);
try {
return JSON.parse(e);
} catch (o) {
try {
var t = e
.replace(/(\w+:)|(\w+ :)/g, function (e) {
return '"' + e.substring(0, e.length - 1) + '":';
})
.replace(/'/g, '"');
return (
125 ===
(t = 125 === t[0].charCodeAt(0) ? t.slice(0, 1) : t)[
t.length - 2
].charCodeAt(0) && (t = t.slice(0, -2) + "}"),
JSON.parse(t)
);
} catch (a) {
throw new Error("Invalid JSON");
}
}
})(e);
default:
throw new Error("Unsupported return type");
}
}),
(g._encryptBlock = function (e, t) {
for (var o = 0; o < 16; o++) {
e = m(e, this.p[o]);
var a = [(t = m(t, this._f(e))), e];
((e = a[0]), (t = a[1]));
}
var r = [t, e];
return (
(t = m((t = r[1]), this.p[16])),
[(e = m((e = r[0]), this.p[17])), t]
);
}),
(g._decryptBlock = function (e, t) {
for (var o = 17; 1 < o; o--) {
e = m(e, this.p[o]);
var a = [(t = m(t, this._f(e))), e];
((e = a[0]), (t = a[1]));
}
var r = [t, e];
return (
(t = m((t = r[1]), this.p[1])),
[(e = m((e = r[0]), this.p[0])), t]
);
}),
(g._f = function (e) {
var t = u(this.s[0][(e >>> 24) & 255], this.s[1][(e >>> 16) & 255]);
return u(m(t, this.s[2][(e >>> 8) & 255]), this.s[3][255 & e]);
}),
(g._encodeECB = function (e) {
for (
var t = new Uint8Array(e.length), o = 0;
o < e.length;
o += 8
) {
var a = p(e[o], e[o + 1], e[o + 2], e[o + 3]),
r = p(e[o + 4], e[o + 5], e[o + 6], e[o + 7]),
n = this._encryptBlock(a, r);
((a = n[0]), (r = n[1]), t.set(h(a), o), t.set(h(r), o + 4));
}
return t;
}),
(g._encodeCBC = function (e) {
for (
var t = new Uint8Array(e.length),
o = p(this.iv[0], this.iv[1], this.iv[2], this.iv[3]),
a = p(this.iv[4], this.iv[5], this.iv[6], this.iv[7]),
r = 0;
r < e.length;
r += 8
) {
var n = p(e[r], e[r + 1], e[r + 2], e[r + 3]),
l = p(e[r + 4], e[r + 5], e[r + 6], e[r + 7]),
i = [m(o, n), m(a, l)];
((n = (i = this._encryptBlock(i[0], i[1]))[0]),
(a = l = i[1]),
t.set(h((o = n)), r),
t.set(h(l), r + 4));
}
return t;
}),
(g._decodeECB = function (e) {
for (
var t = new Uint8Array(e.length), o = 0;
o < e.length;
o += 8
) {
var a = p(e[o], e[o + 1], e[o + 2], e[o + 3]),
r = p(e[o + 4], e[o + 5], e[o + 6], e[o + 7]),
n = this._decryptBlock(a, r);
((a = n[0]), (r = n[1]), t.set(h(a), o), t.set(h(r), o + 4));
}
return t;
}),
(g._decodeCBC = function (e) {
for (
var t = new Uint8Array(e.length),
o = p(this.iv[0], this.iv[1], this.iv[2], this.iv[3]),
a = p(this.iv[4], this.iv[5], this.iv[6], this.iv[7]),
r = 0;
r < e.length;
r += 8
) {
var n,
l = (s = p(e[r], e[r + 1], e[r + 2], e[r + 3])),
i = (c = p(e[r + 4], e[r + 5], e[r + 6], e[r + 7])),
s = (n = this._decryptBlock(s, c))[0],
c = n[1];
((c = (n = [m(o, s), m(a, c)])[1]),
(o = l),
(a = i),
t.set(h(n[0]), r),
t.set(h(c), r + 4));
}
return t;
}),
(g = d),
(E = [
{
key: "MODE",
get: function () {
return t;
},
},
{
key: "PADDING",
get: function () {
return o;
},
},
{
key: "TYPE",
get: function () {
return a;
},
},
]),
null && e(g.prototype, null),
E && e(g, E),
Object.defineProperty(g, "prototype", { writable: !1 }),
d
);
})();
})();
const mr = dr.exports,
ur = "rtj",
pr = "plaintract",
hr = "tdc5%y4yaU@xFi",
Er = "5X4f$^hp",
gr = 0,
yr = 16,
fr = 18,
wr = 32,
Nr = "pawn_metal_quote_cache_v2",
kr = [
{
key: "sge_gold",
label: "黄金SGE",
unit: "元/克",
digits: 2,
mode: "ladder",
bidCode: "Au99.99",
askCode: "Au99.99",
},
{
key: "gold",
label: "黄金",
unit: "元/克",
digits: 2,
mode: "pair",
bidCode: "JZJ_au_PB",
askCode: "JZJ_au_PS",
},
{
key: "silver",
label: "白银",
unit: "元/克",
digits: 3,
mode: "pair",
bidCode: "JZJ_ag_PB",
askCode: "JZJ_ag_PS",
},
{
key: "platinum",
label: "铂金",
unit: "元/克",
digits: 2,
mode: "pair",
bidCode: "JZJ_pt_PB",
askCode: "JZJ_pt_PS",
},
];
function vr(e) {
const t = [];
let o = e >>> 0;
for (; o > 127;) (t.push((127 & o) | 128), (o >>>= 7));
return (t.push(127 & o), t);
}
function Vr(e, t) {
return vr((e << 3) | t);
}
function br(e, t) {
const o = (function (e) {
if ("undefined" != typeof TextEncoder)
return Array.from(new TextEncoder().encode(e));
const t = [];
for (let o = 0; o < e.length; o++) {
let a = e.charCodeAt(o);
a < 128
? t.push(a)
: a < 2048
? t.push(192 | (a >> 6), 128 | (63 & a))
: a >= 55296 && a <= 56319 && o + 1 < e.length
? ((a =
65536 + ((1023 & a) << 10) + (1023 & e.charCodeAt(++o))),
t.push(
240 | (a >> 18),
128 | ((a >> 12) & 63),
128 | ((a >> 6) & 63),
128 | (63 & a),
))
: t.push(
224 | (a >> 12),
128 | ((a >> 6) & 63),
128 | (63 & a),
);
}
return t;
})(t);
return Vr(e, 2).concat(vr(o.length), o);
}
function Sr(e, t) {
return Vr(e, 2).concat(vr(t.length), t);
}
function Cr(e, t) {
let o = 0,
a = 0,
r = t;
for (; r < e.length;) {
const t = e[r++];
if (((o += (127 & t) * Math.pow(2, a)), !(128 & t))) break;
a += 7;
}
return { value: o, pos: r };
}
function Tr(e) {
const t = {};
let o = 0;
for (; o < e.length;) {
const a = Cr(e, o);
o = a.pos;
const r = a.value >>> 3,
n = 7 & a.value;
let l;
if (0 === n) {
const t = Cr(e, o);
((l = t.value), (o = t.pos));
} else if (1 === n) ((l = Br(e, o)), (o += 8));
else if (5 === n) ((l = e.slice(o, o + 4)), (o += 4));
else {
if (2 !== n) break;
{
const t = Cr(e, o);
((o = t.pos), (l = e.slice(o, o + t.value)), (o += t.value));
}
}
(t[r] = t[r] || []).push({ wire: n, value: l });
}
return t;
}
function xr(e, t) {
return e[t] && e[t].length ? e[t][0].value : void 0;
}
function Dr(e, t) {
const o = xr(e, t);
return "number" == typeof o ? o : 0;
}
function Ir(e, t) {
return (e[t] || []).map((e) => e.value);
}
function Fr(e, t) {
const o = xr(e, t);
if (!o || "number" == typeof o) return "";
let a = "";
for (let n = 0; n < o.length; n++) a += String.fromCharCode(o[n]);
try {
return decodeURIComponent(escape(a));
} catch (r) {
return a;
}
}
function Ar(e, t) {
const o = [];
return (
(e[t] || []).forEach((e) => {
if (1 === e.wire) o.push(e.value);
else if (2 === e.wire)
for (let t = 0; t + 8 <= e.value.length; t += 8)
o.push(Br(e.value, t));
}),
o
);
}
function Br(e, t) {
const o = new Uint8Array(8);
for (let a = 0; a < 8; a++) o[a] = e[t + a];
return new DataView(o.buffer).getFloat64(0, !0);
}
function Rr(e, t, o, a) {
let r = [].concat(
((n = e), Vr(1, 0).concat(vr(n))),
(function (e, t) {
return Vr(e, 0).concat(vr(((o = t) << 1) ^ (o >> 31)));
var o;
})(2, t),
);
var n;
return (o && (r = r.concat(Sr(4, o))), a && (r = r.concat(br(8, a))), r);
}
function Lr() {
const e = new mr(hr, mr.MODE.CBC, mr.PADDING.PKCS5);
e.setIv(Er);
const t = e.encode(`${pr}${ur}${Date.now()}`);
return Sr(
5,
[].concat(
br(1, ur),
(function (e, t) {
const o = Array.from(t);
return Vr(e, 2).concat(vr(o.length), o);
})(2, Uint8Array.from(t)),
),
);
}
function Or(e) {
let t = [];
return (
e.forEach((e) => (t = t.concat(br(1, e)))),
t.concat(
(function (e, t) {
if (!t || !t.length) return [];
const o = [];
return (
t.forEach((e) => o.push(...vr(e))),
Vr(e, 2).concat(vr(o.length), o)
);
})(2, [0]),
)
);
}
function Pr(e) {
const t = Uint8Array.from(e);
return t.buffer.slice(0, t.length);
}
let Mr = null;
const Ur = [2e3, 5e3, 1e4, 3e4];
function $r(e, t, o) {
((e.state = t),
e.handlers &&
"function" == typeof e.handlers.onStatus &&
e.handlers.onStatus(t, o || ""));
}
function _r(e, t) {
if (!e.handlers || "function" != typeof e.handlers.onUpdate) return;
const o = (function (e) {
const t = [];
return (
kr.forEach((o) => {
const a = e[o.bidCode],
r = e[o.askCode],
n = r || a;
if (!n && !a) return;
const l = "ladder" === o.mode;
t.push({
key: o.key,
label: o.label,
unit: o.unit,
digits: o.digits,
code: o.askCode,
bid: l ? (a && a.bid) || 0 : a ? a.last : 0,
ask: l ? (r && r.ask) || 0 : r ? r.last : 0,
updown: n ? n.updown : 0,
rate: n ? n.rate : 0,
preClose: n ? n.preClose : 0,
});
}),
t
);
})(e.got);
if (!o.length) return;
const a = Date.now();
if (!t && a - e.lastEmit < 400) {
if (!e.timers.emit) e.timers.emit=setTimeout(()=>{e.timers.emit=null;_r(e,true);},400-(a-e.lastEmit));
return;
}
((e.lastEmit = a),
(e.fetchedAt = a),
e.handlers.onUpdate(o, { fetchedAt: a }),
a - e.lastSave > 15e3 &&
((e.lastSave = a),
(function (e) {
try {
uni.setStorageSync(Nr, JSON.stringify(e));
} catch (t) {}
})({ list: o, fetchedAt: a })));
}
function zr(e) {
["heartbeat", "auth", "retry", "emit"].forEach((t) => {
e.timers[t] &&
(clearTimeout(e.timers[t]),
clearInterval(e.timers[t]),
(e.timers[t] = null));
});
}
function Hr(e) {
if (!e.socket) return;
const t = e.socket;
e.socket = null;
try {
t.close({ code: 1e3, reason: "done" });
} catch (o) {}
}
function jr(e, t, o, a) {
if (!e.socket) return !1;
try {
return (e.socket.send({ data: Pr(Rr(t, e.seq++, o, a)) }), !0);
} catch (r) {
return !1;
}
}
function Xr(e, t) {
if (e.stopped) return;
(zr(e), Hr(e));
const o = Ur[Math.min(e.retry, Ur.length - 1)];
((e.retry += 1),
$r(e, "reconnecting", t || "连接中断,正在重连…"),
(e.timers.retry = setTimeout(() => Wr(e), o)));
}
function Wr(e) {
if (!e.stopped) {
($r(e, "connecting", "正在连接行情…"), (e.authed = !1));
try {
e.socket = uni.connectSocket({
url: "wss://rtjwbqt.ytj9999.com:8443/gateway",
complete: () => {},
});
} catch (t) {
e.socket = null;
}
e.socket
? (e.socket.onOpen(() => {
e.stopped ||
(jr(e, wr, Lr())
? (e.timers.auth = setTimeout(() => {
e.authed || Xr(e, "行情鉴权超时");
}, 8e3))
: Xr(e, "鉴权请求发送失败"));
}),
e.socket.onMessage((o) => {
const a = (function (e) {
if (!e) return null;
if (e instanceof ArrayBuffer) return new Uint8Array(e);
if (
"undefined" != typeof ArrayBuffer &&
ArrayBuffer.isView &&
ArrayBuffer.isView(e)
)
return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
if ("string" == typeof e) {
const t = new Uint8Array(e.length);
for (let o = 0; o < e.length; o++)
t[o] = 255 & e.charCodeAt(o);
return t;
}
return null;
})(o && o.data);
if (!a || !a.length) return;
let r;
try {
r = Tr(a);
} catch (t) {
return;
}
const n = Dr(r, 1);
n !== wr
? (n !== gr && n !== fr) ||
((function (e) {
const o = [];
let a;
try {
a = Tr(e);
} catch (t) {
return o;
}
return (
Ir(a, 5).forEach((e) => {
Ir(Tr(e), 1).forEach((e) => {
const t = Tr(e),
a = xr(t, 7);
if (!a || "number" == typeof a) return;
const r = Tr(a),
n = Ar(r, 4),
l = Ar(r, 2);
o.push({
code: Fr(t, 1),
last: Dr(r, 1),
bid: n.length ? n[0] : 0,
ask: l.length ? l[0] : 0,
updown: Dr(r, 11),
rate: Dr(r, 12),
preClose: Dr(t, 13),
});
});
}),
o
);
})(a).forEach((t) => {
t.code && (e.got[t.code] = t);
}),
_r(e, !1))
: !(function (e) {
try {
const t = Tr(e);
if (Dr(t, 1) !== wr) return !1;
let o = !1;
return (
Ir(t, 5).forEach((e) => {
xr(Tr(e), 5) && (o = !0);
}),
o
);
} catch (t) {
return !1;
}
})(a)
? Xr(e, "行情鉴权失败")
: ((e.authed = !0),
(e.retry = 0),
e.timers.auth &&
(clearTimeout(e.timers.auth), (e.timers.auth = null)),
jr(
e,
fr,
Or(
(function () {
const e = {};
return (
kr.forEach((t) => {
((e[t.bidCode] = !0), (e[t.askCode] = !0));
}),
Object.keys(e)
);
})(),
),
),
(function (e) {
(e.timers.heartbeat && clearInterval(e.timers.heartbeat),
(e.timers.heartbeat = setInterval(() => {
jr(e, yr, []);
}, 2e4)));
})(e),
$r(e, "live", "实时推送中"));
}),
e.socket.onError(() => {}),
e.socket.onClose(() => {
e.stopped || Xr(e, "行情连接已断开,正在重连…");
}))
: Xr(e, "当前环境不支持 WebSocket");
}
}
function Yr() {
Mr && ((Mr.stopped = !0), zr(Mr), Hr(Mr), (Mr = null));
}
function startQuotes(){
if(Mr&&!Mr.stopped)return;
Mr={handlers:{onStatus:(state,message)=>send('status',{state,message}),onUpdate:(rows,meta)=>send('quotes',{rows,...meta})},socket:null,state:'idle',seq:0,got:{},retry:0,authed:false,stopped:false,timers:{},lastEmit:0,lastSave:0,fetchedAt:0};
Wr(Mr);
}
function refreshQuotes(){Yr();startQuotes();}
function stopQuotes(){Yr();send('status',{state:'paused',message:'行情已暂停'});}
window.addEventListener('HybridWebViewMessageReceived',e=>{if(e.detail.message==='stop')stopQuotes();else if(e.detail.message==='refresh')refreshQuotes();else if(e.detail.message==='start')startQuotes();});
startQuotes();
const uni={
getStorageSync:k=>localStorage.getItem(k),
setStorageSync:(k,v)=>localStorage.setItem(k,v),
connectSocket:({url})=>{
const ws=new WebSocket(url); ws.binaryType='arraybuffer';
return {onOpen:f=>ws.addEventListener('open',f),onMessage:f=>ws.addEventListener('message',f),onError:f=>ws.addEventListener('error',f),onClose:f=>ws.addEventListener('close',f),send:({data})=>ws.send(data),close:({code,reason})=>ws.close(code,reason)};
}
};
const send=(kind,value)=>window.HybridWebView.SendRawMessage(JSON.stringify({kind,value}));
const dr = { exports: {} };
dr.exports = dr.exports = (function () {
function e(e, t) {
for (var o = 0; o < t.length; o++) {
var a = t[o];
((a.enumerable = a.enumerable || !1),
(a.configurable = !0),
"value" in a && (a.writable = !0),
Object.defineProperty(e, a.key, a));
}
}
var t = { ECB: 0, CBC: 1 },
o = { PKCS5: 0, ONE_AND_ZEROS: 1, LAST_BYTE: 2, NULL: 3, SPACES: 4 },
a = { STRING: 0, UINT8_ARRAY: 1, JSON_OBJECT: 2 },
r = [
608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832,
137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300,
3232508343, 3380367581, 1065670069, 3041331479, 2450970073,
2306472731,
],
n = [
3509652390, 2564797868, 805139163, 3491422135, 3101798381, 1780907670,
3128725573, 4046225305, 614570311, 3012652279, 134345442, 2240740374,
1667834072, 1901547113, 2757295779, 4103290238, 227898511, 1921955416,
1904987480, 2182433518, 2069144605, 3260701109, 2620446009, 720527379,
3318853667, 677414384, 3393288472, 3101374703, 2390351024, 1614419982,
1822297739, 2954791486, 3608508353, 3174124327, 2024746970,
1432378464, 3864339955, 2857741204, 1464375394, 1676153920,
1439316330, 715854006, 3033291828, 289532110, 2706671279, 2087905683,
3018724369, 1668267050, 732546397, 1947742710, 3462151702, 2609353502,
2950085171, 1814351708, 2050118529, 680887927, 999245976, 1800124847,
3300911131, 1713906067, 1641548236, 4213287313, 1216130144,
1575780402, 4018429277, 3917837745, 3693486850, 3949271944, 596196993,
3549867205, 258830323, 2213823033, 772490370, 2760122372, 1774776394,
2652871518, 566650946, 4142492826, 1728879713, 2882767088, 1783734482,
3629395816, 2517608232, 2874225571, 1861159788, 326777828, 3124490320,
2130389656, 2716951837, 967770486, 1724537150, 2185432712, 2364442137,
1164943284, 2105845187, 998989502, 3765401048, 2244026483, 1075463327,
1455516326, 1322494562, 910128902, 469688178, 1117454909, 936433444,
3490320968, 3675253459, 1240580251, 122909385, 2157517691, 634681816,
4142456567, 3825094682, 3061402683, 2540495037, 79693498, 3249098678,
1084186820, 1583128258, 426386531, 1761308591, 1047286709, 322548459,
995290223, 1845252383, 2603652396, 3431023940, 2942221577, 3202600964,
3727903485, 1712269319, 422464435, 3234572375, 1170764815, 3523960633,
3117677531, 1434042557, 442511882, 3600875718, 1076654713, 1738483198,
4213154764, 2393238008, 3677496056, 1014306527, 4251020053, 793779912,
2902807211, 842905082, 4246964064, 1395751752, 1040244610, 2656851899,
3396308128, 445077038, 3742853595, 3577915638, 679411651, 2892444358,
2354009459, 1767581616, 3150600392, 3791627101, 3102740896, 284835224,
4246832056, 1258075500, 768725851, 2589189241, 3069724005, 3532540348,
1274779536, 3789419226, 2764799539, 1660621633, 3471099624,
4011903706, 913787905, 3497959166, 737222580, 2514213453, 2928710040,
3937242737, 1804850592, 3499020752, 2949064160, 2386320175,
2390070455, 2415321851, 4061277028, 2290661394, 2416832540,
1336762016, 1754252060, 3520065937, 3014181293, 791618072, 3188594551,
3933548030, 2332172193, 3852520463, 3043980520, 413987798, 3465142937,
3030929376, 4245938359, 2093235073, 3534596313, 375366246, 2157278981,
2479649556, 555357303, 3870105701, 2008414854, 3344188149, 4221384143,
3956125452, 2067696032, 3594591187, 2921233993, 2428461, 544322398,
577241275, 1471733935, 610547355, 4027169054, 1432588573, 1507829418,
2025931657, 3646575487, 545086370, 48609733, 2200306550, 1653985193,
298326376, 1316178497, 3007786442, 2064951626, 458293330, 2589141269,
3591329599, 3164325604, 727753846, 2179363840, 146436021, 1461446943,
4069977195, 705550613, 3059967265, 3887724982, 4281599278, 3313849956,
1404054877, 2845806497, 146425753, 1854211946,
],
l = [
1266315497, 3048417604, 3681880366, 3289982499, 290971e4, 1235738493,
2632868024, 2414719590, 3970600049, 1771706367, 1449415276,
3266420449, 422970021, 1963543593, 2690192192, 3826793022, 1062508698,
1531092325, 1804592342, 2583117782, 2714934279, 4024971509,
1294809318, 4028980673, 1289560198, 2221992742, 1669523910, 35572830,
157838143, 1052438473, 1016535060, 1802137761, 1753167236, 1386275462,
3080475397, 2857371447, 1040679964, 2145300060, 2390574316,
1461121720, 2956646967, 4031777805, 4028374788, 33600511, 2920084762,
1018524850, 629373528, 3691585981, 3515945977, 2091462646, 2486323059,
586499841, 988145025, 935516892, 3367335476, 2599673255, 2839830854,
265290510, 3972581182, 2759138881, 3795373465, 1005194799, 847297441,
406762289, 1314163512, 1332590856, 1866599683, 4127851711, 750260880,
613907577, 1450815602, 3165620655, 3734664991, 3650291728, 3012275730,
3704569646, 1427272223, 778793252, 1343938022, 2676280711, 2052605720,
1946737175, 3164576444, 3914038668, 3967478842, 3682934266,
1661551462, 3294938066, 4011595847, 840292616, 3712170807, 616741398,
312560963, 711312465, 1351876610, 322626781, 1910503582, 271666773,
2175563734, 1594956187, 70604529, 3617834859, 1007753275, 1495573769,
4069517037, 2549218298, 2663038764, 504708206, 2263041392, 3941167025,
2249088522, 1514023603, 1998579484, 1312622330, 694541497, 2582060303,
2151582166, 1382467621, 776784248, 2618340202, 3323268794, 2497899128,
2784771155, 503983604, 4076293799, 907881277, 423175695, 432175456,
1378068232, 4145222326, 3954048622, 3938656102, 3820766613,
2793130115, 2977904593, 26017576, 3274890735, 3194772133, 1700274565,
1756076034, 4006520079, 3677328699, 720338349, 1533947780, 354530856,
688349552, 3973924725, 1637815568, 332179504, 3949051286, 53804574,
2852348879, 3044236432, 1282449977, 3583942155, 3416972820,
4006381244, 1617046695, 2628476075, 3002303598, 1686838959, 431878346,
2686675385, 1700445008, 1080580658, 1009431731, 832498133, 3223435511,
2605976345, 2271191193, 2516031870, 1648197032, 4164389018,
2548247927, 300782431, 375919233, 238389289, 3353747414, 2531188641,
2019080857, 1475708069, 455242339, 2609103871, 448939670, 3451063019,
1395535956, 2413381860, 1841049896, 1491858159, 885456874, 4264095073,
4001119347, 1565136089, 3898914787, 1108368660, 540939232, 1173283510,
2745871338, 3681308437, 4207628240, 3343053890, 4016749493,
1699691293, 1103962373, 3625875870, 2256883143, 3830138730,
1031889488, 3479347698, 1535977030, 4236805024, 3251091107,
2132092099, 1774941330, 1199868427, 1452454533, 157007616, 2904115357,
342012276, 595725824, 1480756522, 206960106, 497939518, 591360097,
863170706, 2375253569, 3596610801, 1814182875, 2094937945, 3421402208,
1082520231, 3463918190, 2785509508, 435703966, 3908032597, 1641649973,
2842273706, 3305899714, 1510255612, 2148256476, 2655287854,
3276092548, 4258621189, 236887753, 3681803219, 274041037, 1734335097,
3815195456, 3317970021, 1899903192, 1026095262, 4050517792, 356393447,
2410691914, 3873677099, 3682840055,
],
i = [
3913112168, 2491498743, 4132185628, 2489919796, 1091903735,
1979897079, 3170134830, 3567386728, 3557303409, 857797738, 1136121015,
1342202287, 507115054, 2535736646, 337727348, 3213592640, 1301675037,
2528481711, 1895095763, 1721773893, 3216771564, 62756741, 2142006736,
835421444, 2531993523, 1442658625, 3659876326, 2882144922, 676362277,
1392781812, 170690266, 3921047035, 1759253602, 3611846912, 1745797284,
664899054, 1329594018, 3901205900, 3045908486, 2062866102, 2865634940,
3543621612, 3464012697, 1080764994, 553557557, 3656615353, 3996768171,
991055499, 499776247, 1265440854, 648242737, 3940784050, 980351604,
3713745714, 1749149687, 3396870395, 4211799374, 3640570775,
1161844396, 3125318951, 1431517754, 545492359, 4268468663, 3499529547,
1437099964, 2702547544, 3433638243, 2581715763, 2787789398,
1060185593, 1593081372, 2418618748, 4260947970, 69676912, 2159744348,
86519011, 2512459080, 3838209314, 1220612927, 3339683548, 133810670,
1090789135, 1078426020, 1569222167, 845107691, 3583754449, 4072456591,
1091646820, 628848692, 1613405280, 3757631651, 526609435, 236106946,
48312990, 2942717905, 3402727701, 1797494240, 859738849, 992217954,
4005476642, 2243076622, 3870952857, 3732016268, 765654824, 3490871365,
2511836413, 1685915746, 3888969200, 1414112111, 2273134842,
3281911079, 4080962846, 172450625, 2569994100, 980381355, 4109958455,
2819808352, 2716589560, 2568741196, 3681446669, 3329971472,
1835478071, 660984891, 3704678404, 4045999559, 3422617507, 3040415634,
1762651403, 1719377915, 3470491036, 2693910283, 3642056355,
3138596744, 1364962596, 2073328063, 1983633131, 926494387, 3423689081,
2150032023, 4096667949, 1749200295, 3328846651, 309677260, 2016342300,
1779581495, 3079819751, 111262694, 1274766160, 443224088, 298511866,
1025883608, 3806446537, 1145181785, 168956806, 3641502830, 3584813610,
1689216846, 3666258015, 3200248200, 1692713982, 2646376535,
4042768518, 1618508792, 1610833997, 3523052358, 4130873264,
2001055236, 3610705100, 2202168115, 4028541809, 2961195399,
1006657119, 2006996926, 3186142756, 1430667929, 3210227297,
1314452623, 4074634658, 4101304120, 2273951170, 1399257539,
3367210612, 3027628629, 1190975929, 2062231137, 2333990788,
2221543033, 2438960610, 1181637006, 548689776, 2362791313, 3372408396,
3104550113, 3145860560, 296247880, 1970579870, 3078560182, 3769228297,
1714227617, 3291629107, 3898220290, 166772364, 1251581989, 493813264,
448347421, 195405023, 2709975567, 677966185, 3703036547, 1463355134,
2715995803, 1338867538, 1343315457, 2802222074, 2684532164, 233230375,
2599980071, 2000651841, 3277868038, 1638401717, 4028070440,
3237316320, 6314154, 819756386, 300326615, 590932579, 1405279636,
3267499572, 3150704214, 2428286686, 3959192993, 3461946742,
1862657033, 1266418056, 963775037, 2089974820, 2263052895, 1917689273,
448879540, 3550394620, 3981727096, 150775221, 3627908307, 1303187396,
508620638, 2975983352, 2726630617, 1817252668, 1876281319, 1457606340,
908771278, 3720792119, 3617206836, 2455994898, 1729034894, 1080033504,
],
s = [
976866871, 3556439503, 2881648439, 1522871579, 1555064734, 1336096578,
3548522304, 2579274686, 3574697629, 3205460757, 3593280638,
3338716283, 3079412587, 564236357, 2993598910, 1781952180, 1464380207,
3163844217, 3332601554, 1699332808, 1393555694, 1183702653,
3581086237, 1288719814, 691649499, 2847557200, 2895455976, 3193889540,
2717570544, 1781354906, 1676643554, 2592534050, 3230253752,
1126444790, 2770207658, 2633158820, 2210423226, 2615765581,
2414155088, 3127139286, 673620729, 2805611233, 1269405062, 4015350505,
3341807571, 4149409754, 1057255273, 2012875353, 2162469141,
2276492801, 2601117357, 993977747, 3918593370, 2654263191, 753973209,
36408145, 2530585658, 25011837, 3520020182, 2088578344, 530523599,
2918365339, 1524020338, 1518925132, 3760827505, 3759777254,
1202760957, 3985898139, 3906192525, 674977740, 4174734889, 2031300136,
2019492241, 3983892565, 4153806404, 3822280332, 352677332, 2297720250,
60907813, 90501309, 3286998549, 1016092578, 2535922412, 2839152426,
457141659, 509813237, 4120667899, 652014361, 1966332200, 2975202805,
55981186, 2327461051, 676427537, 3255491064, 2882294119, 3433927263,
1307055953, 942726286, 933058658, 2468411793, 3933900994, 4215176142,
1361170020, 2001714738, 2830558078, 3274259782, 1222529897,
1679025792, 2729314320, 3714953764, 1770335741, 151462246, 3013232138,
1682292957, 1483529935, 471910574, 1539241949, 458788160, 3436315007,
1807016891, 3718408830, 978976581, 1043663428, 3165965781, 1927990952,
4200891579, 2372276910, 3208408903, 3533431907, 1412390302,
2931980059, 4132332400, 1947078029, 3881505623, 4168226417,
2941484381, 1077988104, 1320477388, 886195818, 18198404, 3786409e3,
2509781533, 112762804, 3463356488, 1866414978, 891333506, 18488651,
661792760, 1628790961, 3885187036, 3141171499, 876946877, 2693282273,
1372485963, 791857591, 2686433993, 3759982718, 3167212022, 3472953795,
2716379847, 445679433, 3561995674, 3504004811, 3574258232, 54117162,
3331405415, 2381918588, 3769707343, 4154350007, 1140177722,
4074052095, 668550556, 3214352940, 367459370, 261225585, 2610173221,
4209349473, 3468074219, 3265815641, 314222801, 3066103646, 3808782860,
282218597, 3406013506, 3773591054, 379116347, 1285071038, 846784868,
2669647154, 3771962079, 3550491691, 2305946142, 453669953, 1268987020,
3317592352, 3279303384, 3744833421, 2610507566, 3859509063, 266596637,
3847019092, 517658769, 3462560207, 3443424879, 370717030, 4247526661,
2224018117, 4143653529, 4112773975, 2788324899, 2477274417,
1456262402, 2901442914, 1517677493, 1846949527, 2295493580,
3734397586, 2176403920, 1280348187, 1908823572, 3871786941, 846861322,
1172426758, 3287448474, 3383383037, 1655181056, 3139813346, 901632758,
1897031941, 2986607138, 3066810236, 3447102507, 1393639104, 373351379,
950779232, 625454576, 3124240540, 4148612726, 2007998917, 544563296,
2244738638, 2330496472, 2058025392, 1291430526, 424198748, 50039436,
29584100, 3605783033, 2429876329, 2791104160, 1057563949, 3255363231,
3075367218, 3463963227, 1469046755, 985887462,
];
function c(e) {
for (var t = 0, o = ""; t < e.length;) {
var a = e[t++];
if (127 < a)
if (191 < a && a < 224) {
if (t >= e.length) return o;
a = ((31 & a) << 6) | (63 & e[t++]);
} else if (223 < a && a < 240) {
if (t + 1 >= e.length) return o;
a = ((15 & a) << 12) | ((63 & e[t++]) << 6) | (63 & e[t++]);
} else {
if (!(239 < a && a < 248)) return o;
if (t + 2 >= e.length) return o;
a =
((7 & a) << 18) |
((63 & e[t++]) << 12) |
((63 & e[t++]) << 6) |
(63 & e[t++]);
}
if (a <= 65535) o += String.fromCharCode(a);
else {
if (!(a <= 1114111)) return o;
((a -= 65536),
(o =
(o += String.fromCharCode((a >> 10) | 55296)) +
String.fromCharCode((1023 & a) | 56320)));
}
}
return o;
}
function d(e) {
return e >>> 0;
}
function m(e, t) {
return d(e ^ t);
}
function u(e, t) {
return d((e + t) | 0);
}
function p(e, t, o, a) {
return d((e << 24) | (t << 16) | (o << 8) | a);
}
function h(e) {
return [(e >>> 24) & 255, (e >>> 16) & 255, (e >>> 8) & 255, 255 & e];
}
function E(e) {
return "string" == typeof e;
}
function g(e) {
return "object" == typeof e && "byteLength" in e;
}
function y(e) {
return e instanceof Uint8Array;
}
function f(e) {
return E(e) || g(e);
}
function w(e, t) {
var o = !1;
return (
Object.keys(e).forEach(function (a) {
e[a] === t && (o = !0);
}),
o
);
}
function N(e) {
if (E(e)) {
for (
var t = e, o = new Uint8Array(4 * t.length), a = 0, r = 0;
r !== t.length;
r++
) {
var n = t.charCodeAt(r);
if (n < 128) o[a++] = n;
else {
if (n < 2048) o[a++] = (n >> 6) | 192;
else {
if (55295 < n && n < 56320) {
if (++r >= t.length) return o.subarray(0, a);
var l = t.charCodeAt(r);
if (l < 56320 || 57343 < l) return o.subarray(0, a);
((o[a++] =
((n = 65536 + ((1023 & n) << 10) + (1023 & l)) >> 18) |
240),
(o[a++] = ((n >> 12) & 63) | 128));
} else o[a++] = (n >> 12) | 224;
o[a++] = ((n >> 6) & 63) | 128;
}
o[a++] = (63 & n) | 128;
}
}
return o.subarray(0, a);
}
if (g(e)) return new Uint8Array(e);
if (y(e)) return e;
throw new Error("Unsupported type");
}
function k(e, t) {
for (
var o,
a,
r,
n = e.replace(/[^A-Za-z0-9+/]/g, ""),
l = n.length,
i = t ? Math.ceil(((3 * l + 1) >> 2) / t) * t : (3 * l + 1) >> 2,
s = new Uint8Array(i),
c = 0,
d = 0,
m = 0;
m < l;
m++
)
if (
((a = 3 & m),
(c |=
(64 < (r = n.charCodeAt(m)) && r < 91
? r - 65
: 96 < r && r < 123
? r - 71
: 47 < r && r < 58
? r + 4
: 43 === r
? 62
: 47 === r
? 63
: 0) <<
(6 * (3 - a))),
3 == a || l - m == 1)
) {
for (o = 0; o < 3 && d < i;)
((s[d] = (c >>> ((16 >>> o) & 24)) & 255), o++, d++);
c = 0;
}
return s;
}
return (function () {
function d(e, a, c) {
if (
(void 0 === a && (a = t.ECB), void 0 === c && (c = o.PKCS5), !f(e))
)
throw new Error(
"Key should be a string or an ArrayBuffer / Buffer",
);
if (!w(t, a)) throw new Error("Unsupported mode");
if (!w(o, c)) throw new Error("Unsupported padding");
((this.mode = a),
(this.padding = c),
(this.iv = null),
(this.p = r.slice()),
(this.s = [n.slice(), l.slice(), i.slice(), s.slice()]),
(e = (function (e) {
if (72 <= e.length) return e;
for (var t = []; t.length < 72;)
for (var o = 0; o < e.length; o++) t.push(e[o]);
return new Uint8Array(t);
})(N(e))));
for (var d = 0, u = 0; d < 18; d++, u += 4) {
var h = p(e[u], e[u + 1], e[u + 2], e[u + 3]);
this.p[d] = m(this.p[d], h);
}
for (var E = 0, g = 0, y = 0; y < 18; y += 2) {
var k = this._encryptBlock(E, g);
((E = k[0]), (g = k[1]), (this.p[y] = E), (this.p[y + 1] = g));
}
for (var v = 0; v < 4; v++)
for (var V = 0; V < 256; V += 2) {
var b = this._encryptBlock(E, g);
((E = b[0]),
(g = b[1]),
(this.s[v][V] = E),
(this.s[v][V + 1] = g));
}
}
var E,
g = d.prototype;
return (
(g.setIv = function (e) {
if (!f(e))
throw new Error(
"IV should be a string or an ArrayBuffer / Buffer",
);
if (8 !== (e = N(e)).length)
throw new Error("IV should be 8 byte length");
this.iv = e;
}),
(g.encode = function (e) {
if (!f(e))
throw new Error(
"Encode data should be a string or an ArrayBuffer / Buffer",
);
if (this.mode === t.ECB || this.iv)
return (
(e = (function (e, t) {
var a = 8 - (e.length % 8);
if (8 == a && 0 < e.length && t !== o.PKCS5) return e;
var r = new Uint8Array(e.length + a),
n = [],
l = a,
i = 0;
switch (t) {
case o.PKCS5:
i = a;
break;
case o.ONE_AND_ZEROS:
(n.push(128), l--);
break;
case o.SPACES:
i = 32;
}
for (; 0 < l;) {
if (t === o.LAST_BYTE && 1 === l) {
n.push(a);
break;
}
(n.push(i), l--);
}
return (r.set(e), r.set(n, e.length), r);
})(N(e), this.padding)),
this.mode === t.ECB
? this._encodeECB(e)
: this.mode === t.CBC
? this._encodeCBC(e)
: void 0
);
throw new Error("IV is not set");
}),
(g.encodeToBase64 = function (e) {
return this.encodeToBuffer(e).toString("base64");
}),
(g.encodeToBuffer = function (e) {
return Buffer.from(this.encode(e));
}),
(g._decodeB64 = function (e) {
return (
(e = 32 < e.length && "string" == typeof e ? k(e) : e),
"object" != typeof (e = this.decode(e)) &&
"string" == typeof e &&
(("{" === e[0] && "}" === e[e.length - 1]) ||
("[" === e[0] && "]" === e[e.length - 1]))
? JSON.parse(e)
: e
);
}),
(g.decode = function (e, r) {
if ((void 0 === r && (r = a.STRING), !f(e)))
throw new Error(
"Decode data should be a string or an ArrayBuffer / Buffer",
);
if (this.mode !== t.ECB && !this.iv)
throw new Error("IV is not set");
if ((e = (r !== a.JSON_OBJECT || y(e) ? N : k)(e)).length % 8 != 0)
throw new Error("Decoded data should be multiple of 8 bytes");
switch (this.mode) {
case t.ECB:
e = this._decodeECB(e);
break;
case t.CBC:
e = this._decodeCBC(e);
}
switch (
((e = (function (e, t) {
var a = 0;
switch (t) {
case o.LAST_BYTE:
case o.PKCS5:
var r = e[e.length - 1];
r <= 8 && (a = r);
break;
case o.ONE_AND_ZEROS:
for (var n = 1; n <= 8;) {
var l = e[e.length - n];
if (128 === l) {
a = n;
break;
}
if (0 !== l) break;
n++;
}
break;
case o.NULL:
case o.SPACES:
for (var i = t === o.SPACES ? 32 : 0, s = 1; s <= 8;) {
if (e[e.length - s] !== i) {
a = s - 1;
break;
}
s++;
}
}
return e.subarray(0, e.length - a);
})(e, this.padding)),
r)
) {
case a.UINT8_ARRAY:
return e;
case a.STRING:
return c(e);
case a.JSON_OBJECT:
return (function (e) {
e = c(e);
try {
return JSON.parse(e);
} catch (o) {
try {
var t = e
.replace(/(\w+:)|(\w+ :)/g, function (e) {
return '"' + e.substring(0, e.length - 1) + '":';
})
.replace(/'/g, '"');
return (
125 ===
(t = 125 === t[0].charCodeAt(0) ? t.slice(0, 1) : t)[
t.length - 2
].charCodeAt(0) && (t = t.slice(0, -2) + "}"),
JSON.parse(t)
);
} catch (a) {
throw new Error("Invalid JSON");
}
}
})(e);
default:
throw new Error("Unsupported return type");
}
}),
(g._encryptBlock = function (e, t) {
for (var o = 0; o < 16; o++) {
e = m(e, this.p[o]);
var a = [(t = m(t, this._f(e))), e];
((e = a[0]), (t = a[1]));
}
var r = [t, e];
return (
(t = m((t = r[1]), this.p[16])),
[(e = m((e = r[0]), this.p[17])), t]
);
}),
(g._decryptBlock = function (e, t) {
for (var o = 17; 1 < o; o--) {
e = m(e, this.p[o]);
var a = [(t = m(t, this._f(e))), e];
((e = a[0]), (t = a[1]));
}
var r = [t, e];
return (
(t = m((t = r[1]), this.p[1])),
[(e = m((e = r[0]), this.p[0])), t]
);
}),
(g._f = function (e) {
var t = u(this.s[0][(e >>> 24) & 255], this.s[1][(e >>> 16) & 255]);
return u(m(t, this.s[2][(e >>> 8) & 255]), this.s[3][255 & e]);
}),
(g._encodeECB = function (e) {
for (
var t = new Uint8Array(e.length), o = 0;
o < e.length;
o += 8
) {
var a = p(e[o], e[o + 1], e[o + 2], e[o + 3]),
r = p(e[o + 4], e[o + 5], e[o + 6], e[o + 7]),
n = this._encryptBlock(a, r);
((a = n[0]), (r = n[1]), t.set(h(a), o), t.set(h(r), o + 4));
}
return t;
}),
(g._encodeCBC = function (e) {
for (
var t = new Uint8Array(e.length),
o = p(this.iv[0], this.iv[1], this.iv[2], this.iv[3]),
a = p(this.iv[4], this.iv[5], this.iv[6], this.iv[7]),
r = 0;
r < e.length;
r += 8
) {
var n = p(e[r], e[r + 1], e[r + 2], e[r + 3]),
l = p(e[r + 4], e[r + 5], e[r + 6], e[r + 7]),
i = [m(o, n), m(a, l)];
((n = (i = this._encryptBlock(i[0], i[1]))[0]),
(a = l = i[1]),
t.set(h((o = n)), r),
t.set(h(l), r + 4));
}
return t;
}),
(g._decodeECB = function (e) {
for (
var t = new Uint8Array(e.length), o = 0;
o < e.length;
o += 8
) {
var a = p(e[o], e[o + 1], e[o + 2], e[o + 3]),
r = p(e[o + 4], e[o + 5], e[o + 6], e[o + 7]),
n = this._decryptBlock(a, r);
((a = n[0]), (r = n[1]), t.set(h(a), o), t.set(h(r), o + 4));
}
return t;
}),
(g._decodeCBC = function (e) {
for (
var t = new Uint8Array(e.length),
o = p(this.iv[0], this.iv[1], this.iv[2], this.iv[3]),
a = p(this.iv[4], this.iv[5], this.iv[6], this.iv[7]),
r = 0;
r < e.length;
r += 8
) {
var n,
l = (s = p(e[r], e[r + 1], e[r + 2], e[r + 3])),
i = (c = p(e[r + 4], e[r + 5], e[r + 6], e[r + 7])),
s = (n = this._decryptBlock(s, c))[0],
c = n[1];
((c = (n = [m(o, s), m(a, c)])[1]),
(o = l),
(a = i),
t.set(h(n[0]), r),
t.set(h(c), r + 4));
}
return t;
}),
(g = d),
(E = [
{
key: "MODE",
get: function () {
return t;
},
},
{
key: "PADDING",
get: function () {
return o;
},
},
{
key: "TYPE",
get: function () {
return a;
},
},
]),
null && e(g.prototype, null),
E && e(g, E),
Object.defineProperty(g, "prototype", { writable: !1 }),
d
);
})();
})();
const mr = dr.exports,
ur = "rtj",
pr = "plaintract",
hr = "tdc5%y4yaU@xFi",
Er = "5X4f$^hp",
gr = 0,
yr = 16,
fr = 18,
wr = 32,
Nr = "pawn_metal_quote_cache_v2",
kr = [
{
key: "sge_gold",
label: "黄金SGE",
unit: "元/克",
digits: 2,
mode: "ladder",
bidCode: "Au99.99",
askCode: "Au99.99",
},
{
key: "gold",
label: "黄金",
unit: "元/克",
digits: 2,
mode: "pair",
bidCode: "JZJ_au_PB",
askCode: "JZJ_au_PS",
},
{
key: "silver",
label: "白银",
unit: "元/克",
digits: 3,
mode: "pair",
bidCode: "JZJ_ag_PB",
askCode: "JZJ_ag_PS",
},
{
key: "platinum",
label: "铂金",
unit: "元/克",
digits: 2,
mode: "pair",
bidCode: "JZJ_pt_PB",
askCode: "JZJ_pt_PS",
},
];
function vr(e) {
const t = [];
let o = e >>> 0;
for (; o > 127;) (t.push((127 & o) | 128), (o >>>= 7));
return (t.push(127 & o), t);
}
function Vr(e, t) {
return vr((e << 3) | t);
}
function br(e, t) {
const o = (function (e) {
if ("undefined" != typeof TextEncoder)
return Array.from(new TextEncoder().encode(e));
const t = [];
for (let o = 0; o < e.length; o++) {
let a = e.charCodeAt(o);
a < 128
? t.push(a)
: a < 2048
? t.push(192 | (a >> 6), 128 | (63 & a))
: a >= 55296 && a <= 56319 && o + 1 < e.length
? ((a =
65536 + ((1023 & a) << 10) + (1023 & e.charCodeAt(++o))),
t.push(
240 | (a >> 18),
128 | ((a >> 12) & 63),
128 | ((a >> 6) & 63),
128 | (63 & a),
))
: t.push(
224 | (a >> 12),
128 | ((a >> 6) & 63),
128 | (63 & a),
);
}
return t;
})(t);
return Vr(e, 2).concat(vr(o.length), o);
}
function Sr(e, t) {
return Vr(e, 2).concat(vr(t.length), t);
}
function Cr(e, t) {
let o = 0,
a = 0,
r = t;
for (; r < e.length;) {
const t = e[r++];
if (((o += (127 & t) * Math.pow(2, a)), !(128 & t))) break;
a += 7;
}
return { value: o, pos: r };
}
function Tr(e) {
const t = {};
let o = 0;
for (; o < e.length;) {
const a = Cr(e, o);
o = a.pos;
const r = a.value >>> 3,
n = 7 & a.value;
let l;
if (0 === n) {
const t = Cr(e, o);
((l = t.value), (o = t.pos));
} else if (1 === n) ((l = Br(e, o)), (o += 8));
else if (5 === n) ((l = e.slice(o, o + 4)), (o += 4));
else {
if (2 !== n) break;
{
const t = Cr(e, o);
((o = t.pos), (l = e.slice(o, o + t.value)), (o += t.value));
}
}
(t[r] = t[r] || []).push({ wire: n, value: l });
}
return t;
}
function xr(e, t) {
return e[t] && e[t].length ? e[t][0].value : void 0;
}
function Dr(e, t) {
const o = xr(e, t);
return "number" == typeof o ? o : 0;
}
function Ir(e, t) {
return (e[t] || []).map((e) => e.value);
}
function Fr(e, t) {
const o = xr(e, t);
if (!o || "number" == typeof o) return "";
let a = "";
for (let n = 0; n < o.length; n++) a += String.fromCharCode(o[n]);
try {
return decodeURIComponent(escape(a));
} catch (r) {
return a;
}
}
function Ar(e, t) {
const o = [];
return (
(e[t] || []).forEach((e) => {
if (1 === e.wire) o.push(e.value);
else if (2 === e.wire)
for (let t = 0; t + 8 <= e.value.length; t += 8)
o.push(Br(e.value, t));
}),
o
);
}
function Br(e, t) {
const o = new Uint8Array(8);
for (let a = 0; a < 8; a++) o[a] = e[t + a];
return new DataView(o.buffer).getFloat64(0, !0);
}
function Rr(e, t, o, a) {
let r = [].concat(
((n = e), Vr(1, 0).concat(vr(n))),
(function (e, t) {
return Vr(e, 0).concat(vr(((o = t) << 1) ^ (o >> 31)));
var o;
})(2, t),
);
var n;
return (o && (r = r.concat(Sr(4, o))), a && (r = r.concat(br(8, a))), r);
}
function Lr() {
const e = new mr(hr, mr.MODE.CBC, mr.PADDING.PKCS5);
e.setIv(Er);
const t = e.encode(`${pr}${ur}${Date.now()}`);
return Sr(
5,
[].concat(
br(1, ur),
(function (e, t) {
const o = Array.from(t);
return Vr(e, 2).concat(vr(o.length), o);
})(2, Uint8Array.from(t)),
),
);
}
function Or(e) {
let t = [];
return (
e.forEach((e) => (t = t.concat(br(1, e)))),
t.concat(
(function (e, t) {
if (!t || !t.length) return [];
const o = [];
return (
t.forEach((e) => o.push(...vr(e))),
Vr(e, 2).concat(vr(o.length), o)
);
})(2, [0]),
)
);
}
function Pr(e) {
const t = Uint8Array.from(e);
return t.buffer.slice(0, t.length);
}
let Mr = null;
const Ur = [2e3, 5e3, 1e4, 3e4];
function $r(e, t, o) {
((e.state = t),
e.handlers &&
"function" == typeof e.handlers.onStatus &&
e.handlers.onStatus(t, o || ""));
}
function _r(e, t) {
if (!e.handlers || "function" != typeof e.handlers.onUpdate) return;
const o = (function (e) {
const t = [];
return (
kr.forEach((o) => {
const a = e[o.bidCode],
r = e[o.askCode],
n = r || a;
if (!n && !a) return;
const l = "ladder" === o.mode;
t.push({
key: o.key,
label: o.label,
unit: o.unit,
digits: o.digits,
code: o.askCode,
bid: l ? (a && a.bid) || 0 : a ? a.last : 0,
ask: l ? (r && r.ask) || 0 : r ? r.last : 0,
updown: n ? n.updown : 0,
rate: n ? n.rate : 0,
preClose: n ? n.preClose : 0,
});
}),
t
);
})(e.got);
if (!o.length) return;
const a = Date.now();
if (!t && a - e.lastEmit < 400) {
if (!e.timers.emit) e.timers.emit=setTimeout(()=>{e.timers.emit=null;_r(e,true);},400-(a-e.lastEmit));
return;
}
((e.lastEmit = a),
(e.fetchedAt = a),
e.handlers.onUpdate(o, { fetchedAt: a }),
a - e.lastSave > 15e3 &&
((e.lastSave = a),
(function (e) {
try {
uni.setStorageSync(Nr, JSON.stringify(e));
} catch (t) {}
})({ list: o, fetchedAt: a })));
}
function zr(e) {
["heartbeat", "auth", "retry", "emit"].forEach((t) => {
e.timers[t] &&
(clearTimeout(e.timers[t]),
clearInterval(e.timers[t]),
(e.timers[t] = null));
});
}
function Hr(e) {
if (!e.socket) return;
const t = e.socket;
e.socket = null;
try {
t.close({ code: 1e3, reason: "done" });
} catch (o) {}
}
function jr(e, t, o, a) {
if (!e.socket) return !1;
try {
return (e.socket.send({ data: Pr(Rr(t, e.seq++, o, a)) }), !0);
} catch (r) {
return !1;
}
}
function Xr(e, t) {
if (e.stopped) return;
(zr(e), Hr(e));
const o = Ur[Math.min(e.retry, Ur.length - 1)];
((e.retry += 1),
$r(e, "reconnecting", t || "连接中断,正在重连…"),
(e.timers.retry = setTimeout(() => Wr(e), o)));
}
function Wr(e) {
if (!e.stopped) {
($r(e, "connecting", "正在连接行情…"), (e.authed = !1));
try {
e.socket = uni.connectSocket({
url: "wss://rtjwbqt.ytj9999.com:8443/gateway",
complete: () => {},
});
} catch (t) {
e.socket = null;
}
e.socket
? (e.socket.onOpen(() => {
e.stopped ||
(jr(e, wr, Lr())
? (e.timers.auth = setTimeout(() => {
e.authed || Xr(e, "行情鉴权超时");
}, 8e3))
: Xr(e, "鉴权请求发送失败"));
}),
e.socket.onMessage((o) => {
const a = (function (e) {
if (!e) return null;
if (e instanceof ArrayBuffer) return new Uint8Array(e);
if (
"undefined" != typeof ArrayBuffer &&
ArrayBuffer.isView &&
ArrayBuffer.isView(e)
)
return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
if ("string" == typeof e) {
const t = new Uint8Array(e.length);
for (let o = 0; o < e.length; o++)
t[o] = 255 & e.charCodeAt(o);
return t;
}
return null;
})(o && o.data);
if (!a || !a.length) return;
let r;
try {
r = Tr(a);
} catch (t) {
return;
}
const n = Dr(r, 1);
n !== wr
? (n !== gr && n !== fr) ||
((function (e) {
const o = [];
let a;
try {
a = Tr(e);
} catch (t) {
return o;
}
return (
Ir(a, 5).forEach((e) => {
Ir(Tr(e), 1).forEach((e) => {
const t = Tr(e),
a = xr(t, 7);
if (!a || "number" == typeof a) return;
const r = Tr(a),
n = Ar(r, 4),
l = Ar(r, 2);
o.push({
code: Fr(t, 1),
last: Dr(r, 1),
bid: n.length ? n[0] : 0,
ask: l.length ? l[0] : 0,
updown: Dr(r, 11),
rate: Dr(r, 12),
preClose: Dr(t, 13),
});
});
}),
o
);
})(a).forEach((t) => {
t.code && (e.got[t.code] = t);
}),
_r(e, !1))
: !(function (e) {
try {
const t = Tr(e);
if (Dr(t, 1) !== wr) return !1;
let o = !1;
return (
Ir(t, 5).forEach((e) => {
xr(Tr(e), 5) && (o = !0);
}),
o
);
} catch (t) {
return !1;
}
})(a)
? Xr(e, "行情鉴权失败")
: ((e.authed = !0),
(e.retry = 0),
e.timers.auth &&
(clearTimeout(e.timers.auth), (e.timers.auth = null)),
jr(
e,
fr,
Or(
(function () {
const e = {};
return (
kr.forEach((t) => {
((e[t.bidCode] = !0), (e[t.askCode] = !0));
}),
Object.keys(e)
);
})(),
),
),
(function (e) {
(e.timers.heartbeat && clearInterval(e.timers.heartbeat),
(e.timers.heartbeat = setInterval(() => {
jr(e, yr, []);
}, 2e4)));
})(e),
$r(e, "live", "实时推送中"));
}),
e.socket.onError(() => {}),
e.socket.onClose(() => {
e.stopped || Xr(e, "行情连接已断开,正在重连…");
}))
: Xr(e, "当前环境不支持 WebSocket");
}
}
function Yr() {
Mr && ((Mr.stopped = !0), zr(Mr), Hr(Mr), (Mr = null));
}
function startQuotes(){
if(Mr&&!Mr.stopped)return;
Mr={handlers:{onStatus:(state,message)=>send('status',{state,message}),onUpdate:(rows,meta)=>send('quotes',{rows,...meta})},socket:null,state:'idle',seq:0,got:{},retry:0,authed:false,stopped:false,timers:{},lastEmit:0,lastSave:0,fetchedAt:0};
Wr(Mr);
}
function refreshQuotes(){Yr();startQuotes();}
function stopQuotes(){Yr();send('status',{state:'paused',message:'行情已暂停'});}
window.addEventListener('HybridWebViewMessageReceived',e=>{if(e.detail.message==='stop')stopQuotes();else if(e.detail.message==='refresh')refreshQuotes();else if(e.detail.message==='start')startQuotes();});
startQuotes();