Compare commits

...
8 Commits
Author SHA1 Message Date
josiadmin bbb4edfec6 Version of app integration 2026-10-09 19:35:51 +02:00
josiadmin 832747fce6 googel map routs to near gasstation 2026-10-09 19:20:44 +02:00
josiadmin 141999d61c error wenn no econtrol API 2026-09-26 23:26:58 +02:00
josiadmin d6bdc01281 summPrice 2decimal 2026-09-26 20:03:58 +02:00
josiadmin 44fa19b89f add benzin to gasview 2026-09-25 21:17:36 +02:00
josiadmin 9a4c5cd82a sort by Rest Call 2026-09-25 20:52:50 +02:00
josiadmin 24face5b8f after deploy to webserver 2026-09-25 18:53:59 +02:00
josiadmin 272e0a347e add argument to home view 2026-09-25 17:50:01 +02:00
39 changed files with 136741 additions and 126595 deletions
+6 -2
View File
@@ -8,8 +8,12 @@
"deviceId": "chrome",
"toolArgs": [
"--web-port",
"5000"
"5000",
"--web-browser-flag",
"--disable-web-security",
"--web-browser-flag",
"--user-data-dir=C:/tmp/chrome_dev_test"
]
}
]
}
}
+15
View File
@@ -0,0 +1,15 @@
class AppVersion {
const AppVersion._();
static const String version = String.fromEnvironment(
'APP_VERSION',
defaultValue: '1.1.0',
);
static const String buildNumber = String.fromEnvironment(
'APP_BUILD_NUMBER',
defaultValue: '2',
);
static const String display = 'Version $version (Build $buildNumber)';
}
+1 -1
View File
@@ -220,6 +220,6 @@ class EditController extends GetxController {
}
void gotToList() {
Get.offAllNamed(HomePage.namedRoute);
Get.offAllNamed(HomePage.namedRoute, arguments: {'userIdentId': currentUserIdentId});
}
}
+80 -14
View File
@@ -1,3 +1,4 @@
import 'dart:async';
import 'package:get/get.dart';
import '../models/econtrol_model.dart';
import '../services/geolocation_service.dart';
@@ -6,7 +7,10 @@ import '../services/econtrol_service.dart';
class GasstationsController extends GetxController {
final isLoading = false.obs;
final isLoadingLocation = false.obs;
final errorMessage = ''.obs;
final eControlData = <EControlModel>[].obs;
double? currentLatitude;
double? currentLongitude;
@override
void onInit() {
@@ -22,21 +26,83 @@ class GasstationsController extends GetxController {
Future<void> _loadStationInfosList() async {
isLoading.value = true;
var gelocationService = GeolocationService();
var eControlService = EControlService();
// check if location is available
await gelocationService.getCurrentLocation();
if (gelocationService.hasLocation) {
var listResult = await eControlService.getEControlData(
gelocationService.latitude,
gelocationService.longitude,
'DIE',
errorMessage.value = '';
try {
var geolocationService = GeolocationService();
var eControlService = EControlService();
// Standort-Abfrage mit Timeout versehen (z. B. 8 Sekunden),
// falls der Browser/User bei der Rechtefreigabe blockiert oder hängt
await geolocationService.getCurrentLocation().timeout(
const Duration(seconds: 8),
onTimeout: () {
throw TimeoutException('Standortabfrage hat zu lange gedauert.');
},
);
eControlData.value = listResult
.map((json) => EControlModel.fromJson(json))
.toList();
if (geolocationService.hasLocation) {
currentLatitude = geolocationService.latitude;
currentLongitude = geolocationService.longitude;
// for test only später wieder deaktivieren statische koordinaten
// currentLatitude = 47.938783246743355;
// currentLongitude = 13.762770926423814;
// ende Test only
final fuelData = await eControlService.getBothFuelData(
currentLatitude!,
currentLongitude!,
);
List<EControlModel> dieselStations = (fuelData['DIE'] as List)
.map((json) => EControlModel.fromJson(json))
.toList();
List<EControlModel> supStations = (fuelData['SUP'] as List)
.map((json) => EControlModel.fromJson(json))
.toList();
Map<int, EControlModel> combinedMap = {};
for (var station in dieselStations) {
if (station.id != null) {
combinedMap[station.id!] = station;
}
}
for (var supStation in supStations) {
if (supStation.id != null) {
if (combinedMap.containsKey(supStation.id)) {
final existingPrices = combinedMap[supStation.id!]!.prices ?? [];
final supPrices = supStation.prices ?? [];
combinedMap[supStation.id!]!.prices = [
...existingPrices,
...supPrices,
];
} else {
combinedMap[supStation.id!] = supStation;
}
}
}
eControlData.value = combinedMap.values.toList();
} else {
errorMessage.value =
'Standort konnte nicht ermittelt werden. Bitte prüfen Sie Ihre Browser-Freigabe.';
}
} on TimeoutException {
errorMessage.value =
'Standortabfrage zeitlich überschritten. Bitte erlauben Sie den Standortzugriff im Browser.';
} catch (e) {
errorMessage.value = 'Fehler beim Laden der Daten: ${e.toString()}';
} finally {
// Stellt sicher, dass das Lade-Icon auf jeden Fall verschwindet
isLoading.value = false;
update();
}
isLoading.value = false;
update();
}
void retry() {
_loadStationInfosList();
}
}
+5 -5
View File
@@ -62,11 +62,11 @@ class HomeController extends GetxController {
}).toList();
listTankModel.clear();
listTankModel.addAll(sortList);
listTankModel.sort((a, b) {
var dateA = DateTime.tryParse(a.tankDate!)!;
var dateB = DateTime.tryParse(b.tankDate!)!;
return dateB.compareTo(dateA);
});
// listTankModel.sort((a, b) {
// var dateA = DateTime.tryParse(a.tankDate!)!;
// var dateB = DateTime.tryParse(b.tankDate!)!;
// return dateB.compareTo(dateA);
// });
for (var tank in listTankModel) {
print(
'SortTankModel: ${tank.tankDate!} - ${tank.liter}L - ${tank.pricePerLiter}€/L - Total: ${tank.szPriceTotal}€',
+1 -1
View File
@@ -35,7 +35,7 @@ class TankGuruDirectusModel {
if (liter != null && pricePerLiter != null) {
double literValue = double.tryParse(liter!) ?? 0.0;
double pricePerLiterValue = double.tryParse(pricePerLiter!) ?? 0.0;
szPriceTotal = (literValue * pricePerLiterValue).toStringAsFixed(3);
szPriceTotal = (literValue * pricePerLiterValue).toStringAsFixed(2);
} else {
szPriceTotal = '0.00';
}
+60 -2
View File
@@ -51,7 +51,7 @@ class GasstationsPage extends GetView<GasstationsController> {
strokeWidth: 3,
),
const SizedBox(height: 20),
Text(
const Text(
'Lade Tankstellen...',
style: TextStyle(
color: Colors.white,
@@ -62,7 +62,63 @@ class GasstationsPage extends GetView<GasstationsController> {
],
),
);
} else if (staCtrl.eControlData.isEmpty) {
}
// Anzeige bei Fehler/Unerreichbarkeit des E-Control Services
else if (staCtrl.errorMessage.isNotEmpty) {
return Center(
child: Container(
margin: const EdgeInsets.all(24),
padding: const EdgeInsets.all(32),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20),
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(10),
blurRadius: 10,
offset: const Offset(0, 5),
),
],
),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.cloud_off, size: 64, color: Colors.red[400]),
const SizedBox(height: 16),
Text(
'Service nicht erreichbar',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
color: Colors.blueGrey[800],
),
),
const SizedBox(height: 8),
Text(
staCtrl.errorMessage.value,
style: TextStyle(fontSize: 14, color: Colors.grey[600]),
textAlign: TextAlign.center,
),
const SizedBox(height: 20),
ElevatedButton.icon(
onPressed: () => staCtrl.retry(),
icon: const Icon(Icons.refresh),
label: const Text('Erneut versuchen'),
style: ElevatedButton.styleFrom(
backgroundColor: Colors.blueGrey[800],
foregroundColor: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
),
),
],
),
),
);
}
// Anzeige, wenn keine Tankstellen gefunden wurden
else if (staCtrl.eControlData.isEmpty) {
return Center(
child: Container(
margin: const EdgeInsets.all(24),
@@ -160,6 +216,8 @@ class GasstationsPage extends GetView<GasstationsController> {
return GasStationCard(
station: staCtrl.eControlData[index],
index: index,
originLatitude: staCtrl.currentLatitude!,
originLongitude: staCtrl.currentLongitude!,
);
},
),
+18
View File
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../config/app_version.dart';
import '../controller/login_controller.dart';
import '../widgets/my_login_widget.dart';
@@ -14,6 +15,23 @@ class LoginPage extends GetView<LoginController> {
var displayHeight = MediaQuery.of(context).size.height;
return SafeArea(
child: Scaffold(
bottomNavigationBar: Container(
alignment: Alignment.center,
color: Colors.blue.shade100,
height: 36,
child: Tooltip(
message: 'SemVer: ${AppVersion.version}+${AppVersion.buildNumber}',
child: Text(
AppVersion.display,
style: TextStyle(
color: Colors.blueGrey.shade700,
fontSize: 13,
fontWeight: FontWeight.w600,
letterSpacing: 0.3,
),
),
),
),
body: Container(
height: displayHeight,
width: displayWidth,
+2 -1
View File
@@ -35,7 +35,8 @@ class DirectusService {
Future<List<dynamic>> getTankGuruDataFromTable(String userIdentId) async {
var client = http.Client();
String apiUrl = '$endpoint/items/$tankStopRest?filter[UserIdentId][_eq]=$userIdentId';
//String apiUrl = '$endpoint/items/$tankStopRest?filter[UserIdentId][_eq]=$userIdentId';
String apiUrl = '$endpoint/items/$tankStopRest?filter[UserIdentId][_eq]=$userIdentId&sort=-TankDate';
var response = await client.get(Uri.parse(apiUrl), headers: headers);
if(response.statusCode != 200) {
print('Fehler beim Abrufen der Dokumente aus der Collection: ${response.statusCode}');
+24 -5
View File
@@ -7,11 +7,30 @@ class EControlService {
double longitude,
String fuelType,
) async {
// REST Service... URL
String apiUrl =
'https://api.e-control.at/sprit/1.0/search/gas-stations/by-address?latitude=$latitude&longitude=$longitude&fuelType=$fuelType&includeClosed=false';
// For Test purposes only - later deactivate
// latitude = 47.938783246743355;
// longitude = 13.762770926423814;
String apiUrl = 'https://api.e-control.at/sprit/1.0/search/gas-stations/by-address?latitude=$latitude&longitude=$longitude&fuelType=$fuelType&includeClosed=false';
var response = await http.get(Uri.parse(apiUrl));
print('${response.statusCode}');
return jsonDecode(response.body);
if (response.statusCode == 200) {
return jsonDecode(response.body);
}
return [];
}
/// Holt parallel Diesel ('DIE') und Super ('SUP') Daten
Future<Map<String, List<dynamic>>> getBothFuelData(
double latitude,
double longitude,
) async {
// For Test purposes only - later deactivate
// latitude = 47.938783246743355;
// longitude = 13.762770926423814;
final results = await Future.wait([
getEControlData(latitude, longitude, 'DIE'),
getEControlData(latitude, longitude, 'SUP'),
]);
return {'DIE': results[0], 'SUP': results[1]};
}
}
+268 -181
View File
@@ -1,11 +1,21 @@
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
import '../models/econtrol_model.dart';
class GasStationCard extends StatelessWidget {
final EControlModel station;
final int index;
final double originLatitude;
final double originLongitude;
const GasStationCard({super.key, required this.station, required this.index});
const GasStationCard({
super.key,
required this.station,
required this.index,
required this.originLatitude,
required this.originLongitude,
});
Color _getPriceColor(double? price) {
if (price == null) return Colors.grey;
@@ -23,210 +33,287 @@ class GasStationCard extends StatelessWidget {
}
}
Future<void> _openInGoogleMaps(BuildContext context) async {
final location = station.location;
final destination =
location?.latitude != null && location?.longitude != null
? '${location!.latitude},${location.longitude}'
: [
station.name,
location?.address,
location?.postalCode,
location?.city,
]
.whereType<String>()
.where((value) => value.trim().isNotEmpty)
.join(', ');
if (destination.isEmpty) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Für diese Tankstelle ist kein Standort verfügbar.'),
),
);
return;
}
final origin = '$originLatitude,$originLongitude';
final mapsUri = Uri.https('www.google.com', '/maps/dir/', {
'api': '1',
'origin': origin,
'destination': destination,
'travelmode': 'driving',
});
final didLaunch = await launchUrl(
mapsUri,
mode: LaunchMode.platformDefault,
webOnlyWindowName: '_blank',
);
if (!didLaunch && context.mounted) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Google Maps konnte nicht geöffnet werden.'),
),
);
}
}
// Hilfsmethode zur Erstellung eines einzelnen Preis-Badges
Widget _buildPriceBadge(Prices? priceInfo) {
if (priceInfo == null || priceInfo.amount == null) {
return const SizedBox.shrink();
}
final double price = priceInfo.amount!;
final String label = priceInfo.label ?? priceInfo.fuelType ?? '';
final Color badgeColor = _getPriceColor(price);
return Container(
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
decoration: BoxDecoration(
color: badgeColor.withAlpha(35),
borderRadius: BorderRadius.circular(12),
border: Border.all(color: badgeColor, width: 1.5),
),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.local_gas_station, color: badgeColor, size: 22),
const SizedBox(width: 6),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Text(
'€ ${price.toStringAsFixed(3)}',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
color: badgeColor,
),
),
if (label.isNotEmpty)
Text(
label,
style: TextStyle(
fontSize: 10,
color: Colors.grey[700],
fontWeight: FontWeight.w500,
),
),
],
),
],
),
);
}
@override
Widget build(BuildContext context) {
final price = station.prices?.isNotEmpty == true
? station.prices!.first.amount
: null;
final priceLabel = station.prices?.isNotEmpty == true
? station.prices!.first.label
: '';
// Suchen nach Diesel und Super/Benzin im Prices-Array
final dieselPrice = station.prices?.firstWhere(
(p) =>
p.fuelType == 'DIE' ||
(p.label?.toLowerCase().contains('diesel') ?? false),
orElse: () =>
station.prices?.isNotEmpty == true ? station.prices!.first : Prices(),
);
final supPrice = station.prices?.firstWhere(
(p) =>
p.fuelType == 'SUP' ||
(p.label?.toLowerCase().contains('benzin') ?? false) ||
(p.label?.toLowerCase().contains('super') ?? false),
orElse: () => Prices(),
);
return Card(
margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
elevation: 4,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16),
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [Colors.white, Colors.grey[50]!],
clipBehavior: Clip.antiAlias,
child: InkWell(
onTap: () => _openInGoogleMaps(context),
child: Ink(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [Colors.white, Colors.grey[50]!],
),
),
),
child: Padding(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// Header Row with Position and Status
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
padding: const EdgeInsets.symmetric(
horizontal: 12,
vertical: 6,
),
decoration: BoxDecoration(
color: Colors.blueGrey[700],
borderRadius: BorderRadius.circular(20),
),
child: Text(
'#${index + 1}',
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 12,
),
),
),
Container(
padding: const EdgeInsets.symmetric(
horizontal: 12,
vertical: 6,
),
decoration: BoxDecoration(
color: station.open == true
? Colors.green[400]
: Colors.red[400],
borderRadius: BorderRadius.circular(20),
),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(
station.open == true
? Icons.check_circle
: Icons.cancel,
color: Colors.white,
size: 16,
),
const SizedBox(width: 4),
Text(
station.open == true ? 'Geöffnet' : 'Geschlossen',
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 12,
),
),
],
),
),
],
),
const SizedBox(height: 12),
// Station Name
Text(
station.name ?? 'Unbekannte Tankstelle',
style: const TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
color: Colors.black87,
),
),
const SizedBox(height: 8),
// Address
Row(
children: [
Icon(
Icons.location_on,
size: 16,
color: Colors.blueGrey[600],
),
const SizedBox(width: 4),
Expanded(
child: Text(
'${station.location?.address ?? ''}, '
'${station.location?.postalCode ?? ''} '
'${station.location?.city ?? ''}',
style: TextStyle(fontSize: 14, color: Colors.grey[700]),
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
),
],
),
const SizedBox(height: 12),
// Price and Distance Row
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
// Price
if (price != null)
child: Padding(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// Header Row
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
padding: const EdgeInsets.symmetric(
horizontal: 16,
vertical: 10,
horizontal: 12,
vertical: 6,
),
decoration: BoxDecoration(
color: _getPriceColor(price).withAlpha(50),
borderRadius: BorderRadius.circular(12),
border: Border.all(
color: _getPriceColor(price),
width: 2,
color: Colors.blueGrey[700],
borderRadius: BorderRadius.circular(20),
),
child: Text(
'#${index + 1}',
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 12,
),
),
),
Container(
padding: const EdgeInsets.symmetric(
horizontal: 12,
vertical: 6,
),
decoration: BoxDecoration(
color: station.open == true
? Colors.green[400]
: Colors.red[400],
borderRadius: BorderRadius.circular(20),
),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(
Icons.local_gas_station,
color: _getPriceColor(price),
size: 24,
station.open == true
? Icons.check_circle
: Icons.cancel,
color: Colors.white,
size: 16,
),
const SizedBox(width: 8),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'€ ${price.toStringAsFixed(3)}',
style: TextStyle(
fontSize: 22,
fontWeight: FontWeight.bold,
color: _getPriceColor(price),
),
),
if (priceLabel?.isNotEmpty == true)
Text(
priceLabel!,
style: TextStyle(
fontSize: 10,
color: Colors.grey[600],
),
),
],
const SizedBox(width: 4),
Text(
station.open == true ? 'Geöffnet' : 'Geschlossen',
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 12,
),
),
],
),
),
],
),
const SizedBox(height: 12),
// Distance
Container(
padding: const EdgeInsets.symmetric(
horizontal: 16,
vertical: 10,
),
decoration: BoxDecoration(
color: Colors.blue[50],
borderRadius: BorderRadius.circular(12),
),
child: Row(
children: [
Icon(
Icons.navigation,
color: Colors.blue[700],
size: 20,
),
const SizedBox(width: 8),
Text(
_formatDistance(station.distance),
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
color: Colors.blue[700],
),
),
],
),
// Station Name
Text(
station.name ?? 'Unbekannte Tankstelle',
style: const TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
color: Colors.black87,
),
],
),
],
),
const SizedBox(height: 8),
// Address
Row(
children: [
Icon(
Icons.location_on,
size: 16,
color: Colors.blueGrey[600],
),
const SizedBox(width: 4),
Expanded(
child: Text(
'${station.location?.address ?? ''}, '
'${station.location?.postalCode ?? ''} '
'${station.location?.city ?? ''}',
style: TextStyle(fontSize: 13, color: Colors.grey[700]),
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
),
],
),
const SizedBox(height: 12),
// Prices & Distance Row
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
// Diesel & Benzin Preise nebeneinander
Expanded(
child: Wrap(
spacing: 8,
runSpacing: 8,
children: [
if (dieselPrice?.amount != null)
_buildPriceBadge(dieselPrice),
if (supPrice?.amount != null)
_buildPriceBadge(supPrice),
],
),
),
// Distance Badge
Container(
padding: const EdgeInsets.symmetric(
horizontal: 12,
vertical: 8,
),
decoration: BoxDecoration(
color: Colors.blue[50],
borderRadius: BorderRadius.circular(12),
),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(
Icons.navigation,
color: Colors.blue[700],
size: 18,
),
const SizedBox(width: 6),
Text(
_formatDistance(station.distance),
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.bold,
color: Colors.blue[700],
),
),
],
),
),
],
),
],
),
),
),
),
+72 -8
View File
@@ -316,10 +316,10 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6"
sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd"
url: "https://pub.dev"
source: hosted
version: "0.12.18"
version: "0.12.20"
material_color_utilities:
dependency: transitive
description:
@@ -332,10 +332,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9"
url: "https://pub.dev"
source: hosted
version: "1.17.0"
version: "1.19.0"
native_toolchain_c:
dependency: transitive
description:
@@ -505,10 +505,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636"
sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11"
url: "https://pub.dev"
source: hosted
version: "0.7.9"
version: "0.7.12"
typed_data:
dependency: transitive
description:
@@ -517,6 +517,70 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.0"
url_launcher:
dependency: "direct main"
description:
name: url_launcher
sha256: e8cc955c97e06df9879140a1fe301f3d493f01b7c62dec7f46834be31d7e9fda
url: "https://pub.dev"
source: hosted
version: "6.3.3"
url_launcher_android:
dependency: transitive
description:
name: url_launcher_android
sha256: "611e87fb320b70d1dd721dc46af89c98aceccea9b31fde49e084591414e0c610"
url: "https://pub.dev"
source: hosted
version: "6.3.33"
url_launcher_ios:
dependency: transitive
description:
name: url_launcher_ios
sha256: "8faa1aab294f1ab4040b43660c887b0418d5fa4f0cffef76a484e6aa1092eb4a"
url: "https://pub.dev"
source: hosted
version: "6.4.2"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
sha256: "10f86fef4c2c43563fa6c211ff9cf757adf4d3ab762c56bd430664a947d70cd0"
url: "https://pub.dev"
source: hosted
version: "3.2.3"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
sha256: "5e835a3b869c2d70325349c81c5a45c28e20791265b67b2669da6b08c5cd5201"
url: "https://pub.dev"
source: hosted
version: "3.2.6"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
url: "https://pub.dev"
source: hosted
version: "2.3.2"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
sha256: "85c81589622fbc87c1c683aaea164d3604a7777495a79d91e39ffcdec39ddb34"
url: "https://pub.dev"
source: hosted
version: "2.4.3"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
sha256: "6c5ad3f22cd4c38e089b81963b3cd7bb83b111b2df5dce008bb066162f42e429"
url: "https://pub.dev"
source: hosted
version: "3.1.6"
uuid:
dependency: transitive
description:
@@ -582,5 +646,5 @@ packages:
source: hosted
version: "3.1.3"
sdks:
dart: ">=3.11.0-0 <4.0.0"
flutter: ">=3.38.4"
dart: ">=3.12.0 <4.0.0"
flutter: ">=3.44.0"
+2 -1
View File
@@ -3,7 +3,7 @@ description: "A new Flutter project."
publish_to: "none"
version: 1.0.0+1
version: 1.1.0+2
environment:
sdk: ^3.10.7
@@ -18,6 +18,7 @@ dependencies:
google_fonts: ^7.1.0
http: ^1.6.0
intl: ^0.20.2
url_launcher: ^6.3.2
dev_dependencies:
flutter_lints: ^6.0.0
+28 -4
View File
@@ -13,12 +13,33 @@ SERVER_PATH="/root/webserver"
echo "🚀 Starting Flutter Web App Update..."
echo "================================================"
# Step 1: Build Flutter Web
echo "📦 Building Flutter web release..."
flutter build web --release --no-wasm-dry-run
# Step 1: Buildnummer nach Flutter-/SemVer-Konvention erhoehen
# Die SemVer-Version (MAJOR.MINOR.PATCH) wird bei fachlichen Releases manuell
# in pubspec.yaml gepflegt. Jeder Deployment-Build erhaelt eine neue BUILD-Nr.
CURRENT_APP_VERSION=$(sed -n 's/^version:[[:space:]]*//p' pubspec.yaml | head -n 1)
if [ $? -ne 0 ]; then
if [[ ! "$CURRENT_APP_VERSION" =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)\+([0-9]+)$ ]]; then
echo "❌ Invalid version in pubspec.yaml: $CURRENT_APP_VERSION"
echo " Expected format: MAJOR.MINOR.PATCH+BUILD (for example 1.1.0+2)"
exit 1
fi
SEMVER="${CURRENT_APP_VERSION%%+*}"
CURRENT_BUILD_NUMBER="${CURRENT_APP_VERSION##*+}"
NEXT_BUILD_NUMBER=$((10#$CURRENT_BUILD_NUMBER + 1))
NEXT_APP_VERSION="$SEMVER+$NEXT_BUILD_NUMBER"
sed -i "s/^version:.*/version: $NEXT_APP_VERSION/" pubspec.yaml
echo "🏷️ Version: $CURRENT_APP_VERSION -> $NEXT_APP_VERSION"
echo "📦 Building Flutter web release..."
if ! flutter build web --release --no-wasm-dry-run \
--dart-define="APP_VERSION=$SEMVER" \
--dart-define="APP_BUILD_NUMBER=$NEXT_BUILD_NUMBER"; then
sed -i "s/^version:.*/version: $CURRENT_APP_VERSION/" pubspec.yaml
echo "❌ Build failed!"
echo " Version restored to $CURRENT_APP_VERSION"
exit 1
fi
@@ -61,4 +82,7 @@ echo "✅ Update complete!"
echo "================================================"
echo "Your app should now be updated at:"
echo " http://tank.joshihomeserver.ipv64.net"
echo "Deployed version: $NEXT_APP_VERSION"
echo "The login page must show: Version $SEMVER (Build $NEXT_BUILD_NUMBER)"
echo "If another version is shown, refresh the browser with Ctrl+F5."
echo "================================================"
+1330 -1823
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -147,7 +147,7 @@ Rb(a,gc(a,l,null,f,k),b-1);return[]})},C:(a,b,c,e,f)=>{b=K(b);-1===f&&(f=4294967
je:8,readValueFromPointer:e},{lf:!0})},o:(a,b,c,e,f,k,n,l,p,v,w,A)=>{c=K(c);k=O(f,k);l=O(n,l);v=O(p,v);A=O(w,A);mb([a],[b],D=>{D=D[0];return[new Qb(c,D.be,!1,!1,!0,D,e,k,l,v,A)]})},R:(a,b)=>{b=K(b);var c="std::string"===b;lb(a,{name:b,fromWireType:function(e){var f=H[e>>2],k=e+4;if(c)for(var n=k,l=0;l<=f;++l){var p=k+l;if(l==f||0==B[p]){n=n?db(B,n,p-n):"";if(void 0===v)var v=n;else v+=String.fromCharCode(0),v+=n;n=p+1}}else{v=Array(f);for(l=0;l<f;++l)v[l]=String.fromCharCode(B[k+l]);v=v.join("")}cc(e);
return v},toWireType:function(e,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var k="string"==typeof f;if(!(k||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array))throw new L("Cannot pass non-string to std::string");var n=c&&k?qa(f):f.length;var l=pd(4+n+1),p=l+4;H[l>>2]=n;if(c&&k)ra(f,p,n+1);else if(k)for(k=0;k<n;++k){var v=f.charCodeAt(k);if(255<v)throw cc(p),new L("String has UTF-16 code units that do not fit in 8 bits");B[p+k]=v}else for(k=0;k<n;++k)B[p+k]=f[k];
null!==e&&e.push(cc,l);return l},je:8,readValueFromPointer:gb,ke(e){cc(e)}})},M:(a,b,c)=>{c=K(c);if(2===b){var e=tc;var f=uc;var k=vc;var n=l=>Fa[l>>1]}else 4===b&&(e=wc,f=xc,k=yc,n=l=>H[l>>2]);lb(a,{name:c,fromWireType:l=>{for(var p=H[l>>2],v,w=l+4,A=0;A<=p;++A){var D=l+4+A*b;if(A==p||0==n(D))w=e(w,D-w),void 0===v?v=w:(v+=String.fromCharCode(0),v+=w),w=D+b}cc(l);return v},toWireType:(l,p)=>{if("string"!=typeof p)throw new L(`Cannot pass non-string to C++ string type ${c}`);var v=k(p),w=pd(4+v+b);
H[w>>2]=v/b;f(p,w+4,v+b);null!==l&&l.push(cc,w);return w},je:8,readValueFromPointer:gb,ke(l){cc(l)}})},A:(a,b,c,e,f,k)=>{eb[a]={name:K(b),Le:O(c,e),ne:O(f,k),Qe:[]}},d:(a,b,c,e,f,k,n,l,p,v)=>{eb[a].Qe.push({ef:K(b),kf:c,hf:O(e,f),jf:k,sf:n,rf:O(l,p),tf:v})},kd:(a,b)=>{b=K(b);lb(a,{yf:!0,name:b,je:0,fromWireType:()=>{},toWireType:()=>{}})},jd:()=>1,id:()=>{throw Infinity;},E:(a,b,c)=>{a=mc(a);b=pc(b,"emval::as");return zc(b,c,a)},L:(a,b,c,e)=>{a=Ac[a];b=mc(b);return a(null,b,c,e)},r:(a,b,c,e,f)=>{a=
H[w>>2]=v/b;f(p,w+4,v+b);null!==l&&l.push(cc,w);return w},je:8,readValueFromPointer:gb,ke(l){cc(l)}})},A:(a,b,c,e,f,k)=>{eb[a]={name:K(b),Le:O(c,e),ne:O(f,k),Qe:[]}},d:(a,b,c,e,f,k,n,l,p,v)=>{eb[a].Qe.push({ef:K(b),kf:c,hf:O(e,f),jf:k,sf:n,rf:O(l,p),tf:v})},kd:(a,b)=>{b=K(b);lb(a,{yf:!0,name:b,je:0,fromWireType:()=>{},toWireType:()=>{}})},jd:()=>1,id:()=>{throw Infinity;},E:(a,b,c)=>{a=mc(a);b=pc(b,"emval::as");return zc(b,c,a)},L:(a,b,c,e)=>{a=Ac[a];b=mc(b);return a(null,b,c,e)},s:(a,b,c,e,f)=>{a=
Ac[a];b=mc(b);c=Cc(c);return a(b,b[c],e,f)},c:lc,K:a=>{if(0===a)return Ob(Dc());a=Cc(a);return Ob(Dc()[a])},n:(a,b,c)=>{var e=Fc(a,b),f=e.shift();a--;var k=Array(a);b=`methodCaller<(${e.map(n=>n.name).join(", ")}) => ${f.name}>`;return Ec(Fb(b,(n,l,p,v)=>{for(var w=0,A=0;A<a;++A)k[A]=e[A].readValueFromPointer(v+w),w+=e[A].je;n=1===c?Gc(l,k):l.apply(n,k);return zc(f,p,n)}))},z:(a,b)=>{a=mc(a);b=mc(b);return Ob(a[b])},H:a=>{9<a&&(kc[a+1]+=1)},G:()=>Ob([]),f:a=>Ob(Cc(a)),D:()=>Ob({}),hd:a=>{a=mc(a);
return!a},k:a=>{var b=mc(a);fb(b);lc(a)},h:(a,b,c)=>{a=mc(a);b=mc(b);c=mc(c);a[b]=c},g:(a,b)=>{a=pc(a,"_emval_take_value");a=a.readValueFromPointer(b);return Ob(a)},X:function(){return-52},W:function(){},gd:(a,b,c,e)=>{var f=(new Date).getFullYear(),k=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f,6,1)).getTimezoneOffset();H[a>>2]=60*Math.max(k,f);E[b>>2]=Number(k!=f);b=n=>{var l=Math.abs(n);return`UTC${0<=n?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};
a=b(k);b=b(f);f<k?(ra(a,c,17),ra(b,e,17)):(ra(a,e,17),ra(b,c,17))},fd:()=>performance.now(),ed:a=>R.activeTexture(a),dd:(a,b)=>{R.attachShader(Nc[a],Qc[b])},cd:(a,b)=>{R.beginQuery(a,Sc[b])},bd:(a,b)=>{R.me.beginQueryEXT(a,Sc[b])},ad:(a,b,c)=>{R.bindAttribLocation(Nc[a],b,c?db(B,c):"")},$c:(a,b)=>{35051==a?R.Ie=b:35052==a&&(R.re=b);R.bindBuffer(a,Mc[b])},_c:cd,Zc:(a,b)=>{R.bindRenderbuffer(a,Pc[b])},Yc:(a,b)=>{R.bindSampler(a,Tc[b])},Xc:(a,b)=>{R.bindTexture(a,ka[b])},Wc:dd,Vc:dd,Uc:(a,b,c,e)=>R.blendColor(a,
@@ -176,7 +176,7 @@ b);else{if(72>=b){var e=wd[4*b],f=J;c>>=2;b*=4;for(var k=0;k<b;k+=4){var n=c+k;e
13]=k[l+13];f[n+14]=k[l+14];f[n+15]=k[l+15]}}else f=J.subarray(e>>2,e+64*b>>2);R.uniformMatrix4fv(Y(a),!!c,f)}},ua:a=>{a=Nc[a];R.useProgram(a);R.bf=a},ta:(a,b)=>R.vertexAttrib1f(a,b),sa:(a,b)=>{R.vertexAttrib2f(a,J[b>>2],J[b+4>>2])},ra:(a,b)=>{R.vertexAttrib3f(a,J[b>>2],J[b+4>>2],J[b+8>>2])},qa:(a,b)=>{R.vertexAttrib4f(a,J[b>>2],J[b+4>>2],J[b+8>>2],J[b+12>>2])},pa:(a,b)=>{R.vertexAttribDivisor(a,b)},oa:(a,b,c,e,f)=>{R.vertexAttribIPointer(a,b,c,e,f)},na:(a,b,c,e,f,k)=>{R.vertexAttribPointer(a,b,c,
!!e,f,k)},ma:(a,b,c,e)=>R.viewport(a,b,c,e),la:(a,b,c,e)=>{R.waitSync(Uc[a],b,(c>>>0)+4294967296*e)},ka:a=>{var b=B.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+1/c);e=Math.min(e,a+100663296);a:{e=(Math.min(2147483648,65536*Math.ceil(Math.max(a,e)/65536))-za.buffer.byteLength+65535)/65536|0;try{za.grow(e);Ha();var f=1;break a}catch(k){}f=void 0}if(f)return!0}return!1},ja:()=>z?z.handle:0,qd:(a,b)=>{var c=0;Ad().forEach((e,f)=>{var k=b+c;f=H[a+4*f>>2]=k;for(k=0;k<e.length;++k)Ca[f++]=
e.charCodeAt(k);Ca[f]=0;c+=e.length+1});return 0},pd:(a,b)=>{var c=Ad();H[a>>2]=c.length;var e=0;c.forEach(f=>e+=f.length+1);H[b>>2]=e;return 0},ia:a=>{Xa||(Ba=!0);throw new Va(a);},N:()=>52,_:function(){return 52},od:()=>52,Z:function(){return 70},T:(a,b,c,e)=>{for(var f=0,k=0;k<c;k++){var n=H[b>>2],l=H[b+4>>2];b+=8;for(var p=0;p<l;p++){var v=B[n+p],w=Bd[a];0===v||10===v?((1===a?xa:ya)(db(w)),w.length=0):w.push(v)}f+=l}H[e>>2]=f;return 0},ha:cd,ga:ed,fa:fd,ea:gd,J:nd,Q:rd,da:sd,m:Hd,y:Id,l:Jd,I:Kd,
ca:Ld,P:Md,O:Nd,t:Od,v:Pd,u:Qd,s:Rd,ba:Sd,aa:Td,$:Ud},Z=function(){function a(c){Z=c.exports;za=Z.wd;Ha();N=Z.zd;Ja.unshift(Z.xd);La--;0==La&&(null!==Na&&(clearInterval(Na),Na=null),Oa&&(c=Oa,Oa=null,c()));return Z}var b={a:Vd};La++;if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){ya(`Module.instantiateWasm callback failed with error: ${c}`),da(c)}Ra??=r.locateFile?Qa("canvaskit.wasm")?"canvaskit.wasm":ta+"canvaskit.wasm":(new URL("canvaskit.wasm",import.meta.url)).href;
ca:Ld,P:Md,O:Nd,t:Od,v:Pd,u:Qd,r:Rd,ba:Sd,aa:Td,$:Ud},Z=function(){function a(c){Z=c.exports;za=Z.wd;Ha();N=Z.zd;Ja.unshift(Z.xd);La--;0==La&&(null!==Na&&(clearInterval(Na),Na=null),Oa&&(c=Oa,Oa=null,c()));return Z}var b={a:Vd};La++;if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){ya(`Module.instantiateWasm callback failed with error: ${c}`),da(c)}Ra??=r.locateFile?Qa("canvaskit.wasm")?"canvaskit.wasm":ta+"canvaskit.wasm":(new URL("canvaskit.wasm",import.meta.url)).href;
Ua(b,function(c){a(c.instance)}).catch(da);return{}}(),bc=a=>(bc=Z.yd)(a),pd=r._malloc=a=>(pd=r._malloc=Z.Ad)(a),cc=r._free=a=>(cc=r._free=Z.Bd)(a),Wd=(a,b)=>(Wd=Z.Cd)(a,b),Xd=a=>(Xd=Z.Dd)(a),Yd=()=>(Yd=Z.Ed)();r.dynCall_viji=(a,b,c,e,f)=>(r.dynCall_viji=Z.Fd)(a,b,c,e,f);r.dynCall_vijiii=(a,b,c,e,f,k,n)=>(r.dynCall_vijiii=Z.Gd)(a,b,c,e,f,k,n);r.dynCall_viiiiij=(a,b,c,e,f,k,n,l)=>(r.dynCall_viiiiij=Z.Hd)(a,b,c,e,f,k,n,l);r.dynCall_vij=(a,b,c,e)=>(r.dynCall_vij=Z.Id)(a,b,c,e);
r.dynCall_iiiji=(a,b,c,e,f,k)=>(r.dynCall_iiiji=Z.Jd)(a,b,c,e,f,k);r.dynCall_jii=(a,b,c)=>(r.dynCall_jii=Z.Kd)(a,b,c);r.dynCall_jiiiiii=(a,b,c,e,f,k,n)=>(r.dynCall_jiiiiii=Z.Ld)(a,b,c,e,f,k,n);r.dynCall_jiiiiji=(a,b,c,e,f,k,n,l)=>(r.dynCall_jiiiiji=Z.Md)(a,b,c,e,f,k,n,l);r.dynCall_ji=(a,b)=>(r.dynCall_ji=Z.Nd)(a,b);r.dynCall_iijj=(a,b,c,e,f,k)=>(r.dynCall_iijj=Z.Od)(a,b,c,e,f,k);r.dynCall_iiji=(a,b,c,e,f)=>(r.dynCall_iiji=Z.Pd)(a,b,c,e,f);
r.dynCall_iijjiii=(a,b,c,e,f,k,n,l,p)=>(r.dynCall_iijjiii=Z.Qd)(a,b,c,e,f,k,n,l,p);r.dynCall_iij=(a,b,c,e)=>(r.dynCall_iij=Z.Rd)(a,b,c,e);r.dynCall_vijjjii=(a,b,c,e,f,k,n,l,p,v)=>(r.dynCall_vijjjii=Z.Sd)(a,b,c,e,f,k,n,l,p,v);r.dynCall_jiji=(a,b,c,e,f)=>(r.dynCall_jiji=Z.Td)(a,b,c,e,f);r.dynCall_viijii=(a,b,c,e,f,k,n)=>(r.dynCall_viijii=Z.Ud)(a,b,c,e,f,k,n);r.dynCall_iiiiij=(a,b,c,e,f,k,n)=>(r.dynCall_iiiiij=Z.Vd)(a,b,c,e,f,k,n);
File diff suppressed because one or more lines are too long
Binary file not shown.
+2 -2
View File
@@ -147,7 +147,7 @@ Rb(a,gc(a,l,null,f,k),b-1);return[]})},C:(a,b,c,e,f)=>{b=K(b);-1===f&&(f=4294967
de:8,readValueFromPointer:e},{ef:!0})},o:(a,b,c,e,f,k,n,l,q,v,w,A)=>{c=K(c);k=Q(f,k);l=Q(n,l);v=Q(q,v);A=Q(w,A);mb([a],[b],D=>{D=D[0];return[new Qb(c,D.Wd,!1,!1,!0,D,e,k,l,v,A)]})},Q:(a,b)=>{b=K(b);var c="std::string"===b;lb(a,{name:b,fromWireType:function(e){var f=H[e>>2],k=e+4;if(c)for(var n=k,l=0;l<=f;++l){var q=k+l;if(l==f||0==B[q]){n=n?db(B,n,q-n):"";if(void 0===v)var v=n;else v+=String.fromCharCode(0),v+=n;n=q+1}}else{v=Array(f);for(l=0;l<f;++l)v[l]=String.fromCharCode(B[k+l]);v=v.join("")}cc(e);
return v},toWireType:function(e,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var k="string"==typeof f;if(!(k||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array))throw new L("Cannot pass non-string to std::string");var n=c&&k?qa(f):f.length;var l=pd(4+n+1),q=l+4;H[l>>2]=n;if(c&&k)ra(f,q,n+1);else if(k)for(k=0;k<n;++k){var v=f.charCodeAt(k);if(255<v)throw cc(q),new L("String has UTF-16 code units that do not fit in 8 bits");B[q+k]=v}else for(k=0;k<n;++k)B[q+k]=f[k];
null!==e&&e.push(cc,l);return l},de:8,readValueFromPointer:gb,ee(e){cc(e)}})},M:(a,b,c)=>{c=K(c);if(2===b){var e=tc;var f=uc;var k=vc;var n=l=>Fa[l>>1]}else 4===b&&(e=wc,f=xc,k=yc,n=l=>H[l>>2]);lb(a,{name:c,fromWireType:l=>{for(var q=H[l>>2],v,w=l+4,A=0;A<=q;++A){var D=l+4+A*b;if(A==q||0==n(D))w=e(w,D-w),void 0===v?v=w:(v+=String.fromCharCode(0),v+=w),w=D+b}cc(l);return v},toWireType:(l,q)=>{if("string"!=typeof q)throw new L(`Cannot pass non-string to C++ string type ${c}`);var v=k(q),w=pd(4+v+b);
H[w>>2]=v/b;f(q,w+4,v+b);null!==l&&l.push(cc,w);return w},de:8,readValueFromPointer:gb,ee(l){cc(l)}})},A:(a,b,c,e,f,k)=>{eb[a]={name:K(b),Fe:Q(c,e),he:Q(f,k),Ke:[]}},d:(a,b,c,e,f,k,n,l,q,v)=>{eb[a].Ke.push({Ze:K(b),df:c,bf:Q(e,f),cf:k,lf:n,kf:Q(l,q),mf:v})},jd:(a,b)=>{b=K(b);lb(a,{sf:!0,name:b,de:0,fromWireType:()=>{},toWireType:()=>{}})},id:()=>1,hd:()=>{throw Infinity;},E:(a,b,c)=>{a=mc(a);b=pc(b,"emval::as");return zc(b,c,a)},L:(a,b,c,e)=>{a=Ac[a];b=mc(b);return a(null,b,c,e)},r:(a,b,c,e,f)=>{a=
H[w>>2]=v/b;f(q,w+4,v+b);null!==l&&l.push(cc,w);return w},de:8,readValueFromPointer:gb,ee(l){cc(l)}})},A:(a,b,c,e,f,k)=>{eb[a]={name:K(b),Fe:Q(c,e),he:Q(f,k),Ke:[]}},d:(a,b,c,e,f,k,n,l,q,v)=>{eb[a].Ke.push({Ze:K(b),df:c,bf:Q(e,f),cf:k,lf:n,kf:Q(l,q),mf:v})},jd:(a,b)=>{b=K(b);lb(a,{sf:!0,name:b,de:0,fromWireType:()=>{},toWireType:()=>{}})},id:()=>1,hd:()=>{throw Infinity;},E:(a,b,c)=>{a=mc(a);b=pc(b,"emval::as");return zc(b,c,a)},L:(a,b,c,e)=>{a=Ac[a];b=mc(b);return a(null,b,c,e)},s:(a,b,c,e,f)=>{a=
Ac[a];b=mc(b);c=Cc(c);return a(b,b[c],e,f)},c:lc,K:a=>{if(0===a)return Ob(Dc());a=Cc(a);return Ob(Dc()[a])},n:(a,b,c)=>{var e=Fc(a,b),f=e.shift();a--;var k=Array(a);b=`methodCaller<(${e.map(n=>n.name).join(", ")}) => ${f.name}>`;return Ec(Fb(b,(n,l,q,v)=>{for(var w=0,A=0;A<a;++A)k[A]=e[A].readValueFromPointer(v+w),w+=e[A].de;n=1===c?Gc(l,k):l.apply(n,k);return zc(f,q,n)}))},z:(a,b)=>{a=mc(a);b=mc(b);return Ob(a[b])},H:a=>{9<a&&(kc[a+1]+=1)},G:()=>Ob([]),f:a=>Ob(Cc(a)),D:()=>Ob({}),gd:a=>{a=mc(a);
return!a},k:a=>{var b=mc(a);fb(b);lc(a)},h:(a,b,c)=>{a=mc(a);b=mc(b);c=mc(c);a[b]=c},g:(a,b)=>{a=pc(a,"_emval_take_value");a=a.readValueFromPointer(b);return Ob(a)},W:function(){return-52},V:function(){},fd:(a,b,c,e)=>{var f=(new Date).getFullYear(),k=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f,6,1)).getTimezoneOffset();H[a>>2]=60*Math.max(k,f);E[b>>2]=Number(k!=f);b=n=>{var l=Math.abs(n);return`UTC${0<=n?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};
a=b(k);b=b(f);f<k?(ra(a,c,17),ra(b,e,17)):(ra(a,e,17),ra(b,c,17))},ed:()=>performance.now(),dd:a=>R.activeTexture(a),cd:(a,b)=>{R.attachShader(Nc[a],Qc[b])},bd:(a,b)=>{R.beginQuery(a,Sc[b])},ad:(a,b)=>{R.ge.beginQueryEXT(a,Sc[b])},$c:(a,b,c)=>{R.bindAttribLocation(Nc[a],b,c?db(B,c):"")},_c:(a,b)=>{35051==a?R.Ce=b:35052==a&&(R.le=b);R.bindBuffer(a,Mc[b])},Zc:cd,Yc:(a,b)=>{R.bindRenderbuffer(a,Pc[b])},Xc:(a,b)=>{R.bindSampler(a,Tc[b])},Wc:(a,b)=>{R.bindTexture(a,ka[b])},Vc:dd,Uc:dd,Tc:(a,b,c,e)=>R.blendColor(a,
@@ -176,7 +176,7 @@ b);else{if(72>=b){var e=wd[4*b],f=J;c>>=2;b*=4;for(var k=0;k<b;k+=4){var n=c+k;e
13]=k[l+13];f[n+14]=k[l+14];f[n+15]=k[l+15]}}else f=J.subarray(e>>2,e+64*b>>2);R.uniformMatrix4fv(Y(a),!!c,f)}},ta:a=>{a=Nc[a];R.useProgram(a);R.We=a},sa:(a,b)=>R.vertexAttrib1f(a,b),ra:(a,b)=>{R.vertexAttrib2f(a,J[b>>2],J[b+4>>2])},qa:(a,b)=>{R.vertexAttrib3f(a,J[b>>2],J[b+4>>2],J[b+8>>2])},pa:(a,b)=>{R.vertexAttrib4f(a,J[b>>2],J[b+4>>2],J[b+8>>2],J[b+12>>2])},oa:(a,b)=>{R.vertexAttribDivisor(a,b)},na:(a,b,c,e,f)=>{R.vertexAttribIPointer(a,b,c,e,f)},ma:(a,b,c,e,f,k)=>{R.vertexAttribPointer(a,b,c,
!!e,f,k)},la:(a,b,c,e)=>R.viewport(a,b,c,e),ka:(a,b,c,e)=>{R.waitSync(Uc[a],b,(c>>>0)+4294967296*e)},ja:a=>{var b=B.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+1/c);e=Math.min(e,a+100663296);a:{e=(Math.min(2147483648,65536*Math.ceil(Math.max(a,e)/65536))-za.buffer.byteLength+65535)/65536|0;try{za.grow(e);Ha();var f=1;break a}catch(k){}f=void 0}if(f)return!0}return!1},ia:()=>z?z.handle:0,pd:(a,b)=>{var c=0;Ad().forEach((e,f)=>{var k=b+c;f=H[a+4*f>>2]=k;for(k=0;k<e.length;++k)Ca[f++]=
e.charCodeAt(k);Ca[f]=0;c+=e.length+1});return 0},od:(a,b)=>{var c=Ad();H[a>>2]=c.length;var e=0;c.forEach(f=>e+=f.length+1);H[b>>2]=e;return 0},ha:a=>{Xa||(Ba=!0);throw new Va(a);},T:()=>52,Z:function(){return 52},nd:()=>52,Y:function(){return 70},S:(a,b,c,e)=>{for(var f=0,k=0;k<c;k++){var n=H[b>>2],l=H[b+4>>2];b+=8;for(var q=0;q<l;q++){var v=B[n+q],w=Bd[a];0===v||10===v?((1===a?xa:ya)(db(w)),w.length=0):w.push(v)}f+=l}H[e>>2]=f;return 0},ga:cd,fa:ed,ea:fd,da:gd,J:nd,P:rd,ca:sd,m:Hd,y:Id,l:Jd,I:Kd,
ba:Ld,O:Md,N:Nd,t:Od,v:Pd,u:Qd,s:Rd,aa:Sd,$:Td,_:Ud},Z=function(){function a(c){Z=c.exports;za=Z.vd;Ha();N=Z.yd;Ja.unshift(Z.wd);La--;0==La&&(null!==Na&&(clearInterval(Na),Na=null),Oa&&(c=Oa,Oa=null,c()));return Z}var b={a:Vd};La++;if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){ya(`Module.instantiateWasm callback failed with error: ${c}`),da(c)}Ra??=r.locateFile?Qa("canvaskit.wasm")?"canvaskit.wasm":ta+"canvaskit.wasm":(new URL("canvaskit.wasm",import.meta.url)).href;Ua(b,
ba:Ld,O:Md,N:Nd,t:Od,v:Pd,u:Qd,r:Rd,aa:Sd,$:Td,_:Ud},Z=function(){function a(c){Z=c.exports;za=Z.vd;Ha();N=Z.yd;Ja.unshift(Z.wd);La--;0==La&&(null!==Na&&(clearInterval(Na),Na=null),Oa&&(c=Oa,Oa=null,c()));return Z}var b={a:Vd};La++;if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){ya(`Module.instantiateWasm callback failed with error: ${c}`),da(c)}Ra??=r.locateFile?Qa("canvaskit.wasm")?"canvaskit.wasm":ta+"canvaskit.wasm":(new URL("canvaskit.wasm",import.meta.url)).href;Ua(b,
function(c){a(c.instance)}).catch(da);return{}}(),bc=a=>(bc=Z.xd)(a),pd=r._malloc=a=>(pd=r._malloc=Z.zd)(a),cc=r._free=a=>(cc=r._free=Z.Ad)(a),Wd=(a,b)=>(Wd=Z.Bd)(a,b),Xd=a=>(Xd=Z.Cd)(a),Yd=()=>(Yd=Z.Dd)();r.dynCall_viji=(a,b,c,e,f)=>(r.dynCall_viji=Z.Ed)(a,b,c,e,f);r.dynCall_vijiii=(a,b,c,e,f,k,n)=>(r.dynCall_vijiii=Z.Fd)(a,b,c,e,f,k,n);r.dynCall_viiiiij=(a,b,c,e,f,k,n,l)=>(r.dynCall_viiiiij=Z.Gd)(a,b,c,e,f,k,n,l);r.dynCall_vij=(a,b,c,e)=>(r.dynCall_vij=Z.Hd)(a,b,c,e);
r.dynCall_jii=(a,b,c)=>(r.dynCall_jii=Z.Id)(a,b,c);r.dynCall_jiiiiii=(a,b,c,e,f,k,n)=>(r.dynCall_jiiiiii=Z.Jd)(a,b,c,e,f,k,n);r.dynCall_jiiiiji=(a,b,c,e,f,k,n,l)=>(r.dynCall_jiiiiji=Z.Kd)(a,b,c,e,f,k,n,l);r.dynCall_ji=(a,b)=>(r.dynCall_ji=Z.Ld)(a,b);r.dynCall_iijj=(a,b,c,e,f,k)=>(r.dynCall_iijj=Z.Md)(a,b,c,e,f,k);r.dynCall_jiji=(a,b,c,e,f)=>(r.dynCall_jiji=Z.Nd)(a,b,c,e,f);r.dynCall_viijii=(a,b,c,e,f,k,n)=>(r.dynCall_viijii=Z.Od)(a,b,c,e,f,k,n);
r.dynCall_iiiiij=(a,b,c,e,f,k,n)=>(r.dynCall_iiiiij=Z.Pd)(a,b,c,e,f,k,n);r.dynCall_iiiiijj=(a,b,c,e,f,k,n,l,q)=>(r.dynCall_iiiiijj=Z.Qd)(a,b,c,e,f,k,n,l,q);r.dynCall_iiiiiijj=(a,b,c,e,f,k,n,l,q,v)=>(r.dynCall_iiiiiijj=Z.Rd)(a,b,c,e,f,k,n,l,q,v);function Rd(a,b,c,e,f){var k=Yd();try{N.get(a)(b,c,e,f)}catch(n){Xd(k);if(n!==n+0)throw n;Wd(1,0)}}function Id(a,b,c){var e=Yd();try{return N.get(a)(b,c)}catch(f){Xd(e);if(f!==f+0)throw f;Wd(1,0)}}
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -0,0 +1,171 @@
var CanvasKitInit = (() => {
var _scriptName = import.meta.url;
return (
function(moduleArg = {}) {
var moduleRtn;
var q=moduleArg,aa,ba,ca=new Promise((a,b)=>{aa=a;ba=b}),da="object"==typeof window,ea="function"==typeof importScripts;
(function(a){a.Jd=a.Jd||[];a.Jd.push(function(){a.MakeSWCanvasSurface=function(b){var c=b,d="undefined"!==typeof OffscreenCanvas&&c instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&c instanceof HTMLCanvasElement||d||(c=document.getElementById(b),c)))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.ge=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var d={width:b,height:c,colorType:a.ColorType.RGBA_8888,
alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},f=b*c*4,h=a._malloc(f);if(d=a.Surface._makeRasterDirect(d,h,4*b))d.ge=null,d.Ge=b,d.De=c,d.Ee=f,d.ne=h,d.getCanvas().clear(a.TRANSPARENT);return d};a.MakeRasterDirectSurface=function(b,c,d){return a.Surface._makeRasterDirect(b,c.byteOffset,d)};a.Surface.prototype.flush=function(b){a.Gd(this.Fd);this._flush();if(this.ge){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.ne,this.Ee);c=new ImageData(c,this.Ge,this.De);b?this.ge.getContext("2d").putImageData(c,
0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.ge.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=function(){this.ne&&a._free(this.ne);this.delete()};a.Gd=a.Gd||function(){};a.he=a.he||function(){return null}})})(q);
(function(a){a.Jd=a.Jd||[];a.Jd.push(function(){function b(k,p,t){return k&&k.hasOwnProperty(p)?k[p]:t}function c(k){var p=ha(ia);ia[p]=k;return p}function d(k){return k.naturalHeight||k.videoHeight||k.displayHeight||k.height}function f(k){return k.naturalWidth||k.videoWidth||k.displayWidth||k.width}function h(k,p,t,v){k.bindTexture(k.TEXTURE_2D,p);v||t.alphaType!==a.AlphaType.Premul||k.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return p}function n(k,p,t){t||p.alphaType!==a.AlphaType.Premul||
k.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);k.bindTexture(k.TEXTURE_2D,null)}a.GetWebGLContext=function(k,p){if(!k)throw"null canvas passed into makeWebGLContext";var t={alpha:b(p,"alpha",1),depth:b(p,"depth",1),stencil:b(p,"stencil",8),antialias:b(p,"antialias",0),premultipliedAlpha:b(p,"premultipliedAlpha",1),preserveDrawingBuffer:b(p,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(p,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(p,"failIfMajorPerformanceCaveat",
0),enableExtensionsByDefault:b(p,"enableExtensionsByDefault",1),explicitSwapControl:b(p,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(p,"renderViaOffscreenBackBuffer",0)};t.majorVersion=p&&p.majorVersion?p.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(t.explicitSwapControl)throw"explicitSwapControl is not supported";k=ja(k,t);if(!k)return 0;ka(k);x.Sd.getExtension("WEBGL_debug_renderer_info");return k};a.deleteContext=function(k){x===la[k]&&(x=null);"object"==typeof JSEvents&&
JSEvents.ef(la[k].Sd.canvas);la[k]&&la[k].Sd.canvas&&(la[k].Sd.canvas.Be=void 0);la[k]=null};a._setTextureCleanup({deleteTexture:function(k,p){var t=ia[p];t&&la[k].Sd.deleteTexture(t);ia[p]=null}});a.MakeWebGLContext=function(k){if(!this.Gd(k))return null;var p=this._MakeGrContext();if(!p)return null;p.Fd=k;var t=p.delete.bind(p);p["delete"]=function(){a.Gd(this.Fd);t()}.bind(p);return x.pe=p};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Gd(this.Fd);
this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Gd(this.Fd);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Gd(this.Fd);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(k){a.Gd(this.Fd);this._setResourceCacheLimitBytes(k)};a.MakeOnScreenGLSurface=function(k,p,t,v,z,A){if(!this.Gd(k.Fd))return null;p=void 0===z||void 0===A?
this._MakeOnScreenGLSurface(k,p,t,v):this._MakeOnScreenGLSurface(k,p,t,v,z,A);if(!p)return null;p.Fd=k.Fd;return p};a.MakeRenderTarget=function(){var k=arguments[0];if(!this.Gd(k.Fd))return null;if(3===arguments.length){var p=this._MakeRenderTargetWH(k,arguments[1],arguments[2]);if(!p)return null}else if(2===arguments.length){if(p=this._MakeRenderTargetII(k,arguments[1]),!p)return null}else return null;p.Fd=k.Fd;return p};a.MakeWebGLCanvasSurface=function(k,p,t){p=p||null;var v=k,z="undefined"!==
typeof OffscreenCanvas&&v instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&v instanceof HTMLCanvasElement||z||(v=document.getElementById(k),v)))throw"Canvas with id "+k+" was not found";k=this.GetWebGLContext(v,t);if(!k||0>k)throw"failed to create webgl context: err "+k;k=this.MakeWebGLContext(k);p=this.MakeOnScreenGLSurface(k,v.width,v.height,p);return p?p:(p=v.cloneNode(!0),v.parentNode.replaceChild(p,v),p.classList.add("ck-replaced"),a.MakeSWCanvasSurface(p))};a.MakeCanvasSurface=
a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(k,p){a.Gd(this.Fd);k=c(k);if(p=this._makeImageFromTexture(this.Fd,k,p))p.ae=k;return p};a.Surface.prototype.makeImageFromTextureSource=function(k,p,t){p||={height:d(k),width:f(k),colorType:a.ColorType.RGBA_8888,alphaType:t?a.AlphaType.Premul:a.AlphaType.Unpremul};p.colorSpace||(p.colorSpace=a.ColorSpace.SRGB);a.Gd(this.Fd);var v=x.Sd;t=h(v,v.createTexture(),p,t);2===x.version?v.texImage2D(v.TEXTURE_2D,0,v.RGBA,p.width,p.height,
0,v.RGBA,v.UNSIGNED_BYTE,k):v.texImage2D(v.TEXTURE_2D,0,v.RGBA,v.RGBA,v.UNSIGNED_BYTE,k);n(v,p);this._resetContext();return this.makeImageFromTexture(t,p)};a.Surface.prototype.updateTextureFromSource=function(k,p,t){if(k.ae){a.Gd(this.Fd);var v=k.getImageInfo(),z=x.Sd,A=h(z,ia[k.ae],v,t);2===x.version?z.texImage2D(z.TEXTURE_2D,0,z.RGBA,f(p),d(p),0,z.RGBA,z.UNSIGNED_BYTE,p):z.texImage2D(z.TEXTURE_2D,0,z.RGBA,z.RGBA,z.UNSIGNED_BYTE,p);n(z,v,t);this._resetContext();ia[k.ae]=null;k.ae=c(A);v.colorSpace=
k.getColorSpace();p=this._makeImageFromTexture(this.Fd,k.ae,v);t=k.Ed.Hd;z=k.Ed.Ld;k.Ed.Hd=p.Ed.Hd;k.Ed.Ld=p.Ed.Ld;p.Ed.Hd=t;p.Ed.Ld=z;p.delete();v.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(k,p,t){p||={height:d(k),width:f(k),colorType:a.ColorType.RGBA_8888,alphaType:t?a.AlphaType.Premul:a.AlphaType.Unpremul};p.colorSpace||(p.colorSpace=a.ColorSpace.SRGB);var v={makeTexture:function(){var z=x,A=z.Sd,E=h(A,A.createTexture(),p,t);2===z.version?A.texImage2D(A.TEXTURE_2D,0,A.RGBA,
p.width,p.height,0,A.RGBA,A.UNSIGNED_BYTE,k):A.texImage2D(A.TEXTURE_2D,0,A.RGBA,A.RGBA,A.UNSIGNED_BYTE,k);n(A,p,t);return c(E)},freeSrc:function(){}};"VideoFrame"===k.constructor.name&&(v.freeSrc=function(){k.close()});return a.Image._makeFromGenerator(p,v)};a.Gd=function(k){return k?ka(k):!1};a.he=function(){return x&&x.pe&&!x.pe.isDeleted()?x.pe:null}})})(q);
(function(a){function b(l){return(f(255*l[3])<<24|f(255*l[0])<<16|f(255*l[1])<<8|f(255*l[2])<<0)>>>0}function c(l){if(l&&l._ck)return l;if(l instanceof Float32Array){for(var e=Math.floor(l.length/4),g=new Uint32Array(e),m=0;m<e;m++)g[m]=b(l.slice(4*m,4*(m+1)));return g}if(l instanceof Uint32Array)return l;if(l instanceof Array&&l[0]instanceof Float32Array)return l.map(b)}function d(l){if(void 0===l)return 1;var e=parseFloat(l);return l&&-1!==l.indexOf("%")?e/100:e}function f(l){return Math.round(Math.max(0,
Math.min(l||0,255)))}function h(l,e){e&&e._ck||a._free(l)}function n(l,e,g){if(!l||!l.length)return 0;if(l&&l._ck)return l.byteOffset;var m=a[e].BYTES_PER_ELEMENT;g||=a._malloc(l.length*m);a[e].set(l,g/m);return g}function k(l){var e={Qd:0,count:l.length,colorType:a.ColorType.RGBA_F32};if(l instanceof Float32Array)e.Qd=n(l,"HEAPF32"),e.count=l.length/4;else if(l instanceof Uint32Array)e.Qd=n(l,"HEAPU32"),e.colorType=a.ColorType.RGBA_8888;else if(l instanceof Array){if(l&&l.length){for(var g=a._malloc(16*
l.length),m=0,r=g/4,u=0;u<l.length;u++)for(var w=0;4>w;w++)a.HEAPF32[r+m]=l[u][w],m++;l=g}else l=0;e.Qd=l}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof l;return e}function p(l){if(!l)return 0;var e=V.toTypedArray();if(l.length){if(6===l.length||9===l.length)return n(l,"HEAPF32",L),6===l.length&&a.HEAPF32.set(Oc,6+L/4),L;if(16===l.length)return e[0]=l[0],e[1]=l[1],e[2]=l[3],e[3]=l[4],e[4]=l[5],e[5]=l[7],e[6]=l[12],e[7]=l[13],e[8]=l[15],L;throw"invalid matrix size";
}if(void 0===l.m11)throw"invalid matrix argument";e[0]=l.m11;e[1]=l.m21;e[2]=l.m41;e[3]=l.m12;e[4]=l.m22;e[5]=l.m42;e[6]=l.m14;e[7]=l.m24;e[8]=l.m44;return L}function t(l){if(!l)return 0;var e=S.toTypedArray();if(l.length){if(16!==l.length&&6!==l.length&&9!==l.length)throw"invalid matrix size";if(16===l.length)return n(l,"HEAPF32",fa);e.fill(0);e[0]=l[0];e[1]=l[1];e[3]=l[2];e[4]=l[3];e[5]=l[4];e[7]=l[5];e[10]=1;e[12]=l[6];e[13]=l[7];e[15]=l[8];6===l.length&&(e[12]=0,e[13]=0,e[15]=1);return fa}if(void 0===
l.m11)throw"invalid matrix argument";e[0]=l.m11;e[1]=l.m21;e[2]=l.m31;e[3]=l.m41;e[4]=l.m12;e[5]=l.m22;e[6]=l.m32;e[7]=l.m42;e[8]=l.m13;e[9]=l.m23;e[10]=l.m33;e[11]=l.m43;e[12]=l.m14;e[13]=l.m24;e[14]=l.m34;e[15]=l.m44;return fa}function v(l,e){return n(l,"HEAPF32",e||Y)}function z(l,e,g,m){var r=ya.toTypedArray();r[0]=l;r[1]=e;r[2]=g;r[3]=m;return Y}function A(l){for(var e=new Float32Array(4),g=0;4>g;g++)e[g]=a.HEAPF32[l/4+g];return e}function E(l,e){return n(l,"HEAPF32",e||P)}function M(l,e){return n(l,
"HEAPF32",e||ob)}a.Color=function(l,e,g,m){void 0===m&&(m=1);return a.Color4f(f(l)/255,f(e)/255,f(g)/255,m)};a.ColorAsInt=function(l,e,g,m){void 0===m&&(m=255);return(f(m)<<24|f(l)<<16|f(e)<<8|f(g)<<0&268435455)>>>0};a.Color4f=function(l,e,g,m){void 0===m&&(m=1);return Float32Array.of(l,e,g,m)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,"WHITE",{get:function(){return a.Color4f(1,
1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,0,1,1)}});a.getColorComponents=function(l){return[Math.floor(255*
l[0]),Math.floor(255*l[1]),Math.floor(255*l[2]),l[3]]};a.parseColorString=function(l,e){l=l.toLowerCase();if(l.startsWith("#")){e=255;switch(l.length){case 9:e=parseInt(l.slice(7,9),16);case 7:var g=parseInt(l.slice(1,3),16);var m=parseInt(l.slice(3,5),16);var r=parseInt(l.slice(5,7),16);break;case 5:e=17*parseInt(l.slice(4,5),16);case 4:g=17*parseInt(l.slice(1,2),16),m=17*parseInt(l.slice(2,3),16),r=17*parseInt(l.slice(3,4),16)}return a.Color(g,m,r,e/255)}return l.startsWith("rgba")?(l=l.slice(5,
-1),l=l.split(","),a.Color(+l[0],+l[1],+l[2],d(l[3]))):l.startsWith("rgb")?(l=l.slice(4,-1),l=l.split(","),a.Color(+l[0],+l[1],+l[2],d(l[3]))):l.startsWith("gray(")||l.startsWith("hsl")||!e||(l=e[l],void 0===l)?a.BLACK:l};a.multiplyByAlpha=function(l,e){l=l.slice();l[3]=Math.max(0,Math.min(l[3]*e,1));return l};a.Malloc=function(l,e){var g=a._malloc(e*l.BYTES_PER_ELEMENT);return{_ck:!0,length:e,byteOffset:g,Xd:null,subarray:function(m,r){m=this.toTypedArray().subarray(m,r);m._ck=!0;return m},toTypedArray:function(){if(this.Xd&&
this.Xd.length)return this.Xd;this.Xd=new l(a.HEAPU8.buffer,g,e);this.Xd._ck=!0;return this.Xd}}};a.Free=function(l){a._free(l.byteOffset);l.byteOffset=0;l.toTypedArray=null;l.Xd=null};var L=0,V,fa=0,S,Y=0,ya,W,P=0,Nb,ra=0,Ob,pb=0,Pb,qb=0,Va,Ga=0,Qb,ob=0,Rb,Sb=0,Oc=Float32Array.of(0,0,1);a.onRuntimeInitialized=function(){function l(e,g,m,r,u,w,B){w||(w=4*r.width,r.colorType===a.ColorType.RGBA_F16?w*=2:r.colorType===a.ColorType.RGBA_F32&&(w*=4));var J=w*r.height;var F=u?u.byteOffset:a._malloc(J);if(B?
!e._readPixels(r,F,w,g,m,B):!e._readPixels(r,F,w,g,m))return u||a._free(F),null;if(u)return u.toTypedArray();switch(r.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:e=(new Uint8Array(a.HEAPU8.buffer,F,J)).slice();break;case a.ColorType.RGBA_F32:e=(new Float32Array(a.HEAPU8.buffer,F,J)).slice();break;default:return null}a._free(F);return e}ya=a.Malloc(Float32Array,4);Y=ya.byteOffset;S=a.Malloc(Float32Array,16);fa=S.byteOffset;V=a.Malloc(Float32Array,9);L=V.byteOffset;Qb=a.Malloc(Float32Array,
12);ob=Qb.byteOffset;Rb=a.Malloc(Float32Array,12);Sb=Rb.byteOffset;W=a.Malloc(Float32Array,4);P=W.byteOffset;Nb=a.Malloc(Float32Array,4);ra=Nb.byteOffset;Ob=a.Malloc(Float32Array,3);pb=Ob.byteOffset;Pb=a.Malloc(Float32Array,3);qb=Pb.byteOffset;Va=a.Malloc(Int32Array,4);Ga=Va.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds=
function(e){var g=n(e,"HEAPF32"),m=a.Path._MakeFromCmds(g,e.length);h(g,e);return m};a.Path.MakeFromVerbsPointsWeights=function(e,g,m){var r=n(e,"HEAPU8"),u=n(g,"HEAPF32"),w=n(m,"HEAPF32"),B=a.Path._MakeFromVerbsPointsWeights(r,e.length,u,g.length/2,w,m&&m.length||0);h(r,e);h(u,g);h(w,m);return B};a.PathBuilder.prototype.addArc=function(e,g,m){e=E(e);this._addArc(e,g,m);return this};a.PathBuilder.prototype.addCircle=function(e,g,m,r){this._addCircle(e,g,m,!!r);return this};a.PathBuilder.prototype.addOval=
function(e,g,m){void 0===m&&(m=1);e=E(e);this._addOval(e,!!g,m);return this};a.PathBuilder.prototype.addPath=function(){var e=Array.prototype.slice.call(arguments),g=e[0],m=!1;"boolean"===typeof e[e.length-1]&&(m=e.pop());if(1===e.length)this._addPath(g,1,0,0,0,1,0,0,0,1,m);else if(2===e.length)e=e[1],this._addPath(g,e[0],e[1],e[2],e[3],e[4],e[5],e[6]||0,e[7]||0,e[8]||1,m);else if(7===e.length||10===e.length)this._addPath(g,e[1],e[2],e[3],e[4],e[5],e[6],e[7]||0,e[8]||0,e[9]||1,m);else return null;
return this};a.PathBuilder.prototype.addPolygon=function(e,g){var m=n(e,"HEAPF32");this._addPolygon(m,e.length/2,g);h(m,e);return this};a.PathBuilder.prototype.addRect=function(e,g){e=E(e);this._addRect(e,!!g);return this};a.PathBuilder.prototype.addRRect=function(e,g){e=M(e);this._addRRect(e,!!g);return this};a.PathBuilder.prototype.addVerbsPointsWeights=function(e,g,m){var r=n(e,"HEAPU8"),u=n(g,"HEAPF32"),w=n(m,"HEAPF32");this._addVerbsPointsWeights(r,e.length,u,g.length/2,w,m&&m.length||0);h(r,
e);h(u,g);h(w,m);return this};a.PathBuilder.prototype.arc=function(e,g,m,r,u,w){e=a.LTRBRect(e-m,g-m,e+m,g+m);u=(u-r)/Math.PI*180-360*!!w;r=(new a.PathBuilder).addArc(e,r/Math.PI*180,u).detachAndDelete();this.addPath(r,!0);r.delete();return this};a.PathBuilder.prototype.arcToOval=function(e,g,m,r){e=E(e);this._arcToOval(e,g,m,r);return this};a.PathBuilder.prototype.arcToRotated=function(e,g,m,r,u,w,B){this._arcToRotated(e,g,m,!!r,!!u,w,B);return this};a.PathBuilder.prototype.arcToTangent=function(e,
g,m,r,u){this._arcToTangent(e,g,m,r,u);return this};a.PathBuilder.prototype.close=function(){this._close();return this};a.PathBuilder.prototype.conicTo=function(e,g,m,r,u){this._conicTo(e,g,m,r,u);return this};a.Path.prototype.computeTightBounds=function(e){this._computeTightBounds(P);var g=W.toTypedArray();return e?(e.set(g),e):g.slice()};a.PathBuilder.prototype.cubicTo=function(e,g,m,r,u,w){this._cubicTo(e,g,m,r,u,w);return this};a.PathBuilder.prototype.detachAndDelete=function(){var e=this.detach();
this.delete();return e};a.Path.prototype.getBounds=function(e){this._getBounds(P);var g=W.toTypedArray();return e?(e.set(g),e):g.slice()};a.PathBuilder.prototype.getBounds=function(e){this._getBounds(P);var g=W.toTypedArray();return e?(e.set(g),e):g.slice()};a.PathBuilder.prototype.lineTo=function(e,g){this._lineTo(e,g);return this};a.PathBuilder.prototype.moveTo=function(e,g){this._moveTo(e,g);return this};a.PathBuilder.prototype.offset=function(e,g){this._transform(1,0,e,0,1,g,0,0,1);return this};
a.PathBuilder.prototype.quadTo=function(e,g,m,r){this._quadTo(e,g,m,r);return this};a.PathBuilder.prototype.rArcTo=function(e,g,m,r,u,w,B){this._rArcTo(e,g,m,r,u,w,B);return this};a.PathBuilder.prototype.rConicTo=function(e,g,m,r,u){this._rConicTo(e,g,m,r,u);return this};a.PathBuilder.prototype.rCubicTo=function(e,g,m,r,u,w){this._rCubicTo(e,g,m,r,u,w);return this};a.PathBuilder.prototype.rLineTo=function(e,g){this._rLineTo(e,g);return this};a.PathBuilder.prototype.rMoveTo=function(e,g){this._rMoveTo(e,
g);return this};a.PathBuilder.prototype.rQuadTo=function(e,g,m,r){this._rQuadTo(e,g,m,r);return this};a.Path.prototype.makeStroked=function(e){e=e||{};e.width=e.width||1;e.miter_limit=e.miter_limit||4;e.cap=e.cap||a.StrokeCap.Butt;e.join=e.join||a.StrokeJoin.Miter;e.precision=e.precision||1;return this._makeStroked(e)};a.PathBuilder.prototype.transform=function(){if(1===arguments.length){var e=arguments[0];this._transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6]||0,e[7]||0,e[8]||1)}else if(6===arguments.length||
9===arguments.length)e=arguments,this._transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6]||0,e[7]||0,e[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.makeTrimmed=function(e,g,m){return this._makeTrimmed(e,g,!!m)};a.Image.prototype.encodeToBytes=function(e,g){var m=a.he();e=e||a.ImageFormat.PNG;g=g||100;return m?this._encodeToBytes(e,g,m):this._encodeToBytes(e,g)};a.Image.prototype.makeShaderCubic=function(e,g,m,r,u){u=p(u);return this._makeShaderCubic(e,
g,m,r,u)};a.Image.prototype.makeShaderOptions=function(e,g,m,r,u){u=p(u);return this._makeShaderOptions(e,g,m,r,u)};a.Image.prototype.readPixels=function(e,g,m,r,u){var w=a.he();return l(this,e,g,m,r,u,w)};a.Canvas.prototype.clear=function(e){a.Gd(this.Fd);e=v(e);this._clear(e)};a.Canvas.prototype.clipRRect=function(e,g,m){a.Gd(this.Fd);e=M(e);this._clipRRect(e,g,m)};a.Canvas.prototype.clipRect=function(e,g,m){a.Gd(this.Fd);e=E(e);this._clipRect(e,g,m)};a.Canvas.prototype.concat=function(e){a.Gd(this.Fd);
e=t(e);this._concat(e)};a.Canvas.prototype.drawArc=function(e,g,m,r,u){a.Gd(this.Fd);e=E(e);this._drawArc(e,g,m,r,u)};a.Canvas.prototype.drawAtlas=function(e,g,m,r,u,w,B){if(e&&r&&g&&m&&g.length===m.length){a.Gd(this.Fd);u||(u=a.BlendMode.SrcOver);var J=n(g,"HEAPF32"),F=n(m,"HEAPF32"),R=m.length/4,T=n(c(w),"HEAPU32");if(B&&"B"in B&&"C"in B)this._drawAtlasCubic(e,F,J,T,R,u,B.B,B.C,r);else{let sa=a.FilterMode.Linear,Ha=a.MipmapMode.None;B&&(sa=B.filter,"mipmap"in B&&(Ha=B.mipmap));this._drawAtlasOptions(e,
F,J,T,R,u,sa,Ha,r)}h(J,g);h(F,m);h(T,w)}};a.Canvas.prototype.drawCircle=function(e,g,m,r){a.Gd(this.Fd);this._drawCircle(e,g,m,r)};a.Canvas.prototype.drawColor=function(e,g){a.Gd(this.Fd);e=v(e);void 0!==g?this._drawColor(e,g):this._drawColor(e)};a.Canvas.prototype.drawColorInt=function(e,g){a.Gd(this.Fd);this._drawColorInt(e,g||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents=function(e,g,m,r,u){a.Gd(this.Fd);e=z(e,g,m,r);void 0!==u?this._drawColor(e,u):this._drawColor(e)};a.Canvas.prototype.drawDRRect=
function(e,g,m){a.Gd(this.Fd);e=M(e,ob);g=M(g,Sb);this._drawDRRect(e,g,m)};a.Canvas.prototype.drawImage=function(e,g,m,r){a.Gd(this.Fd);this._drawImage(e,g,m,r||null)};a.Canvas.prototype.drawImageCubic=function(e,g,m,r,u,w){a.Gd(this.Fd);this._drawImageCubic(e,g,m,r,u,w||null)};a.Canvas.prototype.drawImageOptions=function(e,g,m,r,u,w){a.Gd(this.Fd);this._drawImageOptions(e,g,m,r,u,w||null)};a.Canvas.prototype.drawImageNine=function(e,g,m,r,u){a.Gd(this.Fd);g=n(g,"HEAP32",Ga);m=E(m);this._drawImageNine(e,
g,m,r,u||null)};a.Canvas.prototype.drawImageRect=function(e,g,m,r,u){a.Gd(this.Fd);E(g,P);E(m,ra);this._drawImageRect(e,P,ra,r,!!u)};a.Canvas.prototype.drawImageRectCubic=function(e,g,m,r,u,w){a.Gd(this.Fd);E(g,P);E(m,ra);this._drawImageRectCubic(e,P,ra,r,u,w||null)};a.Canvas.prototype.drawImageRectOptions=function(e,g,m,r,u,w){a.Gd(this.Fd);E(g,P);E(m,ra);this._drawImageRectOptions(e,P,ra,r,u,w||null)};a.Canvas.prototype.drawLine=function(e,g,m,r,u){a.Gd(this.Fd);this._drawLine(e,g,m,r,u)};a.Canvas.prototype.drawOval=
function(e,g){a.Gd(this.Fd);e=E(e);this._drawOval(e,g)};a.Canvas.prototype.drawPaint=function(e){a.Gd(this.Fd);this._drawPaint(e)};a.Canvas.prototype.drawParagraph=function(e,g,m){a.Gd(this.Fd);this._drawParagraph(e,g,m)};a.Canvas.prototype.drawPatch=function(e,g,m,r,u){if(24>e.length)throw"Need 12 cubic points";if(g&&4>g.length)throw"Need 4 colors";if(m&&8>m.length)throw"Need 4 shader coordinates";a.Gd(this.Fd);const w=n(e,"HEAPF32"),B=g?n(c(g),"HEAPU32"):0,J=m?n(m,"HEAPF32"):0;r||(r=a.BlendMode.Modulate);
this._drawPatch(w,B,J,r,u);h(J,m);h(B,g);h(w,e)};a.Canvas.prototype.drawPath=function(e,g){a.Gd(this.Fd);this._drawPath(e,g)};a.Canvas.prototype.drawPicture=function(e){a.Gd(this.Fd);this._drawPicture(e)};a.Canvas.prototype.drawPoints=function(e,g,m){a.Gd(this.Fd);var r=n(g,"HEAPF32");this._drawPoints(e,r,g.length/2,m);h(r,g)};a.Canvas.prototype.drawRRect=function(e,g){a.Gd(this.Fd);e=M(e);this._drawRRect(e,g)};a.Canvas.prototype.drawRect=function(e,g){a.Gd(this.Fd);e=E(e);this._drawRect(e,g)};a.Canvas.prototype.drawRect4f=
function(e,g,m,r,u){a.Gd(this.Fd);this._drawRect4f(e,g,m,r,u)};a.Canvas.prototype.drawShadow=function(e,g,m,r,u,w,B){a.Gd(this.Fd);var J=n(u,"HEAPF32"),F=n(w,"HEAPF32");g=n(g,"HEAPF32",pb);m=n(m,"HEAPF32",qb);this._drawShadow(e,g,m,r,J,F,B);h(J,u);h(F,w)};a.getShadowLocalBounds=function(e,g,m,r,u,w,B){e=p(e);m=n(m,"HEAPF32",pb);r=n(r,"HEAPF32",qb);if(!this._getShadowLocalBounds(e,g,m,r,u,w,P))return null;g=W.toTypedArray();return B?(B.set(g),B):g.slice()};a.Canvas.prototype.drawTextBlob=function(e,
g,m,r){a.Gd(this.Fd);this._drawTextBlob(e,g,m,r)};a.Canvas.prototype.drawVertices=function(e,g,m){a.Gd(this.Fd);this._drawVertices(e,g,m)};a.Canvas.prototype.getDeviceClipBounds=function(e){this._getDeviceClipBounds(Ga);var g=Va.toTypedArray();e?e.set(g):e=g.slice();return e};a.Canvas.prototype.quickReject=function(e){e=E(e);return this._quickReject(e)};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(fa);for(var e=fa,g=Array(16),m=0;16>m;m++)g[m]=a.HEAPF32[e/4+m];return g};a.Canvas.prototype.getTotalMatrix=
function(){this._getTotalMatrix(L);for(var e=Array(9),g=0;9>g;g++)e[g]=a.HEAPF32[L/4+g];return e};a.Canvas.prototype.makeSurface=function(e){e=this._makeSurface(e);e.Fd=this.Fd;return e};a.Canvas.prototype.readPixels=function(e,g,m,r,u){a.Gd(this.Fd);return l(this,e,g,m,r,u)};a.Canvas.prototype.saveLayer=function(e,g,m,r,u){g=E(g);return this._saveLayer(e||null,g,m||null,r||0,u||a.TileMode.Clamp)};a.Canvas.prototype.writePixels=function(e,g,m,r,u,w,B,J){if(e.byteLength%(g*m))throw"pixels length must be a multiple of the srcWidth * srcHeight";
a.Gd(this.Fd);var F=e.byteLength/(g*m);w=w||a.AlphaType.Unpremul;B=B||a.ColorType.RGBA_8888;J=J||a.ColorSpace.SRGB;var R=F*g;F=n(e,"HEAPU8");g=this._writePixels({width:g,height:m,colorType:B,alphaType:w,colorSpace:J},F,R,r,u);h(F,e);return g};a.ColorFilter.MakeBlend=function(e,g,m){e=v(e);m=m||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(e,g,m)};a.ColorFilter.MakeMatrix=function(e){if(!e||20!==e.length)throw"invalid color matrix";var g=n(e,"HEAPF32"),m=a.ColorFilter._makeMatrix(g);h(g,e);return m};
a.ContourMeasure.prototype.getPosTan=function(e,g){this._getPosTan(e,P);e=W.toTypedArray();return g?(g.set(e),g):e.slice()};a.ImageFilter.prototype.getOutputBounds=function(e,g,m){e=E(e,P);g=p(g);this._getOutputBounds(e,g,Ga);g=Va.toTypedArray();return m?(m.set(g),m):g.slice()};a.ImageFilter.MakeDropShadow=function(e,g,m,r,u,w){u=v(u,Y);return a.ImageFilter._MakeDropShadow(e,g,m,r,u,w)};a.ImageFilter.MakeDropShadowOnly=function(e,g,m,r,u,w){u=v(u,Y);return a.ImageFilter._MakeDropShadowOnly(e,g,m,
r,u,w)};a.ImageFilter.MakeImage=function(e,g,m,r){m=E(m,P);r=E(r,ra);if("B"in g&&"C"in g)return a.ImageFilter._MakeImageCubic(e,g.B,g.C,m,r);const u=g.filter;let w=a.MipmapMode.None;"mipmap"in g&&(w=g.mipmap);return a.ImageFilter._MakeImageOptions(e,u,w,m,r)};a.ImageFilter.MakeMatrixTransform=function(e,g,m){e=p(e);if("B"in g&&"C"in g)return a.ImageFilter._MakeMatrixTransformCubic(e,g.B,g.C,m);const r=g.filter;let u=a.MipmapMode.None;"mipmap"in g&&(u=g.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(e,
r,u,m)};a.Paint.prototype.getColor=function(){this._getColor(Y);return A(Y)};a.Paint.prototype.setColor=function(e,g){g=g||null;e=v(e);this._setColor(e,g)};a.Paint.prototype.setColorComponents=function(e,g,m,r,u){u=u||null;e=z(e,g,m,r);this._setColor(e,u)};a.Path.prototype.getPoint=function(e,g){this._getPoint(e,P);e=W.toTypedArray();return g?(g[0]=e[0],g[1]=e[1],g):e.slice(0,2)};a.Picture.prototype.makeShader=function(e,g,m,r,u){r=p(r);u=E(u);return this._makeShader(e,g,m,r,u)};a.Picture.prototype.cullRect=
function(e){this._cullRect(P);var g=W.toTypedArray();return e?(e.set(g),e):g.slice()};a.PictureRecorder.prototype.beginRecording=function(e,g){e=E(e);return this._beginRecording(e,!!g)};a.Surface.prototype.getCanvas=function(){var e=this._getCanvas();e.Fd=this.Fd;return e};a.Surface.prototype.makeImageSnapshot=function(e){a.Gd(this.Fd);e=n(e,"HEAP32",Ga);return this._makeImageSnapshot(e)};a.Surface.prototype.makeSurface=function(e){a.Gd(this.Fd);e=this._makeSurface(e);e.Fd=this.Fd;return e};a.Surface.prototype.Fe=
function(e,g){this.$d||(this.$d=this.getCanvas());return requestAnimationFrame(function(){a.Gd(this.Fd);e(this.$d);this.flush(g)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.Fe);a.Surface.prototype.Ce=function(e,g){this.$d||(this.$d=this.getCanvas());requestAnimationFrame(function(){a.Gd(this.Fd);e(this.$d);this.flush(g);this.dispose()}.bind(this))};a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.Ce);
a.PathEffect.MakeDash=function(e,g){g||=0;if(!e.length||1===e.length%2)throw"Intervals array must have even length";var m=n(e,"HEAPF32");g=a.PathEffect._MakeDash(m,e.length,g);h(m,e);return g};a.PathEffect.MakeLine2D=function(e,g){g=p(g);return a.PathEffect._MakeLine2D(e,g)};a.PathEffect.MakePath2D=function(e,g){e=p(e);return a.PathEffect._MakePath2D(e,g)};a.Shader.MakeColor=function(e,g){g=g||null;e=v(e);return a.Shader._MakeColor(e,g)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;
a.Shader.MakeLinearGradient=function(e,g,m,r,u,w,B,J){J=J||null;var F=k(m),R=n(r,"HEAPF32");B=B||0;w=p(w);var T=W.toTypedArray();T.set(e);T.set(g,2);e=a.Shader._MakeLinearGradient(P,F.Qd,F.colorType,R,F.count,u,B,w,J);h(F.Qd,m);r&&h(R,r);return e};a.Shader.MakeRadialGradient=function(e,g,m,r,u,w,B,J){J=J||null;var F=k(m),R=n(r,"HEAPF32");B=B||0;w=p(w);e=a.Shader._MakeRadialGradient(e[0],e[1],g,F.Qd,F.colorType,R,F.count,u,B,w,J);h(F.Qd,m);r&&h(R,r);return e};a.Shader.MakeSweepGradient=function(e,
g,m,r,u,w,B,J,F,R){R=R||null;var T=k(m),sa=n(r,"HEAPF32");B=B||0;J=J||0;F=F||360;w=p(w);e=a.Shader._MakeSweepGradient(e,g,T.Qd,T.colorType,sa,T.count,u,J,F,B,w,R);h(T.Qd,m);r&&h(sa,r);return e};a.Shader.MakeTwoPointConicalGradient=function(e,g,m,r,u,w,B,J,F,R){R=R||null;var T=k(u),sa=n(w,"HEAPF32");F=F||0;J=p(J);var Ha=W.toTypedArray();Ha.set(e);Ha.set(m,2);e=a.Shader._MakeTwoPointConicalGradient(P,g,r,T.Qd,T.colorType,sa,T.count,B,F,J,R);h(T.Qd,u);w&&h(sa,w);return e};a.Vertices.prototype.bounds=
function(e){this._bounds(P);var g=W.toTypedArray();return e?(e.set(g),e):g.slice()};a.Jd&&a.Jd.forEach(function(e){e()})};a.computeTonalColors=function(l){var e=n(l.ambient,"HEAPF32"),g=n(l.spot,"HEAPF32");this._computeTonalColors(e,g);var m={ambient:A(e),spot:A(g)};h(e,l.ambient);h(g,l.spot);return m};a.LTRBRect=function(l,e,g,m){return Float32Array.of(l,e,g,m)};a.XYWHRect=function(l,e,g,m){return Float32Array.of(l,e,l+g,e+m)};a.LTRBiRect=function(l,e,g,m){return Int32Array.of(l,e,g,m)};a.XYWHiRect=
function(l,e,g,m){return Int32Array.of(l,e,l+g,e+m)};a.RRectXY=function(l,e,g){return Float32Array.of(l[0],l[1],l[2],l[3],e,g,e,g,e,g,e,g)};a.MakeAnimatedImageFromEncoded=function(l){l=new Uint8Array(l);var e=a._malloc(l.byteLength);a.HEAPU8.set(l,e);return(l=a._decodeAnimatedImage(e,l.byteLength))?l:null};a.MakeImageFromEncoded=function(l){l=new Uint8Array(l);var e=a._malloc(l.byteLength);a.HEAPU8.set(l,e);return(l=a._decodeImage(e,l.byteLength))?l:null};var Wa=null;a.MakeImageFromCanvasImageSource=
function(l){var e=l.width,g=l.height;Wa||=document.createElement("canvas");Wa.width=e;Wa.height=g;var m=Wa.getContext("2d",{willReadFrequently:!0});m.drawImage(l,0,0);l=m.getImageData(0,0,e,g);return a.MakeImage({width:e,height:g,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},l.data,4*e)};a.MakeImage=function(l,e,g){var m=a._malloc(e.length);a.HEAPU8.set(e,m);return a._MakeImage(l,m,e.length,g)};a.MakeVertices=function(l,e,g,m,r,u){var w=r&&r.length||
0,B=0;g&&g.length&&(B|=1);m&&m.length&&(B|=2);void 0===u||u||(B|=4);l=new a._VerticesBuilder(l,e.length/2,w,B);n(e,"HEAPF32",l.positions());l.texCoords()&&n(g,"HEAPF32",l.texCoords());l.colors()&&n(c(m),"HEAPU32",l.colors());l.indices()&&n(r,"HEAPU16",l.indices());return l.detach()};(function(l){l.Jd=l.Jd||[];l.Jd.push(function(){l.Bidi.getBidiRegions=function(e,g){if((e=l.Bidi._getBidiRegions(e,g===l.TextDirection.LTR?1:0))&&e.length){g=[];for(let m=0;m<e.length;m+=3)g.push({start:e[m],end:e[m+1],
level:e[m+2]});e=g}else e=[];return e};l.Bidi.reorderVisual=function(e){var g=n(e,"HEAPU8"),m=l.Bidi._reorderVisual(g,e&&e.length||0);h(g,e);if(m&&m.length){e=[];for(g=0;g<m.length;g+=1)e.push({index:m[g]});m=e}else m=[];return m};l.CodeUnits.compute=function(e){if((e=l.CodeUnits._compute(e))&&e.length){var g=[];for(let m=0;m<e.length;m+=1)g.push({flags:e[m]});e=g}else e=[];return e};l.TextDirection||(l.TextDirection={LTR:{value:1},RTL:{value:0}})})})(q);a.Jd=a.Jd||[];a.Jd.push(function(){});a.Jd=
a.Jd||[];a.Jd.push(function(){a.MakePicture=function(l){l=new Uint8Array(l);var e=a._malloc(l.byteLength);a.HEAPU8.set(l,e);return(l=a._MakePicture(e,l.byteLength))?l:null}});a.Jd=a.Jd||[];a.Jd.push(function(){a.RuntimeEffect.Make=function(l,e){return a.RuntimeEffect._Make(l,{onError:e||function(g){console.log("RuntimeEffect error",g)}})};a.RuntimeEffect.MakeForBlender=function(l,e){return a.RuntimeEffect._MakeForBlender(l,{onError:e||function(g){console.log("RuntimeEffect error",g)}})};a.RuntimeEffect.prototype.makeShader=
function(l,e){var g=!l._ck,m=n(l,"HEAPF32");e=p(e);return this._makeShader(m,4*l.length,g,e)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(l,e,g){var m=!l._ck,r=n(l,"HEAPF32");g=p(g);for(var u=[],w=0;w<e.length;w++)u.push(e[w].Ed.Hd);e=n(u,"HEAPU32");return this._makeShaderWithChildren(r,4*l.length,m,e,u.length,g)};a.RuntimeEffect.prototype.makeBlender=function(l){var e=!l._ck,g=n(l,"HEAPF32");return this._makeBlender(g,4*l.length,e)}})})(q);var ma=Object.assign({},q),na="",oa,pa;
if(da||ea)ea?na=self.location.href:"undefined"!=typeof document&&document.currentScript&&(na=document.currentScript.src),_scriptName&&(na=_scriptName),na.startsWith("blob:")?na="":na=na.substr(0,na.replace(/[?#].*/,"").lastIndexOf("/")+1),ea&&(pa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),oa=a=>fetch(a,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(Error(b.status+" : "+b.url)));
var qa=console.log.bind(console),ta=console.error.bind(console);Object.assign(q,ma);ma=null;var ua,va=!1,wa,y,xa,za,C,D,G,Aa;function Ba(){var a=ua.buffer;q.HEAP8=wa=new Int8Array(a);q.HEAP16=xa=new Int16Array(a);q.HEAPU8=y=new Uint8Array(a);q.HEAPU16=za=new Uint16Array(a);q.HEAP32=C=new Int32Array(a);q.HEAPU32=D=new Uint32Array(a);q.HEAPF32=G=new Float32Array(a);q.HEAPF64=Aa=new Float64Array(a)}var Ca=[],Da=[],Ea=[],Fa=0,Ia=null,Ja=null;
function Ka(a){a="Aborted("+a+")";ta(a);va=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}var La=a=>a.startsWith("data:application/octet-stream;base64,"),Ma;function Na(a){return oa(a).then(b=>new Uint8Array(b),()=>{if(pa)var b=pa(a);else throw"both async and sync fetching of the wasm failed";return b})}function Oa(a,b,c){return Na(a).then(d=>WebAssembly.instantiate(d,b)).then(c,d=>{ta(`failed to asynchronously prepare wasm: ${d}`);Ka(d)})}
function Pa(a,b){var c=Ma;return"function"!=typeof WebAssembly.instantiateStreaming||La(c)||"function"!=typeof fetch?Oa(c,a,b):fetch(c,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,a).then(b,function(f){ta(`wasm streaming compile failed: ${f}`);ta("falling back to ArrayBuffer instantiation");return Oa(c,a,b)}))}function Qa(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}var Ra=a=>{a.forEach(b=>b(q))},Sa=q.noExitRuntime||!0;
class Ta{constructor(a){this.Hd=a-24}}var Ua=0,Xa=0,Ya={},Za=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function $a(a){return this.fromWireType(D[a>>2])}
var ab={},bb={},cb={},db,fb=(a,b,c)=>{function d(k){k=c(k);if(k.length!==a.length)throw new db("Mismatched type converter count");for(var p=0;p<a.length;++p)eb(a[p],k[p])}a.forEach(k=>cb[k]=b);var f=Array(b.length),h=[],n=0;b.forEach((k,p)=>{bb.hasOwnProperty(k)?f[p]=bb[k]:(h.push(k),ab.hasOwnProperty(k)||(ab[k]=[]),ab[k].push(()=>{f[p]=bb[k];++n;n===h.length&&d(f)}))});0===h.length&&d(f)},gb,H=a=>{for(var b="";y[a];)b+=gb[y[a++]];return b},I;
function hb(a,b,c={}){var d=b.name;if(!a)throw new I(`type "${d}" must have a positive integer typeid pointer`);if(bb.hasOwnProperty(a)){if(c.Re)return;throw new I(`Cannot register type '${d}' twice`);}bb[a]=b;delete cb[a];ab.hasOwnProperty(a)&&(b=ab[a],delete ab[a],b.forEach(f=>f()))}function eb(a,b,c={}){return hb(a,b,c)}
var ib=a=>{throw new I(a.Ed.Kd.Id.name+" instance already deleted");},jb=!1,kb=()=>{},lb=(a,b,c)=>{if(b===c)return a;if(void 0===c.Nd)return null;a=lb(a,b,c.Nd);return null===a?null:c.Je(a)},mb={},nb={},rb=(a,b)=>{if(void 0===b)throw new I("ptr should not be undefined");for(;a.Nd;)b=a.ee(b),a=a.Nd;return nb[b]},tb=(a,b)=>{if(!b.Kd||!b.Hd)throw new db("makeClassHandle requires ptr and ptrType");if(!!b.Od!==!!b.Ld)throw new db("Both smartPtrType and smartPtr must be specified");b.count={value:1};return sb(Object.create(a,
{Ed:{value:b,writable:!0}}))},sb=a=>{if("undefined"===typeof FinalizationRegistry)return sb=b=>b,a;jb=new FinalizationRegistry(b=>{b=b.Ed;--b.count.value;0===b.count.value&&(b.Ld?b.Od.Ud(b.Ld):b.Kd.Id.Ud(b.Hd))});sb=b=>{var c=b.Ed;c.Ld&&jb.register(b,{Ed:c},b);return b};kb=b=>{jb.unregister(b)};return sb(a)},ub=[];function vb(){}
var wb=(a,b)=>Object.defineProperty(b,"name",{value:a}),xb=(a,b,c)=>{if(void 0===a[b].Md){var d=a[b];a[b]=function(...f){if(!a[b].Md.hasOwnProperty(f.length))throw new I(`Function '${c}' called with an invalid number of arguments (${f.length}) - expects one of (${a[b].Md})!`);return a[b].Md[f.length].apply(this,f)};a[b].Md=[];a[b].Md[d.Vd]=d}},yb=(a,b,c)=>{if(q.hasOwnProperty(a)){if(void 0===c||void 0!==q[a].Md&&void 0!==q[a].Md[c])throw new I(`Cannot register public name '${a}' twice`);xb(q,a,a);
if(q[a].Md.hasOwnProperty(c))throw new I(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);q[a].Md[c]=b}else q[a]=b,q[a].Vd=c},zb=a=>{a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Ab(a,b,c,d,f,h,n,k){this.name=a;this.constructor=b;this.Zd=c;this.Ud=d;this.Nd=f;this.Me=h;this.ee=n;this.Je=k;this.Ue=[]}
var Bb=(a,b,c)=>{for(;b!==c;){if(!b.ee)throw new I(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);a=b.ee(a);b=b.Nd}return a};function Cb(a,b){if(null===b){if(this.qe)throw new I(`null is not a valid ${this.name}`);return 0}if(!b.Ed)throw new I(`Cannot pass "${Db(b)}" as a ${this.name}`);if(!b.Ed.Hd)throw new I(`Cannot pass deleted object as a pointer of type ${this.name}`);return Bb(b.Ed.Hd,b.Ed.Kd.Id,this.Id)}
function Eb(a,b){if(null===b){if(this.qe)throw new I(`null is not a valid ${this.name}`);if(this.je){var c=this.re();null!==a&&a.push(this.Ud,c);return c}return 0}if(!b||!b.Ed)throw new I(`Cannot pass "${Db(b)}" as a ${this.name}`);if(!b.Ed.Hd)throw new I(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.ie&&b.Ed.Kd.ie)throw new I(`Cannot convert argument of type ${b.Ed.Od?b.Ed.Od.name:b.Ed.Kd.name} to parameter type ${this.name}`);c=Bb(b.Ed.Hd,b.Ed.Kd.Id,this.Id);if(this.je){if(void 0===
b.Ed.Ld)throw new I("Passing raw pointer to smart pointer is illegal");switch(this.Ze){case 0:if(b.Ed.Od===this)c=b.Ed.Ld;else throw new I(`Cannot convert argument of type ${b.Ed.Od?b.Ed.Od.name:b.Ed.Kd.name} to parameter type ${this.name}`);break;case 1:c=b.Ed.Ld;break;case 2:if(b.Ed.Od===this)c=b.Ed.Ld;else{var d=b.clone();c=this.Ve(c,Fb(()=>d["delete"]()));null!==a&&a.push(this.Ud,c)}break;default:throw new I("Unsupporting sharing policy");}}return c}
function Gb(a,b){if(null===b){if(this.qe)throw new I(`null is not a valid ${this.name}`);return 0}if(!b.Ed)throw new I(`Cannot pass "${Db(b)}" as a ${this.name}`);if(!b.Ed.Hd)throw new I(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.Ed.Kd.ie)throw new I(`Cannot convert argument of type ${b.Ed.Kd.name} to parameter type ${this.name}`);return Bb(b.Ed.Hd,b.Ed.Kd.Id,this.Id)}
function Hb(a,b,c,d,f,h,n,k,p,t,v){this.name=a;this.Id=b;this.qe=c;this.ie=d;this.je=f;this.Te=h;this.Ze=n;this.ye=k;this.re=p;this.Ve=t;this.Ud=v;f||void 0!==b.Nd?this.toWireType=Eb:(this.toWireType=d?Cb:Gb,this.Rd=null)}
var Ib=(a,b,c)=>{if(!q.hasOwnProperty(a))throw new db("Replacing nonexistent public symbol");void 0!==q[a].Md&&void 0!==c?q[a].Md[c]=b:(q[a]=b,q[a].Vd=c)},K,Jb=(a,b,c=[])=>{a.includes("j")?(a=a.replace(/p/g,"i"),b=(0,q["dynCall_"+a])(b,...c)):b=K.get(b)(...c);return b},Kb=(a,b)=>(...c)=>Jb(a,b,c),N=(a,b)=>{a=H(a);var c=a.includes("j")?Kb(a,b):K.get(b);if("function"!=typeof c)throw new I(`unknown function pointer with signature ${a}: ${b}`);return c},Lb,Ub=a=>{a=Mb(a);var b=H(a);Tb(a);return b},Vb=
(a,b)=>{function c(h){f[h]||bb[h]||(cb[h]?cb[h].forEach(c):(d.push(h),f[h]=!0))}var d=[],f={};b.forEach(c);throw new Lb(`${a}: `+d.map(Ub).join([", "]));};function Wb(a){for(var b=1;b<a.length;++b)if(null!==a[b]&&void 0===a[b].Rd)return!0;return!1}
function Xb(a,b,c,d,f){var h=b.length;if(2>h)throw new I("argTypes array size mismatch! Must at least get return value and 'this' types!");var n=null!==b[1]&&null!==c,k=Wb(b),p="void"!==b[0].name,t=h-2,v=Array(t),z=[],A=[];return wb(a,function(...E){A.length=0;z.length=n?2:1;z[0]=f;if(n){var M=b[1].toWireType(A,this);z[1]=M}for(var L=0;L<t;++L)v[L]=b[L+2].toWireType(A,E[L]),z.push(v[L]);E=d(...z);if(k)Za(A);else for(L=n?1:2;L<b.length;L++){var V=1===L?M:v[L-2];null!==b[L].Rd&&b[L].Rd(V)}M=p?b[0].fromWireType(E):
void 0;return M})}
var Yb=(a,b)=>{for(var c=[],d=0;d<a;d++)c.push(D[b+4*d>>2]);return c},Zb=a=>{a=a.trim();const b=a.indexOf("(");return-1!==b?a.substr(0,b):a},$b=[],ac=[],bc=a=>{9<a&&0===--ac[a+1]&&(ac[a]=void 0,$b.push(a))},cc=a=>{if(!a)throw new I("Cannot use deleted val. handle = "+a);return ac[a]},Fb=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=$b.pop()||ac.length;ac[b]=a;ac[b+1]=1;return b}},dc={name:"emscripten::val",fromWireType:a=>{var b=cc(a);bc(a);
return b},toWireType:(a,b)=>Fb(b),Pd:8,readValueFromPointer:$a,Rd:null},ec=(a,b,c)=>{switch(b){case 1:return c?function(d){return this.fromWireType(wa[d])}:function(d){return this.fromWireType(y[d])};case 2:return c?function(d){return this.fromWireType(xa[d>>1])}:function(d){return this.fromWireType(za[d>>1])};case 4:return c?function(d){return this.fromWireType(C[d>>2])}:function(d){return this.fromWireType(D[d>>2])};default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},fc=(a,b)=>
{var c=bb[a];if(void 0===c)throw a=`${b} has unknown type ${Ub(a)}`,new I(a);return c},Db=a=>{if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a},gc=(a,b)=>{switch(b){case 4:return function(c){return this.fromWireType(G[c>>2])};case 8:return function(c){return this.fromWireType(Aa[c>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}},hc=(a,b,c)=>{switch(b){case 1:return c?d=>wa[d]:d=>y[d];case 2:return c?d=>xa[d>>1]:d=>za[d>>
1];case 4:return c?d=>C[d>>2]:d=>D[d>>2];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},ic=(a,b,c)=>{var d=y;if(!(0<c))return 0;var f=b;c=b+c-1;for(var h=0;h<a.length;++h){var n=a.charCodeAt(h);if(55296<=n&&57343>=n){var k=a.charCodeAt(++h);n=65536+((n&1023)<<10)|k&1023}if(127>=n){if(b>=c)break;d[b++]=n}else{if(2047>=n){if(b+1>=c)break;d[b++]=192|n>>6}else{if(65535>=n){if(b+2>=c)break;d[b++]=224|n>>12}else{if(b+3>=c)break;d[b++]=240|n>>18;d[b++]=128|n>>12&63}d[b++]=128|n>>6&
63}d[b++]=128|n&63}}d[b]=0;return b-f},jc=a=>{for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},kc="undefined"!=typeof TextDecoder?new TextDecoder:void 0,lc=(a,b=0,c=NaN)=>{var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&kc)return kc.decode(a.subarray(b,c));for(d="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|h);else{var n=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|n:
(f&7)<<18|h<<12|n<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d},mc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,nc=(a,b)=>{var c=a>>1;for(var d=c+b/2;!(c>=d)&&za[c];)++c;c<<=1;if(32<c-a&&mc)return mc.decode(y.subarray(a,c));c="";for(d=0;!(d>=b/2);++d){var f=xa[a+2*d>>1];if(0==f)break;c+=String.fromCharCode(f)}return c},oc=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=
b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)xa[b>>1]=a.charCodeAt(f),b+=2;xa[b>>1]=0;return b-d},pc=a=>2*a.length,qc=(a,b)=>{for(var c=0,d="";!(c>=b/4);){var f=C[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d},rc=(a,b,c)=>{c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var h=a.charCodeAt(f);if(55296<=h&&57343>=h){var n=a.charCodeAt(++f);h=65536+((h&1023)<<10)|n&1023}C[b>>2]=h;b+=
4;if(b+4>c)break}C[b>>2]=0;return b-d},sc=a=>{for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b},tc=(a,b,c)=>{var d=[];a=a.toWireType(d,c);d.length&&(D[b>>2]=Fb(d));return a},uc=[],vc={},wc=a=>{var b=vc[a];return void 0===b?H(a):b},xc=()=>{function a(b){b.$$$embind_global$$$=b;var c="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;c||delete b.$$$embind_global$$$;return c}if("object"==typeof globalThis)return globalThis;if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;
"object"==typeof global&&a(global)?$$$embind_global$$$=global:"object"==typeof self&&a(self)&&($$$embind_global$$$=self);if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object.");},yc=a=>{var b=uc.length;uc.push(a);return b},zc=(a,b)=>{for(var c=Array(a),d=0;d<a;++d)c[d]=fc(D[b+4*d>>2],"parameter "+d);return c},Ac=Reflect.construct,O,Bc=a=>{var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=(c,d)=>b.vertexAttribDivisorANGLE(c,
d),a.drawArraysInstanced=(c,d,f,h)=>b.drawArraysInstancedANGLE(c,d,f,h),a.drawElementsInstanced=(c,d,f,h,n)=>b.drawElementsInstancedANGLE(c,d,f,h,n))},Cc=a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=c=>b.deleteVertexArrayOES(c),a.bindVertexArray=c=>b.bindVertexArrayOES(c),a.isVertexArray=c=>b.isVertexArrayOES(c))},Dc=a=>{var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=(c,d)=>b.drawBuffersWEBGL(c,d))},Ec=a=>
{var b="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");
return(a.getSupportedExtensions()||[]).filter(c=>b.includes(c))},Fc=1,Gc=[],Hc=[],Ic=[],Jc=[],ia=[],Kc=[],Lc=[],la=[],Q=[],Mc=[],Nc=[],Pc={},Qc={},Rc=4,Sc=0,ha=a=>{for(var b=Fc++,c=a.length;c<b;c++)a[c]=null;return b},Tc=(a,b,c,d)=>{for(var f=0;f<a;f++){var h=O[c](),n=h&&ha(d);h?(h.name=n,d[n]=h):U||=1282;C[b+4*f>>2]=n}},ja=(a,b)=>{a.te||(a.te=a.getContext,a.getContext=function(d,f){f=a.te(d,f);return"webgl"==d==f instanceof WebGLRenderingContext?f:null});var c=1<b.majorVersion?a.getContext("webgl2",
b):a.getContext("webgl",b);return c?Uc(c,b):0},Uc=(a,b)=>{var c=ha(la),d={handle:c,attributes:b,version:b.majorVersion,Sd:a};a.canvas&&(a.canvas.Be=d);la[c]=d;("undefined"==typeof b.Ke||b.Ke)&&Vc(d);return c},ka=a=>{x=la[a];q.$e=O=x?.Sd;return!(a&&!O)},Vc=a=>{a||=x;if(!a.Se){a.Se=!0;var b=a.Sd;b.df=b.getExtension("WEBGL_multi_draw");b.bf=b.getExtension("EXT_polygon_offset_clamp");b.af=b.getExtension("EXT_clip_control");b.ff=b.getExtension("WEBGL_polygon_mode");Bc(b);Cc(b);Dc(b);b.ve=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");
b.xe=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.Td=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.Td)b.Td=b.getExtension("EXT_disjoint_timer_query");Ec(b).forEach(c=>{c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}},x,U,Wc=(a,b)=>{O.bindFramebuffer(a,Ic[b])},Xc=a=>{O.bindVertexArray(Lc[a])},Yc=a=>O.clear(a),Zc=(a,b,c,d)=>O.clearColor(a,b,c,d),$c=a=>O.clearStencil(a),ad=(a,b)=>{for(var c=0;c<a;c++){var d=C[b+
4*c>>2];O.deleteVertexArray(Lc[d]);Lc[d]=null}},bd=[],cd=(a,b)=>{Tc(a,b,"createVertexArray",Lc)};function dd(){var a=Ec(O);return a=a.concat(a.map(b=>"GL_"+b))}
var ed=(a,b,c)=>{if(b){var d=void 0;switch(a){case 36346:d=1;break;case 36344:0!=c&&1!=c&&(U||=1280);return;case 34814:case 36345:d=0;break;case 34466:var f=O.getParameter(34467);d=f?f.length:0;break;case 33309:if(2>x.version){U||=1282;return}d=dd().length;break;case 33307:case 33308:if(2>x.version){U||=1280;return}d=33307==a?3:0}if(void 0===d)switch(f=O.getParameter(a),typeof f){case "number":d=f;break;case "boolean":d=f?1:0;break;case "string":U||=1280;return;case "object":if(null===f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:d=
0;break;default:U||=1280;return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a<f.length;++a)switch(c){case 0:C[b+4*a>>2]=f[a];break;case 2:G[b+4*a>>2]=f[a];break;case 4:wa[b+a]=f[a]?1:0}return}try{d=f.name|0}catch(h){U||=1280;ta(`GL_INVALID_ENUM in glGet${c}v: Unknown object returned from WebGL getParameter(${a})! (error: ${h})`);return}}break;default:U||=1280;ta(`GL_INVALID_ENUM in glGet${c}v: Native code calling glGet${c}v(${a}) and it returns ${f} of type ${typeof f}!`);
return}switch(c){case 1:c=d;D[b>>2]=c;D[b+4>>2]=(c-D[b>>2])/4294967296;break;case 0:C[b>>2]=d;break;case 2:G[b>>2]=d;break;case 4:wa[b]=d?1:0}}else U||=1281},fd=(a,b)=>ed(a,b,0),gd=(a,b,c)=>{if(c){a=Q[a];b=2>x.version?O.Td.getQueryObjectEXT(a,b):O.getQueryParameter(a,b);var d;"boolean"==typeof b?d=b?1:0:d=b;D[c>>2]=d;D[c+4>>2]=(d-D[c>>2])/4294967296}else U||=1281},jd=a=>{var b=jc(a)+1,c=hd(b);c&&ic(a,c,b);return c},kd=a=>{var b=Pc[a];if(!b){switch(a){case 7939:b=jd(dd().join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=
O.getParameter(a))||(U||=1280);b=b?jd(b):0;break;case 7938:b=O.getParameter(7938);var c=`OpenGL ES 2.0 (${b})`;2<=x.version&&(c=`OpenGL ES 3.0 (${b})`);b=jd(c);break;case 35724:b=O.getParameter(35724);c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b=`OpenGL ES GLSL ES ${c[1]} (${b})`);b=jd(b);break;default:U||=1280}Pc[a]=b}return b},ld=(a,b)=>{if(2>x.version)return U||=1282,0;var c=Qc[a];if(c)return 0>b||b>=c.length?(U||=1281,0):c[b];switch(a){case 7939:return c=
dd().map(jd),c=Qc[a]=c,0>b||b>=c.length?(U||=1281,0):c[b];default:return U||=1280,0}},md=a=>"]"==a.slice(-1)&&a.lastIndexOf("["),nd=a=>{a-=5120;return 0==a?wa:1==a?y:2==a?xa:4==a?C:6==a?G:5==a||28922==a||28520==a||30779==a||30782==a?D:za},od=(a,b,c,d,f)=>{a=nd(a);b=d*((Sc||c)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*a.BYTES_PER_ELEMENT+Rc-1&-Rc);return a.subarray(f>>>31-Math.clz32(a.BYTES_PER_ELEMENT),f+b>>>31-Math.clz32(a.BYTES_PER_ELEMENT))},X=a=>{var b=O.Ie;if(b){var c=
b.de[a];"number"==typeof c&&(b.de[a]=c=O.getUniformLocation(b,b.ze[a]+(0<c?`[${c}]`:"")));return c}U||=1282},pd=[],qd=[],rd={},td=()=>{if(!sd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"},b;for(b in rd)void 0===rd[b]?delete a[b]:a[b]=rd[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);sd=c}return sd},sd,ud=[null,[],[]];
db=q.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}};for(var vd=Array(256),wd=0;256>wd;++wd)vd[wd]=String.fromCharCode(wd);gb=vd;I=q.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}};
Object.assign(vb.prototype,{isAliasOf:function(a){if(!(this instanceof vb&&a instanceof vb))return!1;var b=this.Ed.Kd.Id,c=this.Ed.Hd;a.Ed=a.Ed;var d=a.Ed.Kd.Id;for(a=a.Ed.Hd;b.Nd;)c=b.ee(c),b=b.Nd;for(;d.Nd;)a=d.ee(a),d=d.Nd;return b===d&&c===a},clone:function(){this.Ed.Hd||ib(this);if(this.Ed.ce)return this.Ed.count.value+=1,this;var a=sb,b=Object,c=b.create,d=Object.getPrototypeOf(this),f=this.Ed;a=a(c.call(b,d,{Ed:{value:{count:f.count,be:f.be,ce:f.ce,Hd:f.Hd,Kd:f.Kd,Ld:f.Ld,Od:f.Od}}}));a.Ed.count.value+=
1;a.Ed.be=!1;return a},["delete"](){this.Ed.Hd||ib(this);if(this.Ed.be&&!this.Ed.ce)throw new I("Object already scheduled for deletion");kb(this);var a=this.Ed;--a.count.value;0===a.count.value&&(a.Ld?a.Od.Ud(a.Ld):a.Kd.Id.Ud(a.Hd));this.Ed.ce||(this.Ed.Ld=void 0,this.Ed.Hd=void 0)},isDeleted:function(){return!this.Ed.Hd},deleteLater:function(){this.Ed.Hd||ib(this);if(this.Ed.be&&!this.Ed.ce)throw new I("Object already scheduled for deletion");ub.push(this);this.Ed.be=!0;return this}});
Object.assign(Hb.prototype,{Ne(a){this.ye&&(a=this.ye(a));return a},ue(a){this.Ud?.(a)},Pd:8,readValueFromPointer:$a,fromWireType:function(a){function b(){return this.je?tb(this.Id.Zd,{Kd:this.Te,Hd:c,Od:this,Ld:a}):tb(this.Id.Zd,{Kd:this,Hd:a})}var c=this.Ne(a);if(!c)return this.ue(a),null;var d=rb(this.Id,c);if(void 0!==d){if(0===d.Ed.count.value)return d.Ed.Hd=c,d.Ed.Ld=a,d.clone();d=d.clone();this.ue(a);return d}d=this.Id.Me(c);d=mb[d];if(!d)return b.call(this);d=this.ie?d.He:d.pointerType;var f=
lb(c,this.Id,d.Id);return null===f?b.call(this):this.je?tb(d.Id.Zd,{Kd:d,Hd:f,Od:this,Ld:a}):tb(d.Id.Zd,{Kd:d,Hd:f})}});Lb=q.UnboundTypeError=((a,b)=>{var c=wb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c})(Error,"UnboundTypeError");
ac.push(0,1,void 0,1,null,1,!0,1,!1,1);q.count_emval_handles=()=>ac.length/2-5-$b.length;for(var xd=0;32>xd;++xd)bd.push(Array(xd));var yd=new Float32Array(288);for(xd=0;288>=xd;++xd)pd[xd]=yd.subarray(0,xd);var zd=new Int32Array(288);for(xd=0;288>=xd;++xd)qd[xd]=zd.subarray(0,xd);
var Md={z:(a,b,c)=>{var d=new Ta(a);D[d.Hd+16>>2]=0;D[d.Hd+4>>2]=b;D[d.Hd+8>>2]=c;Ua=a;Xa++;throw Ua;},dd:()=>{Ka("")},C:a=>{var b=Ya[a];delete Ya[a];var c=b.re,d=b.Ud,f=b.we,h=f.map(n=>n.Qe).concat(f.map(n=>n.Xe));fb([a],h,n=>{var k={};f.forEach((p,t)=>{var v=n[t],z=p.Oe,A=p.Pe,E=n[t+f.length],M=p.We,L=p.Ye;k[p.Le]={read:V=>v.fromWireType(z(A,V)),write:(V,fa)=>{var S=[];M(L,V,E.toWireType(S,fa));Za(S)}}});return[{name:b.name,fromWireType:p=>{var t={},v;for(v in k)t[v]=k[v].read(p);d(p);return t},
toWireType:(p,t)=>{for(var v in k)if(!(v in t))throw new TypeError(`Missing field: "${v}"`);var z=c();for(v in k)k[v].write(z,t[v]);null!==p&&p.push(d,z);return z},Pd:8,readValueFromPointer:$a,Rd:d}]})},N:()=>{},cd:(a,b,c,d)=>{b=H(b);eb(a,{name:b,fromWireType:function(f){return!!f},toWireType:function(f,h){return h?c:d},Pd:8,readValueFromPointer:function(f){return this.fromWireType(y[f])},Rd:null})},d:(a,b,c,d,f,h,n,k,p,t,v,z,A)=>{v=H(v);h=N(f,h);k&&=N(n,k);t&&=N(p,t);A=N(z,A);var E=zb(v);yb(E,function(){Vb(`Cannot construct ${v} due to unbound types`,
[d])});fb([a,b,c],d?[d]:[],M=>{M=M[0];if(d){var L=M.Id;var V=L.Zd}else V=vb.prototype;M=wb(v,function(...ya){if(Object.getPrototypeOf(this)!==fa)throw new I("Use 'new' to construct "+v);if(void 0===S.Wd)throw new I(v+" has no accessible constructor");var W=S.Wd[ya.length];if(void 0===W)throw new I(`Tried to invoke ctor of ${v} with invalid number of parameters (${ya.length}) - expected (${Object.keys(S.Wd).toString()}) parameters instead!`);return W.apply(this,ya)});var fa=Object.create(V,{constructor:{value:M}});
M.prototype=fa;var S=new Ab(v,M,fa,A,L,h,k,t);if(S.Nd){var Y;(Y=S.Nd).fe??(Y.fe=[]);S.Nd.fe.push(S)}L=new Hb(v,S,!0,!1,!1);Y=new Hb(v+"*",S,!1,!1,!1);V=new Hb(v+" const*",S,!1,!0,!1);mb[a]={pointerType:Y,He:V};Ib(E,M);return[L,Y,V]})},c:(a,b,c,d,f,h,n)=>{var k=Yb(c,d);b=H(b);b=Zb(b);h=N(f,h);fb([],[a],p=>{function t(){Vb(`Cannot call ${v} due to unbound types`,k)}p=p[0];var v=`${p.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var z=p.Id.constructor;void 0===z[b]?(t.Vd=c-1,z[b]=t):(xb(z,
b,v),z[b].Md[c-1]=t);fb([],k,A=>{A=[A[0],null].concat(A.slice(1));A=Xb(v,A,null,h,n);void 0===z[b].Md?(A.Vd=c-1,z[b]=A):z[b].Md[c-1]=A;if(p.Id.fe)for(const E of p.Id.fe)E.constructor.hasOwnProperty(b)||(E.constructor[b]=A);return[]});return[]})},x:(a,b,c,d,f,h)=>{var n=Yb(b,c);f=N(d,f);fb([],[a],k=>{k=k[0];var p=`constructor ${k.name}`;void 0===k.Id.Wd&&(k.Id.Wd=[]);if(void 0!==k.Id.Wd[b-1])throw new I(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${k.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
k.Id.Wd[b-1]=()=>{Vb(`Cannot construct ${k.name} due to unbound types`,n)};fb([],n,t=>{t.splice(1,0,null);k.Id.Wd[b-1]=Xb(p,t,null,f,h);return[]});return[]})},a:(a,b,c,d,f,h,n,k)=>{var p=Yb(c,d);b=H(b);b=Zb(b);h=N(f,h);fb([],[a],t=>{function v(){Vb(`Cannot call ${z} due to unbound types`,p)}t=t[0];var z=`${t.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);k&&t.Id.Ue.push(b);var A=t.Id.Zd,E=A[b];void 0===E||void 0===E.Md&&E.className!==t.name&&E.Vd===c-2?(v.Vd=c-2,v.className=t.name,A[b]=
v):(xb(A,b,z),A[b].Md[c-2]=v);fb([],p,M=>{M=Xb(z,M,t,h,n);void 0===A[b].Md?(M.Vd=c-2,A[b]=M):A[b].Md[c-2]=M;return[]});return[]})},q:(a,b,c)=>{a=H(a);fb([],[b],d=>{d=d[0];q[a]=d.fromWireType(c);return[]})},bd:a=>eb(a,dc),h:(a,b,c,d)=>{function f(){}b=H(b);f.values={};eb(a,{name:b,constructor:f,fromWireType:function(h){return this.constructor.values[h]},toWireType:(h,n)=>n.value,Pd:8,readValueFromPointer:ec(b,c,d),Rd:null});yb(b,f)},b:(a,b,c)=>{var d=fc(a,"enum");b=H(b);a=d.constructor;d=Object.create(d.constructor.prototype,
{value:{value:c},constructor:{value:wb(`${d.name}_${b}`,function(){})}});a.values[c]=d;a[b]=d},L:(a,b,c)=>{b=H(b);eb(a,{name:b,fromWireType:d=>d,toWireType:(d,f)=>f,Pd:8,readValueFromPointer:gc(b,c),Rd:null})},o:(a,b,c,d,f,h)=>{var n=Yb(b,c);a=H(a);a=Zb(a);f=N(d,f);yb(a,function(){Vb(`Cannot call ${a} due to unbound types`,n)},b-1);fb([],n,k=>{k=[k[0],null].concat(k.slice(1));Ib(a,Xb(a,k,null,f,h),b-1);return[]})},w:(a,b,c,d,f)=>{b=H(b);-1===f&&(f=4294967295);f=k=>k;if(0===d){var h=32-8*c;f=k=>k<<
h>>>h}var n=b.includes("unsigned")?function(k,p){return p>>>0}:function(k,p){return p};eb(a,{name:b,fromWireType:f,toWireType:n,Pd:8,readValueFromPointer:hc(b,c,0!==d),Rd:null})},i:(a,b,c)=>{function d(h){return new f(wa.buffer,D[h+4>>2],D[h>>2])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=H(c);eb(a,{name:c,fromWireType:d,Pd:8,readValueFromPointer:d},{Re:!0})},m:(a,b,c,d,f,h,n,k,p,t,v,z)=>{c=H(c);h=N(f,h);k=N(n,k);t=N(p,t);z=N(v,z);fb([a],
[b],A=>{A=A[0];return[new Hb(c,A.Id,!1,!1,!0,A,d,h,k,t,z)]})},K:(a,b)=>{b=H(b);var c="std::string"===b;eb(a,{name:b,fromWireType:function(d){var f=D[d>>2],h=d+4;if(c)for(var n=h,k=0;k<=f;++k){var p=h+k;if(k==f||0==y[p]){n=n?lc(y,n,p-n):"";if(void 0===t)var t=n;else t+=String.fromCharCode(0),t+=n;n=p+1}}else{t=Array(f);for(k=0;k<f;++k)t[k]=String.fromCharCode(y[h+k]);t=t.join("")}Tb(d);return t},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var h="string"==typeof f;if(!(h||
f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array))throw new I("Cannot pass non-string to std::string");var n=c&&h?jc(f):f.length;var k=hd(4+n+1),p=k+4;D[k>>2]=n;if(c&&h)ic(f,p,n+1);else if(h)for(h=0;h<n;++h){var t=f.charCodeAt(h);if(255<t)throw Tb(p),new I("String has UTF-16 code units that do not fit in 8 bits");y[p+h]=t}else for(h=0;h<n;++h)y[p+h]=f[h];null!==d&&d.push(Tb,k);return k},Pd:8,readValueFromPointer:$a,Rd(d){Tb(d)}})},G:(a,b,c)=>{c=H(c);if(2===b){var d=
nc;var f=oc;var h=pc;var n=k=>za[k>>1]}else 4===b&&(d=qc,f=rc,h=sc,n=k=>D[k>>2]);eb(a,{name:c,fromWireType:k=>{for(var p=D[k>>2],t,v=k+4,z=0;z<=p;++z){var A=k+4+z*b;if(z==p||0==n(A))v=d(v,A-v),void 0===t?t=v:(t+=String.fromCharCode(0),t+=v),v=A+b}Tb(k);return t},toWireType:(k,p)=>{if("string"!=typeof p)throw new I(`Cannot pass non-string to C++ string type ${c}`);var t=h(p),v=hd(4+t+b);D[v>>2]=t/b;f(p,v+4,t+b);null!==k&&k.push(Tb,v);return v},Pd:8,readValueFromPointer:$a,Rd(k){Tb(k)}})},B:(a,b,c,
d,f,h)=>{Ya[a]={name:H(b),re:N(c,d),Ud:N(f,h),we:[]}},l:(a,b,c,d,f,h,n,k,p,t)=>{Ya[a].we.push({Le:H(b),Qe:c,Oe:N(d,f),Pe:h,Xe:n,We:N(k,p),Ye:t})},ad:(a,b)=>{b=H(b);eb(a,{cf:!0,name:b,Pd:0,fromWireType:()=>{},toWireType:()=>{}})},$c:()=>1,_c:()=>{throw Infinity;},Zc:(a,b,c)=>{a=cc(a);b=fc(b,"emval::as");return tc(b,c,a)},Yc:(a,b,c,d)=>{a=uc[a];b=cc(b);return a(null,b,c,d)},r:(a,b,c,d,f)=>{a=uc[a];b=cc(b);c=wc(c);return a(b,b[c],d,f)},g:bc,Xc:a=>{if(0===a)return Fb(xc());a=wc(a);return Fb(xc()[a])},
p:(a,b,c)=>{var d=zc(a,b),f=d.shift();a--;var h=Array(a);b=`methodCaller<(${d.map(n=>n.name).join(", ")}) => ${f.name}>`;return yc(wb(b,(n,k,p,t)=>{for(var v=0,z=0;z<a;++z)h[z]=d[z].readValueFromPointer(t+v),v+=d[z].Pd;n=1===c?Ac(k,h):k.apply(n,h);return tc(f,p,n)}))},F:a=>{9<a&&(ac[a+1]+=1)},E:()=>Fb([]),y:a=>Fb(wc(a)),Wc:()=>Fb({}),n:a=>{var b=cc(a);Za(b);bc(a)},A:(a,b,c)=>{a=cc(a);b=cc(b);c=cc(c);a[b]=c},k:(a,b)=>{a=fc(a,"_emval_take_value");a=a.readValueFromPointer(b);return Fb(a)},Vc:(a,b,c,
d)=>{var f=(new Date).getFullYear(),h=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f,6,1)).getTimezoneOffset();D[a>>2]=60*Math.max(h,f);C[b>>2]=Number(h!=f);b=n=>{var k=Math.abs(n);return`UTC${0<=n?"-":"+"}${String(Math.floor(k/60)).padStart(2,"0")}${String(k%60).padStart(2,"0")}`};a=b(h);b=b(f);f<h?(ic(a,c,17),ic(b,d,17)):(ic(a,d,17),ic(b,c,17))},Uc:()=>performance.now(),Tc:a=>O.activeTexture(a),Sc:(a,b)=>{O.attachShader(Hc[a],Kc[b])},Rc:(a,b)=>{O.beginQuery(a,Q[b])},Qc:(a,b)=>{O.Td.beginQueryEXT(a,
Q[b])},Pc:(a,b,c)=>{O.bindAttribLocation(Hc[a],b,c?lc(y,c):"")},Oc:(a,b)=>{35051==a?O.oe=b:35052==a&&(O.Yd=b);O.bindBuffer(a,Gc[b])},Nc:Wc,Mc:(a,b)=>{O.bindRenderbuffer(a,Jc[b])},Lc:(a,b)=>{O.bindSampler(a,Mc[b])},Kc:(a,b)=>{O.bindTexture(a,ia[b])},Jc:Xc,Ic:Xc,Hc:(a,b,c,d)=>O.blendColor(a,b,c,d),Gc:a=>O.blendEquation(a),Fc:(a,b)=>O.blendFunc(a,b),Ec:(a,b,c,d,f,h,n,k,p,t)=>O.blitFramebuffer(a,b,c,d,f,h,n,k,p,t),Dc:(a,b,c,d)=>{2<=x.version?c&&b?O.bufferData(a,y,d,c,b):O.bufferData(a,b,d):O.bufferData(a,
c?y.subarray(c,c+b):b,d)},Cc:(a,b,c,d)=>{2<=x.version?c&&O.bufferSubData(a,b,y,d,c):O.bufferSubData(a,b,y.subarray(d,d+c))},Bc:a=>O.checkFramebufferStatus(a),Ac:Yc,zc:Zc,yc:$c,xc:(a,b,c,d)=>O.clientWaitSync(Nc[a],b,(c>>>0)+4294967296*d),wc:(a,b,c,d)=>{O.colorMask(!!a,!!b,!!c,!!d)},vc:a=>{O.compileShader(Kc[a])},uc:(a,b,c,d,f,h,n,k)=>{2<=x.version?O.Yd||!n?O.compressedTexImage2D(a,b,c,d,f,h,n,k):O.compressedTexImage2D(a,b,c,d,f,h,y,k,n):O.compressedTexImage2D(a,b,c,d,f,h,y.subarray(k,k+n))},tc:(a,
b,c,d,f,h,n,k,p)=>{2<=x.version?O.Yd||!k?O.compressedTexSubImage2D(a,b,c,d,f,h,n,k,p):O.compressedTexSubImage2D(a,b,c,d,f,h,n,y,p,k):O.compressedTexSubImage2D(a,b,c,d,f,h,n,y.subarray(p,p+k))},sc:(a,b,c,d,f)=>O.copyBufferSubData(a,b,c,d,f),rc:(a,b,c,d,f,h,n,k)=>O.copyTexSubImage2D(a,b,c,d,f,h,n,k),qc:()=>{var a=ha(Hc),b=O.createProgram();b.name=a;b.me=b.ke=b.le=0;b.se=1;Hc[a]=b;return a},pc:a=>{var b=ha(Kc);Kc[b]=O.createShader(a);return b},oc:a=>O.cullFace(a),nc:(a,b)=>{for(var c=0;c<a;c++){var d=
C[b+4*c>>2],f=Gc[d];f&&(O.deleteBuffer(f),f.name=0,Gc[d]=null,d==O.oe&&(O.oe=0),d==O.Yd&&(O.Yd=0))}},mc:(a,b)=>{for(var c=0;c<a;++c){var d=C[b+4*c>>2],f=Ic[d];f&&(O.deleteFramebuffer(f),f.name=0,Ic[d]=null)}},lc:a=>{if(a){var b=Hc[a];b?(O.deleteProgram(b),b.name=0,Hc[a]=null):U||=1281}},kc:(a,b)=>{for(var c=0;c<a;c++){var d=C[b+4*c>>2],f=Q[d];f&&(O.deleteQuery(f),Q[d]=null)}},jc:(a,b)=>{for(var c=0;c<a;c++){var d=C[b+4*c>>2],f=Q[d];f&&(O.Td.deleteQueryEXT(f),Q[d]=null)}},ic:(a,b)=>{for(var c=0;c<
a;c++){var d=C[b+4*c>>2],f=Jc[d];f&&(O.deleteRenderbuffer(f),f.name=0,Jc[d]=null)}},hc:(a,b)=>{for(var c=0;c<a;c++){var d=C[b+4*c>>2],f=Mc[d];f&&(O.deleteSampler(f),f.name=0,Mc[d]=null)}},gc:a=>{if(a){var b=Kc[a];b?(O.deleteShader(b),Kc[a]=null):U||=1281}},fc:a=>{if(a){var b=Nc[a];b?(O.deleteSync(b),b.name=0,Nc[a]=null):U||=1281}},ec:(a,b)=>{for(var c=0;c<a;c++){var d=C[b+4*c>>2],f=ia[d];f&&(O.deleteTexture(f),f.name=0,ia[d]=null)}},dc:ad,cc:ad,bc:a=>{O.depthMask(!!a)},ac:a=>O.disable(a),$b:a=>{O.disableVertexAttribArray(a)},
_b:(a,b,c)=>{O.drawArrays(a,b,c)},Zb:(a,b,c,d)=>{O.drawArraysInstanced(a,b,c,d)},Yb:(a,b,c,d,f)=>{O.ve.drawArraysInstancedBaseInstanceWEBGL(a,b,c,d,f)},Xb:(a,b)=>{for(var c=bd[a],d=0;d<a;d++)c[d]=C[b+4*d>>2];O.drawBuffers(c)},Wb:(a,b,c,d)=>{O.drawElements(a,b,c,d)},Vb:(a,b,c,d,f)=>{O.drawElementsInstanced(a,b,c,d,f)},Ub:(a,b,c,d,f,h,n)=>{O.ve.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,c,d,f,h,n)},Tb:(a,b,c,d,f,h)=>{O.drawElements(a,d,f,h)},Sb:a=>O.enable(a),Rb:a=>{O.enableVertexAttribArray(a)},
Qb:a=>O.endQuery(a),Pb:a=>{O.Td.endQueryEXT(a)},Ob:(a,b)=>(a=O.fenceSync(a,b))?(b=ha(Nc),a.name=b,Nc[b]=a,b):0,Nb:()=>O.finish(),Mb:()=>O.flush(),Lb:(a,b,c,d)=>{O.framebufferRenderbuffer(a,b,c,Jc[d])},Kb:(a,b,c,d,f)=>{O.framebufferTexture2D(a,b,c,ia[d],f)},Jb:a=>O.frontFace(a),Ib:(a,b)=>{Tc(a,b,"createBuffer",Gc)},Hb:(a,b)=>{Tc(a,b,"createFramebuffer",Ic)},Gb:(a,b)=>{Tc(a,b,"createQuery",Q)},Fb:(a,b)=>{for(var c=0;c<a;c++){var d=O.Td.createQueryEXT();if(!d){for(U||=1282;c<a;)C[b+4*c++>>2]=0;break}var f=
ha(Q);d.name=f;Q[f]=d;C[b+4*c>>2]=f}},Eb:(a,b)=>{Tc(a,b,"createRenderbuffer",Jc)},Db:(a,b)=>{Tc(a,b,"createSampler",Mc)},Cb:(a,b)=>{Tc(a,b,"createTexture",ia)},Bb:cd,Ab:cd,zb:a=>O.generateMipmap(a),yb:(a,b,c)=>{c?C[c>>2]=O.getBufferParameter(a,b):U||=1281},xb:()=>{var a=O.getError()||U;U=0;return a},wb:(a,b)=>ed(a,b,2),vb:(a,b,c,d)=>{a=O.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;C[d>>2]=a},ub:fd,tb:(a,b,c,d)=>{a=O.getProgramInfoLog(Hc[a]);
null===a&&(a="(unknown error)");b=0<b&&d?ic(a,d,b):0;c&&(C[c>>2]=b)},sb:(a,b,c)=>{if(c)if(a>=Fc)U||=1281;else if(a=Hc[a],35716==b)a=O.getProgramInfoLog(a),null===a&&(a="(unknown error)"),C[c>>2]=a.length+1;else if(35719==b){if(!a.me){var d=O.getProgramParameter(a,35718);for(b=0;b<d;++b)a.me=Math.max(a.me,O.getActiveUniform(a,b).name.length+1)}C[c>>2]=a.me}else if(35722==b){if(!a.ke)for(d=O.getProgramParameter(a,35721),b=0;b<d;++b)a.ke=Math.max(a.ke,O.getActiveAttrib(a,b).name.length+1);C[c>>2]=a.ke}else if(35381==
b){if(!a.le)for(d=O.getProgramParameter(a,35382),b=0;b<d;++b)a.le=Math.max(a.le,O.getActiveUniformBlockName(a,b).length+1);C[c>>2]=a.le}else C[c>>2]=O.getProgramParameter(a,b);else U||=1281},rb:gd,qb:gd,pb:(a,b,c)=>{if(c){a=O.getQueryParameter(Q[a],b);var d;"boolean"==typeof a?d=a?1:0:d=a;C[c>>2]=d}else U||=1281},ob:(a,b,c)=>{if(c){a=O.Td.getQueryObjectEXT(Q[a],b);var d;"boolean"==typeof a?d=a?1:0:d=a;C[c>>2]=d}else U||=1281},nb:(a,b,c)=>{c?C[c>>2]=O.getQuery(a,b):U||=1281},mb:(a,b,c)=>{c?C[c>>2]=
O.Td.getQueryEXT(a,b):U||=1281},lb:(a,b,c)=>{c?C[c>>2]=O.getRenderbufferParameter(a,b):U||=1281},kb:(a,b,c,d)=>{a=O.getShaderInfoLog(Kc[a]);null===a&&(a="(unknown error)");b=0<b&&d?ic(a,d,b):0;c&&(C[c>>2]=b)},jb:(a,b,c,d)=>{a=O.getShaderPrecisionFormat(a,b);C[c>>2]=a.rangeMin;C[c+4>>2]=a.rangeMax;C[d>>2]=a.precision},ib:(a,b,c)=>{c?35716==b?(a=O.getShaderInfoLog(Kc[a]),null===a&&(a="(unknown error)"),C[c>>2]=a?a.length+1:0):35720==b?(a=O.getShaderSource(Kc[a]),C[c>>2]=a?a.length+1:0):C[c>>2]=O.getShaderParameter(Kc[a],
b):U||=1281},hb:kd,gb:ld,fb:(a,b)=>{b=b?lc(y,b):"";if(a=Hc[a]){var c=a,d=c.de,f=c.Ae,h;if(!d){c.de=d={};c.ze={};var n=O.getProgramParameter(c,35718);for(h=0;h<n;++h){var k=O.getActiveUniform(c,h);var p=k.name;k=k.size;var t=md(p);t=0<t?p.slice(0,t):p;var v=c.se;c.se+=k;f[t]=[k,v];for(p=0;p<k;++p)d[v]=p,c.ze[v++]=t}}c=a.de;d=0;f=b;h=md(b);0<h&&(d=parseInt(b.slice(h+1))>>>0,f=b.slice(0,h));if((f=a.Ae[f])&&d<f[0]&&(d+=f[1],c[d]=c[d]||O.getUniformLocation(a,b)))return d}else U||=1281;return-1},eb:(a,
b,c)=>{for(var d=bd[b],f=0;f<b;f++)d[f]=C[c+4*f>>2];O.invalidateFramebuffer(a,d)},db:(a,b,c,d,f,h,n)=>{for(var k=bd[b],p=0;p<b;p++)k[p]=C[c+4*p>>2];O.invalidateSubFramebuffer(a,k,d,f,h,n)},cb:a=>O.isSync(Nc[a]),bb:a=>(a=ia[a])?O.isTexture(a):0,ab:a=>O.lineWidth(a),$a:a=>{a=Hc[a];O.linkProgram(a);a.de=0;a.Ae={}},_a:(a,b,c,d,f,h)=>{O.xe.multiDrawArraysInstancedBaseInstanceWEBGL(a,C,b>>2,C,c>>2,C,d>>2,D,f>>2,h)},Za:(a,b,c,d,f,h,n,k)=>{O.xe.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,C,b>>
2,c,C,d>>2,C,f>>2,C,h>>2,D,n>>2,k)},Ya:(a,b)=>{3317==a?Rc=b:3314==a&&(Sc=b);O.pixelStorei(a,b)},Xa:(a,b)=>{O.Td.queryCounterEXT(Q[a],b)},Wa:a=>O.readBuffer(a),Va:(a,b,c,d,f,h,n)=>{if(2<=x.version)if(O.oe)O.readPixels(a,b,c,d,f,h,n);else{var k=nd(h);n>>>=31-Math.clz32(k.BYTES_PER_ELEMENT);O.readPixels(a,b,c,d,f,h,k,n)}else(k=od(h,f,c,d,n))?O.readPixels(a,b,c,d,f,h,k):U||=1280},Ua:(a,b,c,d)=>O.renderbufferStorage(a,b,c,d),Ta:(a,b,c,d,f)=>O.renderbufferStorageMultisample(a,b,c,d,f),Sa:(a,b,c)=>{O.samplerParameterf(Mc[a],
b,c)},Ra:(a,b,c)=>{O.samplerParameteri(Mc[a],b,c)},Qa:(a,b,c)=>{O.samplerParameteri(Mc[a],b,C[c>>2])},Pa:(a,b,c,d)=>O.scissor(a,b,c,d),Oa:(a,b,c,d)=>{for(var f="",h=0;h<b;++h){var n=(n=D[c+4*h>>2])?lc(y,n,d?D[d+4*h>>2]:void 0):"";f+=n}O.shaderSource(Kc[a],f)},Na:(a,b,c)=>O.stencilFunc(a,b,c),Ma:(a,b,c,d)=>O.stencilFuncSeparate(a,b,c,d),La:a=>O.stencilMask(a),Ka:(a,b)=>O.stencilMaskSeparate(a,b),Ja:(a,b,c)=>O.stencilOp(a,b,c),Ia:(a,b,c,d)=>O.stencilOpSeparate(a,b,c,d),Ha:(a,b,c,d,f,h,n,k,p)=>{if(2<=
x.version){if(O.Yd){O.texImage2D(a,b,c,d,f,h,n,k,p);return}if(p){var t=nd(k);p>>>=31-Math.clz32(t.BYTES_PER_ELEMENT);O.texImage2D(a,b,c,d,f,h,n,k,t,p);return}}t=p?od(k,n,d,f,p):null;O.texImage2D(a,b,c,d,f,h,n,k,t)},Ga:(a,b,c)=>O.texParameterf(a,b,c),Fa:(a,b,c)=>{O.texParameterf(a,b,G[c>>2])},Ea:(a,b,c)=>O.texParameteri(a,b,c),Da:(a,b,c)=>{O.texParameteri(a,b,C[c>>2])},Ca:(a,b,c,d,f)=>O.texStorage2D(a,b,c,d,f),Ba:(a,b,c,d,f,h,n,k,p)=>{if(2<=x.version){if(O.Yd){O.texSubImage2D(a,b,c,d,f,h,n,k,p);return}if(p){var t=
nd(k);O.texSubImage2D(a,b,c,d,f,h,n,k,t,p>>>31-Math.clz32(t.BYTES_PER_ELEMENT));return}}p=p?od(k,n,f,h,p):null;O.texSubImage2D(a,b,c,d,f,h,n,k,p)},Aa:(a,b)=>{O.uniform1f(X(a),b)},za:(a,b,c)=>{if(2<=x.version)b&&O.uniform1fv(X(a),G,c>>2,b);else{if(288>=b)for(var d=pd[b],f=0;f<b;++f)d[f]=G[c+4*f>>2];else d=G.subarray(c>>2,c+4*b>>2);O.uniform1fv(X(a),d)}},ya:(a,b)=>{O.uniform1i(X(a),b)},xa:(a,b,c)=>{if(2<=x.version)b&&O.uniform1iv(X(a),C,c>>2,b);else{if(288>=b)for(var d=qd[b],f=0;f<b;++f)d[f]=C[c+4*
f>>2];else d=C.subarray(c>>2,c+4*b>>2);O.uniform1iv(X(a),d)}},wa:(a,b,c)=>{O.uniform2f(X(a),b,c)},va:(a,b,c)=>{if(2<=x.version)b&&O.uniform2fv(X(a),G,c>>2,2*b);else{if(144>=b){b*=2;for(var d=pd[b],f=0;f<b;f+=2)d[f]=G[c+4*f>>2],d[f+1]=G[c+(4*f+4)>>2]}else d=G.subarray(c>>2,c+8*b>>2);O.uniform2fv(X(a),d)}},ua:(a,b,c)=>{O.uniform2i(X(a),b,c)},ta:(a,b,c)=>{if(2<=x.version)b&&O.uniform2iv(X(a),C,c>>2,2*b);else{if(144>=b){b*=2;for(var d=qd[b],f=0;f<b;f+=2)d[f]=C[c+4*f>>2],d[f+1]=C[c+(4*f+4)>>2]}else d=
C.subarray(c>>2,c+8*b>>2);O.uniform2iv(X(a),d)}},sa:(a,b,c,d)=>{O.uniform3f(X(a),b,c,d)},ra:(a,b,c)=>{if(2<=x.version)b&&O.uniform3fv(X(a),G,c>>2,3*b);else{if(96>=b){b*=3;for(var d=pd[b],f=0;f<b;f+=3)d[f]=G[c+4*f>>2],d[f+1]=G[c+(4*f+4)>>2],d[f+2]=G[c+(4*f+8)>>2]}else d=G.subarray(c>>2,c+12*b>>2);O.uniform3fv(X(a),d)}},qa:(a,b,c,d)=>{O.uniform3i(X(a),b,c,d)},pa:(a,b,c)=>{if(2<=x.version)b&&O.uniform3iv(X(a),C,c>>2,3*b);else{if(96>=b){b*=3;for(var d=qd[b],f=0;f<b;f+=3)d[f]=C[c+4*f>>2],d[f+1]=C[c+(4*
f+4)>>2],d[f+2]=C[c+(4*f+8)>>2]}else d=C.subarray(c>>2,c+12*b>>2);O.uniform3iv(X(a),d)}},oa:(a,b,c,d,f)=>{O.uniform4f(X(a),b,c,d,f)},na:(a,b,c)=>{if(2<=x.version)b&&O.uniform4fv(X(a),G,c>>2,4*b);else{if(72>=b){var d=pd[4*b],f=G;c>>=2;b*=4;for(var h=0;h<b;h+=4){var n=c+h;d[h]=f[n];d[h+1]=f[n+1];d[h+2]=f[n+2];d[h+3]=f[n+3]}}else d=G.subarray(c>>2,c+16*b>>2);O.uniform4fv(X(a),d)}},ma:(a,b,c,d,f)=>{O.uniform4i(X(a),b,c,d,f)},la:(a,b,c)=>{if(2<=x.version)b&&O.uniform4iv(X(a),C,c>>2,4*b);else{if(72>=b){b*=
4;for(var d=qd[b],f=0;f<b;f+=4)d[f]=C[c+4*f>>2],d[f+1]=C[c+(4*f+4)>>2],d[f+2]=C[c+(4*f+8)>>2],d[f+3]=C[c+(4*f+12)>>2]}else d=C.subarray(c>>2,c+16*b>>2);O.uniform4iv(X(a),d)}},ka:(a,b,c,d)=>{if(2<=x.version)b&&O.uniformMatrix2fv(X(a),!!c,G,d>>2,4*b);else{if(72>=b){b*=4;for(var f=pd[b],h=0;h<b;h+=4)f[h]=G[d+4*h>>2],f[h+1]=G[d+(4*h+4)>>2],f[h+2]=G[d+(4*h+8)>>2],f[h+3]=G[d+(4*h+12)>>2]}else f=G.subarray(d>>2,d+16*b>>2);O.uniformMatrix2fv(X(a),!!c,f)}},ja:(a,b,c,d)=>{if(2<=x.version)b&&O.uniformMatrix3fv(X(a),
!!c,G,d>>2,9*b);else{if(32>=b){b*=9;for(var f=pd[b],h=0;h<b;h+=9)f[h]=G[d+4*h>>2],f[h+1]=G[d+(4*h+4)>>2],f[h+2]=G[d+(4*h+8)>>2],f[h+3]=G[d+(4*h+12)>>2],f[h+4]=G[d+(4*h+16)>>2],f[h+5]=G[d+(4*h+20)>>2],f[h+6]=G[d+(4*h+24)>>2],f[h+7]=G[d+(4*h+28)>>2],f[h+8]=G[d+(4*h+32)>>2]}else f=G.subarray(d>>2,d+36*b>>2);O.uniformMatrix3fv(X(a),!!c,f)}},ia:(a,b,c,d)=>{if(2<=x.version)b&&O.uniformMatrix4fv(X(a),!!c,G,d>>2,16*b);else{if(18>=b){var f=pd[16*b],h=G;d>>=2;b*=16;for(var n=0;n<b;n+=16){var k=d+n;f[n]=h[k];
f[n+1]=h[k+1];f[n+2]=h[k+2];f[n+3]=h[k+3];f[n+4]=h[k+4];f[n+5]=h[k+5];f[n+6]=h[k+6];f[n+7]=h[k+7];f[n+8]=h[k+8];f[n+9]=h[k+9];f[n+10]=h[k+10];f[n+11]=h[k+11];f[n+12]=h[k+12];f[n+13]=h[k+13];f[n+14]=h[k+14];f[n+15]=h[k+15]}}else f=G.subarray(d>>2,d+64*b>>2);O.uniformMatrix4fv(X(a),!!c,f)}},ha:a=>{a=Hc[a];O.useProgram(a);O.Ie=a},ga:(a,b)=>O.vertexAttrib1f(a,b),fa:(a,b)=>{O.vertexAttrib2f(a,G[b>>2],G[b+4>>2])},ea:(a,b)=>{O.vertexAttrib3f(a,G[b>>2],G[b+4>>2],G[b+8>>2])},da:(a,b)=>{O.vertexAttrib4f(a,
G[b>>2],G[b+4>>2],G[b+8>>2],G[b+12>>2])},ca:(a,b)=>{O.vertexAttribDivisor(a,b)},ba:(a,b,c,d,f)=>{O.vertexAttribIPointer(a,b,c,d,f)},aa:(a,b,c,d,f,h)=>{O.vertexAttribPointer(a,b,c,!!d,f,h)},$:(a,b,c,d)=>O.viewport(a,b,c,d),_:(a,b,c,d)=>{O.waitSync(Nc[a],b,(c>>>0)+4294967296*d)},Z:a=>{var b=y.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+1/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-ua.buffer.byteLength+65535)/65536|0;try{ua.grow(d);
Ba();var f=1;break a}catch(h){}f=void 0}if(f)return!0}return!1},Y:()=>x?x.handle:0,gd:(a,b)=>{var c=0;td().forEach((d,f)=>{var h=b+c;f=D[a+4*f>>2]=h;for(h=0;h<d.length;++h)wa[f++]=d.charCodeAt(h);wa[f]=0;c+=d.length+1});return 0},fd:(a,b)=>{var c=td();D[a>>2]=c.length;var d=0;c.forEach(f=>d+=f.length+1);D[b>>2]=d;return 0},X:a=>{Sa||(va=!0);throw new Qa(a);},ed:()=>52,O:function(){return 70},M:(a,b,c,d)=>{for(var f=0,h=0;h<c;h++){var n=D[b>>2],k=D[b+4>>2];b+=8;for(var p=0;p<k;p++){var t=y[n+p],v=
ud[a];0===t||10===t?((1===a?qa:ta)(lc(v)),v.length=0):v.push(t)}f+=k}D[d>>2]=f;return 0},W:Wc,V:Yc,U:Zc,T:$c,D:fd,J:kd,S:ld,f:Ad,v:Bd,e:Cd,I:Dd,H:Ed,t:Fd,u:Gd,s:Hd,j:Id,R:Jd,Q:Kd,P:Ld},Z=function(){function a(c){Z=c.exports;ua=Z.hd;Ba();K=Z.kd;Da.unshift(Z.id);Fa--;0==Fa&&(null!==Ia&&(clearInterval(Ia),Ia=null),Ja&&(c=Ja,Ja=null,c()));return Z}var b={a:Md};Fa++;if(q.instantiateWasm)try{return q.instantiateWasm(b,a)}catch(c){ta(`Module.instantiateWasm callback failed with error: ${c}`),ba(c)}Ma??=
q.locateFile?La("canvaskit.wasm")?"canvaskit.wasm":na+"canvaskit.wasm":(new URL("canvaskit.wasm",import.meta.url)).href;Pa(b,function(c){a(c.instance)}).catch(ba);return{}}(),Mb=a=>(Mb=Z.jd)(a),hd=q._malloc=a=>(hd=q._malloc=Z.ld)(a),Tb=q._free=a=>(Tb=q._free=Z.md)(a),Nd=(a,b)=>(Nd=Z.nd)(a,b),Od=a=>(Od=Z.od)(a),Pd=()=>(Pd=Z.pd)();q.dynCall_viji=(a,b,c,d,f)=>(q.dynCall_viji=Z.qd)(a,b,c,d,f);q.dynCall_vijiii=(a,b,c,d,f,h,n)=>(q.dynCall_vijiii=Z.rd)(a,b,c,d,f,h,n);
q.dynCall_viiiiij=(a,b,c,d,f,h,n,k)=>(q.dynCall_viiiiij=Z.sd)(a,b,c,d,f,h,n,k);q.dynCall_vij=(a,b,c,d)=>(q.dynCall_vij=Z.td)(a,b,c,d);q.dynCall_jii=(a,b,c)=>(q.dynCall_jii=Z.ud)(a,b,c);q.dynCall_jiiiiii=(a,b,c,d,f,h,n)=>(q.dynCall_jiiiiii=Z.vd)(a,b,c,d,f,h,n);q.dynCall_jiiiiji=(a,b,c,d,f,h,n,k)=>(q.dynCall_jiiiiji=Z.wd)(a,b,c,d,f,h,n,k);q.dynCall_ji=(a,b)=>(q.dynCall_ji=Z.xd)(a,b);q.dynCall_iijj=(a,b,c,d,f,h)=>(q.dynCall_iijj=Z.yd)(a,b,c,d,f,h);
q.dynCall_jiji=(a,b,c,d,f)=>(q.dynCall_jiji=Z.zd)(a,b,c,d,f);q.dynCall_viijii=(a,b,c,d,f,h,n)=>(q.dynCall_viijii=Z.Ad)(a,b,c,d,f,h,n);q.dynCall_iiiiij=(a,b,c,d,f,h,n)=>(q.dynCall_iiiiij=Z.Bd)(a,b,c,d,f,h,n);q.dynCall_iiiiijj=(a,b,c,d,f,h,n,k,p)=>(q.dynCall_iiiiijj=Z.Cd)(a,b,c,d,f,h,n,k,p);q.dynCall_iiiiiijj=(a,b,c,d,f,h,n,k,p,t)=>(q.dynCall_iiiiiijj=Z.Dd)(a,b,c,d,f,h,n,k,p,t);function Cd(a,b,c,d){var f=Pd();try{return K.get(a)(b,c,d)}catch(h){Od(f);if(h!==h+0)throw h;Nd(1,0)}}
function Ad(a,b){var c=Pd();try{return K.get(a)(b)}catch(d){Od(c);if(d!==d+0)throw d;Nd(1,0)}}function Ld(a,b,c,d,f,h,n,k,p,t){var v=Pd();try{K.get(a)(b,c,d,f,h,n,k,p,t)}catch(z){Od(v);if(z!==z+0)throw z;Nd(1,0)}}function Hd(a,b,c,d){var f=Pd();try{K.get(a)(b,c,d)}catch(h){Od(f);if(h!==h+0)throw h;Nd(1,0)}}function Gd(a,b,c){var d=Pd();try{K.get(a)(b,c)}catch(f){Od(d);if(f!==f+0)throw f;Nd(1,0)}}function Fd(a,b){var c=Pd();try{K.get(a)(b)}catch(d){Od(c);if(d!==d+0)throw d;Nd(1,0)}}
function Id(a,b,c,d,f){var h=Pd();try{K.get(a)(b,c,d,f)}catch(n){Od(h);if(n!==n+0)throw n;Nd(1,0)}}function Bd(a,b,c){var d=Pd();try{return K.get(a)(b,c)}catch(f){Od(d);if(f!==f+0)throw f;Nd(1,0)}}function Kd(a,b,c,d,f,h,n){var k=Pd();try{K.get(a)(b,c,d,f,h,n)}catch(p){Od(k);if(p!==p+0)throw p;Nd(1,0)}}function Ed(a,b,c,d,f,h,n,k){var p=Pd();try{return K.get(a)(b,c,d,f,h,n,k)}catch(t){Od(p);if(t!==t+0)throw t;Nd(1,0)}}
function Jd(a,b,c,d,f,h){var n=Pd();try{K.get(a)(b,c,d,f,h)}catch(k){Od(n);if(k!==k+0)throw k;Nd(1,0)}}function Dd(a,b,c,d,f){var h=Pd();try{return K.get(a)(b,c,d,f)}catch(n){Od(h);if(n!==n+0)throw n;Nd(1,0)}}var Qd,Rd;Ja=function Sd(){Qd||Td();Qd||(Ja=Sd)};function Td(){if(!(0<Fa)){if(!Rd&&(Rd=1,Ra(Ca),0<Fa))return;Qd||(Qd=1,q.calledRun=1,va||(Ra(Da),aa(q),q.onRuntimeInitialized?.(),Ra(Ea)))}}Td();moduleRtn=ca;
return moduleRtn;
}
);
})();
export default CanvasKitInit;
File diff suppressed because it is too large Load Diff
+14 -14
View File
@@ -17,10 +17,10 @@ var Sa=0,Ta=0,Ua="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Va=(a,b=
Wa=(a,b)=>a?Va(q(),a,b):"",C={},Xa=1,Ya={},D=(a,b,c)=>{var e=q();if(0<c){var f=b;c=b+c-1;for(var h=0;h<a.length;++h){var l=a.charCodeAt(h);if(55296<=l&&57343>=l){var m=a.charCodeAt(++h);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(b>=c)break;e[b++]=l}else{if(2047>=l){if(b+1>=c)break;e[b++]=192|l>>6}else{if(65535>=l){if(b+2>=c)break;e[b++]=224|l>>12}else{if(b+3>=c)break;e[b++]=240|l>>18;e[b++]=128|l>>12&63}e[b++]=128|l>>6&63}e[b++]=128|l&63}}e[b]=0;a=b-f}else a=0;return a},E,Za=a=>{var b=a.getExtension("ANGLE_instanced_arrays");
b&&(a.vertexAttribDivisor=(c,e)=>b.vertexAttribDivisorANGLE(c,e),a.drawArraysInstanced=(c,e,f,h)=>b.drawArraysInstancedANGLE(c,e,f,h),a.drawElementsInstanced=(c,e,f,h,l)=>b.drawElementsInstancedANGLE(c,e,f,h,l))},$a=a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=c=>b.deleteVertexArrayOES(c),a.bindVertexArray=c=>b.bindVertexArrayOES(c),a.isVertexArray=c=>b.isVertexArrayOES(c))},ab=a=>{var b=a.getExtension("WEBGL_draw_buffers");
b&&(a.drawBuffers=(c,e)=>b.drawBuffersWEBGL(c,e))},bb=a=>{a.H=a.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")},cb=a=>{a.K=a.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")},db=a=>{var b="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");
return(a.getSupportedExtensions()||[]).filter(c=>b.includes(c))},eb=1,fb=[],F=[],gb=[],hb=[],G=[],H=[],ib=[],I=[],J=[],K=[],L=[],jb={},kb={},lb=4,mb=0,M=a=>{for(var b=eb++,c=a.length;c<b;c++)a[c]=null;return b},O=(a,b,c,e)=>{for(var f=0;f<a;f++){var h=E[c](),l=h&&M(e);h?(h.name=l,e[l]=h):N||=1282;r()[b+4*f>>2]=l}},ob=a=>{var b={J:2,alpha:!0,depth:!0,stencil:!0,antialias:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",failIfMajorPerformanceCaveat:!1,I:!0};a.u||(a.u=a.getContext,
a.getContext=function(e,f){f=a.u(e,f);return"webgl"==e==f instanceof WebGLRenderingContext?f:null});var c=1<b.J?a.getContext("webgl2",b):a.getContext("webgl",b);return c?nb(c,b):0},nb=(a,b)=>{var c=M(I),e={handle:c,attributes:b,version:b.J,o:a};a.canvas&&(a.canvas.N=e);I[c]=e;("undefined"==typeof b.I||b.I)&&pb(e);return c},pb=a=>{a||=P;if(!a.T){a.T=!0;var b=a.o;b.U=b.getExtension("WEBGL_multi_draw");b.R=b.getExtension("EXT_polygon_offset_clamp");b.P=b.getExtension("EXT_clip_control");b.Z=b.getExtension("WEBGL_polygon_mode");
Za(b);$a(b);ab(b);bb(b);cb(b);2<=a.version&&(b.m=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.m)b.m=b.getExtension("EXT_disjoint_timer_query");db(b).forEach(c=>{c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}},N,P,qb=a=>{E.bindVertexArray(ib[a])},rb=(a,b)=>{for(var c=0;c<a;c++){var e=r()[b+4*c>>2],f=G[e];f&&(E.deleteTexture(f),f.name=0,G[e]=null)}},sb=(a,b)=>{for(var c=0;c<a;c++){var e=r()[b+4*c>>2];E.deleteVertexArray(ib[e]);ib[e]=null}},tb=[],ub=(a,
b)=>{O(a,b,"createVertexArray",ib)},vb=(a,b)=>{t()[a>>2]=b;var c=t()[a>>2];t()[a+4>>2]=(b-c)/4294967296};function wb(){var a=db(E);return a=a.concat(a.map(b=>"GL_"+b))}
return(a.getSupportedExtensions()||[]).filter(c=>b.includes(c))},eb=1,fb=[],F=[],gb=[],hb=[],G=[],H=[],ib=[],I=[],J=[],K=[],L=[],jb={},kb={},lb=4,mb=0,M=a=>{for(var b=eb++,c=a.length;c<b;c++)a[c]=null;return b},O=(a,b,c,e)=>{for(var f=0;f<a;f++){var h=E[c](),l=h&&M(e);h?(h.name=l,e[l]=h):N||=1282;r()[b+4*f>>2]=l}},ob=(a,b)=>{a.u||(a.u=a.getContext,a.getContext=function(e,f){f=a.u(e,f);return"webgl"==e==f instanceof WebGLRenderingContext?f:null});var c=1<b.J?a.getContext("webgl2",b):a.getContext("webgl",
b);return c?nb(c,b):0},nb=(a,b)=>{var c=M(I),e={handle:c,attributes:b,version:b.J,o:a};a.canvas&&(a.canvas.N=e);I[c]=e;("undefined"==typeof b.I||b.I)&&pb(e);return c},pb=a=>{a||=P;if(!a.T){a.T=!0;var b=a.o;b.U=b.getExtension("WEBGL_multi_draw");b.R=b.getExtension("EXT_polygon_offset_clamp");b.P=b.getExtension("EXT_clip_control");b.Z=b.getExtension("WEBGL_polygon_mode");Za(b);$a(b);ab(b);bb(b);cb(b);2<=a.version&&(b.m=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.m)b.m=b.getExtension("EXT_disjoint_timer_query");
db(b).forEach(c=>{c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}},N,P,qb=a=>{E.bindVertexArray(ib[a])},rb=(a,b)=>{for(var c=0;c<a;c++){var e=r()[b+4*c>>2],f=G[e];f&&(E.deleteTexture(f),f.name=0,G[e]=null)}},sb=(a,b)=>{for(var c=0;c<a;c++){var e=r()[b+4*c>>2];E.deleteVertexArray(ib[e]);ib[e]=null}},tb=[],ub=(a,b)=>{O(a,b,"createVertexArray",ib)},vb=(a,b)=>{t()[a>>2]=b;var c=t()[a>>2];t()[a+4>>2]=(b-c)/4294967296};
function wb(){var a=db(E);return a=a.concat(a.map(b=>"GL_"+b))}
var xb=(a,b,c)=>{if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&(N||=1280);return;case 34814:case 36345:e=0;break;case 34466:var f=E.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>P.version){N||=1282;return}e=wb().length;break;case 33307:case 33308:if(2>P.version){N||=1280;return}e=33307==a?3:0}if(void 0===e)switch(f=E.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":N||=1280;return;case "object":if(null===f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=
0;break;default:N||=1280;return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a<f.length;++a)switch(c){case 0:r()[b+4*a>>2]=f[a];break;case 2:u()[b+4*a>>2]=f[a];break;case 4:d()[b+a]=f[a]?1:0}return}try{e=f.name|0}catch(h){N||=1280;y(`GL_INVALID_ENUM in glGet${c}v: Unknown object returned from WebGL getParameter(${a})! (error: ${h})`);return}}break;default:N||=1280;y(`GL_INVALID_ENUM in glGet${c}v: Native code calling glGet${c}v(${a}) and it returns ${f} of type ${typeof f}!`);
return}switch(c){case 1:vb(b,e);break;case 0:r()[b>>2]=e;break;case 2:u()[b>>2]=e;break;case 4:d()[b]=e?1:0}}else N||=1281},yb=(a,b)=>xb(a,b,0),zb=(a,b,c)=>{if(c){a=J[a];b=2>P.version?E.m.getQueryObjectEXT(a,b):E.getQueryParameter(a,b);var e;"boolean"==typeof b?e=b?1:0:e=b;vb(c,e)}else N||=1281},Bb=a=>{for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}b+=1;(c=Ab(b))&&D(a,c,b);return c},Cb=a=>{var b=jb[a];if(!b){switch(a){case 7939:b=Bb(wb().join(" "));
@@ -34,9 +34,9 @@ e};S=function(f,h,l){l?C[l].postMessage(f,{transfer:h}):postMessage(f,{transfer:
f.W,f.V,f.h,Ob());break;case "onRenderComplete":xc(f.g,f.h,{imageBitmaps:f.S,rasterStartMilliseconds:f.Y,rasterEndMilliseconds:f.X});break;case "setAssociatedObject":c.set(f.F,f.object);break;case "disposeAssociatedObject":f=f.F;h=c.get(f);h.close&&h.close();c.delete(f);break;case "disposeSurface":yc(f.g);break;case "rasterizeImage":zc(f.g,f.image,f.format,f.h);break;case "onRasterizeComplete":Ac(f.g,f.data,f.h);break;default:console.warn(`unrecognized skwasm message: ${h}`)}})};ic=function(e,f,h){S({l:"setAssociatedObject",
F:f,object:h},[h],e)};Zb=function(e){return c.get(e)};Yb=function(e,f){S({l:"disposeAssociatedObject",F:f},[],e)};Sb=function(e,f){S({l:"disposeSurface",g:f},[],e)};Wb=function(e,f,h,l){S({l:"transferCanvas",g:f,canvas:h,h:l},[h],e)};ec=function(e,f,h){S({l:"onInitialized",g:e,$:f,h},[])};Vb=function(e,f,h,l,m){S({l:"resizeSurface",g:f,width:h,height:l,h:m},[],e)};fc=function(e,f){S({l:"onResizeComplete",g:e,h:f},[])};gc=function(e,f,h){e=b.get(e);e.width=f;e.height=h};Ub=function(e,f,h,l,m){S({l:"renderPictures",
g:f,W:h,V:l,h:m},[],e)};hc=async function(e,f,h,l){f||=[];S({l:"onRenderComplete",g:e,h:l,S:f,Y:h,X:Ob()},[...f])};Mb=function(e,f){f||=[];e=b.get(e);f.push(e.transferToImageBitmap());return f};Tb=function(e,f,h,l,m){S({l:"rasterizeImage",g:f,image:h,format:l,h:m},[],e)};bc=function(e,f,h){S({l:"onRasterizeComplete",g:e,data:f,h})};Xb=function(e,f,h){S({l:"triggerContextLoss",g:f,h},[],e)};cc=function(e,f){S({l:"onContextLossTriggered",g:e,h:f},[])};dc=function(e,f){S({l:"reportContextLost",g:e,h:f},
[])};jc=function(){P.o.getExtension("WEBGL_lose_context").loseContext()};$b=function(e,f){const h=ob(e);b.set(h,e);var l=function(m){m.preventDefault();Bc(f);e.removeEventListener("webglcontextlost",l)};e.addEventListener("webglcontextlost",l);a.set(h,l);return h};Rb=function(e){const f=b.get(e),h=a.get(e);f&&h&&f.removeEventListener("webglcontextlost",h);P===I[e]&&(P=null);"object"==typeof JSEvents&&JSEvents.ba(I[e].o.canvas);I[e]&&I[e].o.canvas&&(I[e].o.canvas.N=void 0);I[e]=null;b.delete(e);a.delete(e)};
Qb=function(e,f,h){const l=P.o,m=l.createTexture();l.bindTexture(l.TEXTURE_2D,m);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);l.texImage2D(l.TEXTURE_2D,0,l.RGBA,f,h,0,l.RGBA,l.UNSIGNED_BYTE,e);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);l.bindTexture(l.TEXTURE_2D,null);e=M(G);G[e]=m;return e}})();
var Mc={__cxa_throw:(a,b,c)=>{var e=new Ra(a);t()[e.u+16>>2]=0;t()[e.u+4>>2]=b;t()[e.u+8>>2]=c;Sa=a;Ta++;throw Sa;},__syscall_fcntl64:function(){return 0},__syscall_fstat64:()=>{},__syscall_ioctl:function(){return 0},__syscall_openat:function(){},_abort_js:()=>{Ga("")},_emscripten_create_wasm_worker:(a,b)=>{let c=C[Xa]=new Worker(ma("skwasm.ww.js"));c.postMessage({$ww:Xa,wasm:qa,js:w.mainScriptUrlOrBlob||_scriptName,wasmMemory:g,sb:a,sz:b});c.onmessage=Da;return Xa++},_emscripten_get_now_is_monotonic:()=>
[])};jc=function(){P.o.getExtension("WEBGL_lose_context").loseContext()};$b=function(e,f,h){f=ob(e,{J:2,alpha:!0,depth:!0,stencil:!0,antialias:f,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",failIfMajorPerformanceCaveat:!1,I:!0});b.set(f,e);var l=function(m){m.preventDefault();Bc(h);e.removeEventListener("webglcontextlost",l)};e.addEventListener("webglcontextlost",l);a.set(f,l);return f};Rb=function(e){const f=b.get(e),h=a.get(e);f&&h&&f.removeEventListener("webglcontextlost",
h);P===I[e]&&(P=null);"object"==typeof JSEvents&&JSEvents.ba(I[e].o.canvas);I[e]&&I[e].o.canvas&&(I[e].o.canvas.N=void 0);I[e]=null;b.delete(e);a.delete(e)};Qb=function(e,f,h){const l=P.o,m=l.createTexture();l.bindTexture(l.TEXTURE_2D,m);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);l.texImage2D(l.TEXTURE_2D,0,l.RGBA,f,h,0,l.RGBA,l.UNSIGNED_BYTE,e);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);l.bindTexture(l.TEXTURE_2D,null);e=M(G);G[e]=m;return e}})();
var Lc={__cxa_throw:(a,b,c)=>{var e=new Ra(a);t()[e.u+16>>2]=0;t()[e.u+4>>2]=b;t()[e.u+8>>2]=c;Sa=a;Ta++;throw Sa;},__syscall_fcntl64:function(){return 0},__syscall_fstat64:()=>{},__syscall_ioctl:function(){return 0},__syscall_openat:function(){},_abort_js:()=>{Ga("")},_emscripten_create_wasm_worker:(a,b)=>{let c=C[Xa]=new Worker(ma("skwasm.ww.js"));c.postMessage({$ww:Xa,wasm:qa,js:w.mainScriptUrlOrBlob||_scriptName,wasmMemory:g,sb:a,sz:b});c.onmessage=Da;return Xa++},_emscripten_get_now_is_monotonic:()=>
1,_emscripten_runtime_keepalive_clear:()=>{za=!1;Oa=0},_emscripten_throw_longjmp:()=>{throw Infinity;},_mmap_js:function(){return-52},_munmap_js:function(){},_setitimer_js:(a,b)=>{Ya[a]&&(clearTimeout(Ya[a].id),delete Ya[a]);if(!b)return 0;var c=setTimeout(()=>{delete Ya[a];Qa(()=>Cc(a,performance.now()))},b);Ya[a]={id:c,ca:b};return 0},_tzset_js:(a,b,c,e)=>{var f=(new Date).getFullYear(),h=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f,6,1)).getTimezoneOffset();var l=Math.max(h,f);t()[a>>2]=
60*l;r()[b>>2]=Number(h!=f);b=m=>{var p=Math.abs(m);return`UTC${0<=m?"-":"+"}${String(Math.floor(p/60)).padStart(2,"0")}${String(p%60).padStart(2,"0")}`};a=b(h);b=b(f);f<h?(D(a,c,17),D(b,e,17)):(D(a,e,17),D(b,c,17))},emscripten_console_warn:a=>{console.warn(Wa(a))},emscripten_get_now:()=>performance.now(),emscripten_glActiveTexture:a=>E.activeTexture(a),emscripten_glAttachShader:(a,b)=>{E.attachShader(F[a],H[b])},emscripten_glBeginQuery:(a,b)=>{E.beginQuery(a,J[b])},emscripten_glBeginQueryEXT:(a,
b)=>{E.m.beginQueryEXT(a,J[b])},emscripten_glBindAttribLocation:(a,b,c)=>{E.bindAttribLocation(F[a],b,Wa(c))},emscripten_glBindBuffer:(a,b)=>{35051==a?E.D=b:35052==a&&(E.s=b);E.bindBuffer(a,fb[b])},emscripten_glBindFramebuffer:(a,b)=>{E.bindFramebuffer(a,gb[b])},emscripten_glBindRenderbuffer:(a,b)=>{E.bindRenderbuffer(a,hb[b])},emscripten_glBindSampler:(a,b)=>{E.bindSampler(a,K[b])},emscripten_glBindTexture:(a,b)=>{E.bindTexture(a,G[b])},emscripten_glBindVertexArray:qb,emscripten_glBindVertexArrayOES:qb,
@@ -74,9 +74,9 @@ b,c,e,f)},emscripten_glVertexAttribPointer:(a,b,c,e,f,h)=>{E.vertexAttribPointer
void 0}if(f)return!0}return!1},emscripten_wasm_worker_post_function_v:(a,b)=>{C[a].postMessage({_wsc:b,x:[]})},emscripten_webgl_enable_extension:function(a,b){a=I[a];b=Wa(b);b.startsWith("GL_")&&(b=b.substr(3));"ANGLE_instanced_arrays"==b&&Za(E);"OES_vertex_array_object"==b&&$a(E);"WEBGL_draw_buffers"==b&&ab(E);"WEBGL_draw_instanced_base_vertex_base_instance"==b&&bb(E);"WEBGL_multi_draw_instanced_base_vertex_base_instance"==b&&cb(E);"WEBGL_multi_draw"==b&&(E.U=E.getExtension("WEBGL_multi_draw"));
"EXT_polygon_offset_clamp"==b&&(E.R=E.getExtension("EXT_polygon_offset_clamp"));"EXT_clip_control"==b&&(E.P=E.getExtension("EXT_clip_control"));"WEBGL_polygon_mode"==b&&(E.Z=E.getExtension("WEBGL_polygon_mode"));return!!a.o.getExtension(b)},emscripten_webgl_get_current_context:()=>P?P.handle:0,emscripten_webgl_make_context_current:a=>{P=I[a];w.aa=E=P?.o;return!a||E?0:-5},environ_get:(a,b)=>{var c=0;Kb().forEach((e,f)=>{var h=b+c;f=t()[a+4*f>>2]=h;for(h=0;h<e.length;++h)d()[f++]=e.charCodeAt(h);d()[f]=
0;c+=e.length+1});return 0},environ_sizes_get:(a,b)=>{var c=Kb();t()[a>>2]=c.length;var e=0;c.forEach(f=>e+=f.length+1);t()[b>>2]=e;return 0},fd_close:()=>52,fd_pread:function(){return 52},fd_read:()=>52,fd_seek:function(){return 70},fd_write:(a,b,c,e)=>{for(var f=0,h=0;h<c;h++){var l=t()[b>>2],m=t()[b+4>>2];b+=8;for(var p=0;p<m;p++){var v=q()[l+p],U=Lb[a];0===v||10===v?((1===a?pa:y)(Va(U)),U.length=0):U.push(v)}f+=m}t()[e>>2]=f;return 0},glDeleteTextures:rb,glGetIntegerv:yb,glGetString:Cb,glGetStringi:Db,
invoke_ii:Dc,invoke_iii:Ec,invoke_iiii:Fc,invoke_iiiii:Gc,invoke_iiiiiii:Hc,invoke_vi:Ic,invoke_vii:Jc,invoke_viii:Kc,invoke_viiiiiii:Lc,memory:g,proc_exit:Pa,skwasm_captureImageBitmap:Mb,skwasm_connectThread:Pb,skwasm_createGlTextureFromTextureSource:Qb,skwasm_destroyContext:Rb,skwasm_dispatchDisposeSurface:Sb,skwasm_dispatchRasterizeImage:Tb,skwasm_dispatchRenderPictures:Ub,skwasm_dispatchResizeSurface:Vb,skwasm_dispatchTransferCanvas:Wb,skwasm_dispatchTriggerContextLoss:Xb,skwasm_disposeAssociatedObjectOnThread:Yb,
invoke_ii:Dc,invoke_iii:Ec,invoke_iiiii:Fc,invoke_iiiiiii:Gc,invoke_vi:Hc,invoke_vii:Ic,invoke_viii:Jc,invoke_viiiiiii:Kc,memory:g,proc_exit:Pa,skwasm_captureImageBitmap:Mb,skwasm_connectThread:Pb,skwasm_createGlTextureFromTextureSource:Qb,skwasm_destroyContext:Rb,skwasm_dispatchDisposeSurface:Sb,skwasm_dispatchRasterizeImage:Tb,skwasm_dispatchRenderPictures:Ub,skwasm_dispatchResizeSurface:Vb,skwasm_dispatchTransferCanvas:Wb,skwasm_dispatchTriggerContextLoss:Xb,skwasm_disposeAssociatedObjectOnThread:Yb,
skwasm_getAssociatedObject:Zb,skwasm_getGlContextForCanvas:$b,skwasm_isSingleThreaded:ac,skwasm_postRasterizeResult:bc,skwasm_reportContextLossTriggered:cc,skwasm_reportContextLost:dc,skwasm_reportInitialized:ec,skwasm_reportResizeComplete:fc,skwasm_resizeCanvas:gc,skwasm_resolveAndPostImages:hc,skwasm_setAssociatedObjectOnThread:ic,skwasm_triggerContextLossOnCanvas:jc},W=function(){function a(c,e){W=c.exports;w.wasmExports=W;B=W.__indirect_function_table;wa.unshift(W.__wasm_call_ctors);qa=e;z--;
0==z&&(null!==Fa&&(clearInterval(Fa),Fa=null),A&&(c=A,A=null,c()));return W}var b={env:Mc,wasi_snapshot_preview1:Mc};z++;if(w.instantiateWasm)try{return w.instantiateWasm(b,a)}catch(c){y(`Module.instantiateWasm callback failed with error: ${c}`),fa(c)}Ia??=Ha("skwasm.wasm")?"skwasm.wasm":ma("skwasm.wasm");La(b,function(c){a(c.instance,c.module)}).catch(fa);return{}}();w._canvas_saveLayer=(a,b,c,e)=>(w._canvas_saveLayer=W.canvas_saveLayer)(a,b,c,e);w._canvas_save=a=>(w._canvas_save=W.canvas_save)(a);
0==z&&(null!==Fa&&(clearInterval(Fa),Fa=null),A&&(c=A,A=null,c()));return W}var b={env:Lc,wasi_snapshot_preview1:Lc};z++;if(w.instantiateWasm)try{return w.instantiateWasm(b,a)}catch(c){y(`Module.instantiateWasm callback failed with error: ${c}`),fa(c)}Ia??=Ha("skwasm.wasm")?"skwasm.wasm":ma("skwasm.wasm");La(b,function(c){a(c.instance,c.module)}).catch(fa);return{}}();w._canvas_saveLayer=(a,b,c,e)=>(w._canvas_saveLayer=W.canvas_saveLayer)(a,b,c,e);w._canvas_save=a=>(w._canvas_save=W.canvas_save)(a);
w._canvas_restore=a=>(w._canvas_restore=W.canvas_restore)(a);w._canvas_restoreToCount=(a,b)=>(w._canvas_restoreToCount=W.canvas_restoreToCount)(a,b);w._canvas_getSaveCount=a=>(w._canvas_getSaveCount=W.canvas_getSaveCount)(a);w._canvas_translate=(a,b,c)=>(w._canvas_translate=W.canvas_translate)(a,b,c);w._canvas_scale=(a,b,c)=>(w._canvas_scale=W.canvas_scale)(a,b,c);w._canvas_rotate=(a,b)=>(w._canvas_rotate=W.canvas_rotate)(a,b);w._canvas_skew=(a,b,c)=>(w._canvas_skew=W.canvas_skew)(a,b,c);
w._canvas_transform=(a,b)=>(w._canvas_transform=W.canvas_transform)(a,b);w._canvas_clear=(a,b)=>(w._canvas_clear=W.canvas_clear)(a,b);w._canvas_clipRect=(a,b,c,e)=>(w._canvas_clipRect=W.canvas_clipRect)(a,b,c,e);w._canvas_clipRRect=(a,b,c)=>(w._canvas_clipRRect=W.canvas_clipRRect)(a,b,c);w._canvas_clipPath=(a,b,c)=>(w._canvas_clipPath=W.canvas_clipPath)(a,b,c);w._canvas_drawColor=(a,b,c)=>(w._canvas_drawColor=W.canvas_drawColor)(a,b,c);
w._canvas_drawLine=(a,b,c,e,f,h)=>(w._canvas_drawLine=W.canvas_drawLine)(a,b,c,e,f,h);w._canvas_drawPaint=(a,b)=>(w._canvas_drawPaint=W.canvas_drawPaint)(a,b);w._canvas_drawRect=(a,b,c)=>(w._canvas_drawRect=W.canvas_drawRect)(a,b,c);w._canvas_drawRRect=(a,b,c)=>(w._canvas_drawRRect=W.canvas_drawRRect)(a,b,c);w._canvas_drawDRRect=(a,b,c,e)=>(w._canvas_drawDRRect=W.canvas_drawDRRect)(a,b,c,e);w._canvas_drawOval=(a,b,c)=>(w._canvas_drawOval=W.canvas_drawOval)(a,b,c);
@@ -102,7 +102,7 @@ w._picture_getCullRect=(a,b)=>(w._picture_getCullRect=W.picture_getCullRect)(a,b
w._shader_createRadialGradient=(a,b,c,e,f,h,l,m)=>(w._shader_createRadialGradient=W.shader_createRadialGradient)(a,b,c,e,f,h,l,m);w._shader_createConicalGradient=(a,b,c,e,f,h,l,m)=>(w._shader_createConicalGradient=W.shader_createConicalGradient)(a,b,c,e,f,h,l,m);w._shader_createSweepGradient=(a,b,c,e,f,h,l,m,p)=>(w._shader_createSweepGradient=W.shader_createSweepGradient)(a,b,c,e,f,h,l,m,p);w._shader_dispose=a=>(w._shader_dispose=W.shader_dispose)(a);
w._runtimeEffect_create=a=>(w._runtimeEffect_create=W.runtimeEffect_create)(a);w._runtimeEffect_dispose=a=>(w._runtimeEffect_dispose=W.runtimeEffect_dispose)(a);w._runtimeEffect_getUniformSize=a=>(w._runtimeEffect_getUniformSize=W.runtimeEffect_getUniformSize)(a);w._shader_createRuntimeEffectShader=(a,b,c,e)=>(w._shader_createRuntimeEffectShader=W.shader_createRuntimeEffectShader)(a,b,c,e);w._shader_createFromImage=(a,b,c,e,f)=>(w._shader_createFromImage=W.shader_createFromImage)(a,b,c,e,f);
w._uniformData_create=a=>(w._uniformData_create=W.uniformData_create)(a);w._uniformData_dispose=a=>(w._uniformData_dispose=W.uniformData_dispose)(a);w._uniformData_getPointer=a=>(w._uniformData_getPointer=W.uniformData_getPointer)(a);w._skString_allocate=a=>(w._skString_allocate=W.skString_allocate)(a);w._skString_getData=a=>(w._skString_getData=W.skString_getData)(a);w._skString_getLength=a=>(w._skString_getLength=W.skString_getLength)(a);w._skString_free=a=>(w._skString_free=W.skString_free)(a);
w._skString16_allocate=a=>(w._skString16_allocate=W.skString16_allocate)(a);w._skString16_getData=a=>(w._skString16_getData=W.skString16_getData)(a);w._skString16_free=a=>(w._skString16_free=W.skString16_free)(a);w._surface_create=()=>(w._surface_create=W.surface_create)();w._surface_setCanvas=(a,b)=>(w._surface_setCanvas=W.surface_setCanvas)(a,b);
w._skString16_allocate=a=>(w._skString16_allocate=W.skString16_allocate)(a);w._skString16_getData=a=>(w._skString16_getData=W.skString16_getData)(a);w._skString16_free=a=>(w._skString16_free=W.skString16_free)(a);w._skwasm_isWimp=()=>(w._skwasm_isWimp=W.skwasm_isWimp)();w._surface_create=()=>(w._surface_create=W.surface_create)();w._surface_setCanvas=(a,b)=>(w._surface_setCanvas=W.surface_setCanvas)(a,b);
var pc=w._surface_receiveCanvasOnWorker=(a,b,c)=>(pc=w._surface_receiveCanvasOnWorker=W.surface_receiveCanvasOnWorker)(a,b,c),qc=w._surface_onInitialized=(a,b)=>(qc=w._surface_onInitialized=W.surface_onInitialized)(a,b);w._surface_setSize=(a,b,c)=>(w._surface_setSize=W.surface_setSize)(a,b,c);
var rc=w._surface_resizeOnWorker=(a,b,c,e)=>(rc=w._surface_resizeOnWorker=W.surface_resizeOnWorker)(a,b,c,e),sc=w._surface_onResizeComplete=(a,b)=>(sc=w._surface_onResizeComplete=W.surface_onResizeComplete)(a,b);w._surface_getThreadId=a=>(w._surface_getThreadId=W.surface_getThreadId)(a);w._surface_getGlContext=a=>(w._surface_getGlContext=W.surface_getGlContext)(a);w._surface_triggerContextLoss=a=>(w._surface_triggerContextLoss=W.surface_triggerContextLoss)(a);
var tc=w._surface_triggerContextLossOnWorker=(a,b)=>(tc=w._surface_triggerContextLossOnWorker=W.surface_triggerContextLossOnWorker)(a,b),uc=w._surface_onContextLossTriggered=(a,b)=>(uc=w._surface_onContextLossTriggered=W.surface_onContextLossTriggered)(a,b),vc=w._surface_reportContextLost=(a,b)=>(vc=w._surface_reportContextLost=W.surface_reportContextLost)(a,b);w._surface_setCallbackHandler=(a,b)=>(w._surface_setCallbackHandler=W.surface_setCallbackHandler)(a,b);
@@ -131,12 +131,12 @@ w._textStyle_setForeground=(a,b)=>(w._textStyle_setForeground=W.textStyle_setFor
w._vertices_dispose=a=>(w._vertices_dispose=W.vertices_dispose)(a);w._animatedImage_create=(a,b,c)=>(w._animatedImage_create=W.animatedImage_create)(a,b,c);w._animatedImage_dispose=a=>(w._animatedImage_dispose=W.animatedImage_dispose)(a);w._animatedImage_getFrameCount=a=>(w._animatedImage_getFrameCount=W.animatedImage_getFrameCount)(a);w._animatedImage_getRepetitionCount=a=>(w._animatedImage_getRepetitionCount=W.animatedImage_getRepetitionCount)(a);
w._animatedImage_getCurrentFrameDurationMilliseconds=a=>(w._animatedImage_getCurrentFrameDurationMilliseconds=W.animatedImage_getCurrentFrameDurationMilliseconds)(a);w._animatedImage_decodeNextFrame=a=>(w._animatedImage_decodeNextFrame=W.animatedImage_decodeNextFrame)(a);w._animatedImage_getCurrentFrame=a=>(w._animatedImage_getCurrentFrame=W.animatedImage_getCurrentFrame)(a);w._skwasm_isHeavy=()=>(w._skwasm_isHeavy=W.skwasm_isHeavy)();
w._paragraphBuilder_create=(a,b)=>(w._paragraphBuilder_create=W.paragraphBuilder_create)(a,b);w._paragraphBuilder_build=a=>(w._paragraphBuilder_build=W.paragraphBuilder_build)(a);w._paragraphBuilder_setGraphemeBreaksUtf16=(a,b)=>(w._paragraphBuilder_setGraphemeBreaksUtf16=W.paragraphBuilder_setGraphemeBreaksUtf16)(a,b);w._paragraphBuilder_setWordBreaksUtf16=(a,b)=>(w._paragraphBuilder_setWordBreaksUtf16=W.paragraphBuilder_setWordBreaksUtf16)(a,b);
w._paragraphBuilder_setLineBreaksUtf16=(a,b)=>(w._paragraphBuilder_setLineBreaksUtf16=W.paragraphBuilder_setLineBreaksUtf16)(a,b);w._skwasm_isWimp=()=>(w._skwasm_isWimp=W.skwasm_isWimp)();var Ab=a=>(Ab=W.malloc)(a),Cc=(a,b)=>(Cc=W._emscripten_timeout)(a,b),X=(a,b)=>(X=W.setThrew)(a,b),Y=a=>(Y=W._emscripten_stack_restore)(a),lc=a=>(lc=W._emscripten_stack_alloc)(a),Z=()=>(Z=W.emscripten_stack_get_current)(),Aa=(a,b)=>(Aa=W._emscripten_wasm_worker_initialize)(a,b);
function Ec(a,b,c){var e=Z();try{return B.get(a)(b,c)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Jc(a,b,c){var e=Z();try{B.get(a)(b,c)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Dc(a,b){var c=Z();try{return B.get(a)(b)}catch(e){Y(c);if(e!==e+0)throw e;X(1,0)}}function Kc(a,b,c,e){var f=Z();try{B.get(a)(b,c,e)}catch(h){Y(f);if(h!==h+0)throw h;X(1,0)}}function Fc(a,b,c,e){var f=Z();try{return B.get(a)(b,c,e)}catch(h){Y(f);if(h!==h+0)throw h;X(1,0)}}
function Gc(a,b,c,e,f){var h=Z();try{return B.get(a)(b,c,e,f)}catch(l){Y(h);if(l!==l+0)throw l;X(1,0)}}function Lc(a,b,c,e,f,h,l,m){var p=Z();try{B.get(a)(b,c,e,f,h,l,m)}catch(v){Y(p);if(v!==v+0)throw v;X(1,0)}}function Ic(a,b){var c=Z();try{B.get(a)(b)}catch(e){Y(c);if(e!==e+0)throw e;X(1,0)}}function Hc(a,b,c,e,f,h,l){var m=Z();try{return B.get(a)(b,c,e,f,h,l)}catch(p){Y(m);if(p!==p+0)throw p;X(1,0)}}w.wasmMemory=g;w.wasmExports=W;w.stackAlloc=mc;
w._paragraphBuilder_setLineBreaksUtf16=(a,b)=>(w._paragraphBuilder_setLineBreaksUtf16=W.paragraphBuilder_setLineBreaksUtf16)(a,b);var Ab=a=>(Ab=W.malloc)(a),Cc=(a,b)=>(Cc=W._emscripten_timeout)(a,b),X=(a,b)=>(X=W.setThrew)(a,b),Y=a=>(Y=W._emscripten_stack_restore)(a),lc=a=>(lc=W._emscripten_stack_alloc)(a),Z=()=>(Z=W.emscripten_stack_get_current)(),Aa=(a,b)=>(Aa=W._emscripten_wasm_worker_initialize)(a,b);
function Ec(a,b,c){var e=Z();try{return B.get(a)(b,c)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Ic(a,b,c){var e=Z();try{B.get(a)(b,c)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Dc(a,b){var c=Z();try{return B.get(a)(b)}catch(e){Y(c);if(e!==e+0)throw e;X(1,0)}}function Jc(a,b,c,e){var f=Z();try{B.get(a)(b,c,e)}catch(h){Y(f);if(h!==h+0)throw h;X(1,0)}}function Fc(a,b,c,e,f){var h=Z();try{return B.get(a)(b,c,e,f)}catch(l){Y(h);if(l!==l+0)throw l;X(1,0)}}
function Kc(a,b,c,e,f,h,l,m){var p=Z();try{B.get(a)(b,c,e,f,h,l,m)}catch(v){Y(p);if(v!==v+0)throw v;X(1,0)}}function Hc(a,b){var c=Z();try{B.get(a)(b)}catch(e){Y(c);if(e!==e+0)throw e;X(1,0)}}function Gc(a,b,c,e,f,h,l){var m=Z();try{return B.get(a)(b,c,e,f,h,l)}catch(p){Y(m);if(p!==p+0)throw p;X(1,0)}}w.wasmMemory=g;w.wasmExports=W;w.stackAlloc=mc;
w.addFunction=(a,b)=>{if(!T){T=new WeakMap;var c=B.length;if(T)for(var e=0;e<0+c;e++){var f=B.get(e);f&&T.set(f,e)}}if(c=T.get(a)||0)return c;if(kc.length)c=kc.pop();else{try{B.grow(1)}catch(m){if(!(m instanceof RangeError))throw m;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";}c=B.length-1}try{B.set(c,a)}catch(m){if(!(m instanceof TypeError))throw m;if("function"==typeof WebAssembly.Function){e=WebAssembly.Function;f={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};for(var h={parameters:[],
results:"v"==b[0]?[]:[f[b[0]]]},l=1;l<b.length;++l)h.parameters.push(f[b[l]]);b=new e(h,a)}else{e=[1];f=b.slice(0,1);b=b.slice(1);h={i:127,p:127,j:126,f:125,d:124,e:111};e.push(96);l=b.length;128>l?e.push(l):e.push(l%128|128,l>>7);for(l=0;l<b.length;++l)e.push(h[b[l]]);"v"==f?e.push(0):e.push(1,h[f]);b=[0,97,115,109,1,0,0,0,1];f=e.length;128>f?b.push(f):b.push(f%128|128,f>>7);b.push(...e);b.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);b=new WebAssembly.Module(new Uint8Array(b));b=(new WebAssembly.Instance(b,
{e:{f:a}})).exports.f}B.set(c,b)}T.set(a,c);return c};var Nc,Oc;A=function Pc(){Nc||Qc();Nc||(A=Pc)};function Qc(){if(!(0<z))if(ka)ea(w),ya();else{if(!Oc&&(Oc=1,Ea(va),0<z))return;Nc||(Nc=1,w.calledRun=1,ra||(ya(),ea(w),Ea(xa)))}}Qc();moduleRtn=ha;
{e:{f:a}})).exports.f}B.set(c,b)}T.set(a,c);return c};var Mc,Nc;A=function Oc(){Mc||Pc();Mc||(A=Oc)};function Pc(){if(!(0<z))if(ka)ea(w),ya();else{if(!Nc&&(Nc=1,Ea(va),0<z))return;Mc||(Mc=1,w.calledRun=1,ra||(ya(),ea(w),Ea(xa)))}}Pc();moduleRtn=ha;
return moduleRtn;
File diff suppressed because one or more lines are too long
Binary file not shown.
+14 -14
View File
@@ -17,10 +17,10 @@ var Sa=0,Ta=0,Ua="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Va=(a,b=
Wa=(a,b)=>a?Va(q(),a,b):"",C={},Xa=1,Ya={},D=(a,b,c)=>{var e=q();if(0<c){var f=b;c=b+c-1;for(var h=0;h<a.length;++h){var l=a.charCodeAt(h);if(55296<=l&&57343>=l){var m=a.charCodeAt(++h);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(b>=c)break;e[b++]=l}else{if(2047>=l){if(b+1>=c)break;e[b++]=192|l>>6}else{if(65535>=l){if(b+2>=c)break;e[b++]=224|l>>12}else{if(b+3>=c)break;e[b++]=240|l>>18;e[b++]=128|l>>12&63}e[b++]=128|l>>6&63}e[b++]=128|l&63}}e[b]=0;a=b-f}else a=0;return a},E,Za=a=>{var b=a.getExtension("ANGLE_instanced_arrays");
b&&(a.vertexAttribDivisor=(c,e)=>b.vertexAttribDivisorANGLE(c,e),a.drawArraysInstanced=(c,e,f,h)=>b.drawArraysInstancedANGLE(c,e,f,h),a.drawElementsInstanced=(c,e,f,h,l)=>b.drawElementsInstancedANGLE(c,e,f,h,l))},$a=a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=c=>b.deleteVertexArrayOES(c),a.bindVertexArray=c=>b.bindVertexArrayOES(c),a.isVertexArray=c=>b.isVertexArrayOES(c))},ab=a=>{var b=a.getExtension("WEBGL_draw_buffers");
b&&(a.drawBuffers=(c,e)=>b.drawBuffersWEBGL(c,e))},bb=a=>{a.H=a.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")},cb=a=>{a.K=a.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")},db=a=>{var b="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");
return(a.getSupportedExtensions()||[]).filter(c=>b.includes(c))},eb=1,fb=[],F=[],gb=[],hb=[],G=[],H=[],ib=[],I=[],J=[],K=[],L=[],jb={},kb={},lb=4,mb=0,M=a=>{for(var b=eb++,c=a.length;c<b;c++)a[c]=null;return b},O=(a,b,c,e)=>{for(var f=0;f<a;f++){var h=E[c](),l=h&&M(e);h?(h.name=l,e[l]=h):N||=1282;r()[b+4*f>>2]=l}},ob=a=>{var b={J:2,alpha:!0,depth:!0,stencil:!0,antialias:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",failIfMajorPerformanceCaveat:!1,I:!0};a.u||(a.u=a.getContext,
a.getContext=function(e,f){f=a.u(e,f);return"webgl"==e==f instanceof WebGLRenderingContext?f:null});var c=1<b.J?a.getContext("webgl2",b):a.getContext("webgl",b);return c?nb(c,b):0},nb=(a,b)=>{var c=M(I),e={handle:c,attributes:b,version:b.J,o:a};a.canvas&&(a.canvas.N=e);I[c]=e;("undefined"==typeof b.I||b.I)&&pb(e);return c},pb=a=>{a||=P;if(!a.T){a.T=!0;var b=a.o;b.U=b.getExtension("WEBGL_multi_draw");b.R=b.getExtension("EXT_polygon_offset_clamp");b.P=b.getExtension("EXT_clip_control");b.Z=b.getExtension("WEBGL_polygon_mode");
Za(b);$a(b);ab(b);bb(b);cb(b);2<=a.version&&(b.m=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.m)b.m=b.getExtension("EXT_disjoint_timer_query");db(b).forEach(c=>{c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}},N,P,qb=a=>{E.bindVertexArray(ib[a])},rb=(a,b)=>{for(var c=0;c<a;c++){var e=r()[b+4*c>>2],f=G[e];f&&(E.deleteTexture(f),f.name=0,G[e]=null)}},sb=(a,b)=>{for(var c=0;c<a;c++){var e=r()[b+4*c>>2];E.deleteVertexArray(ib[e]);ib[e]=null}},tb=[],ub=(a,
b)=>{O(a,b,"createVertexArray",ib)},vb=(a,b)=>{t()[a>>2]=b;var c=t()[a>>2];t()[a+4>>2]=(b-c)/4294967296};function wb(){var a=db(E);return a=a.concat(a.map(b=>"GL_"+b))}
return(a.getSupportedExtensions()||[]).filter(c=>b.includes(c))},eb=1,fb=[],F=[],gb=[],hb=[],G=[],H=[],ib=[],I=[],J=[],K=[],L=[],jb={},kb={},lb=4,mb=0,M=a=>{for(var b=eb++,c=a.length;c<b;c++)a[c]=null;return b},O=(a,b,c,e)=>{for(var f=0;f<a;f++){var h=E[c](),l=h&&M(e);h?(h.name=l,e[l]=h):N||=1282;r()[b+4*f>>2]=l}},ob=(a,b)=>{a.u||(a.u=a.getContext,a.getContext=function(e,f){f=a.u(e,f);return"webgl"==e==f instanceof WebGLRenderingContext?f:null});var c=1<b.J?a.getContext("webgl2",b):a.getContext("webgl",
b);return c?nb(c,b):0},nb=(a,b)=>{var c=M(I),e={handle:c,attributes:b,version:b.J,o:a};a.canvas&&(a.canvas.N=e);I[c]=e;("undefined"==typeof b.I||b.I)&&pb(e);return c},pb=a=>{a||=P;if(!a.T){a.T=!0;var b=a.o;b.U=b.getExtension("WEBGL_multi_draw");b.R=b.getExtension("EXT_polygon_offset_clamp");b.P=b.getExtension("EXT_clip_control");b.Z=b.getExtension("WEBGL_polygon_mode");Za(b);$a(b);ab(b);bb(b);cb(b);2<=a.version&&(b.m=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.m)b.m=b.getExtension("EXT_disjoint_timer_query");
db(b).forEach(c=>{c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}},N,P,qb=a=>{E.bindVertexArray(ib[a])},rb=(a,b)=>{for(var c=0;c<a;c++){var e=r()[b+4*c>>2],f=G[e];f&&(E.deleteTexture(f),f.name=0,G[e]=null)}},sb=(a,b)=>{for(var c=0;c<a;c++){var e=r()[b+4*c>>2];E.deleteVertexArray(ib[e]);ib[e]=null}},tb=[],ub=(a,b)=>{O(a,b,"createVertexArray",ib)},vb=(a,b)=>{t()[a>>2]=b;var c=t()[a>>2];t()[a+4>>2]=(b-c)/4294967296};
function wb(){var a=db(E);return a=a.concat(a.map(b=>"GL_"+b))}
var xb=(a,b,c)=>{if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&(N||=1280);return;case 34814:case 36345:e=0;break;case 34466:var f=E.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>P.version){N||=1282;return}e=wb().length;break;case 33307:case 33308:if(2>P.version){N||=1280;return}e=33307==a?3:0}if(void 0===e)switch(f=E.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":N||=1280;return;case "object":if(null===f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=
0;break;default:N||=1280;return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a<f.length;++a)switch(c){case 0:r()[b+4*a>>2]=f[a];break;case 2:u()[b+4*a>>2]=f[a];break;case 4:d()[b+a]=f[a]?1:0}return}try{e=f.name|0}catch(h){N||=1280;y(`GL_INVALID_ENUM in glGet${c}v: Unknown object returned from WebGL getParameter(${a})! (error: ${h})`);return}}break;default:N||=1280;y(`GL_INVALID_ENUM in glGet${c}v: Native code calling glGet${c}v(${a}) and it returns ${f} of type ${typeof f}!`);
return}switch(c){case 1:vb(b,e);break;case 0:r()[b>>2]=e;break;case 2:u()[b>>2]=e;break;case 4:d()[b]=e?1:0}}else N||=1281},yb=(a,b)=>xb(a,b,0),zb=(a,b,c)=>{if(c){a=J[a];b=2>P.version?E.m.getQueryObjectEXT(a,b):E.getQueryParameter(a,b);var e;"boolean"==typeof b?e=b?1:0:e=b;vb(c,e)}else N||=1281},Bb=a=>{for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}b+=1;(c=Ab(b))&&D(a,c,b);return c},Cb=a=>{var b=jb[a];if(!b){switch(a){case 7939:b=Bb(wb().join(" "));
@@ -34,9 +34,9 @@ e};S=function(f,h,l){l?C[l].postMessage(f,{transfer:h}):postMessage(f,{transfer:
f.W,f.V,f.h,Ob());break;case "onRenderComplete":xc(f.g,f.h,{imageBitmaps:f.S,rasterStartMilliseconds:f.Y,rasterEndMilliseconds:f.X});break;case "setAssociatedObject":c.set(f.F,f.object);break;case "disposeAssociatedObject":f=f.F;h=c.get(f);h.close&&h.close();c.delete(f);break;case "disposeSurface":yc(f.g);break;case "rasterizeImage":zc(f.g,f.image,f.format,f.h);break;case "onRasterizeComplete":Ac(f.g,f.data,f.h);break;default:console.warn(`unrecognized skwasm message: ${h}`)}})};ic=function(e,f,h){S({l:"setAssociatedObject",
F:f,object:h},[h],e)};Zb=function(e){return c.get(e)};Yb=function(e,f){S({l:"disposeAssociatedObject",F:f},[],e)};Sb=function(e,f){S({l:"disposeSurface",g:f},[],e)};Wb=function(e,f,h,l){S({l:"transferCanvas",g:f,canvas:h,h:l},[h],e)};ec=function(e,f,h){S({l:"onInitialized",g:e,$:f,h},[])};Vb=function(e,f,h,l,m){S({l:"resizeSurface",g:f,width:h,height:l,h:m},[],e)};fc=function(e,f){S({l:"onResizeComplete",g:e,h:f},[])};gc=function(e,f,h){e=b.get(e);e.width=f;e.height=h};Ub=function(e,f,h,l,m){S({l:"renderPictures",
g:f,W:h,V:l,h:m},[],e)};hc=async function(e,f,h,l){f||=[];S({l:"onRenderComplete",g:e,h:l,S:f,Y:h,X:Ob()},[...f])};Mb=function(e,f){f||=[];e=b.get(e);f.push(e.transferToImageBitmap());return f};Tb=function(e,f,h,l,m){S({l:"rasterizeImage",g:f,image:h,format:l,h:m},[],e)};bc=function(e,f,h){S({l:"onRasterizeComplete",g:e,data:f,h})};Xb=function(e,f,h){S({l:"triggerContextLoss",g:f,h},[],e)};cc=function(e,f){S({l:"onContextLossTriggered",g:e,h:f},[])};dc=function(e,f){S({l:"reportContextLost",g:e,h:f},
[])};jc=function(){P.o.getExtension("WEBGL_lose_context").loseContext()};$b=function(e,f){const h=ob(e);b.set(h,e);var l=function(m){m.preventDefault();Bc(f);e.removeEventListener("webglcontextlost",l)};e.addEventListener("webglcontextlost",l);a.set(h,l);return h};Rb=function(e){const f=b.get(e),h=a.get(e);f&&h&&f.removeEventListener("webglcontextlost",h);P===I[e]&&(P=null);"object"==typeof JSEvents&&JSEvents.ba(I[e].o.canvas);I[e]&&I[e].o.canvas&&(I[e].o.canvas.N=void 0);I[e]=null;b.delete(e);a.delete(e)};
Qb=function(e,f,h){const l=P.o,m=l.createTexture();l.bindTexture(l.TEXTURE_2D,m);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);l.texImage2D(l.TEXTURE_2D,0,l.RGBA,f,h,0,l.RGBA,l.UNSIGNED_BYTE,e);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);l.bindTexture(l.TEXTURE_2D,null);e=M(G);G[e]=m;return e}})();
var Mc={__cxa_throw:(a,b,c)=>{var e=new Ra(a);t()[e.u+16>>2]=0;t()[e.u+4>>2]=b;t()[e.u+8>>2]=c;Sa=a;Ta++;throw Sa;},__syscall_fcntl64:function(){return 0},__syscall_fstat64:()=>{},__syscall_ioctl:function(){return 0},__syscall_lstat64:()=>{},__syscall_newfstatat:()=>{},__syscall_openat:function(){},__syscall_stat64:()=>{},_abort_js:()=>{Ga("")},_emscripten_create_wasm_worker:(a,b)=>{let c=C[Xa]=new Worker(ma("skwasm_heavy.ww.js"));c.postMessage({$ww:Xa,wasm:qa,js:w.mainScriptUrlOrBlob||_scriptName,
[])};jc=function(){P.o.getExtension("WEBGL_lose_context").loseContext()};$b=function(e,f,h){f=ob(e,{J:2,alpha:!0,depth:!0,stencil:!0,antialias:f,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",failIfMajorPerformanceCaveat:!1,I:!0});b.set(f,e);var l=function(m){m.preventDefault();Bc(h);e.removeEventListener("webglcontextlost",l)};e.addEventListener("webglcontextlost",l);a.set(f,l);return f};Rb=function(e){const f=b.get(e),h=a.get(e);f&&h&&f.removeEventListener("webglcontextlost",
h);P===I[e]&&(P=null);"object"==typeof JSEvents&&JSEvents.ba(I[e].o.canvas);I[e]&&I[e].o.canvas&&(I[e].o.canvas.N=void 0);I[e]=null;b.delete(e);a.delete(e)};Qb=function(e,f,h){const l=P.o,m=l.createTexture();l.bindTexture(l.TEXTURE_2D,m);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);l.texImage2D(l.TEXTURE_2D,0,l.RGBA,f,h,0,l.RGBA,l.UNSIGNED_BYTE,e);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);l.bindTexture(l.TEXTURE_2D,null);e=M(G);G[e]=m;return e}})();
var Lc={__cxa_throw:(a,b,c)=>{var e=new Ra(a);t()[e.u+16>>2]=0;t()[e.u+4>>2]=b;t()[e.u+8>>2]=c;Sa=a;Ta++;throw Sa;},__syscall_fcntl64:function(){return 0},__syscall_fstat64:()=>{},__syscall_ioctl:function(){return 0},__syscall_lstat64:()=>{},__syscall_newfstatat:()=>{},__syscall_openat:function(){},__syscall_stat64:()=>{},_abort_js:()=>{Ga("")},_emscripten_create_wasm_worker:(a,b)=>{let c=C[Xa]=new Worker(ma("skwasm_heavy.ww.js"));c.postMessage({$ww:Xa,wasm:qa,js:w.mainScriptUrlOrBlob||_scriptName,
wasmMemory:g,sb:a,sz:b});c.onmessage=Da;return Xa++},_emscripten_get_now_is_monotonic:()=>1,_emscripten_runtime_keepalive_clear:()=>{za=!1;Oa=0},_emscripten_throw_longjmp:()=>{throw Infinity;},_mmap_js:function(){return-52},_munmap_js:function(){},_setitimer_js:(a,b)=>{Ya[a]&&(clearTimeout(Ya[a].id),delete Ya[a]);if(!b)return 0;var c=setTimeout(()=>{delete Ya[a];Qa(()=>Cc(a,performance.now()))},b);Ya[a]={id:c,ca:b};return 0},_tzset_js:(a,b,c,e)=>{var f=(new Date).getFullYear(),h=(new Date(f,0,1)).getTimezoneOffset();
f=(new Date(f,6,1)).getTimezoneOffset();var l=Math.max(h,f);t()[a>>2]=60*l;r()[b>>2]=Number(h!=f);b=m=>{var p=Math.abs(m);return`UTC${0<=m?"-":"+"}${String(Math.floor(p/60)).padStart(2,"0")}${String(p%60).padStart(2,"0")}`};a=b(h);b=b(f);f<h?(D(a,c,17),D(b,e,17)):(D(a,e,17),D(b,c,17))},emscripten_console_warn:a=>{console.warn(Wa(a))},emscripten_get_now:()=>performance.now(),emscripten_glActiveTexture:a=>E.activeTexture(a),emscripten_glAttachShader:(a,b)=>{E.attachShader(F[a],H[b])},emscripten_glBeginQuery:(a,
b)=>{E.beginQuery(a,J[b])},emscripten_glBeginQueryEXT:(a,b)=>{E.m.beginQueryEXT(a,J[b])},emscripten_glBindAttribLocation:(a,b,c)=>{E.bindAttribLocation(F[a],b,Wa(c))},emscripten_glBindBuffer:(a,b)=>{35051==a?E.D=b:35052==a&&(E.s=b);E.bindBuffer(a,fb[b])},emscripten_glBindFramebuffer:(a,b)=>{E.bindFramebuffer(a,gb[b])},emscripten_glBindRenderbuffer:(a,b)=>{E.bindRenderbuffer(a,hb[b])},emscripten_glBindSampler:(a,b)=>{E.bindSampler(a,K[b])},emscripten_glBindTexture:(a,b)=>{E.bindTexture(a,G[b])},emscripten_glBindVertexArray:qb,
@@ -74,9 +74,9 @@ b,c,e,f)},emscripten_glVertexAttribPointer:(a,b,c,e,f,h)=>{E.vertexAttribPointer
void 0}if(f)return!0}return!1},emscripten_wasm_worker_post_function_v:(a,b)=>{C[a].postMessage({_wsc:b,x:[]})},emscripten_webgl_enable_extension:function(a,b){a=I[a];b=Wa(b);b.startsWith("GL_")&&(b=b.substr(3));"ANGLE_instanced_arrays"==b&&Za(E);"OES_vertex_array_object"==b&&$a(E);"WEBGL_draw_buffers"==b&&ab(E);"WEBGL_draw_instanced_base_vertex_base_instance"==b&&bb(E);"WEBGL_multi_draw_instanced_base_vertex_base_instance"==b&&cb(E);"WEBGL_multi_draw"==b&&(E.U=E.getExtension("WEBGL_multi_draw"));
"EXT_polygon_offset_clamp"==b&&(E.R=E.getExtension("EXT_polygon_offset_clamp"));"EXT_clip_control"==b&&(E.P=E.getExtension("EXT_clip_control"));"WEBGL_polygon_mode"==b&&(E.Z=E.getExtension("WEBGL_polygon_mode"));return!!a.o.getExtension(b)},emscripten_webgl_get_current_context:()=>P?P.handle:0,emscripten_webgl_make_context_current:a=>{P=I[a];w.aa=E=P?.o;return!a||E?0:-5},environ_get:(a,b)=>{var c=0;Kb().forEach((e,f)=>{var h=b+c;f=t()[a+4*f>>2]=h;for(h=0;h<e.length;++h)d()[f++]=e.charCodeAt(h);d()[f]=
0;c+=e.length+1});return 0},environ_sizes_get:(a,b)=>{var c=Kb();t()[a>>2]=c.length;var e=0;c.forEach(f=>e+=f.length+1);t()[b>>2]=e;return 0},fd_close:()=>52,fd_pread:function(){return 52},fd_read:()=>52,fd_seek:function(){return 70},fd_write:(a,b,c,e)=>{for(var f=0,h=0;h<c;h++){var l=t()[b>>2],m=t()[b+4>>2];b+=8;for(var p=0;p<m;p++){var v=q()[l+p],U=Lb[a];0===v||10===v?((1===a?pa:y)(Va(U)),U.length=0):U.push(v)}f+=m}t()[e>>2]=f;return 0},glDeleteTextures:rb,glGetIntegerv:yb,glGetString:Cb,glGetStringi:Db,
invoke_ii:Dc,invoke_iii:Ec,invoke_iiii:Fc,invoke_iiiii:Gc,invoke_iiiiiii:Hc,invoke_vi:Ic,invoke_vii:Jc,invoke_viii:Kc,invoke_viiiiiii:Lc,memory:g,proc_exit:Pa,skwasm_captureImageBitmap:Mb,skwasm_connectThread:Pb,skwasm_createGlTextureFromTextureSource:Qb,skwasm_destroyContext:Rb,skwasm_dispatchDisposeSurface:Sb,skwasm_dispatchRasterizeImage:Tb,skwasm_dispatchRenderPictures:Ub,skwasm_dispatchResizeSurface:Vb,skwasm_dispatchTransferCanvas:Wb,skwasm_dispatchTriggerContextLoss:Xb,skwasm_disposeAssociatedObjectOnThread:Yb,
invoke_ii:Dc,invoke_iii:Ec,invoke_iiiii:Fc,invoke_iiiiiii:Gc,invoke_vi:Hc,invoke_vii:Ic,invoke_viii:Jc,invoke_viiiiiii:Kc,memory:g,proc_exit:Pa,skwasm_captureImageBitmap:Mb,skwasm_connectThread:Pb,skwasm_createGlTextureFromTextureSource:Qb,skwasm_destroyContext:Rb,skwasm_dispatchDisposeSurface:Sb,skwasm_dispatchRasterizeImage:Tb,skwasm_dispatchRenderPictures:Ub,skwasm_dispatchResizeSurface:Vb,skwasm_dispatchTransferCanvas:Wb,skwasm_dispatchTriggerContextLoss:Xb,skwasm_disposeAssociatedObjectOnThread:Yb,
skwasm_getAssociatedObject:Zb,skwasm_getGlContextForCanvas:$b,skwasm_isSingleThreaded:ac,skwasm_postRasterizeResult:bc,skwasm_reportContextLossTriggered:cc,skwasm_reportContextLost:dc,skwasm_reportInitialized:ec,skwasm_reportResizeComplete:fc,skwasm_resizeCanvas:gc,skwasm_resolveAndPostImages:hc,skwasm_setAssociatedObjectOnThread:ic,skwasm_triggerContextLossOnCanvas:jc},W=function(){function a(c,e){W=c.exports;w.wasmExports=W;B=W.__indirect_function_table;wa.unshift(W.__wasm_call_ctors);qa=e;z--;
0==z&&(null!==Fa&&(clearInterval(Fa),Fa=null),A&&(c=A,A=null,c()));return W}var b={env:Mc,wasi_snapshot_preview1:Mc};z++;if(w.instantiateWasm)try{return w.instantiateWasm(b,a)}catch(c){y(`Module.instantiateWasm callback failed with error: ${c}`),fa(c)}Ia??=Ha("skwasm_heavy.wasm")?"skwasm_heavy.wasm":ma("skwasm_heavy.wasm");La(b,function(c){a(c.instance,c.module)}).catch(fa);return{}}();w._canvas_saveLayer=(a,b,c,e)=>(w._canvas_saveLayer=W.canvas_saveLayer)(a,b,c,e);
0==z&&(null!==Fa&&(clearInterval(Fa),Fa=null),A&&(c=A,A=null,c()));return W}var b={env:Lc,wasi_snapshot_preview1:Lc};z++;if(w.instantiateWasm)try{return w.instantiateWasm(b,a)}catch(c){y(`Module.instantiateWasm callback failed with error: ${c}`),fa(c)}Ia??=Ha("skwasm_heavy.wasm")?"skwasm_heavy.wasm":ma("skwasm_heavy.wasm");La(b,function(c){a(c.instance,c.module)}).catch(fa);return{}}();w._canvas_saveLayer=(a,b,c,e)=>(w._canvas_saveLayer=W.canvas_saveLayer)(a,b,c,e);
w._canvas_save=a=>(w._canvas_save=W.canvas_save)(a);w._canvas_restore=a=>(w._canvas_restore=W.canvas_restore)(a);w._canvas_restoreToCount=(a,b)=>(w._canvas_restoreToCount=W.canvas_restoreToCount)(a,b);w._canvas_getSaveCount=a=>(w._canvas_getSaveCount=W.canvas_getSaveCount)(a);w._canvas_translate=(a,b,c)=>(w._canvas_translate=W.canvas_translate)(a,b,c);w._canvas_scale=(a,b,c)=>(w._canvas_scale=W.canvas_scale)(a,b,c);w._canvas_rotate=(a,b)=>(w._canvas_rotate=W.canvas_rotate)(a,b);
w._canvas_skew=(a,b,c)=>(w._canvas_skew=W.canvas_skew)(a,b,c);w._canvas_transform=(a,b)=>(w._canvas_transform=W.canvas_transform)(a,b);w._canvas_clear=(a,b)=>(w._canvas_clear=W.canvas_clear)(a,b);w._canvas_clipRect=(a,b,c,e)=>(w._canvas_clipRect=W.canvas_clipRect)(a,b,c,e);w._canvas_clipRRect=(a,b,c)=>(w._canvas_clipRRect=W.canvas_clipRRect)(a,b,c);w._canvas_clipPath=(a,b,c)=>(w._canvas_clipPath=W.canvas_clipPath)(a,b,c);w._canvas_drawColor=(a,b,c)=>(w._canvas_drawColor=W.canvas_drawColor)(a,b,c);
w._canvas_drawLine=(a,b,c,e,f,h)=>(w._canvas_drawLine=W.canvas_drawLine)(a,b,c,e,f,h);w._canvas_drawPaint=(a,b)=>(w._canvas_drawPaint=W.canvas_drawPaint)(a,b);w._canvas_drawRect=(a,b,c)=>(w._canvas_drawRect=W.canvas_drawRect)(a,b,c);w._canvas_drawRRect=(a,b,c)=>(w._canvas_drawRRect=W.canvas_drawRRect)(a,b,c);w._canvas_drawDRRect=(a,b,c,e)=>(w._canvas_drawDRRect=W.canvas_drawDRRect)(a,b,c,e);w._canvas_drawOval=(a,b,c)=>(w._canvas_drawOval=W.canvas_drawOval)(a,b,c);
@@ -102,7 +102,7 @@ w._picture_getCullRect=(a,b)=>(w._picture_getCullRect=W.picture_getCullRect)(a,b
w._shader_createRadialGradient=(a,b,c,e,f,h,l,m)=>(w._shader_createRadialGradient=W.shader_createRadialGradient)(a,b,c,e,f,h,l,m);w._shader_createConicalGradient=(a,b,c,e,f,h,l,m)=>(w._shader_createConicalGradient=W.shader_createConicalGradient)(a,b,c,e,f,h,l,m);w._shader_createSweepGradient=(a,b,c,e,f,h,l,m,p)=>(w._shader_createSweepGradient=W.shader_createSweepGradient)(a,b,c,e,f,h,l,m,p);w._shader_dispose=a=>(w._shader_dispose=W.shader_dispose)(a);
w._runtimeEffect_create=a=>(w._runtimeEffect_create=W.runtimeEffect_create)(a);w._runtimeEffect_dispose=a=>(w._runtimeEffect_dispose=W.runtimeEffect_dispose)(a);w._runtimeEffect_getUniformSize=a=>(w._runtimeEffect_getUniformSize=W.runtimeEffect_getUniformSize)(a);w._shader_createRuntimeEffectShader=(a,b,c,e)=>(w._shader_createRuntimeEffectShader=W.shader_createRuntimeEffectShader)(a,b,c,e);w._shader_createFromImage=(a,b,c,e,f)=>(w._shader_createFromImage=W.shader_createFromImage)(a,b,c,e,f);
w._uniformData_create=a=>(w._uniformData_create=W.uniformData_create)(a);w._uniformData_dispose=a=>(w._uniformData_dispose=W.uniformData_dispose)(a);w._uniformData_getPointer=a=>(w._uniformData_getPointer=W.uniformData_getPointer)(a);w._skString_allocate=a=>(w._skString_allocate=W.skString_allocate)(a);w._skString_getData=a=>(w._skString_getData=W.skString_getData)(a);w._skString_getLength=a=>(w._skString_getLength=W.skString_getLength)(a);w._skString_free=a=>(w._skString_free=W.skString_free)(a);
w._skString16_allocate=a=>(w._skString16_allocate=W.skString16_allocate)(a);w._skString16_getData=a=>(w._skString16_getData=W.skString16_getData)(a);w._skString16_free=a=>(w._skString16_free=W.skString16_free)(a);w._surface_create=()=>(w._surface_create=W.surface_create)();w._surface_setCanvas=(a,b)=>(w._surface_setCanvas=W.surface_setCanvas)(a,b);
w._skString16_allocate=a=>(w._skString16_allocate=W.skString16_allocate)(a);w._skString16_getData=a=>(w._skString16_getData=W.skString16_getData)(a);w._skString16_free=a=>(w._skString16_free=W.skString16_free)(a);w._skwasm_isWimp=()=>(w._skwasm_isWimp=W.skwasm_isWimp)();w._surface_create=()=>(w._surface_create=W.surface_create)();w._surface_setCanvas=(a,b)=>(w._surface_setCanvas=W.surface_setCanvas)(a,b);
var pc=w._surface_receiveCanvasOnWorker=(a,b,c)=>(pc=w._surface_receiveCanvasOnWorker=W.surface_receiveCanvasOnWorker)(a,b,c),qc=w._surface_onInitialized=(a,b)=>(qc=w._surface_onInitialized=W.surface_onInitialized)(a,b);w._surface_setSize=(a,b,c)=>(w._surface_setSize=W.surface_setSize)(a,b,c);
var rc=w._surface_resizeOnWorker=(a,b,c,e)=>(rc=w._surface_resizeOnWorker=W.surface_resizeOnWorker)(a,b,c,e),sc=w._surface_onResizeComplete=(a,b)=>(sc=w._surface_onResizeComplete=W.surface_onResizeComplete)(a,b);w._surface_getThreadId=a=>(w._surface_getThreadId=W.surface_getThreadId)(a);w._surface_getGlContext=a=>(w._surface_getGlContext=W.surface_getGlContext)(a);w._surface_triggerContextLoss=a=>(w._surface_triggerContextLoss=W.surface_triggerContextLoss)(a);
var tc=w._surface_triggerContextLossOnWorker=(a,b)=>(tc=w._surface_triggerContextLossOnWorker=W.surface_triggerContextLossOnWorker)(a,b),uc=w._surface_onContextLossTriggered=(a,b)=>(uc=w._surface_onContextLossTriggered=W.surface_onContextLossTriggered)(a,b),vc=w._surface_reportContextLost=(a,b)=>(vc=w._surface_reportContextLost=W.surface_reportContextLost)(a,b);w._surface_setCallbackHandler=(a,b)=>(w._surface_setCallbackHandler=W.surface_setCallbackHandler)(a,b);
@@ -131,12 +131,12 @@ w._textStyle_setForeground=(a,b)=>(w._textStyle_setForeground=W.textStyle_setFor
w._vertices_dispose=a=>(w._vertices_dispose=W.vertices_dispose)(a);w._animatedImage_create=(a,b,c)=>(w._animatedImage_create=W.animatedImage_create)(a,b,c);w._animatedImage_dispose=a=>(w._animatedImage_dispose=W.animatedImage_dispose)(a);w._animatedImage_getFrameCount=a=>(w._animatedImage_getFrameCount=W.animatedImage_getFrameCount)(a);w._animatedImage_getRepetitionCount=a=>(w._animatedImage_getRepetitionCount=W.animatedImage_getRepetitionCount)(a);
w._animatedImage_getCurrentFrameDurationMilliseconds=a=>(w._animatedImage_getCurrentFrameDurationMilliseconds=W.animatedImage_getCurrentFrameDurationMilliseconds)(a);w._animatedImage_decodeNextFrame=a=>(w._animatedImage_decodeNextFrame=W.animatedImage_decodeNextFrame)(a);w._animatedImage_getCurrentFrame=a=>(w._animatedImage_getCurrentFrame=W.animatedImage_getCurrentFrame)(a);w._skwasm_isHeavy=()=>(w._skwasm_isHeavy=W.skwasm_isHeavy)();
w._paragraphBuilder_create=(a,b)=>(w._paragraphBuilder_create=W.paragraphBuilder_create)(a,b);w._paragraphBuilder_build=a=>(w._paragraphBuilder_build=W.paragraphBuilder_build)(a);w._paragraphBuilder_setGraphemeBreaksUtf16=(a,b)=>(w._paragraphBuilder_setGraphemeBreaksUtf16=W.paragraphBuilder_setGraphemeBreaksUtf16)(a,b);w._paragraphBuilder_setWordBreaksUtf16=(a,b)=>(w._paragraphBuilder_setWordBreaksUtf16=W.paragraphBuilder_setWordBreaksUtf16)(a,b);
w._paragraphBuilder_setLineBreaksUtf16=(a,b)=>(w._paragraphBuilder_setLineBreaksUtf16=W.paragraphBuilder_setLineBreaksUtf16)(a,b);w._skwasm_isWimp=()=>(w._skwasm_isWimp=W.skwasm_isWimp)();var Ab=a=>(Ab=W.malloc)(a),Cc=(a,b)=>(Cc=W._emscripten_timeout)(a,b),X=(a,b)=>(X=W.setThrew)(a,b),Y=a=>(Y=W._emscripten_stack_restore)(a),lc=a=>(lc=W._emscripten_stack_alloc)(a),Z=()=>(Z=W.emscripten_stack_get_current)(),Aa=(a,b)=>(Aa=W._emscripten_wasm_worker_initialize)(a,b);
function Ec(a,b,c){var e=Z();try{return B.get(a)(b,c)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Jc(a,b,c){var e=Z();try{B.get(a)(b,c)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Dc(a,b){var c=Z();try{return B.get(a)(b)}catch(e){Y(c);if(e!==e+0)throw e;X(1,0)}}function Kc(a,b,c,e){var f=Z();try{B.get(a)(b,c,e)}catch(h){Y(f);if(h!==h+0)throw h;X(1,0)}}function Fc(a,b,c,e){var f=Z();try{return B.get(a)(b,c,e)}catch(h){Y(f);if(h!==h+0)throw h;X(1,0)}}
function Gc(a,b,c,e,f){var h=Z();try{return B.get(a)(b,c,e,f)}catch(l){Y(h);if(l!==l+0)throw l;X(1,0)}}function Lc(a,b,c,e,f,h,l,m){var p=Z();try{B.get(a)(b,c,e,f,h,l,m)}catch(v){Y(p);if(v!==v+0)throw v;X(1,0)}}function Ic(a,b){var c=Z();try{B.get(a)(b)}catch(e){Y(c);if(e!==e+0)throw e;X(1,0)}}function Hc(a,b,c,e,f,h,l){var m=Z();try{return B.get(a)(b,c,e,f,h,l)}catch(p){Y(m);if(p!==p+0)throw p;X(1,0)}}w.wasmMemory=g;w.wasmExports=W;w.stackAlloc=mc;
w._paragraphBuilder_setLineBreaksUtf16=(a,b)=>(w._paragraphBuilder_setLineBreaksUtf16=W.paragraphBuilder_setLineBreaksUtf16)(a,b);var Ab=a=>(Ab=W.malloc)(a),Cc=(a,b)=>(Cc=W._emscripten_timeout)(a,b),X=(a,b)=>(X=W.setThrew)(a,b),Y=a=>(Y=W._emscripten_stack_restore)(a),lc=a=>(lc=W._emscripten_stack_alloc)(a),Z=()=>(Z=W.emscripten_stack_get_current)(),Aa=(a,b)=>(Aa=W._emscripten_wasm_worker_initialize)(a,b);
function Ec(a,b,c){var e=Z();try{return B.get(a)(b,c)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Ic(a,b,c){var e=Z();try{B.get(a)(b,c)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Dc(a,b){var c=Z();try{return B.get(a)(b)}catch(e){Y(c);if(e!==e+0)throw e;X(1,0)}}function Jc(a,b,c,e){var f=Z();try{B.get(a)(b,c,e)}catch(h){Y(f);if(h!==h+0)throw h;X(1,0)}}function Fc(a,b,c,e,f){var h=Z();try{return B.get(a)(b,c,e,f)}catch(l){Y(h);if(l!==l+0)throw l;X(1,0)}}
function Kc(a,b,c,e,f,h,l,m){var p=Z();try{B.get(a)(b,c,e,f,h,l,m)}catch(v){Y(p);if(v!==v+0)throw v;X(1,0)}}function Hc(a,b){var c=Z();try{B.get(a)(b)}catch(e){Y(c);if(e!==e+0)throw e;X(1,0)}}function Gc(a,b,c,e,f,h,l){var m=Z();try{return B.get(a)(b,c,e,f,h,l)}catch(p){Y(m);if(p!==p+0)throw p;X(1,0)}}w.wasmMemory=g;w.wasmExports=W;w.stackAlloc=mc;
w.addFunction=(a,b)=>{if(!T){T=new WeakMap;var c=B.length;if(T)for(var e=0;e<0+c;e++){var f=B.get(e);f&&T.set(f,e)}}if(c=T.get(a)||0)return c;if(kc.length)c=kc.pop();else{try{B.grow(1)}catch(m){if(!(m instanceof RangeError))throw m;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";}c=B.length-1}try{B.set(c,a)}catch(m){if(!(m instanceof TypeError))throw m;if("function"==typeof WebAssembly.Function){e=WebAssembly.Function;f={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};for(var h={parameters:[],
results:"v"==b[0]?[]:[f[b[0]]]},l=1;l<b.length;++l)h.parameters.push(f[b[l]]);b=new e(h,a)}else{e=[1];f=b.slice(0,1);b=b.slice(1);h={i:127,p:127,j:126,f:125,d:124,e:111};e.push(96);l=b.length;128>l?e.push(l):e.push(l%128|128,l>>7);for(l=0;l<b.length;++l)e.push(h[b[l]]);"v"==f?e.push(0):e.push(1,h[f]);b=[0,97,115,109,1,0,0,0,1];f=e.length;128>f?b.push(f):b.push(f%128|128,f>>7);b.push(...e);b.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);b=new WebAssembly.Module(new Uint8Array(b));b=(new WebAssembly.Instance(b,
{e:{f:a}})).exports.f}B.set(c,b)}T.set(a,c);return c};var Nc,Oc;A=function Pc(){Nc||Qc();Nc||(A=Pc)};function Qc(){if(!(0<z))if(ka)ea(w),ya();else{if(!Oc&&(Oc=1,Ea(va),0<z))return;Nc||(Nc=1,w.calledRun=1,ra||(ya(),ea(w),Ea(xa)))}}Qc();moduleRtn=ha;
{e:{f:a}})).exports.f}B.set(c,b)}T.set(a,c);return c};var Mc,Nc;A=function Oc(){Mc||Pc();Mc||(A=Oc)};function Pc(){if(!(0<z))if(ka)ea(w),ya();else{if(!Nc&&(Nc=1,Ea(va),0<z))return;Mc||(Mc=1,w.calledRun=1,ra||(ya(),ea(w),Ea(xa)))}}Pc();moduleRtn=ha;
return moduleRtn;
File diff suppressed because one or more lines are too long
Binary file not shown.
+94 -95
View File
@@ -6,98 +6,98 @@ var wimp = (() => {
function(moduleArg = {}) {
var moduleRtn;
function c(){g.buffer!=k.buffer&&p();return k}function q(){g.buffer!=k.buffer&&p();return aa}function t(){g.buffer!=k.buffer&&p();return ba}function u(){g.buffer!=k.buffer&&p();return ca}function v(){g.buffer!=k.buffer&&p();return da}var w=moduleArg,ea,fa,ha=new Promise((a,b)=>{ea=a;fa=b}),ia="object"==typeof window,ja="function"==typeof importScripts,ka=w.$ww,la=Object.assign({},w),x="";function ma(a){return w.locateFile?w.locateFile(a,x):x+a}var na,oa;
function c(){g.buffer!=k.buffer&&p();return k}function q(){g.buffer!=k.buffer&&p();return aa}function r(){g.buffer!=k.buffer&&p();return ba}function t(){g.buffer!=k.buffer&&p();return ca}function v(){g.buffer!=k.buffer&&p();return da}var w=moduleArg,ea,fa,ha=new Promise((a,b)=>{ea=a;fa=b}),ia="object"==typeof window,ja="function"==typeof importScripts,ka=w.$ww,la=Object.assign({},w),x="";function ma(a){return w.locateFile?w.locateFile(a,x):x+a}var na,oa;
if(ia||ja)ja?x=self.location.href:"undefined"!=typeof document&&document.currentScript&&(x=document.currentScript.src),_scriptName&&(x=_scriptName),x.startsWith("blob:")?x="":x=x.substr(0,x.replace(/[?#].*/,"").lastIndexOf("/")+1),ja&&(oa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),na=a=>fetch(a,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(Error(b.status+" : "+b.url)));
var pa=console.log.bind(console),y=console.error.bind(console);Object.assign(w,la);la=null;var g,qa,ra=!1,sa,k,aa,ta,ua,ba,ca,da;function p(){var a=g.buffer;k=new Int8Array(a);ta=new Int16Array(a);aa=new Uint8Array(a);ua=new Uint16Array(a);ba=new Int32Array(a);ca=new Uint32Array(a);da=new Float32Array(a);new Float64Array(a)}w.wasmMemory?g=w.wasmMemory:g=new WebAssembly.Memory({initial:256,maximum:32768,shared:!0});p();var va=[],wa=[],xa=[];
function ya(){ka?(za=1,Aa(w.sb,w.sz),removeEventListener("message",Ba),Ca=Ca.forEach(Da),addEventListener("message",Da)):Ea(wa)}var z=0,Fa=null,A=null;function Ga(a){a="Aborted("+a+")";y(a);ra=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");fa(a);throw a;}var Ha=a=>a.startsWith("data:application/octet-stream;base64,"),Ia;
function Ja(a){return na(a).then(b=>new Uint8Array(b),()=>{if(oa)var b=oa(a);else throw"both async and sync fetching of the wasm failed";return b})}function Ka(a,b,d){return Ja(a).then(e=>WebAssembly.instantiate(e,b)).then(d,e=>{y(`failed to asynchronously prepare wasm: ${e}`);Ga(e)})}
function La(a,b){var d=Ia;return"function"!=typeof WebAssembly.instantiateStreaming||Ha(d)||"function"!=typeof fetch?Ka(d,a,b):fetch(d,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){y(`wasm streaming compile failed: ${f}`);y("falling back to ArrayBuffer instantiation");return Ka(d,a,b)}))}function Ma(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}
var Ca=[],Na=a=>{if(!(a instanceof Ma||"unwind"==a))throw a;},Oa=0,Pa=a=>{sa=a;za||0<Oa||(ra=!0);throw new Ma(a);},Qa=a=>{if(!ra)try{if(a(),!(za||0<Oa))try{sa=a=sa,Pa(a)}catch(b){Na(b)}}catch(b){Na(b)}},B,Da=a=>{let b=a.data,d=b._wsc;d&&Qa(()=>B.get(d)(...b.x))},Ba=a=>{Ca.push(a)},Ea=a=>{a.forEach(b=>b(w))},za=w.noExitRuntime||!0;class Ra{constructor(a){this.s=a-24}}
var Sa=0,Ta=0,Ua="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Va=(a,b=0,d=NaN)=>{var e=b+d;for(d=b;a[d]&&!(d>=e);)++d;if(16<d-b&&a.buffer&&Ua)return Ua.decode(a.slice(b,d));for(e="";b<d;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|h);else{var l=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|l:(f&7)<<18|h<<12|l<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e},
C=(a,b)=>a?Va(q(),a,b):"",D={},Wa=1,Xa={},E=(a,b,d)=>{var e=q();if(0<d){var f=b;d=b+d-1;for(var h=0;h<a.length;++h){var l=a.charCodeAt(h);if(55296<=l&&57343>=l){var m=a.charCodeAt(++h);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(b>=d)break;e[b++]=l}else{if(2047>=l){if(b+1>=d)break;e[b++]=192|l>>6}else{if(65535>=l){if(b+2>=d)break;e[b++]=224|l>>12}else{if(b+3>=d)break;e[b++]=240|l>>18;e[b++]=128|l>>12&63}e[b++]=128|l>>6&63}e[b++]=128|l&63}}e[b]=0;a=b-f}else a=0;return a},F,Ya=a=>{var b=a.getExtension("ANGLE_instanced_arrays");
b&&(a.vertexAttribDivisor=(d,e)=>b.vertexAttribDivisorANGLE(d,e),a.drawArraysInstanced=(d,e,f,h)=>b.drawArraysInstancedANGLE(d,e,f,h),a.drawElementsInstanced=(d,e,f,h,l)=>b.drawElementsInstancedANGLE(d,e,f,h,l))},Za=a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=d=>b.deleteVertexArrayOES(d),a.bindVertexArray=d=>b.bindVertexArrayOES(d),a.isVertexArray=d=>b.isVertexArrayOES(d))},$a=a=>{var b=a.getExtension("WEBGL_draw_buffers");
b&&(a.drawBuffers=(d,e)=>b.drawBuffersWEBGL(d,e))},ab=a=>{a.ba=a.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")},bb=a=>{a.ca=a.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")},cb=a=>{var b="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");
return(a.getSupportedExtensions()||[]).filter(d=>b.includes(d))},db=1,G=[],H=[],eb=[],I=[],J=[],K=[],fb=[],L=[],M=[],gb=[],hb={},ib={},jb=4,kb=0,N=a=>{for(var b=db++,d=a.length;d<b;d++)a[d]=null;return b},lb=(a,b,d,e)=>{for(var f=0;f<a;f++){var h=F[d](),l=h&&N(e);h?(h.name=l,e[l]=h):O||=1282;t()[b+4*f>>2]=l}},nb=a=>{var b={J:2,alpha:!0,depth:!0,stencil:!0,antialias:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",failIfMajorPerformanceCaveat:!1,H:!0};a.s||(a.s=a.getContext,
a.getContext=function(e,f){f=a.s(e,f);return"webgl"==e==f instanceof WebGLRenderingContext?f:null});var d=1<b.J?a.getContext("webgl2",b):a.getContext("webgl",b);return d?mb(d,b):0},mb=(a,b)=>{var d=N(L),e={handle:d,attributes:b,version:b.J,m:a};a.canvas&&(a.canvas.M=e);L[d]=e;("undefined"==typeof b.H||b.H)&&ob(e);return d},ob=a=>{a||=P;if(!a.S){a.S=!0;var b=a.m;b.U=b.getExtension("WEBGL_multi_draw");b.P=b.getExtension("EXT_polygon_offset_clamp");b.O=b.getExtension("EXT_clip_control");b.Z=b.getExtension("WEBGL_polygon_mode");
Ya(b);Za(b);$a(b);ab(b);bb(b);2<=a.version&&(b.o=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.o)b.o=b.getExtension("EXT_disjoint_timer_query");cb(b).forEach(d=>{d.includes("lose_context")||d.includes("debug")||b.getExtension(d)})}},O,P,pb=(a,b)=>{F.bindFramebuffer(a,eb[b])},qb=a=>F.clear(a),rb=(a,b,d,e)=>F.clearColor(a,b,d,e),sb=a=>F.clearStencil(a),tb=(a,b)=>{u()[a>>2]=b;var d=u()[a>>2];u()[a+4>>2]=(b-d)/4294967296};
function ub(){var a=cb(F);return a=a.concat(a.map(b=>"GL_"+b))}
var vb=(a,b,d)=>{if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=d&&1!=d&&(O||=1280);return;case 34814:case 36345:e=0;break;case 34466:var f=F.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>P.version){O||=1282;return}e=ub().length;break;case 33307:case 33308:if(2>P.version){O||=1280;return}e=33307==a?3:0}if(void 0===e)switch(f=F.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":O||=1280;return;case "object":if(null===f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=
0;break;default:O||=1280;return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a<f.length;++a)switch(d){case 0:t()[b+4*a>>2]=f[a];break;case 2:v()[b+4*a>>2]=f[a];break;case 4:c()[b+a]=f[a]?1:0}return}try{e=f.name|0}catch(h){O||=1280;y(`GL_INVALID_ENUM in glGet${d}v: Unknown object returned from WebGL getParameter(${a})! (error: ${h})`);return}}break;default:O||=1280;y(`GL_INVALID_ENUM in glGet${d}v: Native code calling glGet${d}v(${a}) and it returns ${f} of type ${typeof f}!`);
return}switch(d){case 1:tb(b,e);break;case 0:t()[b>>2]=e;break;case 2:v()[b>>2]=e;break;case 4:c()[b]=e?1:0}}else O||=1281},wb=(a,b)=>vb(a,b,0),xb=a=>{a-=5120;0==a?a=c():1==a?a=q():2==a?(g.buffer!=k.buffer&&p(),a=ta):4==a?a=t():6==a?a=v():5==a||28922==a||28520==a||30779==a||30782==a?a=u():(g.buffer!=k.buffer&&p(),a=ua);return a},yb=(a,b,d,e,f)=>{a=xb(a);b=e*((kb||d)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*a.BYTES_PER_ELEMENT+jb-1&-jb);return a.subarray(f>>>31-Math.clz32(a.BYTES_PER_ELEMENT),
f+b>>>31-Math.clz32(a.BYTES_PER_ELEMENT))},zb=(a,b,d,e,f,h,l)=>{if(2<=P.version)if(F.D)F.readPixels(a,b,d,e,f,h,l);else{var m=xb(h);l>>>=31-Math.clz32(m.BYTES_PER_ELEMENT);F.readPixels(a,b,d,e,f,h,m,l)}else(m=yb(h,f,d,e,l))?F.readPixels(a,b,d,e,f,h,m):O||=1280},Ab=()=>{Ga("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER");return 0},R={},Bb=a=>{a.forEach(b=>{var d=Ab();d&&(R[d]=b)})},Cb={},Eb=()=>{if(!Db){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",
PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"},b;for(b in Cb)void 0===Cb[b]?delete a[b]:a[b]=Cb[b];var d=[];for(b in a)d.push(`${b}=${a[b]}`);Db=d}return Db},Db,Fb=[null,[],[]],Hb=a=>{for(var b=0,d=0;d<a.length;++d){var e=a.charCodeAt(d);127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++d):b+=3}b+=1;(d=Gb(b))&&E(a,d,b);return d},Ib=a=>"]"==a.slice(-1)&&a.lastIndexOf("["),S=a=>{var b=F.N;
if(b){var d=b.u[a];"number"==typeof d&&(b.u[a]=d=F.getUniformLocation(b,b.K[a]+(0<d?`[${d}]`:"")));return d}O||=1282},T=[];function Jb(){}function Kb(){}function Lb(){}function Mb(){}function Nb(){}function Ob(){}function Pb(){}function Qb(){}function Rb(){}function Sb(){}function Tb(){}function Ub(){}function Vb(){}function Wb(){}function Xb(){}function Yb(){}function Zb(){}function $b(){}function ac(){}function bc(){}function cc(){}function dc(){}function ec(){}function U(){}function fc(){}
function gc(){}var V,hc=[],jc=a=>ic(a);w.stackAlloc=jc;ka&&(D[0]=this,addEventListener("message",Ba));for(var kc=new Float32Array(288),lc=0;288>=lc;++lc)T[lc]=kc.subarray(0,lc);
(function(){if(w.skwasmSingleThreaded){Yb=function(){return!0};let e;Kb=function(f,h){e=h};Lb=function(){return performance.now()};U=function(f){queueMicrotask(()=>e(f))}}else{Yb=function(){return!1};let e=0;Kb=function(f,h){function l({data:m}){const n=m.l;n&&("syncTimeOrigin"==n?e=performance.timeOrigin-m.timeOrigin:h(m))}f?(D[f].addEventListener("message",l),D[f].postMessage({l:"syncTimeOrigin",timeOrigin:performance.timeOrigin})):addEventListener("message",l)};Lb=function(){return performance.now()+
e};U=function(f,h,l){l?D[l].postMessage(f,{transfer:h}):postMessage(f,{transfer:h})}}const a=new Map,b=new Map,d=new Map;Mb=function(e){Kb(e,function(f){var h=f.l;if(h)switch(h){case "transferCanvas":mc(f.g,f.canvas,f.h);break;case "onInitialized":nc(f.g,f.h);break;case "resizeSurface":oc(f.g,f.width,f.height,f.h);break;case "onResizeComplete":pc(f.g,f.h);break;case "triggerContextLoss":qc(f.g,f.h);break;case "onContextLossTriggered":rc(f.g,f.h);break;case "reportContextLost":sc(f.g,f.h);break;case "renderPictures":tc(f.g,
f.W,f.V,f.h,Lb());break;case "onRenderComplete":uc(f.g,f.h,{imageBitmaps:f.R,rasterStartMilliseconds:f.Y,rasterEndMilliseconds:f.X});break;case "setAssociatedObject":d.set(f.F,f.object);break;case "disposeAssociatedObject":f=f.F;h=d.get(f);h.close&&h.close();d.delete(f);break;case "disposeSurface":vc(f.g);break;case "rasterizeImage":wc(f.g,f.image,f.format,f.h);break;case "onRasterizeComplete":xc(f.g,f.data,f.h);break;default:console.warn(`unrecognized skwasm message: ${h}`)}})};fc=function(e,f,h){U({l:"setAssociatedObject",
F:f,object:h},[h],e)};Wb=function(e){return d.get(e)};Vb=function(e,f){U({l:"disposeAssociatedObject",F:f},[],e)};Pb=function(e,f){U({l:"disposeSurface",g:f},[],e)};Tb=function(e,f,h,l){U({l:"transferCanvas",g:f,canvas:h,h:l},[h],e)};bc=function(e,f,h){U({l:"onInitialized",g:e,$:f,h},[])};Sb=function(e,f,h,l,m){U({l:"resizeSurface",g:f,width:h,height:l,h:m},[],e)};cc=function(e,f){U({l:"onResizeComplete",g:e,h:f},[])};dc=function(e,f,h){e=b.get(e);e.width=f;e.height=h};Rb=function(e,f,h,l,m){U({l:"renderPictures",
g:f,W:h,V:l,h:m},[],e)};ec=async function(e,f,h,l){f||=[];U({l:"onRenderComplete",g:e,h:l,R:f,Y:h,X:Lb()},[...f])};Jb=function(e,f){f||=[];e=b.get(e);f.push(e.transferToImageBitmap());return f};Qb=function(e,f,h,l,m){U({l:"rasterizeImage",g:f,image:h,format:l,h:m},[],e)};Zb=function(e,f,h){U({l:"onRasterizeComplete",g:e,data:f,h})};Ub=function(e,f,h){U({l:"triggerContextLoss",g:f,h},[],e)};$b=function(e,f){U({l:"onContextLossTriggered",g:e,h:f},[])};ac=function(e,f){U({l:"reportContextLost",g:e,h:f},
[])};gc=function(){P.m.getExtension("WEBGL_lose_context").loseContext()};Xb=function(e,f){const h=nb(e);b.set(h,e);var l=function(m){m.preventDefault();yc(f);e.removeEventListener("webglcontextlost",l)};e.addEventListener("webglcontextlost",l);a.set(h,l);return h};Ob=function(e){const f=b.get(e),h=a.get(e);f&&h&&f.removeEventListener("webglcontextlost",h);P===L[e]&&(P=null);"object"==typeof JSEvents&&JSEvents.da(L[e].m.canvas);L[e]&&L[e].m.canvas&&(L[e].m.canvas.M=void 0);L[e]=null;b.delete(e);a.delete(e)};
Nb=function(e,f,h){const l=P.m,m=l.createTexture();l.bindTexture(l.TEXTURE_2D,m);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);l.texImage2D(l.TEXTURE_2D,0,l.RGBA,f,h,0,l.RGBA,l.UNSIGNED_BYTE,e);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);l.bindTexture(l.TEXTURE_2D,null);e=N(J);J[e]=m;return e}})();
var Jc={__cxa_throw:(a,b,d)=>{var e=new Ra(a);u()[e.s+16>>2]=0;u()[e.s+4>>2]=b;u()[e.s+8>>2]=d;Sa=a;Ta++;throw Sa;},__syscall_fcntl64:function(){return 0},__syscall_fstat64:()=>{},__syscall_ioctl:function(){return 0},__syscall_openat:function(){},_abort_js:()=>{Ga("")},_emscripten_create_wasm_worker:(a,b)=>{let d=D[Wa]=new Worker(ma("wimp.ww.js"));d.postMessage({$ww:Wa,wasm:qa,js:w.mainScriptUrlOrBlob||_scriptName,wasmMemory:g,sb:a,sz:b});d.onmessage=Da;return Wa++},_emscripten_get_now_is_monotonic:()=>
1,_emscripten_runtime_keepalive_clear:()=>{za=!1;Oa=0},_emscripten_throw_longjmp:()=>{throw Infinity;},_mmap_js:function(){return-52},_munmap_js:function(){},_setitimer_js:(a,b)=>{Xa[a]&&(clearTimeout(Xa[a].id),delete Xa[a]);if(!b)return 0;var d=setTimeout(()=>{delete Xa[a];Qa(()=>zc(a,performance.now()))},b);Xa[a]={id:d,ea:b};return 0},_tzset_js:(a,b,d,e)=>{var f=(new Date).getFullYear(),h=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f,6,1)).getTimezoneOffset();var l=Math.max(h,f);u()[a>>2]=
60*l;t()[b>>2]=Number(h!=f);b=m=>{var n=Math.abs(m);return`UTC${0<=m?"-":"+"}${String(Math.floor(n/60)).padStart(2,"0")}${String(n%60).padStart(2,"0")}`};a=b(h);b=b(f);f<h?(E(a,d,17),E(b,e,17)):(E(a,e,17),E(b,d,17))},emscripten_console_warn:a=>{console.warn(C(a))},emscripten_date_now:()=>Date.now(),emscripten_errn:(a,b)=>y(C(a,b)),emscripten_get_now:()=>performance.now(),emscripten_glBindFramebuffer:pb,emscripten_glClear:qb,emscripten_glClearColor:rb,emscripten_glClearStencil:sb,emscripten_glGetIntegerv:wb,
emscripten_glReadPixels:zb,emscripten_resize_heap:a=>{var b=q().length;a>>>=0;if(a<=b||2147483648<a)return!1;for(var d=1;4>=d;d*=2){var e=b*(1+.2/d);e=Math.min(e,a+100663296);a:{e=(Math.min(2147483648,65536*Math.ceil(Math.max(a,e)/65536))-g.buffer.byteLength+65535)/65536|0;try{g.grow(e);p();var f=1;break a}catch(h){}f=void 0}if(f)return!0}return!1},emscripten_stack_snapshot:function(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();Bb(a);R.I=Ab();R.T=a;return R.I},emscripten_stack_unwind_buffer:(a,
b,d)=>{if(R.I==a)var e=R.T;else e=Error().stack.toString().split("\n"),"Error"==e[0]&&e.shift(),Bb(e);for(var f=3;e[f]&&Ab()!=a;)++f;for(a=0;a<d&&e[a+f];++a)t()[b+4*a>>2]=Ab();return a},emscripten_wasm_worker_post_function_v:(a,b)=>{D[a].postMessage({_wsc:b,x:[]})},emscripten_webgl_enable_extension:function(a,b){a=L[a];b=C(b);b.startsWith("GL_")&&(b=b.substr(3));"ANGLE_instanced_arrays"==b&&Ya(F);"OES_vertex_array_object"==b&&Za(F);"WEBGL_draw_buffers"==b&&$a(F);"WEBGL_draw_instanced_base_vertex_base_instance"==
b&&ab(F);"WEBGL_multi_draw_instanced_base_vertex_base_instance"==b&&bb(F);"WEBGL_multi_draw"==b&&(F.U=F.getExtension("WEBGL_multi_draw"));"EXT_polygon_offset_clamp"==b&&(F.P=F.getExtension("EXT_polygon_offset_clamp"));"EXT_clip_control"==b&&(F.O=F.getExtension("EXT_clip_control"));"WEBGL_polygon_mode"==b&&(F.Z=F.getExtension("WEBGL_polygon_mode"));return!!a.m.getExtension(b)},emscripten_webgl_make_context_current:a=>{P=L[a];w.aa=F=P?.m;return!a||F?0:-5},environ_get:(a,b)=>{var d=0;Eb().forEach((e,
f)=>{var h=b+d;f=u()[a+4*f>>2]=h;for(h=0;h<e.length;++h)c()[f++]=e.charCodeAt(h);c()[f]=0;d+=e.length+1});return 0},environ_sizes_get:(a,b)=>{var d=Eb();u()[a>>2]=d.length;var e=0;d.forEach(f=>e+=f.length+1);u()[b>>2]=e;return 0},fd_close:()=>52,fd_pread:function(){return 52},fd_read:()=>52,fd_seek:function(){return 70},fd_write:(a,b,d,e)=>{for(var f=0,h=0;h<d;h++){var l=u()[b>>2],m=u()[b+4>>2];b+=8;for(var n=0;n<m;n++){var r=q()[l+n],Q=Fb[a];0===r||10===r?((1===a?pa:y)(Va(Q)),Q.length=0):Q.push(r)}f+=
m}u()[e>>2]=f;return 0},glActiveTexture:a=>F.activeTexture(a),glAttachShader:(a,b)=>{F.attachShader(H[a],K[b])},glBeginQueryEXT:(a,b)=>{F.o.beginQueryEXT(a,M[b])},glBindAttribLocation:(a,b,d)=>{F.bindAttribLocation(H[a],b,C(d))},glBindBuffer:(a,b)=>{35051==a?F.D=b:35052==a&&(F.v=b);F.bindBuffer(a,G[b])},glBindBufferRange:(a,b,d,e,f)=>{F.bindBufferRange(a,b,G[d],e,f)},glBindFramebuffer:pb,glBindRenderbuffer:(a,b)=>{F.bindRenderbuffer(a,I[b])},glBindTexture:(a,b)=>{F.bindTexture(a,J[b])},glBindVertexArray:a=>
{F.bindVertexArray(fb[a])},glBlendEquationSeparate:(a,b)=>F.blendEquationSeparate(a,b),glBlendFuncSeparate:(a,b,d,e)=>F.blendFuncSeparate(a,b,d,e),glBlitFramebuffer:(a,b,d,e,f,h,l,m,n,r)=>F.blitFramebuffer(a,b,d,e,f,h,l,m,n,r),glBufferData:(a,b,d,e)=>{2<=P.version?d&&b?F.bufferData(a,q(),e,d,b):F.bufferData(a,b,e):F.bufferData(a,d?q().subarray(d,d+b):b,e)},glBufferSubData:(a,b,d,e)=>{2<=P.version?d&&F.bufferSubData(a,b,q(),e,d):F.bufferSubData(a,b,q().subarray(e,e+d))},glCheckFramebufferStatus:a=>
F.checkFramebufferStatus(a),glClear:qb,glClearColor:rb,glClearDepthf:a=>F.clearDepth(a),glClearStencil:sb,glColorMask:(a,b,d,e)=>{F.colorMask(!!a,!!b,!!d,!!e)},glCompileShader:a=>{F.compileShader(K[a])},glCreateProgram:()=>{var a=N(H),b=F.createProgram();b.name=a;b.C=b.A=b.B=0;b.G=1;H[a]=b;return a},glCreateShader:a=>{var b=N(K);K[b]=F.createShader(a);return b},glCullFace:a=>F.cullFace(a),glDeleteBuffers:(a,b)=>{for(var d=0;d<a;d++){var e=t()[b+4*d>>2],f=G[e];f&&(F.deleteBuffer(f),f.name=0,G[e]=null,
e==F.D&&(F.D=0),e==F.v&&(F.v=0))}},glDeleteFramebuffers:(a,b)=>{for(var d=0;d<a;++d){var e=t()[b+4*d>>2],f=eb[e];f&&(F.deleteFramebuffer(f),f.name=0,eb[e]=null)}},glDeleteProgram:a=>{if(a){var b=H[a];b?(F.deleteProgram(b),b.name=0,H[a]=null):O||=1281}},glDeleteQueriesEXT:(a,b)=>{for(var d=0;d<a;d++){var e=t()[b+4*d>>2],f=M[e];f&&(F.o.deleteQueryEXT(f),M[e]=null)}},glDeleteRenderbuffers:(a,b)=>{for(var d=0;d<a;d++){var e=t()[b+4*d>>2],f=I[e];f&&(F.deleteRenderbuffer(f),f.name=0,I[e]=null)}},glDeleteShader:a=>
{if(a){var b=K[a];b?(F.deleteShader(b),K[a]=null):O||=1281}},glDeleteSync:a=>{if(a){var b=gb[a];b?(F.deleteSync(b),b.name=0,gb[a]=null):O||=1281}},glDeleteTextures:(a,b)=>{for(var d=0;d<a;d++){var e=t()[b+4*d>>2],f=J[e];f&&(F.deleteTexture(f),f.name=0,J[e]=null)}},glDeleteVertexArrays:(a,b)=>{for(var d=0;d<a;d++){var e=t()[b+4*d>>2];F.deleteVertexArray(fb[e]);fb[e]=null}},glDepthFunc:a=>F.depthFunc(a),glDepthMask:a=>{F.depthMask(!!a)},glDepthRangef:(a,b)=>F.depthRange(a,b),glDetachShader:(a,b)=>{F.detachShader(H[a],
K[b])},glDisable:a=>F.disable(a),glDisableVertexAttribArray:a=>{F.disableVertexAttribArray(a)},glDrawArrays:(a,b,d)=>{F.drawArrays(a,b,d)},glDrawElements:(a,b,d,e)=>{F.drawElements(a,b,d,e)},glEnable:a=>F.enable(a),glEnableVertexAttribArray:a=>{F.enableVertexAttribArray(a)},glEndQueryEXT:a=>{F.o.endQueryEXT(a)},glFenceSync:(a,b)=>(a=F.fenceSync(a,b))?(b=N(gb),a.name=b,gb[b]=a,b):0,glFinish:()=>F.finish(),glFlush:()=>F.flush(),glFramebufferRenderbuffer:(a,b,d,e)=>{F.framebufferRenderbuffer(a,b,d,I[e])},
glFramebufferTexture2D:(a,b,d,e,f)=>{F.framebufferTexture2D(a,b,d,J[e],f)},glFrontFace:a=>F.frontFace(a),glGenBuffers:(a,b)=>{lb(a,b,"createBuffer",G)},glGenFramebuffers:(a,b)=>{lb(a,b,"createFramebuffer",eb)},glGenQueriesEXT:(a,b)=>{for(var d=0;d<a;d++){var e=F.o.createQueryEXT();if(!e){for(O||=1282;d<a;)t()[b+4*d++>>2]=0;break}var f=N(M);e.name=f;M[f]=e;t()[b+4*d>>2]=f}},glGenRenderbuffers:(a,b)=>{lb(a,b,"createRenderbuffer",I)},glGenTextures:(a,b)=>{lb(a,b,"createTexture",J)},glGenVertexArrays:(a,
b)=>{lb(a,b,"createVertexArray",fb)},glGenerateMipmap:a=>F.generateMipmap(a),glGetActiveUniform:(a,b,d,e,f,h,l)=>{a=H[a];if(b=F.getActiveUniform(a,b))d=l&&E(b.name,l,d),e&&(t()[e>>2]=d),f&&(t()[f>>2]=b.size),h&&(t()[h>>2]=b.type)},glGetActiveUniformBlockName:(a,b,d,e,f)=>{a=H[a];if(a=F.getActiveUniformBlockName(a,b))f&&0<d?(d=E(a,f,d),e&&(t()[e>>2]=d)):e&&(t()[e>>2]=0)},glGetActiveUniformBlockiv:(a,b,d,e)=>{if(e)if(a=H[a],35393==d)d=F.getActiveUniformBlockName(a,b),t()[e>>2]=d.length+1;else{if(a=
F.getActiveUniformBlockParameter(a,b,d),null!==a)if(35395==d)for(d=0;d<a.length;d++)t()[e+4*d>>2]=a[d];else t()[e>>2]=a}else O||=1281},glGetBooleanv:(a,b)=>vb(a,b,4),glGetError:()=>{var a=F.getError()||O;O=0;return a},glGetFloatv:(a,b)=>vb(a,b,2),glGetFramebufferAttachmentParameteriv:(a,b,d,e)=>{a=F.getFramebufferAttachmentParameter(a,b,d);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;t()[e>>2]=a},glGetIntegerv:wb,glGetProgramInfoLog:(a,b,d,e)=>{a=F.getProgramInfoLog(H[a]);
null===a&&(a="(unknown error)");b=0<b&&e?E(a,e,b):0;d&&(t()[d>>2]=b)},glGetProgramiv:(a,b,d)=>{if(d)if(a>=db)O||=1281;else if(a=H[a],35716==b)a=F.getProgramInfoLog(a),null===a&&(a="(unknown error)"),t()[d>>2]=a.length+1;else if(35719==b){if(!a.C){var e=F.getProgramParameter(a,35718);for(b=0;b<e;++b)a.C=Math.max(a.C,F.getActiveUniform(a,b).name.length+1)}t()[d>>2]=a.C}else if(35722==b){if(!a.A)for(e=F.getProgramParameter(a,35721),b=0;b<e;++b)a.A=Math.max(a.A,F.getActiveAttrib(a,b).name.length+1);t()[d>>
2]=a.A}else if(35381==b){if(!a.B)for(e=F.getProgramParameter(a,35382),b=0;b<e;++b)a.B=Math.max(a.B,F.getActiveUniformBlockName(a,b).length+1);t()[d>>2]=a.B}else t()[d>>2]=F.getProgramParameter(a,b);else O||=1281},glGetQueryObjectui64vEXT:(a,b,d)=>{if(d){a=M[a];b=2>P.version?F.o.getQueryObjectEXT(a,b):F.getQueryParameter(a,b);var e;"boolean"==typeof b?e=b?1:0:e=b;tb(d,e)}else O||=1281},glGetQueryObjectuivEXT:(a,b,d)=>{if(d){a=F.o.getQueryObjectEXT(M[a],b);var e;"boolean"==typeof a?e=a?1:0:e=a;t()[d>>
2]=e}else O||=1281},glGetShaderInfoLog:(a,b,d,e)=>{a=F.getShaderInfoLog(K[a]);null===a&&(a="(unknown error)");b=0<b&&e?E(a,e,b):0;d&&(t()[d>>2]=b)},glGetShaderSource:(a,b,d,e)=>{if(a=F.getShaderSource(K[a]))b=0<b&&e?E(a,e,b):0,d&&(t()[d>>2]=b)},glGetShaderiv:(a,b,d)=>{d?35716==b?(a=F.getShaderInfoLog(K[a]),null===a&&(a="(unknown error)"),a=a?a.length+1:0,t()[d>>2]=a):35720==b?(a=(a=F.getShaderSource(K[a]))?a.length+1:0,t()[d>>2]=a):t()[d>>2]=F.getShaderParameter(K[a],b):O||=1281},glGetString:a=>{var b=
hb[a];if(!b){switch(a){case 7939:b=Hb(ub().join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=F.getParameter(a))||(O||=1280);b=b?Hb(b):0;break;case 7938:b=F.getParameter(7938);var d=`OpenGL ES 2.0 (${b})`;2<=P.version&&(d=`OpenGL ES 3.0 (${b})`);b=Hb(d);break;case 35724:b=F.getParameter(35724);d=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==d&&(3==d[1].length&&(d[1]+="0"),b=`OpenGL ES GLSL ES ${d[1]} (${b})`);b=Hb(b);break;default:O||=1280}hb[a]=b}return b},glGetStringi:(a,
b)=>{if(2>P.version)return O||=1282,0;var d=ib[a];if(d)return 0>b||b>=d.length?(O||=1281,0):d[b];switch(a){case 7939:return d=ub().map(Hb),d=ib[a]=d,0>b||b>=d.length?(O||=1281,0):d[b];default:return O||=1280,0}},glGetUniformBlockIndex:(a,b)=>F.getUniformBlockIndex(H[a],C(b)),glGetUniformLocation:(a,b)=>{b=C(b);if(a=H[a]){var d=a,e=d.u,f=d.L,h;if(!e){d.u=e={};d.K={};var l=F.getProgramParameter(d,35718);for(h=0;h<l;++h){var m=F.getActiveUniform(d,h);var n=m.name;m=m.size;var r=Ib(n);r=0<r?n.slice(0,
r):n;var Q=d.G;d.G+=m;f[r]=[m,Q];for(n=0;n<m;++n)e[Q]=n,d.K[Q++]=r}}d=a.u;e=0;f=b;h=Ib(b);0<h&&(e=parseInt(b.slice(h+1))>>>0,f=b.slice(0,h));if((f=a.L[f])&&e<f[0]&&(e+=f[1],d[e]=d[e]||F.getUniformLocation(a,b)))return e}else O||=1281;return-1},glIsBuffer:a=>(a=G[a])?F.isBuffer(a):0,glIsFramebuffer:a=>(a=eb[a])?F.isFramebuffer(a):0,glIsProgram:a=>(a=H[a])?F.isProgram(a):0,glIsRenderbuffer:a=>(a=I[a])?F.isRenderbuffer(a):0,glIsShader:a=>(a=K[a])?F.isShader(a):0,glIsTexture:a=>(a=J[a])?F.isTexture(a):
0,glLinkProgram:a=>{a=H[a];F.linkProgram(a);a.u=0;a.L={}},glPixelStorei:(a,b)=>{3317==a?jb=b:3314==a&&(kb=b);F.pixelStorei(a,b)},glReadPixels:zb,glRenderbufferStorage:(a,b,d,e)=>F.renderbufferStorage(a,b,d,e),glRenderbufferStorageMultisample:(a,b,d,e,f)=>F.renderbufferStorageMultisample(a,b,d,e,f),glScissor:(a,b,d,e)=>F.scissor(a,b,d,e),glShaderBinary:()=>{O||=1280},glShaderSource:(a,b,d,e)=>{for(var f="",h=0;h<b;++h){var l=e?u()[e+4*h>>2]:void 0;f+=C(u()[d+4*h>>2],l)}F.shaderSource(K[a],f)},glStencilFuncSeparate:(a,
b,d,e)=>F.stencilFuncSeparate(a,b,d,e),glStencilMaskSeparate:(a,b)=>F.stencilMaskSeparate(a,b),glStencilOpSeparate:(a,b,d,e)=>F.stencilOpSeparate(a,b,d,e),glTexImage2D:(a,b,d,e,f,h,l,m,n)=>{if(2<=P.version){if(F.v){F.texImage2D(a,b,d,e,f,h,l,m,n);return}if(n){var r=xb(m);n>>>=31-Math.clz32(r.BYTES_PER_ELEMENT);F.texImage2D(a,b,d,e,f,h,l,m,r,n);return}}r=n?yb(m,l,e,f,n):null;F.texImage2D(a,b,d,e,f,h,l,m,r)},glTexParameterfv:(a,b,d)=>{d=v()[d>>2];F.texParameterf(a,b,d)},glTexParameteri:(a,b,d)=>F.texParameteri(a,
b,d),glTexSubImage2D:(a,b,d,e,f,h,l,m,n)=>{if(2<=P.version){if(F.v){F.texSubImage2D(a,b,d,e,f,h,l,m,n);return}if(n){var r=xb(m);F.texSubImage2D(a,b,d,e,f,h,l,m,r,n>>>31-Math.clz32(r.BYTES_PER_ELEMENT));return}}n=n?yb(m,l,f,h,n):null;F.texSubImage2D(a,b,d,e,f,h,l,m,n)},glUniform1fv:(a,b,d)=>{if(2<=P.version)b&&F.uniform1fv(S(a),v(),d>>2,b);else{if(288>=b)for(var e=T[b],f=0;f<b;++f)e[f]=v()[d+4*f>>2];else e=v().subarray(d>>2,d+4*b>>2);F.uniform1fv(S(a),e)}},glUniform1i:(a,b)=>{F.uniform1i(S(a),b)},
glUniform2fv:(a,b,d)=>{if(2<=P.version)b&&F.uniform2fv(S(a),v(),d>>2,2*b);else{if(144>=b){b*=2;for(var e=T[b],f=0;f<b;f+=2)e[f]=v()[d+4*f>>2],e[f+1]=v()[d+(4*f+4)>>2]}else e=v().subarray(d>>2,d+8*b>>2);F.uniform2fv(S(a),e)}},glUniform3fv:(a,b,d)=>{if(2<=P.version)b&&F.uniform3fv(S(a),v(),d>>2,3*b);else{if(96>=b){b*=3;for(var e=T[b],f=0;f<b;f+=3)e[f]=v()[d+4*f>>2],e[f+1]=v()[d+(4*f+4)>>2],e[f+2]=v()[d+(4*f+8)>>2]}else e=v().subarray(d>>2,d+12*b>>2);F.uniform3fv(S(a),e)}},glUniform4fv:(a,b,d)=>{if(2<=
P.version)b&&F.uniform4fv(S(a),v(),d>>2,4*b);else{if(72>=b){var e=T[4*b],f=v();d>>=2;b*=4;for(var h=0;h<b;h+=4){var l=d+h;e[h]=f[l];e[h+1]=f[l+1];e[h+2]=f[l+2];e[h+3]=f[l+3]}}else e=v().subarray(d>>2,d+16*b>>2);F.uniform4fv(S(a),e)}},glUniformBlockBinding:(a,b,d)=>{a=H[a];F.uniformBlockBinding(a,b,d)},glUniformMatrix4fv:(a,b,d,e)=>{if(2<=P.version)b&&F.uniformMatrix4fv(S(a),!!d,v(),e>>2,16*b);else{if(18>=b){var f=T[16*b],h=v();e>>=2;b*=16;for(var l=0;l<b;l+=16){var m=e+l;f[l]=h[m];f[l+1]=h[m+1];f[l+
2]=h[m+2];f[l+3]=h[m+3];f[l+4]=h[m+4];f[l+5]=h[m+5];f[l+6]=h[m+6];f[l+7]=h[m+7];f[l+8]=h[m+8];f[l+9]=h[m+9];f[l+10]=h[m+10];f[l+11]=h[m+11];f[l+12]=h[m+12];f[l+13]=h[m+13];f[l+14]=h[m+14];f[l+15]=h[m+15]}}else f=v().subarray(e>>2,e+64*b>>2);F.uniformMatrix4fv(S(a),!!d,f)}},glUseProgram:a=>{a=H[a];F.useProgram(a);F.N=a},glVertexAttribPointer:(a,b,d,e,f,h)=>{F.vertexAttribPointer(a,b,d,!!e,f,h)},glViewport:(a,b,d,e)=>F.viewport(a,b,d,e),glWaitSync:(a,b,d,e)=>{F.waitSync(gb[a],b,(d>>>0)+4294967296*e)},
invoke_ii:Ac,invoke_iii:Bc,invoke_iiii:Cc,invoke_iiiii:Dc,invoke_iiiiiii:Ec,invoke_vi:Fc,invoke_vii:Gc,invoke_viii:Hc,invoke_viiiiiii:Ic,memory:g,proc_exit:Pa,skwasm_captureImageBitmap:Jb,skwasm_connectThread:Mb,skwasm_createGlTextureFromTextureSource:Nb,skwasm_destroyContext:Ob,skwasm_dispatchDisposeSurface:Pb,skwasm_dispatchRasterizeImage:Qb,skwasm_dispatchRenderPictures:Rb,skwasm_dispatchResizeSurface:Sb,skwasm_dispatchTransferCanvas:Tb,skwasm_dispatchTriggerContextLoss:Ub,skwasm_disposeAssociatedObjectOnThread:Vb,
skwasm_getAssociatedObject:Wb,skwasm_getGlContextForCanvas:Xb,skwasm_isSingleThreaded:Yb,skwasm_postRasterizeResult:Zb,skwasm_reportContextLossTriggered:$b,skwasm_reportContextLost:ac,skwasm_reportInitialized:bc,skwasm_reportResizeComplete:cc,skwasm_resizeCanvas:dc,skwasm_resolveAndPostImages:ec,skwasm_setAssociatedObjectOnThread:fc,skwasm_triggerContextLossOnCanvas:gc},W=function(){function a(d,e){W=d.exports;w.wasmExports=W;B=W.__indirect_function_table;wa.unshift(W.__wasm_call_ctors);qa=e;z--;
0==z&&(null!==Fa&&(clearInterval(Fa),Fa=null),A&&(d=A,A=null,d()));return W}var b={env:Jc,wasi_snapshot_preview1:Jc};z++;if(w.instantiateWasm)try{return w.instantiateWasm(b,a)}catch(d){y(`Module.instantiateWasm callback failed with error: ${d}`),fa(d)}Ia??=Ha("wimp.wasm")?"wimp.wasm":ma("wimp.wasm");La(b,function(d){a(d.instance,d.module)}).catch(fa);return{}}();w._canvas_saveLayer=(a,b,d,e)=>(w._canvas_saveLayer=W.canvas_saveLayer)(a,b,d,e);w._canvas_save=a=>(w._canvas_save=W.canvas_save)(a);
w._canvas_restore=a=>(w._canvas_restore=W.canvas_restore)(a);w._canvas_restoreToCount=(a,b)=>(w._canvas_restoreToCount=W.canvas_restoreToCount)(a,b);w._canvas_getSaveCount=a=>(w._canvas_getSaveCount=W.canvas_getSaveCount)(a);w._canvas_translate=(a,b,d)=>(w._canvas_translate=W.canvas_translate)(a,b,d);w._canvas_scale=(a,b,d)=>(w._canvas_scale=W.canvas_scale)(a,b,d);w._canvas_rotate=(a,b)=>(w._canvas_rotate=W.canvas_rotate)(a,b);w._canvas_skew=(a,b,d)=>(w._canvas_skew=W.canvas_skew)(a,b,d);
w._canvas_transform=(a,b)=>(w._canvas_transform=W.canvas_transform)(a,b);w._canvas_clear=(a,b)=>(w._canvas_clear=W.canvas_clear)(a,b);w._canvas_clipRect=(a,b,d,e)=>(w._canvas_clipRect=W.canvas_clipRect)(a,b,d,e);w._canvas_clipRRect=(a,b,d)=>(w._canvas_clipRRect=W.canvas_clipRRect)(a,b,d);w._canvas_clipPath=(a,b,d)=>(w._canvas_clipPath=W.canvas_clipPath)(a,b,d);w._canvas_drawColor=(a,b,d)=>(w._canvas_drawColor=W.canvas_drawColor)(a,b,d);
w._canvas_drawLine=(a,b,d,e,f,h)=>(w._canvas_drawLine=W.canvas_drawLine)(a,b,d,e,f,h);w._canvas_drawPaint=(a,b)=>(w._canvas_drawPaint=W.canvas_drawPaint)(a,b);w._canvas_drawRect=(a,b,d)=>(w._canvas_drawRect=W.canvas_drawRect)(a,b,d);w._canvas_drawRRect=(a,b,d)=>(w._canvas_drawRRect=W.canvas_drawRRect)(a,b,d);w._canvas_drawDRRect=(a,b,d,e)=>(w._canvas_drawDRRect=W.canvas_drawDRRect)(a,b,d,e);w._canvas_drawOval=(a,b,d)=>(w._canvas_drawOval=W.canvas_drawOval)(a,b,d);
w._canvas_drawCircle=(a,b,d,e,f)=>(w._canvas_drawCircle=W.canvas_drawCircle)(a,b,d,e,f);w._canvas_drawArc=(a,b,d,e,f,h)=>(w._canvas_drawArc=W.canvas_drawArc)(a,b,d,e,f,h);w._canvas_drawPath=(a,b,d)=>(w._canvas_drawPath=W.canvas_drawPath)(a,b,d);w._canvas_drawShadow=(a,b,d,e,f,h)=>(w._canvas_drawShadow=W.canvas_drawShadow)(a,b,d,e,f,h);w._canvas_drawParagraph=(a,b,d,e)=>(w._canvas_drawParagraph=W.canvas_drawParagraph)(a,b,d,e);
w._canvas_drawPicture=(a,b)=>(w._canvas_drawPicture=W.canvas_drawPicture)(a,b);w._canvas_drawImage=(a,b,d,e,f,h)=>(w._canvas_drawImage=W.canvas_drawImage)(a,b,d,e,f,h);w._canvas_drawImageRect=(a,b,d,e,f,h)=>(w._canvas_drawImageRect=W.canvas_drawImageRect)(a,b,d,e,f,h);w._canvas_drawImageNine=(a,b,d,e,f,h)=>(w._canvas_drawImageNine=W.canvas_drawImageNine)(a,b,d,e,f,h);w._canvas_drawVertices=(a,b,d,e)=>(w._canvas_drawVertices=W.canvas_drawVertices)(a,b,d,e);
w._canvas_drawPoints=(a,b,d,e,f)=>(w._canvas_drawPoints=W.canvas_drawPoints)(a,b,d,e,f);w._canvas_drawAtlas=(a,b,d,e,f,h,l,m,n)=>(w._canvas_drawAtlas=W.canvas_drawAtlas)(a,b,d,e,f,h,l,m,n);w._canvas_getTransform=(a,b)=>(w._canvas_getTransform=W.canvas_getTransform)(a,b);w._canvas_getLocalClipBounds=(a,b)=>(w._canvas_getLocalClipBounds=W.canvas_getLocalClipBounds)(a,b);w._canvas_getDeviceClipBounds=(a,b)=>(w._canvas_getDeviceClipBounds=W.canvas_getDeviceClipBounds)(a,b);
w._canvas_quickReject=(a,b)=>(w._canvas_quickReject=W.canvas_quickReject)(a,b);w._contourMeasureIter_create=(a,b,d)=>(w._contourMeasureIter_create=W.contourMeasureIter_create)(a,b,d);w._contourMeasureIter_next=a=>(w._contourMeasureIter_next=W.contourMeasureIter_next)(a);w._contourMeasureIter_dispose=a=>(w._contourMeasureIter_dispose=W.contourMeasureIter_dispose)(a);w._contourMeasure_dispose=a=>(w._contourMeasure_dispose=W.contourMeasure_dispose)(a);
w._contourMeasure_length=a=>(w._contourMeasure_length=W.contourMeasure_length)(a);w._contourMeasure_isClosed=a=>(w._contourMeasure_isClosed=W.contourMeasure_isClosed)(a);w._contourMeasure_getPosTan=(a,b,d,e)=>(w._contourMeasure_getPosTan=W.contourMeasure_getPosTan)(a,b,d,e);w._contourMeasure_getSegment=(a,b,d,e)=>(w._contourMeasure_getSegment=W.contourMeasure_getSegment)(a,b,d,e);w._skData_create=a=>(w._skData_create=W.skData_create)(a);w._skData_getPointer=a=>(w._skData_getPointer=W.skData_getPointer)(a);
w._skData_getConstPointer=a=>(w._skData_getConstPointer=W.skData_getConstPointer)(a);w._skData_getSize=a=>(w._skData_getSize=W.skData_getSize)(a);w._skData_dispose=a=>(w._skData_dispose=W.skData_dispose)(a);w._imageFilter_createBlur=(a,b,d)=>(w._imageFilter_createBlur=W.imageFilter_createBlur)(a,b,d);w._imageFilter_createDilate=(a,b)=>(w._imageFilter_createDilate=W.imageFilter_createDilate)(a,b);w._imageFilter_createErode=(a,b)=>(w._imageFilter_createErode=W.imageFilter_createErode)(a,b);
w._imageFilter_createMatrix=(a,b)=>(w._imageFilter_createMatrix=W.imageFilter_createMatrix)(a,b);w._imageFilter_createFromColorFilter=a=>(w._imageFilter_createFromColorFilter=W.imageFilter_createFromColorFilter)(a);w._imageFilter_compose=(a,b)=>(w._imageFilter_compose=W.imageFilter_compose)(a,b);w._imageFilter_dispose=a=>(w._imageFilter_dispose=W.imageFilter_dispose)(a);w._imageFilter_getFilterBounds=(a,b)=>(w._imageFilter_getFilterBounds=W.imageFilter_getFilterBounds)(a,b);
w._colorFilter_createMode=(a,b)=>(w._colorFilter_createMode=W.colorFilter_createMode)(a,b);w._colorFilter_createMatrix=a=>(w._colorFilter_createMatrix=W.colorFilter_createMatrix)(a);w._colorFilter_createSRGBToLinearGamma=()=>(w._colorFilter_createSRGBToLinearGamma=W.colorFilter_createSRGBToLinearGamma)();w._colorFilter_createLinearToSRGBGamma=()=>(w._colorFilter_createLinearToSRGBGamma=W.colorFilter_createLinearToSRGBGamma)();w._colorFilter_dispose=a=>(w._colorFilter_dispose=W.colorFilter_dispose)(a);
w._maskFilter_createBlur=(a,b)=>(w._maskFilter_createBlur=W.maskFilter_createBlur)(a,b);w._maskFilter_dispose=a=>(w._maskFilter_dispose=W.maskFilter_dispose)(a);w._fontCollection_create=()=>(w._fontCollection_create=W.fontCollection_create)();w._fontCollection_dispose=a=>(w._fontCollection_dispose=W.fontCollection_dispose)(a);w._typeface_create=a=>(w._typeface_create=W.typeface_create)(a);w._typeface_dispose=a=>(w._typeface_dispose=W.typeface_dispose)(a);
w._typefaces_filterCoveredCodePoints=(a,b,d,e)=>(w._typefaces_filterCoveredCodePoints=W.typefaces_filterCoveredCodePoints)(a,b,d,e);w._fontCollection_registerTypeface=(a,b,d)=>(w._fontCollection_registerTypeface=W.fontCollection_registerTypeface)(a,b,d);w._fontCollection_clearCaches=a=>(w._fontCollection_clearCaches=W.fontCollection_clearCaches)(a);w._image_createFromPicture=(a,b,d)=>(w._image_createFromPicture=W.image_createFromPicture)(a,b,d);
w._image_createFromPixels=(a,b,d,e,f)=>(w._image_createFromPixels=W.image_createFromPixels)(a,b,d,e,f);w._image_createFromTextureSource=(a,b,d,e)=>(w._image_createFromTextureSource=W.image_createFromTextureSource)(a,b,d,e);w._image_ref=a=>(w._image_ref=W.image_ref)(a);w._image_dispose=a=>(w._image_dispose=W.image_dispose)(a);w._image_getWidth=a=>(w._image_getWidth=W.image_getWidth)(a);w._image_getHeight=a=>(w._image_getHeight=W.image_getHeight)(a);
w._skwasm_getLiveObjectCounts=a=>(w._skwasm_getLiveObjectCounts=W.skwasm_getLiveObjectCounts)(a);w._paint_create=(a,b,d,e,f,h,l,m,n)=>(w._paint_create=W.paint_create)(a,b,d,e,f,h,l,m,n);w._paint_dispose=a=>(w._paint_dispose=W.paint_dispose)(a);w._paint_setShader=(a,b)=>(w._paint_setShader=W.paint_setShader)(a,b);w._paint_setImageFilter=(a,b)=>(w._paint_setImageFilter=W.paint_setImageFilter)(a,b);w._paint_setColorFilter=(a,b)=>(w._paint_setColorFilter=W.paint_setColorFilter)(a,b);
w._paint_setMaskFilter=(a,b)=>(w._paint_setMaskFilter=W.paint_setMaskFilter)(a,b);w._path_create=()=>(w._path_create=W.path_create)();w._path_dispose=a=>(w._path_dispose=W.path_dispose)(a);w._path_copy=a=>(w._path_copy=W.path_copy)(a);w._path_setFillType=(a,b)=>(w._path_setFillType=W.path_setFillType)(a,b);w._path_getFillType=a=>(w._path_getFillType=W.path_getFillType)(a);w._path_moveTo=(a,b,d)=>(w._path_moveTo=W.path_moveTo)(a,b,d);
w._path_relativeMoveTo=(a,b,d)=>(w._path_relativeMoveTo=W.path_relativeMoveTo)(a,b,d);w._path_lineTo=(a,b,d)=>(w._path_lineTo=W.path_lineTo)(a,b,d);w._path_relativeLineTo=(a,b,d)=>(w._path_relativeLineTo=W.path_relativeLineTo)(a,b,d);w._path_quadraticBezierTo=(a,b,d,e,f)=>(w._path_quadraticBezierTo=W.path_quadraticBezierTo)(a,b,d,e,f);w._path_relativeQuadraticBezierTo=(a,b,d,e,f)=>(w._path_relativeQuadraticBezierTo=W.path_relativeQuadraticBezierTo)(a,b,d,e,f);
w._path_cubicTo=(a,b,d,e,f,h,l)=>(w._path_cubicTo=W.path_cubicTo)(a,b,d,e,f,h,l);w._path_relativeCubicTo=(a,b,d,e,f,h,l)=>(w._path_relativeCubicTo=W.path_relativeCubicTo)(a,b,d,e,f,h,l);w._path_conicTo=(a,b,d,e,f,h)=>(w._path_conicTo=W.path_conicTo)(a,b,d,e,f,h);w._path_relativeConicTo=(a,b,d,e,f,h)=>(w._path_relativeConicTo=W.path_relativeConicTo)(a,b,d,e,f,h);w._path_arcToOval=(a,b,d,e,f)=>(w._path_arcToOval=W.path_arcToOval)(a,b,d,e,f);
w._path_arcToRotated=(a,b,d,e,f,h,l,m)=>(w._path_arcToRotated=W.path_arcToRotated)(a,b,d,e,f,h,l,m);w._path_relativeArcToRotated=(a,b,d,e,f,h,l,m)=>(w._path_relativeArcToRotated=W.path_relativeArcToRotated)(a,b,d,e,f,h,l,m);w._path_addRect=(a,b)=>(w._path_addRect=W.path_addRect)(a,b);w._path_addOval=(a,b)=>(w._path_addOval=W.path_addOval)(a,b);w._path_addArc=(a,b,d,e)=>(w._path_addArc=W.path_addArc)(a,b,d,e);w._path_addPolygon=(a,b,d,e)=>(w._path_addPolygon=W.path_addPolygon)(a,b,d,e);
w._path_addRRect=(a,b)=>(w._path_addRRect=W.path_addRRect)(a,b);w._path_addPath=(a,b,d,e)=>(w._path_addPath=W.path_addPath)(a,b,d,e);w._path_close=a=>(w._path_close=W.path_close)(a);w._path_reset=a=>(w._path_reset=W.path_reset)(a);w._path_contains=(a,b,d)=>(w._path_contains=W.path_contains)(a,b,d);w._path_transform=(a,b)=>(w._path_transform=W.path_transform)(a,b);w._path_getBounds=(a,b)=>(w._path_getBounds=W.path_getBounds)(a,b);w._path_combine=(a,b,d)=>(w._path_combine=W.path_combine)(a,b,d);
w._path_getSvgString=a=>(w._path_getSvgString=W.path_getSvgString)(a);w._pictureRecorder_create=()=>(w._pictureRecorder_create=W.pictureRecorder_create)();w._pictureRecorder_dispose=a=>(w._pictureRecorder_dispose=W.pictureRecorder_dispose)(a);w._pictureRecorder_beginRecording=(a,b)=>(w._pictureRecorder_beginRecording=W.pictureRecorder_beginRecording)(a,b);w._pictureRecorder_endRecording=a=>(w._pictureRecorder_endRecording=W.pictureRecorder_endRecording)(a);
w._picture_getCullRect=(a,b)=>(w._picture_getCullRect=W.picture_getCullRect)(a,b);w._picture_ref=a=>(w._picture_ref=W.picture_ref)(a);w._picture_dispose=a=>(w._picture_dispose=W.picture_dispose)(a);w._picture_approximateBytesUsed=a=>(w._picture_approximateBytesUsed=W.picture_approximateBytesUsed)(a);w._shader_createLinearGradient=(a,b,d,e,f,h)=>(w._shader_createLinearGradient=W.shader_createLinearGradient)(a,b,d,e,f,h);
w._shader_createRadialGradient=(a,b,d,e,f,h,l,m)=>(w._shader_createRadialGradient=W.shader_createRadialGradient)(a,b,d,e,f,h,l,m);w._shader_createConicalGradient=(a,b,d,e,f,h,l,m)=>(w._shader_createConicalGradient=W.shader_createConicalGradient)(a,b,d,e,f,h,l,m);w._shader_createSweepGradient=(a,b,d,e,f,h,l,m,n)=>(w._shader_createSweepGradient=W.shader_createSweepGradient)(a,b,d,e,f,h,l,m,n);w._shader_dispose=a=>(w._shader_dispose=W.shader_dispose)(a);
w._runtimeEffect_create=a=>(w._runtimeEffect_create=W.runtimeEffect_create)(a);w._runtimeEffect_dispose=a=>(w._runtimeEffect_dispose=W.runtimeEffect_dispose)(a);w._runtimeEffect_getUniformSize=a=>(w._runtimeEffect_getUniformSize=W.runtimeEffect_getUniformSize)(a);w._shader_createRuntimeEffectShader=(a,b,d,e)=>(w._shader_createRuntimeEffectShader=W.shader_createRuntimeEffectShader)(a,b,d,e);w._shader_createFromImage=(a,b,d,e,f)=>(w._shader_createFromImage=W.shader_createFromImage)(a,b,d,e,f);
w._uniformData_create=a=>(w._uniformData_create=W.uniformData_create)(a);w._uniformData_dispose=a=>(w._uniformData_dispose=W.uniformData_dispose)(a);w._uniformData_getPointer=a=>(w._uniformData_getPointer=W.uniformData_getPointer)(a);w._skString_allocate=a=>(w._skString_allocate=W.skString_allocate)(a);w._skString_getData=a=>(w._skString_getData=W.skString_getData)(a);w._skString_getLength=a=>(w._skString_getLength=W.skString_getLength)(a);w._skString_free=a=>(w._skString_free=W.skString_free)(a);
w._skString16_allocate=a=>(w._skString16_allocate=W.skString16_allocate)(a);w._skString16_getData=a=>(w._skString16_getData=W.skString16_getData)(a);w._skString16_free=a=>(w._skString16_free=W.skString16_free)(a);w._surface_create=()=>(w._surface_create=W.surface_create)();w._surface_setCanvas=(a,b)=>(w._surface_setCanvas=W.surface_setCanvas)(a,b);
var mc=w._surface_receiveCanvasOnWorker=(a,b,d)=>(mc=w._surface_receiveCanvasOnWorker=W.surface_receiveCanvasOnWorker)(a,b,d),nc=w._surface_onInitialized=(a,b)=>(nc=w._surface_onInitialized=W.surface_onInitialized)(a,b);w._surface_setSize=(a,b,d)=>(w._surface_setSize=W.surface_setSize)(a,b,d);
var oc=w._surface_resizeOnWorker=(a,b,d,e)=>(oc=w._surface_resizeOnWorker=W.surface_resizeOnWorker)(a,b,d,e),pc=w._surface_onResizeComplete=(a,b)=>(pc=w._surface_onResizeComplete=W.surface_onResizeComplete)(a,b);w._surface_getThreadId=a=>(w._surface_getThreadId=W.surface_getThreadId)(a);w._surface_getGlContext=a=>(w._surface_getGlContext=W.surface_getGlContext)(a);w._surface_triggerContextLoss=a=>(w._surface_triggerContextLoss=W.surface_triggerContextLoss)(a);
var qc=w._surface_triggerContextLossOnWorker=(a,b)=>(qc=w._surface_triggerContextLossOnWorker=W.surface_triggerContextLossOnWorker)(a,b),rc=w._surface_onContextLossTriggered=(a,b)=>(rc=w._surface_onContextLossTriggered=W.surface_onContextLossTriggered)(a,b),sc=w._surface_reportContextLost=(a,b)=>(sc=w._surface_reportContextLost=W.surface_reportContextLost)(a,b);w._surface_setCallbackHandler=(a,b)=>(w._surface_setCallbackHandler=W.surface_setCallbackHandler)(a,b);
w._surface_destroy=a=>(w._surface_destroy=W.surface_destroy)(a);var vc=w._surface_dispose=a=>(vc=w._surface_dispose=W.surface_dispose)(a);w._surface_setResourceCacheLimitBytes=(a,b)=>(w._surface_setResourceCacheLimitBytes=W.surface_setResourceCacheLimitBytes)(a,b);w._surface_renderPictures=(a,b,d)=>(w._surface_renderPictures=W.surface_renderPictures)(a,b,d);var tc=w._surface_renderPicturesOnWorker=(a,b,d,e,f)=>(tc=w._surface_renderPicturesOnWorker=W.surface_renderPicturesOnWorker)(a,b,d,e,f);
function ya(){ka?(za=1,Aa(w.sb,w.sz),removeEventListener("message",Ba),Ca=Ca.forEach(Da),addEventListener("message",Da)):Ea(wa)}var z=0,Fa=null,Ga=null;function Ha(a){a="Aborted("+a+")";y(a);ra=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");fa(a);throw a;}var Ia=a=>a.startsWith("data:application/octet-stream;base64,"),Ja;
function Ka(a){return na(a).then(b=>new Uint8Array(b),()=>{if(oa)var b=oa(a);else throw"both async and sync fetching of the wasm failed";return b})}function La(a,b,d){return Ka(a).then(e=>WebAssembly.instantiate(e,b)).then(d,e=>{y(`failed to asynchronously prepare wasm: ${e}`);Ha(e)})}
function Ma(a,b){var d=Ja;return"function"!=typeof WebAssembly.instantiateStreaming||Ia(d)||"function"!=typeof fetch?La(d,a,b):fetch(d,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){y(`wasm streaming compile failed: ${f}`);y("falling back to ArrayBuffer instantiation");return La(d,a,b)}))}function Na(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}
var Ca=[],Oa=a=>{if(!(a instanceof Na||"unwind"==a))throw a;},Pa=0,Qa=a=>{sa=a;za||0<Pa||(ra=!0);throw new Na(a);},Ra=a=>{if(!ra)try{if(a(),!(za||0<Pa))try{sa=a=sa,Qa(a)}catch(b){Oa(b)}}catch(b){Oa(b)}},A,Da=a=>{let b=a.data,d=b._wsc;d&&Ra(()=>A.get(d)(...b.x))},Ba=a=>{Ca.push(a)},Ea=a=>{a.forEach(b=>b(w))},za=w.noExitRuntime||!0;class Sa{constructor(a){this.s=a-24}}
var Ta=0,Ua=0,Va="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Wa=(a,b=0,d=NaN)=>{var e=b+d;for(d=b;a[d]&&!(d>=e);)++d;if(16<d-b&&a.buffer&&Va)return Va.decode(a.slice(b,d));for(e="";b<d;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|h);else{var l=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|l:(f&7)<<18|h<<12|l<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e},
B=(a,b)=>a?Wa(q(),a,b):"",C={},Xa=1,Ya={},D=(a,b,d)=>{var e=q();if(0<d){var f=b;d=b+d-1;for(var h=0;h<a.length;++h){var l=a.charCodeAt(h);if(55296<=l&&57343>=l){var m=a.charCodeAt(++h);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(b>=d)break;e[b++]=l}else{if(2047>=l){if(b+1>=d)break;e[b++]=192|l>>6}else{if(65535>=l){if(b+2>=d)break;e[b++]=224|l>>12}else{if(b+3>=d)break;e[b++]=240|l>>18;e[b++]=128|l>>12&63}e[b++]=128|l>>6&63}e[b++]=128|l&63}}e[b]=0;a=b-f}else a=0;return a},E,Za=a=>{var b=a.getExtension("ANGLE_instanced_arrays");
b&&(a.vertexAttribDivisor=(d,e)=>b.vertexAttribDivisorANGLE(d,e),a.drawArraysInstanced=(d,e,f,h)=>b.drawArraysInstancedANGLE(d,e,f,h),a.drawElementsInstanced=(d,e,f,h,l)=>b.drawElementsInstancedANGLE(d,e,f,h,l))},$a=a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=d=>b.deleteVertexArrayOES(d),a.bindVertexArray=d=>b.bindVertexArrayOES(d),a.isVertexArray=d=>b.isVertexArrayOES(d))},ab=a=>{var b=a.getExtension("WEBGL_draw_buffers");
b&&(a.drawBuffers=(d,e)=>b.drawBuffersWEBGL(d,e))},bb=a=>{a.ba=a.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")},cb=a=>{a.ca=a.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")},db=a=>{var b="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");
return(a.getSupportedExtensions()||[]).filter(d=>b.includes(d))},eb=1,F=[],G=[],fb=[],H=[],I=[],J=[],gb=[],K=[],L=[],hb=[],ib={},jb={},kb=4,lb=0,M=a=>{for(var b=eb++,d=a.length;d<b;d++)a[d]=null;return b},mb=(a,b,d,e)=>{for(var f=0;f<a;f++){var h=E[d](),l=h&&M(e);h?(h.name=l,e[l]=h):N||=1282;r()[b+4*f>>2]=l}},ob=(a,b)=>{a.s||(a.s=a.getContext,a.getContext=function(e,f){f=a.s(e,f);return"webgl"==e==f instanceof WebGLRenderingContext?f:null});var d=1<b.J?a.getContext("webgl2",b):a.getContext("webgl",
b);return d?nb(d,b):0},nb=(a,b)=>{var d=M(K),e={handle:d,attributes:b,version:b.J,m:a};a.canvas&&(a.canvas.M=e);K[d]=e;("undefined"==typeof b.H||b.H)&&pb(e);return d},pb=a=>{a||=O;if(!a.S){a.S=!0;var b=a.m;b.U=b.getExtension("WEBGL_multi_draw");b.P=b.getExtension("EXT_polygon_offset_clamp");b.O=b.getExtension("EXT_clip_control");b.Z=b.getExtension("WEBGL_polygon_mode");Za(b);$a(b);ab(b);bb(b);cb(b);2<=a.version&&(b.o=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.o)b.o=b.getExtension("EXT_disjoint_timer_query");
db(b).forEach(d=>{d.includes("lose_context")||d.includes("debug")||b.getExtension(d)})}},N,O,qb=(a,b)=>{E.bindFramebuffer(a,fb[b])},rb=a=>E.clear(a),sb=(a,b,d,e)=>E.clearColor(a,b,d,e),tb=a=>E.clearStencil(a),ub=(a,b)=>{t()[a>>2]=b;var d=t()[a>>2];t()[a+4>>2]=(b-d)/4294967296};function vb(){var a=db(E);return a=a.concat(a.map(b=>"GL_"+b))}
var wb=(a,b,d)=>{if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=d&&1!=d&&(N||=1280);return;case 34814:case 36345:e=0;break;case 34466:var f=E.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>O.version){N||=1282;return}e=vb().length;break;case 33307:case 33308:if(2>O.version){N||=1280;return}e=33307==a?3:0}if(void 0===e)switch(f=E.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":N||=1280;return;case "object":if(null===f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=
0;break;default:N||=1280;return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a<f.length;++a)switch(d){case 0:r()[b+4*a>>2]=f[a];break;case 2:v()[b+4*a>>2]=f[a];break;case 4:c()[b+a]=f[a]?1:0}return}try{e=f.name|0}catch(h){N||=1280;y(`GL_INVALID_ENUM in glGet${d}v: Unknown object returned from WebGL getParameter(${a})! (error: ${h})`);return}}break;default:N||=1280;y(`GL_INVALID_ENUM in glGet${d}v: Native code calling glGet${d}v(${a}) and it returns ${f} of type ${typeof f}!`);
return}switch(d){case 1:ub(b,e);break;case 0:r()[b>>2]=e;break;case 2:v()[b>>2]=e;break;case 4:c()[b]=e?1:0}}else N||=1281},xb=(a,b)=>wb(a,b,0),yb=a=>{a-=5120;0==a?a=c():1==a?a=q():2==a?(g.buffer!=k.buffer&&p(),a=ta):4==a?a=r():6==a?a=v():5==a||28922==a||28520==a||30779==a||30782==a?a=t():(g.buffer!=k.buffer&&p(),a=ua);return a},zb=(a,b,d,e,f)=>{a=yb(a);b=e*((lb||d)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*a.BYTES_PER_ELEMENT+kb-1&-kb);return a.subarray(f>>>31-Math.clz32(a.BYTES_PER_ELEMENT),
f+b>>>31-Math.clz32(a.BYTES_PER_ELEMENT))},Ab=(a,b,d,e,f,h,l)=>{if(2<=O.version)if(E.D)E.readPixels(a,b,d,e,f,h,l);else{var m=yb(h);l>>>=31-Math.clz32(m.BYTES_PER_ELEMENT);E.readPixels(a,b,d,e,f,h,m,l)}else(m=zb(h,f,d,e,l))?E.readPixels(a,b,d,e,f,h,m):N||=1280},Bb=()=>{Ha("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER");return 0},P={},Cb=a=>{a.forEach(b=>{var d=Bb();d&&(P[d]=b)})},Db={},Fb=()=>{if(!Eb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",
PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"},b;for(b in Db)void 0===Db[b]?delete a[b]:a[b]=Db[b];var d=[];for(b in a)d.push(`${b}=${a[b]}`);Eb=d}return Eb},Eb,Gb=[null,[],[]],Ib=a=>{for(var b=0,d=0;d<a.length;++d){var e=a.charCodeAt(d);127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++d):b+=3}b+=1;(d=Hb(b))&&D(a,d,b);return d},Jb=a=>"]"==a.slice(-1)&&a.lastIndexOf("["),Kb=[],Q=a=>{var b=
E.N;if(b){var d=b.u[a];"number"==typeof d&&(b.u[a]=d=E.getUniformLocation(b,b.K[a]+(0<d?`[${d}]`:"")));return d}N||=1282},R=[];function Lb(){}function Mb(){}function Nb(){}function Ob(){}function Pb(){}function Qb(){}function Rb(){}function Sb(){}function Tb(){}function Ub(){}function Vb(){}function Wb(){}function Xb(){}function Yb(){}function Zb(){}function $b(){}function ac(){}function bc(){}function cc(){}function dc(){}function ec(){}function fc(){}function gc(){}function T(){}
function hc(){}function ic(){}var U,jc=[],lc=a=>kc(a);w.stackAlloc=lc;ka&&(C[0]=this,addEventListener("message",Ba));for(var V=0;32>V;++V)Kb.push(Array(V));var mc=new Float32Array(288);for(V=0;288>=V;++V)R[V]=mc.subarray(0,V);
(function(){if(w.skwasmSingleThreaded){$b=function(){return!0};let e;Mb=function(f,h){e=h};Nb=function(){return performance.now()};T=function(f){queueMicrotask(()=>e(f))}}else{$b=function(){return!1};let e=0;Mb=function(f,h){function l({data:m}){const n=m.l;n&&("syncTimeOrigin"==n?e=performance.timeOrigin-m.timeOrigin:h(m))}f?(C[f].addEventListener("message",l),C[f].postMessage({l:"syncTimeOrigin",timeOrigin:performance.timeOrigin})):addEventListener("message",l)};Nb=function(){return performance.now()+
e};T=function(f,h,l){l?C[l].postMessage(f,{transfer:h}):postMessage(f,{transfer:h})}}const a=new Map,b=new Map,d=new Map;Ob=function(e){Mb(e,function(f){var h=f.l;if(h)switch(h){case "transferCanvas":nc(f.g,f.canvas,f.h);break;case "onInitialized":oc(f.g,f.h);break;case "resizeSurface":pc(f.g,f.width,f.height,f.h);break;case "onResizeComplete":qc(f.g,f.h);break;case "triggerContextLoss":rc(f.g,f.h);break;case "onContextLossTriggered":sc(f.g,f.h);break;case "reportContextLost":tc(f.g,f.h);break;case "renderPictures":uc(f.g,
f.W,f.V,f.h,Nb());break;case "onRenderComplete":vc(f.g,f.h,{imageBitmaps:f.R,rasterStartMilliseconds:f.Y,rasterEndMilliseconds:f.X});break;case "setAssociatedObject":d.set(f.F,f.object);break;case "disposeAssociatedObject":f=f.F;h=d.get(f);h.close&&h.close();d.delete(f);break;case "disposeSurface":wc(f.g);break;case "rasterizeImage":xc(f.g,f.image,f.format,f.h);break;case "onRasterizeComplete":yc(f.g,f.data,f.h);break;default:console.warn(`unrecognized skwasm message: ${h}`)}})};hc=function(e,f,h){T({l:"setAssociatedObject",
F:f,object:h},[h],e)};Yb=function(e){return d.get(e)};Xb=function(e,f){T({l:"disposeAssociatedObject",F:f},[],e)};Rb=function(e,f){T({l:"disposeSurface",g:f},[],e)};Vb=function(e,f,h,l){T({l:"transferCanvas",g:f,canvas:h,h:l},[h],e)};dc=function(e,f,h){T({l:"onInitialized",g:e,$:f,h},[])};Ub=function(e,f,h,l,m){T({l:"resizeSurface",g:f,width:h,height:l,h:m},[],e)};ec=function(e,f){T({l:"onResizeComplete",g:e,h:f},[])};fc=function(e,f,h){e=b.get(e);e.width=f;e.height=h};Tb=function(e,f,h,l,m){T({l:"renderPictures",
g:f,W:h,V:l,h:m},[],e)};gc=async function(e,f,h,l){f||=[];T({l:"onRenderComplete",g:e,h:l,R:f,Y:h,X:Nb()},[...f])};Lb=function(e,f){f||=[];e=b.get(e);f.push(e.transferToImageBitmap());return f};Sb=function(e,f,h,l,m){T({l:"rasterizeImage",g:f,image:h,format:l,h:m},[],e)};ac=function(e,f,h){T({l:"onRasterizeComplete",g:e,data:f,h})};Wb=function(e,f,h){T({l:"triggerContextLoss",g:f,h},[],e)};bc=function(e,f){T({l:"onContextLossTriggered",g:e,h:f},[])};cc=function(e,f){T({l:"reportContextLost",g:e,h:f},
[])};ic=function(){O.m.getExtension("WEBGL_lose_context").loseContext()};Zb=function(e,f,h){f=ob(e,{J:2,alpha:!0,depth:!0,stencil:!0,antialias:f,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",failIfMajorPerformanceCaveat:!1,H:!0});b.set(f,e);var l=function(m){m.preventDefault();zc(h);e.removeEventListener("webglcontextlost",l)};e.addEventListener("webglcontextlost",l);a.set(f,l);return f};Qb=function(e){const f=b.get(e),h=a.get(e);f&&h&&f.removeEventListener("webglcontextlost",
h);O===K[e]&&(O=null);"object"==typeof JSEvents&&JSEvents.da(K[e].m.canvas);K[e]&&K[e].m.canvas&&(K[e].m.canvas.M=void 0);K[e]=null;b.delete(e);a.delete(e)};Pb=function(e,f,h){const l=O.m,m=l.createTexture();l.bindTexture(l.TEXTURE_2D,m);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);l.texImage2D(l.TEXTURE_2D,0,l.RGBA,f,h,0,l.RGBA,l.UNSIGNED_BYTE,e);l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);l.bindTexture(l.TEXTURE_2D,null);e=M(I);I[e]=m;return e}})();
var Jc={__cxa_throw:(a,b,d)=>{var e=new Sa(a);t()[e.s+16>>2]=0;t()[e.s+4>>2]=b;t()[e.s+8>>2]=d;Ta=a;Ua++;throw Ta;},__syscall_fcntl64:function(){return 0},__syscall_fstat64:()=>{},__syscall_ioctl:function(){return 0},__syscall_openat:function(){},_abort_js:()=>{Ha("")},_emscripten_create_wasm_worker:(a,b)=>{let d=C[Xa]=new Worker(ma("wimp.ww.js"));d.postMessage({$ww:Xa,wasm:qa,js:w.mainScriptUrlOrBlob||_scriptName,wasmMemory:g,sb:a,sz:b});d.onmessage=Da;return Xa++},_emscripten_get_now_is_monotonic:()=>
1,_emscripten_runtime_keepalive_clear:()=>{za=!1;Pa=0},_emscripten_throw_longjmp:()=>{throw Infinity;},_mmap_js:function(){return-52},_munmap_js:function(){},_setitimer_js:(a,b)=>{Ya[a]&&(clearTimeout(Ya[a].id),delete Ya[a]);if(!b)return 0;var d=setTimeout(()=>{delete Ya[a];Ra(()=>Ac(a,performance.now()))},b);Ya[a]={id:d,ea:b};return 0},_tzset_js:(a,b,d,e)=>{var f=(new Date).getFullYear(),h=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f,6,1)).getTimezoneOffset();var l=Math.max(h,f);t()[a>>2]=
60*l;r()[b>>2]=Number(h!=f);b=m=>{var n=Math.abs(m);return`UTC${0<=m?"-":"+"}${String(Math.floor(n/60)).padStart(2,"0")}${String(n%60).padStart(2,"0")}`};a=b(h);b=b(f);f<h?(D(a,d,17),D(b,e,17)):(D(a,e,17),D(b,d,17))},emscripten_console_warn:a=>{console.warn(B(a))},emscripten_date_now:()=>Date.now(),emscripten_errn:(a,b)=>y(B(a,b)),emscripten_get_now:()=>performance.now(),emscripten_glBindFramebuffer:qb,emscripten_glClear:rb,emscripten_glClearColor:sb,emscripten_glClearStencil:tb,emscripten_glGetIntegerv:xb,
emscripten_glReadPixels:Ab,emscripten_resize_heap:a=>{var b=q().length;a>>>=0;if(a<=b||2147483648<a)return!1;for(var d=1;4>=d;d*=2){var e=b*(1+.2/d);e=Math.min(e,a+100663296);a:{e=(Math.min(2147483648,65536*Math.ceil(Math.max(a,e)/65536))-g.buffer.byteLength+65535)/65536|0;try{g.grow(e);p();var f=1;break a}catch(h){}f=void 0}if(f)return!0}return!1},emscripten_stack_snapshot:function(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();Cb(a);P.I=Bb();P.T=a;return P.I},emscripten_stack_unwind_buffer:(a,
b,d)=>{if(P.I==a)var e=P.T;else e=Error().stack.toString().split("\n"),"Error"==e[0]&&e.shift(),Cb(e);for(var f=3;e[f]&&Bb()!=a;)++f;for(a=0;a<d&&e[a+f];++a)r()[b+4*a>>2]=Bb();return a},emscripten_wasm_worker_post_function_v:(a,b)=>{C[a].postMessage({_wsc:b,x:[]})},emscripten_webgl_enable_extension:function(a,b){a=K[a];b=B(b);b.startsWith("GL_")&&(b=b.substr(3));"ANGLE_instanced_arrays"==b&&Za(E);"OES_vertex_array_object"==b&&$a(E);"WEBGL_draw_buffers"==b&&ab(E);"WEBGL_draw_instanced_base_vertex_base_instance"==
b&&bb(E);"WEBGL_multi_draw_instanced_base_vertex_base_instance"==b&&cb(E);"WEBGL_multi_draw"==b&&(E.U=E.getExtension("WEBGL_multi_draw"));"EXT_polygon_offset_clamp"==b&&(E.P=E.getExtension("EXT_polygon_offset_clamp"));"EXT_clip_control"==b&&(E.O=E.getExtension("EXT_clip_control"));"WEBGL_polygon_mode"==b&&(E.Z=E.getExtension("WEBGL_polygon_mode"));return!!a.m.getExtension(b)},emscripten_webgl_make_context_current:a=>{O=K[a];w.aa=E=O?.m;return!a||E?0:-5},environ_get:(a,b)=>{var d=0;Fb().forEach((e,
f)=>{var h=b+d;f=t()[a+4*f>>2]=h;for(h=0;h<e.length;++h)c()[f++]=e.charCodeAt(h);c()[f]=0;d+=e.length+1});return 0},environ_sizes_get:(a,b)=>{var d=Fb();t()[a>>2]=d.length;var e=0;d.forEach(f=>e+=f.length+1);t()[b>>2]=e;return 0},fd_close:()=>52,fd_pread:function(){return 52},fd_read:()=>52,fd_seek:function(){return 70},fd_write:(a,b,d,e)=>{for(var f=0,h=0;h<d;h++){var l=t()[b>>2],m=t()[b+4>>2];b+=8;for(var n=0;n<m;n++){var u=q()[l+n],S=Gb[a];0===u||10===u?((1===a?pa:y)(Wa(S)),S.length=0):S.push(u)}f+=
m}t()[e>>2]=f;return 0},glActiveTexture:a=>E.activeTexture(a),glAttachShader:(a,b)=>{E.attachShader(G[a],J[b])},glBeginQueryEXT:(a,b)=>{E.o.beginQueryEXT(a,L[b])},glBindAttribLocation:(a,b,d)=>{E.bindAttribLocation(G[a],b,B(d))},glBindBuffer:(a,b)=>{35051==a?E.D=b:35052==a&&(E.v=b);E.bindBuffer(a,F[b])},glBindBufferRange:(a,b,d,e,f)=>{E.bindBufferRange(a,b,F[d],e,f)},glBindFramebuffer:qb,glBindRenderbuffer:(a,b)=>{E.bindRenderbuffer(a,H[b])},glBindTexture:(a,b)=>{E.bindTexture(a,I[b])},glBindVertexArray:a=>
{E.bindVertexArray(gb[a])},glBlendEquationSeparate:(a,b)=>E.blendEquationSeparate(a,b),glBlendFuncSeparate:(a,b,d,e)=>E.blendFuncSeparate(a,b,d,e),glBlitFramebuffer:(a,b,d,e,f,h,l,m,n,u)=>E.blitFramebuffer(a,b,d,e,f,h,l,m,n,u),glBufferData:(a,b,d,e)=>{2<=O.version?d&&b?E.bufferData(a,q(),e,d,b):E.bufferData(a,b,e):E.bufferData(a,d?q().subarray(d,d+b):b,e)},glBufferSubData:(a,b,d,e)=>{2<=O.version?d&&E.bufferSubData(a,b,q(),e,d):E.bufferSubData(a,b,q().subarray(e,e+d))},glCheckFramebufferStatus:a=>
E.checkFramebufferStatus(a),glClear:rb,glClearColor:sb,glClearDepthf:a=>E.clearDepth(a),glClearStencil:tb,glColorMask:(a,b,d,e)=>{E.colorMask(!!a,!!b,!!d,!!e)},glCompileShader:a=>{E.compileShader(J[a])},glCreateProgram:()=>{var a=M(G),b=E.createProgram();b.name=a;b.C=b.A=b.B=0;b.G=1;G[a]=b;return a},glCreateShader:a=>{var b=M(J);J[b]=E.createShader(a);return b},glCullFace:a=>E.cullFace(a),glDeleteBuffers:(a,b)=>{for(var d=0;d<a;d++){var e=r()[b+4*d>>2],f=F[e];f&&(E.deleteBuffer(f),f.name=0,F[e]=null,
e==E.D&&(E.D=0),e==E.v&&(E.v=0))}},glDeleteFramebuffers:(a,b)=>{for(var d=0;d<a;++d){var e=r()[b+4*d>>2],f=fb[e];f&&(E.deleteFramebuffer(f),f.name=0,fb[e]=null)}},glDeleteProgram:a=>{if(a){var b=G[a];b?(E.deleteProgram(b),b.name=0,G[a]=null):N||=1281}},glDeleteQueriesEXT:(a,b)=>{for(var d=0;d<a;d++){var e=r()[b+4*d>>2],f=L[e];f&&(E.o.deleteQueryEXT(f),L[e]=null)}},glDeleteRenderbuffers:(a,b)=>{for(var d=0;d<a;d++){var e=r()[b+4*d>>2],f=H[e];f&&(E.deleteRenderbuffer(f),f.name=0,H[e]=null)}},glDeleteShader:a=>
{if(a){var b=J[a];b?(E.deleteShader(b),J[a]=null):N||=1281}},glDeleteSync:a=>{if(a){var b=hb[a];b?(E.deleteSync(b),b.name=0,hb[a]=null):N||=1281}},glDeleteTextures:(a,b)=>{for(var d=0;d<a;d++){var e=r()[b+4*d>>2],f=I[e];f&&(E.deleteTexture(f),f.name=0,I[e]=null)}},glDeleteVertexArrays:(a,b)=>{for(var d=0;d<a;d++){var e=r()[b+4*d>>2];E.deleteVertexArray(gb[e]);gb[e]=null}},glDepthFunc:a=>E.depthFunc(a),glDepthMask:a=>{E.depthMask(!!a)},glDepthRangef:(a,b)=>E.depthRange(a,b),glDetachShader:(a,b)=>{E.detachShader(G[a],
J[b])},glDisable:a=>E.disable(a),glDisableVertexAttribArray:a=>{E.disableVertexAttribArray(a)},glDrawArrays:(a,b,d)=>{E.drawArrays(a,b,d)},glDrawElements:(a,b,d,e)=>{E.drawElements(a,b,d,e)},glEnable:a=>E.enable(a),glEnableVertexAttribArray:a=>{E.enableVertexAttribArray(a)},glEndQueryEXT:a=>{E.o.endQueryEXT(a)},glFenceSync:(a,b)=>(a=E.fenceSync(a,b))?(b=M(hb),a.name=b,hb[b]=a,b):0,glFinish:()=>E.finish(),glFlush:()=>E.flush(),glFramebufferRenderbuffer:(a,b,d,e)=>{E.framebufferRenderbuffer(a,b,d,H[e])},
glFramebufferTexture2D:(a,b,d,e,f)=>{E.framebufferTexture2D(a,b,d,I[e],f)},glFrontFace:a=>E.frontFace(a),glGenBuffers:(a,b)=>{mb(a,b,"createBuffer",F)},glGenFramebuffers:(a,b)=>{mb(a,b,"createFramebuffer",fb)},glGenQueriesEXT:(a,b)=>{for(var d=0;d<a;d++){var e=E.o.createQueryEXT();if(!e){for(N||=1282;d<a;)r()[b+4*d++>>2]=0;break}var f=M(L);e.name=f;L[f]=e;r()[b+4*d>>2]=f}},glGenRenderbuffers:(a,b)=>{mb(a,b,"createRenderbuffer",H)},glGenTextures:(a,b)=>{mb(a,b,"createTexture",I)},glGenVertexArrays:(a,
b)=>{mb(a,b,"createVertexArray",gb)},glGenerateMipmap:a=>E.generateMipmap(a),glGetActiveUniform:(a,b,d,e,f,h,l)=>{a=G[a];if(b=E.getActiveUniform(a,b))d=l&&D(b.name,l,d),e&&(r()[e>>2]=d),f&&(r()[f>>2]=b.size),h&&(r()[h>>2]=b.type)},glGetActiveUniformBlockName:(a,b,d,e,f)=>{a=G[a];if(a=E.getActiveUniformBlockName(a,b))f&&0<d?(d=D(a,f,d),e&&(r()[e>>2]=d)):e&&(r()[e>>2]=0)},glGetActiveUniformBlockiv:(a,b,d,e)=>{if(e)if(a=G[a],35393==d)d=E.getActiveUniformBlockName(a,b),r()[e>>2]=d.length+1;else{if(a=
E.getActiveUniformBlockParameter(a,b,d),null!==a)if(35395==d)for(d=0;d<a.length;d++)r()[e+4*d>>2]=a[d];else r()[e>>2]=a}else N||=1281},glGetBooleanv:(a,b)=>wb(a,b,4),glGetError:()=>{var a=E.getError()||N;N=0;return a},glGetFloatv:(a,b)=>wb(a,b,2),glGetFramebufferAttachmentParameteriv:(a,b,d,e)=>{a=E.getFramebufferAttachmentParameter(a,b,d);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;r()[e>>2]=a},glGetIntegerv:xb,glGetProgramInfoLog:(a,b,d,e)=>{a=E.getProgramInfoLog(G[a]);
null===a&&(a="(unknown error)");b=0<b&&e?D(a,e,b):0;d&&(r()[d>>2]=b)},glGetProgramiv:(a,b,d)=>{if(d)if(a>=eb)N||=1281;else if(a=G[a],35716==b)a=E.getProgramInfoLog(a),null===a&&(a="(unknown error)"),r()[d>>2]=a.length+1;else if(35719==b){if(!a.C){var e=E.getProgramParameter(a,35718);for(b=0;b<e;++b)a.C=Math.max(a.C,E.getActiveUniform(a,b).name.length+1)}r()[d>>2]=a.C}else if(35722==b){if(!a.A)for(e=E.getProgramParameter(a,35721),b=0;b<e;++b)a.A=Math.max(a.A,E.getActiveAttrib(a,b).name.length+1);r()[d>>
2]=a.A}else if(35381==b){if(!a.B)for(e=E.getProgramParameter(a,35382),b=0;b<e;++b)a.B=Math.max(a.B,E.getActiveUniformBlockName(a,b).length+1);r()[d>>2]=a.B}else r()[d>>2]=E.getProgramParameter(a,b);else N||=1281},glGetQueryObjectui64vEXT:(a,b,d)=>{if(d){a=L[a];b=2>O.version?E.o.getQueryObjectEXT(a,b):E.getQueryParameter(a,b);var e;"boolean"==typeof b?e=b?1:0:e=b;ub(d,e)}else N||=1281},glGetQueryObjectuivEXT:(a,b,d)=>{if(d){a=E.o.getQueryObjectEXT(L[a],b);var e;"boolean"==typeof a?e=a?1:0:e=a;r()[d>>
2]=e}else N||=1281},glGetShaderInfoLog:(a,b,d,e)=>{a=E.getShaderInfoLog(J[a]);null===a&&(a="(unknown error)");b=0<b&&e?D(a,e,b):0;d&&(r()[d>>2]=b)},glGetShaderSource:(a,b,d,e)=>{if(a=E.getShaderSource(J[a]))b=0<b&&e?D(a,e,b):0,d&&(r()[d>>2]=b)},glGetShaderiv:(a,b,d)=>{d?35716==b?(a=E.getShaderInfoLog(J[a]),null===a&&(a="(unknown error)"),a=a?a.length+1:0,r()[d>>2]=a):35720==b?(a=(a=E.getShaderSource(J[a]))?a.length+1:0,r()[d>>2]=a):r()[d>>2]=E.getShaderParameter(J[a],b):N||=1281},glGetString:a=>{var b=
ib[a];if(!b){switch(a){case 7939:b=Ib(vb().join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=E.getParameter(a))||(N||=1280);b=b?Ib(b):0;break;case 7938:b=E.getParameter(7938);var d=`OpenGL ES 2.0 (${b})`;2<=O.version&&(d=`OpenGL ES 3.0 (${b})`);b=Ib(d);break;case 35724:b=E.getParameter(35724);d=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==d&&(3==d[1].length&&(d[1]+="0"),b=`OpenGL ES GLSL ES ${d[1]} (${b})`);b=Ib(b);break;default:N||=1280}ib[a]=b}return b},glGetStringi:(a,
b)=>{if(2>O.version)return N||=1282,0;var d=jb[a];if(d)return 0>b||b>=d.length?(N||=1281,0):d[b];switch(a){case 7939:return d=vb().map(Ib),d=jb[a]=d,0>b||b>=d.length?(N||=1281,0):d[b];default:return N||=1280,0}},glGetUniformBlockIndex:(a,b)=>E.getUniformBlockIndex(G[a],B(b)),glGetUniformLocation:(a,b)=>{b=B(b);if(a=G[a]){var d=a,e=d.u,f=d.L,h;if(!e){d.u=e={};d.K={};var l=E.getProgramParameter(d,35718);for(h=0;h<l;++h){var m=E.getActiveUniform(d,h);var n=m.name;m=m.size;var u=Jb(n);u=0<u?n.slice(0,
u):n;var S=d.G;d.G+=m;f[u]=[m,S];for(n=0;n<m;++n)e[S]=n,d.K[S++]=u}}d=a.u;e=0;f=b;h=Jb(b);0<h&&(e=parseInt(b.slice(h+1))>>>0,f=b.slice(0,h));if((f=a.L[f])&&e<f[0]&&(e+=f[1],d[e]=d[e]||E.getUniformLocation(a,b)))return e}else N||=1281;return-1},glInvalidateFramebuffer:(a,b,d)=>{for(var e=Kb[b],f=0;f<b;f++)e[f]=r()[d+4*f>>2];E.invalidateFramebuffer(a,e)},glIsBuffer:a=>(a=F[a])?E.isBuffer(a):0,glIsFramebuffer:a=>(a=fb[a])?E.isFramebuffer(a):0,glIsProgram:a=>(a=G[a])?E.isProgram(a):0,glIsRenderbuffer:a=>
(a=H[a])?E.isRenderbuffer(a):0,glIsShader:a=>(a=J[a])?E.isShader(a):0,glIsTexture:a=>(a=I[a])?E.isTexture(a):0,glLinkProgram:a=>{a=G[a];E.linkProgram(a);a.u=0;a.L={}},glPixelStorei:(a,b)=>{3317==a?kb=b:3314==a&&(lb=b);E.pixelStorei(a,b)},glReadPixels:Ab,glRenderbufferStorage:(a,b,d,e)=>E.renderbufferStorage(a,b,d,e),glRenderbufferStorageMultisample:(a,b,d,e,f)=>E.renderbufferStorageMultisample(a,b,d,e,f),glScissor:(a,b,d,e)=>E.scissor(a,b,d,e),glShaderBinary:()=>{N||=1280},glShaderSource:(a,b,d,e)=>
{for(var f="",h=0;h<b;++h){var l=e?t()[e+4*h>>2]:void 0;f+=B(t()[d+4*h>>2],l)}E.shaderSource(J[a],f)},glStencilFuncSeparate:(a,b,d,e)=>E.stencilFuncSeparate(a,b,d,e),glStencilMaskSeparate:(a,b)=>E.stencilMaskSeparate(a,b),glStencilOpSeparate:(a,b,d,e)=>E.stencilOpSeparate(a,b,d,e),glTexImage2D:(a,b,d,e,f,h,l,m,n)=>{if(2<=O.version){if(E.v){E.texImage2D(a,b,d,e,f,h,l,m,n);return}if(n){var u=yb(m);n>>>=31-Math.clz32(u.BYTES_PER_ELEMENT);E.texImage2D(a,b,d,e,f,h,l,m,u,n);return}}u=n?zb(m,l,e,f,n):null;
E.texImage2D(a,b,d,e,f,h,l,m,u)},glTexParameterfv:(a,b,d)=>{d=v()[d>>2];E.texParameterf(a,b,d)},glTexParameteri:(a,b,d)=>E.texParameteri(a,b,d),glTexSubImage2D:(a,b,d,e,f,h,l,m,n)=>{if(2<=O.version){if(E.v){E.texSubImage2D(a,b,d,e,f,h,l,m,n);return}if(n){var u=yb(m);E.texSubImage2D(a,b,d,e,f,h,l,m,u,n>>>31-Math.clz32(u.BYTES_PER_ELEMENT));return}}n=n?zb(m,l,f,h,n):null;E.texSubImage2D(a,b,d,e,f,h,l,m,n)},glUniform1fv:(a,b,d)=>{if(2<=O.version)b&&E.uniform1fv(Q(a),v(),d>>2,b);else{if(288>=b)for(var e=
R[b],f=0;f<b;++f)e[f]=v()[d+4*f>>2];else e=v().subarray(d>>2,d+4*b>>2);E.uniform1fv(Q(a),e)}},glUniform1i:(a,b)=>{E.uniform1i(Q(a),b)},glUniform2fv:(a,b,d)=>{if(2<=O.version)b&&E.uniform2fv(Q(a),v(),d>>2,2*b);else{if(144>=b){b*=2;for(var e=R[b],f=0;f<b;f+=2)e[f]=v()[d+4*f>>2],e[f+1]=v()[d+(4*f+4)>>2]}else e=v().subarray(d>>2,d+8*b>>2);E.uniform2fv(Q(a),e)}},glUniform3fv:(a,b,d)=>{if(2<=O.version)b&&E.uniform3fv(Q(a),v(),d>>2,3*b);else{if(96>=b){b*=3;for(var e=R[b],f=0;f<b;f+=3)e[f]=v()[d+4*f>>2],
e[f+1]=v()[d+(4*f+4)>>2],e[f+2]=v()[d+(4*f+8)>>2]}else e=v().subarray(d>>2,d+12*b>>2);E.uniform3fv(Q(a),e)}},glUniform4fv:(a,b,d)=>{if(2<=O.version)b&&E.uniform4fv(Q(a),v(),d>>2,4*b);else{if(72>=b){var e=R[4*b],f=v();d>>=2;b*=4;for(var h=0;h<b;h+=4){var l=d+h;e[h]=f[l];e[h+1]=f[l+1];e[h+2]=f[l+2];e[h+3]=f[l+3]}}else e=v().subarray(d>>2,d+16*b>>2);E.uniform4fv(Q(a),e)}},glUniformBlockBinding:(a,b,d)=>{a=G[a];E.uniformBlockBinding(a,b,d)},glUniformMatrix2fv:(a,b,d,e)=>{if(2<=O.version)b&&E.uniformMatrix2fv(Q(a),
!!d,v(),e>>2,4*b);else{if(72>=b){b*=4;for(var f=R[b],h=0;h<b;h+=4)f[h]=v()[e+4*h>>2],f[h+1]=v()[e+(4*h+4)>>2],f[h+2]=v()[e+(4*h+8)>>2],f[h+3]=v()[e+(4*h+12)>>2]}else f=v().subarray(e>>2,e+16*b>>2);E.uniformMatrix2fv(Q(a),!!d,f)}},glUniformMatrix3fv:(a,b,d,e)=>{if(2<=O.version)b&&E.uniformMatrix3fv(Q(a),!!d,v(),e>>2,9*b);else{if(32>=b){b*=9;for(var f=R[b],h=0;h<b;h+=9)f[h]=v()[e+4*h>>2],f[h+1]=v()[e+(4*h+4)>>2],f[h+2]=v()[e+(4*h+8)>>2],f[h+3]=v()[e+(4*h+12)>>2],f[h+4]=v()[e+(4*h+16)>>2],f[h+5]=v()[e+
(4*h+20)>>2],f[h+6]=v()[e+(4*h+24)>>2],f[h+7]=v()[e+(4*h+28)>>2],f[h+8]=v()[e+(4*h+32)>>2]}else f=v().subarray(e>>2,e+36*b>>2);E.uniformMatrix3fv(Q(a),!!d,f)}},glUniformMatrix4fv:(a,b,d,e)=>{if(2<=O.version)b&&E.uniformMatrix4fv(Q(a),!!d,v(),e>>2,16*b);else{if(18>=b){var f=R[16*b],h=v();e>>=2;b*=16;for(var l=0;l<b;l+=16){var m=e+l;f[l]=h[m];f[l+1]=h[m+1];f[l+2]=h[m+2];f[l+3]=h[m+3];f[l+4]=h[m+4];f[l+5]=h[m+5];f[l+6]=h[m+6];f[l+7]=h[m+7];f[l+8]=h[m+8];f[l+9]=h[m+9];f[l+10]=h[m+10];f[l+11]=h[m+11];
f[l+12]=h[m+12];f[l+13]=h[m+13];f[l+14]=h[m+14];f[l+15]=h[m+15]}}else f=v().subarray(e>>2,e+64*b>>2);E.uniformMatrix4fv(Q(a),!!d,f)}},glUseProgram:a=>{a=G[a];E.useProgram(a);E.N=a},glVertexAttribPointer:(a,b,d,e,f,h)=>{E.vertexAttribPointer(a,b,d,!!e,f,h)},glViewport:(a,b,d,e)=>E.viewport(a,b,d,e),glWaitSync:(a,b,d,e)=>{E.waitSync(hb[a],b,(d>>>0)+4294967296*e)},invoke_ii:Bc,invoke_iii:Cc,invoke_iiiii:Dc,invoke_iiiiiii:Ec,invoke_vi:Fc,invoke_vii:Gc,invoke_viii:Hc,invoke_viiiiiii:Ic,memory:g,proc_exit:Qa,
skwasm_captureImageBitmap:Lb,skwasm_connectThread:Ob,skwasm_createGlTextureFromTextureSource:Pb,skwasm_destroyContext:Qb,skwasm_dispatchDisposeSurface:Rb,skwasm_dispatchRasterizeImage:Sb,skwasm_dispatchRenderPictures:Tb,skwasm_dispatchResizeSurface:Ub,skwasm_dispatchTransferCanvas:Vb,skwasm_dispatchTriggerContextLoss:Wb,skwasm_disposeAssociatedObjectOnThread:Xb,skwasm_getAssociatedObject:Yb,skwasm_getGlContextForCanvas:Zb,skwasm_isSingleThreaded:$b,skwasm_postRasterizeResult:ac,skwasm_reportContextLossTriggered:bc,
skwasm_reportContextLost:cc,skwasm_reportInitialized:dc,skwasm_reportResizeComplete:ec,skwasm_resizeCanvas:fc,skwasm_resolveAndPostImages:gc,skwasm_setAssociatedObjectOnThread:hc,skwasm_triggerContextLossOnCanvas:ic},W=function(){function a(d,e){W=d.exports;w.wasmExports=W;A=W.__indirect_function_table;wa.unshift(W.__wasm_call_ctors);qa=e;z--;0==z&&(null!==Fa&&(clearInterval(Fa),Fa=null),Ga&&(d=Ga,Ga=null,d()));return W}var b={env:Jc,wasi_snapshot_preview1:Jc};z++;if(w.instantiateWasm)try{return w.instantiateWasm(b,
a)}catch(d){y(`Module.instantiateWasm callback failed with error: ${d}`),fa(d)}Ja??=Ia("wimp.wasm")?"wimp.wasm":ma("wimp.wasm");Ma(b,function(d){a(d.instance,d.module)}).catch(fa);return{}}();w._canvas_saveLayer=(a,b,d,e)=>(w._canvas_saveLayer=W.canvas_saveLayer)(a,b,d,e);w._canvas_save=a=>(w._canvas_save=W.canvas_save)(a);w._canvas_restore=a=>(w._canvas_restore=W.canvas_restore)(a);w._canvas_restoreToCount=(a,b)=>(w._canvas_restoreToCount=W.canvas_restoreToCount)(a,b);
w._canvas_getSaveCount=a=>(w._canvas_getSaveCount=W.canvas_getSaveCount)(a);w._canvas_translate=(a,b,d)=>(w._canvas_translate=W.canvas_translate)(a,b,d);w._canvas_scale=(a,b,d)=>(w._canvas_scale=W.canvas_scale)(a,b,d);w._canvas_rotate=(a,b)=>(w._canvas_rotate=W.canvas_rotate)(a,b);w._canvas_skew=(a,b,d)=>(w._canvas_skew=W.canvas_skew)(a,b,d);w._canvas_transform=(a,b)=>(w._canvas_transform=W.canvas_transform)(a,b);w._canvas_clear=(a,b)=>(w._canvas_clear=W.canvas_clear)(a,b);
w._canvas_clipRect=(a,b,d,e)=>(w._canvas_clipRect=W.canvas_clipRect)(a,b,d,e);w._canvas_clipRRect=(a,b,d)=>(w._canvas_clipRRect=W.canvas_clipRRect)(a,b,d);w._canvas_clipPath=(a,b,d)=>(w._canvas_clipPath=W.canvas_clipPath)(a,b,d);w._canvas_drawColor=(a,b,d)=>(w._canvas_drawColor=W.canvas_drawColor)(a,b,d);w._canvas_drawLine=(a,b,d,e,f,h)=>(w._canvas_drawLine=W.canvas_drawLine)(a,b,d,e,f,h);w._canvas_drawPaint=(a,b)=>(w._canvas_drawPaint=W.canvas_drawPaint)(a,b);
w._canvas_drawRect=(a,b,d)=>(w._canvas_drawRect=W.canvas_drawRect)(a,b,d);w._canvas_drawRRect=(a,b,d)=>(w._canvas_drawRRect=W.canvas_drawRRect)(a,b,d);w._canvas_drawDRRect=(a,b,d,e)=>(w._canvas_drawDRRect=W.canvas_drawDRRect)(a,b,d,e);w._canvas_drawOval=(a,b,d)=>(w._canvas_drawOval=W.canvas_drawOval)(a,b,d);w._canvas_drawCircle=(a,b,d,e,f)=>(w._canvas_drawCircle=W.canvas_drawCircle)(a,b,d,e,f);w._canvas_drawArc=(a,b,d,e,f,h)=>(w._canvas_drawArc=W.canvas_drawArc)(a,b,d,e,f,h);
w._canvas_drawPath=(a,b,d)=>(w._canvas_drawPath=W.canvas_drawPath)(a,b,d);w._canvas_drawShadow=(a,b,d,e,f,h)=>(w._canvas_drawShadow=W.canvas_drawShadow)(a,b,d,e,f,h);w._canvas_drawParagraph=(a,b,d,e)=>(w._canvas_drawParagraph=W.canvas_drawParagraph)(a,b,d,e);w._canvas_drawPicture=(a,b)=>(w._canvas_drawPicture=W.canvas_drawPicture)(a,b);w._canvas_drawImage=(a,b,d,e,f,h)=>(w._canvas_drawImage=W.canvas_drawImage)(a,b,d,e,f,h);
w._canvas_drawImageRect=(a,b,d,e,f,h)=>(w._canvas_drawImageRect=W.canvas_drawImageRect)(a,b,d,e,f,h);w._canvas_drawImageNine=(a,b,d,e,f,h)=>(w._canvas_drawImageNine=W.canvas_drawImageNine)(a,b,d,e,f,h);w._canvas_drawVertices=(a,b,d,e)=>(w._canvas_drawVertices=W.canvas_drawVertices)(a,b,d,e);w._canvas_drawPoints=(a,b,d,e,f)=>(w._canvas_drawPoints=W.canvas_drawPoints)(a,b,d,e,f);w._canvas_drawAtlas=(a,b,d,e,f,h,l,m,n)=>(w._canvas_drawAtlas=W.canvas_drawAtlas)(a,b,d,e,f,h,l,m,n);
w._canvas_getTransform=(a,b)=>(w._canvas_getTransform=W.canvas_getTransform)(a,b);w._canvas_getLocalClipBounds=(a,b)=>(w._canvas_getLocalClipBounds=W.canvas_getLocalClipBounds)(a,b);w._canvas_getDeviceClipBounds=(a,b)=>(w._canvas_getDeviceClipBounds=W.canvas_getDeviceClipBounds)(a,b);w._canvas_quickReject=(a,b)=>(w._canvas_quickReject=W.canvas_quickReject)(a,b);w._contourMeasureIter_create=(a,b,d)=>(w._contourMeasureIter_create=W.contourMeasureIter_create)(a,b,d);
w._contourMeasureIter_next=a=>(w._contourMeasureIter_next=W.contourMeasureIter_next)(a);w._contourMeasureIter_dispose=a=>(w._contourMeasureIter_dispose=W.contourMeasureIter_dispose)(a);w._contourMeasure_dispose=a=>(w._contourMeasure_dispose=W.contourMeasure_dispose)(a);w._contourMeasure_length=a=>(w._contourMeasure_length=W.contourMeasure_length)(a);w._contourMeasure_isClosed=a=>(w._contourMeasure_isClosed=W.contourMeasure_isClosed)(a);
w._contourMeasure_getPosTan=(a,b,d,e)=>(w._contourMeasure_getPosTan=W.contourMeasure_getPosTan)(a,b,d,e);w._contourMeasure_getSegment=(a,b,d,e)=>(w._contourMeasure_getSegment=W.contourMeasure_getSegment)(a,b,d,e);w._skData_create=a=>(w._skData_create=W.skData_create)(a);w._skData_getPointer=a=>(w._skData_getPointer=W.skData_getPointer)(a);w._skData_getConstPointer=a=>(w._skData_getConstPointer=W.skData_getConstPointer)(a);w._skData_getSize=a=>(w._skData_getSize=W.skData_getSize)(a);
w._skData_dispose=a=>(w._skData_dispose=W.skData_dispose)(a);w._imageFilter_createBlur=(a,b,d)=>(w._imageFilter_createBlur=W.imageFilter_createBlur)(a,b,d);w._imageFilter_createDilate=(a,b)=>(w._imageFilter_createDilate=W.imageFilter_createDilate)(a,b);w._imageFilter_createErode=(a,b)=>(w._imageFilter_createErode=W.imageFilter_createErode)(a,b);w._imageFilter_createMatrix=(a,b)=>(w._imageFilter_createMatrix=W.imageFilter_createMatrix)(a,b);
w._imageFilter_createFromColorFilter=a=>(w._imageFilter_createFromColorFilter=W.imageFilter_createFromColorFilter)(a);w._imageFilter_compose=(a,b)=>(w._imageFilter_compose=W.imageFilter_compose)(a,b);w._imageFilter_dispose=a=>(w._imageFilter_dispose=W.imageFilter_dispose)(a);w._imageFilter_getFilterBounds=(a,b)=>(w._imageFilter_getFilterBounds=W.imageFilter_getFilterBounds)(a,b);w._colorFilter_createMode=(a,b)=>(w._colorFilter_createMode=W.colorFilter_createMode)(a,b);
w._colorFilter_createMatrix=a=>(w._colorFilter_createMatrix=W.colorFilter_createMatrix)(a);w._colorFilter_createSRGBToLinearGamma=()=>(w._colorFilter_createSRGBToLinearGamma=W.colorFilter_createSRGBToLinearGamma)();w._colorFilter_createLinearToSRGBGamma=()=>(w._colorFilter_createLinearToSRGBGamma=W.colorFilter_createLinearToSRGBGamma)();w._colorFilter_dispose=a=>(w._colorFilter_dispose=W.colorFilter_dispose)(a);w._maskFilter_createBlur=(a,b)=>(w._maskFilter_createBlur=W.maskFilter_createBlur)(a,b);
w._maskFilter_dispose=a=>(w._maskFilter_dispose=W.maskFilter_dispose)(a);w._fontCollection_create=()=>(w._fontCollection_create=W.fontCollection_create)();w._fontCollection_dispose=a=>(w._fontCollection_dispose=W.fontCollection_dispose)(a);w._typeface_create=a=>(w._typeface_create=W.typeface_create)(a);w._typeface_dispose=a=>(w._typeface_dispose=W.typeface_dispose)(a);w._typefaces_filterCoveredCodePoints=(a,b,d,e)=>(w._typefaces_filterCoveredCodePoints=W.typefaces_filterCoveredCodePoints)(a,b,d,e);
w._fontCollection_registerTypeface=(a,b,d)=>(w._fontCollection_registerTypeface=W.fontCollection_registerTypeface)(a,b,d);w._fontCollection_clearCaches=a=>(w._fontCollection_clearCaches=W.fontCollection_clearCaches)(a);w._image_createFromPicture=(a,b,d)=>(w._image_createFromPicture=W.image_createFromPicture)(a,b,d);w._image_createFromPixels=(a,b,d,e,f)=>(w._image_createFromPixels=W.image_createFromPixels)(a,b,d,e,f);
w._image_createFromTextureSource=(a,b,d,e)=>(w._image_createFromTextureSource=W.image_createFromTextureSource)(a,b,d,e);w._image_ref=a=>(w._image_ref=W.image_ref)(a);w._image_dispose=a=>(w._image_dispose=W.image_dispose)(a);w._image_getWidth=a=>(w._image_getWidth=W.image_getWidth)(a);w._image_getHeight=a=>(w._image_getHeight=W.image_getHeight)(a);w._skwasm_getLiveObjectCounts=a=>(w._skwasm_getLiveObjectCounts=W.skwasm_getLiveObjectCounts)(a);
w._paint_create=(a,b,d,e,f,h,l,m,n)=>(w._paint_create=W.paint_create)(a,b,d,e,f,h,l,m,n);w._paint_dispose=a=>(w._paint_dispose=W.paint_dispose)(a);w._paint_setShader=(a,b)=>(w._paint_setShader=W.paint_setShader)(a,b);w._paint_setImageFilter=(a,b)=>(w._paint_setImageFilter=W.paint_setImageFilter)(a,b);w._paint_setColorFilter=(a,b)=>(w._paint_setColorFilter=W.paint_setColorFilter)(a,b);w._paint_setMaskFilter=(a,b)=>(w._paint_setMaskFilter=W.paint_setMaskFilter)(a,b);
w._path_create=()=>(w._path_create=W.path_create)();w._path_dispose=a=>(w._path_dispose=W.path_dispose)(a);w._path_copy=a=>(w._path_copy=W.path_copy)(a);w._path_setFillType=(a,b)=>(w._path_setFillType=W.path_setFillType)(a,b);w._path_getFillType=a=>(w._path_getFillType=W.path_getFillType)(a);w._path_moveTo=(a,b,d)=>(w._path_moveTo=W.path_moveTo)(a,b,d);w._path_relativeMoveTo=(a,b,d)=>(w._path_relativeMoveTo=W.path_relativeMoveTo)(a,b,d);w._path_lineTo=(a,b,d)=>(w._path_lineTo=W.path_lineTo)(a,b,d);
w._path_relativeLineTo=(a,b,d)=>(w._path_relativeLineTo=W.path_relativeLineTo)(a,b,d);w._path_quadraticBezierTo=(a,b,d,e,f)=>(w._path_quadraticBezierTo=W.path_quadraticBezierTo)(a,b,d,e,f);w._path_relativeQuadraticBezierTo=(a,b,d,e,f)=>(w._path_relativeQuadraticBezierTo=W.path_relativeQuadraticBezierTo)(a,b,d,e,f);w._path_cubicTo=(a,b,d,e,f,h,l)=>(w._path_cubicTo=W.path_cubicTo)(a,b,d,e,f,h,l);w._path_relativeCubicTo=(a,b,d,e,f,h,l)=>(w._path_relativeCubicTo=W.path_relativeCubicTo)(a,b,d,e,f,h,l);
w._path_conicTo=(a,b,d,e,f,h)=>(w._path_conicTo=W.path_conicTo)(a,b,d,e,f,h);w._path_relativeConicTo=(a,b,d,e,f,h)=>(w._path_relativeConicTo=W.path_relativeConicTo)(a,b,d,e,f,h);w._path_arcToOval=(a,b,d,e,f)=>(w._path_arcToOval=W.path_arcToOval)(a,b,d,e,f);w._path_arcToRotated=(a,b,d,e,f,h,l,m)=>(w._path_arcToRotated=W.path_arcToRotated)(a,b,d,e,f,h,l,m);w._path_relativeArcToRotated=(a,b,d,e,f,h,l,m)=>(w._path_relativeArcToRotated=W.path_relativeArcToRotated)(a,b,d,e,f,h,l,m);
w._path_addRect=(a,b)=>(w._path_addRect=W.path_addRect)(a,b);w._path_addOval=(a,b)=>(w._path_addOval=W.path_addOval)(a,b);w._path_addArc=(a,b,d,e)=>(w._path_addArc=W.path_addArc)(a,b,d,e);w._path_addPolygon=(a,b,d,e)=>(w._path_addPolygon=W.path_addPolygon)(a,b,d,e);w._path_addRRect=(a,b)=>(w._path_addRRect=W.path_addRRect)(a,b);w._path_addPath=(a,b,d,e)=>(w._path_addPath=W.path_addPath)(a,b,d,e);w._path_close=a=>(w._path_close=W.path_close)(a);w._path_reset=a=>(w._path_reset=W.path_reset)(a);
w._path_contains=(a,b,d)=>(w._path_contains=W.path_contains)(a,b,d);w._path_transform=(a,b)=>(w._path_transform=W.path_transform)(a,b);w._path_getBounds=(a,b)=>(w._path_getBounds=W.path_getBounds)(a,b);w._path_combine=(a,b,d)=>(w._path_combine=W.path_combine)(a,b,d);w._path_getSvgString=a=>(w._path_getSvgString=W.path_getSvgString)(a);w._pictureRecorder_create=()=>(w._pictureRecorder_create=W.pictureRecorder_create)();w._pictureRecorder_dispose=a=>(w._pictureRecorder_dispose=W.pictureRecorder_dispose)(a);
w._pictureRecorder_beginRecording=(a,b)=>(w._pictureRecorder_beginRecording=W.pictureRecorder_beginRecording)(a,b);w._pictureRecorder_endRecording=a=>(w._pictureRecorder_endRecording=W.pictureRecorder_endRecording)(a);w._picture_getCullRect=(a,b)=>(w._picture_getCullRect=W.picture_getCullRect)(a,b);w._picture_ref=a=>(w._picture_ref=W.picture_ref)(a);w._picture_dispose=a=>(w._picture_dispose=W.picture_dispose)(a);w._picture_approximateBytesUsed=a=>(w._picture_approximateBytesUsed=W.picture_approximateBytesUsed)(a);
w._shader_createLinearGradient=(a,b,d,e,f,h)=>(w._shader_createLinearGradient=W.shader_createLinearGradient)(a,b,d,e,f,h);w._shader_createRadialGradient=(a,b,d,e,f,h,l,m)=>(w._shader_createRadialGradient=W.shader_createRadialGradient)(a,b,d,e,f,h,l,m);w._shader_createConicalGradient=(a,b,d,e,f,h,l,m)=>(w._shader_createConicalGradient=W.shader_createConicalGradient)(a,b,d,e,f,h,l,m);
w._shader_createSweepGradient=(a,b,d,e,f,h,l,m,n)=>(w._shader_createSweepGradient=W.shader_createSweepGradient)(a,b,d,e,f,h,l,m,n);w._shader_dispose=a=>(w._shader_dispose=W.shader_dispose)(a);w._runtimeEffect_create=a=>(w._runtimeEffect_create=W.runtimeEffect_create)(a);w._runtimeEffect_dispose=a=>(w._runtimeEffect_dispose=W.runtimeEffect_dispose)(a);w._runtimeEffect_getUniformSize=a=>(w._runtimeEffect_getUniformSize=W.runtimeEffect_getUniformSize)(a);
w._shader_createRuntimeEffectShader=(a,b,d,e)=>(w._shader_createRuntimeEffectShader=W.shader_createRuntimeEffectShader)(a,b,d,e);w._shader_createFromImage=(a,b,d,e,f)=>(w._shader_createFromImage=W.shader_createFromImage)(a,b,d,e,f);w._uniformData_create=a=>(w._uniformData_create=W.uniformData_create)(a);w._uniformData_dispose=a=>(w._uniformData_dispose=W.uniformData_dispose)(a);w._uniformData_getPointer=a=>(w._uniformData_getPointer=W.uniformData_getPointer)(a);
w._skString_allocate=a=>(w._skString_allocate=W.skString_allocate)(a);w._skString_getData=a=>(w._skString_getData=W.skString_getData)(a);w._skString_getLength=a=>(w._skString_getLength=W.skString_getLength)(a);w._skString_free=a=>(w._skString_free=W.skString_free)(a);w._skString16_allocate=a=>(w._skString16_allocate=W.skString16_allocate)(a);w._skString16_getData=a=>(w._skString16_getData=W.skString16_getData)(a);w._skString16_free=a=>(w._skString16_free=W.skString16_free)(a);
w._skwasm_isWimp=()=>(w._skwasm_isWimp=W.skwasm_isWimp)();w._surface_create=()=>(w._surface_create=W.surface_create)();w._surface_setCanvas=(a,b)=>(w._surface_setCanvas=W.surface_setCanvas)(a,b);var nc=w._surface_receiveCanvasOnWorker=(a,b,d)=>(nc=w._surface_receiveCanvasOnWorker=W.surface_receiveCanvasOnWorker)(a,b,d),oc=w._surface_onInitialized=(a,b)=>(oc=w._surface_onInitialized=W.surface_onInitialized)(a,b);w._surface_setSize=(a,b,d)=>(w._surface_setSize=W.surface_setSize)(a,b,d);
var pc=w._surface_resizeOnWorker=(a,b,d,e)=>(pc=w._surface_resizeOnWorker=W.surface_resizeOnWorker)(a,b,d,e),qc=w._surface_onResizeComplete=(a,b)=>(qc=w._surface_onResizeComplete=W.surface_onResizeComplete)(a,b);w._surface_getThreadId=a=>(w._surface_getThreadId=W.surface_getThreadId)(a);w._surface_getGlContext=a=>(w._surface_getGlContext=W.surface_getGlContext)(a);w._surface_triggerContextLoss=a=>(w._surface_triggerContextLoss=W.surface_triggerContextLoss)(a);
var rc=w._surface_triggerContextLossOnWorker=(a,b)=>(rc=w._surface_triggerContextLossOnWorker=W.surface_triggerContextLossOnWorker)(a,b),sc=w._surface_onContextLossTriggered=(a,b)=>(sc=w._surface_onContextLossTriggered=W.surface_onContextLossTriggered)(a,b),tc=w._surface_reportContextLost=(a,b)=>(tc=w._surface_reportContextLost=W.surface_reportContextLost)(a,b);w._surface_setCallbackHandler=(a,b)=>(w._surface_setCallbackHandler=W.surface_setCallbackHandler)(a,b);
w._surface_destroy=a=>(w._surface_destroy=W.surface_destroy)(a);var wc=w._surface_dispose=a=>(wc=w._surface_dispose=W.surface_dispose)(a);w._surface_setResourceCacheLimitBytes=(a,b)=>(w._surface_setResourceCacheLimitBytes=W.surface_setResourceCacheLimitBytes)(a,b);w._surface_renderPictures=(a,b,d)=>(w._surface_renderPictures=W.surface_renderPictures)(a,b,d);var uc=w._surface_renderPicturesOnWorker=(a,b,d,e,f)=>(uc=w._surface_renderPicturesOnWorker=W.surface_renderPicturesOnWorker)(a,b,d,e,f);
w._surface_rasterizeImage=(a,b,d)=>(w._surface_rasterizeImage=W.surface_rasterizeImage)(a,b,d);
var wc=w._surface_rasterizeImageOnWorker=(a,b,d,e)=>(wc=w._surface_rasterizeImageOnWorker=W.surface_rasterizeImageOnWorker)(a,b,d,e),uc=w._surface_onRenderComplete=(a,b,d)=>(uc=w._surface_onRenderComplete=W.surface_onRenderComplete)(a,b,d),xc=w._surface_onRasterizeComplete=(a,b,d)=>(xc=w._surface_onRasterizeComplete=W.surface_onRasterizeComplete)(a,b,d),yc=w._surface_onContextLost=a=>(yc=w._surface_onContextLost=W.surface_onContextLost)(a);
var xc=w._surface_rasterizeImageOnWorker=(a,b,d,e)=>(xc=w._surface_rasterizeImageOnWorker=W.surface_rasterizeImageOnWorker)(a,b,d,e),vc=w._surface_onRenderComplete=(a,b,d)=>(vc=w._surface_onRenderComplete=W.surface_onRenderComplete)(a,b,d),yc=w._surface_onRasterizeComplete=(a,b,d)=>(yc=w._surface_onRasterizeComplete=W.surface_onRasterizeComplete)(a,b,d),zc=w._surface_onContextLost=a=>(zc=w._surface_onContextLost=W.surface_onContextLost)(a);
w._skwasm_isMultiThreaded=()=>(w._skwasm_isMultiThreaded=W.skwasm_isMultiThreaded)();w._lineMetrics_create=(a,b,d,e,f,h,l,m,n)=>(w._lineMetrics_create=W.lineMetrics_create)(a,b,d,e,f,h,l,m,n);w._lineMetrics_dispose=a=>(w._lineMetrics_dispose=W.lineMetrics_dispose)(a);w._lineMetrics_getHardBreak=a=>(w._lineMetrics_getHardBreak=W.lineMetrics_getHardBreak)(a);w._lineMetrics_getAscent=a=>(w._lineMetrics_getAscent=W.lineMetrics_getAscent)(a);w._lineMetrics_getDescent=a=>(w._lineMetrics_getDescent=W.lineMetrics_getDescent)(a);
w._lineMetrics_getUnscaledAscent=a=>(w._lineMetrics_getUnscaledAscent=W.lineMetrics_getUnscaledAscent)(a);w._lineMetrics_getHeight=a=>(w._lineMetrics_getHeight=W.lineMetrics_getHeight)(a);w._lineMetrics_getWidth=a=>(w._lineMetrics_getWidth=W.lineMetrics_getWidth)(a);w._lineMetrics_getLeft=a=>(w._lineMetrics_getLeft=W.lineMetrics_getLeft)(a);w._lineMetrics_getBaseline=a=>(w._lineMetrics_getBaseline=W.lineMetrics_getBaseline)(a);w._lineMetrics_getLineNumber=a=>(w._lineMetrics_getLineNumber=W.lineMetrics_getLineNumber)(a);
w._lineMetrics_getStartIndex=a=>(w._lineMetrics_getStartIndex=W.lineMetrics_getStartIndex)(a);w._lineMetrics_getEndIndex=a=>(w._lineMetrics_getEndIndex=W.lineMetrics_getEndIndex)(a);w._paragraph_dispose=a=>(w._paragraph_dispose=W.paragraph_dispose)(a);w._paragraph_getWidth=a=>(w._paragraph_getWidth=W.paragraph_getWidth)(a);w._paragraph_getHeight=a=>(w._paragraph_getHeight=W.paragraph_getHeight)(a);w._paragraph_getLongestLine=a=>(w._paragraph_getLongestLine=W.paragraph_getLongestLine)(a);
@@ -120,13 +120,12 @@ w._textStyle_setForeground=(a,b)=>(w._textStyle_setForeground=W.textStyle_setFor
w._vertices_dispose=a=>(w._vertices_dispose=W.vertices_dispose)(a);w._animatedImage_create=(a,b,d)=>(w._animatedImage_create=W.animatedImage_create)(a,b,d);w._animatedImage_dispose=a=>(w._animatedImage_dispose=W.animatedImage_dispose)(a);w._animatedImage_getFrameCount=a=>(w._animatedImage_getFrameCount=W.animatedImage_getFrameCount)(a);w._animatedImage_getRepetitionCount=a=>(w._animatedImage_getRepetitionCount=W.animatedImage_getRepetitionCount)(a);
w._animatedImage_getCurrentFrameDurationMilliseconds=a=>(w._animatedImage_getCurrentFrameDurationMilliseconds=W.animatedImage_getCurrentFrameDurationMilliseconds)(a);w._animatedImage_decodeNextFrame=a=>(w._animatedImage_decodeNextFrame=W.animatedImage_decodeNextFrame)(a);w._animatedImage_getCurrentFrame=a=>(w._animatedImage_getCurrentFrame=W.animatedImage_getCurrentFrame)(a);w._skwasm_isHeavy=()=>(w._skwasm_isHeavy=W.skwasm_isHeavy)();
w._paragraphBuilder_create=(a,b)=>(w._paragraphBuilder_create=W.paragraphBuilder_create)(a,b);w._paragraphBuilder_build=a=>(w._paragraphBuilder_build=W.paragraphBuilder_build)(a);w._paragraphBuilder_setGraphemeBreaksUtf16=(a,b)=>(w._paragraphBuilder_setGraphemeBreaksUtf16=W.paragraphBuilder_setGraphemeBreaksUtf16)(a,b);w._paragraphBuilder_setWordBreaksUtf16=(a,b)=>(w._paragraphBuilder_setWordBreaksUtf16=W.paragraphBuilder_setWordBreaksUtf16)(a,b);
w._paragraphBuilder_setLineBreaksUtf16=(a,b)=>(w._paragraphBuilder_setLineBreaksUtf16=W.paragraphBuilder_setLineBreaksUtf16)(a,b);w._dummyAPICalls=()=>(w._dummyAPICalls=W.dummyAPICalls)();w._skwasm_isWimp=()=>(w._skwasm_isWimp=W.skwasm_isWimp)();
var Gb=a=>(Gb=W.malloc)(a),zc=(a,b)=>(zc=W._emscripten_timeout)(a,b),X=(a,b)=>(X=W.setThrew)(a,b),Y=a=>(Y=W._emscripten_stack_restore)(a),ic=a=>(ic=W._emscripten_stack_alloc)(a),Z=()=>(Z=W.emscripten_stack_get_current)(),Aa=(a,b)=>(Aa=W._emscripten_wasm_worker_initialize)(a,b);function Bc(a,b,d){var e=Z();try{return B.get(a)(b,d)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Gc(a,b,d){var e=Z();try{B.get(a)(b,d)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}
function Ac(a,b){var d=Z();try{return B.get(a)(b)}catch(e){Y(d);if(e!==e+0)throw e;X(1,0)}}function Hc(a,b,d,e){var f=Z();try{B.get(a)(b,d,e)}catch(h){Y(f);if(h!==h+0)throw h;X(1,0)}}function Cc(a,b,d,e){var f=Z();try{return B.get(a)(b,d,e)}catch(h){Y(f);if(h!==h+0)throw h;X(1,0)}}function Dc(a,b,d,e,f){var h=Z();try{return B.get(a)(b,d,e,f)}catch(l){Y(h);if(l!==l+0)throw l;X(1,0)}}function Ic(a,b,d,e,f,h,l,m){var n=Z();try{B.get(a)(b,d,e,f,h,l,m)}catch(r){Y(n);if(r!==r+0)throw r;X(1,0)}}
function Fc(a,b){var d=Z();try{B.get(a)(b)}catch(e){Y(d);if(e!==e+0)throw e;X(1,0)}}function Ec(a,b,d,e,f,h,l){var m=Z();try{return B.get(a)(b,d,e,f,h,l)}catch(n){Y(m);if(n!==n+0)throw n;X(1,0)}}w.wasmMemory=g;w.wasmExports=W;w.stackAlloc=jc;
w.addFunction=(a,b)=>{if(!V){V=new WeakMap;var d=B.length;if(V)for(var e=0;e<0+d;e++){var f=B.get(e);f&&V.set(f,e)}}if(d=V.get(a)||0)return d;if(hc.length)d=hc.pop();else{try{B.grow(1)}catch(m){if(!(m instanceof RangeError))throw m;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";}d=B.length-1}try{B.set(d,a)}catch(m){if(!(m instanceof TypeError))throw m;if("function"==typeof WebAssembly.Function){e=WebAssembly.Function;f={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};for(var h={parameters:[],
w._paragraphBuilder_setLineBreaksUtf16=(a,b)=>(w._paragraphBuilder_setLineBreaksUtf16=W.paragraphBuilder_setLineBreaksUtf16)(a,b);w._dummyAPICalls=()=>(w._dummyAPICalls=W.dummyAPICalls)();var Hb=a=>(Hb=W.malloc)(a),Ac=(a,b)=>(Ac=W._emscripten_timeout)(a,b),X=(a,b)=>(X=W.setThrew)(a,b),Y=a=>(Y=W._emscripten_stack_restore)(a),kc=a=>(kc=W._emscripten_stack_alloc)(a),Z=()=>(Z=W.emscripten_stack_get_current)(),Aa=(a,b)=>(Aa=W._emscripten_wasm_worker_initialize)(a,b);
function Cc(a,b,d){var e=Z();try{return A.get(a)(b,d)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Gc(a,b,d){var e=Z();try{A.get(a)(b,d)}catch(f){Y(e);if(f!==f+0)throw f;X(1,0)}}function Bc(a,b){var d=Z();try{return A.get(a)(b)}catch(e){Y(d);if(e!==e+0)throw e;X(1,0)}}function Hc(a,b,d,e){var f=Z();try{A.get(a)(b,d,e)}catch(h){Y(f);if(h!==h+0)throw h;X(1,0)}}function Dc(a,b,d,e,f){var h=Z();try{return A.get(a)(b,d,e,f)}catch(l){Y(h);if(l!==l+0)throw l;X(1,0)}}
function Ic(a,b,d,e,f,h,l,m){var n=Z();try{A.get(a)(b,d,e,f,h,l,m)}catch(u){Y(n);if(u!==u+0)throw u;X(1,0)}}function Fc(a,b){var d=Z();try{A.get(a)(b)}catch(e){Y(d);if(e!==e+0)throw e;X(1,0)}}function Ec(a,b,d,e,f,h,l){var m=Z();try{return A.get(a)(b,d,e,f,h,l)}catch(n){Y(m);if(n!==n+0)throw n;X(1,0)}}w.wasmMemory=g;w.wasmExports=W;w.stackAlloc=lc;
w.addFunction=(a,b)=>{if(!U){U=new WeakMap;var d=A.length;if(U)for(var e=0;e<0+d;e++){var f=A.get(e);f&&U.set(f,e)}}if(d=U.get(a)||0)return d;if(jc.length)d=jc.pop();else{try{A.grow(1)}catch(m){if(!(m instanceof RangeError))throw m;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";}d=A.length-1}try{A.set(d,a)}catch(m){if(!(m instanceof TypeError))throw m;if("function"==typeof WebAssembly.Function){e=WebAssembly.Function;f={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};for(var h={parameters:[],
results:"v"==b[0]?[]:[f[b[0]]]},l=1;l<b.length;++l)h.parameters.push(f[b[l]]);b=new e(h,a)}else{e=[1];f=b.slice(0,1);b=b.slice(1);h={i:127,p:127,j:126,f:125,d:124,e:111};e.push(96);l=b.length;128>l?e.push(l):e.push(l%128|128,l>>7);for(l=0;l<b.length;++l)e.push(h[b[l]]);"v"==f?e.push(0):e.push(1,h[f]);b=[0,97,115,109,1,0,0,0,1];f=e.length;128>f?b.push(f):b.push(f%128|128,f>>7);b.push(...e);b.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);b=new WebAssembly.Module(new Uint8Array(b));b=(new WebAssembly.Instance(b,
{e:{f:a}})).exports.f}B.set(d,b)}V.set(a,d);return d};var Kc,Lc;A=function Mc(){Kc||Nc();Kc||(A=Mc)};function Nc(){if(!(0<z))if(ka)ea(w),ya();else{if(!Lc&&(Lc=1,Ea(va),0<z))return;Kc||(Kc=1,w.calledRun=1,ra||(ya(),ea(w),Ea(xa)))}}Nc();moduleRtn=ha;
{e:{f:a}})).exports.f}A.set(d,b)}U.set(a,d);return d};var Kc,Lc;Ga=function Mc(){Kc||Nc();Kc||(Ga=Mc)};function Nc(){if(!(0<z))if(ka)ea(w),ya();else{if(!Lc&&(Lc=1,Ea(va),0<z))return;Kc||(Kc=1,w.calledRun=1,ra||(ya(),ea(w),Ea(xa)))}}Nc();moduleRtn=ha;
return moduleRtn;
File diff suppressed because one or more lines are too long
Binary file not shown.
+10 -5
View File
@@ -1,5 +1,10 @@
(()=>{var _={blink:!0,gecko:!1,webkit:!1,unknown:!1},K=()=>navigator.vendor==="Google Inc."||navigator.userAgent.includes("Edg/")?"blink":navigator.vendor==="Apple Computer, Inc."?"webkit":navigator.vendor===""&&navigator.userAgent.includes("Firefox")?"gecko":"unknown",C=K(),R=()=>typeof ImageDecoder>"u"?!1:C==="blink",B=()=>typeof Intl.v8BreakIterator<"u"&&typeof Intl.Segmenter<"u",z=()=>{let i=[0,97,115,109,1,0,0,0,1,5,1,95,1,120,0];return WebAssembly.validate(new Uint8Array(i))},M=()=>{let i=document.createElement("canvas");return i.width=1,i.height=1,i.getContext("webgl2")!=null?2:i.getContext("webgl")!=null?1:-1},D=()=>window.chrome&&chrome.runtime&&chrome.runtime.id,w={browserEngine:C,hasImageCodecs:R(),hasChromiumBreakIterators:B(),supportsWasmGC:z(),crossOriginIsolated:window.crossOriginIsolated,webGLVersion:M(),isChromeExtension:D()};function c(...i){return new URL(I(...i),document.baseURI).toString()}function I(...i){return i.filter(e=>!!e).map((e,n)=>n===0?S(e):F(S(e))).filter(e=>e.length).join("/")}function F(i){let e=0;for(;e<i.length&&i.charAt(e)==="/";)e++;return i.substring(e)}function S(i){let e=i.length;for(;e>0&&i.charAt(e-1)==="/";)e--;return i.substring(0,e)}function E(i,e){return i.canvasKitBaseUrl?i.canvasKitBaseUrl:e.engineRevision&&!e.useLocalCanvasKit?I("https://www.gstatic.com/flutter-canvaskit",e.engineRevision):"canvaskit"}var v=class{constructor(){this._scriptLoaded=!1}setTrustedTypesPolicy(e){this._ttPolicy=e}async loadEntrypoint(e){let{entrypointUrl:n=c("main.dart.js"),onEntrypointLoaded:t,nonce:r}=e||{};return this._loadJSEntrypoint(n,t,r)}async load(e,n,t,r,a){a??=l=>{l.initializeEngine(t).then(u=>u.runApp())};let{entrypointBaseUrl:s}=t,{entryPointBaseUrl:o}=t;if(!s&&o&&(console.warn("[deprecated] `entryPointBaseUrl` is deprecated and will be removed in a future release. Use `entrypointBaseUrl` instead."),s=o),e.compileTarget==="dart2wasm")return this._loadWasmEntrypoint(e,n,s,a);{let l=e.mainJsPath??"main.dart.js",u=c(s,l);return this._loadJSEntrypoint(u,a,r)}}didCreateEngineInitializer(e){typeof this._didCreateEngineInitializerResolve=="function"&&(this._didCreateEngineInitializerResolve(e),this._didCreateEngineInitializerResolve=null,delete _flutter.loader.didCreateEngineInitializer),typeof this._onEntrypointLoaded=="function"&&this._onEntrypointLoaded(e)}_loadJSEntrypoint(e,n,t){let r=typeof n=="function";if(!this._scriptLoaded){this._scriptLoaded=!0;let a=this._createScriptTag(e,t);if(r)console.debug("Injecting <script> tag. Using callback."),this._onEntrypointLoaded=n,document.head.append(a);else return new Promise((s,o)=>{console.debug("Injecting <script> tag. Using Promises. Use the callback approach instead!"),this._didCreateEngineInitializerResolve=s,a.addEventListener("error",o),document.head.append(a)})}}async _loadWasmEntrypoint(e,n,t,r){if(!this._scriptLoaded){this._scriptLoaded=!0,this._onEntrypointLoaded=r;let{mainWasmPath:a,jsSupportRuntimePath:s}=e,o=c(t,a),l=c(t,s);this._ttPolicy!=null&&(l=this._ttPolicy.createScriptURL(l));let d=(await import(l)).compileStreaming(fetch(o)),p;e.renderer==="skwasm"?p=(async()=>{let h=await n.skwasm;return window._flutter_skwasmInstance=h,{skwasm:h.wasmExports,skwasmWrapper:h,ffi:{memory:h.wasmMemory}}})():p=Promise.resolve({}),await(await(await d).instantiate(await p,{loadDynamicModule:async(h,j)=>{let A=fetch(c(t,h)),L=c(t,j);this._ttPolicy!=null&&(L=this._ttPolicy.createScriptURL(L));let x=import(L);return[await A,await x]}})).invokeMain()}}_createScriptTag(e,n){let t=document.createElement("script");t.type="application/javascript",n&&(t.nonce=n);let r=e;return this._ttPolicy!=null&&(r=this._ttPolicy.createScriptURL(e)),t.src=r,t}};async function T(i,e,n){if(e<0)return i;let t,r=new Promise((a,s)=>{t=setTimeout(()=>{s(new Error(`${n} took more than ${e}ms to resolve. Moving on.`,{cause:T}))},e)});return Promise.race([i,r]).finally(()=>{clearTimeout(t)})}var g=class{setTrustedTypesPolicy(e){this._ttPolicy=e}loadServiceWorker(e){if(!e||!("serviceWorker"in navigator))return Promise.resolve();let n=()=>{console.warn(`Loading the service worker using Flutter bootstrap is deprecated and will stop working in a future release.
For more details, see: https://github.com/flutter/flutter/issues/156910`)},t=()=>{let{serviceWorkerVersion:r,serviceWorkerUrl:a=c(`flutter_service_worker.js?v=${r}`),timeoutMillis:s=4e3}=e,o=a;this._ttPolicy!=null&&(o=this._ttPolicy.createScriptURL(o));let l=navigator.serviceWorker.register(o).then(u=>this._getNewServiceWorker(u,r)).then(this._waitForServiceWorkerActivation);return T(l,s,"prepareServiceWorker")};return e.serviceWorkerUrl!=null?(n(),t()):navigator.serviceWorker.getRegistration().then(r=>r?t():Promise.resolve())}async _getNewServiceWorker(e,n){if(!e.active&&(e.installing||e.waiting))return console.debug("Installing/Activating first service worker."),e.installing||e.waiting;if(e.active.scriptURL.endsWith(n))return console.debug("Loading from existing service worker."),e.active;{let t=await e.update();return console.debug("Updating service worker."),t.installing||t.waiting||t.active}}async _waitForServiceWorkerActivation(e){if(!e||e.state==="activated")if(e){console.debug("Service worker already active.");return}else throw new Error("Cannot activate a null service worker!");return new Promise((n,t)=>{e.addEventListener("statechange",()=>{e.state==="activated"&&(console.debug("Activated new service worker."),n())})})}};var y=class{constructor(e,n="flutter-js"){let t=e||[/\.js$/,/\.mjs$/];window.trustedTypes&&(this.policy=trustedTypes.createPolicy(n,{createScriptURL:function(r){if(r.startsWith("blob:"))return r;let a=new URL(r,window.location),s=a.pathname.split("/").pop();if(t.some(l=>l.test(s)))return a.toString();console.error("URL rejected by TrustedTypes policy",n,":",r,"(download prevented)")}}))}};var k=i=>{let e=WebAssembly.compileStreaming(fetch(i));return(n,t)=>((async()=>{let r=await e,a=await WebAssembly.instantiate(r,n);t(a,r)})(),{})};var U=(i,e,n,t)=>(window.flutterCanvasKitLoaded=(async()=>{if(window.flutterCanvasKit)return window.flutterCanvasKit;let r=n.hasChromiumBreakIterators&&n.hasImageCodecs;if(!r&&e.canvasKitVariant=="chromium")throw"Chromium CanvasKit variant specifically requested, but unsupported in this browser";let a=r&&e.canvasKitVariant!=="full",s=t;e.canvasKitVariant=="experimentalWebParagraph"?s=c(s,"experimental_webparagraph"):a&&(s=c(s,"chromium"));let o=c(s,"canvaskit.js");i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let l=k(c(s,"canvaskit.wasm")),u=await import(o);return window.flutterCanvasKit=await u.default({instantiateWasm:l}),window.flutterCanvasKit})(),window.flutterCanvasKitLoaded);var W=async(i,e,n,t)=>{let a=!n.hasImageCodecs||!n.hasChromiumBreakIterators?"skwasm_heavy":e.enableWimp?"wimp":"skwasm",s=c(t,`${a}.js`),o=s;i.flutterTT.policy&&(o=i.flutterTT.policy.createScriptURL(o));let l=k(c(t,`${a}.wasm`));return await(await import(o)).default({skwasmSingleThreaded:e.enableWimp||!n.crossOriginIsolated||n.isChromeExtension||e.forceSingleThreadedSkwasm,instantiateWasm:l,locateFile:(d,p)=>d.endsWith(".ww.js")?URL.createObjectURL(new Blob([`
(()=>{var C={blink:!0,gecko:!1,webkit:!1,unknown:!1},A=()=>navigator.vendor==="Google Inc."||navigator.userAgent.includes("Edg/")?"blink":navigator.vendor==="Apple Computer, Inc."?"webkit":navigator.vendor===""&&navigator.userAgent.includes("Firefox")?"gecko":"unknown",T=A(),x=()=>typeof ImageDecoder>"u"?!1:T==="blink",R=()=>typeof Intl.v8BreakIterator<"u"&&typeof Intl.Segmenter<"u",j=()=>typeof window.TextCluster<"u",B=()=>{let n=[0,97,115,109,1,0,0,0,1,5,1,95,1,120,0];return WebAssembly.validate(new Uint8Array(n))},K=()=>{let n=document.createElement("canvas");return n.width=1,n.height=1,n.getContext("webgl2")!=null?2:n.getContext("webgl")!=null?1:-1},$=()=>window.chrome&&chrome.runtime&&chrome.runtime.id,f={browserEngine:T,hasImageCodecs:x(),hasChromiumBreakIterators:R(),hasTextCluster:j(),supportsWasmGC:B(),crossOriginIsolated:window.crossOriginIsolated,webGLVersion:K(),isChromeExtension:$()};function m(...n){return new URL(W(...n),document.baseURI).toString()}function W(...n){return n.filter(e=>!!e).map((e,s)=>s===0?L(e):F(L(e))).filter(e=>e.length).join("/")}function F(n){let e=0;for(;e<n.length&&n.charAt(e)==="/";)e++;return n.substring(e)}function L(n){let e=n.length;for(;e>0&&n.charAt(e-1)==="/";)e--;return n.substring(0,e)}function _(n,e){return n.canvasKitBaseUrl?n.canvasKitBaseUrl:e.engineRevision&&!e.useLocalCanvasKit?W("https://www.gstatic.com/flutter-canvaskit",e.engineRevision):"canvaskit"}var g=class{constructor(){this._scriptLoaded=!1}setTrustedTypesPolicy(e){this._ttPolicy=e}async loadEntrypoint(e){let{entrypointUrl:s=m("main.dart.js"),onEntrypointLoaded:t,nonce:r}=e||{};return this._loadJSEntrypoint(s,t,r)}async load(e,s,t,r,i){i??=a=>{a.initializeEngine(t).then(l=>l.runApp())};let{entrypointBaseUrl:o}=t,{entryPointBaseUrl:c}=t;if(!o&&c&&(console.warn("[deprecated] `entryPointBaseUrl` is deprecated and will be removed in a future release. Use `entrypointBaseUrl` instead."),o=c),e.compileTarget==="dart2wasm")return this._loadWasmEntrypoint(e,s,o,i);{let a=e.mainJsPath??"main.dart.js",l=m(o,a);return this._loadJSEntrypoint(l,i,r)}}didCreateEngineInitializer(e){typeof this._didCreateEngineInitializerResolve=="function"&&(this._didCreateEngineInitializerResolve(e),this._didCreateEngineInitializerResolve=null,delete _flutter.loader.didCreateEngineInitializer),typeof this._onEntrypointLoaded=="function"&&this._onEntrypointLoaded(e)}_loadJSEntrypoint(e,s,t){let r=typeof s=="function";if(!this._scriptLoaded){this._scriptLoaded=!0;let i=this._createScriptTag(e,t);if(r)console.debug("Injecting <script> tag. Using callback."),this._onEntrypointLoaded=s,document.head.append(i);else return new Promise((o,c)=>{console.debug("Injecting <script> tag. Using Promises. Use the callback approach instead!"),this._didCreateEngineInitializerResolve=o,i.addEventListener("error",c),document.head.append(i)})}}async _loadWasmEntrypoint(e,s,t,r){if(!this._scriptLoaded){this._scriptLoaded=!0,this._onEntrypointLoaded=r;let{mainWasmPath:i,jsSupportRuntimePath:o}=e,c=m(t,i),a=m(t,o);this._ttPolicy!=null&&(a=this._ttPolicy.createScriptURL(a));let p=(await import(a)).compileStreaming(fetch(c)),d;e.renderer==="skwasm"?d=(async()=>{let u=await s.skwasm;return window._flutter_skwasmInstance=u,{skwasm:u.wasmExports,skwasmWrapper:u,ffi:{memory:u.wasmMemory}}})():d=Promise.resolve({}),await(await(await p).instantiate(await d)).invokeMain()}}_createScriptTag(e,s){let t=document.createElement("script");t.type="application/javascript",s&&(t.nonce=s);let r=e;return this._ttPolicy!=null&&(r=this._ttPolicy.createScriptURL(e)),t.src=r,t}};async function E(n,e,s){if(e<0)return n;let t,r=new Promise((i,o)=>{t=setTimeout(()=>{o(new Error(`${s} took more than ${e}ms to resolve. Moving on.`,{cause:E}))},e)});return Promise.race([n,r]).finally(()=>{clearTimeout(t)})}var v=class{setTrustedTypesPolicy(e){this._ttPolicy=e}loadServiceWorker(e){if(!e||!("serviceWorker"in navigator))return Promise.resolve();let s=()=>{console.warn(`Loading the service worker using Flutter bootstrap is deprecated and will stop working in a future release.
For more details, see: https://github.com/flutter/flutter/issues/156910`)},t=()=>{let{serviceWorkerVersion:r,serviceWorkerUrl:i=m(`flutter_service_worker.js?v=${r}`),timeoutMillis:o=4e3}=e,c=i;this._ttPolicy!=null&&(c=this._ttPolicy.createScriptURL(c));let a=navigator.serviceWorker.register(c).then(l=>this._getNewServiceWorker(l,r)).then(this._waitForServiceWorkerActivation);return E(a,o,"prepareServiceWorker")};return e.serviceWorkerUrl!=null?(s(),t()):navigator.serviceWorker.getRegistration().then(r=>r?t():Promise.resolve())}async _getNewServiceWorker(e,s){if(!e.active&&(e.installing||e.waiting))return console.debug("Installing/Activating first service worker."),e.installing||e.waiting;if(e.active.scriptURL.endsWith(s))return console.debug("Loading from existing service worker."),e.active;{let t=await e.update();return console.debug("Updating service worker."),t.installing||t.waiting||t.active}}async _waitForServiceWorkerActivation(e){if(!e||e.state==="activated")if(e){console.debug("Service worker already active.");return}else throw new Error("Cannot activate a null service worker!");return new Promise((s,t)=>{e.addEventListener("statechange",()=>{e.state==="activated"&&(console.debug("Activated new service worker."),s())})})}};var y=class{constructor(e,s="flutter-js"){let t=e||[/\.js$/,/\.mjs$/];window.trustedTypes&&(this.policy=trustedTypes.createPolicy(s,{createScriptURL:function(r){if(r.startsWith("blob:"))return r;let i=new URL(r,window.location),o=i.pathname.split("/").pop();if(t.some(a=>a.test(o)))return i.toString();console.error("URL rejected by TrustedTypes policy",s,":",r,"(download prevented)")}}))}};var b=(n,e)=>{let s=window._flutter?.buildConfig?.wasmHashes,t=s?.[e];if(!t&&e.includes("/")){let a=e.split("/").pop();t=s?.[a]}let r="crossOriginStorage"in navigator&&"requestFileHandles"in navigator.crossOriginStorage;r&&console.log("Cross-Origin Storage is supported. See https://wicg.github.io/cross-origin-storage/ for more details.");let i=async a=>{let l={algorithm:"SHA-256",value:a};try{let[p]=await navigator.crossOriginStorage.requestFileHandles([l]),d=await p.getFile();return new Response(d,{headers:{"Content-Type":"application/wasm"}})}catch(p){p.name==="NotAllowedError"?console.warn(`Not allowed to retrieve ${e} (hash: ${a}).`):p.name!=="NotFoundError"&&console.warn(`Unexpected error during retrieval of ${e} (hash: ${a}).`,p)}},o=async()=>{if(r&&t){let l=await i(t);if(l)return l}let a=await fetch(n);if(r&&t&&a.ok){let l={algorithm:"SHA-256",value:t},p=a.clone();(async()=>{try{let d=await p.blob(),[h]=await navigator.crossOriginStorage.requestFileHandles([l],{create:!0}),w=await h.createWritable();await w.write(d),await w.close()}catch(d){console.warn(`Error storing ${e} (hash: ${t}):`,d)}})()}return a},c=WebAssembly.compileStreaming(o());return(a,l)=>((async()=>{let p=await c,d=await WebAssembly.instantiate(p,a);l(d,p)})(),{})};var I=(n,e,s,t)=>(window.flutterCanvasKitLoaded=(async()=>{if(window.flutterCanvasKit)return window.flutterCanvasKit;let r=s.hasChromiumBreakIterators&&s.hasImageCodecs;if(!r&&e.canvasKitVariant=="chromium")throw"Chromium CanvasKit variant specifically requested, but unsupported in this browser";let i=r&&e.canvasKitVariant!=="full",o=i&&e.preferWebParagraph&&s.hasTextCluster,c=t;o?c=m(c,"webparagraph"):i&&(c=m(c,"chromium"));let a=m(c,"canvaskit.js");n.flutterTT.policy&&(a=n.flutterTT.policy.createScriptURL(a));let l="canvaskit.wasm";o?l="webparagraph/canvaskit.wasm":i&&(l="chromium/canvaskit.wasm");let p=b(m(c,"canvaskit.wasm"),l),d=await import(a);return window.flutterCanvasKit=await d.default({instantiateWasm:p}),window.flutterCanvasKit})(),window.flutterCanvasKitLoaded);var U=async(n,e,s,t)=>{let i=!s.hasImageCodecs||!s.hasChromiumBreakIterators?"skwasm_heavy":e.enableWimp?"wimp":"skwasm",o=m(t,`${i}.js`),c=o;n.flutterTT.policy&&(c=n.flutterTT.policy.createScriptURL(c));let a=b(m(t,`${i}.wasm`),`${i}.wasm`),l=await import(c);return!s.crossOriginIsolated&&!e.forceSingleThreadedSkwasm&&!e.suppressMultithreadingWarning&&console.warn(`Flutter Web: Skwasm uses multi-threading and web workers for better performance, but your page needs to be cross-origin isolated to support multi-threading. Skwasm will run in single-threaded mode.
To enable multithreading, serve your app with these HTTP response headers:
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
See https://web.dev/articles/coop-coep for guidance.
To silence this warning, set \`suppressMultithreadingWarning: true\` in your Flutter configuration.`),await l.default({skwasmSingleThreaded:e.enableWimp||!s.crossOriginIsolated||s.isChromeExtension||e.forceSingleThreadedSkwasm,instantiateWasm:a,locateFile:(p,d)=>p.endsWith(".ww.js")?URL.createObjectURL(new Blob([`
"use strict";
let eventListener;
@@ -27,16 +32,16 @@ eventListener = (message) => {
addEventListener("message", eventListener);
};
addEventListener("message", eventListener);
`],{type:"application/javascript"})):c(t,d),mainScriptUrlOrBlob:s})};var P=w.supportsWasmGC,G=P&&w.webGLVersion>0,b=class{async loadEntrypoint(e){let{serviceWorker:n,...t}=e||{},r=new y,a=new g;a.setTrustedTypesPolicy(r.policy),await a.loadServiceWorker(n).catch(o=>{console.warn("Exception while loading service worker:",o)});let s=new v;return s.setTrustedTypesPolicy(r.policy),this.didCreateEngineInitializer=s.didCreateEngineInitializer.bind(s),s.loadEntrypoint(t)}async load({serviceWorkerSettings:e,onEntrypointLoaded:n,nonce:t,config:r}={}){r??={};let a=_flutter.buildConfig;if(!a)throw"FlutterLoader.load requires _flutter.buildConfig to be set";let s=r.wasmAllowList?.[w.browserEngine]??_[w.browserEngine],o=m=>{switch(m){case"skwasm":return G&&s;default:return!0}},l=m=>m.compileTarget==="dart2wasm"&&!P||r.renderer&&r.renderer!=m.renderer?!1:o(m.renderer),u=a.builds.find(l);if(!u)throw"FlutterLoader could not find a build compatible with configuration and environment.";let d={};d.flutterTT=new y,e&&(d.serviceWorkerLoader=new g,d.serviceWorkerLoader.setTrustedTypesPolicy(d.flutterTT.policy),await d.serviceWorkerLoader.loadServiceWorker(e).catch(m=>{console.warn("Exception while loading service worker:",m)}));let p=E(r,a);u.renderer==="canvaskit"?d.canvasKit=U(d,r,w,p):u.renderer==="skwasm"&&(d.skwasm=W(d,r,w,p));let f=new v;return f.setTrustedTypesPolicy(d.flutterTT.policy),this.didCreateEngineInitializer=f.didCreateEngineInitializer.bind(f),f.load(u,d,r,t,n)}};window._flutter||(window._flutter={});window._flutter.loader||(window._flutter.loader=new b);})();
`],{type:"application/javascript"})):m(t,p),mainScriptUrlOrBlob:o})};var P=f.supportsWasmGC,k=class{async loadEntrypoint(e){let{serviceWorker:s,...t}=e||{},r=new y,i=new v;i.setTrustedTypesPolicy(r.policy),await i.loadServiceWorker(s).catch(c=>{console.warn("Exception while loading service worker:",c)});let o=new g;return o.setTrustedTypesPolicy(r.policy),this.didCreateEngineInitializer=o.didCreateEngineInitializer.bind(o),o.loadEntrypoint(t)}async load({serviceWorkerSettings:e,onEntrypointLoaded:s,nonce:t,config:r}={}){r??={};let i=_flutter.buildConfig;if(!i)throw"FlutterLoader.load requires _flutter.buildConfig to be set";let o=r.wasmAllowList?.[f.browserEngine]??C[f.browserEngine],c=u=>{switch(u){case"skwasm":return P?f.webGLVersion>0?o?null:`Skwasm is disabled by your wasmAllowList configuration for browser engine "${f.browserEngine}".`:"Skwasm requires WebGL support; this browser does not provide it.":"Skwasm requires WasmGC support; this browser does not implement it yet.";default:return null}},a=u=>u.compileTarget==="dart2wasm"&&!P?"dart2wasm requires WasmGC support; this browser does not implement it yet.":r.renderer&&r.renderer!=u.renderer?`The application is configured to use the "${r.renderer}" renderer; this build targets "${u.renderer}".`:c(u.renderer),l,p=[];for(let u of i.builds){let S=a(u);if(S===null){l=u;break}p.push({candidate:u,reason:S})}if(r.verboseBuildSelection)for(let u of p)console.warn(`Flutter Web: build ${u.candidate.compileTarget}/${u.candidate.renderer} was skipped: ${u.reason}`);if(!l)throw console.warn("Flutter Web: no compatible build found for this browser."+(r.verboseBuildSelection?"":" Set `verboseBuildSelection: true` in your Flutter configuration to see why each candidate was rejected.")),new Error("FlutterLoader could not find a build compatible with configuration and environment.");let d={};d.flutterTT=new y,e&&(d.serviceWorkerLoader=new v,d.serviceWorkerLoader.setTrustedTypesPolicy(d.flutterTT.policy),await d.serviceWorkerLoader.loadServiceWorker(e).catch(u=>{console.warn("Exception while loading service worker:",u)}));let h=_(r,i);l.renderer==="canvaskit"?d.canvasKit=I(d,r,f,h):l.renderer==="skwasm"&&(d.skwasm=U(d,r,f,h));let w=new g;return w.setTrustedTypesPolicy(d.flutterTT.policy),this.didCreateEngineInitializer=w.didCreateEngineInitializer.bind(w),w.load(l,d,r,t,s)}};window._flutter||(window._flutter={});window._flutter.loader||(window._flutter.loader=new k);})();
//# sourceMappingURL=flutter.js.map
if (!window._flutter) {
window._flutter = {};
}
_flutter.buildConfig = {"engineRevision":"3452d735bd38224ef2db85ca763d862d6326b17f","builds":[{"compileTarget":"dart2js","renderer":"canvaskit","mainJsPath":"main.dart.js"}]};
_flutter.buildConfig = {"engineRevision":"af7e796e161ae0bb1ff0758c71a7105418bd9ded","wasmHashes":{"canvaskit.wasm":"fbed517a43e82452404446683f00f2e876d835aed84410695759e67b6bb01cd3","chromium/canvaskit.wasm":"ae8ff1d858140f7b1300ced3fa89fb8c9dce0a400a0f4f1e11f6dcfb3315fdcf","skwasm.wasm":"e540fd5e8303b7b68ec2718cb49e9c421f8ade3075b15e02a7059a62654df9a1","skwasm_heavy.wasm":"565f5cc1cca6ab120f11934b105f01fec4b58b480c82e0889dca93af8e6f8635","webparagraph/canvaskit.wasm":"0ce1b05082efdc8529550e8a01f6ff0593972d55525035010e26f5600aa9f254","wimp.wasm":"e924eaafd801d41e017d178f3fd5cf8a417f641fe35c9ed34a4e1d7582283e0c"},"builds":[{"compileTarget":"dart2js","renderer":"canvaskit","mainJsPath":"main.dart.js"}]};
_flutter.loader.load({
serviceWorkerSettings: {
serviceWorkerVersion: "585429632" /* Flutter's service worker is deprecated and will be removed in a future Flutter release. */
serviceWorkerVersion: "2875783503" /* Flutter's service worker is deprecated and will be removed in a future Flutter release. */
}
});
+64363 -63903
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
{"app_name":"flutter_tank_web_app","version":"1.0.0","build_number":"1","package_name":"flutter_tank_web_app"}
{"app_name":"flutter_tank_web_app","version":"1.1.0","build_number":"2","package_name":"flutter_tank_web_app"}