@op-engineering/op-sqlite 6.0.1 → 6.0.2-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cpp/bridge.cpp CHANGED
@@ -397,13 +397,11 @@ opsqlite_execute(std::string const &dbName, std::string const &query,
397
397
 
398
398
  if (statementStatus != SQLITE_OK) {
399
399
  const char *message = sqlite3_errmsg(db);
400
- return {
401
- .type = SQLiteError,
402
- .message = "[op-sqlite] SQL statement error on opsqlite_execute:\n" +
403
- std::to_string(statementStatus) + " description:\n" +
404
- std::string(message) +
405
- ". See error codes: https://www.sqlite.org/rescode.html",
406
- };
400
+ return {.type = SQLiteError,
401
+ .message =
402
+ "[op-sqlite] SQL statement error on opsqlite_execute:\n" +
403
+ std::to_string(statementStatus) + " description:\n" +
404
+ std::string(message)};
407
405
  }
408
406
 
409
407
  // The statement did not fail to parse but there is nothing to do, just
@@ -529,9 +527,7 @@ opsqlite_execute(std::string const &dbName, std::string const &query,
529
527
  return {.type = SQLiteError,
530
528
  .message =
531
529
  "[op-sqlite] SQLite error code: " + std::to_string(result) +
532
- ", description: " + std::string(errorMessage) +
533
- ".\nSee SQLite error codes reference: "
534
- "https://www.sqlite.org/rescode.html"};
530
+ ", description: " + std::string(errorMessage)};
535
531
  }
536
532
 
537
533
  int changedRowCount = sqlite3_changes(db);
@@ -575,8 +571,7 @@ opsqlite_execute_raw(std::string const &dbName, std::string const &query,
575
571
  .type = SQLiteError,
576
572
  .message = "[op-sqlite] SQL statement error:" +
577
573
  std::to_string(statementStatus) +
578
- " description:" + std::string(message) +
579
- ". See error codes: https://www.sqlite.org/rescode.html",
574
+ " description:" + std::string(message),
580
575
  };
581
576
  }
582
577
 
@@ -686,9 +681,7 @@ opsqlite_execute_raw(std::string const &dbName, std::string const &query,
686
681
  return {.type = SQLiteError,
687
682
  .message =
688
683
  "[op-sqlite] SQLite error code: " + std::to_string(step) +
689
- ", description: " + std::string(errorMessage) +
690
- ".\nSee SQLite error codes reference: "
691
- "https://www.sqlite.org/rescode.html"};
684
+ ", description: " + std::string(errorMessage)};
692
685
  }
693
686
 
694
687
  int changedRowCount = sqlite3_changes(db);
@@ -843,7 +836,8 @@ BridgeResult opsqlite_deregister_rollback_hook(std::string const &dbName) {
843
836
  return {SQLiteOk};
844
837
  }
845
838
 
846
- BridgeResult opsqlite_load_extension(std::string &db_name, std::string &path,
839
+ BridgeResult opsqlite_load_extension(std::string const &db_name,
840
+ std::string &path,
847
841
  std::string &entry_point) {
848
842
  #ifdef OP_SQLITE_USE_PHONE_VERSION
849
843
  throw std::runtime_error(
package/cpp/bridge.h CHANGED
@@ -78,7 +78,8 @@ BridgeResult opsqlite_execute_prepared_statement(
78
78
  std::vector<DumbHostObject> *results,
79
79
  std::shared_ptr<std::vector<SmartHostObject>> metadatas);
80
80
 
81
- BridgeResult opsqlite_load_extension(std::string &db_name, std::string &path,
81
+ BridgeResult opsqlite_load_extension(std::string const &db_name,
82
+ std::string &path,
82
83
  std::string &entry_point);
83
84
 
84
85
  } // namespace opsqlite
@@ -34,12 +34,12 @@ void toBatchArguments(jsi::Runtime &rt, jsi::Array const &batchParams,
34
34
  for (int x = 0; x < batchUpdateParams.length(rt); x++) {
35
35
  const jsi::Value &p = batchUpdateParams.getValueAtIndex(rt, x);
36
36
  auto params =
37
- std::make_shared<std::vector<JSVariant>>(toVariantVec(rt, p));
37
+ std::make_shared<std::vector<JSVariant>>(to_variant_vec(rt, p));
38
38
  commands->push_back({query, params});
39
39
  }
40
40
  } else {
41
41
  auto params = std::make_shared<std::vector<JSVariant>>(
42
- toVariantVec(rt, commandParams));
42
+ to_variant_vec(rt, commandParams));
43
43
  commands->push_back({query, params});
44
44
  }
45
45
  }
package/cpp/utils.cpp CHANGED
@@ -79,15 +79,35 @@ JSVariant toVariant(jsi::Runtime &rt, const jsi::Value &value) {
79
79
  }
80
80
  }
81
81
 
82
- std::vector<JSVariant> toVariantVec(jsi::Runtime &rt,
83
- jsi::Value const &params) {
82
+ std::vector<std::string> to_string_vec(jsi::Runtime &rt, jsi::Value const &xs) {
83
+
84
+ jsi::Array values = xs.asObject(rt).asArray(rt);
85
+ std::vector<std::string> res;
86
+ for (int ii = 0; ii < values.length(rt); ii++) {
87
+ std::string value = values.getValueAtIndex(rt, ii).asString(rt).utf8(rt);
88
+ res.push_back(value);
89
+ }
90
+ return res;
91
+ }
92
+
93
+ std::vector<int> to_int_vec(jsi::Runtime &rt, jsi::Value const &xs) {
94
+ jsi::Array values = xs.asObject(rt).asArray(rt);
95
+ std::vector<int> res;
96
+ for (int ii = 0; ii < values.length(rt); ii++) {
97
+ int value = static_cast<int>(values.getValueAtIndex(rt, ii).asNumber());
98
+ res.push_back(value);
99
+ }
100
+ return res;
101
+ }
102
+
103
+ std::vector<JSVariant> to_variant_vec(jsi::Runtime &rt, jsi::Value const &xs) {
84
104
  std::vector<JSVariant> res;
85
105
 
86
- if (params.isNull() || params.isUndefined()) {
106
+ if (xs.isNull() || xs.isUndefined()) {
87
107
  return res;
88
108
  }
89
109
 
90
- jsi::Array values = params.asObject(rt).asArray(rt);
110
+ jsi::Array values = xs.asObject(rt).asArray(rt);
91
111
 
92
112
  for (int ii = 0; ii < values.length(rt); ii++) {
93
113
  jsi::Value value = values.getValueAtIndex(rt, ii);
package/cpp/utils.h CHANGED
@@ -18,8 +18,9 @@ namespace jsi = facebook::jsi;
18
18
  jsi::Value toJSI(jsi::Runtime &rt, JSVariant value);
19
19
 
20
20
  JSVariant toVariant(jsi::Runtime &rt, jsi::Value const &value);
21
-
22
- std::vector<JSVariant> toVariantVec(jsi::Runtime &rt, jsi::Value const &args);
21
+ std::vector<std::string> to_string_vec(jsi::Runtime &rt, jsi::Value const &xs);
22
+ std::vector<JSVariant> to_variant_vec(jsi::Runtime &rt, jsi::Value const &xs);
23
+ std::vector<int> to_int_vec(jsi::Runtime &rt, jsi::Value const &xs);
23
24
 
24
25
  jsi::Value createResult(jsi::Runtime &rt, BridgeResult status,
25
26
  std::vector<DumbHostObject> *results,
@@ -91,175 +91,162 @@ function enhanceQueryResult(result) {
91
91
  result.rows.item = idx => result.rows?._array[idx];
92
92
  }
93
93
  }
94
- const _open = OPSQLite.open;
95
- OPSQLite.open = options => {
96
- _open(options);
97
- locks[options.name] = {
94
+ const open = options => {
95
+ const db = OPSQLite.open(options);
96
+ const lock = {
98
97
  queue: [],
99
98
  inProgress: false
100
99
  };
101
- };
102
- const _close = OPSQLite.close;
103
- OPSQLite.close = dbName => {
104
- _close(dbName);
105
- delete locks[dbName];
106
- };
107
- const _execute = OPSQLite.execute;
108
- OPSQLite.execute = (dbName, query, params) => {
109
- const sanitizedParams = params?.map(p => {
110
- if (ArrayBuffer.isView(p)) {
111
- return p.buffer;
100
+ const startNextTransaction = () => {
101
+ if (lock.inProgress) {
102
+ // Transaction is already in process bail out
103
+ return;
112
104
  }
113
- return p;
114
- });
115
- const result = _execute(dbName, query, sanitizedParams);
116
- enhanceQueryResult(result);
117
- return result;
118
- };
119
- const _executeAsync = OPSQLite.executeAsync;
120
- OPSQLite.executeAsync = async (dbName, query, params) => {
121
- const sanitizedParams = params?.map(p => {
122
- if (ArrayBuffer.isView(p)) {
123
- return p.buffer;
105
+ if (lock.queue.length) {
106
+ lock.inProgress = true;
107
+ const tx = lock.queue.shift();
108
+ if (!tx) {
109
+ throw new Error('Could not get a operation on database');
110
+ }
111
+ setImmediate(() => {
112
+ tx.start();
113
+ });
124
114
  }
125
- return p;
126
- });
127
- const res = await _executeAsync(dbName, query, sanitizedParams);
128
- enhanceQueryResult(res);
129
- return res;
130
- };
131
- const _prepareStatement = OPSQLite.prepareStatement;
132
- OPSQLite.prepareStatement = (dbName, query) => {
133
- const stmt = _prepareStatement(dbName, query);
134
- return {
135
- bind: params => {
136
- const sanitizedParams = params.map(p => {
115
+ };
116
+
117
+ // spreading the object is not working, so we need to do it manually
118
+ let enhancedDb = {
119
+ delete: db.delete,
120
+ attach: db.attach,
121
+ detach: db.detach,
122
+ executeBatch: db.executeBatch,
123
+ executeBatchAsync: db.executeBatchAsync,
124
+ loadFile: db.loadFile,
125
+ updateHook: db.updateHook,
126
+ commitHook: db.commitHook,
127
+ rollbackHook: db.rollbackHook,
128
+ loadExtension: db.loadExtension,
129
+ executeRawAsync: db.executeRawAsync,
130
+ getDbPath: db.getDbPath,
131
+ reactiveExecute: db.reactiveExecute,
132
+ close: () => {
133
+ db.close();
134
+ delete locks[options.name];
135
+ },
136
+ execute: (query, params) => {
137
+ const sanitizedParams = params?.map(p => {
137
138
  if (ArrayBuffer.isView(p)) {
138
139
  return p.buffer;
139
140
  }
140
141
  return p;
141
142
  });
142
- stmt.bind(sanitizedParams);
143
+ const result = db.execute(query, sanitizedParams);
144
+ enhanceQueryResult(result);
145
+ return result;
143
146
  },
144
- execute: () => {
145
- const res = stmt.execute();
146
- enhanceQueryResult(res);
147
- return res;
148
- }
149
- };
150
- };
151
- OPSQLite.transaction = async (dbName, fn) => {
152
- if (!locks[dbName]) {
153
- throw Error(`SQLite Error: No lock found on db: ${dbName}`);
154
- }
155
- let isFinalized = false;
156
-
157
- // Local transaction context object implementation
158
- const execute = (query, params) => {
159
- if (isFinalized) {
160
- throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
161
- }
162
- return OPSQLite.execute(dbName, query, params);
163
- };
164
- const executeAsync = (query, params) => {
165
- if (isFinalized) {
166
- throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
167
- }
168
- return OPSQLite.executeAsync(dbName, query, params);
169
- };
170
- const commit = () => {
171
- if (isFinalized) {
172
- throw Error(`SQLite Error: Cannot execute commit on finalized transaction: ${dbName}`);
173
- }
174
- const result = OPSQLite.execute(dbName, 'COMMIT');
175
- isFinalized = true;
176
- return result;
177
- };
178
- const rollback = () => {
179
- if (isFinalized) {
180
- throw Error(`SQLite Error: Cannot execute rollback on finalized transaction: ${dbName}`);
181
- }
182
- const result = OPSQLite.execute(dbName, 'ROLLBACK');
183
- isFinalized = true;
184
- return result;
185
- };
186
- async function run() {
187
- try {
188
- await OPSQLite.executeAsync(dbName, 'BEGIN TRANSACTION');
189
- await fn({
190
- commit,
191
- execute,
192
- executeAsync,
193
- rollback
147
+ executeAsync: async (query, params) => {
148
+ const sanitizedParams = params?.map(p => {
149
+ if (ArrayBuffer.isView(p)) {
150
+ return p.buffer;
151
+ }
152
+ return p;
194
153
  });
195
- if (!isFinalized) {
196
- commit();
197
- }
198
- } catch (executionError) {
199
- if (!isFinalized) {
154
+ const result = await db.executeAsync(query, sanitizedParams);
155
+ enhanceQueryResult(result);
156
+ return result;
157
+ },
158
+ prepareStatement: query => {
159
+ const stmt = db.prepareStatement(query);
160
+ return {
161
+ bind: params => {
162
+ const sanitizedParams = params.map(p => {
163
+ if (ArrayBuffer.isView(p)) {
164
+ return p.buffer;
165
+ }
166
+ return p;
167
+ });
168
+ stmt.bind(sanitizedParams);
169
+ },
170
+ execute: () => {
171
+ const res = stmt.execute();
172
+ enhanceQueryResult(res);
173
+ return res;
174
+ }
175
+ };
176
+ },
177
+ transaction: async fn => {
178
+ let isFinalized = false;
179
+
180
+ // Local transaction context object implementation
181
+ const execute = (query, params) => {
182
+ if (isFinalized) {
183
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
184
+ }
185
+ return enhancedDb.execute(query, params);
186
+ };
187
+ const executeAsync = (query, params) => {
188
+ if (isFinalized) {
189
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
190
+ }
191
+ return enhancedDb.executeAsync(query, params);
192
+ };
193
+ const commit = () => {
194
+ if (isFinalized) {
195
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
196
+ }
197
+ const result = enhancedDb.execute('COMMIT;');
198
+ isFinalized = true;
199
+ return result;
200
+ };
201
+ const rollback = () => {
202
+ if (isFinalized) {
203
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
204
+ }
205
+ const result = enhancedDb.execute('ROLLBACK;');
206
+ isFinalized = true;
207
+ return result;
208
+ };
209
+ async function run() {
200
210
  try {
201
- rollback();
202
- } catch (rollbackError) {
203
- throw rollbackError;
211
+ await enhancedDb.executeAsync('BEGIN TRANSACTION;');
212
+ await fn({
213
+ commit,
214
+ execute,
215
+ executeAsync,
216
+ rollback
217
+ });
218
+ console.warn('finished executing user function for transaction');
219
+ if (!isFinalized) {
220
+ commit();
221
+ }
222
+ } catch (executionError) {
223
+ console.warn('transaction error', executionError);
224
+ if (!isFinalized) {
225
+ try {
226
+ rollback();
227
+ } catch (rollbackError) {
228
+ throw rollbackError;
229
+ }
230
+ }
231
+ throw executionError;
232
+ } finally {
233
+ lock.inProgress = false;
234
+ isFinalized = false;
235
+ startNextTransaction();
204
236
  }
205
237
  }
206
- throw executionError;
207
- } finally {
208
- locks[dbName].inProgress = false;
209
- isFinalized = false;
210
- startNextTransaction(dbName);
211
- }
212
- }
213
- return await new Promise((resolve, reject) => {
214
- const tx = {
215
- start: () => {
216
- run().then(resolve).catch(reject);
217
- }
218
- };
219
- locks[dbName].queue.push(tx);
220
- startNextTransaction(dbName);
221
- });
222
- };
223
- const startNextTransaction = dbName => {
224
- if (!locks[dbName]) {
225
- throw Error(`Lock not found for db: ${dbName}`);
226
- }
227
- if (locks[dbName].inProgress) {
228
- // Transaction is already in process bail out
229
- return;
230
- }
231
- if (locks[dbName].queue.length) {
232
- locks[dbName].inProgress = true;
233
- const tx = locks[dbName].queue.shift();
234
- if (!tx) {
235
- throw new Error('Could not get a operation on datebase');
238
+ return await new Promise((resolve, reject) => {
239
+ const tx = {
240
+ start: () => {
241
+ run().then(resolve).catch(reject);
242
+ }
243
+ };
244
+ lock.queue.push(tx);
245
+ startNextTransaction();
246
+ });
236
247
  }
237
- setImmediate(() => {
238
- tx.start();
239
- });
240
- }
241
- };
242
- const open = options => {
243
- OPSQLite.open(options);
244
- return {
245
- close: () => OPSQLite.close(options.name),
246
- delete: () => OPSQLite.delete(options.name, options.location),
247
- attach: (dbNameToAttach, alias, location) => OPSQLite.attach(options.name, dbNameToAttach, alias, location),
248
- detach: alias => OPSQLite.detach(options.name, alias),
249
- transaction: fn => OPSQLite.transaction(options.name, fn),
250
- execute: (query, params) => OPSQLite.execute(options.name, query, params),
251
- executeAsync: (query, params) => OPSQLite.executeAsync(options.name, query, params),
252
- executeBatch: commands => OPSQLite.executeBatch(options.name, commands),
253
- executeBatchAsync: commands => OPSQLite.executeBatchAsync(options.name, commands),
254
- loadFile: location => OPSQLite.loadFile(options.name, location),
255
- updateHook: callback => OPSQLite.updateHook(options.name, callback),
256
- commitHook: callback => OPSQLite.commitHook(options.name, callback),
257
- rollbackHook: callback => OPSQLite.rollbackHook(options.name, callback),
258
- prepareStatement: query => OPSQLite.prepareStatement(options.name, query),
259
- loadExtension: (path, entryPoint) => OPSQLite.loadExtension(options.name, path, entryPoint),
260
- executeRawAsync: (query, params) => OPSQLite.executeRawAsync(options.name, query, params),
261
- getDbPath: () => OPSQLite.getDbPath(options.name, options.location)
262
248
  };
249
+ return enhancedDb;
263
250
  };
264
251
  exports.open = open;
265
252
  const moveAssetsDatabase = async args => {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","global","__OPSQLiteProxy","NativeModules","OPSQLite","Error","install","result","proxy","exports","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","_open","open","options","name","queue","inProgress","_close","close","dbName","_execute","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","_executeAsync","executeAsync","res","_prepareStatement","prepareStatement","stmt","bind","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","startNextTransaction","Promise","resolve","reject","tx","start","then","catch","push","shift","setImmediate","delete","location","attach","dbNameToAttach","alias","detach","executeBatch","commands","executeBatchAsync","loadFile","updateHook","callback","commitHook","rollbackHook","loadExtension","path","entryPoint","executeRawAsync","getDbPath","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","global","__OPSQLiteProxy","NativeModules","OPSQLite","Error","install","result","proxy","exports","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","open","options","db","lock","queue","inProgress","startNextTransaction","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","executeBatchAsync","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRawAsync","getDbPath","reactiveExecute","close","name","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","executeAsync","prepareStatement","stmt","bind","res","transaction","fn","isFinalized","commit","rollback","run","console","warn","executionError","rollbackError","Promise","resolve","reject","then","catch","push","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AADA;;AAQA,IAAIC,MAAM,CAACC,eAAe,IAAI,IAAI,EAAE;EAClC,IAAIC,0BAAa,CAACC,QAAQ,IAAI,IAAI,EAAE;IAClC,MAAM,IAAIC,KAAK,CAAC,sDAAsD,CAAC;EACzE;EAEA,IAAIF,0BAAa,CAACC,QAAQ,CAACE,OAAO,IAAI,IAAI,EAAE;IAC1C,MAAM,IAAID,KAAK,CACb,iQACF,CAAC;EACH;;EAEA;EACA,MAAME,MAAM,GAAGJ,0BAAa,CAACC,QAAQ,CAACE,OAAO,CAAC,CAAC;EAC/C,IAAIC,MAAM,KAAK,IAAI,EAAE;IACnB,MAAM,IAAIF,KAAK,CACZ,mLACH,CAAC;EACH;;EAEA;EACA,IAAIJ,MAAM,CAACC,eAAe,IAAI,IAAI,EAAE;IAClC,MAAM,IAAIG,KAAK,CACb,yIACF,CAAC;EACH;AACF;AAEA,MAAMG,KAAK,GAAGP,MAAM,CAACC,eAAe;AAC7B,MAAME,QAAQ,GAAAK,OAAA,CAAAL,QAAA,GAAGI,KAAsB;AAEvC,MAAM;EACXE,iBAAiB;EACjBC,gBAAgB;EAChBC,qBAAqB;EACrBC,kBAAkB;EAClBC;AACF,CAAC,GAAG,CAAC,CAACX,0BAAa,CAACC,QAAQ,CAACW,YAAY,GACrCZ,0BAAa,CAACC,QAAQ,CAACW,YAAY,CAAC,CAAC,GACrCZ,0BAAa,CAACC,QAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqBA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AAHAK,OAAA,CAAAK,2BAAA,GAAAA,2BAAA;AAAAL,OAAA,CAAAI,kBAAA,GAAAA,kBAAA;AAAAJ,OAAA,CAAAG,qBAAA,GAAAA,qBAAA;AAAAH,OAAA,CAAAE,gBAAA,GAAAA,gBAAA;AAAAF,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAsFA,MAAMM,KAGL,GAAG,CAAC,CAAC;;AAEN;;AAEA;AACA,SAASC,kBAAkBA,CAACV,MAAmB,EAAQ;EACrD;EACA,IAAIA,MAAM,CAACW,IAAI,IAAI,IAAI,EAAE;IACvBX,MAAM,CAACW,IAAI,GAAG;MACZC,MAAM,EAAE,EAAE;MACVC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAGC,GAAW,IAAKf,MAAM,CAACW,IAAI,EAAEC,MAAM,CAACG,GAAG;IAChD,CAAC;EACH,CAAC,MAAM;IACLf,MAAM,CAACW,IAAI,CAACG,IAAI,GAAIC,GAAW,IAAKf,MAAM,CAACW,IAAI,EAAEC,MAAM,CAACG,GAAG,CAAC;EAC9D;AACF;AAEO,MAAMC,IAAI,GAAIC,OAIpB,IAAS;EACR,MAAMC,EAAE,GAAGrB,QAAQ,CAACmB,IAAI,CAACC,OAAO,CAAC;EAEjC,MAAME,IAAI,GAAG;IACXC,KAAK,EAAE,EAA0B;IACjCC,UAAU,EAAE;EACd,CAAC;EAED,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;IACjC,IAAIH,IAAI,CAACE,UAAU,EAAE;MACnB;MACA;IACF;IAEA,IAAIF,IAAI,CAACC,KAAK,CAACP,MAAM,EAAE;MACrBM,IAAI,CAACE,UAAU,GAAG,IAAI;MACtB,MAAME,EAAE,GAAGJ,IAAI,CAACC,KAAK,CAACI,KAAK,CAAC,CAAC;MAE7B,IAAI,CAACD,EAAE,EAAE;QACP,MAAM,IAAIzB,KAAK,CAAC,uCAAuC,CAAC;MAC1D;MAEA2B,YAAY,CAAC,MAAM;QACjBF,EAAE,CAACG,KAAK,CAAC,CAAC;MACZ,CAAC,CAAC;IACJ;EACF,CAAC;;EAED;EACA,IAAIC,UAAU,GAAG;IACfC,MAAM,EAAEV,EAAE,CAACU,MAAM;IACjBC,MAAM,EAAEX,EAAE,CAACW,MAAM;IACjBC,MAAM,EAAEZ,EAAE,CAACY,MAAM;IACjBC,YAAY,EAAEb,EAAE,CAACa,YAAY;IAC7BC,iBAAiB,EAAEd,EAAE,CAACc,iBAAiB;IAEvCC,QAAQ,EAAEf,EAAE,CAACe,QAAQ;IACrBC,UAAU,EAAEhB,EAAE,CAACgB,UAAU;IACzBC,UAAU,EAAEjB,EAAE,CAACiB,UAAU;IACzBC,YAAY,EAAElB,EAAE,CAACkB,YAAY;IAC7BC,aAAa,EAAEnB,EAAE,CAACmB,aAAa;IAC/BC,eAAe,EAAEpB,EAAE,CAACoB,eAAe;IACnCC,SAAS,EAAErB,EAAE,CAACqB,SAAS;IACvBC,eAAe,EAAEtB,EAAE,CAACsB,eAAe;IACnCC,KAAK,EAAEA,CAAA,KAAM;MACXvB,EAAE,CAACuB,KAAK,CAAC,CAAC;MACV,OAAOhC,KAAK,CAACQ,OAAO,CAACyB,IAAI,CAAC;IAC5B,CAAC;IACDC,OAAO,EAAEA,CAACC,KAAa,EAAEC,MAA0B,KAAkB;MACnE,MAAMC,eAAe,GAAGD,MAAM,EAAEE,GAAG,CAAEC,CAAC,IAAK;QACzC,IAAIC,WAAW,CAACC,MAAM,CAACF,CAAC,CAAC,EAAE;UACzB,OAAOA,CAAC,CAACG,MAAM;QACjB;QAEA,OAAOH,CAAC;MACV,CAAC,CAAC;MAEF,MAAMhD,MAAM,GAAGkB,EAAE,CAACyB,OAAO,CAACC,KAAK,EAAEE,eAAe,CAAC;MACjDpC,kBAAkB,CAACV,MAAM,CAAC;MAC1B,OAAOA,MAAM;IACf,CAAC;IACDoD,YAAY,EAAE,MAAAA,CACZR,KAAa,EACbC,MAA0B,KACD;MACzB,MAAMC,eAAe,GAAGD,MAAM,EAAEE,GAAG,CAAEC,CAAC,IAAK;QACzC,IAAIC,WAAW,CAACC,MAAM,CAACF,CAAC,CAAC,EAAE;UACzB,OAAOA,CAAC,CAACG,MAAM;QACjB;QAEA,OAAOH,CAAC;MACV,CAAC,CAAC;MAEF,MAAMhD,MAAM,GAAG,MAAMkB,EAAE,CAACkC,YAAY,CAACR,KAAK,EAAEE,eAAe,CAAC;MAC5DpC,kBAAkB,CAACV,MAAM,CAAC;MAC1B,OAAOA,MAAM;IACf,CAAC;IACDqD,gBAAgB,EAAGT,KAAa,IAAK;MACnC,MAAMU,IAAI,GAAGpC,EAAE,CAACmC,gBAAgB,CAACT,KAAK,CAAC;MAEvC,OAAO;QACLW,IAAI,EAAGV,MAAa,IAAK;UACvB,MAAMC,eAAe,GAAGD,MAAM,CAACE,GAAG,CAAEC,CAAC,IAAK;YACxC,IAAIC,WAAW,CAACC,MAAM,CAACF,CAAC,CAAC,EAAE;cACzB,OAAOA,CAAC,CAACG,MAAM;YACjB;YAEA,OAAOH,CAAC;UACV,CAAC,CAAC;UAEFM,IAAI,CAACC,IAAI,CAACT,eAAe,CAAC;QAC5B,CAAC;QACDH,OAAO,EAAEA,CAAA,KAAM;UACb,MAAMa,GAAG,GAAGF,IAAI,CAACX,OAAO,CAAC,CAAC;UAC1BjC,kBAAkB,CAAC8C,GAAG,CAAC;UACvB,OAAOA,GAAG;QACZ;MACF,CAAC;IACH,CAAC;IACDC,WAAW,EAAE,MACXC,EAAsC,IACpB;MAClB,IAAIC,WAAW,GAAG,KAAK;;MAEvB;MACA,MAAMhB,OAAO,GAAGA,CAACC,KAAa,EAAEC,MAAc,KAAkB;QAC9D,IAAIc,WAAW,EAAE;UACf,MAAM7D,KAAK,CACR,8BAA6BmB,OAAO,CAACyB,IAAK,iDAC7C,CAAC;QACH;QACA,OAAOf,UAAU,CAACgB,OAAO,CAACC,KAAK,EAAEC,MAAM,CAAC;MAC1C,CAAC;MAED,MAAMO,YAAY,GAAGA,CAACR,KAAa,EAAEC,MAA0B,KAAK;QAClE,IAAIc,WAAW,EAAE;UACf,MAAM7D,KAAK,CACR,8BAA6BmB,OAAO,CAACyB,IAAK,iDAC7C,CAAC;QACH;QACA,OAAOf,UAAU,CAACyB,YAAY,CAACR,KAAK,EAAEC,MAAM,CAAC;MAC/C,CAAC;MAED,MAAMe,MAAM,GAAGA,CAAA,KAAM;QACnB,IAAID,WAAW,EAAE;UACf,MAAM7D,KAAK,CACR,8BAA6BmB,OAAO,CAACyB,IAAK,iDAC7C,CAAC;QACH;QACA,MAAM1C,MAAM,GAAG2B,UAAU,CAACgB,OAAO,CAAC,SAAS,CAAC;QAC5CgB,WAAW,GAAG,IAAI;QAClB,OAAO3D,MAAM;MACf,CAAC;MAED,MAAM6D,QAAQ,GAAGA,CAAA,KAAM;QACrB,IAAIF,WAAW,EAAE;UACf,MAAM7D,KAAK,CACR,8BAA6BmB,OAAO,CAACyB,IAAK,iDAC7C,CAAC;QACH;QACA,MAAM1C,MAAM,GAAG2B,UAAU,CAACgB,OAAO,CAAC,WAAW,CAAC;QAC9CgB,WAAW,GAAG,IAAI;QAClB,OAAO3D,MAAM;MACf,CAAC;MAED,eAAe8D,GAAGA,CAAA,EAAG;QACnB,IAAI;UACF,MAAMnC,UAAU,CAACyB,YAAY,CAAC,oBAAoB,CAAC;UAEnD,MAAMM,EAAE,CAAC;YACPE,MAAM;YACNjB,OAAO;YACPS,YAAY;YACZS;UACF,CAAC,CAAC;UACFE,OAAO,CAACC,IAAI,CAAC,kDAAkD,CAAC;UAChE,IAAI,CAACL,WAAW,EAAE;YAChBC,MAAM,CAAC,CAAC;UACV;QACF,CAAC,CAAC,OAAOK,cAAc,EAAE;UACvBF,OAAO,CAACC,IAAI,CAAC,mBAAmB,EAAEC,cAAc,CAAC;UACjD,IAAI,CAACN,WAAW,EAAE;YAChB,IAAI;cACFE,QAAQ,CAAC,CAAC;YACZ,CAAC,CAAC,OAAOK,aAAa,EAAE;cACtB,MAAMA,aAAa;YACrB;UACF;UAEA,MAAMD,cAAc;QACtB,CAAC,SAAS;UACR9C,IAAI,CAACE,UAAU,GAAG,KAAK;UACvBsC,WAAW,GAAG,KAAK;UACnBrC,oBAAoB,CAAC,CAAC;QACxB;MACF;MAEA,OAAO,MAAM,IAAI6C,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;QAC5C,MAAM9C,EAAsB,GAAG;UAC7BG,KAAK,EAAEA,CAAA,KAAM;YACXoC,GAAG,CAAC,CAAC,CAACQ,IAAI,CAACF,OAAO,CAAC,CAACG,KAAK,CAACF,MAAM,CAAC;UACnC;QACF,CAAC;QAEDlD,IAAI,CAACC,KAAK,CAACoD,IAAI,CAACjD,EAAE,CAAC;QACnBD,oBAAoB,CAAC,CAAC;MACxB,CAAC,CAAC;IACJ;EACF,CAAC;EAED,OAAOK,UAAU;AACnB,CAAC;AAACzB,OAAA,CAAAc,IAAA,GAAAA,IAAA;AAEK,MAAMyD,kBAAkB,GAAG,MAAOC,IAIxC,IAAuB;EACtB,OAAO9E,0BAAa,CAACC,QAAQ,CAAC4E,kBAAkB,CAACC,IAAI,CAAC;AACxD,CAAC;AAACxE,OAAA,CAAAuE,kBAAA,GAAAA,kBAAA;AAEK,MAAME,WAAW,GAAGA,CAAA,KAAe;EACxC,OAAO9E,QAAQ,CAAC8E,WAAW,CAAC,CAAC;AAC/B,CAAC;AAACzE,OAAA,CAAAyE,WAAA,GAAAA,WAAA","ignoreList":[]}