@switchlabs/verify-ai-react-native 2.3.1 → 2.3.2
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/lib/client/index.js +1 -1
- package/lib/components/BikeOverlay.d.ts +12 -0
- package/lib/components/BikeOverlay.js +17 -0
- package/lib/components/ScooterOverlay.d.ts +12 -0
- package/lib/components/ScooterOverlay.js +17 -0
- package/lib/components/VerifyAIScanner.js +13 -5
- package/lib/components/overlayAssets.d.ts +4 -0
- package/lib/components/overlayAssets.js +6 -0
- package/lib/scanner.d.ts +2 -0
- package/lib/scanner.js +2 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/src/client/index.ts +1 -1
- package/src/components/BikeOverlay.tsx +24 -0
- package/src/components/ScooterOverlay.tsx +24 -0
- package/src/components/VerifyAIScanner.tsx +13 -5
- package/src/components/overlayAssets.ts +8 -0
- package/src/scanner.ts +2 -0
- package/src/version.ts +1 -1
package/lib/client/index.js
CHANGED
|
@@ -313,7 +313,7 @@ export class VerifyAIRequestError extends Error {
|
|
|
313
313
|
return this.status >= 500;
|
|
314
314
|
}
|
|
315
315
|
get isRetryable() {
|
|
316
|
-
return this.status === 408 || this.status === 429 || this.status >= 500;
|
|
316
|
+
return this.status === 0 || this.status === 408 || this.status === 429 || this.status >= 500;
|
|
317
317
|
}
|
|
318
318
|
get upgradeUrl() {
|
|
319
319
|
return this.body.upgrade_url;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in bike silhouette overlay for the scanner guide frame.
|
|
3
|
+
*
|
|
4
|
+
* Renders a white bike silhouette from an embedded PNG asset.
|
|
5
|
+
* Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* overlay={{ guideOverlayContent: <BikeOverlay />, guideOverlayOpacity: 0.3 }}
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare function BikeOverlay(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
import { BIKE_PNG_BASE64 } from './overlayAssets';
|
|
4
|
+
/**
|
|
5
|
+
* Built-in bike silhouette overlay for the scanner guide frame.
|
|
6
|
+
*
|
|
7
|
+
* Renders a white bike silhouette from an embedded PNG asset.
|
|
8
|
+
* Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* overlay={{ guideOverlayContent: <BikeOverlay />, guideOverlayOpacity: 0.3 }}
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export function BikeOverlay() {
|
|
16
|
+
return (_jsx(Image, { source: { uri: `data:image/png;base64,${BIKE_PNG_BASE64}` }, style: { width: '100%', height: '100%' }, resizeMode: "contain" }));
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in scooter silhouette overlay for the scanner guide frame.
|
|
3
|
+
*
|
|
4
|
+
* Renders a white scooter silhouette from an embedded PNG asset.
|
|
5
|
+
* Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* overlay={{ guideOverlayContent: <ScooterOverlay />, guideOverlayOpacity: 0.3 }}
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare function ScooterOverlay(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
import { SCOOTER_PNG_BASE64 } from './overlayAssets';
|
|
4
|
+
/**
|
|
5
|
+
* Built-in scooter silhouette overlay for the scanner guide frame.
|
|
6
|
+
*
|
|
7
|
+
* Renders a white scooter silhouette from an embedded PNG asset.
|
|
8
|
+
* Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* overlay={{ guideOverlayContent: <ScooterOverlay />, guideOverlayOpacity: 0.3 }}
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export function ScooterOverlay() {
|
|
16
|
+
return (_jsx(Image, { source: { uri: `data:image/png;base64,${SCOOTER_PNG_BASE64}` }, style: { width: '100%', height: '100%' }, resizeMode: "contain" }));
|
|
17
|
+
}
|
|
@@ -85,6 +85,7 @@ export function VerifyAIScanner({ onCapture, onResult, onError, overlay, style,
|
|
|
85
85
|
const [exhausted, setExhausted] = useState(false);
|
|
86
86
|
const [terminated, setTerminated] = useState(false);
|
|
87
87
|
const [cameraReady, setCameraReady] = useState(false);
|
|
88
|
+
const [cameraKey, setCameraKey] = useState(0);
|
|
88
89
|
const cameraReadyRef = useRef(false);
|
|
89
90
|
const cameraInitFailedRef = useRef(false);
|
|
90
91
|
const permissionDeniedTrackedRef = useRef(false);
|
|
@@ -118,7 +119,10 @@ export function VerifyAIScanner({ onCapture, onResult, onError, overlay, style,
|
|
|
118
119
|
error,
|
|
119
120
|
});
|
|
120
121
|
}, [onError, telemetry]);
|
|
121
|
-
// Startup watchdog — if camera hasn't fired onCameraReady within
|
|
122
|
+
// Startup watchdog — if camera hasn't fired onCameraReady within 3s, force remount.
|
|
123
|
+
// On iOS the native AVCaptureSession sometimes fails to start its preview layer on first
|
|
124
|
+
// mount (e.g. during navigation transitions). Changing the key forces React to destroy and
|
|
125
|
+
// recreate the CameraView, which starts a fresh native session.
|
|
122
126
|
useEffect(() => {
|
|
123
127
|
if (!permission?.granted || terminated)
|
|
124
128
|
return;
|
|
@@ -126,12 +130,16 @@ export function VerifyAIScanner({ onCapture, onResult, onError, overlay, style,
|
|
|
126
130
|
if (!cameraReadyRef.current && !cameraInitFailedRef.current) {
|
|
127
131
|
telemetry?.track('camera_preview_timeout', {
|
|
128
132
|
component: 'scanner',
|
|
129
|
-
error: 'Camera did not initialize within
|
|
133
|
+
error: 'Camera did not initialize within 3 seconds — remounting',
|
|
130
134
|
});
|
|
135
|
+
// Reset state and bump key to force a fresh CameraView mount
|
|
136
|
+
setCameraReady(false);
|
|
137
|
+
cameraReadyRef.current = false;
|
|
138
|
+
setCameraKey((k) => k + 1);
|
|
131
139
|
}
|
|
132
|
-
},
|
|
140
|
+
}, 3000);
|
|
133
141
|
return () => clearTimeout(timer);
|
|
134
|
-
}, [permission?.granted, terminated, telemetry]);
|
|
142
|
+
}, [permission?.granted, terminated, cameraKey, telemetry]);
|
|
135
143
|
// Track permission denied
|
|
136
144
|
useEffect(() => {
|
|
137
145
|
if (permission &&
|
|
@@ -355,7 +363,7 @@ export function VerifyAIScanner({ onCapture, onResult, onError, overlay, style,
|
|
|
355
363
|
styles.captureButton,
|
|
356
364
|
(!cameraReady || status === 'capturing' || status === 'processing') &&
|
|
357
365
|
styles.captureButtonDisabled,
|
|
358
|
-
], onPress: handleCapture, disabled: !cameraReady || status === 'capturing' || status === 'processing', activeOpacity: 0.7, children: _jsx(View, { style: styles.captureButtonInner }) }) }))] }))] })] }) }) }));
|
|
366
|
+
], onPress: handleCapture, disabled: !cameraReady || status === 'capturing' || status === 'processing', activeOpacity: 0.7, children: _jsx(View, { style: styles.captureButtonInner }) }) }))] }))] })] }) }, cameraKey) }));
|
|
359
367
|
}
|
|
360
368
|
const CORNER_SIZE = 30;
|
|
361
369
|
const CORNER_THICKNESS = 3;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Base64-encoded scooter silhouette PNG. */
|
|
2
|
+
export declare const SCOOTER_PNG_BASE64 = "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";
|
|
3
|
+
/** Base64-encoded bike silhouette PNG. */
|
|
4
|
+
export declare const BIKE_PNG_BASE64 = "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";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Auto-generated — do not edit manually.
|
|
2
|
+
// White silhouette PNGs (800×800, RGBA) encoded as base64.
|
|
3
|
+
/** Base64-encoded scooter silhouette PNG. */
|
|
4
|
+
export const SCOOTER_PNG_BASE64 = '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';
|
|
5
|
+
/** Base64-encoded bike silhouette PNG. */
|
|
6
|
+
export const BIKE_PNG_BASE64 = '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';
|
package/lib/scanner.d.ts
CHANGED
package/lib/scanner.js
CHANGED
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "2.3.
|
|
1
|
+
export declare const SDK_VERSION = "2.3.2";
|
package/lib/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = '2.3.
|
|
1
|
+
export const SDK_VERSION = '2.3.2';
|
package/package.json
CHANGED
package/src/client/index.ts
CHANGED
|
@@ -388,7 +388,7 @@ export class VerifyAIRequestError extends Error {
|
|
|
388
388
|
}
|
|
389
389
|
|
|
390
390
|
get isRetryable(): boolean {
|
|
391
|
-
return this.status === 408 || this.status === 429 || this.status >= 500;
|
|
391
|
+
return this.status === 0 || this.status === 408 || this.status === 429 || this.status >= 500;
|
|
392
392
|
}
|
|
393
393
|
|
|
394
394
|
get upgradeUrl(): string | undefined {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
import { BIKE_PNG_BASE64 } from './overlayAssets';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Built-in bike silhouette overlay for the scanner guide frame.
|
|
7
|
+
*
|
|
8
|
+
* Renders a white bike silhouette from an embedded PNG asset.
|
|
9
|
+
* Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* overlay={{ guideOverlayContent: <BikeOverlay />, guideOverlayOpacity: 0.3 }}
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export function BikeOverlay() {
|
|
17
|
+
return (
|
|
18
|
+
<Image
|
|
19
|
+
source={{ uri: `data:image/png;base64,${BIKE_PNG_BASE64}` }}
|
|
20
|
+
style={{ width: '100%', height: '100%' }}
|
|
21
|
+
resizeMode="contain"
|
|
22
|
+
/>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
import { SCOOTER_PNG_BASE64 } from './overlayAssets';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Built-in scooter silhouette overlay for the scanner guide frame.
|
|
7
|
+
*
|
|
8
|
+
* Renders a white scooter silhouette from an embedded PNG asset.
|
|
9
|
+
* Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* overlay={{ guideOverlayContent: <ScooterOverlay />, guideOverlayOpacity: 0.3 }}
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export function ScooterOverlay() {
|
|
17
|
+
return (
|
|
18
|
+
<Image
|
|
19
|
+
source={{ uri: `data:image/png;base64,${SCOOTER_PNG_BASE64}` }}
|
|
20
|
+
style={{ width: '100%', height: '100%' }}
|
|
21
|
+
resizeMode="contain"
|
|
22
|
+
/>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -147,6 +147,7 @@ export function VerifyAIScanner({
|
|
|
147
147
|
const [exhausted, setExhausted] = useState(false);
|
|
148
148
|
const [terminated, setTerminated] = useState(false);
|
|
149
149
|
const [cameraReady, setCameraReady] = useState(false);
|
|
150
|
+
const [cameraKey, setCameraKey] = useState(0);
|
|
150
151
|
const cameraReadyRef = useRef(false);
|
|
151
152
|
const cameraInitFailedRef = useRef(false);
|
|
152
153
|
const permissionDeniedTrackedRef = useRef(false);
|
|
@@ -185,7 +186,10 @@ export function VerifyAIScanner({
|
|
|
185
186
|
});
|
|
186
187
|
}, [onError, telemetry]);
|
|
187
188
|
|
|
188
|
-
// Startup watchdog — if camera hasn't fired onCameraReady within
|
|
189
|
+
// Startup watchdog — if camera hasn't fired onCameraReady within 3s, force remount.
|
|
190
|
+
// On iOS the native AVCaptureSession sometimes fails to start its preview layer on first
|
|
191
|
+
// mount (e.g. during navigation transitions). Changing the key forces React to destroy and
|
|
192
|
+
// recreate the CameraView, which starts a fresh native session.
|
|
189
193
|
useEffect(() => {
|
|
190
194
|
if (!permission?.granted || terminated) return;
|
|
191
195
|
|
|
@@ -193,13 +197,17 @@ export function VerifyAIScanner({
|
|
|
193
197
|
if (!cameraReadyRef.current && !cameraInitFailedRef.current) {
|
|
194
198
|
telemetry?.track('camera_preview_timeout', {
|
|
195
199
|
component: 'scanner',
|
|
196
|
-
error: 'Camera did not initialize within
|
|
200
|
+
error: 'Camera did not initialize within 3 seconds — remounting',
|
|
197
201
|
});
|
|
202
|
+
// Reset state and bump key to force a fresh CameraView mount
|
|
203
|
+
setCameraReady(false);
|
|
204
|
+
cameraReadyRef.current = false;
|
|
205
|
+
setCameraKey((k) => k + 1);
|
|
198
206
|
}
|
|
199
|
-
},
|
|
207
|
+
}, 3000);
|
|
200
208
|
|
|
201
209
|
return () => clearTimeout(timer);
|
|
202
|
-
}, [permission?.granted, terminated, telemetry]);
|
|
210
|
+
}, [permission?.granted, terminated, cameraKey, telemetry]);
|
|
203
211
|
|
|
204
212
|
// Track permission denied
|
|
205
213
|
useEffect(() => {
|
|
@@ -419,7 +427,7 @@ export function VerifyAIScanner({
|
|
|
419
427
|
|
|
420
428
|
return (
|
|
421
429
|
<View style={[styles.container, style]}>
|
|
422
|
-
<CameraView ref={cameraRef} style={styles.camera} facing="back" enableTorch={!terminated && enableTorch} onCameraReady={onCameraReady} onMountError={onMountError}>
|
|
430
|
+
<CameraView key={cameraKey} ref={cameraRef} style={styles.camera} facing="back" enableTorch={!terminated && enableTorch} onCameraReady={onCameraReady} onMountError={onMountError}>
|
|
423
431
|
{/* Overlay */}
|
|
424
432
|
<View style={styles.overlay}>
|
|
425
433
|
{overlay?.title && (
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Auto-generated — do not edit manually.
|
|
2
|
+
// White silhouette PNGs (800×800, RGBA) encoded as base64.
|
|
3
|
+
|
|
4
|
+
/** Base64-encoded scooter silhouette PNG. */
|
|
5
|
+
export const SCOOTER_PNG_BASE64 = 'iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAWkUlEQVR4nO3d63LbxhKFUSvl939lnfJJuXyJRPGC2dPTvdbvxCZAoIcfQIPfvgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/edr8AAPp7f39/f+X/f3t7s15xCcci7OckAqDsh72/+fDHsxyLUMc/u18AAD1d/YFv1Z9Jf45FqEWAAPDtpA9nPvjxCMci1CNAADjuQ5kPftzDsQg1CRAAACDGP6AC4DKuBjOVf5QO93MHBAAAiBEgAABAjAABAABiBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAAIAYAQIAAMQIEAAAIEaAAAAAMQIEAACIESAAAEDMW+6vAmCC9/f398Tf8/b2Zg1b+B502L+ORajJHRAAaOaKD8SpD+/APAIEgOOuBrvizD0ci1CTAAHgqA9lPvDxCMci1CNAADjmw5kPfDzDsQi1OHkAWO7Vf0/gw97j/EP0jzkWYT8nEQA0JECAqnwFCwAAiBEgAABAjAABgIb8FghQlQABAABiBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAAAxAgQAmvIoXqAiAQIAAMQIEAAAIEaAAAAAMQIEAACIESAAAECMAAEAAGIECAA05lG8QDUCBAAAiBEgAABAjAABAABiBAgAABAjQAAAgBgBAgAAxAgQAGjuikfxAlxFgAAAX/JbIMBVBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAAAxAgQAAIgRIAAwwBW/BeJRvMAVBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAAAxAgQAAIgRIAAwhEfxAhUIEAAAIEaAAAAAMQIEAACIESAAAECMAAEAAGIECAAAECNAAGAQj+IFdhMgAABAjAABAABiBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAAAxAgQAhvFbIMBOAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAAIAYAQIAAMQIEAAYyKN4gV0ECAAAECNAAACAGAECAADECBAAACBGgAAAADECBAAAiBEgADCUR/ECOwgQAAAgRoAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAYDCP4gXSBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAAAxAgQAAIgRIAAAQIwAAYDh/BYIkCRAAACAGAECAADECBAAACBGgAAAADECBAAAiBEgAABAjAABADyKF4gRIAAAQIwAAQAAYgQIAAAQI0AAAIAYAQIAAMQIEAAAIEaAAAD/51G8QIIAAQAAYgQIAAAQI0AAAIAYAQIAAMQIEAAAIEaAAAAAMQIEALj0UbwAtwgQAOBSfgsEuEWAAAAAMQIEAACIESAAAECMAAEAAGIECAAAECNAAACAGAECAFz+WyAexQt8RoAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAAIAYAQIA/IdH8QKrCBAAACBGgAAAADECBAAAiBEgAABAjAABAABiBAgAABAjQACAD3kUL7CCAAEAAGIECAAAECNAAACAGAECAADECBAAACBGgAAAADECBAAAiBEgAMCn/BYIcDUBAgAAxAgQAAAgRoAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIAHCTR/ECVxIgAABAjAABAABiBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAF/yKF7gKgIEAACIESAAAECMAAEAAGIECAAAECNAAACAGAECAADECBAA4C4exQtcQYAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAAIAYAQIAAMQIEADgbn4LBHiVAAEAAGIECAAAECNAAACAGAECAADECBAAACBGgAAAADECBAB4iEfxAq8QIAAAQIwAAQAAYgQIAAAQI0AAAIAYAQIAAMQIEAAAIEaAAAAP8yhe4FkCBAAAiBEgAABAjAABAABiBAgAABAjQAAAgBgBAgAAxAgQAGDbo3iBeQQIALCN3wKBeQQIAAAQI0AAAIAYAQIAAMQIEAAAIEaAAAAAMQIEAACIESAAwNbfAvEoXphFgAAAADECBAAAiBEgAABAjAABAABiBAgAABAjQAAAgBgBAgC8xKN4gUcIEAAAIEaAAAAAMQIEAACIESAAAECMAAEAAGIECAAAECNAAICXeRQvcC8BAgAAxAgQAAAgRoAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAgEv4LRDgHgIEAACIESAAAECMAAEAAGIECAAAECNAAACAGAECAADECBAA4DIexQt8RYAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAAIAYAQIAXMqjeIFbBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAAAxAgQAAIgRIADA5TyKF/iMAAEAAGIECAAAECNAAACAGAECAADECBAAACBGgAAAADECBAAAiBEgAMASfgsE+IgAAQAAYgQIAAAQI0AAAIAYAQIAAMQIEAAAIEaAAAAAMQIEAFjGo3iBvwkQAAAgRoAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAgKU8ihf4nQABAABiBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAAAxAgQAOOJRvEAPAgQAOILfAoEeBAgAABAjQAAAgBgBAgAAxAgQAAAgRoAAAAAxAgQAAIgRIADAMb8F4lG8cD4BAgAAxAgQAAAgRoAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIABDjUbyAAAEAAGIECAAAECNAAACAGAECAADECBAAACBGgAAAADECBACI8ihemE2AAAAAMQIEAACIESAAAECMAAEAAGIECAAAECNAAACAGAECAADECBAAIM5vgcBcAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAAIAYAQIAAMQIEABgC4/ihZkECAAAECNAAACAGAECAADECBAAACBGgAAAADECBAAAiBEgAMA2HsUL8wgQAAAgRoAAAAAxAgQAAIgRIAAAQIwAAQAAYgQIAAAQI0AAgK08ihdmESAAAECMAAEAAGIECAAAECNAAACAGAECAADECBAAACBGgAAAADECBADYzm+BwBwCBAAAiBEgAABAjAABAABiBAgAABAjQAAAgBgBAgAAxAgQAKAEj+KFGQQIAAAQI0AAAIAYAQIAAMQIEAAAIEaAAAAAMQIEAACIESAAQBkexQv9CRAAACBGgAAAADECBAAAiBEgAABAjAABAABiBAgAABAjQACAdo/iBeoSIABAO34LBOoSIAAAQIwAAQAAYgQIAAAQI0AAAIAYAQIAAMQIEAAAIEaAAAAtfwvEo3ihJgECAADECBAAACBGgAAAADECBAAAiBEgAABAjAABAABiBAgAUJJH8UJP33e/AOjiykXuikUXAKAiAQIFr6Z99ncIEwDgdAIEDrp1/9HrESUAwEkECBSPjkderxgBAKoTIIx3WnA8si2CBACoRoAwVqfw+GobhQgAUIUPJYwyITq+IkaAibPb7IM63AFhBOHxi7siAMBOAoTWhMfnhAgAsIMAoSXhcT8hAgAkCRBaER7PEyIAQIIAoQXhcR0hAgCsJEA4WrXwuOJDe5VtEiIAwAo+WHCsnR/Ud3won7a9AD95DC/04mTkODs+iN+7cCUXycr7AeBqFe4Om4FwDScSR0ktQF8tMhU//FfZNwBdA+Qz5iI8xgnDMVYvPrcWkIoL387Xa7EF0irO4c+YkXCbE4Tydn2Y7rDYCRGgi5Nm8u/MSfgvJwUjF5wO0VFl2yyuQELn+QzTOBEYtdh8NPw7LGq7t9eiCqwwbT7DFA5+Riw608Jjx/ZbTIGrTJ/P0J2DnlKEx1pCBKjMfIYZHOyUsfqD8OSFLb1vLKTAI8znX8xPJnCQ027xER419pVFFPiK+fw5M5TOHNxsJz4A4L9ECF05sNnqqkAQHgB0JUTo5p/dL4C5xAcAfM26RjeKmjbxYUAD0J27IXTgICbuilBw1wOAqUQIp/MVLI4jPgCYzLrH6RQ0Rw1NX7kCgF/cDeFE7oAQIz4A4FrWQ04kQIgQHwCwhnWR0wgQlhMfALCW9ZGTCBBKEx8AcB/rJKcQIJQdhuIDAB5jveQEAoRlxAcA5Fk3qU6AsIT4AIB9rJ9UJkAoRXwAwDWso1QlQCg58AxNAHid9ZSKBAglv3oFAEBPAoQSfPUKANawrlKNAGH7gBMfALCW9ZVKBAhlGI4AsI51lioECGXufgAA0J8AYRtfvQKALOstFQgQtg+zjsPwR1y5uwNwtq6zvOO6y1m+734BzNRtoH+2Pa9sZ4cF4tW7XN2OEzhNtzl01Z/RYb/AThZ3XvLqh8qTh3jyw3GX/SRC4Bxd5s5q9hM8zlew2ObUob3jlvzJXwM49X2GyU49b83nGe8z5xMgPG3a1ewKi0yF1/CKZ167BRI4YTZWeA1wCgHCFid9qKy4qFR8TV3eb5jupPO14iys+Jq6vN/0IUB4yoS7HycsIie8xr+5CwJMmH0nvEbYRYAQd8KHydMWjRNe7wnvO0x3wnl6wrw77fWe8L7TiwAh4oQBfOJrPfV1n/RagTpOnR2nvm5YxQlB9OtXla+ydFogTtjPE77GByc5YW50YD+DOyA8oeP3Wm1PbR2POeA+3c79btsDz3ASsPyKTvW7H50Xg+r7/J7jBliv+qzoyD5nMndAGH2F+sTX3Hn7fh5Hp71u4Hrd50D37YNbHPyMvdozafjb98AtZsQ+9j0TuQPCyAHLXo4HqMP5yO8cDyQIEEaadoVn2vYC55o2r6ZtL/wgQBhn6rCfut3AOabOqanbzVwChFG3c6cP+UrbX+m4gKkqnYeV5tP07a90XNCTAAEAAGIECGNUurq0k/0AVGMu/ct+YAoBwlJu43KL4wP2cf5xi+ODlQQII7iq9Cf7A6jCPPqT/cEEAgQAAIgRILTnatLH7BdgN3PoY/YL3QkQlvH9Ue7hOIE85x33cJywigChNVeRbrN/gF3Mn9vsHzoTIAAAQIwAAQAAYr7n/iqYefv61ndoK7zGH6/B93yBpAqz7wfzGfYQILDIPYvGz/+mwkIHMIX5DHv5ChZLTL9i8+j221+ztx+Spp9v5vNjpm8/awgQKDKsDXmAtcxnqEGA0NKuW+avLlK7FjlfMQBSzOfHmM90JEDgIlctTq60AVzLfIZaBAgAABAjQKDgVTFX2QCuYT5DPQIEAACIESAAAECMAAEAAGIECAAAECNAAACAGAECAADECBAo+Eu1fvkW4BrmM9QjQAAAgBgBAsWuirm6BnAt8xlqESC0tOuXal9dnHYtbn7ZF0gxnx9jPtORAIGLPbtIubIGsJb5DDUIEJaYPqwf3X77a/b2Q9L08818fsz07WeN74v+XBjv59C+dfvcYAfIM59hLycXrb+3agH5mvcJ5nHen8H7RFe+ggUAAMQIEAAAIEaA0FqF29eV2T/ALubPbfYPnQkQlvG9Ue7hOIE85x33cJywigChPVeRPma/ALuZQx+zX+hOgAAAADEChBFcTfqT/QFUYR79yf5gAgHCUr4/yi2OD9jH+cctjg9WEiCM4arSv+wHoBpz6V/2A1MIEAAAIEaAMOo27vSrS5W2v9JxAVNVOg8rzafp21/puKAnAcI4lYZ80tTtBs4xdU5N3W7mEiCMNG3YT9te4FzT5tW07YUfBAgRbufyO8cD1OF85HeOBxIECGNNueo0ZTuBPqbMrSnbCX8TIIzWffh33z6gr+7zq/v2wS0ChG/Tb+t2XQSqblfV4wAmq3peVp1jXber6nFAPwIECi8Gz+q2PcBc3eZZt+2BZyhd4qoP35OvANm3wCvMkHXsW/jFHRA4bJHo9roBus+5U183rCJAiDvhKstpi8UJr/eE9x2mO+E8PWHenfZ6T3jf6eX77hcA1ReNyoP5hIUN4GrmM5yt7IlLf6cN50oLnX0HrGTGPM++g6+5AwIHXXE7bWEDSDCf4Syql61OHtjJhc5+AtLMnfvYT/A4Bx7bnTy8Vw5x+wXYzRz6mP0Cr/EVLFiwGD0z2DssaADVmM9Qj/qlBMO9H1fXoAfzuR/zmd38DgglGIa9eD+hD+dzL95PKhAgAABAjAChDFdlevA+Qj/O6x68j1QhQCjFcDyb9w/6cn6fzftHJQKEcgzJM3nfoD/n+Zm8b1QjQAAAgBgBQkmu1pzF+wVzON/P4v2iIgFCWYbmGbxPMI/z/gzeJ6oSIJRmeNbm/YG5nP+1eX+oTIBQniFak/cFMAdq8r5QnQDhCIZpLd4P4CfzoBbvBycQIBzDUK3B+wD8zVyowfvAKQQIRzFc97L/gc+YD3vZ/5xEgHAcQ3YP+x34ijmxh/3OaQQIRzJss+xv4F7mRZb9zYkctBzv/f39ffdr6MrCBrzCfF7HfOZk7oBwPEN4DfsVeJU5sob9yukECC0YxteyP4GrmCfXsj/pwEFMO275P8/CBqxkPj/PfKYTd0Box5B+jv0GrGbOPMd+oxsHNK252vY1Cxuwg/n8NfOZrtwBoTXD+zb7B9jF/LnN/qEzBzdjuNr2i4UNqMR8/sV8ZgIHOeNMXugsbEBl5jPM4GBnrEkLnYUNOIn5DL056Bmv80JnYQNOZj5DTw5+aLbYWdSAjsxn6MOJAA0WO4saMIn5DGdzUsChi51FDcB8hhM5QeCQBc+CBvA18xnqc8JAsYXPQgZwPfMZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+zfA/9FhVkOwYUcEAAAAASUVORK5CYII=';
|
|
6
|
+
|
|
7
|
+
/** Base64-encoded bike silhouette PNG. */
|
|
8
|
+
export const BIKE_PNG_BASE64 = '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';
|
package/src/scanner.ts
CHANGED
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = '2.3.
|
|
1
|
+
export const SDK_VERSION = '2.3.2';
|