@fgv/ts-res-browser 1.0.0 → 5.0.0-11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +85 -15
  2. package/cli.js +156 -0
  3. package/dist/13.bundle.js +1 -0
  4. package/dist/25.bundle.js +1 -0
  5. package/dist/948.bundle.js +1 -0
  6. package/dist/bundle.js +1 -1
  7. package/dist/bundle.js.LICENSE.txt +10 -0
  8. package/package.json +22 -7
  9. package/.rush/temp/5fc90bc7c2ccf812114ea099111568e5429be2a2.tar.log +0 -15
  10. package/.rush/temp/chunked-rush-logs/ts-res-browser.build.chunks.jsonl +0 -35
  11. package/.rush/temp/operation/build/all.log +0 -35
  12. package/.rush/temp/operation/build/log-chunks.jsonl +0 -35
  13. package/.rush/temp/operation/build/state.json +0 -3
  14. package/.rush/temp/shrinkwrap-deps.json +0 -1217
  15. package/TS_RES_BROWSER_PLAN.md +0 -689
  16. package/babel.config.js +0 -17
  17. package/config/jest.config.json +0 -13
  18. package/config/rig.json +0 -16
  19. package/postcss.config.js +0 -3
  20. package/public/index.html +0 -15
  21. package/rush-logs/ts-res-browser.build.cache.log +0 -3
  22. package/rush-logs/ts-res-browser.build.log +0 -35
  23. package/src/App.tsx +0 -153
  24. package/src/cli.ts +0 -44
  25. package/src/components/common/FileImporter.tsx +0 -138
  26. package/src/components/common/NavigationWarningModal.tsx +0 -62
  27. package/src/components/layout/AppLayout.tsx +0 -46
  28. package/src/components/layout/Header.tsx +0 -22
  29. package/src/components/layout/MessagesWindow.tsx +0 -108
  30. package/src/components/layout/Sidebar.tsx +0 -92
  31. package/src/components/tools/CompiledBrowser.tsx +0 -949
  32. package/src/components/tools/ConfigurationTool.tsx +0 -1402
  33. package/src/components/tools/FilterTool.tsx +0 -1027
  34. package/src/components/tools/ImportTool.tsx +0 -246
  35. package/src/components/tools/ResolutionViewer.tsx +0 -1672
  36. package/src/components/tools/SourceBrowser.tsx +0 -496
  37. package/src/hooks/useAppState.ts +0 -107
  38. package/src/hooks/useFileImport.ts +0 -86
  39. package/src/hooks/useNavigationWarning.ts +0 -67
  40. package/src/hooks/useResourceManager.ts +0 -244
  41. package/src/index.css +0 -38
  42. package/src/main.tsx +0 -16
  43. package/src/types/app.ts +0 -62
  44. package/src/types/fileSystemAccess.d.ts +0 -94
  45. package/src/utils/browserFileTreeAccessors.ts +0 -245
  46. package/src/utils/fileImport.ts +0 -334
  47. package/src/utils/filterResources.ts +0 -677
  48. package/src/utils/tsResIntegration.ts +0 -467
  49. package/tailwind.config.js +0 -21
  50. package/test-data/README.md +0 -184
  51. package/test-data/config-variations/README.md +0 -64
  52. package/test-data/config-variations/composition-terminology.json +0 -112
  53. package/test-data/config-variations/enterprise-complex.json +0 -129
  54. package/test-data/config-variations/gaming-app.json +0 -87
  55. package/test-data/config-variations/high-priority-language.json +0 -65
  56. package/test-data/config-variations/minimal-basic.json +0 -37
  57. package/test-data/config-variations/qualifier-default-values.json +0 -71
  58. package/test-data/config-variations/territory-first.json +0 -68
  59. package/test-data/config-variations/territory-hierarchy-test.json +0 -31
  60. package/test-data/config-variations/territory-hierarchy-unconstrained.json +0 -32
  61. package/test-data/default-matching-test/greeting.res.json +0 -83
  62. package/test-data/default-matching-test/only-defaults.res.json +0 -48
  63. package/test-data/sample-project/package.json +0 -27
  64. package/test-data/sample-project/src/resources/app-config.json +0 -27
  65. package/test-data/sample-project/src/resources/app.json +0 -177
  66. package/test-data/sample-project/src/resources/config/app.env=development.json +0 -21
  67. package/test-data/sample-project/src/resources/config/app.json +0 -21
  68. package/test-data/sample-project/src/resources/config/app.platform=mobile.json +0 -23
  69. package/test-data/sample-project/src/resources/feature-flags.json +0 -23
  70. package/test-data/sample-project/src/resources/home=CA/common.json +0 -16
  71. package/test-data/sample-project/src/resources/images/density=hdpi.json +0 -29
  72. package/test-data/sample-project/src/resources/images/home.json +0 -29
  73. package/test-data/sample-project/src/resources/images/logout.json +0 -14
  74. package/test-data/sample-project/src/resources/images/settings.json +0 -14
  75. package/test-data/sample-project/src/resources/images/ui-icons.json +0 -29
  76. package/test-data/sample-project/src/resources/images/user.density=hdpi.json +0 -14
  77. package/test-data/sample-project/src/resources/images/user.json +0 -14
  78. package/test-data/sample-project/src/resources/lang=en-US/common.json +0 -15
  79. package/test-data/sample-project/src/resources/language=en-CA/ui-terms.json +0 -19
  80. package/test-data/sample-project/src/resources/language=en-GB/ui-terms.json +0 -30
  81. package/test-data/sample-project/src/resources/language=fr-CA/ui-terms.json +0 -25
  82. package/test-data/sample-project/src/resources/language=nl-BE/ui-terms.json +0 -17
  83. package/test-data/sample-project/src/resources/region=europe/feature-flags.json +0 -17
  84. package/test-data/sample-project/src/resources/region=north-america/feature-flags.json +0 -18
  85. package/test-data/sample-project/src/resources/strings/dashboard.home=CA,language=fr.json +0 -20
  86. package/test-data/sample-project/src/resources/strings/dashboard.json +0 -18
  87. package/test-data/sample-project/src/resources/strings/dashboard.role=admin.json +0 -23
  88. package/test-data/sample-project/src/resources/strings/dashboard.role=user.json +0 -21
  89. package/test-data/sample-project/src/resources/strings/language=en-US.json +0 -16
  90. package/test-data/sample-project/src/resources/strings.json +0 -78
  91. package/test-data/sample-project/src/resources/territory=BE/app-config.json +0 -19
  92. package/test-data/sample-project/src/resources/territory=CA/app-config.json +0 -21
  93. package/test-data/sample-project/src/resources/territory=GB/app-config.json +0 -25
  94. package/test-data/sample-project/src/resources/territory=NL/app-config.json +0 -25
  95. package/test-data/sample-project/src/resources/ui-terms.json +0 -96
  96. package/test-data/sample-project/src/resources-config.json +0 -111
  97. package/tsconfig.json +0 -27
  98. package/webpack.config.js +0 -54
package/README.md CHANGED
@@ -4,9 +4,20 @@ A visual tool for loading, browsing, and experimenting with ts-res resources. Bu
4
4
 
5
5
  ## Features
6
6
 
7
- - **Source Browser**: Browse and explore built resources
8
- - **Compiled Browser**: Navigate compiled resource collections
9
- - **Resolution Viewer**: Test resource resolution with different qualifiers
7
+ ### Core Tools
8
+ - **Import Tool**: Load resources from files or directories using File System Access API
9
+ - **ZIP Loader**: Load pre-bundled ZIP archives created by ts-res-browser-cli
10
+ - **Source Browser**: Browse and explore built resources in alphabetical order
11
+ - **Compiled Browser**: Navigate compiled resource collections in tree view
12
+ - **Filter Tool**: Filter resources by context for focused analysis
13
+ - **Resolution Viewer**: Test resource resolution with different qualifiers and contexts
14
+ - **Configuration Tool**: Manage qualifier types, qualifiers, and resource types
15
+
16
+ ### Advanced Features
17
+ - **ZIP Archive Support**: Direct loading of ZIP bundles with automatic configuration application
18
+ - **URL Parameter Integration**: Launch with pre-configured settings via command line
19
+ - **Context Filtering**: Advanced filtering by language, territory, and custom qualifiers
20
+ - **Interactive Mode**: Explore with sample data and predefined configurations
10
21
  - **Modern UI**: Built with React, TypeScript, and Tailwind CSS
11
22
 
12
23
  ## Getting Started
@@ -37,10 +48,40 @@ The application will open in your browser at `http://localhost:3000`.
37
48
 
38
49
  ### Usage
39
50
 
40
- 1. **Import Files**: Click "Import Files" to select your ts-res project files
41
- 2. **Browse Resources**: Use the sidebar to navigate between different tools
51
+ #### Option 1: Direct File Loading
52
+ 1. **Import Files**: Use the Import Tool to select your ts-res project files/directories
53
+ 2. **Browse Resources**: Navigate between different tools using the sidebar
42
54
  3. **Explore**: View resource details, test resolution, and experiment with qualifiers
43
55
 
56
+ #### Option 2: ZIP Archive Workflow (Recommended)
57
+ 1. **Create Archive**: Use ts-res-browser-cli to create ZIP archives:
58
+ ```bash
59
+ ts-res-browser-cli browse --input ./resources --config extended-example
60
+ ```
61
+ 2. **Load Archive**: Use the ZIP Loader tool to load the created archive
62
+ 3. **Automatic Setup**: Configuration and resources are applied automatically
63
+
64
+ #### Option 3: Command Line Integration
65
+ Launch directly with pre-configured settings:
66
+ ```bash
67
+ # Launch with automatic development server
68
+ ts-res-browser-cli browse --input ./resources --dev
69
+
70
+ # Launch with ZIP creation but no browser opening
71
+ ts-res-browser-cli browse --input ./resources --no-open
72
+ ```
73
+
74
+ ### URL Parameters
75
+
76
+ The browser supports URL parameters for automated setup:
77
+ - `config=<name>`: Load predefined configuration
78
+ - `contextFilter=<filter>`: Apply context filtering
79
+ - `loadZip=true`: Navigate directly to ZIP Loader
80
+ - `interactive=true`: Launch in interactive mode
81
+ - `reduceQualifiers=true`: Enable qualifier reduction
82
+
83
+ Example: `http://localhost:3000?config=extended-example&loadZip=true`
84
+
44
85
  ## Development
45
86
 
46
87
  ### Scripts
@@ -55,32 +96,61 @@ The application will open in your browser at `http://localhost:3000`.
55
96
  ```
56
97
  src/
57
98
  ├── components/
58
- │ ├── layout/ # Layout components
99
+ │ ├── layout/ # Layout components (Header, Sidebar, etc.)
59
100
  │ ├── tools/ # Tool-specific components
101
+ │ │ ├── ImportTool.tsx # File/directory import
102
+ │ │ ├── ZipLoader.tsx # ZIP archive loader
103
+ │ │ ├── SourceBrowser.tsx # Resource browsing
104
+ │ │ ├── CompiledBrowser.tsx # Tree view navigation
105
+ │ │ ├── FilterTool.tsx # Context filtering
106
+ │ │ ├── ResolutionViewer.tsx # Resolution testing
107
+ │ │ └── ConfigurationTool.tsx # Configuration management
60
108
  │ └── common/ # Shared components
61
109
  ├── hooks/ # Custom React hooks
62
- ├── types/ # TypeScript type definitions
110
+ ├── useAppState.ts # Main application state
111
+ │ ├── useResourceManager.ts # Resource processing
112
+ │ ├── useFileImport.ts # File system operations
113
+ │ └── useUrlParams.ts # URL parameter parsing
63
114
  ├── utils/ # Utility functions
64
- ├── App.tsx # Main application component
115
+ ├── zip/ # Browser-specific ZIP utilities
116
+ │ ├── fileImport.ts # File system integration
117
+ │ ├── fileTreeConverter.ts # FileTree integration
118
+ │ └── urlParams.ts # URL parameter utilities
119
+ ├── types/ # TypeScript type definitions
120
+ ├── App.tsx # Main application component
65
121
  └── main.tsx # Application entry point
66
122
  ```
67
123
 
68
124
  ### Technology Stack
69
125
 
70
- - **React 18+** with TypeScript
71
- - **Webpack** for bundling
126
+ - **React 19** with TypeScript
127
+ - **Webpack 5** for bundling with browser polyfills
72
128
  - **Tailwind CSS** for styling
73
- - **Heroicons** for iconography
129
+ - **Heroicons** for iconography
130
+ - **JSZip** for browser-based ZIP processing
74
131
  - **@fgv/ts-res** for resource management
132
+ - **@fgv/ts-utils** for Result pattern and FileTree abstraction
75
133
 
76
134
  ## Architecture
77
135
 
78
136
  The application follows a component-based architecture with:
79
137
 
80
- - **State Management**: React Context + useReducer
81
- - **File Access**: File System Access API with fallback
82
- - **Error Handling**: Result pattern from @fgv/ts-utils
83
- - **Testing**: Jest with React Testing Library
138
+ ### Core Systems
139
+ - **State Management**: React hooks with centralized state management
140
+ - **File Access**: File System Access API with fallback to input elements
141
+ - **ZIP Processing**: Browser-compatible ZIP implementation using JSZip
142
+ - **Resource Processing**: FileTree abstraction for unified file access
143
+ - **Error Handling**: Result pattern from @fgv/ts-utils throughout
144
+
145
+ ### Integration Points
146
+ - **CLI Integration**: Seamless workflow with ts-res-browser-cli via ZIP archives
147
+ - **URL Parameters**: Support for automated setup and configuration
148
+ - **Development Server**: Integration with webpack-dev-server for hot reloading
149
+
150
+ ### Browser Compatibility
151
+ - **File System Access API**: Modern file access with graceful fallback
152
+ - **Node.js Polyfills**: Webpack configuration for browser compatibility
153
+ - **ZIP Archives**: Client-side processing without server dependencies
84
154
 
85
155
  ## Contributing
86
156
 
package/cli.js ADDED
@@ -0,0 +1,156 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { exec, spawn } = require('child_process');
4
+ const path = require('path');
5
+ const fs = require('fs');
6
+
7
+ const command = process.argv[2];
8
+ const projectRoot = __dirname;
9
+
10
+ // Check if we have a built dist directory
11
+ const distPath = path.join(projectRoot, 'dist');
12
+ const hasBuiltFiles = fs.existsSync(distPath) && fs.existsSync(path.join(distPath, 'index.html'));
13
+
14
+ function startDevServer(port = 3000) {
15
+ // Check if we have webpack-cli available (needed for dev server)
16
+ try {
17
+ require.resolve('webpack-cli');
18
+ require.resolve('webpack-dev-server');
19
+ } catch (error) {
20
+ console.error('❌ Development server is not available in the published package.');
21
+ console.error('');
22
+ console.error('The dev server requires webpack-cli and webpack-dev-server which are');
23
+ console.error('not included in the published package to keep it lightweight.');
24
+ console.error('');
25
+ console.error('To use the development server:');
26
+ console.error('1. Clone the repository: git clone <repo-url>');
27
+ console.error('2. Install dependencies: rush install');
28
+ console.error('3. Run: rushx dev');
29
+ console.error('');
30
+ console.error('For production use, run: ts-res-browser serve');
31
+ process.exit(1);
32
+ }
33
+
34
+ const packageManager = fs.existsSync(path.join(projectRoot, 'package-lock.json'))
35
+ ? 'npm'
36
+ : fs.existsSync(path.join(projectRoot, 'yarn.lock'))
37
+ ? 'yarn'
38
+ : 'npm';
39
+
40
+ console.log('Starting TS-RES Browser development server...');
41
+ console.log(`Using ${packageManager} to start server...`);
42
+
43
+ const child = spawn(packageManager, ['run', 'dev'], {
44
+ cwd: projectRoot,
45
+ stdio: 'inherit',
46
+ env: { ...process.env, PORT: port.toString() }
47
+ });
48
+
49
+ child.on('error', (error) => {
50
+ console.error(`Error starting dev server: ${error.message}`);
51
+ process.exit(1);
52
+ });
53
+ }
54
+
55
+ function serveBuildFiles(port = 8080) {
56
+ if (!hasBuiltFiles) {
57
+ console.error('No built files found. Please run "ts-res-browser build" first.');
58
+ process.exit(1);
59
+ }
60
+
61
+ // Try to use a simple static server
62
+ try {
63
+ const handler = require('serve-handler');
64
+ const http = require('http');
65
+
66
+ const server = http.createServer((request, response) => {
67
+ return handler(request, response, {
68
+ public: distPath,
69
+ rewrites: [{ source: '**', destination: '/index.html' }]
70
+ });
71
+ });
72
+
73
+ server.listen(port, () => {
74
+ console.log(`TS-RES Browser running at http://localhost:${port}`);
75
+ console.log('Press Ctrl+C to stop');
76
+ });
77
+ } catch (error) {
78
+ // Fallback: just open the HTML file
79
+ console.log(`Built files available at: ${path.join(distPath, 'index.html')}`);
80
+ console.log('To serve the files, install a static server like: npm install -g serve');
81
+ console.log(`Then run: serve -s ${distPath} -p ${port}`);
82
+ }
83
+ }
84
+
85
+ switch (command) {
86
+ case 'dev':
87
+ const devPort = process.argv[3] || process.env.PORT || 3000;
88
+ startDevServer(devPort);
89
+ break;
90
+
91
+ case 'serve':
92
+ case 'start':
93
+ const servePort = process.argv[3] || 8080;
94
+ serveBuildFiles(servePort);
95
+ break;
96
+
97
+ case 'build':
98
+ console.log('Building TS-RES Browser...');
99
+ const packageManager = fs.existsSync(path.join(projectRoot, 'package-lock.json')) ? 'npm' : 'npm';
100
+
101
+ const buildChild = spawn(packageManager, ['run', 'build'], {
102
+ cwd: projectRoot,
103
+ stdio: 'inherit'
104
+ });
105
+
106
+ buildChild.on('error', (error) => {
107
+ console.error(`Error building: ${error.message}`);
108
+ process.exit(1);
109
+ });
110
+
111
+ buildChild.on('close', (code) => {
112
+ if (code === 0) {
113
+ console.log('Build completed successfully!');
114
+ console.log('To serve the built files, run: ts-res-browser serve');
115
+ } else {
116
+ console.error(`Build failed with code ${code}`);
117
+ process.exit(code);
118
+ }
119
+ });
120
+ break;
121
+
122
+ default:
123
+ console.log('TS-RES Browser CLI');
124
+ console.log('');
125
+ console.log('Usage:');
126
+ console.log(' ts-res-browser dev - Start development server (requires dev dependencies)');
127
+ console.log(' ts-res-browser build - Build for production');
128
+ console.log(' ts-res-browser serve - Serve built files');
129
+ console.log('');
130
+ console.log('Options:');
131
+ console.log(' ts-res-browser dev [port] - Start dev server on specific port');
132
+ console.log(' ts-res-browser serve [port] - Serve on specific port');
133
+ console.log('');
134
+
135
+ // Check if dev dependencies are available
136
+ let hasDevDeps = false;
137
+ try {
138
+ require.resolve('webpack-cli');
139
+ require.resolve('webpack-dev-server');
140
+ hasDevDeps = true;
141
+ } catch (error) {
142
+ // Dev dependencies not available
143
+ }
144
+
145
+ if (hasBuiltFiles) {
146
+ console.log('✅ Built files found - you can run "ts-res-browser serve"');
147
+ } else {
148
+ console.log('⚠️ No built files - run "ts-res-browser build" first');
149
+ }
150
+
151
+ if (!hasDevDeps) {
152
+ console.log('ℹ️ Development server not available in published package');
153
+ console.log(' Use "ts-res-browser serve" for production serving');
154
+ }
155
+ break;
156
+ }
@@ -0,0 +1 @@
1
+ (self.webpackChunk_fgv_ts_res_browser=self.webpackChunk_fgv_ts_res_browser||[]).push([[13],{78013:(t,e,r)=>{var n=r(91570).Buffer,i=r(25370);t.exports=function t(e,r,n){function i(a,o){if(!r[a]){if(!e[a]){if(s)return s(a,!0);var h=new Error("Cannot find module '"+a+"'");throw h.code="MODULE_NOT_FOUND",h}var u=r[a]={exports:{}};e[a][0].call(u.exports,function(t){return i(e[a][1][t]||t)},u,u.exports,t,e,r,n)}return r[a].exports}for(var s=void 0,a=0;a<n.length;a++)i(n[a]);return i}({1:[function(t,e,r){"use strict";var n=t("./utils"),i=t("./support"),s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(t){for(var e,r,i,a,o,h,u,l=[],c=0,f=t.length,d=f,p="string"!==n.getTypeOf(t);c<t.length;)d=f-c,i=p?(e=t[c++],r=c<f?t[c++]:0,c<f?t[c++]:0):(e=t.charCodeAt(c++),r=c<f?t.charCodeAt(c++):0,c<f?t.charCodeAt(c++):0),a=e>>2,o=(3&e)<<4|r>>4,h=1<d?(15&r)<<2|i>>6:64,u=2<d?63&i:64,l.push(s.charAt(a)+s.charAt(o)+s.charAt(h)+s.charAt(u));return l.join("")},r.decode=function(t){var e,r,n,a,o,h,u=0,l=0,c="data:";if(t.substr(0,5)===c)throw new Error("Invalid base64 input, it looks like a data url.");var f,d=3*(t=t.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(t.charAt(t.length-1)===s.charAt(64)&&d--,t.charAt(t.length-2)===s.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(f=i.uint8array?new Uint8Array(0|d):new Array(0|d);u<t.length;)e=s.indexOf(t.charAt(u++))<<2|(a=s.indexOf(t.charAt(u++)))>>4,r=(15&a)<<4|(o=s.indexOf(t.charAt(u++)))>>2,n=(3&o)<<6|(h=s.indexOf(t.charAt(u++))),f[l++]=e,64!==o&&(f[l++]=r),64!==h&&(f[l++]=n);return f}},{"./support":30,"./utils":32}],2:[function(t,e,r){"use strict";var n=t("./external"),i=t("./stream/DataWorker"),s=t("./stream/Crc32Probe"),a=t("./stream/DataLengthProbe");function o(t,e,r,n,i){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var t=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),e=this;return t.on("end",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),t},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new s).pipe(new a("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",e)},e.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,e,r){"use strict";var n=t("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,e,r){"use strict";var n=t("./utils"),i=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e){return void 0!==t&&t.length?"string"!==n.getTypeOf(t)?function(t,e,r){var n=i,s=0+r;t^=-1;for(var a=0;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}(0|e,t,t.length):function(t,e,r){var n=i,s=0+r;t^=-1;for(var a=0;a<s;a++)t=t>>>8^n[255&(t^e.charCodeAt(a))];return-1^t}(0|e,t,t.length):0}},{"./utils":32}],5:[function(t,e,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){"use strict";var n;n="undefined"!=typeof Promise?Promise:t("lie"),e.exports={Promise:n}},{lie:37}],7:[function(t,e,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=t("pako"),s=t("./utils"),a=t("./stream/GenericWorker"),o=n?"uint8array":"array";function h(t,e){a.call(this,"FlateWorker/"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(t){return new h("Deflate",t)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,e,r){"use strict";function n(t,e){var r,n="";for(r=0;r<e;r++)n+=String.fromCharCode(255&t),t>>>=8;return n}function i(t,e,r,i,a,l){var c,f,d=t.file,p=t.compression,m=l!==o.utf8encode,_=s.transformTo("string",l(d.name)),g=s.transformTo("string",o.utf8encode(d.name)),b=d.comment,v=s.transformTo("string",l(b)),y=s.transformTo("string",o.utf8encode(b)),w=g.length!==d.name.length,k=y.length!==b.length,x="",S="",z="",C=d.dir,E=d.date,A={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(A.crc32=t.crc32,A.compressedSize=t.compressedSize,A.uncompressedSize=t.uncompressedSize);var I=0;e&&(I|=8),m||!w&&!k||(I|=2048);var O=0,B=0;C&&(O|=16),"UNIX"===a?(B=798,O|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(d.unixPermissions,C)):(B=20,O|=function(t){return 63&(t||0)}(d.dosPermissions)),c=E.getUTCHours(),c<<=6,c|=E.getUTCMinutes(),c<<=5,c|=E.getUTCSeconds()/2,f=E.getUTCFullYear()-1980,f<<=4,f|=E.getUTCMonth()+1,f<<=5,f|=E.getUTCDate(),w&&(S=n(1,1)+n(h(_),4)+g,x+="up"+n(S.length,2)+S),k&&(z=n(1,1)+n(h(v),4)+y,x+="uc"+n(z.length,2)+z);var R="";return R+="\n\0",R+=n(I,2),R+=p.magic,R+=n(c,2),R+=n(f,2),R+=n(A.crc32,4),R+=n(A.compressedSize,4),R+=n(A.uncompressedSize,4),R+=n(_.length,2),R+=n(x.length,2),{fileRecord:u.LOCAL_FILE_HEADER+R+_+x,dirRecord:u.CENTRAL_FILE_HEADER+n(B,2)+R+n(v.length,2)+"\0\0\0\0"+n(O,4)+n(i,4)+_+x+v}}var s=t("../utils"),a=t("../stream/GenericWorker"),o=t("../utf8"),h=t("../crc32"),u=t("../signature");function l(t,e,r,n){a.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}s.inherits(l,a),l.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,a.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-n-1))/r:100}}))},l.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},l.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return u.DATA_DESCRIPTOR+n(t.crc32,4)+n(t.compressedSize,4)+n(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},l.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var r=this.bytesWritten-t,i=function(t,e,r,i,a){var o=s.transformTo("string",a(i));return u.CENTRAL_DIRECTORY_END+"\0\0\0\0"+n(t,2)+n(t,2)+n(e,4)+n(r,4)+n(o.length,2)+o}(this.dirRecords.length,r,t,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},l.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},l.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()}),t.on("error",function(t){e.error(t)}),this},l.prototype.resume=function(){return!!a.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},l.prototype.error=function(t){var e=this._sources;if(!a.prototype.error.call(this,t))return!1;for(var r=0;r<e.length;r++)try{e[r].error(t)}catch(t){}return!0},l.prototype.lock=function(){a.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock()},e.exports=l},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,e,r){"use strict";var n=t("../compressions"),i=t("./ZipFileWorker");r.generateWorker=function(t,e,r){var s=new i(e.streamFiles,r,e.platform,e.encodeFileName),a=0;try{t.forEach(function(t,r){a++;var i=function(t,e){var r=t||e,i=n[r];if(!i)throw new Error(r+" is not a valid compression method !");return i}(r.options.compression,e.compression),o=r.options.compressionOptions||e.compressionOptions||{},h=r.dir,u=r.date;r._compressWorker(i,o).withStreamInfo("file",{name:t,dir:h,date:u,comment:r.comment||"",unixPermissions:r.unixPermissions,dosPermissions:r.dosPermissions}).pipe(s)}),s.entriesCount=a}catch(t){s.error(t)}return s}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,e,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var t=new n;for(var e in this)"function"!=typeof this[e]&&(t[e]=this[e]);return t}}(n.prototype=t("./object")).loadAsync=t("./load"),n.support=t("./support"),n.defaults=t("./defaults"),n.version="3.10.1",n.loadAsync=function(t,e){return(new n).loadAsync(t,e)},n.external=t("./external"),e.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,e,r){"use strict";var n=t("./utils"),i=t("./external"),s=t("./utf8"),a=t("./zipEntries"),o=t("./stream/Crc32Probe"),h=t("./nodejsUtils");function u(t){return new i.Promise(function(e,r){var n=t.decompressed.getContentWorker().pipe(new o);n.on("error",function(t){r(t)}).on("end",function(){n.streamInfo.crc32!==t.decompressed.crc32?r(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}e.exports=function(t,e){var r=this;return e=n.extend(e||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:s.utf8decode}),h.isNode&&h.isStream(t)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",t,!0,e.optimizedBinaryString,e.base64).then(function(t){var r=new a(e);return r.load(t),r}).then(function(t){var r=[i.Promise.resolve(t)],n=t.files;if(e.checkCRC32)for(var s=0;s<n.length;s++)r.push(u(n[s]));return i.Promise.all(r)}).then(function(t){for(var i=t.shift(),s=i.files,a=0;a<s.length;a++){var o=s[a],h=o.fileNameStr,u=n.resolve(o.fileNameStr);r.file(u,o.decompressed,{binary:!0,optimizedBinaryString:!0,date:o.date,dir:o.dir,comment:o.fileCommentStr.length?o.fileCommentStr:null,unixPermissions:o.unixPermissions,dosPermissions:o.dosPermissions,createFolders:e.createFolders}),o.dir||(r.file(u).unsafeOriginalName=h)}return i.zipComment.length&&(r.comment=i.zipComment),r})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,e,r){"use strict";var n=t("../utils"),i=t("../stream/GenericWorker");function s(t,e){i.call(this,"Nodejs stream input adapter for "+t),this._upstreamEnded=!1,this._bindStream(e)}n.inherits(s,i),s.prototype._bindStream=function(t){var e=this;(this._stream=t).pause(),t.on("data",function(t){e.push({data:t,meta:{percent:0}})}).on("error",function(t){e.isPaused?this.generatedError=t:e.error(t)}).on("end",function(){e.isPaused?e._upstreamEnded=!0:e.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,e,r){"use strict";var n=t("readable-stream").Readable;function i(t,e,r){n.call(this,e),this._helper=t;var i=this;t.on("data",function(t,e){i.push(t)||i._helper.pause(),r&&r(e)}).on("error",function(t){i.emit("error",t)}).on("end",function(){i.push(null)})}t("../utils").inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},{"../utils":32,"readable-stream":16}],14:[function(t,e,r){"use strict";e.exports={isNode:void 0!==n,newBufferFrom:function(t,e){if(n.from&&n.from!==Uint8Array.from)return n.from(t,e);if("number"==typeof t)throw new Error('The "data" argument must not be a number');return new n(t,e)},allocBuffer:function(t){if(n.alloc)return n.alloc(t);var e=new n(t);return e.fill(0),e},isBuffer:function(t){return n.isBuffer(t)},isStream:function(t){return t&&"function"==typeof t.on&&"function"==typeof t.pause&&"function"==typeof t.resume}}},{}],15:[function(t,e,r){"use strict";function n(t,e,r){var n,i=s.getTypeOf(e),o=s.extend(r||{},h);o.date=o.date||new Date,null!==o.compression&&(o.compression=o.compression.toUpperCase()),"string"==typeof o.unixPermissions&&(o.unixPermissions=parseInt(o.unixPermissions,8)),o.unixPermissions&&16384&o.unixPermissions&&(o.dir=!0),o.dosPermissions&&16&o.dosPermissions&&(o.dir=!0),o.dir&&(t=m(t)),o.createFolders&&(n=p(t))&&_.call(this,n,!0);var c="string"===i&&!1===o.binary&&!1===o.base64;r&&void 0!==r.binary||(o.binary=!c),(e instanceof u&&0===e.uncompressedSize||o.dir||!e||0===e.length)&&(o.base64=!1,o.binary=!0,e="",o.compression="STORE",i="string");var g;g=e instanceof u||e instanceof a?e:f.isNode&&f.isStream(e)?new d(t,e):s.prepareContent(t,e,o.binary,o.optimizedBinaryString,o.base64);var b=new l(t,g,o);this.files[t]=b}var i=t("./utf8"),s=t("./utils"),a=t("./stream/GenericWorker"),o=t("./stream/StreamHelper"),h=t("./defaults"),u=t("./compressedObject"),l=t("./zipObject"),c=t("./generate"),f=t("./nodejsUtils"),d=t("./nodejs/NodejsStreamInputAdapter"),p=function(t){"/"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf("/");return 0<e?t.substring(0,e):""},m=function(t){return"/"!==t.slice(-1)&&(t+="/"),t},_=function(t,e){return e=void 0!==e?e:h.createFolders,t=m(t),this.files[t]||n.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function g(t){return"[object RegExp]"===Object.prototype.toString.call(t)}var b={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(t){var e,r,n;for(e in this.files)n=this.files[e],(r=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&t(r,n)},filter:function(t){var e=[];return this.forEach(function(r,n){t(r,n)&&e.push(n)}),e},file:function(t,e,r){if(1!==arguments.length)return t=this.root+t,n.call(this,t,e,r),this;if(g(t)){var i=t;return this.filter(function(t,e){return!e.dir&&i.test(t)})}var s=this.files[this.root+t];return s&&!s.dir?s:null},folder:function(t){if(!t)return this;if(g(t))return this.filter(function(e,r){return r.dir&&t.test(e)});var e=this.root+t,r=_.call(this,e),n=this.clone();return n.root=r.name,n},remove:function(t){t=this.root+t;var e=this.files[t];if(e||("/"!==t.slice(-1)&&(t+="/"),e=this.files[t]),e&&!e.dir)delete this.files[t];else for(var r=this.filter(function(e,r){return r.name.slice(0,t.length)===t}),n=0;n<r.length;n++)delete this.files[r[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(t){var e,r={};try{if((r=s.extend(t||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");s.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";e=c.generateWorker(this,r,n)}catch(t){(e=new a("error")).error(t)}return new o(e,r.type||"string",r.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return(t=t||{}).type||(t.type="nodebuffer"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=b},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,e,r){"use strict";e.exports=t("stream")},{stream:void 0}],17:[function(t,e,r){"use strict";var n=t("./DataReader");function i(t){n.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e]}t("../utils").inherits(i,n),i.prototype.byteAt=function(t){return this.data[this.zero+t]},i.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),r=t.charCodeAt(1),n=t.charCodeAt(2),i=t.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===e&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),n=t.charCodeAt(2),i=t.charCodeAt(3),s=this.readData(4);return e===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=i},{"../utils":32,"./DataReader":18}],18:[function(t,e,r){"use strict";var n=t("../utils");function i(t){this.data=t,this.length=t.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length<this.zero+t||t<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+t+"). Corrupted zip ?")},setIndex:function(t){this.checkIndex(t),this.index=t},skip:function(t){this.setIndex(this.index+t)},byteAt:function(){},readInt:function(t){var e,r=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return n.transformTo("string",this.readData(t))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=i},{"../utils":32}],19:[function(t,e,r){"use strict";var n=t("./Uint8ArrayReader");function i(t){n.call(this,t)}t("../utils").inherits(i,n),i.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,e,r){"use strict";var n=t("./DataReader");function i(t){n.call(this,t)}t("../utils").inherits(i,n),i.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},i.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},i.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},i.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=i},{"../utils":32,"./DataReader":18}],21:[function(t,e,r){"use strict";var n=t("./ArrayReader");function i(t){n.call(this,t)}t("../utils").inherits(i,n),i.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(t,e,r){"use strict";var n=t("../utils"),i=t("../support"),s=t("./ArrayReader"),a=t("./StringReader"),o=t("./NodeBufferReader"),h=t("./Uint8ArrayReader");e.exports=function(t){var e=n.getTypeOf(t);return n.checkSupport(e),"string"!==e||i.uint8array?"nodebuffer"===e?new o(t):i.uint8array?new h(n.transformTo("uint8array",t)):new s(n.transformTo("array",t)):new a(t)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,e,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(t,e,r){"use strict";var n=t("./GenericWorker"),i=t("../utils");function s(t){n.call(this,"ConvertWorker to "+t),this.destType=t}i.inherits(s,n),s.prototype.processChunk=function(t){this.push({data:i.transformTo(this.destType,t.data),meta:t.meta})},e.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(t,e,r){"use strict";var n=t("./GenericWorker"),i=t("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(s,n),s.prototype.processChunk=function(t){this.streamInfo.crc32=i(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,e,r){"use strict";var n=t("../utils"),i=t("./GenericWorker");function s(t){i.call(this,"DataLengthProbe for "+t),this.propName=t,this.withStreamInfo(t,0)}n.inherits(s,i),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}i.prototype.processChunk.call(this,t)},e.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(t,e,r){"use strict";var n=t("../utils"),i=t("./GenericWorker");function s(t){i.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=n.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":t=this.data.substring(this.index,e);break;case"uint8array":t=this.data.subarray(this.index,e);break;case"array":case"nodebuffer":t=this.data.slice(this.index,e)}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(t,e,r){"use strict";function n(t){this.name=t||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(t){this.emit("data",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit("error",t)}return!0},error:function(t){return!this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit("error",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r<this._listeners[t].length;r++)this._listeners[t][r].call(this,e)},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=t;var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.end()}),t.on("error",function(t){e.error(t)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var t=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t)},withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,t)&&(this.streamInfo[t]=this.extraStreamInfo[t])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var t="Worker "+this.name;return this.previous?this.previous+" -> "+t:t}},e.exports=n},{}],29:[function(t,e,r){"use strict";var i=t("../utils"),s=t("./ConvertWorker"),a=t("./GenericWorker"),o=t("../base64"),h=t("../support"),u=t("../external"),l=null;if(h.nodestream)try{l=t("../nodejs/NodejsStreamOutputAdapter")}catch(t){}function c(t,e,r){var n=e;switch(e){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=e,this._mimeType=r,i.checkSupport(n),this._worker=t.pipe(new s(n)),t.lock()}catch(t){this._worker=new a("error"),this._worker.error(t)}}c.prototype={accumulate:function(t){return function(t,e){return new u.Promise(function(r,s){var a=[],h=t._internalType,u=t._outputType,l=t._mimeType;t.on("data",function(t,r){a.push(t),e&&e(r)}).on("error",function(t){a=[],s(t)}).on("end",function(){try{var t=function(t,e,r){switch(t){case"blob":return i.newBlob(i.transformTo("arraybuffer",e),r);case"base64":return o.encode(e);default:return i.transformTo(t,e)}}(u,function(t,e){var r,i=0,s=null,a=0;for(r=0;r<e.length;r++)a+=e[r].length;switch(t){case"string":return e.join("");case"array":return Array.prototype.concat.apply([],e);case"uint8array":for(s=new Uint8Array(a),r=0;r<e.length;r++)s.set(e[r],i),i+=e[r].length;return s;case"nodebuffer":return n.concat(e);default:throw new Error("concat : unsupported type '"+t+"'")}}(h,a),l);r(t)}catch(t){s(t)}a=[]}).resume()})}(this,t)},on:function(t,e){var r=this;return"data"===t?this._worker.on(t,function(t){e.call(r,t.data,t.meta)}):this._worker.on(t,function(){i.delay(e,arguments,r)}),this},resume:function(){return i.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(i.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new l(this,{objectMode:"nodebuffer"!==this._outputType},t)}},e.exports=c},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,e,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer=void 0!==n,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var i=new ArrayBuffer(0);try{r.blob=0===new Blob([i],{type:"application/zip"}).size}catch(t){try{var s=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);s.append(i),r.blob=0===s.getBlob("application/zip").size}catch(t){r.blob=!1}}}try{r.nodestream=!!t("readable-stream").Readable}catch(t){r.nodestream=!1}},{"readable-stream":16}],31:[function(t,e,r){"use strict";for(var n=t("./utils"),i=t("./support"),s=t("./nodejsUtils"),a=t("./stream/GenericWorker"),o=new Array(256),h=0;h<256;h++)o[h]=252<=h?6:248<=h?5:240<=h?4:224<=h?3:192<=h?2:1;function u(){a.call(this,"utf-8 decode"),this.leftOver=null}function l(){a.call(this,"utf-8 encode")}o[254]=o[254]=1,r.utf8encode=function(t){return i.nodebuffer?s.newBufferFrom(t,"utf-8"):function(t){var e,r,n,s,a,o=t.length,h=0;for(s=0;s<o;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<o&&56320==(64512&(n=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(n-56320),s++),h+=r<128?1:r<2048?2:r<65536?3:4;for(e=i.uint8array?new Uint8Array(h):new Array(h),s=a=0;a<h;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<o&&56320==(64512&(n=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(n-56320),s++),r<128?e[a++]=r:(r<2048?e[a++]=192|r>>>6:(r<65536?e[a++]=224|r>>>12:(e[a++]=240|r>>>18,e[a++]=128|r>>>12&63),e[a++]=128|r>>>6&63),e[a++]=128|63&r);return e}(t)},r.utf8decode=function(t){return i.nodebuffer?n.transformTo("nodebuffer",t).toString("utf-8"):function(t){var e,r,i,s,a=t.length,h=new Array(2*a);for(e=r=0;e<a;)if((i=t[e++])<128)h[r++]=i;else if(4<(s=o[i]))h[r++]=65533,e+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&e<a;)i=i<<6|63&t[e++],s--;1<s?h[r++]=65533:i<65536?h[r++]=i:(i-=65536,h[r++]=55296|i>>10&1023,h[r++]=56320|1023&i)}return h.length!==r&&(h.subarray?h=h.subarray(0,r):h.length=r),n.applyFromCharCode(h)}(t=n.transformTo(i.uint8array?"uint8array":"array",t))},n.inherits(u,a),u.prototype.processChunk=function(t){var e=n.transformTo(i.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var s=e;(e=new Uint8Array(s.length+this.leftOver.length)).set(this.leftOver,0),e.set(s,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var a=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0||0===r?e:r+o[t[r]]>e?r:e}(e),h=e;a!==e.length&&(i.uint8array?(h=e.subarray(0,a),this.leftOver=e.subarray(a,e.length)):(h=e.slice(0,a),this.leftOver=e.slice(a,e.length))),this.push({data:r.utf8decode(h),meta:t.meta})},u.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:r.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},r.Utf8DecodeWorker=u,n.inherits(l,a),l.prototype.processChunk=function(t){this.push({data:r.utf8encode(t.data),meta:t.meta})},r.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,e,r){"use strict";var n=t("./support"),i=t("./base64"),s=t("./nodejsUtils"),a=t("./external");function o(t){return t}function h(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}t("setimmediate"),r.newBlob=function(t,e){r.checkSupport("blob");try{return new Blob([t],{type:e})}catch(r){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(e)}catch(t){throw new Error("Bug : can't construct the Blob.")}}};var u={stringifyByChunk:function(t,e,r){var n=[],i=0,s=t.length;if(s<=r)return String.fromCharCode.apply(null,t);for(;i<s;)"array"===e||"nodebuffer"===e?n.push(String.fromCharCode.apply(null,t.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,t.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(t){for(var e="",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},applyCanBeUsed:{uint8array:function(){try{return n.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return!1}}(),nodebuffer:function(){try{return n.nodebuffer&&1===String.fromCharCode.apply(null,s.allocBuffer(1)).length}catch(t){return!1}}()}};function l(t){var e=65536,n=r.getTypeOf(t),i=!0;if("uint8array"===n?i=u.applyCanBeUsed.uint8array:"nodebuffer"===n&&(i=u.applyCanBeUsed.nodebuffer),i)for(;1<e;)try{return u.stringifyByChunk(t,n,e)}catch(t){e=Math.floor(e/2)}return u.stringifyByChar(t)}function c(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}r.applyFromCharCode=l;var f={};f.string={string:o,array:function(t){return h(t,new Array(t.length))},arraybuffer:function(t){return f.string.uint8array(t).buffer},uint8array:function(t){return h(t,new Uint8Array(t.length))},nodebuffer:function(t){return h(t,s.allocBuffer(t.length))}},f.array={string:l,array:o,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return s.newBufferFrom(t)}},f.arraybuffer={string:function(t){return l(new Uint8Array(t))},array:function(t){return c(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:o,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return s.newBufferFrom(new Uint8Array(t))}},f.uint8array={string:l,array:function(t){return c(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:o,nodebuffer:function(t){return s.newBufferFrom(t)}},f.nodebuffer={string:l,array:function(t){return c(t,new Array(t.length))},arraybuffer:function(t){return f.nodebuffer.uint8array(t).buffer},uint8array:function(t){return c(t,new Uint8Array(t.length))},nodebuffer:o},r.transformTo=function(t,e){if(e=e||"",!t)return e;r.checkSupport(t);var n=r.getTypeOf(e);return f[n][t](e)},r.resolve=function(t){for(var e=t.split("/"),r=[],n=0;n<e.length;n++){var i=e[n];"."===i||""===i&&0!==n&&n!==e.length-1||(".."===i?r.pop():r.push(i))}return r.join("/")},r.getTypeOf=function(t){return"string"==typeof t?"string":"[object Array]"===Object.prototype.toString.call(t)?"array":n.nodebuffer&&s.isBuffer(t)?"nodebuffer":n.uint8array&&t instanceof Uint8Array?"uint8array":n.arraybuffer&&t instanceof ArrayBuffer?"arraybuffer":void 0},r.checkSupport=function(t){if(!n[t.toLowerCase()])throw new Error(t+" is not supported by this platform")},r.MAX_VALUE_16BITS=65535,r.MAX_VALUE_32BITS=-1,r.pretty=function(t){var e,r,n="";for(r=0;r<(t||"").length;r++)n+="\\x"+((e=t.charCodeAt(r))<16?"0":"")+e.toString(16).toUpperCase();return n},r.delay=function(t,e,r){setImmediate(function(){t.apply(r||null,e||[])})},r.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.prototype=new r},r.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],e)&&void 0===r[e]&&(r[e]=arguments[t][e]);return r},r.prepareContent=function(t,e,s,o,u){return a.Promise.resolve(e).then(function(t){return n.blob&&(t instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(t)))&&"undefined"!=typeof FileReader?new a.Promise(function(e,r){var n=new FileReader;n.onload=function(t){e(t.target.result)},n.onerror=function(t){r(t.target.error)},n.readAsArrayBuffer(t)}):t}).then(function(e){var l=r.getTypeOf(e);return l?("arraybuffer"===l?e=r.transformTo("uint8array",e):"string"===l&&(u?e=i.decode(e):s&&!0!==o&&(e=function(t){return h(t,n.uint8array?new Uint8Array(t.length):new Array(t.length))}(e))),e):a.Promise.reject(new Error("Can't read the data of '"+t+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(t,e,r){"use strict";var n=t("./reader/readerFor"),i=t("./utils"),s=t("./signature"),a=t("./zipEntry"),o=t("./support");function h(t){this.files=[],this.loadOptions=t}h.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(e)+", expected "+i.pretty(t)+")")}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var n=this.reader.readString(4)===e;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=o.uint8array?"uint8array":"array",r=i.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,r,n=this.zip64EndOfCentralSize-44;0<n;)t=this.reader.readInt(2),e=this.reader.readInt(4),r=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(t<0)throw this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(t);var e=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(t),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=e-r;if(0<n)this.isSignature(e,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(t){this.reader=n(t)},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(t,e,r){"use strict";var n=t("./reader/readerFor"),i=t("./utils"),s=t("./compressedObject"),a=t("./crc32"),o=t("./utf8"),h=t("./compressions"),u=t("./support");function l(t,e){this.options=t,this.loadOptions=e}l.prototype={isEncrypted:function(){return!(1&~this.bitFlag)},useUTF8:function(){return!(2048&~this.bitFlag)},readLocalPart:function(t){var e,r;if(t.skip(22),this.fileNameLength=t.readInt(2),r=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(e=function(t){for(var e in h)if(Object.prototype.hasOwnProperty.call(h,e)&&h[e].magic===t)return h[e];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new s(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var t=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(t){var e,r,n,i=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4<i;)e=t.readInt(2),r=t.readInt(2),n=t.readData(r),this.extraFields[e]={id:e,length:r,value:n};t.setIndex(i)},handleUTF8:function(){var t=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var r=i.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var s=i.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(s)}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=n(t.value);return 1!==e.readInt(1)||a(this.fileName)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=n(t.value);return 1!==e.readInt(1)||a(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null}},e.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,e,r){"use strict";function n(t,e,r){this.name=t,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=e,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var i=t("./stream/StreamHelper"),s=t("./stream/DataWorker"),a=t("./utf8"),o=t("./compressedObject"),h=t("./stream/GenericWorker");n.prototype={internalStream:function(t){var e=null,r="string";try{if(!t)throw new Error("No output type specified.");var n="string"===(r=t.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),e=this._decompressWorker();var s=!this._dataBinary;s&&!n&&(e=e.pipe(new a.Utf8EncodeWorker)),!s&&n&&(e=e.pipe(new a.Utf8DecodeWorker))}catch(t){(e=new h("error")).error(t)}return new i(e,r,"")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||"nodebuffer").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof o&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new s(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},c=0;c<u.length;c++)n.prototype[u[c]]=l;e.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,e,n){(function(t){"use strict";var r,n,i=t.MutationObserver||t.WebKitMutationObserver;if(i){var s=0,a=new i(l),o=t.document.createTextNode("");a.observe(o,{characterData:!0}),r=function(){o.data=s=++s%2}}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){l(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(l,0)};else{var h=new t.MessageChannel;h.port1.onmessage=l,r=function(){h.port2.postMessage(0)}}var u=[];function l(){var t,e;n=!0;for(var r=u.length;r;){for(e=u,u=[],t=-1;++t<r;)e[t]();r=u.length}n=!1}e.exports=function(t){1!==u.push(t)||n||r()}}).call(this,void 0!==r.g?r.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(t,e,r){"use strict";var n=t("immediate");function i(){}var s={},a=["REJECTED"],o=["FULFILLED"],h=["PENDING"];function u(t){if("function"!=typeof t)throw new TypeError("resolver must be a function");this.state=h,this.queue=[],this.outcome=void 0,t!==i&&d(this,t)}function l(t,e,r){this.promise=t,"function"==typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function c(t,e,r){n(function(){var n;try{n=e(r)}catch(n){return s.reject(t,n)}n===t?s.reject(t,new TypeError("Cannot resolve promise with itself")):s.resolve(t,n)})}function f(t){var e=t&&t.then;if(t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof e)return function(){e.apply(t,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,s.reject(t,e))}function i(e){r||(r=!0,s.resolve(t,e))}var a=p(function(){e(i,n)});"error"===a.status&&n(a.value)}function p(t,e){var r={};try{r.value=t(e),r.status="success"}catch(t){r.status="error",r.value=t}return r}(e.exports=u).prototype.finally=function(t){if("function"!=typeof t)return this;var e=this.constructor;return this.then(function(r){return e.resolve(t()).then(function(){return r})},function(r){return e.resolve(t()).then(function(){throw r})})},u.prototype.catch=function(t){return this.then(null,t)},u.prototype.then=function(t,e){if("function"!=typeof t&&this.state===o||"function"!=typeof e&&this.state===a)return this;var r=new this.constructor(i);return this.state!==h?c(r,this.state===o?t:e,this.outcome):this.queue.push(new l(r,t,e)),r},l.prototype.callFulfilled=function(t){s.resolve(this.promise,t)},l.prototype.otherCallFulfilled=function(t){c(this.promise,this.onFulfilled,t)},l.prototype.callRejected=function(t){s.reject(this.promise,t)},l.prototype.otherCallRejected=function(t){c(this.promise,this.onRejected,t)},s.resolve=function(t,e){var r=p(f,e);if("error"===r.status)return s.reject(t,r.value);var n=r.value;if(n)d(t,n);else{t.state=o,t.outcome=e;for(var i=-1,a=t.queue.length;++i<a;)t.queue[i].callFulfilled(e)}return t},s.reject=function(t,e){t.state=a,t.outcome=e;for(var r=-1,n=t.queue.length;++r<n;)t.queue[r].callRejected(e);return t},u.resolve=function(t){return t instanceof this?t:s.resolve(new this(i),t)},u.reject=function(t){var e=new this(i);return s.reject(e,t)},u.all=function(t){var e=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var r=t.length,n=!1;if(!r)return this.resolve([]);for(var a=new Array(r),o=0,h=-1,u=new this(i);++h<r;)l(t[h],h);return u;function l(t,i){e.resolve(t).then(function(t){a[i]=t,++o!==r||n||(n=!0,s.resolve(u,a))},function(t){n||(n=!0,s.reject(u,t))})}},u.race=function(t){if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var e=t.length,r=!1;if(!e)return this.resolve([]);for(var n,a=-1,o=new this(i);++a<e;)n=t[a],this.resolve(n).then(function(t){r||(r=!0,s.resolve(o,t))},function(t){r||(r=!0,s.reject(o,t))});return o}},{immediate:36}],38:[function(t,e,r){"use strict";var n={};(0,t("./lib/utils/common").assign)(n,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),e.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,e,r){"use strict";var n=t("./zlib/deflate"),i=t("./utils/common"),s=t("./utils/strings"),a=t("./zlib/messages"),o=t("./zlib/zstream"),h=Object.prototype.toString;function u(t){if(!(this instanceof u))return new u(t);this.options=i.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var r=n.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==r)throw new Error(a[r]);if(e.header&&n.deflateSetHeader(this.strm,e.header),e.dictionary){var l;if(l="string"==typeof e.dictionary?s.string2buf(e.dictionary):"[object ArrayBuffer]"===h.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(r=n.deflateSetDictionary(this.strm,l)))throw new Error(a[r]);this._dict_set=!0}}function l(t,e){var r=new u(e);if(r.push(t,!0),r.err)throw r.msg||a[r.err];return r.result}u.prototype.push=function(t,e){var r,a,o=this.strm,u=this.options.chunkSize;if(this.ended)return!1;a=e===~~e?e:!0===e?4:0,"string"==typeof t?o.input=s.string2buf(t):"[object ArrayBuffer]"===h.call(t)?o.input=new Uint8Array(t):o.input=t,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new i.Buf8(u),o.next_out=0,o.avail_out=u),1!==(r=n.deflate(o,a))&&0!==r)return this.onEnd(r),!(this.ended=!0);0!==o.avail_out&&(0!==o.avail_in||4!==a&&2!==a)||("string"===this.options.to?this.onData(s.buf2binstring(i.shrinkBuf(o.output,o.next_out))):this.onData(i.shrinkBuf(o.output,o.next_out)))}while((0<o.avail_in||0===o.avail_out)&&1!==r);return 4===a?(r=n.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,0===r):2!==a||(this.onEnd(0),!(o.avail_out=0))},u.prototype.onData=function(t){this.chunks.push(t)},u.prototype.onEnd=function(t){0===t&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Deflate=u,r.deflate=l,r.deflateRaw=function(t,e){return(e=e||{}).raw=!0,l(t,e)},r.gzip=function(t,e){return(e=e||{}).gzip=!0,l(t,e)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,e,r){"use strict";var n=t("./zlib/inflate"),i=t("./utils/common"),s=t("./utils/strings"),a=t("./zlib/constants"),o=t("./zlib/messages"),h=t("./zlib/zstream"),u=t("./zlib/gzheader"),l=Object.prototype.toString;function c(t){if(!(this instanceof c))return new c(t);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&!(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new h,this.strm.avail_out=0;var r=n.inflateInit2(this.strm,e.windowBits);if(r!==a.Z_OK)throw new Error(o[r]);this.header=new u,n.inflateGetHeader(this.strm,this.header)}function f(t,e){var r=new c(e);if(r.push(t,!0),r.err)throw r.msg||o[r.err];return r.result}c.prototype.push=function(t,e){var r,o,h,u,c,f,d=this.strm,p=this.options.chunkSize,m=this.options.dictionary,_=!1;if(this.ended)return!1;o=e===~~e?e:!0===e?a.Z_FINISH:a.Z_NO_FLUSH,"string"==typeof t?d.input=s.binstring2buf(t):"[object ArrayBuffer]"===l.call(t)?d.input=new Uint8Array(t):d.input=t,d.next_in=0,d.avail_in=d.input.length;do{if(0===d.avail_out&&(d.output=new i.Buf8(p),d.next_out=0,d.avail_out=p),(r=n.inflate(d,a.Z_NO_FLUSH))===a.Z_NEED_DICT&&m&&(f="string"==typeof m?s.string2buf(m):"[object ArrayBuffer]"===l.call(m)?new Uint8Array(m):m,r=n.inflateSetDictionary(this.strm,f)),r===a.Z_BUF_ERROR&&!0===_&&(r=a.Z_OK,_=!1),r!==a.Z_STREAM_END&&r!==a.Z_OK)return this.onEnd(r),!(this.ended=!0);d.next_out&&(0!==d.avail_out&&r!==a.Z_STREAM_END&&(0!==d.avail_in||o!==a.Z_FINISH&&o!==a.Z_SYNC_FLUSH)||("string"===this.options.to?(h=s.utf8border(d.output,d.next_out),u=d.next_out-h,c=s.buf2string(d.output,h),d.next_out=u,d.avail_out=p-u,u&&i.arraySet(d.output,d.output,h,u,0),this.onData(c)):this.onData(i.shrinkBuf(d.output,d.next_out)))),0===d.avail_in&&0===d.avail_out&&(_=!0)}while((0<d.avail_in||0===d.avail_out)&&r!==a.Z_STREAM_END);return r===a.Z_STREAM_END&&(o=a.Z_FINISH),o===a.Z_FINISH?(r=n.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===a.Z_OK):o!==a.Z_SYNC_FLUSH||(this.onEnd(a.Z_OK),!(d.avail_out=0))},c.prototype.onData=function(t){this.chunks.push(t)},c.prototype.onEnd=function(t){t===a.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Inflate=c,r.inflate=f,r.inflateRaw=function(t,e){return(e=e||{}).raw=!0,f(t,e)},r.ungzip=f},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,e,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(t[n]=r[n])}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var i={arraySet:function(t,e,r,n,i){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+n),i);else for(var s=0;s<n;s++)t[i+s]=e[r+s]},flattenChunks:function(t){var e,r,n,i,s,a;for(e=n=0,r=t.length;e<r;e++)n+=t[e].length;for(a=new Uint8Array(n),e=i=0,r=t.length;e<r;e++)s=t[e],a.set(s,i),i+=s.length;return a}},s={arraySet:function(t,e,r,n,i){for(var s=0;s<n;s++)t[i+s]=e[r+s]},flattenChunks:function(t){return[].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(t,e,r){"use strict";var n=t("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var a=new n.Buf8(256),o=0;o<256;o++)a[o]=252<=o?6:248<=o?5:240<=o?4:224<=o?3:192<=o?2:1;function h(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var r="",a=0;a<e;a++)r+=String.fromCharCode(t[a]);return r}a[254]=a[254]=1,r.string2buf=function(t){var e,r,i,s,a,o=t.length,h=0;for(s=0;s<o;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<o&&56320==(64512&(i=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(i-56320),s++),h+=r<128?1:r<2048?2:r<65536?3:4;for(e=new n.Buf8(h),s=a=0;a<h;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<o&&56320==(64512&(i=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(i-56320),s++),r<128?e[a++]=r:(r<2048?e[a++]=192|r>>>6:(r<65536?e[a++]=224|r>>>12:(e[a++]=240|r>>>18,e[a++]=128|r>>>12&63),e[a++]=128|r>>>6&63),e[a++]=128|63&r);return e},r.buf2binstring=function(t){return h(t,t.length)},r.binstring2buf=function(t){for(var e=new n.Buf8(t.length),r=0,i=e.length;r<i;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,n,i,s,o=e||t.length,u=new Array(2*o);for(r=n=0;r<o;)if((i=t[r++])<128)u[n++]=i;else if(4<(s=a[i]))u[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<o;)i=i<<6|63&t[r++],s--;1<s?u[n++]=65533:i<65536?u[n++]=i:(i-=65536,u[n++]=55296|i>>10&1023,u[n++]=56320|1023&i)}return h(u,n)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0||0===r?e:r+a[t[r]]>e?r:e}},{"./common":41}],43:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){for(var i=65535&t,s=t>>>16&65535,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+e[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16}},{}],44:[function(t,e,r){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,e,r){"use strict";var n=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,i){var s=n,a=i+r;t^=-1;for(var o=i;o<a;o++)t=t>>>8^s[255&(t^e[o])];return-1^t}},{}],46:[function(t,e,r){"use strict";var n,i=t("../utils/common"),s=t("./trees"),a=t("./adler32"),o=t("./crc32"),h=t("./messages"),u=-2,l=258,c=262,f=113;function d(t,e){return t.msg=h[e],e}function p(t){return(t<<1)-(4<t?9:0)}function m(t){for(var e=t.length;0<=--e;)t[e]=0}function _(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(i.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function g(t,e){s._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,_(t.strm)}function b(t,e){t.pending_buf[t.pending++]=e}function v(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function y(t,e){var r,n,i=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-c?t.strstart-(t.w_size-c):0,u=t.window,f=t.w_mask,d=t.prev,p=t.strstart+l,m=u[s+a-1],_=u[s+a];t.prev_length>=t.good_match&&(i>>=2),o>t.lookahead&&(o=t.lookahead);do{if(u[(r=e)+a]===_&&u[r+a-1]===m&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<p);if(n=l-(p-s),s=p-l,a<n){if(t.match_start=e,o<=(a=n))break;m=u[s+a-1],_=u[s+a]}}}while((e=d[e&f])>h&&0!=--i);return a<=t.lookahead?a:t.lookahead}function w(t){var e,r,n,s,h,u,l,f,d,p,m=t.w_size;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=m+(m-c)){for(i.arraySet(t.window,t.window,m,m,0),t.match_start-=m,t.strstart-=m,t.block_start-=m,e=r=t.hash_size;n=t.head[--e],t.head[e]=m<=n?n-m:0,--r;);for(e=r=m;n=t.prev[--e],t.prev[e]=m<=n?n-m:0,--r;);s+=m}if(0===t.strm.avail_in)break;if(u=t.strm,l=t.window,f=t.strstart+t.lookahead,p=void 0,(d=s)<(p=u.avail_in)&&(p=d),r=0===p?0:(u.avail_in-=p,i.arraySet(l,u.input,u.next_in,p,f),1===u.state.wrap?u.adler=a(u.adler,l,p,f):2===u.state.wrap&&(u.adler=o(u.adler,l,p,f)),u.next_in+=p,u.total_in+=p,p),t.lookahead+=r,t.lookahead+t.insert>=3)for(h=t.strstart-t.insert,t.ins_h=t.window[h],t.ins_h=(t.ins_h<<t.hash_shift^t.window[h+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[h+3-1])&t.hash_mask,t.prev[h&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=h,h++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<c&&0!==t.strm.avail_in)}function k(t,e){for(var r,n;;){if(t.lookahead<c){if(w(t),t.lookahead<c&&0===e)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-c&&(t.match_length=y(t,r)),t.match_length>=3)if(n=s._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else n=s._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(g(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,4===e?(g(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(g(t,!1),0===t.strm.avail_out)?1:2}function x(t,e){for(var r,n,i;;){if(t.lookahead<c){if(w(t),t.lookahead<c&&0===e)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-c&&(t.match_length=y(t,r),t.match_length<=5&&(1===t.strategy||3===t.match_length&&4096<t.strstart-t.match_start)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){for(i=t.strstart+t.lookahead-3,n=s._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=i&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(g(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if((n=s._tr_tally(t,0,t.window[t.strstart-1]))&&g(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=s._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,4===e?(g(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(g(t,!1),0===t.strm.avail_out)?1:2}function S(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}function z(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(1146),this.dyn_dtree=new i.Buf16(122),this.bl_tree=new i.Buf16(78),m(this.dyn_ltree),m(this.dyn_dtree),m(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(16),this.heap=new i.Buf16(573),m(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(573),m(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function C(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=2,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:f,t.adler=2===e.wrap?0:1,e.last_flush=0,s._tr_init(e),0):d(t,u)}function E(t){var e=C(t);return 0===e&&function(t){t.window_size=2*t.w_size,m(t.head),t.max_lazy_match=n[t.level].max_lazy,t.good_match=n[t.level].good_length,t.nice_match=n[t.level].nice_length,t.max_chain_length=n[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0}(t.state),e}function A(t,e,r,n,s,a){if(!t)return u;var o=1;if(-1===e&&(e=6),n<0?(o=0,n=-n):15<n&&(o=2,n-=16),s<1||9<s||8!==r||n<8||15<n||e<0||9<e||a<0||4<a)return d(t,u);8===n&&(n=9);var h=new z;return(t.state=h).strm=t,h.wrap=o,h.gzhead=null,h.w_bits=n,h.w_size=1<<h.w_bits,h.w_mask=h.w_size-1,h.hash_bits=s+7,h.hash_size=1<<h.hash_bits,h.hash_mask=h.hash_size-1,h.hash_shift=~~((h.hash_bits+3-1)/3),h.window=new i.Buf8(2*h.w_size),h.head=new i.Buf16(h.hash_size),h.prev=new i.Buf16(h.w_size),h.lit_bufsize=1<<s+6,h.pending_buf_size=4*h.lit_bufsize,h.pending_buf=new i.Buf8(h.pending_buf_size),h.d_buf=1*h.lit_bufsize,h.l_buf=3*h.lit_bufsize,h.level=e,h.strategy=a,h.method=r,E(t)}n=[new S(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(w(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var n=t.block_start+r;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,g(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-c&&(g(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(g(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(g(t,!1),t.strm.avail_out),1)}),new S(4,4,8,4,k),new S(4,5,16,8,k),new S(4,6,32,32,k),new S(4,4,16,16,x),new S(8,16,32,32,x),new S(8,16,128,128,x),new S(8,32,128,256,x),new S(32,128,258,1024,x),new S(32,258,258,4096,x)],r.deflateInit=function(t,e){return A(t,e,8,15,8,0)},r.deflateInit2=A,r.deflateReset=E,r.deflateResetKeep=C,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?u:(t.state.gzhead=e,0):u},r.deflate=function(t,e){var r,i,a,h;if(!t||!t.state||5<e||e<0)return t?d(t,u):u;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||666===i.status&&4!==e)return d(t,0===t.avail_out?-5:u);if(i.strm=t,r=i.last_flush,i.last_flush=e,42===i.status)if(2===i.wrap)t.adler=0,b(i,31),b(i,139),b(i,8),i.gzhead?(b(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),b(i,255&i.gzhead.time),b(i,i.gzhead.time>>8&255),b(i,i.gzhead.time>>16&255),b(i,i.gzhead.time>>24&255),b(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),b(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(b(i,255&i.gzhead.extra.length),b(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=o(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(b(i,0),b(i,0),b(i,0),b(i,0),b(i,0),b(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),b(i,3),i.status=f);else{var c=8+(i.w_bits-8<<4)<<8;c|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(c|=32),c+=31-c%31,i.status=f,v(i,c),0!==i.strstart&&(v(i,t.adler>>>16),v(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(a=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>a&&(t.adler=o(t.adler,i.pending_buf,i.pending-a,a)),_(t),a=i.pending,i.pending!==i.pending_buf_size));)b(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>a&&(t.adler=o(t.adler,i.pending_buf,i.pending-a,a)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(t.adler=o(t.adler,i.pending_buf,i.pending-a,a)),_(t),a=i.pending,i.pending===i.pending_buf_size)){h=1;break}h=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,b(i,h)}while(0!==h);i.gzhead.hcrc&&i.pending>a&&(t.adler=o(t.adler,i.pending_buf,i.pending-a,a)),0===h&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(t.adler=o(t.adler,i.pending_buf,i.pending-a,a)),_(t),a=i.pending,i.pending===i.pending_buf_size)){h=1;break}h=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,b(i,h)}while(0!==h);i.gzhead.hcrc&&i.pending>a&&(t.adler=o(t.adler,i.pending_buf,i.pending-a,a)),0===h&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&_(t),i.pending+2<=i.pending_buf_size&&(b(i,255&t.adler),b(i,t.adler>>8&255),t.adler=0,i.status=f)):i.status=f),0!==i.pending){if(_(t),0===t.avail_out)return i.last_flush=-1,0}else if(0===t.avail_in&&p(e)<=p(r)&&4!==e)return d(t,-5);if(666===i.status&&0!==t.avail_in)return d(t,-5);if(0!==t.avail_in||0!==i.lookahead||0!==e&&666!==i.status){var y=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(w(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,r=s._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(g(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(g(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(g(t,!1),0===t.strm.avail_out)?1:2}(i,e):3===i.strategy?function(t,e){for(var r,n,i,a,o=t.window;;){if(t.lookahead<=l){if(w(t),t.lookahead<=l&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&0<t.strstart&&(n=o[i=t.strstart-1])===o[++i]&&n===o[++i]&&n===o[++i]){a=t.strstart+l;do{}while(n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&i<a);t.match_length=l-(a-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=s._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=s._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(g(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(g(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(g(t,!1),0===t.strm.avail_out)?1:2}(i,e):n[i.level].func(i,e);if(3!==y&&4!==y||(i.status=666),1===y||3===y)return 0===t.avail_out&&(i.last_flush=-1),0;if(2===y&&(1===e?s._tr_align(i):5!==e&&(s._tr_stored_block(i,0,0,!1),3===e&&(m(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),_(t),0===t.avail_out))return i.last_flush=-1,0}return 4!==e?0:i.wrap<=0?1:(2===i.wrap?(b(i,255&t.adler),b(i,t.adler>>8&255),b(i,t.adler>>16&255),b(i,t.adler>>24&255),b(i,255&t.total_in),b(i,t.total_in>>8&255),b(i,t.total_in>>16&255),b(i,t.total_in>>24&255)):(v(i,t.adler>>>16),v(i,65535&t.adler)),_(t),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?0:1)},r.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&103!==e&&e!==f&&666!==e?d(t,u):(t.state=null,e===f?d(t,-3):0):u},r.deflateSetDictionary=function(t,e){var r,n,s,o,h,l,c,f,d=e.length;if(!t||!t.state)return u;if(2===(o=(r=t.state).wrap)||1===o&&42!==r.status||r.lookahead)return u;for(1===o&&(t.adler=a(t.adler,e,d,0)),r.wrap=0,d>=r.w_size&&(0===o&&(m(r.head),r.strstart=0,r.block_start=0,r.insert=0),f=new i.Buf8(r.w_size),i.arraySet(f,e,d-r.w_size,r.w_size,0),e=f,d=r.w_size),h=t.avail_in,l=t.next_in,c=t.input,t.avail_in=d,t.next_in=0,t.input=e,w(r);r.lookahead>=3;){for(n=r.strstart,s=r.lookahead-2;r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+3-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--s;);r.strstart=n,r.lookahead=2,w(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,t.next_in=l,t.input=c,t.avail_in=h,r.wrap=o,0},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,e,r){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i,s,a,o,h,u,l,c,f,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=t.state,n=t.next_in,z=t.input,i=n+(t.avail_in-5),s=t.next_out,C=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,c=r.wnext,f=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;t:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];e:for(;;){if(d>>>=y=v>>>24,p-=y,0==(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(!(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue e}if(32&y){r.mode=12;break t}t.msg="invalid literal/length code",r.mode=30;break t}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(!(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}t.msg="invalid distance code",r.mode=30;break t}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){t.msg="invalid distance too far back",r.mode=30;break t}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){t.msg="invalid distance too far back",r.mode=30;break t}if(S=f,(x=0)===c){if(x+=u-y,y<w){for(w-=y;C[s++]=f[x++],--y;);x=s-k,S=C}}else if(c<y){if(x+=u+c-y,(y-=c)<w){for(w-=y;C[s++]=f[x++],--y;);if(x=0,c<w){for(w-=y=c;C[s++]=f[x++],--y;);x=s-k,S=C}}}else if(x+=c-y,y<w){for(w-=y;C[s++]=f[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,t.next_in=n,t.next_out=s,t.avail_in=n<i?i-n+5:5-(n-i),t.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(t,e,r){"use strict";var n=t("../utils/common"),i=t("./adler32"),s=t("./crc32"),a=t("./inffast"),o=t("./inftrees"),h=-2;function u(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function l(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function c(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new n.Buf32(852),e.distcode=e.distdyn=new n.Buf32(592),e.sane=1,e.back=-1,0):h}function f(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,c(t)):h}function d(t,e){var r,n;return t&&t.state?(n=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?h:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,f(t))):h}function p(t,e){var r,n;return t?(n=new l,(t.state=n).window=null,0!==(r=d(t,e))&&(t.state=null),r):h}var m,_,g=!0;function b(t){if(g){var e;for(m=new n.Buf32(512),_=new n.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(o(1,t.lens,0,288,m,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;o(2,t.lens,0,32,_,0,t.work,{bits:5}),g=!1}t.lencode=m,t.lenbits=9,t.distcode=_,t.distbits=5}function v(t,e,r,i){var s,a=t.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new n.Buf8(a.wsize)),i>=a.wsize?(n.arraySet(a.window,e,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(i<(s=a.wsize-a.wnext)&&(s=i),n.arraySet(a.window,e,r-i,s,a.wnext),(i-=s)?(n.arraySet(a.window,e,r-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=s,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=s))),0}r.inflateReset=f,r.inflateReset2=d,r.inflateResetKeep=c,r.inflateInit=function(t){return p(t,15)},r.inflateInit2=p,r.inflate=function(t,e){var r,l,c,f,d,p,m,_,g,y,w,k,x,S,z,C,E,A,I,O,B,R,T,D,F=0,N=new n.Buf8(4),U=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return h;12===(r=t.state).mode&&(r.mode=13),d=t.next_out,c=t.output,m=t.avail_out,f=t.next_in,l=t.input,p=t.avail_in,_=r.hold,g=r.bits,y=p,w=m,R=0;t:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;g<16;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if(2&r.wrap&&35615===_){N[r.check=0]=255&_,N[1]=_>>>8&255,r.check=s(r.check,N,2,0),g=_=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",r.mode=30;break}if(8!=(15&_)){t.msg="unknown compression method",r.mode=30;break}if(g-=4,B=8+(15&(_>>>=4)),0===r.wbits)r.wbits=B;else if(B>r.wbits){t.msg="invalid window size",r.mode=30;break}r.dmax=1<<B,t.adler=r.check=1,r.mode=512&_?10:12,g=_=0;break;case 2:for(;g<16;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if(r.flags=_,8!=(255&r.flags)){t.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=_>>8&1),512&r.flags&&(N[0]=255&_,N[1]=_>>>8&255,r.check=s(r.check,N,2,0)),g=_=0,r.mode=3;case 3:for(;g<32;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}r.head&&(r.head.time=_),512&r.flags&&(N[0]=255&_,N[1]=_>>>8&255,N[2]=_>>>16&255,N[3]=_>>>24&255,r.check=s(r.check,N,4,0)),g=_=0,r.mode=4;case 4:for(;g<16;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}r.head&&(r.head.xflags=255&_,r.head.os=_>>8),512&r.flags&&(N[0]=255&_,N[1]=_>>>8&255,r.check=s(r.check,N,2,0)),g=_=0,r.mode=5;case 5:if(1024&r.flags){for(;g<16;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}r.length=_,r.head&&(r.head.extra_len=_),512&r.flags&&(N[0]=255&_,N[1]=_>>>8&255,r.check=s(r.check,N,2,0)),g=_=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(p<(k=r.length)&&(k=p),k&&(r.head&&(B=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),n.arraySet(r.head.extra,l,f,k,B)),512&r.flags&&(r.check=s(r.check,l,k,f)),p-=k,f+=k,r.length-=k),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===p)break t;for(k=0;B=l[f+k++],r.head&&B&&r.length<65536&&(r.head.name+=String.fromCharCode(B)),B&&k<p;);if(512&r.flags&&(r.check=s(r.check,l,k,f)),p-=k,f+=k,B)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===p)break t;for(k=0;B=l[f+k++],r.head&&B&&r.length<65536&&(r.head.comment+=String.fromCharCode(B)),B&&k<p;);if(512&r.flags&&(r.check=s(r.check,l,k,f)),p-=k,f+=k,B)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;g<16;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if(_!==(65535&r.check)){t.msg="header crc mismatch",r.mode=30;break}g=_=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;g<32;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}t.adler=r.check=u(_),g=_=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=d,t.avail_out=m,t.next_in=f,t.avail_in=p,r.hold=_,r.bits=g,2;t.adler=r.check=1,r.mode=12;case 12:if(5===e||6===e)break t;case 13:if(r.last){_>>>=7&g,g-=7&g,r.mode=27;break}for(;g<3;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}switch(r.last=1&_,g-=1,3&(_>>>=1)){case 0:r.mode=14;break;case 1:if(b(r),r.mode=20,6!==e)break;_>>>=2,g-=2;break t;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=30}_>>>=2,g-=2;break;case 14:for(_>>>=7&g,g-=7&g;g<32;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if((65535&_)!=(_>>>16^65535)){t.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&_,g=_=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(k=r.length){if(p<k&&(k=p),m<k&&(k=m),0===k)break t;n.arraySet(c,l,f,k,d),p-=k,f+=k,m-=k,d+=k,r.length-=k;break}r.mode=12;break;case 17:for(;g<14;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if(r.nlen=257+(31&_),_>>>=5,g-=5,r.ndist=1+(31&_),_>>>=5,g-=5,r.ncode=4+(15&_),_>>>=4,g-=4,286<r.nlen||30<r.ndist){t.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;g<3;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}r.lens[U[r.have++]]=7&_,_>>>=3,g-=3}for(;r.have<19;)r.lens[U[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,T={bits:r.lenbits},R=o(0,r.lens,0,19,r.lencode,0,r.work,T),r.lenbits=T.bits,R){t.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;C=(F=r.lencode[_&(1<<r.lenbits)-1])>>>16&255,E=65535&F,!((z=F>>>24)<=g);){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if(E<16)_>>>=z,g-=z,r.lens[r.have++]=E;else{if(16===E){for(D=z+2;g<D;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if(_>>>=z,g-=z,0===r.have){t.msg="invalid bit length repeat",r.mode=30;break}B=r.lens[r.have-1],k=3+(3&_),_>>>=2,g-=2}else if(17===E){for(D=z+3;g<D;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}g-=z,B=0,k=3+(7&(_>>>=z)),_>>>=3,g-=3}else{for(D=z+7;g<D;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}g-=z,B=0,k=11+(127&(_>>>=z)),_>>>=7,g-=7}if(r.have+k>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=30;break}for(;k--;)r.lens[r.have++]=B}}if(30===r.mode)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,T={bits:r.lenbits},R=o(1,r.lens,0,r.nlen,r.lencode,0,r.work,T),r.lenbits=T.bits,R){t.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,T={bits:r.distbits},R=o(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,T),r.distbits=T.bits,R){t.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=p&&258<=m){t.next_out=d,t.avail_out=m,t.next_in=f,t.avail_in=p,r.hold=_,r.bits=g,a(t,w),d=t.next_out,c=t.output,m=t.avail_out,f=t.next_in,l=t.input,p=t.avail_in,_=r.hold,g=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;C=(F=r.lencode[_&(1<<r.lenbits)-1])>>>16&255,E=65535&F,!((z=F>>>24)<=g);){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if(C&&!(240&C)){for(A=z,I=C,O=E;C=(F=r.lencode[O+((_&(1<<A+I)-1)>>A)])>>>16&255,E=65535&F,!(A+(z=F>>>24)<=g);){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}_>>>=A,g-=A,r.back+=A}if(_>>>=z,g-=z,r.back+=z,r.length=E,0===C){r.mode=26;break}if(32&C){r.back=-1,r.mode=12;break}if(64&C){t.msg="invalid literal/length code",r.mode=30;break}r.extra=15&C,r.mode=22;case 22:if(r.extra){for(D=r.extra;g<D;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}r.length+=_&(1<<r.extra)-1,_>>>=r.extra,g-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;C=(F=r.distcode[_&(1<<r.distbits)-1])>>>16&255,E=65535&F,!((z=F>>>24)<=g);){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if(!(240&C)){for(A=z,I=C,O=E;C=(F=r.distcode[O+((_&(1<<A+I)-1)>>A)])>>>16&255,E=65535&F,!(A+(z=F>>>24)<=g);){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}_>>>=A,g-=A,r.back+=A}if(_>>>=z,g-=z,r.back+=z,64&C){t.msg="invalid distance code",r.mode=30;break}r.offset=E,r.extra=15&C,r.mode=24;case 24:if(r.extra){for(D=r.extra;g<D;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}r.offset+=_&(1<<r.extra)-1,_>>>=r.extra,g-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===m)break t;if(k=w-m,r.offset>k){if((k=r.offset-k)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=30;break}x=k>r.wnext?(k-=r.wnext,r.wsize-k):r.wnext-k,k>r.length&&(k=r.length),S=r.window}else S=c,x=d-r.offset,k=r.length;for(m<k&&(k=m),m-=k,r.length-=k;c[d++]=S[x++],--k;);0===r.length&&(r.mode=21);break;case 26:if(0===m)break t;c[d++]=r.length,m--,r.mode=21;break;case 27:if(r.wrap){for(;g<32;){if(0===p)break t;p--,_|=l[f++]<<g,g+=8}if(w-=m,t.total_out+=w,r.total+=w,w&&(t.adler=r.check=r.flags?s(r.check,c,w,d-w):i(r.check,c,w,d-w)),w=m,(r.flags?_:u(_))!==r.check){t.msg="incorrect data check",r.mode=30;break}g=_=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;g<32;){if(0===p)break t;p--,_+=l[f++]<<g,g+=8}if(_!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=30;break}g=_=0}r.mode=29;case 29:R=1;break t;case 30:R=-3;break t;case 31:return-4;default:return h}return t.next_out=d,t.avail_out=m,t.next_in=f,t.avail_in=p,r.hold=_,r.bits=g,(r.wsize||w!==t.avail_out&&r.mode<30&&(r.mode<27||4!==e))&&v(t,t.output,t.next_out,w-t.avail_out)?(r.mode=31,-4):(y-=t.avail_in,w-=t.avail_out,t.total_in+=y,t.total_out+=w,r.total+=w,r.wrap&&w&&(t.adler=r.check=r.flags?s(r.check,c,w,t.next_out-w):i(r.check,c,w,t.next_out-w)),t.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==y&&0===w||4===e)&&0===R&&(R=-5),R)},r.inflateEnd=function(t){if(!t||!t.state)return h;var e=t.state;return e.window&&(e.window=null),t.state=null,0},r.inflateGetHeader=function(t,e){var r;return t&&t.state&&2&(r=t.state).wrap?((r.head=e).done=!1,0):h},r.inflateSetDictionary=function(t,e){var r,n=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?h:11===r.mode&&i(1,e,n,0)!==r.check?-3:v(t,e,n,n)?(r.mode=31,-4):(r.havedict=1,0):h},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,e,r){"use strict";var n=t("../utils/common"),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],s=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],a=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],o=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,h,u,l,c,f){var d,p,m,_,g,b,v,y,w,k=f.bits,x=0,S=0,z=0,C=0,E=0,A=0,I=0,O=0,B=0,R=0,T=null,D=0,F=new n.Buf16(16),N=new n.Buf16(16),U=null,P=0;for(x=0;x<=15;x++)F[x]=0;for(S=0;S<h;S++)F[e[r+S]]++;for(E=k,C=15;1<=C&&0===F[C];C--);if(C<E&&(E=C),0===C)return u[l++]=20971520,u[l++]=20971520,f.bits=1,0;for(z=1;z<C&&0===F[z];z++);for(E<z&&(E=z),x=O=1;x<=15;x++)if(O<<=1,(O-=F[x])<0)return-1;if(0<O&&(0===t||1!==C))return-1;for(N[1]=0,x=1;x<15;x++)N[x+1]=N[x]+F[x];for(S=0;S<h;S++)0!==e[r+S]&&(c[N[e[r+S]]++]=S);if(b=0===t?(T=U=c,19):1===t?(T=i,D-=257,U=s,P-=257,256):(T=a,U=o,-1),x=z,g=l,I=S=R=0,m=-1,_=(B=1<<(A=E))-1,1===t&&852<B||2===t&&592<B)return 1;for(;;){for(v=x-I,w=c[S]<b?(y=0,c[S]):c[S]>b?(y=U[P+c[S]],T[D+c[S]]):(y=96,0),d=1<<x-I,z=p=1<<A;u[g+(R>>I)+(p-=d)]=v<<24|y<<16|w,0!==p;);for(d=1<<x-1;R&d;)d>>=1;if(0!==d?(R&=d-1,R+=d):R=0,S++,0==--F[x]){if(x===C)break;x=e[r+c[S]]}if(E<x&&(R&_)!==m){for(0===I&&(I=E),g+=z,O=1<<(A=x-I);A+I<C&&!((O-=F[A+I])<=0);)A++,O<<=1;if(B+=1<<A,1===t&&852<B||2===t&&592<B)return 1;u[m=R&_]=E<<24|A<<16|g-l}}return 0!==R&&(u[g+R]=x-I<<24|64<<16),f.bits=E,0}},{"../utils/common":41}],51:[function(t,e,r){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,e,r){"use strict";var n=t("../utils/common");function i(t){for(var e=t.length;0<=--e;)t[e]=0}var s=256,a=286,o=30,h=15,u=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],l=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],d=new Array(576);i(d);var p=new Array(60);i(p);var m=new Array(512);i(m);var _=new Array(256);i(_);var g=new Array(29);i(g);var b,v,y,w=new Array(o);function k(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}function x(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function S(t){return t<256?m[t]:m[256+(t>>>7)]}function z(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function C(t,e,r){t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,z(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function E(t,e,r){C(t,r[2*e],r[2*e+1])}function A(t,e){for(var r=0;r|=1&t,t>>>=1,r<<=1,0<--e;);return r>>>1}function I(t,e,r){var n,i,s=new Array(16),a=0;for(n=1;n<=h;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=e;i++){var o=t[2*i+1];0!==o&&(t[2*i]=A(s[o]++,o))}}function O(t){var e;for(e=0;e<a;e++)t.dyn_ltree[2*e]=0;for(e=0;e<o;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function B(t){8<t.bi_valid?z(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function R(t,e,r,n){var i=2*e,s=2*r;return t[i]<t[s]||t[i]===t[s]&&n[e]<=n[r]}function T(t,e,r){for(var n=t.heap[r],i=r<<1;i<=t.heap_len&&(i<t.heap_len&&R(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!R(e,n,t.heap[i],t.depth));)t.heap[r]=t.heap[i],r=i,i<<=1;t.heap[r]=n}function D(t,e,r){var n,i,a,o,h=0;if(0!==t.last_lit)for(;n=t.pending_buf[t.d_buf+2*h]<<8|t.pending_buf[t.d_buf+2*h+1],i=t.pending_buf[t.l_buf+h],h++,0===n?E(t,i,e):(E(t,(a=_[i])+s+1,e),0!==(o=u[a])&&C(t,i-=g[a],o),E(t,a=S(--n),r),0!==(o=l[a])&&C(t,n-=w[a],o)),h<t.last_lit;);E(t,256,e)}function F(t,e){var r,n,i,s=e.dyn_tree,a=e.stat_desc.static_tree,o=e.stat_desc.has_stree,u=e.stat_desc.elems,l=-1;for(t.heap_len=0,t.heap_max=573,r=0;r<u;r++)0!==s[2*r]?(t.heap[++t.heap_len]=l=r,t.depth[r]=0):s[2*r+1]=0;for(;t.heap_len<2;)s[2*(i=t.heap[++t.heap_len]=l<2?++l:0)]=1,t.depth[i]=0,t.opt_len--,o&&(t.static_len-=a[2*i+1]);for(e.max_code=l,r=t.heap_len>>1;1<=r;r--)T(t,s,r);for(i=u;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],T(t,s,1),n=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=n,s[2*i]=s[2*r]+s[2*n],t.depth[i]=(t.depth[r]>=t.depth[n]?t.depth[r]:t.depth[n])+1,s[2*r+1]=s[2*n+1]=i,t.heap[1]=i++,T(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,n,i,s,a,o,u=e.dyn_tree,l=e.max_code,c=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,p=e.stat_desc.extra_base,m=e.stat_desc.max_length,_=0;for(s=0;s<=h;s++)t.bl_count[s]=0;for(u[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<573;r++)m<(s=u[2*u[2*(n=t.heap[r])+1]+1]+1)&&(s=m,_++),u[2*n+1]=s,l<n||(t.bl_count[s]++,a=0,p<=n&&(a=d[n-p]),o=u[2*n],t.opt_len+=o*(s+a),f&&(t.static_len+=o*(c[2*n+1]+a)));if(0!==_){do{for(s=m-1;0===t.bl_count[s];)s--;t.bl_count[s]--,t.bl_count[s+1]+=2,t.bl_count[m]--,_-=2}while(0<_);for(s=m;0!==s;s--)for(n=t.bl_count[s];0!==n;)l<(i=t.heap[--r])||(u[2*i+1]!==s&&(t.opt_len+=(s-u[2*i+1])*u[2*i],u[2*i+1]=s),n--)}}(t,e),I(s,l,t.bl_count)}function N(t,e,r){var n,i,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),e[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=e[2*(n+1)+1],++o<h&&i===a||(o<u?t.bl_tree[2*i]+=o:0!==i?(i!==s&&t.bl_tree[2*i]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function U(t,e,r){var n,i,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=e[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;E(t,i,t.bl_tree),0!=--o;);else 0!==i?(i!==s&&(E(t,i,t.bl_tree),o--),E(t,16,t.bl_tree),C(t,o-3,2)):o<=10?(E(t,17,t.bl_tree),C(t,o-3,3)):(E(t,18,t.bl_tree),C(t,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}i(w);var P=!1;function L(t,e,r,i){C(t,0+(i?1:0),3),function(t,e,r){B(t),z(t,r),z(t,~r),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r)}r._tr_init=function(t){P||(function(){var t,e,r,n,i,s=new Array(16);for(n=r=0;n<28;n++)for(g[n]=r,t=0;t<1<<u[n];t++)_[r++]=n;for(_[r-1]=n,n=i=0;n<16;n++)for(w[n]=i,t=0;t<1<<l[n];t++)m[i++]=n;for(i>>=7;n<o;n++)for(w[n]=i<<7,t=0;t<1<<l[n]-7;t++)m[256+i++]=n;for(e=0;e<=h;e++)s[e]=0;for(t=0;t<=143;)d[2*t+1]=8,t++,s[8]++;for(;t<=255;)d[2*t+1]=9,t++,s[9]++;for(;t<=279;)d[2*t+1]=7,t++,s[7]++;for(;t<=287;)d[2*t+1]=8,t++,s[8]++;for(I(d,287,s),t=0;t<o;t++)p[2*t+1]=5,p[2*t]=A(t,5);b=new k(d,u,257,a,h),v=new k(p,l,0,o,h),y=new k(new Array(0),c,0,19,7)}(),P=!0),t.l_desc=new x(t.dyn_ltree,b),t.d_desc=new x(t.dyn_dtree,v),t.bl_desc=new x(t.bl_tree,y),t.bi_buf=0,t.bi_valid=0,O(t)},r._tr_stored_block=L,r._tr_flush_block=function(t,e,r,n){var i,a,o=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<s;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),F(t,t.l_desc),F(t,t.d_desc),o=function(t){var e;for(N(t,t.dyn_ltree,t.l_desc.max_code),N(t,t.dyn_dtree,t.d_desc.max_code),F(t,t.bl_desc),e=18;3<=e&&0===t.bl_tree[2*f[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),i=t.opt_len+3+7>>>3,(a=t.static_len+3+7>>>3)<=i&&(i=a)):i=a=r+5,r+4<=i&&-1!==e?L(t,e,r,n):4===t.strategy||a===i?(C(t,2+(n?1:0),3),D(t,d,p)):(C(t,4+(n?1:0),3),function(t,e,r,n){var i;for(C(t,e-257,5),C(t,r-1,5),C(t,n-4,4),i=0;i<n;i++)C(t,t.bl_tree[2*f[i]+1],3);U(t,t.dyn_ltree,e-1),U(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),D(t,t.dyn_ltree,t.dyn_dtree)),O(t),n&&B(t)},r._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(_[r]+s+1)]++,t.dyn_dtree[2*S(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){C(t,2,3),E(t,256,d),function(t){16===t.bi_valid?(z(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":41}],53:[function(t,e,r){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,e,n){(function(t){!function(t){"use strict";if(!t.setImmediate){var e,r,n,s,a=1,o={},h=!1,u=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,e="[object process]"==={}.toString.call(t.process)?function(t){i.nextTick(function(){f(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?(s="setImmediate$"+Math.random()+"$",t.addEventListener?t.addEventListener("message",d,!1):t.attachEvent("onmessage",d),function(e){t.postMessage(s+e,"*")}):t.MessageChannel?((n=new MessageChannel).port1.onmessage=function(t){f(t.data)},function(t){n.port2.postMessage(t)}):u&&"onreadystatechange"in u.createElement("script")?(r=u.documentElement,function(t){var e=u.createElement("script");e.onreadystatechange=function(){f(t),e.onreadystatechange=null,r.removeChild(e),e=null},r.appendChild(e)}):function(t){setTimeout(f,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var r=new Array(arguments.length-1),n=0;n<r.length;n++)r[n]=arguments[n+1];var i={callback:t,args:r};return o[a]=i,e(a),a++},l.clearImmediate=c}function c(t){delete o[t]}function f(t){if(h)setTimeout(f,0,t);else{var e=o[t];if(e){h=!0;try{!function(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(undefined,r)}}(e)}finally{c(t),h=!1}}}}function d(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(s)&&f(+e.data.slice(s.length))}}("undefined"==typeof self?void 0===t?this:t:self)}).call(this,void 0!==r.g?r.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_fgv_ts_res_browser=self.webpackChunk_fgv_ts_res_browser||[]).push([[25],{33025:(e,t,r)=>{r.d(t,{FileTreeConverter:()=>i});var s=r(66486);class i{static convertDirectory(e,t){try{const r=e.getItem(t);if(r.isFailure())return(0,s.fail)(`Directory not found: ${t}`);const i=r.value;if("directory"!==i.type)return(0,s.fail)(`Path is not a directory: ${t}`);const n=i.getChildren();if(n.isFailure())return(0,s.fail)(`Failed to get directory children: ${n.message}`);const c=[],o=[];for(const t of n.value)if("file"===t.type){const e=this.convertFile(t);e.isSuccess()&&c.push(e.value)}else if("directory"===t.type){const r=this.convertDirectory(e,t.absolutePath);r.isSuccess()&&o.push(r.value)}const a={name:i.name,path:i.absolutePath,files:c,subdirectories:o};return(0,s.succeed)(a)}catch(e){return(0,s.fail)(`Failed to convert directory: ${e instanceof Error?e.message:String(e)}`)}}static convertFile(e){try{const t=e.getRawContents();if(t.isFailure())return(0,s.fail)(`Failed to read file contents: ${t.message}`);const r={name:e.name,path:e.absolutePath,content:t.value};return(0,s.succeed)(r)}catch(e){return(0,s.fail)(`Failed to convert file: ${e instanceof Error?e.message:String(e)}`)}}static convertFiles(e){try{const t=[];for(const r of e){const e=this.convertFile(r);if(!e.isSuccess())return(0,s.fail)(`Failed to convert file ${r.name}: ${e.message}`);t.push(e.value)}return(0,s.succeed)(t)}catch(e){return(0,s.fail)(`Failed to convert files: ${e instanceof Error?e.message:String(e)}`)}}static convertPath(e,t){try{const r=e.getItem(t);if(r.isFailure())return(0,s.fail)(`Path not found: ${t}`);const i=r.value;if("directory"===i.type)return this.convertDirectory(e,t);if("file"===i.type){const e=this.convertFile(i);return e.isSuccess()?(0,s.succeed)([e.value]):e}return(0,s.fail)(`Unknown item type: ${t}`)}catch(e){return(0,s.fail)(`Failed to convert path: ${e instanceof Error?e.message:String(e)}`)}}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_fgv_ts_res_browser=self.webpackChunk_fgv_ts_res_browser||[]).push([[948],{6948:(t,e,s)=>{s.d(e,{BrowserZipFileTreeAccessors:()=>c});var r=s(78013),i=s.n(r),n=s(66486);class a{type="file";constructor(t,e,s){this._contents=e,this._accessors=s,this.absolutePath="/"+t,this.name=s.getBaseName(t),this.extension=s.getExtension(t),this.baseName=s.getBaseName(t,this.extension)}getContents(t){return this.getRawContents().withErrorFormat(t=>`${this.absolutePath}: read raw contents failed: ${t}`).onSuccess(t=>(0,n.captureResult)(()=>JSON.parse(t)).withErrorFormat(t=>`${this.absolutePath}: JSON parse error: ${t}`)).onSuccess(e=>t?"convert"in t?t.convert(e):t.validate(e):(0,n.succeed)(e))}getRawContents(){return(0,n.succeed)(this._contents)}}class o{type="directory";constructor(t,e){this._accessors=e,this.absolutePath="/"+t.replace(/\/$/,""),this.name=e.getBaseName(t)}getChildren(){return this._accessors.getChildren(this.absolutePath)}}class c{_itemCache=new Map;_fileContents=new Map;constructor(t,e,s){this._zip=t,this._fileContents=e,this._prefix=s||"",this._buildItemCache()}static async fromBuffer(t,e){try{const s=new(i());await s.loadAsync(t);const r=new Map,a=[];return s.forEach((t,e)=>{if(!e.dir){const s=e.async("string").then(e=>{r.set(t,e)});a.push(s)}}),await Promise.all(a),(0,n.succeed)(new c(s,r,e))}catch(t){return(0,n.fail)(`Failed to load ZIP archive: ${t instanceof Error?t.message:String(t)}`)}}static async fromFile(t,e){try{const s=await t.arrayBuffer();return await c.fromBuffer(s,e)}catch(t){return(0,n.fail)(`Failed to read file: ${t instanceof Error?t.message:String(t)}`)}}_buildItemCache(){const t=new Set;this._zip.forEach((e,s)=>{if(!s.dir){const s=e.split("/");for(let e=1;e<s.length;e++){const r=s.slice(0,e).join("/");t.add(r)}}}),t.forEach(t=>{const e=this.resolveAbsolutePath(t),s=new o(t,this);this._itemCache.set(e,s)}),this._zip.forEach((t,e)=>{if(!e.dir){const e=this.resolveAbsolutePath(t),s=this._fileContents.get(t)||"",r=new a(t,s,this);this._itemCache.set(e,r)}})}resolveAbsolutePath(...t){const e=this.joinPaths(...t),s=this._prefix?this.joinPaths(this._prefix,e):e;return s.startsWith("/")?s:"/"+s}getExtension(t){const e=this.getBaseName(t),s=e.lastIndexOf(".");return s>=0?e.substring(s):""}getBaseName(t,e){const s=t.replace(/\/$/,"").split("/");let r=s[s.length-1]||"";return e&&r.endsWith(e)&&(r=r.substring(0,r.length-e.length)),r}joinPaths(...t){return t.filter(t=>t&&t.length>0).map(t=>t.replace(/^\/+|\/+$/g,"")).join("/").replace(/\/+/g,"/")}getItem(t){const e=this.resolveAbsolutePath(t),s=this._itemCache.get(e);return s?(0,n.succeed)(s):(0,n.fail)(`Item not found: ${e}`)}getFileContents(t){return this.getItem(t).onSuccess(e=>"file"!==e.type?(0,n.fail)(`Path is not a file: ${t}`):e.getRawContents())}getChildren(t){const e=this.resolveAbsolutePath(t),s=[];for(const[t,r]of this._itemCache)this._isDirectChild(e,t)&&s.push(r);return(0,n.succeed)(s)}_isDirectChild(t,e){const s=t.replace(/\/$/,""),r=e.replace(/\/$/,"");return!!r.startsWith(s+"/")&&!r.substring(s.length+1).includes("/")}}}}]);