@proxyshard/shardx 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@ Self-contained Node/TypeScript SDK for the **ShardX anti-detect
4
4
  browser** by the [ProxyShard](https://proxyshard.com?utm_source=shardx&utm_medium=referral&utm_campaign=shardx-launcher) team.
5
5
 
6
6
  Does **not** depend on the desktop launcher. On first use it downloads
7
- the patched Chromium 152 engine, Widevine CDM, and the 170-profile
7
+ the patched Chromium 152 engine, Widevine CDM, and the 220-profile
8
8
  fingerprint library from our CDN into a local cache, then launches
9
9
  isolated browser sessions on demand.
10
10
 
@@ -150,6 +150,48 @@ Saved profiles never touch the bundled S3 library: templates stay read-only in
150
150
  `<cache>/fingerprints/*.json`, saved profiles live in `<cache>/profiles/<id>/`
151
151
  (holding `profile.json` + the browser's user-data-dir).
152
152
 
153
+ ## Human input and finger gestures
154
+
155
+ `Motion` is the engine's own input domain: pointer trajectories that obey
156
+ Fitts's law, key-by-key typing with log-normal gaps, and the gestures a cursor
157
+ cannot make. It runs inside the browser process — nothing is injected into the
158
+ page — and it does not appear in `/json/protocol`, so a page cannot discover it.
159
+
160
+ ```ts
161
+ import { ShardX, Motion } from "@proxyshard/shardx";
162
+
163
+ const { browser, session } = await sdk.session(profile);
164
+ const motion = await Motion.attach(browser);
165
+
166
+ // desktop profile
167
+ await motion.createPointer(20, 20);
168
+ await motion.glideTo(640, 360, 220); // 220 = the field's real width
169
+ await motion.tap();
170
+ await motion.enterText("hello there");
171
+ await motion.destroyPointer();
172
+
173
+ // phone profile
174
+ await motion.touchSwipe(200, 600, 200, 200, true); // scroll and fling
175
+ await motion.touchLongPress(200, 300); // context menu
176
+ await motion.pinch(200, 400, 2); // zoom in
177
+ const o = await motion.setOrientation(90);
178
+ // o → { angle: 90, type: "landscape-primary", screenWidth: 844, ... }
179
+ ```
180
+
181
+ A profile that claims a touchscreen has no cursor, and the core enforces it
182
+ both ways: the pointer commands are refused on such a profile, and the finger
183
+ commands are refused on every other. There is no `touchScroll` and no fling
184
+ command — gestures are built in the browser out of the touch stream, so a real
185
+ swipe produces the scroll and the fling with the velocity the browser's own
186
+ tracker fitted. `touchDrag` differs from `touchSwipe` in the wait before the
187
+ travel: that wait is when a page's drag-and-drop starts, and a stroke that
188
+ begins earlier is a scroll.
189
+
190
+ `setOrientation` is physical and takes time — the sensors move first and the
191
+ picture commits at the end, the order a handset produces. It returns once the
192
+ new angle has reached the page, so `screen.width` read straight after is
193
+ already the turned one.
194
+
153
195
  ## Anti-fingerprint noise
154
196
 
155
197
  Per-vector noise (canvas / WebGL / audio / DOMRect / sensors / fonts) is **off
@@ -298,7 +340,7 @@ with `cdpUrl`, `geo`, `proxyUdpMs`, `quicEnabled`, `webrtcMode`,
298
340
  ~/.cache/shardx-sdk/ (linux)
299
341
  ├── manifest.json ← etag cache
300
342
  ├── ShardX-Mac-arm64/ ← extracted engine
301
- ├── fingerprints/ ← 170 bundled .json templates (read-only)
343
+ ├── fingerprints/ ← 220 bundled .json templates (read-only)
302
344
  └── profiles/<id>/ ← saved profile (createProfile) + its state
303
345
  ├── profile.json ← the frozen fingerprint config
304
346
  └── … ← user-data-dir: cookies, IndexedDB, cache
package/dist/browser.d.ts CHANGED
@@ -11,6 +11,8 @@ export interface LaunchOptions {
11
11
  cdp?: boolean;
12
12
  headless?: boolean;
13
13
  extraArgs?: string[];
14
+ /** Claim the protected-video support a phone has. Mobile profiles only. */
15
+ androidMedia?: boolean;
14
16
  env?: Record<string, string>;
15
17
  webrtc?: WebRtcMode;
16
18
  webrtcPublicIp?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAUA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,OAAO,EAAmC,MAAM,cAAc,CAAC;AAExE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7F,MAAM,MAAM,UAAU,GAAK,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AACzD,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAK,cAAc,CAAC;AAqC1C,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IAIvB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC9B,QAAQ,CAAC,OAAO,EAAE,YAAY;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAV9B,OAAO,CAAC,QAAQ,CAAS;gBAGd,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,YAAY,EACrB,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,WAAW,GAAE,OAAe,EAC5B,UAAU,GAAE,UAAmB,EAC/B,GAAG,GAAE,OAAO,GAAG,IAAW;IAG/B,IAAI,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAa5C;AAED,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAEvC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;CA4FlF"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAUA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,OAAO,EAAmC,MAAM,cAAc,CAAC;AAExE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7F,MAAM,MAAM,UAAU,GAAK,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AACzD,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAK,cAAc,CAAC;AAqC1C,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IAIvB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC9B,QAAQ,CAAC,OAAO,EAAE,YAAY;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAV9B,OAAO,CAAC,QAAQ,CAAS;gBAGd,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,YAAY,EACrB,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,WAAW,GAAE,OAAe,EAC5B,UAAU,GAAE,UAAmB,EAC/B,GAAG,GAAE,OAAO,GAAG,IAAW;IAG/B,IAAI,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAa5C;AAED,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAEvC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;CAiGlF"}
package/dist/browser.js CHANGED
@@ -132,8 +132,12 @@ export class Browser {
132
132
  `--user-data-dir=${udd}`,
133
133
  "--no-first-run",
134
134
  ];
135
- if (!profile.hasWebGPU)
135
+ // A Linux profile keeps navigator.gpu and answers the adapter request with
136
+ // nothing, as Chrome on Linux does; the switch would remove the object too.
137
+ if (!profile.hasWebGPU && !profile.claimsLinuxDesktop)
136
138
  argv.push("--disable-features=WebGPU");
139
+ if (opts.androidMedia && profile.claimsMobile)
140
+ argv.push("--shardx-android-media");
137
141
  if (!opts.headless && !opts.cdp) {
138
142
  argv.push("--restore-last-session", "--hide-crash-restore-bubble");
139
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,6DAA6D;AAC7D,EAAE;AACF,uEAAuE;AACvE,+CAA+C;AAC/C,wEAAwE;AACxE,4DAA4D;AAC5D,sEAAsE;AACtE,qEAAqE;AACrE,kCAAkC;AAClC,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAgB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAW,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAuB,MAAM,aAAa,CAAC;AAM7F,MAAM,YAAY,GAAG,GAAqD,EAAE,CAAC,CAAC;IAC5E,MAAM,EAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;IACzC,KAAK,EAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;IACvD,KAAK,EAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;IACzC,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;IACxD,OAAO,EAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;IACzC,KAAK,EAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;CAC1C,CAAC,CAAC;AAEH,8DAA8D;AAC9D,SAAS,SAAS,CAAC,EAAU,EAAE,IAAY;IACzC,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,MAAM,CAAC,GAAG,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChF,CAAC,MAAM,CAAC,CAAC;IACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED;;mDAEmD;AACnD,SAAS,eAAe,CAAC,MAA+B,EAAE,EAAU;IAClE,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAwD,CAAC;IACnF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,KAAK,GAAG,YAAY,EAAE,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAqBD,MAAM,OAAO,cAAc;IAId;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAVH,QAAQ,GAAG,KAAK,CAAC;IAEzB,YACW,GAAW,EACX,WAAmB,EACnB,MAAqB,EACrB,OAAqB,EACrB,aAA4B,IAAI,EAChC,cAAuB,KAAK,EAC5B,aAAyB,MAAM,EAC/B,MAAsB,IAAI;QAP1B,QAAG,GAAH,GAAG,CAAQ;QACX,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAe;QACrB,YAAO,GAAP,OAAO,CAAc;QACrB,eAAU,GAAV,UAAU,CAAsB;QAChC,gBAAW,GAAX,WAAW,CAAiB;QAC5B,eAAU,GAAV,UAAU,CAAqB;QAC/B,QAAG,GAAH,GAAG,CAAuB;IAClC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO;QAC9B,IAAI,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACpD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEjD,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE,OAAsB,EAAE;QACrD,mEAAmE;QACnE,+DAA+D;QAC/D,2BAA2B;QAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAE7B,MAAM,MAAM,GAAuB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9E,mEAAmE;QACnE,IAAI,GAAG,GAAmB,IAAI,CAAC;QAC/B,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,GAAG,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,GAAmB,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvF,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC;QAC5D,IAAI,UAAU,GAAe,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACnD,IAAI,UAAU,KAAK,MAAM,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK;YAAE,UAAU,GAAG,UAAU,CAAC;QAEhF,oEAAoE;QACpE,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC;QACzD,sEAAsE;QACtE,4EAA4E;QAC5E,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EACtE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjE,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAC7C,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAa;YACrB,yBAAyB,MAAM,EAAE;YACjC,mBAAmB,GAAG,EAAE;YACxB,gBAAgB;SACjB,CAAC;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,kBAAkB;YACnD,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY;YAC3C,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,6BAA6B,CAAC,CAAC;QACrE,CAAC;QACD,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,2DAA2D,EAC3D,8BAA8B,CAC/B,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CACP,2DAA2D,EAC3D,iCAAiC,CAClC,CAAC;YACF,gEAAgE;YAChE,mEAAmE;YACnE,kEAAkE;YAClE,6DAA6D;YAC7D,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,GAAG,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC;oBAAC,EAAE,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,0BAA0B,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE;YACjD,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;YAC5C,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACvC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,OAAO,IAAI,cAAc,CACvB,KAAK,CAAC,GAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,CACzE,CAAC;IACJ,CAAC;CACF;AAED,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,SAAiB;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,eAAe,CAAC,CAAC;oBAC/D,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;wBACT,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAuC,CAAC;wBACjE,IAAI,IAAI,CAAC,oBAAoB;4BAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC;oBAClE,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/index.d.ts CHANGED
@@ -39,9 +39,16 @@ export declare class ShardX {
39
39
  /** Create a new persistent profile from a library template (or a random one
40
40
  * when `template` is omitted), enriched with randomized hardware +
41
41
  * platform_version under a fresh unique id, and frozen to disk. Launch it
42
- * with `launch(profile, { randomize: false })`. */
42
+ * with `launch(profile, { randomize: false })`.
43
+ *
44
+ * `refreshRate` is how often the claimed display refreshes, in Hz. No web
45
+ * API reports it; a page measures it by timing requestAnimationFrame, so
46
+ * leaving it out is not neutral — the engine then claims 60, what most
47
+ * machines report, rather than the host's own screen. Frames can only be
48
+ * slowed, so a rate above the host's panel runs at the panel's. */
43
49
  createProfile(template?: string, opts?: {
44
50
  platform?: string;
51
+ refreshRate?: number;
45
52
  }): Promise<Profile>;
46
53
  /** Persist a profile's current config to its on-disk folder. Call after
47
54
  * mutating a reopened profile (e.g. `setNoise`) to keep changes. */
@@ -111,4 +118,6 @@ export type { ScreenStrategy } from "./screen.js";
111
118
  export { geoCheckVia } from "./geo.js";
112
119
  export type { GeoInfo, GeoProvider } from "./geo.js";
113
120
  export { hasAutoFields, resolveAutoFields } from "./autoResolve.js";
121
+ export { Motion } from "./motion.js";
122
+ export type { MouseButton, ScreenAngle, OrientationResult } from "./motion.js";
114
123
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,OAAO,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKzE,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAW,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAGhF,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B;iDAC6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;uEACmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,gGAAgG;IAChG,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,OAAO,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,UAAU,CAAC;CACrC;AAED,qBAAa,MAAM;IACjB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,IAAI,GAAE,aAAkB;IAMpC;+DAC2D;IACrD,YAAY,CAAC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKvE,4EAA4E;IACtE,aAAa,CAAC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBvE;;;;;;;;;wEASoE;IAC9D,aAAa,CACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD,OAAO,CAAC,OAAO,CAAC;IAqBnB;yEACqE;IACrE,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKnC,4EAA4E;IAC5E,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAMhC,0CAA0C;IAC1C,iBAAiB,IAAI,MAAM,EAAE;IAS7B,oEAAoE;IACpE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,eAAe;IAIvB;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqBjH;;;;;;;;;;;;;;;;;OAiBG;IACG,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC;QACjG,OAAO,EAAE,iBAAiB,CAAC;QAC3B,OAAO,EAAE,cAAc,CAAC;QACxB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5B,CAAC;IAiBF;;;OAGG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAY9D;AAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC9F,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,iBAAiB,EAAE,wBAAwB,EAC3C,cAAc,EAAE,SAAS,EACzB,uBAAuB,EAAE,yBAAyB,EAAE,uBAAuB,GAC5E,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,GAC7D,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -43,7 +43,13 @@ export class ShardX {
43
43
  /** Create a new persistent profile from a library template (or a random one
44
44
  * when `template` is omitted), enriched with randomized hardware +
45
45
  * platform_version under a fresh unique id, and frozen to disk. Launch it
46
- * with `launch(profile, { randomize: false })`. */
46
+ * with `launch(profile, { randomize: false })`.
47
+ *
48
+ * `refreshRate` is how often the claimed display refreshes, in Hz. No web
49
+ * API reports it; a page measures it by timing requestAnimationFrame, so
50
+ * leaving it out is not neutral — the engine then claims 60, what most
51
+ * machines report, rather than the host's own screen. Frames can only be
52
+ * slowed, so a rate above the host's panel runs at the panel's. */
47
53
  async createProfile(template, opts = {}) {
48
54
  await this.runtime.install();
49
55
  const src = template == null
@@ -54,6 +60,13 @@ export class ShardX {
54
60
  // Seed hardware by the new id so the pick is stable across reopens.
55
61
  randomizeHardware(profile.config, id);
56
62
  randomizePlatformVersion(profile.config);
63
+ if (opts.refreshRate != null) {
64
+ if (!Number.isInteger(opts.refreshRate) || opts.refreshRate < 24 || opts.refreshRate > 480) {
65
+ throw new Error(`refreshRate must be an integer 24..480, got ${opts.refreshRate}`);
66
+ }
67
+ const cfg = profile.config;
68
+ cfg.screen = { ...(cfg.screen || {}), refresh_rate: opts.refreshRate };
69
+ }
57
70
  this.saveProfile(profile);
58
71
  return profile;
59
72
  }
@@ -184,4 +197,5 @@ export { hostLogicalCores, hostRamGb, hostRamBucketGb, hostScreenSize, } from ".
184
197
  export { applyScreenStrategy, defaultScreenModeFor } from "./screen.js";
185
198
  export { geoCheckVia } from "./geo.js";
186
199
  export { hasAutoFields, resolveAutoFields } from "./autoResolve.js";
200
+ export { Motion } from "./motion.js";
187
201
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,uDAAuD;AACvD,OAAO,EAAE,QAAQ,EAAqC,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAmB,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAA2C,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,WAAW,EAAgB,MAAM,UAAU,CAAC;AAwBrD,MAAM,OAAO,MAAM;IACR,OAAO,CAAU;IACjB,OAAO,CAAqB;IACpB,OAAO,CAAU;IAElC,YAAY,OAAsB,EAAE;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;+DAC2D;IAC3D,KAAK,CAAC,YAAY,CAAC,OAA8B,EAAE;QACjD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3G,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,aAAa,CAAC,OAA8B,EAAE;QAClD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACxI,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,gCAAgC;IAChC,EAAE;IACF,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,wDAAwD;IAExD;;;;;;;;;wEASoE;IACpE,KAAK,CAAC,aAAa,CACjB,QAAiB,EACjB,OAAoD,EAAE;QAEtD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI;YAC1B,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAG,mBAAmB;QAClE,oEAAoE;QACpE,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;gBAC3F,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,MAA6B,CAAC;YAClD,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;yEACqE;IACrE,WAAW,CAAC,OAAgB;QAC1B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,4EAA4E;IAC5E,WAAW,CAAC,EAAU;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAC1E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,0CAA0C;IAC1C,iBAAiB;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;aAChF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,EAAE,CAAC;IACZ,CAAC;IAED,oEAAoE;IACpE,aAAa,CAAC,EAAU;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAEO,eAAe,CAAC,EAAU;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAM,CAAC,OAA0C,EAAE,OAA4B,EAAE;QACrF,IAAI,CAAC,CAAC,OAAO,YAAY,OAAO,CAAC,EAAE,CAAC;YAClC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3C,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,SAAS,CACjB,mEAAmE;oBACnE,uEAAuE;oBACvE,uBAAuB,CACxB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9C,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,OAAO,CAAC,OAA0C,EAAE,OAA4B,EAAE;QAKtF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,OAAO;YACL,OAAO;YACP,OAAO,EAAE,IAAI;YACb,KAAK,CAAC,KAAK;gBACT,IAAI,CAAC;oBAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBACrD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC;QAC7B,OAAO;YACL,KAAK;YACL,GAAG;YACH,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;SAC5C,CAAC;IACJ,CAAC;CACF;AAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE9F,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EACL,iBAAiB,EAAE,wBAAwB,EAC3C,cAAc,EAAE,SAAS,EACzB,uBAAuB,EAAE,yBAAyB,EAAE,uBAAuB,GAC5E,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,GAC7D,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,69 @@
1
+ import type { Browser as PatchrightBrowser } from "patchright";
2
+ export type MouseButton = "left" | "middle" | "right";
3
+ /** 0, 90, 180 or 270, clockwise from the orientation the profile was written in. */
4
+ export type ScreenAngle = 0 | 90 | 180 | 270;
5
+ export interface OrientationResult {
6
+ angle: number;
7
+ type: string;
8
+ screenWidth: number;
9
+ screenHeight: number;
10
+ durationMs: number;
11
+ }
12
+ export declare class Motion {
13
+ private readonly session;
14
+ private constructor();
15
+ /** Open a browser-level CDP session for the domain. */
16
+ static attach(browser: PatchrightBrowser): Promise<Motion>;
17
+ private call;
18
+ /** Where the cursor starts. Not a movement — call it before anything else,
19
+ * since a guessed origin produces the wrong duration and curve. */
20
+ createPointer(x: number, y: number, opts?: {
21
+ paceScale?: number;
22
+ seed?: number;
23
+ }): Promise<void>;
24
+ /** Move along a human trajectory. `targetWidth` is the element's real width;
25
+ * it feeds Fitts's law, so a small target genuinely takes longer. */
26
+ glideTo(x: number, y: number, targetWidth?: number): Promise<number>;
27
+ /** Press and release where the pointer already is. */
28
+ tap(opts?: {
29
+ button?: MouseButton;
30
+ clickCount?: number;
31
+ }): Promise<number>;
32
+ /** Press here, travel with the button held, release there. */
33
+ dragTo(x: number, y: number, opts?: {
34
+ targetWidth?: number;
35
+ button?: MouseButton;
36
+ }): Promise<number>;
37
+ /** Scroll under the pointer with the device the profile's platform implies —
38
+ * a trackpad on macOS, a notched wheel elsewhere. Does not move the pointer. */
39
+ wheel(deltaY: number, deltaX?: number): Promise<number>;
40
+ /** Type into whatever has focus, key by key. `allowTypos` lets the profile
41
+ * make and correct a mistake, which changes the value that lands. */
42
+ enterText(text: string, allowTypos?: boolean): Promise<number>;
43
+ /** One named key ("Enter", "Tab", "ArrowDown") or a printable character,
44
+ * which resolves through the profile's own keyboard layout. */
45
+ pressKey(key: string, modifiers?: string[]): Promise<number>;
46
+ destroyPointer(): Promise<void>;
47
+ /** `targetWidth` defaults to 44 in the core — the smallest tappable target. */
48
+ touchTap(x: number, y: number, opts?: {
49
+ targetWidth?: number;
50
+ tapCount?: number;
51
+ }): Promise<number>;
52
+ /** The phone's context menu. `holdMs` is floored above the browser's own
53
+ * long-press threshold — a shorter hold is a slow tap, and yields a click. */
54
+ touchLongPress(x: number, y: number, holdMs?: number): Promise<number>;
55
+ /** `flick` lifts the finger while it is still moving, which is what flings
56
+ * the page. Omit it to let the profile decide. */
57
+ touchSwipe(fromX: number, fromY: number, toX: number, toY: number, flick?: boolean): Promise<number>;
58
+ /** Drag, not scroll: the contact stays still until the long-press timers have
59
+ * fired, which is when a page's drag-and-drop starts. */
60
+ touchDrag(fromX: number, fromY: number, toX: number, toY: number, holdMs?: number): Promise<number>;
61
+ /** Above 1 spreads, below 1 pinches. Fails rather than delivering a gesture
62
+ * below the browser's recognition thresholds, which would zoom nothing. */
63
+ pinch(x: number, y: number, scale: number, rotation?: number): Promise<number>;
64
+ /** Turn the phone. Physical: the sensors move first and the picture commits
65
+ * at the end, so `screen.width` read after this resolves is already turned. */
66
+ setOrientation(angle: ScreenAngle, turnMs?: number): Promise<OrientationResult>;
67
+ detach(): Promise<void>;
68
+ }
69
+ //# sourceMappingURL=motion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../src/motion.ts"],"names":[],"mappings":"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"}
package/dist/motion.js ADDED
@@ -0,0 +1,134 @@
1
+ export class Motion {
2
+ session;
3
+ constructor(session) {
4
+ this.session = session;
5
+ }
6
+ /** Open a browser-level CDP session for the domain. */
7
+ static async attach(browser) {
8
+ return new Motion(await browser.newBrowserCDPSession());
9
+ }
10
+ async call(method, params = {}) {
11
+ return (await this.session.send(method, params));
12
+ }
13
+ // ---- pointer ----
14
+ /** Where the cursor starts. Not a movement — call it before anything else,
15
+ * since a guessed origin produces the wrong duration and curve. */
16
+ async createPointer(x, y, opts = {}) {
17
+ await this.call("Motion.createPointer", { x, y, ...opts });
18
+ }
19
+ /** Move along a human trajectory. `targetWidth` is the element's real width;
20
+ * it feeds Fitts's law, so a small target genuinely takes longer. */
21
+ async glideTo(x, y, targetWidth) {
22
+ const r = await this.call("Motion.glideTo", {
23
+ x,
24
+ y,
25
+ ...(targetWidth === undefined ? {} : { targetWidth }),
26
+ });
27
+ return r.durationMs;
28
+ }
29
+ /** Press and release where the pointer already is. */
30
+ async tap(opts = {}) {
31
+ const r = await this.call("Motion.tap", opts);
32
+ return r.durationMs;
33
+ }
34
+ /** Press here, travel with the button held, release there. */
35
+ async dragTo(x, y, opts = {}) {
36
+ const r = await this.call("Motion.dragTo", { x, y, ...opts });
37
+ return r.durationMs;
38
+ }
39
+ /** Scroll under the pointer with the device the profile's platform implies —
40
+ * a trackpad on macOS, a notched wheel elsewhere. Does not move the pointer. */
41
+ async wheel(deltaY, deltaX) {
42
+ const r = await this.call("Motion.wheel", {
43
+ deltaY,
44
+ ...(deltaX === undefined ? {} : { deltaX }),
45
+ });
46
+ return r.durationMs;
47
+ }
48
+ /** Type into whatever has focus, key by key. `allowTypos` lets the profile
49
+ * make and correct a mistake, which changes the value that lands. */
50
+ async enterText(text, allowTypos = false) {
51
+ const r = await this.call("Motion.enterText", { text, allowTypos });
52
+ return r.durationMs;
53
+ }
54
+ /** One named key ("Enter", "Tab", "ArrowDown") or a printable character,
55
+ * which resolves through the profile's own keyboard layout. */
56
+ async pressKey(key, modifiers = []) {
57
+ const r = await this.call("Motion.pressKey", {
58
+ key,
59
+ ...(modifiers.length ? { modifiers } : {}),
60
+ });
61
+ return r.durationMs;
62
+ }
63
+ async destroyPointer() {
64
+ await this.call("Motion.destroyPointer");
65
+ }
66
+ // ---- touch (phone profiles only) ----
67
+ //
68
+ // A finger is not on the glass between commands, so unlike the pointer there
69
+ // is nothing to create first: each call places its own contacts, plays the
70
+ // whole gesture and lifts them.
71
+ /** `targetWidth` defaults to 44 in the core — the smallest tappable target. */
72
+ async touchTap(x, y, opts = {}) {
73
+ const r = await this.call("Motion.touchTap", { x, y, ...opts });
74
+ return r.durationMs;
75
+ }
76
+ /** The phone's context menu. `holdMs` is floored above the browser's own
77
+ * long-press threshold — a shorter hold is a slow tap, and yields a click. */
78
+ async touchLongPress(x, y, holdMs) {
79
+ const r = await this.call("Motion.touchLongPress", {
80
+ x,
81
+ y,
82
+ ...(holdMs === undefined ? {} : { holdMs }),
83
+ });
84
+ return r.durationMs;
85
+ }
86
+ /** `flick` lifts the finger while it is still moving, which is what flings
87
+ * the page. Omit it to let the profile decide. */
88
+ async touchSwipe(fromX, fromY, toX, toY, flick) {
89
+ const r = await this.call("Motion.touchSwipe", {
90
+ fromX,
91
+ fromY,
92
+ toX,
93
+ toY,
94
+ ...(flick === undefined ? {} : { flick }),
95
+ });
96
+ return r.durationMs;
97
+ }
98
+ /** Drag, not scroll: the contact stays still until the long-press timers have
99
+ * fired, which is when a page's drag-and-drop starts. */
100
+ async touchDrag(fromX, fromY, toX, toY, holdMs) {
101
+ const r = await this.call("Motion.touchDrag", {
102
+ fromX,
103
+ fromY,
104
+ toX,
105
+ toY,
106
+ ...(holdMs === undefined ? {} : { holdMs }),
107
+ });
108
+ return r.durationMs;
109
+ }
110
+ /** Above 1 spreads, below 1 pinches. Fails rather than delivering a gesture
111
+ * below the browser's recognition thresholds, which would zoom nothing. */
112
+ async pinch(x, y, scale, rotation) {
113
+ const r = await this.call("Motion.pinch", {
114
+ x,
115
+ y,
116
+ scale,
117
+ ...(rotation === undefined ? {} : { rotation }),
118
+ });
119
+ return r.durationMs;
120
+ }
121
+ // ---- the handset itself ----
122
+ /** Turn the phone. Physical: the sensors move first and the picture commits
123
+ * at the end, so `screen.width` read after this resolves is already turned. */
124
+ async setOrientation(angle, turnMs) {
125
+ return this.call("Motion.setOrientation", {
126
+ angle,
127
+ ...(turnMs === undefined ? {} : { turnMs }),
128
+ });
129
+ }
130
+ async detach() {
131
+ await this.session.detach().catch(() => { });
132
+ }
133
+ }
134
+ //# sourceMappingURL=motion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.js","sourceRoot":"","sources":["../src/motion.ts"],"names":[],"mappings":"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"}
package/dist/profile.d.ts CHANGED
@@ -17,6 +17,10 @@ export declare class Profile {
17
17
  */
18
18
  setNoise(...vectors: NoiseVector[]): this;
19
19
  get platform(): string;
20
+ /** A device whose primary input is a finger. */
21
+ get claimsMobile(): boolean;
22
+ /** Desktop Linux. Android is excluded: its platform is Linux too, and a phone has WebGPU. */
23
+ get claimsLinuxDesktop(): boolean;
20
24
  get hasWebGPU(): boolean;
21
25
  }
22
26
  export declare class FingerprintLibrary {
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,QAAA,MAAM,aAAa,2EAA4E,CAAC;AAChG,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAOzD,qBAAa,OAAO;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM;IAKxD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMtC,gFAAgF;IAChF,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAazD;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IA0BzC,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED,IAAI,SAAS,IAAI,OAAO,CAKvB;CACF;AAED,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAE7C,GAAG,IAAI,MAAM,EAAE;IAOd,MAAM,CAAC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,SAAS,CAAC,MAAM,CAAC;IAY5D,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;CAQrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,eAAe,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAoCN;AAED;;;qCAGqC;AACrC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtF"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,QAAA,MAAM,aAAa,2EAA4E,CAAC;AAChG,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAOzD,qBAAa,OAAO;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM;IAKxD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMtC,gFAAgF;IAChF,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAazD;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IA0BzC,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED,gDAAgD;IAChD,IAAI,YAAY,IAAI,OAAO,CAO1B;IAED,6FAA6F;IAC7F,IAAI,kBAAkB,IAAI,OAAO,CAIhC;IAED,IAAI,SAAS,IAAI,OAAO,CAKvB;CACF;AAED,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAE7C,GAAG,IAAI,MAAM,EAAE;IAOd,MAAM,CAAC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,SAAS,CAAC,MAAM,CAAC;IAY5D,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;CAQrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,eAAe,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAoCN;AAED;;;qCAGqC;AACrC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtF"}
package/dist/profile.js CHANGED
@@ -73,6 +73,24 @@ export class Profile {
73
73
  const nav = this.config["navigator"];
74
74
  return nav?.["platform"] ?? "";
75
75
  }
76
+ /** A device whose primary input is a finger. */
77
+ get claimsMobile() {
78
+ const ch = this.config["client_hints"];
79
+ if (ch?.["mobile"] === true)
80
+ return true;
81
+ const chPlatform = String(ch?.["platform"] ?? "").toLowerCase();
82
+ if (chPlatform.startsWith("android"))
83
+ return true;
84
+ const nav = this.config["navigator"];
85
+ return String(nav?.["user_agent"] ?? "").toLowerCase().includes("android");
86
+ }
87
+ /** Desktop Linux. Android is excluded: its platform is Linux too, and a phone has WebGPU. */
88
+ get claimsLinuxDesktop() {
89
+ if (this.claimsMobile)
90
+ return false;
91
+ const p = this.platform.toLowerCase();
92
+ return p.startsWith("linux") || p.startsWith("x11");
93
+ }
76
94
  get hasWebGPU() {
77
95
  const wgp = this.config["webgpu"];
78
96
  if (!wgp)
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export declare const PUB_BASE = "https://pub-e57a7c60f6934eb09a6600bf2fc59cdc.r2.dev";
2
2
  export declare const CHROMIUM_VERSION = "152.0.7977.65";
3
+ /** This SDK's own version, compared against the manifest's `min_sdk_version`. */
4
+ export declare const SDK_VERSION = "2.0.3";
3
5
  export declare const MANIFEST_URL = "https://raw.githubusercontent.com/ProxyShard/ShardBrowser/main/runtime.json";
4
6
  export declare function defaultCacheDir(): string;
5
7
  export interface Archive {
@@ -65,6 +67,14 @@ export declare class Runtime {
65
67
  * it off disk, which can carry stale files from a previous version. On-disk
66
68
  * detection is the fallback for legacy installs with no recorded version. */
67
69
  private effectiveInstalledVersion;
70
+ /** Build stamp on disk: `<engine>/shardx-build` when the archive ships one,
71
+ * else what was recorded at install time. */
72
+ private installedEngineBuild;
73
+ /** Dotted-numeric compare; non-numeric parts count as 0. */
74
+ private static versionLt;
75
+ /** Chromium version, `engine_build`, or the archive hash — any one of them
76
+ * means the engine moved. An unknown local value is not a mismatch. */
77
+ private engineOutdated;
68
78
  private loadManifest;
69
79
  private saveManifest;
70
80
  install(opts?: {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,wDAAwD,CAAC;AAC9E,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAIhD,eAAO,MAAM,YAAY,gFAAgF,CAAC;AAE1G,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED,MAAM,WAAW,OAAO;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;CAAE;AAExD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,QAAQ,IAAI,QAAQ,CA8BnC;AAED,eAAO,MAAM,oBAAoB,EAAE,OAGlC,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAYlF,qBAAa,OAAO;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC;;uCAEmC;IACnC,OAAO,CAAC,iBAAiB,CAAS;IAClC;4EACwE;IACxE,OAAO,CAAC,gBAAgB,CAA4B;IACpD;2EACuE;IACvE,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC;;;oEAGgE;IAChE,OAAO,CAAC,IAAI,CAAC,CAA0B;gBAE3B,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAQzF,IAAI,YAAY,IAAI,MAAM,CAA8C;IACxE,IAAI,UAAU,IAAI,MAAM,CAA2D;IACnF,IAAI,eAAe,IAAI,MAAM,CAI5B;IACD;;iEAE6D;IAC7D,IAAI,YAAY,IAAI,MAAM,CAIzB;IACD,IAAI,SAAS,IAAI,OAAO,CAA2C;IACnE,mEAAmE;IACnE,IAAI,eAAe,IAAI,MAAM,CAAkC;IAC/D,6EAA6E;IAC7E,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAA8B;IACnE,sEAAsE;IACtE,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAAgC;IACvE,yDAAyD;IACzD,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAsB;IAEpE;2EACuE;IACvE,OAAO,CAAC,sBAAsB;IAqB9B;;;kFAG8E;IAC9E,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAMd,OAAO,CAAC,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD5D;;8EAE0E;YAC5D,aAAa;YAkBb,kBAAkB;IA2ChC,OAAO,CAAC,aAAa;YAYP,mBAAmB;CA0ClC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,wDAAwD,CAAC;AAC9E,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,iFAAiF;AACjF,eAAO,MAAM,WAAW,UAAU,CAAC;AAInC,eAAO,MAAM,YAAY,gFAAgF,CAAC;AAE1G,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED,MAAM,WAAW,OAAO;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;CAAE;AAExD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,QAAQ,IAAI,QAAQ,CA8BnC;AAED,eAAO,MAAM,oBAAoB,EAAE,OAGlC,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAclF,qBAAa,OAAO;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC;;uCAEmC;IACnC,OAAO,CAAC,iBAAiB,CAAS;IAClC;4EACwE;IACxE,OAAO,CAAC,gBAAgB,CAA4B;IACpD;2EACuE;IACvE,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC;;;oEAGgE;IAChE,OAAO,CAAC,IAAI,CAAC,CAA0B;gBAE3B,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAQzF,IAAI,YAAY,IAAI,MAAM,CAA8C;IACxE,IAAI,UAAU,IAAI,MAAM,CAA2D;IACnF,IAAI,eAAe,IAAI,MAAM,CAI5B;IACD;;iEAE6D;IAC7D,IAAI,YAAY,IAAI,MAAM,CAIzB;IACD,IAAI,SAAS,IAAI,OAAO,CAA2C;IACnE,mEAAmE;IACnE,IAAI,eAAe,IAAI,MAAM,CAAkC;IAC/D,6EAA6E;IAC7E,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAA8B;IACnE,sEAAsE;IACtE,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAAgC;IACvE,yDAAyD;IACzD,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAsB;IAEpE;2EACuE;IACvE,OAAO,CAAC,sBAAsB;IAqB9B;;;kFAG8E;IAC9E,OAAO,CAAC,yBAAyB;IAIjC;kDAC8C;IAC9C,OAAO,CAAC,oBAAoB;IAU5B,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,SAAS;IAWxB;4EACwE;IACxE,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAMd,OAAO,CAAC,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D5D;;8EAE0E;YAC5D,aAAa;YAuBb,kBAAkB;IA2ChC,OAAO,CAAC,aAAa;YAYP,mBAAmB;CA0ClC"}
package/dist/runtime.js CHANGED
@@ -11,6 +11,8 @@ import { spawnSync } from "node:child_process";
11
11
  import AdmZip from "adm-zip";
12
12
  export const PUB_BASE = "https://pub-e57a7c60f6934eb09a6600bf2fc59cdc.r2.dev";
13
13
  export const CHROMIUM_VERSION = "152.0.7977.65";
14
+ /** This SDK's own version, compared against the manifest's `min_sdk_version`. */
15
+ export const SDK_VERSION = "2.0.3";
14
16
  // Version manifest (GitHub raw) — one tiny GET yields every archive's current
15
17
  // etag, so we never poll R2/S3 (no per-archive HEAD). Changed archives are then
16
18
  // pulled from PUB_BASE.
@@ -142,6 +144,40 @@ export class Runtime {
142
144
  effectiveInstalledVersion(local) {
143
145
  return local.installed_chromium_version ?? this.installedEngineVersion();
144
146
  }
147
+ /** Build stamp on disk: `<engine>/shardx-build` when the archive ships one,
148
+ * else what was recorded at install time. */
149
+ installedEngineBuild(local) {
150
+ try {
151
+ const stamp = readFileSync(join(this.root, this.spec.binarySubpath[0], "shardx-build"), "utf8").trim();
152
+ if (stamp)
153
+ return stamp;
154
+ }
155
+ catch { /* archive predates the stamp */ }
156
+ return local.installed_engine_build || undefined;
157
+ }
158
+ /** Dotted-numeric compare; non-numeric parts count as 0. */
159
+ static versionLt(a, b) {
160
+ const parts = (v) => v.split(/[.\-+]/).map((p) => (/^\d+$/.test(p) ? Number(p) : 0));
161
+ const pa = parts(a), pb = parts(b);
162
+ for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
163
+ const x = pa[i] ?? 0, y = pb[i] ?? 0;
164
+ if (x !== y)
165
+ return x < y;
166
+ }
167
+ return false;
168
+ }
169
+ /** Chromium version, `engine_build`, or the archive hash — any one of them
170
+ * means the engine moved. An unknown local value is not a mismatch. */
171
+ engineOutdated(local, remote) {
172
+ if (remote.chromiumVersion !== undefined
173
+ && this.effectiveInstalledVersion(local) !== remote.chromiumVersion) {
174
+ return true;
175
+ }
176
+ const differs = (have, want) => !!have && !!want && have !== want;
177
+ if (differs(this.installedEngineBuild(local), remote.engineBuild))
178
+ return true;
179
+ return differs(local.browser_etag, remote.archives[this.spec.browser.key]);
180
+ }
145
181
  // ---- manifest ----
146
182
  loadManifest() {
147
183
  try {
@@ -166,20 +202,26 @@ export class Runtime {
166
202
  this._greaseBrand = remote.greaseBrand;
167
203
  this._greaseVersion = remote.greaseVersion;
168
204
  this._tls = remote.tls;
169
- // Re-download the engine when its on-disk version differs from the
170
- // manifest's chromium version — VERSION-based, not etag, so it fires for
171
- // users who updated the SDK but whose stored etag already matched. Manifest
172
- // unreachable (undefined) → don't force a re-download when installed.
173
- let needBrowser = force || !this.installed;
174
- if (!needBrowser && remote.chromiumVersion !== undefined) {
175
- needBrowser = this.effectiveInstalledVersion(local) !== remote.chromiumVersion;
205
+ // Refused rather than installed: this SDK could not configure it.
206
+ if (remote.minSdkVersion && Runtime.versionLt(SDK_VERSION, remote.minSdkVersion)) {
207
+ throw new Error(`this engine build needs @proxyshard/shardx ${remote.minSdkVersion} or newer — `
208
+ + `you are on ${SDK_VERSION}; upgrade the SDK first`);
209
+ }
210
+ // Unknown is never a mismatch, so adopt a stamp once or the first bump
211
+ // never lands.
212
+ if (this.installed && remote.engineBuild && !this.installedEngineBuild(local)) {
213
+ local.installed_engine_build = remote.engineBuild;
176
214
  }
215
+ // Manifest unreachable → don't force a re-download.
216
+ const needBrowser = force || !this.installed || this.engineOutdated(local, remote);
177
217
  if (needBrowser) {
178
218
  // Wipe the old engine tree first so a leftover `<old>.manifest` / stale
179
219
  // libs can't linger beside the new ones (that pinned the detected version
180
220
  // → endless re-download). binarySubpath[0] is the engine root dir.
181
221
  rmSync(join(this.root, this.spec.binarySubpath[0]), { recursive: true, force: true });
182
222
  local.browser_etag = await this.downloadAndExtract(this.spec.browser, this.root);
223
+ if (remote.engineBuild)
224
+ local.installed_engine_build = remote.engineBuild;
183
225
  }
184
226
  if (this.spec.widevine && (needBrowser || !local.widevine_etag)) {
185
227
  local.widevine_etag = await this.downloadAndExtract(this.spec.widevine, this.root);
@@ -219,6 +261,11 @@ export class Runtime {
219
261
  return {
220
262
  archives: (data && typeof data.archives === "object" && data.archives) || {},
221
263
  chromiumVersion: str(data?.chromium_version),
264
+ // Written as a number or a string; both mean the same thing.
265
+ engineBuild: typeof data?.engine_build === "number"
266
+ ? String(data.engine_build)
267
+ : str(data?.engine_build),
268
+ minSdkVersion: str(data?.min_sdk_version),
222
269
  greaseBrand: str(data?.grease_brand),
223
270
  greaseVersion: str(data?.grease_version),
224
271
  tls: (data?.tls && typeof data.tls === "object" && !Array.isArray(data.tls))
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sEAAsE;AACtE,wEAAwE;AACxE,2EAA2E;AAC3E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAY,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9M,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,MAAM,CAAC,MAAM,QAAQ,GAAG,qDAAqD,CAAC;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAChD,8EAA8E;AAC9E,gFAAgF;AAChF,wBAAwB;AACxB,MAAM,CAAC,MAAM,YAAY,GAAG,6EAA6E,CAAC;AAE1G,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC;IAC9F,IAAI,IAAI,KAAK,OAAO;QAAG,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IACxF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;AACrF,CAAC;AAWD,MAAM,UAAU,QAAQ;IACtB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAG,EAAE,GAAG,EAAE,sBAAsB,EAAW,KAAK,EAAE,8BAA8B,EAAE;YACzF,QAAQ,EAAE,EAAE,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,cAAc,EAAE;YACzE,aAAa,EAAI,CAAC,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;YAClF,eAAe,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY;gBAC1D,4BAA4B,EAAE,UAAU,EAAE,gBAAgB;gBAC1D,WAAW,EAAE,aAAa,CAAC;SAC9C,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAG,EAAE,GAAG,EAAE,oBAAoB,EAAM,KAAK,EAAE,8BAA8B,EAAE;YAClF,QAAQ,EAAE,EAAE,GAAG,EAAE,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE;YACnE,aAAa,EAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC;YACjD,eAAe,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC;SACnD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAG,EAAE,GAAG,EAAE,kBAAkB,EAAU,KAAK,EAAE,4BAA4B,EAAE;YAClF,QAAQ,EAAE,EAAE,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,cAAc,EAAE;YACrE,aAAa,EAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;YAC3C,eAAe,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;SACjD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,IAAI,IAAI,+CAA+C,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAY;IAC3C,GAAG,EAAE,yBAAyB;IAC9B,KAAK,EAAE,qBAAqB;CAC7B,CAAC;AACF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAcnD,MAAM,OAAO,OAAO;IACT,IAAI,CAAS;IACb,IAAI,CAAW;IACP,QAAQ,CAAc;IACtB,aAAa,CAAU;IACxC;;uCAEmC;IAC3B,iBAAiB,GAAG,KAAK,CAAC;IAClC;4EACwE;IAChE,gBAAgB,GAAW,gBAAgB,CAAC;IACpD;2EACuE;IAC/D,YAAY,CAAU;IACtB,cAAc,CAAU;IAChC;;;oEAGgE;IACxD,IAAI,CAA2B;IAEvC,YAAY,OAA2E,EAAE;QACvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC;QAC/C,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,YAAY,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,UAAU,KAAgB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACnF,IAAI,eAAe;QACjB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1C,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IACD;;iEAE6D;IAC7D,IAAI,YAAY;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,SAAS,KAAiB,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACnE,mEAAmE;IACnE,IAAI,eAAe,KAAa,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/D,6EAA6E;IAC7E,IAAI,WAAW,KAAyB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,sEAAsE;IACtE,IAAI,aAAa,KAAyB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACvE,yDAAyD;IACzD,IAAI,GAAG,KAA0C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE;2EACuE;IAC/D,sBAAsB;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAC3E,YAAY,EAAE,4BAA4B,EAAE,UAAU,CAAC,CAAC;gBAC1D,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,qEAAqE;gBACrE,2DAA2D;gBAC3D,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;qBAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;qBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;qBACxC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,mCAAmC;QACvD,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IAC/B,CAAC;IAED;;;kFAG8E;IACtE,yBAAyB,CAAC,KAAe;QAC/C,OAAO,KAAK,CAAC,0BAA0B,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC3E,CAAC;IAED,qBAAqB;IAEb,YAAY;QAClB,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,CAAC;QACnE,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IACtB,CAAC;IACO,YAAY,CAAC,CAAW;QAC9B,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,oBAAoB;IAEpB,KAAK,CAAC,OAAO,CAAC,OAA4B,EAAE;QAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK;YAAE,OAAO;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,yEAAyE;QACzE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,IAAI,gBAAgB,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;QAEvB,mEAAmE;QACnE,yEAAyE;QACzE,4EAA4E;QAC5E,sEAAsE;QACtE,IAAI,WAAW,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzD,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,eAAe,CAAC;QACjF,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,wEAAwE;YACxE,0EAA0E;YAC1E,mEAAmE;YACnE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,KAAK,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,KAAK,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnF,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,IAAI,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,iBAAiB,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,IAAI,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACjE,CAAC;QACD,wEAAwE;QACxE,kEAAkE;QAClE,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEzB,mEAAmE;QACnE,iEAAiE;QACjE,gEAAgE;QAChE,yDAAyD;QACzD,IAAI,UAAU,EAAE,KAAK,OAAO,EAAE,CAAC;YAC7B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,oBAAoB;IAEpB;;8EAE0E;IAClE,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAqJ,CAAC;YAC/K,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACpE,OAAO;gBACL,QAAQ,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC5E,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAC5C,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC;gBACpC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC;gBACxC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1E,CAAC,CAAC,IAAI,CAAC,GAA8B;oBACrC,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAa,EAAE,IAAY;QAC1D,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAE3C,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;YAC1B,KAAK,CAAC,IAAI;gBACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACtC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,+BAA+B,CAAA,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QACH,gEAAgE;QAChE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE5B,8DAA8D;QAC9D,mEAAmE;QACnE,4DAA4D;QAC5D,iEAAiE;QACjE,+DAA+D;QAC/D,+DAA+D;QAC/D,IAAI,UAAU,EAAE,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,UAAU,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAExC,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;YAC1B,KAAK,CAAC,IAAI;gBACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACtC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE5B,iEAAiE;QACjE,yCAAyC;QACzC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7C,mEAAmE;YACnE,yEAAyE;YACzE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;+DAM+D;AAC/D,SAAS,WAAW,CAAC,OAAe,EAAE,IAAY;IAChD,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;QAC9D,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,IAAK,CAAC,CAAC,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,CAAC,KAAK,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,UAAU,CAAC,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;uEACuE;AACvE,MAAM,YAAY,GAA0B;IAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,MAAM;IAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,eAAe;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,eAAe;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,eAAe;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,eAAe;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,sBAAsB;IAC9E,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,sBAAsB;CAC/E,CAAC;AAEF;;;4CAG4C;AAC5C,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAQ,EAAE;QACjC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,GAAG,CAAC,cAAc,EAAE;gBAAE,SAAS;YACnC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;gBAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proxyshard/shardx",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "description": "Self-contained Node SDK for the ShardX anti-detect browser — downloads the engine + Widevine + fingerprint library on first use, launches isolated profiles.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",