From eff8bd0b4f40275118313d8441a5211d05e3c55f Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Thu, 2 Nov 2023 13:53:12 +0100 Subject: [PATCH 01/72] draft impl --- dart/lib/src/sentry_trace_origins.dart | 1 + drift/.gitignore | 14 + drift/CHANGELOG.md | 1596 ++++++++++++++++++++++ drift/LICENSE | 21 + drift/analysis_options.yaml | 33 + drift/dartdoc_options.yaml | 3 + drift/lib/sentry_drift.dart | 1 + drift/lib/src/sentry_drift_database.dart | 155 +++ drift/lib/src/sentry_span_helper.dart | 60 + drift/pubspec.yaml | 27 + drift/pubspec_overrides.yaml | 3 + drift/test/mocks/mocks.dart | 11 + drift/test/mocks/mocks.mocks.dart | 1458 ++++++++++++++++++++ drift/test/sentry_database_test.dart | 181 +++ drift/test/test_database.dart | 23 + drift/test/test_database.g.dart | 269 ++++ flutter/test/mocks.mocks.dart | 159 ++- 17 files changed, 3979 insertions(+), 36 deletions(-) create mode 100644 drift/.gitignore create mode 100644 drift/CHANGELOG.md create mode 100644 drift/LICENSE create mode 100644 drift/analysis_options.yaml create mode 100644 drift/dartdoc_options.yaml create mode 100644 drift/lib/sentry_drift.dart create mode 100644 drift/lib/src/sentry_drift_database.dart create mode 100644 drift/lib/src/sentry_span_helper.dart create mode 100644 drift/pubspec.yaml create mode 100644 drift/pubspec_overrides.yaml create mode 100644 drift/test/mocks/mocks.dart create mode 100644 drift/test/mocks/mocks.mocks.dart create mode 100644 drift/test/sentry_database_test.dart create mode 100644 drift/test/test_database.dart create mode 100644 drift/test/test_database.g.dart diff --git a/dart/lib/src/sentry_trace_origins.dart b/dart/lib/src/sentry_trace_origins.dart index e3fd4dbafc..ca94baf853 100644 --- a/dart/lib/src/sentry_trace_origins.dart +++ b/dart/lib/src/sentry_trace_origins.dart @@ -18,4 +18,5 @@ class SentryTraceOrigins { 'auto.db.sqflite.database_executor'; static const autoDbSqfliteDatabaseFactory = 'auto.db.sqflite.database_factory'; + static const autoDbDriftDatabaseExecutor = 'auto.db.drift.database.executor'; } diff --git a/drift/.gitignore b/drift/.gitignore new file mode 100644 index 0000000000..ba521d5a39 --- /dev/null +++ b/drift/.gitignore @@ -0,0 +1,14 @@ +# Omit committing pubspec.lock for library packages; see +# https://dart.dev/guides/libraries/private-files#pubspeclock. +pubspec.lock + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ diff --git a/drift/CHANGELOG.md b/drift/CHANGELOG.md new file mode 100644 index 0000000000..c640f46f6b --- /dev/null +++ b/drift/CHANGELOG.md @@ -0,0 +1,1596 @@ +# Changelog + +## 7.12.0 + +### Enhancements + +- Log warning if both tracesSampleRate and tracesSampler are set ([#1701](https://github.com/getsentry/sentry-dart/pull/1701)) +- Better Flutter framework stack traces - we now collect Flutter framework debug symbols for iOS, macOS and Android automatically on the Sentry server ([#1673](https://github.com/getsentry/sentry-dart/pull/1673)) + +### Features + +- Initial (alpha) support for profiling on iOS and macOS ([#1611](https://github.com/getsentry/sentry-dart/pull/1611)) + +## 7.11.0 + +### Fixes + +- Session: missing mechanism.handled is considered crash ([#3353](https://github.com/getsentry/sentry-cocoa/pull/3353)) + +### Features + +- Breadcrumbs for file I/O operations ([#1649](https://github.com/getsentry/sentry-dart/pull/1649)) + +### Dependencies + +- Enable compatibility with uuid v4 ([#1647](https://github.com/getsentry/sentry-dart/pull/1647)) +- Bump Android SDK from v6.29.0 to v6.32.0 ([#1660](https://github.com/getsentry/sentry-dart/pull/1660), [#1676](https://github.com/getsentry/sentry-dart/pull/1676), [#1688](https://github.com/getsentry/sentry-dart/pull/1688)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6320) + - [diff](https://github.com/getsentry/sentry-java/compare/6.29.0...6.32.0) +- Bump Cocoa SDK from v8.11.0 to v8.14.2 ([#1650](https://github.com/getsentry/sentry-dart/pull/1650), [#1655](https://github.com/getsentry/sentry-dart/pull/1655), [#1677](https://github.com/getsentry/sentry-dart/pull/1677), [#1691](https://github.com/getsentry/sentry-dart/pull/1691)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8142) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.11.0...8.14.2) + +## 7.10.1 + +### Enhancements + +- Add Sampling Decision to Trace Envelope Header ([#1639](https://github.com/getsentry/sentry-dart/pull/1639)) +- Add http.request.method attribute to http spans data ([#1633](https://github.com/getsentry/sentry-dart/pull/1633)) +- Add db.system and db.name attributes to db spans data ([#1629](https://github.com/getsentry/sentry-dart/pull/1629)) +- Log SDK errors to the console if the log level is `fatal` even if `debug` is disabled ([#1635](https://github.com/getsentry/sentry-dart/pull/1635)) + +### Features + +- Tracing without performance ([#1621](https://github.com/getsentry/sentry-dart/pull/1621)) + +### Fixes + +- Normalize data properties of `SentryUser` and `Breadcrumb` before sending over method channel ([#1591](https://github.com/getsentry/sentry-dart/pull/1591)) +- Fixing memory leak issue in SentryFlutterPlugin (Android Plugin) ([#1588](https://github.com/getsentry/sentry-dart/pull/1588)) +- Discard empty stack frames ([#1625](https://github.com/getsentry/sentry-dart/pull/1625)) +- Disable scope sync for cloned scopes ([#1628](https://github.com/getsentry/sentry-dart/pull/1628)) + +### Dependencies + +- Bump Android SDK from v6.25.2 to v6.29.0 ([#1586](https://github.com/getsentry/sentry-dart/pull/1586), [#1630](https://github.com/getsentry/sentry-dart/pull/1630)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6290) + - [diff](https://github.com/getsentry/sentry-java/compare/6.25.2...6.29.0) +- Bump Cocoa SDK from v8.9.1 to v8.11.0 ([#1584](https://github.com/getsentry/sentry-dart/pull/1584), [#1606](https://github.com/getsentry/sentry-dart/pull/1606), [#1626](https://github.com/getsentry/sentry-dart/pull/1626)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8110) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.9.1...8.11.0) + +## 7.9.0 + +### Features + +- Send trace origin ([#1534](https://github.com/getsentry/sentry-dart/pull/1534)) + +[Trace origin](https://develop.sentry.dev/sdk/performance/trace-origin/) indicates what created a trace or a span. Not all transactions and spans contain enough information to tell whether the user or what precisely in the SDK created it. Origin solves this problem. The SDK now sends origin for transactions and spans. + +- Add `appHangTimeoutInterval` to `SentryFlutterOptions` ([#1568](https://github.com/getsentry/sentry-dart/pull/1568)) +- DioEventProcessor: Append http response body ([#1557](https://github.com/getsentry/sentry-dart/pull/1557)) + - This is opt-in and depends on `maxResponseBodySize` + - Only for `dio` package + +### Dependencies + +- Bump Cocoa SDK from v8.8.0 to v8.9.1 ([#1553](https://github.com/getsentry/sentry-dart/pull/1553)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#891) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.8.0...8.9.1) +- Bump Android SDK from v6.23.0 to v6.25.2 ([#1554](https://github.com/getsentry/sentry-dart/pull/1554)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6252) + - [diff](https://github.com/getsentry/sentry-java/compare/6.23.0...6.25.2) + +## 7.8.0 + +### Enhancements + +- Add `apiTarget` field to `SentryRequest` and `data` field to `SentryResponse` ([#1517](https://github.com/getsentry/sentry-dart/pull/1517)) + +### Dependencies + +- Bump Android SDK from v6.21.0 to v6.23.0 ([#1512](https://github.com/getsentry/sentry-dart/pull/1512), [#1520](https://github.com/getsentry/sentry-dart/pull/1520)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6230) + - [diff](https://github.com/getsentry/sentry-java/compare/6.21.0...6.23.0) +- Bump Cocoa SDK from v8.7.3 to v8.8.0 ([#1521](https://github.com/getsentry/sentry-dart/pull/1521)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#880) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.7.3...8.8.0) + +## 7.7.0 + +### Fixes + +- Enums use its name instead of non exhaustive switches ([##1506](https://github.com/getsentry/sentry-dart/pull/#1506)) + +### Enhancements + +- Add http fields to `span.data` ([#1497](https://github.com/getsentry/sentry-dart/pull/1497)) + - Set `http.response.status_code` + - Set `http.response_content_length` +- Improve `SentryException#value`, remove stringified stack trace ([##1470](https://github.com/getsentry/sentry-dart/pull/#1470)) + +### Dependencies + +- Bump Android SDK from v6.20.0 to v6.21.0 ([#1500](https://github.com/getsentry/sentry-dart/pull/1500)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6210) + - [diff](https://github.com/getsentry/sentry-java/compare/6.20.0...6.21.0) + +## 7.6.3 + +### Fixes + +- Check if the Native SDKs are enabled when using `autoInitializeNativeSdk=false` ([#1489](https://github.com/getsentry/sentry-dart/pull/1489)) +- Align http method to span convention ([#1477](https://github.com/getsentry/sentry-dart/pull/1477)) +- Wrapped methods return a `Future` instead of executing right away ([#1476](https://github.com/getsentry/sentry-dart/pull/1476)) + - Relates to ([#1462](https://github.com/getsentry/sentry-dart/pull/1462)) +- Fix readTimeoutMillis wrongly configures connectionTimeoutMillis instead of the correct field ([#1485](https://github.com/getsentry/sentry-dart/pull/1485)) + +### Dependencies + +- Bump Android SDK from v6.19.0 to v6.20.0 ([#1466](https://github.com/getsentry/sentry-dart/pull/1466), [#1491](https://github.com/getsentry/sentry-dart/pull/1491)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6200) + - [diff](https://github.com/getsentry/sentry-java/compare/6.19.0...6.20.0) +- Bump Cocoa SDK from v8.7.2 to v8.7.3 ([#1487](https://github.com/getsentry/sentry-dart/pull/1487)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#873) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.7.2...8.7.3) + +## 7.6.2 + +### Enhancements + +- `SentryAssetBundle` returns Future by default ([#1462](https://github.com/getsentry/sentry-dart/pull/1462)) + +### Features + +- Support `http` >= 1.0.0 ([#1475](https://github.com/getsentry/sentry-dart/pull/1475)) + +### Dependencies + +- Bump Android SDK from v6.18.1 to v6.19.0 ([#1455](https://github.com/getsentry/sentry-dart/pull/1455)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6190) + - [diff](https://github.com/getsentry/sentry-java/compare/6.18.1...6.19.0) +- Bump Cocoa SDK from v8.7.1 to v8.7.2 ([#1458](https://github.com/getsentry/sentry-dart/pull/1458)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#872) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.7.1...8.7.2) + +## 7.6.1 + +### Features + +- Add `sent_at` to envelope header ([#1428](https://github.com/getsentry/sentry-dart/pull/1428)) + +### Fixes + +- Fix battery level conversion for iOS 16.4 ([#1433](https://github.com/getsentry/sentry-dart/pull/1433)) +- Adds a namespace for compatibility with AGP 8.0. ([#1427](https://github.com/getsentry/sentry-dart/pull/1427)) +- Avoid dependency conflict with package_info_plus v4 ([#1440](https://github.com/getsentry/sentry-dart/pull/1440)) + +### Breaking Changes + +- Android `minSdkVersion` is now 19 (Flutter already defines 19-20 as best effort) +- Deprecate `extra` in favor of `contexts` ([#1435](https://github.com/getsentry/sentry-dart/pull/1435)) + +### Dependencies + +- Bump Cocoa SDK from v8.5.0 to v8.7.1 ([#1449](https://github.com/getsentry/sentry-dart/pull/1449)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#871) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.5.0...8.7.1) + +## 7.5.2 + +### Fixes + +- Fix `event.origin` and `event.environment` on unhandled exceptions ([#1419](https://github.com/getsentry/sentry-dart/pull/1419)) +- Fix authority redaction ([#1424](https://github.com/getsentry/sentry-dart/pull/1424)) + +### Dependencies + +- Bump Android SDK from v6.17.0 to v6.18.1 ([#1415](https://github.com/getsentry/sentry-dart/pull/1415)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6181) + - [diff](https://github.com/getsentry/sentry-java/compare/6.17.0...6.18.1) + +## 7.5.1 + +### Fixes + +- Fallback Uri parsing to `unknown` if its invalid ([#1414](https://github.com/getsentry/sentry-dart/pull/1414)) + +## 7.5.0 + +### Features + +- Add `SentryIOOverridesIntegration` that automatically wraps `File` into `SentryFile` ([#1362](https://github.com/getsentry/sentry-dart/pull/1362)) + +```dart +import 'package:sentry_file/sentry_file.dart'; + +// SDK init. options +options.addIntegration(SentryIOOverridesIntegration()); +``` + +- Add `enableTracing` option ([#1395](https://github.com/getsentry/sentry-dart/pull/1395)) + - This change is backwards compatible. The default is `null` meaning existing behaviour remains unchanged (setting either `tracesSampleRate` or `tracesSampler` enables performance). + - If set to `true`, performance is enabled, even if no `tracesSampleRate` or `tracesSampler` have been configured. + - If set to `true`, sampler will use default sample rate of 1.0, if no `tracesSampleRate` is set. + - If set to `false` performance is disabled, regardless of `tracesSampleRate` and `tracesSampler` options. + +```dart +// SDK init. options +options.enableTracing = true; +``` + +- Sync `connectionTimeout` and `readTimeout` to Android ([#1397](https://github.com/getsentry/sentry-dart/pull/1397)) + +```dart +// SDK init. options +options.connectionTimeout = Duration(seconds: 10); +options.readTimeout = Duration(seconds: 10); +``` + +- Set User `name` and `geo` in native plugins ([#1393](https://github.com/getsentry/sentry-dart/pull/1393)) + +```dart +Sentry.configureScope( + (scope) => scope.setUser(SentryUser( + id: '1234', + name: 'Jane Doe', + email: 'jane.doe@example.com', + geo: SentryGeo( + city: 'Vienna', + countryCode: 'AT', + region: 'Austria', + ))), +); +``` + +- Add processor count to device info ([#1402](https://github.com/getsentry/sentry-dart/pull/1402)) +- Add attachments to `Hint` ([#1404](https://github.com/getsentry/sentry-dart/pull/1404)) + +```dart +import 'dart:convert'; + +options.beforeSend = (event, {hint}) { + final text = 'This event should not be sent happen in prod. Investigate.'; + final textAttachment = SentryAttachment.fromIntList( + utf8.encode(text), + 'event_info.txt', + contentType: 'text/plain', + ); + hint?.attachments.add(textAttachment); + return event; +}; +``` + +### Fixes + +- Screenshots and View Hierarchy should only be added to errors ([#1385](https://github.com/getsentry/sentry-dart/pull/1385)) + - View Hierarchy is removed from Web errors since we don't symbolicate minified View Hierarchy yet. +- More improvements related to not awaiting `FutureOr` if it's not a future ([#1385](https://github.com/getsentry/sentry-dart/pull/1385)) +- Do not report only async gap frames for logging calls ([#1398](https://github.com/getsentry/sentry-dart/pull/1398)) + +### Dependencies + +- Bump Cocoa SDK from v8.4.0 to v8.5.0 ([#1394](https://github.com/getsentry/sentry-dart/pull/1394)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#850) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.4.0...8.5.0) + +## 7.4.2 + +### Fixes + +- Fix breadcrumbs not being sent on Android web ([#1378](https://github.com/getsentry/sentry-dart/pull/1378)) + +## 7.4.1 + +### Fixes + +- Fix Dart web builds breaking due to `dart:io` imports when using `SentryIsolate` or `SentryIsolateExtension` ([#1371](https://github.com/getsentry/sentry-dart/pull/1371)) + - When using `SentryIsolate` or `SentryIsolateExtension`, import `sentry_io.dart`. +- Export `SentryBaggage` ([#1377](https://github.com/getsentry/sentry-dart/pull/1377)) +- Remove breadcrumbs from transaction to avoid duplication ([#1366](https://github.com/getsentry/sentry-dart/pull/1366)) + +### Dependencies + +- Bump Cocoa SDK from v8.3.3 to v8.4.0 ([#1379](https://github.com/getsentry/sentry-dart/pull/1379)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#840) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.3.3...8.4.0) +- Bump Android SDK from v6.16.0 to v6.17.0 ([#1374](https://github.com/getsentry/sentry-dart/pull/1374)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6170) + - [diff](https://github.com/getsentry/sentry-java/compare/6.16.0...6.17.0) + +## 7.4.0 + +### Features + +- SentryUserInteractionWidget: add support for PopupMenuButton and PopupMenuItem ([#1361](https://github.com/getsentry/sentry-dart/pull/1361)) + +### Fixes + +- Fix `SentryUserInteractionWidget` throwing when Sentry is not enabled ([#1363](https://github.com/getsentry/sentry-dart/pull/1363)) +- Fix enableAutoNativeBreadcrumbs and enableNativeCrashHandling sync flags ([#1367](https://github.com/getsentry/sentry-dart/pull/1367)) + +## 7.3.0 + +### Features + +- Sanitize sensitive data from URLs (span desc, span data, crumbs, client errors) ([#1327](https://github.com/getsentry/sentry-dart/pull/1327)) + +### Dependencies + +- Bump Cocoa SDK from v8.3.1 to v8.3.3 ([#1350](https://github.com/getsentry/sentry-dart/pull/1350), [#1355](https://github.com/getsentry/sentry-dart/pull/1355)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#833) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.3.1...8.3.3) + +### Fixes + +- Sync missing properties to the Native SDKs ([#1354](https://github.com/getsentry/sentry-dart/pull/1354)) + +## 7.2.0 + +### Features + +- sqflite Support for Flutter ([#1306](https://github.com/getsentry/sentry-dart/pull/1306)) + +### Fixes + +- `DioErrorExtractor` no longer extracts `DioError.stackTrace` which is done via `DioStackTraceExtractor` instead ([#1344](https://github.com/getsentry/sentry-dart/pull/1344)) +- LoadImageListIntegration won't throw bad state if there is no exceptions in the event ([#1347](https://github.com/getsentry/sentry-dart/pull/1347)) + +### Dependencies + +- Bump Android SDK from v6.15.0 to v6.16.0 ([#1342](https://github.com/getsentry/sentry-dart/pull/1342)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6160) + - [diff](https://github.com/getsentry/sentry-java/compare/6.15.0...6.16.0) + +## 7.1.0 + +### Features + +- Exception StackTrace Extractor ([#1335](https://github.com/getsentry/sentry-dart/pull/1335)) + +### Dependencies + +- Bump Cocoa SDK from v8.0.0 to v8.3.1 ([#1331](https://github.com/getsentry/sentry-dart/pull/1331)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#831) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.0.0...8.3.1) + +### Fixes + +- SentryUserInteractionWidget checks if the Elements are mounted before comparing them ([#1339](https://github.com/getsentry/sentry-dart/pull/1339)) + +## 7.0.0 + +### Features + +- Platform Exception Event Processor ([#1297](https://github.com/getsentry/sentry-dart/pull/1297)) +- Support failedRequestTargets for HTTP Client errors ([#1285](https://github.com/getsentry/sentry-dart/pull/1285)) + - Captures errors for the default range `500-599` if `captureFailedRequests` is enabled +- Sentry Isolate Extension ([#1266](https://github.com/getsentry/sentry-dart/pull/1266)) +- Allow sentry user to control resolution of captured Flutter screenshots ([#1288](https://github.com/getsentry/sentry-dart/pull/1288)) +- Support beforeSendTransaction ([#1238](https://github.com/getsentry/sentry-dart/pull/1238)) +- Add In Foreground to App context ([#1260](https://github.com/getsentry/sentry-dart/pull/1260)) +- Error Cause Extractor ([#1198](https://github.com/getsentry/sentry-dart/pull/1198), [#1236](https://github.com/getsentry/sentry-dart/pull/1236)) + - Add `throwable` to `SentryException` +- Dart 3 Support ([#1220](https://github.com/getsentry/sentry-dart/pull/1220)) +- Introduce `Hint` data bag ([#1136](https://github.com/getsentry/sentry-dart/pull/1136)) +- Use `Hint` for screenshots ([#1165](https://github.com/getsentry/sentry-dart/pull/1165)) +- Support custom units for custom measurements ([#1181](https://github.com/getsentry/sentry-dart/pull/1181)) + +### Enhancements + +- Replace `toImage` with `toImageSync` for Flutter >= 3.7 ([1268](https://github.com/getsentry/sentry-dart/pull/1268)) +- Don't await `FutureOr` if it's not a future. This should marginally improve the performance ([#1310](https://github.com/getsentry/sentry-dart/pull/1310)) +- Replace `StackTrace.empty` with `StackTrace.current` ([#1183](https://github.com/getsentry/sentry-dart/pull/1183)) + +### Breaking Changes + +[Dart Migration guide](https://docs.sentry.io/platforms/dart/migration/#migrating-from-sentry-618x-to-sentry-700). + +[Flutter Migration guide](https://docs.sentry.io/platforms/flutter/migration/#migrating-from-sentry_flutter-618x-to-sentry-700). + +- Enable enableNdkScopeSync by default ([#1276](https://github.com/getsentry/sentry-dart/pull/1276)) +- Update `sentry_dio` to dio v5 ([#1282](https://github.com/getsentry/sentry-dart/pull/1282)) +- Remove deprecated fields ([#1227](https://github.com/getsentry/sentry-dart/pull/1227)) + - Remove deprecated fields from the `Scope` class. + - `user(SentryUser? user)`, using the `setUser(SentryUser? user)` instead. + - `attachements`, using the `attachments` instead. + - Remove deprecated field from the `SentryFlutterOptions` class. + - `anrTimeoutIntervalMillis`, using the `anrTimeoutInterval` instead. + - `autoSessionTrackingIntervalMillis`, using the `autoSessionTrackingInterval` instead. +- Rename APM tracking feature flags to tracing ([#1222](https://github.com/getsentry/sentry-dart/pull/1222)) + - Rename + - enableAutoPerformanceTracking to enableAutoPerformanceTracing + - enableOutOfMemoryTracking to enableWatchdogTerminationTracking +- Enable APM features by default ([#1217](https://github.com/getsentry/sentry-dart/pull/1217)) + - Enable by default + - captureFailedRequests + - enableStructuredDataTracing + - enableUserInteractionTracing +- Mark transaction as internal_error in case of unhandled errors ([#1218](https://github.com/getsentry/sentry-dart/pull/1218)) +- Removed various deprecated fields ([#1036](https://github.com/getsentry/sentry-dart/pull/1036)): + - Removed the following fields from the `device` context + - language + - timezone + - screenResolution + - theme + - Removed isolate name from Dart context. It's now reported via the threads interface. It can be enabled via `options.attachThreads` +- Use `sentryClientName` instead of `sdk.identifier` ([#1135](https://github.com/getsentry/sentry-dart/pull/1135)) +- Refactor `BindingUtils` to `BindingWrapper` to enable the use of custom bindings ([#1184](https://github.com/getsentry/sentry-dart/pull/1184)) +- Bump Flutter min to 3.0.0 and Dart to 2.17.0 ([#1180](https://github.com/getsentry/sentry-dart/pull/1180)) + +### Dependencies + +- Bump Cocoa SDK from 7.31.5 to 8.0.0 + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#800) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.31.5...8.0.0) + +### Fixes + +- View hierarchy reads size from RenderBox only ([#1258](https://github.com/getsentry/sentry-dart/pull/1258)) +- Try to avoid ConcurrentModificationError by not using a Future.forEach ([#1259](https://github.com/getsentry/sentry-dart/pull/1259)) +- isWeb check for WASM ([#1249](https://github.com/getsentry/sentry-dart/pull/1249)) +- Don't suppress error logs ([#1228](https://github.com/getsentry/sentry-dart/pull/1228)) +- Fix: Remove `SentryOptions` related parameters from classes which also take `Hub` as a parameter (#816) + +## 7.0.0-rc.2 + +### Features + +- Platform Exception Event Processor ([#1297](https://github.com/getsentry/sentry-dart/pull/1297)) +- Support failedRequestTargets for HTTP Client errors ([#1285](https://github.com/getsentry/sentry-dart/pull/1285)) + - Captures errors for the default range `500-599` if `captureFailedRequests` is enabled +- Sentry Isolate Extension ([#1266](https://github.com/getsentry/sentry-dart/pull/1266)) +- Allow sentry user to control resolution of captured Flutter screenshots ([#1288](https://github.com/getsentry/sentry-dart/pull/1288)) + +### Enhancements + +- Replace `toImage` with `toImageSync` for Flutter >= 3.7 ([1268](https://github.com/getsentry/sentry-dart/pull/1268)) +- Don't await `FutureOr` if it's not a future. This should marginally improve the performance ([#1310](https://github.com/getsentry/sentry-dart/pull/1310)) + +## 6.22.0 + +### Features + +- Add proguard_uui property to SentryFlutterOptions to set proguard information at runtime ([#1312](https://github.com/getsentry/sentry-dart/pull/1312)) + +### Fixes + +- Change podspec `EXCLUDED_ARCHS` value to allow podfiles to add more excluded architetures ([#1303](https://github.com/getsentry/sentry-dart/pull/1303)) + +### Dependencies + +- Bump Android SDK from v6.13.1 to v6.15.0 ([#1287](https://github.com/getsentry/sentry-dart/pull/1287), [#1311](https://github.com/getsentry/sentry-dart/pull/1311)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6150) + - [diff](https://github.com/getsentry/sentry-java/compare/6.13.1...6.15.0) + +## 7.0.0-rc.1 + +### Breaking Changes + +- Enable enableNdkScopeSync by default ([#1276](https://github.com/getsentry/sentry-dart/pull/1276)) +- Update `sentry_dio` to dio v5 ([#1282](https://github.com/getsentry/sentry-dart/pull/1282)) + +### Dependencies + +- Bump Android SDK from v6.13.1 to v6.14.0 ([#1287](https://github.com/getsentry/sentry-dart/pull/1287)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6140) + - [diff](https://github.com/getsentry/sentry-java/compare/6.13.1...6.14.0) + +## 6.21.0 + +### Features + +- Implement `loadStructuredBinaryData` from updated AssetBundle ([#1272](https://github.com/getsentry/sentry-dart/pull/1272)) + +### Dependencies + +- Bump Android SDK from v6.13.0 to v6.13.1 ([#1273](https://github.com/getsentry/sentry-dart/pull/1273)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6131) + - [diff](https://github.com/getsentry/sentry-java/compare/6.13.0...6.13.1) + +### Fixes + +- Pass processed Breadcrumb to scope observer ([#1298](https://github.com/getsentry/sentry-dart/pull/1298)) +- Remove duplicated breadcrumbs when syncing with iOS/macOS ([#1283](https://github.com/getsentry/sentry-dart/pull/1283)) + +## 6.20.1 + +### Fixes + +- Set client name with version in Android SDK ([#1274](https://github.com/getsentry/sentry-dart/pull/1274)) + +## 7.0.0-beta.4 + +### Features + +- Support beforeSendTransaction ([#1238](https://github.com/getsentry/sentry-dart/pull/1238)) +- Add In Foreground to App context ([#1260](https://github.com/getsentry/sentry-dart/pull/1260)) + +### Fixes + +- View hierarchy reads size from RenderBox only ([#1258](https://github.com/getsentry/sentry-dart/pull/1258)) +- Try to avoid ConcurrentModificationError by not using a Future.forEach ([#1259](https://github.com/getsentry/sentry-dart/pull/1259)) + +### Dependencies + +- Bump Android SDK from v6.12.1 to v6.13.0 ([#1250](https://github.com/getsentry/sentry-dart/pull/1250)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6130) + - [diff](https://github.com/getsentry/sentry-java/compare/6.12.1...6.13.0) + +## 7.0.0-beta.1 + +### Fixes + +- isWeb check for WASM ([#1249](https://github.com/getsentry/sentry-dart/pull/1249)) + +## 7.0.0-alpha.5 + +### Features + +- Error Cause Extractor ([#1198](https://github.com/getsentry/sentry-dart/pull/1198), [#1236](https://github.com/getsentry/sentry-dart/pull/1236)) + - Add `throwable` to `SentryException` + +### Fixes + +- Don't suppress error logs ([#1228](https://github.com/getsentry/sentry-dart/pull/1228)) +- Fix export for `BindingWrapper` ([#1234](https://github.com/getsentry/sentry-dart/pull/1234)) + +## 7.0.0-alpha.4 + +### Breaking Changes + +- Remove deprecated fields ([#1227](https://github.com/getsentry/sentry-dart/pull/1227)) + - Remove deprecated fields from the `Scope` class. + - `user(SentryUser? user)`, using the `setUser(SentryUser? user)` instead. + - `attachements`, using the `attachments` instead. + - Remove deprecated field from the `SentryFlutterOptions` class. + - `anrTimeoutIntervalMillis`, using the `anrTimeoutInterval` instead. + - `autoSessionTrackingIntervalMillis`, using the `autoSessionTrackingInterval` instead. + +### Dependencies + +- Bump Cocoa SDK from 8.0.0-rc.1 to 8.0.0 + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#800) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.0.0-rc.1...8.0.0) + +## 7.0.0-alpha.3 + +### Breaking Changes + +- Rename APM tracking feature flags to tracing ([#1222](https://github.com/getsentry/sentry-dart/pull/1222)) + - Rename + - enableAutoPerformanceTracking to enableAutoPerformanceTracing + - enableOutOfMemoryTracking to enableWatchdogTerminationTracking + +### Enhancements + +- Migrate to sentry cocoa v8 ([#1197](https://github.com/getsentry/sentry-dart/pull/1197)) + +## 7.0.0-alpha.2 + +### Features + +- Dart 3 Support ([#1220](https://github.com/getsentry/sentry-dart/pull/1220)) + +### Breaking Changes + +- Enable APM features by default ([#1217](https://github.com/getsentry/sentry-dart/pull/1217)) + - Enable by default + - captureFailedRequests + - enableStructuredDataTracing + - enableUserInteractionTracing +- Mark transaction as internal_error in case of unhandled errors ([#1218](https://github.com/getsentry/sentry-dart/pull/1218)) + +## 7.0.0-alpha.1 + +### Features + +- Feat: Introduce `Hint` data bag ([#1136](https://github.com/getsentry/sentry-dart/pull/1136)) +- Feat: Use `Hint` for screenshots ([#1165](https://github.com/getsentry/sentry-dart/pull/1165)) +- Feat: Support custom units for custom measurements ([#1181](https://github.com/getsentry/sentry-dart/pull/1181)) + +### Fixes + +- Fix: Remove `SentryOptions` related parameters from classes which also take `Hub` as a parameter (#816) + +### Enhancements + +- Enha: Replace `StackTrace.empty` with `StackTrace.current` ([#1183](https://github.com/getsentry/sentry-dart/pull/1183)) + +### Breaking Changes + +- Removed various deprecated fields ([#1036](https://github.com/getsentry/sentry-dart/pull/1036)): + - Removed the following fields from the `device` context + - language + - timezone + - screenResolution + - theme + - Removed isolate name from Dart context. It's now reported via the threads interface. It can be enabled via `options.attachThreads` +- Use `sentryClientName` instead of `sdk.identifier` ([#1135](https://github.com/getsentry/sentry-dart/pull/1135)) +- Refactor `BindingUtils` to `BindingWrapper` to enable the use of custom bindings ([#1184](https://github.com/getsentry/sentry-dart/pull/1184)) +- Bump Flutter min to 3.0.0 and Dart to 2.17.0 ([#1180](https://github.com/getsentry/sentry-dart/pull/1180)) + +## 6.19.0 + +### Fixes + +- intl is now more version permissive (>=0.17.0 <1.0.0) ([#1247](https://github.com/getsentry/sentry-dart/pull/1247)) + +### Breaking Changes: + +- sentry_file now requires Dart >= 2.19 ([#1240](https://github.com/getsentry/sentry-dart/pull/1240)) + +## 6.18.3 + +### Fixes + +- Fix Pod target for iOS ([#1237](https://github.com/getsentry/sentry-dart/pull/1237)) + +### Dependencies + +- Bump Android SDK from v6.11.0 to v6.12.1 ([#1225](https://github.com/getsentry/sentry-dart/pull/1225), [#1230](https://github.com/getsentry/sentry-dart/pull/1230)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6121) + - [diff](https://github.com/getsentry/sentry-java/compare/6.11.0...6.12.1) + +## 6.18.2 + +### Fixes + +- enableUserInteractionTracing sometimes finds the wrong widget ([#1212](https://github.com/getsentry/sentry-dart/pull/1212)) +- Only call method channels on native platforms ([#1196](https://github.com/getsentry/sentry-dart/pull/1196)) + +### Dependencies + +- Bump Android SDK from v6.9.2 to v6.11.0 ([#1194](https://github.com/getsentry/sentry-dart/pull/1194), [#1209](https://github.com/getsentry/sentry-dart/pull/1209)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6110) + - [diff](https://github.com/getsentry/sentry-java/compare/6.9.2...6.11.0) +- Bump Cocoa SDK from v7.31.3 to v7.31.5 ([#1190](https://github.com/getsentry/sentry-dart/pull/1190), [#1207](https://github.com/getsentry/sentry-dart/pull/1207)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/8.0.0/CHANGELOG.md#7315) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.31.3...7.31.5) + +## 6.18.1 + +### Fixes + +- Missing slow and frozen frames for Auto transactions ([#1172](https://github.com/getsentry/sentry-dart/pull/1172)) + +### Dependencies + +- Bump Android SDK from v6.9.1 to v6.9.2 ([#1167](https://github.com/getsentry/sentry-dart/pull/1167)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#692) + - [diff](https://github.com/getsentry/sentry-java/compare/6.9.1...6.9.2) + +## 6.18.0 + +### Features + +- Tracing for File IO integration ([#1160](https://github.com/getsentry/sentry-dart/pull/1160)) + +### Dependencies + +- Bump Cocoa SDK from v7.31.2 to v7.31.3 ([#1157](https://github.com/getsentry/sentry-dart/pull/1157)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7313) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.31.2...7.31.3) +- Bump Android SDK from v6.8.0 to v6.9.1 ([#1159](https://github.com/getsentry/sentry-dart/pull/1159)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#691) + - [diff](https://github.com/getsentry/sentry-java/compare/6.8.0...6.9.1) + +## 6.17.0 + +### Fixes + +- Capture Future errors for Flutter Web automatically ([#1152](https://github.com/getsentry/sentry-dart/pull/1152)) + +### Features + +- User Interaction transactions and breadcrumbs ([#1137](https://github.com/getsentry/sentry-dart/pull/1137)) + +## 6.16.1 + +### Fixes + +- Do not attach headers if Span is NoOp ([#1143](https://github.com/getsentry/sentry-dart/pull/1143)) + +### Dependencies + +- Bump Cocoa SDK from v7.31.1 to v7.31.2 ([#1146](https://github.com/getsentry/sentry-dart/pull/1146)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7312) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.31.1...7.31.2) +- Bump Android SDK from v6.7.1 to v6.8.0 ([#1147](https://github.com/getsentry/sentry-dart/pull/1147)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#680) + - [diff](https://github.com/getsentry/sentry-java/compare/6.7.1...6.8.0) + +## 6.16.0 + +### Features + +- Add request context to `HttpException`, `SocketException` and `NetworkImageLoadException` ([#1118](https://github.com/getsentry/sentry-dart/pull/1118)) +- `SocketException` and `FileSystemException` with `OSError`s report the `OSError` as root exception ([#1118](https://github.com/getsentry/sentry-dart/pull/1118)) + +### Fixes + +- VendorId should be a String ([#1112](https://github.com/getsentry/sentry-dart/pull/1112)) +- Disable `enableUserInteractionBreadcrumbs` on Android when `enableAutoNativeBreadcrumbs` is disabled ([#1131](https://github.com/getsentry/sentry-dart/pull/1131)) +- Transaction name is reset after the transaction finishes ([#1125](https://github.com/getsentry/sentry-dart/pull/1125)) + +### Dependencies + +- Bump Cocoa SDK from v7.30.2 to v7.31.1 ([#1132](https://github.com/getsentry/sentry-dart/pull/1132), [#1139](https://github.com/getsentry/sentry-dart/pull/1139)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7311) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.30.2...7.31.1) +- Bump Android SDK from v6.7.0 to v6.7.1 ([#1112](https://github.com/getsentry/sentry-dart/pull/1112)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#671) + - [diff](https://github.com/getsentry/sentry-java/compare/6.7.0...6.7.1) + +## 6.15.1 + +### Dependencies + +- Bump Cocoa SDK from v7.30.1 to v7.30.2 ([#1113](https://github.com/getsentry/sentry-dart/pull/1113)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7302) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.30.1...7.30.2) + +## 6.15.0 + +### Features + +- Feat: Screenshot Attachment ([#1088](https://github.com/getsentry/sentry-dart/pull/1088)) + +### Fixes + +- Merging of integrations and packages ([#1111](https://github.com/getsentry/sentry-dart/pull/1111)) +- Add missing `fragment` for HTTP Client Errors ([#1102](https://github.com/getsentry/sentry-dart/pull/1102)) +- Sync user name and geo for Android ([#1102](https://github.com/getsentry/sentry-dart/pull/1102)) +- Add mechanism to Dio Http Client error ([#1114](https://github.com/getsentry/sentry-dart/pull/1114)) + +### Dependencies + +- Bump Android SDK from v6.6.0 to v6.7.0 ([#1105](https://github.com/getsentry/sentry-dart/pull/1105)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#670) + - [diff](https://github.com/getsentry/sentry-java/compare/6.6.0...6.7.0) +- Bump Cocoa SDK from v7.30.0 to v7.30.1 ([#1104](https://github.com/getsentry/sentry-dart/pull/1104)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7301) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.30.0...7.30.1) + +## 6.14.0 + +### Features + +- Capture response information in `SentryHttpClient` ([#1095](https://github.com/getsentry/sentry-dart/pull/1095)) + +### Changes + +- Remove experimental `SentryResponse` fields: `url`, `body`, `redirected`, `status` ([#1095](https://github.com/getsentry/sentry-dart/pull/1095)) +- `SentryHttpClient` request body capture checks default PII capture setting, same as the DIO integration ([#1095](https://github.com/getsentry/sentry-dart/pull/1095)) + +### Dependencies + +- Bump Android SDK from v6.5.0 to v6.6.0 ([#1090](https://github.com/getsentry/sentry-dart/pull/1090)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#660) + - [diff](https://github.com/getsentry/sentry-java/compare/6.5.0...6.6.0) +- Bump Cocoa SDK from v7.28.0 to v7.30.0 ([#1089](https://github.com/getsentry/sentry-dart/pull/1089), [#1101](https://github.com/getsentry/sentry-dart/pull/1101)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7300) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.28.0...7.30.0) + +## 6.13.1 + +### Fixes + +- Avoid dependency conflict with package_info_plus v3 ([#1084](https://github.com/getsentry/sentry-dart/pull/1084)) + +## 6.13.0 + +### Features + +- Use PlatformDispatcher.onError in Flutter 3.3 ([#1039](https://github.com/getsentry/sentry-dart/pull/1039)) + +### Fixes + +- Bring protocol up to date with latest Sentry protocol ([#1038](https://github.com/getsentry/sentry-dart/pull/1038)) + +### Dependencies + +- Bump Cocoa SDK from v7.27.1 to v7.28.0 ([#1080](https://github.com/getsentry/sentry-dart/pull/1080)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7280) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.27.1...7.28.0) + +## 6.12.2 + +### Fixes + +- Avoid dependency conflict with package_info_plus v2 ([#1068](https://github.com/getsentry/sentry-dart/pull/1068)) + +## 6.12.1 + +### Dependencies + +- Bump Android SDK from v6.4.3 to v6.5.0 ([#1062](https://github.com/getsentry/sentry-dart/pull/1062), [#1064](https://github.com/getsentry/sentry-dart/pull/1064)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#650) + - [diff](https://github.com/getsentry/sentry-java/compare/6.4.3...6.5.0) + +## 6.12.0 + +### Fixes + +- Handle traces sampler exception ([#1040](https://github.com/getsentry/sentry-dart/pull/1040)) +- tracePropagationTargets ignores invalid Regex ([#1043](https://github.com/getsentry/sentry-dart/pull/1043)) +- SentryDevice cast error ([#1059](https://github.com/getsentry/sentry-dart/pull/1059)) + +### Features + +- Added [Flutter renderer](https://docs.flutter.dev/development/platform-integration/web/renderers) information to events ([#1035](https://github.com/getsentry/sentry-dart/pull/1035)) +- Added missing DSN field into the SentryEnvelopeHeader ([#1050](https://github.com/getsentry/sentry-dart/pull/1050)) + +### Dependencies + +- Bump Android SDK from v6.4.2 to v6.4.3 ([#1048](https://github.com/getsentry/sentry-dart/pull/1048)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#643) + - [diff](https://github.com/getsentry/sentry-java/compare/6.4.2...6.4.3) +- Bump Cocoa SDK from v7.27.0 to v7.27.1 ([#1049](https://github.com/getsentry/sentry-dart/pull/1049)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7271) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.27.0...7.27.1) + +## 6.11.2 + +### Fixes + +- Tracer does not allow setting measurement if finished ([#1026](https://github.com/getsentry/sentry-dart/pull/1026)) +- Add missing measurements units ([#1033](https://github.com/getsentry/sentry-dart/pull/1033)) + +### Features + +- Bump Cocoa SDK from v7.26.0 to v7.27.0 ([#1030](https://github.com/getsentry/sentry-dart/pull/1030)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7270) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.26.0...7.27.0) + +## 6.11.1 + +### Fixes + +- Align span spec for serialize ops ([#1024](https://github.com/getsentry/sentry-dart/pull/1024)) +- Pin sentry version ([#1020](https://github.com/getsentry/sentry-dart/pull/1020)) + +### Features + +- Bump Cocoa SDK from v7.25.1 to v7.26.0 ([#1023](https://github.com/getsentry/sentry-dart/pull/1023)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7260) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.25.1...7.26.0) + +## 6.11.0 + +### Fixes + +- Scope cloning method was not setting the user ([#1013](https://github.com/getsentry/sentry-dart/pull/1013)) + +### Features + +- Dynamic sampling ([#1004](https://github.com/getsentry/sentry-dart/pull/1004)) +- Set custom measurements on transactions ([#1011](https://github.com/getsentry/sentry-dart/pull/1011)) + +## 6.10.0 + +### Fixes + +- Capture Callback Exceptions ([#990](https://github.com/getsentry/sentry-dart/pull/990)) +- Allow routeNameExtractor to set transaction names ([#1005](https://github.com/getsentry/sentry-dart/pull/1005)) + +### Features + +- Prepare future support for iOS and macOS obfuscated app symbolication using dSYM (requires Flutter `master` channel) ([#823](https://github.com/getsentry/sentry-dart/pull/823)) +- Bump Android SDK from v6.3.1 to v6.4.2 ([#989](https://github.com/getsentry/sentry-dart/pull/989), [#1009](https://github.com/getsentry/sentry-dart/pull/1009)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#642) + - [diff](https://github.com/getsentry/sentry-java/compare/6.3.1...6.4.2) +- Bump Cocoa SDK from v7.23.0 to v7.25.1 ([#993](https://github.com/getsentry/sentry-dart/pull/993), [#996](https://github.com/getsentry/sentry-dart/pull/996), [#1000](https://github.com/getsentry/sentry-dart/pull/1000), [#1007](https://github.com/getsentry/sentry-dart/pull/1007)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7251) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.23.0...7.25.1) + +## 6.9.1 + +### Fixes + +* Scope.clone incorrectly accesses tags ([#978](https://github.com/getsentry/sentry-dart/pull/978)) +* beforeBreadcrumb was not adding the mutated breadcrumb ([#982](https://github.com/getsentry/sentry-dart/pull/982)) + +### Features + +- Bump Cocoa SDK to v7.23.0 ([#968](https://github.com/getsentry/sentry-dart/pull/968)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7230) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.22.0...7.23.0) +- Bump Android SDK from v6.3.0 to v6.3.1 ([#976](https://github.com/getsentry/sentry-dart/pull/976)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#631) + - [diff](https://github.com/getsentry/sentry-java/compare/6.3.0...6.3.1) + +## 6.9.0 + +### Features + +* Bump Flutter's min. supported version from 1.17.0 to 2.0.0 ([#966](https://github.com/getsentry/sentry-dart/pull/966)) + +This should not break anything since the Dart's min. version is already 2.12.0 and Flutter 2.0.0 uses Dart 2.12.0 + +### Fixes + +* Back compatibility of Object.hash for Dart 2.12.0 ([#966](https://github.com/getsentry/sentry-dart/pull/966)) +* Fix back compatibility for OnErrorIntegration integration ([#965](https://github.com/getsentry/sentry-dart/pull/965)) + +## 6.8.1 + +### Fixes + +* `Scope#setContexts` pasing a List value would't not work ([#932](https://github.com/getsentry/sentry-dart/pull/932)) + +### Features + +* Add integration for `PlatformDispatcher.onError` ([#915](https://github.com/getsentry/sentry-dart/pull/915)) +- Bump Cocoa SDK to v7.22.0 ([#960](https://github.com/getsentry/sentry-dart/pull/960)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7220) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.21.0...7.22.0) + +## 6.8.0 + +### Fixes + +* Missing OS context for iOS events ([#958](https://github.com/getsentry/sentry-dart/pull/958)) +* Fix: `Scope#clone` calls the Native bridges again via the `scopeObserver` ([#959](https://github.com/getsentry/sentry-dart/pull/959)) + +### Features + +* Dio Integration adds response data ([#934](https://github.com/getsentry/sentry-dart/pull/934)) + +## 6.7.0 + +### Fixes + +* Maps with Key Object, Object would fail during serialization if not String, Object ([#935](https://github.com/getsentry/sentry-dart/pull/935)) +* Breadcrumbs "Concurrent Modification" ([#948](https://github.com/getsentry/sentry-dart/pull/948)) +* Duplicative Screen size changed breadcrumbs ([#888](https://github.com/getsentry/sentry-dart/pull/888)) +* Duplicated Android Breadcrumbs with no Mechanism ([#954](https://github.com/getsentry/sentry-dart/pull/954)) +* Fix windows native method need default result ([#943](https://github.com/getsentry/sentry-dart/pull/943)) +* Add request instead of response data to `SentryRequest` in `DioEventProcessor` [#933](https://github.com/getsentry/sentry-dart/pull/933) + +### Features + +- Bump Android SDK to v6.3.0 ([#945](https://github.com/getsentry/sentry-dart/pull/945), [#950](https://github.com/getsentry/sentry-dart/pull/950)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#630) + - [diff](https://github.com/getsentry/sentry-java/compare/6.1.4...6.3.0) +- Bump Cocoa SDK to v7.21.0 ([#947](https://github.com/getsentry/sentry-dart/pull/947)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7210) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.19.0...7.21.0) + +## 6.6.3 + +### Fixes + +* Context Escape with ScopeCallback ([#925](https://github.com/getsentry/sentry-dart/pull/925)) + +## 6.6.2 + +### Features + +- Bump Android SDK to v6.1.4 ([#900](https://github.com/getsentry/sentry-dart/pull/900)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#614) + - [diff](https://github.com/getsentry/sentry-java/compare/6.1.2...6.1.4) +- Bump Cocoa SDK to v7.19.0 ([#901](https://github.com/getsentry/sentry-dart/pull/901), [#928](https://github.com/getsentry/sentry-dart/pull/928)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/master/CHANGELOG.md#7190) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/7.18.0...7.19.0) + +### Fixes + +* Send DidBecomeActiveNotification when OOM enabled (#905) +* `dio.addSentry` hangs if `dsn` is empty and SDK NoOp ([#920](https://github.com/getsentry/sentry-dart/pull/920)) +* addBreadcrumb throws on Android API < 24 because of NewApi usage ([#923](https://github.com/getsentry/sentry-dart/pull/923)) +* [`sentry_dio`](https://pub.dev/packages/sentry_dio) is promoted to GA and not experimental anymore ([#914](https://github.com/getsentry/sentry-dart/pull/914)) + +## 6.6.1 + +### Fixes + +* Filter out app starts with more than 60s (#895) + +## 6.6.0 + +### Fixes + +* Bump: Sentry-Cocoa to 7.18.0 and Sentry-Android to 6.1.2 (#892) +* Fix: Add missing iOS contexts (#761) +* Fix serialization of threads (#844) +* Fix: `SentryAssetBundle` on Flutter >= 3.1 (#877) + +### Features + +* Feat: Client Reports (#829) +* Feat: Allow manual init of the Native SDK (#765) +* Feat: Attach Isolate name to thread context (#847) +* Feat: Add Android thread to platform stacktraces (#853) +* Feat: Sync Scope to Native (#858) + +### Sentry Self-hosted Compatibility + +* Starting with version `6.6.0` of `sentry`, [Sentry's version >= v21.9.0](https://github.com/getsentry/self-hosted/releases) is required or you have to manually disable sending client reports via the `sendClientReports` option. This only applies to self-hosted Sentry. If you are using [sentry.io](https://sentry.io), no action is needed. + +## 6.6.0-beta.4 + +* Bump: Sentry-Cocoa to 7.17.0 and Sentry-Android to 6.1.1 (#891) + +## 6.6.0-beta.3 + +* Bump: Sentry-Cocoa to 7.16.1 (#886) + +## 6.6.0-beta.2 + +* Fix: Add user setter back in the scope (#883) +* Fix: clear method sets all properties synchronously (#882) + +## 6.6.0-beta.1 + +* Feat: Sync Scope to Native (#858) + +## 6.6.0-alpha.3 + +* Feat: Attach Isolate name to thread context (#847) +* Fix: `SentryAssetBundle` on Flutter >= 3.1 (#877) +* Feat: Add Android thread to platform stacktraces (#853) +* Fix: Rename auto initialize property (#857) +* Bump: Sentry-Android to 6.0.0 (#879) + +## 6.6.0-alpha.2 + +* Fix serialization of threads (#844) +* Feat: Allow manual init of the Native SDK (#765) + +## 6.6.0-alpha.1 + +* Feat: Client Reports (#829) +* Fix: Add missing iOS contexts (#761) + +### Sentry Self-hosted Compatibility + +* Starting with version `6.6.0` of `sentry`, [Sentry's version >= v21.9.0](https://github.com/getsentry/self-hosted/releases) is required or you have to manually disable sending client reports via the `sendClientReports` option. This only applies to self-hosted Sentry. If you are using [sentry.io](https://sentry.io), no action is needed. + +## 6.5.1 + +* Update event contexts (#838) + +## 6.5.0 + +* No documented changes. + +## 6.5.0-beta.2 + +* Fix: Do not set the transaction to scope if no op (#828) + +## 6.5.0-beta.1 + +* No documented changes. + +## 6.5.0-alpha.3 + +* Feat: Support for platform stacktraces on Android (#788) + +## 6.5.0-alpha.2 + +* Bump: Sentry-Android to 5.7.0 and Sentry-Cocoa to 7.11.0 (#796) +* Fix: Dio event processor safelly bails if no DioError in the exception list (#795) + +## 6.5.0-alpha.1 + +* Feat: Mobile Vitals - Native App Start (#749) +* Feat: Mobile Vitals - Native Frames (#772) + +## 6.4.0 + +### Various fixes & improvements + +* Fix: Missing userId on iOS when userId is not set (#782) by @marandaneto +* Allow to set startTimestamp & endTimestamp manually to SentrySpan (#676) by @fatihergin + +## 6.4.0-beta.3 + +* Feat: Allow to set startTimestamp & endTimestamp manually to SentrySpan (#676) +* Bump: Sentry-Cocoa to 7.10.0 (#777) +* Feat: Additional Dart/Flutter context information (#778) +* Bump: Kotlin plugin to 1.5.31 (#763) +* Fix: Missing userId on iOS when userId is not set (#782) + +## 6.4.0-beta.2 + +* No documented changes. + +## 6.4.0-beta.1 + +* Fix: Disable log by default in debug mode (#753) +* [Dio] Ref: Replace FailedRequestAdapter with FailedRequestInterceptor (#728) +* Fix: Add missing return values - dart analyzer (#742) +* Feat: Add `DioEventProcessor` which improves DioError crash reports (#718) +* Fix: Do not report duplicated packages and integrations (#760) +* Feat: Allow manual init of the Native SDK or no Native SDK at all (#765) + +## 6.3.0 + +* Feat: Support maxSpan for performance API and expose SentryOptions through Hub (#716) +* Fix: await ZonedGuard integration to run (#732) +* Fix: `sentry_logging` incorrectly setting SDK name (#725) +* Bump: Sentry-Android to 5.6.1 and Sentry-Cocoa to 7.9.0 (#736) +* Feat: Support Attachment.addToTransactions (#709) +* Fix: captureTransaction should return emptyId when transaction is discarded (#713) +* Add `SentryAssetBundle` for automatic spans for asset loading (#685) +* Fix: `maxRequestBodySize` should be `never` by default when using the FailedRequestClientAdapter directly (#701) +* Feat: Add support for [Dio](https://pub.dev/packages/dio) (#688) +* Fix: Use correct data/extras type in tracer (#693) +* Fix: Do not throw when Throwable type is not supported for associating errors to a transaction (#692) +* Feat: Automatically create transactions when navigating between screens (#643) + +## 6.3.0-beta.4 + +* Feat: Support Attachment.addToTransactions (#709) +* Fix: captureTransaction should return emptyId when transaction is discarded (#713) + +## 6.3.0-beta.3 + +* Feat: Auto transactions duration trimming (#702) +* Add `SentryAssetBundle` for automatic spans for asset loading (#685) +* Feat: Configure idle transaction duration (#705) +* Fix: `maxRequestBodySize` should be `never` by default when using the FailedRequestClientAdapter directly (#701) + +## 6.3.0-beta.2 + +* Feat: Improve configuration options of `SentryNavigatorObserver` (#684) +* Feat: Add support for [Dio](https://pub.dev/packages/dio) (#688) +* Bump: Sentry-Android to 5.5.2 and Sentry-Cocoa to 7.8.0 (#696) + +## 6.3.0-beta.1 + +* Enha: Replace flutter default root name '/' with 'root' (#678) +* Fix: Use 'navigation' instead of 'ui.load' for auto transaction operation (#675) +* Fix: Use correct data/extras type in tracer (#693) +* Fix: Do not throw when Throwable type is not supported for associating errors to a transaction (#692) + +## 6.3.0-alpha.1 + +* Feat: Automatically create transactions when navigating between screens (#643) + +## 6.2.2 + +* Fix: ConcurrentModificationError in when finishing span (#664) +* Feat: Add enableNdkScopeSync Android support (#665) + +## 6.2.1 + +* Fix: `sentry_logging` works now on web (#660) +* Fix: `sentry_logging` timestamps are in UTC (#660) +* Fix: `sentry_logging` Level.Off is never recorded (#660) +* Fix: Rate limiting fallback to retryAfterHeader (#658) + +## 6.2.0 + +* Feat: Integration for `logging` (#631) +* Feat: Add logger name to `SentryLogger` and send errors in integrations to the registered logger (#641) + +## 6.1.2 + +* Fix: Remove is Enum check to support older Dart versions (#635) + +## 6.1.1 + +* Fix: Transaction serialization if not encodable (#633) + +## 6.1.0 + +* Bump: Sentry-Android to 5.3.0 and Sentry-Cocoa to 7.5.1 (#629) +* Fix: event.origin tag for macOS and other Apple platforms (#622) +* Feat: Add current route as transaction (#615) +* Feat: Add Breadcrumbs for Flutters `debugPrint` (#618) +* Feat: Enrich Dart context with isolate name (#600) +* Feat: Sentry Performance for HTTP client (#603) +* Performance API for Dart/Flutter (#530) + +### Breaking Changes: + +* `SentryEvent` inherits from the `SentryEventLike` mixin +* `Scope#transaction` sets and reads from the `Scope#span` object if bound to the Scope + +## 6.1.0-beta.1 + +* Feat: Add current route as transaction (#615) +* Feat: Add Breadcrumbs for Flutters `debugPrint` (#618) + +## 6.1.0-alpha.2 + +* Bump Sentry Android SDK to [5.2.0](https://github.com/getsentry/sentry-dart/pull/594) (#594) + - [changelog](https://github.com/getsentry/sentry-java/blob/5.2.0/CHANGELOG.md) + - [diff](https://github.com/getsentry/sentry-java/compare/5.1.2...5.2.0) +* Feat: Enrich Dart context with isolate name (#600) +* Feat: Sentry Performance for HTTP client (#603) + +## 6.1.0-alpha.1 + +* Performance API for Dart/Flutter (#530) + +### Breaking Changes: + +* `SentryEvent` inherits from the `SentryEventLike` mixin +* `Scope#transaction` sets and reads from the `Scope#span` object if bound to the Scope + +## 6.0.1 + +* Fix: Set custom SentryHttpClientError when HTTP error is captured without an exception (#580) +* Bump: Android AGP 4.1 (#586) +* Bump: Sentry Cocoa to 7.3.0 (#589) + +## 6.0.0 + +* Fix: Update `SentryUser` according to docs (#561) +* Feat: Enable or disable reporting of packages (#563) +* Bump: Sentry-Cocoa to 7.2.7 (#578) +* Bump: Sentry-Android to 5.1.2 (#578) +* Fix: Read Sentry config from environment variables as fallback (#567) + +## 6.0.0-beta.4 + +### Breaking Changes: + +* Feat: Lists of exceptions and threads (#524) +* Feat: Collect more information for exceptions collected via `FlutterError.onError` (#538) +* Feat: Add maxAttachmentSize option (#553) +* Feat: HTTP breadcrumbs have the request & response size if available (#552) + +## 6.0.0-beta.3 + +* Fix: Re-initialization of Flutter SDK (#526) +* Enhancement: Call `toString()` on all non-serializable fields (#528) +* Fix: Always call `Flutter.onError` in order to not swallow messages (#533) +* Bump: Android SDK to 5.1.0-beta.6 (#535) + +## 6.0.0-beta.2 + +* Fix: Serialization of Flutter Context (#520) +* Feat: Add support for attachments (#505) +* Feat: Add support for User Feedback (#506) + +## 6.0.0-beta.1 + +* Feat: Browser detection (#502) +* Feat: Enrich events with more context (#452) +* Feat: Add Culture Context (#491) +* Feat: Add DeduplicationEventProcessor (#498) +* Feat: Capture failed requests as event (#473) +* Feat: `beforeSend` callback accepts async code (#494) + +### Breaking Changes: + +* Ref: EventProcessor changed to an interface (#489) +* Feat: Support envelope based transport for events (#391) + * The method signature of `Transport` changed from `Future send(SentryEvent event)` to `Future send(SentryEnvelope envelope)` +* Remove `Sentry.currentHub` (#490) +* Ref: Rename `cacheDirSize` to `maxCacheItems` and add `maxCacheItems` for iOS (#495) +* Ref: Add error and stacktrace parameter to logger (#503) +* Feat: Change timespans to Durations in SentryOptions (#504) +* Feat: `beforeSend` callback accepts async code (#494) + +### Sentry Self Hosted Compatibility + +* Since version `6.0.0` of the `sentry`, [Sentry's version >= v20.6.0](https://github.com/getsentry/self-hosted/releases) is required. This only applies to on-premise Sentry, if you are using sentry.io no action is needed. + +## 5.1.0 + +* Fix: Merge user from event and scope (#467) +* Feature: Allow setting of default values for in-app-frames via `SentryOptions.considerInAppFramesByDefault` (#482) +* Bump: sentry-android to v5.0.1 (#486) +* Bump: Sentry-Cocoa to 7.1.3 for iOS and macOS (#488) + +## 5.1.0-beta.1 + +* Fix: `Sentry.close()` closes native SDK integrations (#388) +* Feat: Support for macOS (#389) +* Feat: Support for Linux (#402) +* Feat: Support for Windows (#407) +* Fix: Mark `Sentry.currentHub` as deprecated (#406) +* Fix: Set console logger as default logger in debug mode (#413) +* Fix: Use name from pubspec.yaml for release if package id is not available (#411) +* Feat: `SentryHttpClient` tracks the duration which a request takes and logs failed requests (#414) +* Bump: sentry-cocoa to v7.0.0 (#424) +* Feat: Support for Out-of-Memory-Tracking on macOS/iOS (#424) +* Fix: Trim `\u0000` from Windows package info (#420) +* Feature: Log calls to `print()` as Breadcrumbs (#439) +* Fix: `dist` was read from `SENTRY_DSN`, now it's read from `SENTRY_DIST` (#442) +* Bump: sentry-cocoa to v7.0.3 (#445) +* Fix: Fix adding integrations on web (#450) +* Fix: Use `log()` instead of `print()` for SDK logging (#453) +* Bump: sentry-android to v5.0.0-beta.2 (#457) +* Feature: Add `withScope` callback to capture methods (#463) +* Fix: Add missing properties `language`, `screenHeightPixels` and `screenWidthPixels` to `SentryDevice` (#465) + +### Sentry Self Hosted Compatibility + +* This version of the `sentry` Dart package requires [Sentry server >= v20.6.0](https://github.com/getsentry/self-hosted/releases). This only applies to on-premise Sentry, if you are using sentry.io no action is needed. + +## 5.0.0 + +* Sound null safety +* Fix: event.origin and event.environment tags have wrong value for iOS (#365) and (#369) +* Fix: Fix deprecated `registrar.messenger` call in `SentryFlutterWeb` (#364) +* Fix: Enable breadcrumb recording mechanism based on platform (#366) +* Feat: Send default PII options (#360) +* Bump: sentry-cocoa to v6.2.1 (#360) +* Feat: Migration from `package_info` to `package_info_plus` plugin (#370) +* Fix: Set `SentryOptions.debug` in `sentry` (#376) +* Fix: Read all environment variables in `sentry` (#375) + +### Breaking Changes: + +* Return type of `Sentry.close()` changed from `void` to `Future` and `Integration.close()` changed from `void` to `FutureOr` (#395) +* Remove deprecated member `enableLifecycleBreadcrumbs`. Use `enableAppLifecycleBreadcrumbs` instead. (#366) + +## 4.1.0-nullsafety.1 + +* Bump: sentry-android to v4.3.0 (#343) +* Fix: Multiple FlutterError.onError calls in FlutterErrorIntegration (#345) +* Fix: Pass hint to EventProcessors (#356) +* Fix: EventProcessors were not dropping events when returning null (#353) + +### Breaking Changes: + +* Fix: Plugin Registrant class moved to barrel file (#358) + * This changed the import from `import 'package:sentry_flutter/src/sentry_flutter_web.dart';` + to `import 'package:sentry_flutter/sentry_flutter_web.dart';` + * This could lead to breaking changes. Typically it shouldn't because the referencing file is auto-generated. +* Fix: Prefix classes with Sentry (#357) + * A couple of classes were often conflicting with user's code. + Thus this change renames the following classes: + * `App` -> `SentryApp` + * `Browser` -> `SentryBrowser` + * `Device` -> `SentryDevice` + * `Gpu` -> `SentryGpu` + * `Integration` -> `SentryIntegration` + * `Message` -> `SentryMessage` + * `OperatingSystem` -> `SentryOperatingSystem` + * `Request` -> `SentryRequest` + * `User` -> `SentryUser` + * `Orientation` -> `SentryOrientation` + +## 4.1.0-nullsafety.0 + +* Fix: Do not append stack trace to the exception if there are no frames +* Fix: Empty DSN disables the SDK and runs the App +* Feat: sentry and sentry_flutter null-safety thanks to @ueman and @fzyzcjy + +## 4.0.6 + +* Fix: captureMessage defaults SentryLevel to info +* Fix: SentryEvent.throwable returns the unwrapped throwable instead of the throwableMechanism +* Feat: Support enableNativeCrashHandling on iOS + +## 4.0.5 + +* Bump: sentry-android to v4.0.0 +* Fix: Pana Flutter upper bound deprecation +* Fix: sentry_flutter static analysis (pana) using stable version + +## 4.0.4 + +* Fix: Call WidgetsFlutterBinding.ensureInitialized() within runZoneGuarded + +## 4.0.3 + +* Fix: Auto session tracking start on iOS #274 +* Bump: Sentry-cocoa to 6.1.4 + +## 4.0.2 + +* Fix: Mark session as `errored` in iOS #270 +* Fix: Pass auto session tracking interval to iOS +* Fix: Deprecated binaryMessenger (MethodChannel member) for Flutter Web +* Ref: Make `WidgetsFlutterBinding.ensureInitialized();` the first thing the Sentry SDK calls. +* Bump: Sentry-cocoa to 6.0.12 +* Feat: Respect FlutterError silent flag #248 +* Bump: Android SDK to v3.2.1 #273 + +## 4.0.1 + +* Ref: Changed category of Flutter lifecycle tracking [#240](https://github.com/getsentry/sentry-dart/issues/240) +* Fix: Envelope length should be based on the UTF8 array instead of String length + +## 4.0.0 + +Release of Sentry's new SDK for Dart/Flutter. + +New features not offered by <= v4.0.0: + +### Dart SDK + +* Sentry's [Unified API](https://develop.sentry.dev/sdk/unified-api/). +* Complete Sentry's [Protocol](https://develop.sentry.dev/sdk/event-payloads/) available. +* [Dart SDK](https://docs.sentry.io/platforms/dart/) docs. +* Automatic [HTTP Breadcrumbs](https://docs.sentry.io/platforms/dart/usage/advanced-usage/#automatic-breadcrumbs) for [http.Client](https://pub.dev/documentation/http/latest/http/Client-class.html) +* No boilerplate for `runZonedGuarded` and `Isolate.current.addErrorListener` +* All events are enriched with [Scope's Contexts](https://develop.sentry.dev/sdk/event-payloads/#scope-interfaces), this includes Breadcrumbs, tags, User, etc... + +### Flutter SDK + +* The Flutter SDK is built on top of the Dart SDK, so it includes all the available features, plus +* [Flutter SDK](https://docs.sentry.io/platforms/flutter/) docs. +* Automatic [NavigatorObserver Breadcrumbs](https://docs.sentry.io/platforms/flutter/usage/advanced-usage/#automatic-breadcrumbs) +* Automatic [Device's Breadcrumbs](https://docs.sentry.io/platforms/flutter/usage/advanced-usage/#automatic-breadcrumbs) through the Android and iOS SDKs or via Sentry's `WidgetsBindingObserver` wrapper +* No boilerplate for `FlutterError.onError` +* All events are enriched with [Contexts's data](https://develop.sentry.dev/sdk/event-payloads/contexts/), this includes Device's, OS, App info, etc... +* Offline caching +* [Release health](https://docs.sentry.io/product/releases/health/) +* Captures not only Dart and Flutter errors, but also errors caused on the native platforms, Like Kotlin, Java, C and C++ for Android and Swift, ObjC, C, C++ for iOS +* Supports Fatal crashes, Event is going to be sent on App's restart +* Supports `split-debug-info` for Android only +* Flutter Android, iOS and limited support for Flutter Web + +Improvements: + +* Feat: Added a copyWith method to all the protocol classes + +Packages were released on [sentry pubdev](https://pub.dev/packages/sentry) and [sentry_flutter pubdev](https://pub.dev/packages/sentry_flutter) + +### Sentry Self Hosted Compatibility + +* Since version `4.0.0` of the `sentry_flutter`, [Sentry's version >= v20.6.0](https://github.com/getsentry/self-hosted/releases) is required. This only applies to on-premise Sentry, if you are using sentry.io no action is needed. + +## 4.0.0-beta.2 + +* Ref: Remove duplicated attachStackTrace field +* Fix: Flutter Configurations should be able to mutate the SentryFlutterOptions +* Enhancement: Add SentryWidgetsBindingObserver, an Integration that captures certain window and device events. +* Enhancement: Set `options.environment` on SDK init based on the flags (kReleaseMode, kDebugMode, kProfileMode or SENTRY_ENVIRONMENT). +* Feature: SentryHttpClient to capture HTTP requests as breadcrumbs +* Ref: Only assign non-null option values in Android native integration in order preserve default values +* Enhancement: Add 'attachThreads' in options. When enabled, threads are attached to all logged events for Android +* Ref: Rename typedef `Logger` to `SentryLogger` to prevent name clashes with logging packages +* Fix: Scope Event processors should be awaited +* Fix: Package usage as git dependency + +### Breaking changes + +* `Logger` typedef is renamed to `SentryLogger` +* `attachStackTrace` is renamed to `attachStacktrace` + +## 4.0.0-beta.1 + +* Fix: StackTrace frames with 'package' uri.scheme are inApp by default #185 +* Fix: Missing App's StackTrace frames for Flutter errors +* Enhancement: Add isolateErrorIntegration and runZonedGuardedIntegration to default integrations in sentry-dart +* Fix: Breadcrumb list is a plain list instead of a values list #201 +* Ref: Remove deprecated classes (Flutter Plugin for Android) and cleaning up #186 +* Fix: Handle immutable event lists and maps +* Fix: NDK integration was being disabled by a typo +* Fix: Missing toList for debug meta #192 +* Enhancement: NavigationObserver to record Breadcrumbs for navigation events #197 +* Fix: Integrations should be closeable +* Feat: Support split-debug-info for Android #191 +* Fix: the event payload must never serialize null or empty fields +* Ref: Make hints optional + +### Breaking changes + +* `Sentry.init` and `SentryFlutter.init` have an optional callback argument which runs the host App after Sentry initialization. +* `Integration` is an `Interface` instead of a pure Function +* `Hints` are optional arguments +* Sentry Dart SDK adds an `IsolateError` handler by default + +## 4.0.0-alpha.2 + +* Enhancement: `Contexts` were added to the `Scope` #154 +* Fix: App. would hang if `debug` mode was enabled and refactoring ##157 +* Enhancement: Sentry Protocol v7 +* Enhancement: Added missing Protocol fields, `Request`, `SentryStackTrace`...) #155 +* Feat: Added `attachStackTrace` options to attach stack traces on `captureMessage` calls +* Feat: Flutter SDK has the Native SDKs embedded (Android and Apple) #158 + +### Breaking changes + +* `Sentry.init` returns a `Future`. +* Dart min. SDK is `2.8.0` +* Flutter min. SDK is `1.17.0` +* Timestamp has millis precision. +* For better groupping, add your own package to the `addInAppInclude` list, e.g. `options.addInAppInclude('sentry_flutter_example');` +* A few classes of the `Protocol` were renamed. + +### Sentry Self Hosted Compatibility + +* Since version `4.0.0` of the `sentry_flutter`, `Sentry` version >= `v20.6.0` is required. This only applies to on-premise Sentry, if you are using sentry.io no action is needed. + +## 4.0.0-alpha.1 + +First Release of Sentry's new SDK for Dart/Flutter. + +New features not offered by <= v4.0.0: + +* Sentry's [Unified API](https://develop.sentry.dev/sdk/unified-api/). +* Complete Sentry [Protocol](https://develop.sentry.dev/sdk/event-payloads/) available. +* Docs and Migration is under review on this [PR](https://github.com/getsentry/sentry-docs/pull/2599) +* For all the breaking changes follow this [PR](https://github.com/getsentry/sentry-dart/pull/117), they'll be soon available on the Migration page. + +Packages were released on [pubdev](https://pub.dev/packages/sentry) + +We'd love to get feedback and we'll work in getting the GA 4.0.0 out soon. +Until then, the stable SDK offered by Sentry is at version [3.0.1](https://github.com/getsentry/sentry-dart/releases/tag/3.0.1) + +## 3.0.1 + +* Add support for Contexts in Sentry events + +## 3.0.0+1 + +* `pubspec.yaml` and example code clean-up. + +## 3.0.0 + +* Support Web + * `SentryClient` from `package:sentry/sentry.dart` with conditional import + * `SentryBrowserClient` for web from `package:sentry/browser_client.dart` + * `SentryIOClient` for VM and Flutter from `package:sentry/io_client.dart` + +## 2.3.1 + +* Support non-standard port numbers and paths in DSN URL. + +## 2.3.0 + +* Add [breadcrumb](https://docs.sentry.io/development/sdk-dev/event-payloads/breadcrumbs/) support. + +## 2.2.0 + +* Add a `stackFrameFilter` argument to `SentryClient`'s `capture` method (96be842). +* Clean-up code using pre-Dart 2 API (91c7706, b01ebf8). + +## 2.1.1 + +* Defensively copy internal maps event attributes to + avoid shared mutable state (https://github.com/flutter/sentry/commit/044e4c1f43c2d199ed206e5529e2a630c90e4434) + +## 2.1.0 + +* Support DNS format without secret key. +* Remove dependency on `package:quiver`. +* The `clock` argument to `SentryClient` constructor _should_ now be + `ClockProvider` (but still accepts `Clock` for backwards compatibility). + +## 2.0.2 + +* Add support for user context in Sentry events. + +## 2.0.1 + +* Invert stack frames to be compatible with Sentry's default culprit detection. + +## 2.0.0 + +* Fixed deprecation warnings for Dart 2 +* Refactored tests to work with Dart 2 + +## 1.0.0 + +* first and last Dart 1-compatible release (we may fix bugs on a separate branch if there's demand) +* fix code for Dart 2 + +## 0.0.6 + +* use UTC in the `timestamp` field + +## 0.0.5 + +* remove sub-seconds from the timestamp + +## 0.0.4 + +* parse and report async gaps in stack traces + +## 0.0.3 + +* environment attributes +* auto-generate event_id and timestamp for events + +## 0.0.2 + +* parse and report stack traces +* use x-sentry-error HTTP response header +* gzip outgoing payloads by default + +## 0.0.1 + +* basic ability to send exception reports to Sentry.io diff --git a/drift/LICENSE b/drift/LICENSE new file mode 100644 index 0000000000..2a6964d84d --- /dev/null +++ b/drift/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Sentry + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/drift/analysis_options.yaml b/drift/analysis_options.yaml new file mode 100644 index 0000000000..92c8931384 --- /dev/null +++ b/drift/analysis_options.yaml @@ -0,0 +1,33 @@ +include: package:lints/recommended.yaml + +analyzer: + language: + strict-casts: true + strict-inference: true + strict-raw-types: true + errors: + # treat missing required parameters as a warning (not a hint) + missing_required_param: error + # treat missing returns as a warning (not a hint) + missing_return: error + # allow having TODOs in the code + todo: ignore + # allow self-reference to deprecated members (we do this because otherwise we have + # to annotate every member in every test, assert, etc, when we deprecate something) + deprecated_member_use_from_same_package: warning + # ignore sentry/path on pubspec as we change it on deployment + invalid_dependency: ignore + unnecessary_import: ignore + exclude: + - example/** + +linter: + rules: + - prefer_final_locals + - public_member_api_docs + - prefer_single_quotes + - prefer_relative_imports + - unnecessary_brace_in_string_interps + - implementation_imports + - require_trailing_commas + - unawaited_futures diff --git a/drift/dartdoc_options.yaml b/drift/dartdoc_options.yaml new file mode 100644 index 0000000000..20edf7f942 --- /dev/null +++ b/drift/dartdoc_options.yaml @@ -0,0 +1,3 @@ +dartdoc: + errors: + - unresolved-doc-reference diff --git a/drift/lib/sentry_drift.dart b/drift/lib/sentry_drift.dart new file mode 100644 index 0000000000..82f37f3c35 --- /dev/null +++ b/drift/lib/sentry_drift.dart @@ -0,0 +1 @@ +library sentry_drift; \ No newline at end of file diff --git a/drift/lib/src/sentry_drift_database.dart b/drift/lib/src/sentry_drift_database.dart new file mode 100644 index 0000000000..1c122dd2c7 --- /dev/null +++ b/drift/lib/src/sentry_drift_database.dart @@ -0,0 +1,155 @@ +import 'dart:async'; + +import 'package:drift/backends.dart'; +import 'package:meta/meta.dart'; +import 'package:sentry/sentry.dart'; +import 'sentry_span_helper.dart'; + +/// Signature of a function that opens a database connection when instructed to. +typedef DatabaseOpener = FutureOr Function(); + +/// Sentry Drift Database Executor based on [LazyDatabase]. +/// +/// A special database executor that delegates work to another [QueryExecutor]. +/// The other executor is lazily opened by a [DatabaseOpener]. +class SentryDriftDatabase extends QueryExecutor { + final Hub _hub; + final _spanHelper = SentrySpanHelper( + // ignore: invalid_use_of_internal_member + SentryTraceOrigins.autoDbDriftDatabaseExecutor, + ); + + String? dbName = 'people-drift-impl'; + + @internal + // ignore: public_member_api_docs + static const dbNameKey = 'db.name'; + + @internal + // ignore: public_member_api_docs + static const dbOp = 'db'; + + @internal + // ignore: public_member_api_docs + static const dbSystemKey = 'db.system'; + + @internal + // ignore: public_member_api_docs + static const dbSystem = 'sqlite'; + + /// Underlying executor + late final QueryExecutor _delegate; + + bool _delegateAvailable = false; + final SqlDialect _dialect; + + Completer? _openDelegate; + + @override + SqlDialect get dialect { + // Drift reads dialect before database opened, so we must know in advance + if (_delegateAvailable && _dialect != _delegate.dialect) { + throw Exception('LazyDatabase created with $_dialect, but underlying ' + 'database is ${_delegate.dialect}.'); + } + return _dialect; + } + + /// The function that will open the database when this [SentryDriftDatabase] gets + /// opened for the first time. + final DatabaseOpener opener; + + /// Declares a [SentryDriftDatabase] that will run [opener] when the database is + /// first requested to be opened. You must specify the same [dialect] as the + /// underlying database has + SentryDriftDatabase( + this.opener, { + SqlDialect dialect = SqlDialect.sqlite, + @internal Hub? hub, + }) : _dialect = dialect, + _hub = hub ?? HubAdapter() { + _spanHelper.setHub(_hub); + } + + Future _awaitOpened() { + if (_delegateAvailable) { + return Future.value(); + } else if (_openDelegate != null) { + return _openDelegate!.future; + } else { + final delegate = _openDelegate = Completer(); + Future.sync(opener).then((database) { + _delegate = database; + _delegateAvailable = true; + delegate.complete(); + }, onError: delegate.completeError); + return delegate.future; + } + } + + @override + + @override + TransactionExecutor beginTransaction() { + final a = _delegate.beginTransaction(); + print(a.toString()); + return _delegate.beginTransaction(); + } + + @override + Future ensureOpen(QueryExecutorUser user) { + return _awaitOpened().then((_) => _delegate.ensureOpen(user)); + } + + @override + Future runBatched(BatchedStatements statements) { + return _delegate.runBatched(statements); + } + + @override + Future runCustom(String statement, [List? args]) { + return _spanHelper.asyncWrapInSpan('custom', () async { + return await _delegate.runCustom(statement, args); + }, dbName: dbName); + } + + @override + Future runDelete(String statement, List args) { + return _spanHelper.asyncWrapInSpan('delete', () async { + return await _delegate.runDelete(statement, args); + }, dbName: dbName); + } + + @override + Future runInsert(String statement, List args) { + return _spanHelper.asyncWrapInSpan('insert', () async { + return await _delegate.runInsert(statement, args); + }, dbName: dbName); + } + + @override + Future>> runSelect( + String statement, List args) { + return _spanHelper.asyncWrapInSpan('select', () async { + return await _delegate.runSelect(statement, args); + }, dbName: dbName); + } + + @override + Future runUpdate(String statement, List args) { + return _spanHelper.asyncWrapInSpan('update', () async { + return await _delegate.runUpdate(statement, args); + }, dbName: dbName); + } + + @override + Future close() { + return _spanHelper.asyncWrapInSpan('close', () async { + if (_delegateAvailable) { + return _delegate.close(); + } else { + return Future.value(); + } + }, dbName: dbName); + } +} diff --git a/drift/lib/src/sentry_span_helper.dart b/drift/lib/src/sentry_span_helper.dart new file mode 100644 index 0000000000..7c30bfafe7 --- /dev/null +++ b/drift/lib/src/sentry_span_helper.dart @@ -0,0 +1,60 @@ +import 'package:meta/meta.dart'; + +import 'package:sentry/sentry.dart'; + +import 'sentry_drift_database.dart'; + +/// @nodoc +@internal +class SentrySpanHelper { + /// @nodoc + Hub _hub = HubAdapter(); + + /// @nodoc + final String _origin; + + /// @nodoc + SentrySpanHelper(this._origin); + + /// @nodoc + void setHub(Hub hub) { + _hub = hub; + } + + /// @nodoc + @internal + Future asyncWrapInSpan( + String description, + Future Function() execute, { + String? dbName, + }) async { + final currentSpan = _hub.getSpan(); + final span = currentSpan?.startChild( + SentryDriftDatabase.dbOp, + description: description, + ); + + // ignore: invalid_use_of_internal_member + span?.origin = _origin; + + span?.setData(SentryDriftDatabase.dbSystemKey, SentryDriftDatabase.dbSystem); + + if (dbName != null) { + span?.setData(SentryDriftDatabase.dbNameKey, dbName); + } + + try { + final result = await execute(); + + span?.status = SpanStatus.ok(); + + return result; + } catch (exception) { + span?.throwable = exception; + span?.status = SpanStatus.internalError(); + rethrow; + } finally { + await span?.finish(); + } + } +} \ No newline at end of file diff --git a/drift/pubspec.yaml b/drift/pubspec.yaml new file mode 100644 index 0000000000..ccbf40125e --- /dev/null +++ b/drift/pubspec.yaml @@ -0,0 +1,27 @@ +name: sentry_drift +description: An integration which adds support for performance tracing for the drift package. +version: 7.12.0 +homepage: https://docs.sentry.io/platforms/flutter/ +repository: https://github.com/getsentry/sentry-dart +issue_tracker: https://github.com/getsentry/sentry-dart/issues + +environment: + sdk: '>=2.17.0 <4.0.0' + +dependencies: + sentry: 7.12.0 + meta: ^1.3.0 + + drift: ^2.13.0 + sqlite3_flutter_libs: ^0.5.0 + path_provider: ^2.0.0 + path: ^1.8.3 + +dev_dependencies: + lints: ^3.0.0 + test: ^1.21.0 + coverage: ^1.3.0 + mockito: ^5.1.0 + build_runner: ^2.4.6 + drift_dev: ^2.13.0 + yaml: ^3.1.0 # needed for version match (code and pubspec) diff --git a/drift/pubspec_overrides.yaml b/drift/pubspec_overrides.yaml new file mode 100644 index 0000000000..16e71d16f0 --- /dev/null +++ b/drift/pubspec_overrides.yaml @@ -0,0 +1,3 @@ +dependency_overrides: + sentry: + path: ../dart diff --git a/drift/test/mocks/mocks.dart b/drift/test/mocks/mocks.dart new file mode 100644 index 0000000000..f0966355c6 --- /dev/null +++ b/drift/test/mocks/mocks.dart @@ -0,0 +1,11 @@ +import 'package:mockito/annotations.dart'; +import 'package:sentry/sentry.dart'; + +import '../test_database.dart'; + +@GenerateMocks([ + Hub, + AppDatabase, + TodoItems, +]) +void main() {} \ No newline at end of file diff --git a/drift/test/mocks/mocks.mocks.dart b/drift/test/mocks/mocks.mocks.dart new file mode 100644 index 0000000000..4100a2203a --- /dev/null +++ b/drift/test/mocks/mocks.mocks.dart @@ -0,0 +1,1458 @@ +// Mocks generated by Mockito 5.4.2 from annotations +// in sentry_drift/test/mocks/mocks.dart. +// Do not manually edit this file. + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:async' as _i6; +import 'dart:typed_data' as _i9; + +import 'package:drift/drift.dart' as _i4; +import 'package:drift/src/runtime/executor/stream_queries.dart' as _i5; +import 'package:mockito/mockito.dart' as _i1; +import 'package:mockito/src/dummies.dart' as _i8; +import 'package:sentry/sentry.dart' as _i2; +import 'package:sentry/src/profiling.dart' as _i7; + +import '../test_database.dart' as _i3; + +// ignore_for_file: type=lint +// ignore_for_file: avoid_redundant_argument_values +// ignore_for_file: avoid_setters_without_getters +// ignore_for_file: comment_references +// ignore_for_file: implementation_imports +// ignore_for_file: invalid_use_of_visible_for_testing_member +// ignore_for_file: prefer_const_constructors +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: camel_case_types +// ignore_for_file: subtype_of_sealed_class + +class _FakeSentryOptions_0 extends _i1.SmartFake implements _i2.SentryOptions { + _FakeSentryOptions_0( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeSentryId_1 extends _i1.SmartFake implements _i2.SentryId { + _FakeSentryId_1( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeScope_2 extends _i1.SmartFake implements _i2.Scope { + _FakeScope_2( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeHub_3 extends _i1.SmartFake implements _i2.Hub { + _FakeHub_3( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeISentrySpan_4 extends _i1.SmartFake implements _i2.ISentrySpan { + _FakeISentrySpan_4( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _Fake$TodoItemsTable_5 extends _i1.SmartFake + implements _i3.$TodoItemsTable { + _Fake$TodoItemsTable_5( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeGeneratedDatabase_6 extends _i1.SmartFake + implements _i4.GeneratedDatabase { + _FakeGeneratedDatabase_6( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeDriftDatabaseOptions_7 extends _i1.SmartFake + implements _i4.DriftDatabaseOptions { + _FakeDriftDatabaseOptions_7( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeMigrationStrategy_8 extends _i1.SmartFake + implements _i4.MigrationStrategy { + _FakeMigrationStrategy_8( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeStreamQueryUpdateRules_9 extends _i1.SmartFake + implements _i4.StreamQueryUpdateRules { + _FakeStreamQueryUpdateRules_9( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeDatabaseConnection_10 extends _i1.SmartFake + implements _i4.DatabaseConnection { + _FakeDatabaseConnection_10( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeQueryExecutor_11 extends _i1.SmartFake implements _i4.QueryExecutor { + _FakeQueryExecutor_11( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeStreamQueryStore_12 extends _i1.SmartFake + implements _i5.StreamQueryStore { + _FakeStreamQueryStore_12( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeDatabaseConnectionUser_13 extends _i1.SmartFake + implements _i4.DatabaseConnectionUser { + _FakeDatabaseConnectionUser_13( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeMigrator_14 extends _i1.SmartFake implements _i4.Migrator { + _FakeMigrator_14( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeFuture_15 extends _i1.SmartFake implements _i6.Future { + _FakeFuture_15( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeInsertStatement_16 extends _i1.SmartFake + implements _i4.InsertStatement { + _FakeInsertStatement_16( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeUpdateStatement_17 extends _i1.SmartFake + implements _i4.UpdateStatement { + _FakeUpdateStatement_17( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeSimpleSelectStatement_18 + extends _i1.SmartFake implements _i4.SimpleSelectStatement { + _FakeSimpleSelectStatement_18( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeJoinedSelectStatement_19 + extends _i1.SmartFake implements _i4.JoinedSelectStatement { + _FakeJoinedSelectStatement_19( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeDeleteStatement_20 extends _i1.SmartFake + implements _i4.DeleteStatement { + _FakeDeleteStatement_20( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeSelectable_21 extends _i1.SmartFake implements _i4.Selectable { + _FakeSelectable_21( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeGenerationContext_22 extends _i1.SmartFake + implements _i4.GenerationContext { + _FakeGenerationContext_22( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeColumn_23 extends _i1.SmartFake + implements _i4.Column { + _FakeColumn_23( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeColumnBuilder_24 extends _i1.SmartFake + implements _i4.ColumnBuilder { + _FakeColumnBuilder_24( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +/// A class which mocks [Hub]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockHub extends _i1.Mock implements _i2.Hub { + MockHub() { + _i1.throwOnMissingStub(this); + } + + @override + _i2.SentryOptions get options => (super.noSuchMethod( + Invocation.getter(#options), + returnValue: _FakeSentryOptions_0( + this, + Invocation.getter(#options), + ), + ) as _i2.SentryOptions); + + @override + bool get isEnabled => (super.noSuchMethod( + Invocation.getter(#isEnabled), + returnValue: false, + ) as bool); + + @override + _i2.SentryId get lastEventId => (super.noSuchMethod( + Invocation.getter(#lastEventId), + returnValue: _FakeSentryId_1( + this, + Invocation.getter(#lastEventId), + ), + ) as _i2.SentryId); + + @override + _i2.Scope get scope => (super.noSuchMethod( + Invocation.getter(#scope), + returnValue: _FakeScope_2( + this, + Invocation.getter(#scope), + ), + ) as _i2.Scope); + + @override + set profilerFactory(_i7.SentryProfilerFactory? value) => super.noSuchMethod( + Invocation.setter( + #profilerFactory, + value, + ), + returnValueForMissingStub: null, + ); + + @override + _i6.Future<_i2.SentryId> captureEvent( + _i2.SentryEvent? event, { + dynamic stackTrace, + _i2.Hint? hint, + _i2.ScopeCallback? withScope, + }) => + (super.noSuchMethod( + Invocation.method( + #captureEvent, + [event], + { + #stackTrace: stackTrace, + #hint: hint, + #withScope: withScope, + }, + ), + returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + this, + Invocation.method( + #captureEvent, + [event], + { + #stackTrace: stackTrace, + #hint: hint, + #withScope: withScope, + }, + ), + )), + ) as _i6.Future<_i2.SentryId>); + + @override + _i6.Future<_i2.SentryId> captureException( + dynamic throwable, { + dynamic stackTrace, + _i2.Hint? hint, + _i2.ScopeCallback? withScope, + }) => + (super.noSuchMethod( + Invocation.method( + #captureException, + [throwable], + { + #stackTrace: stackTrace, + #hint: hint, + #withScope: withScope, + }, + ), + returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + this, + Invocation.method( + #captureException, + [throwable], + { + #stackTrace: stackTrace, + #hint: hint, + #withScope: withScope, + }, + ), + )), + ) as _i6.Future<_i2.SentryId>); + + @override + _i6.Future<_i2.SentryId> captureMessage( + String? message, { + _i2.SentryLevel? level, + String? template, + List? params, + _i2.Hint? hint, + _i2.ScopeCallback? withScope, + }) => + (super.noSuchMethod( + Invocation.method( + #captureMessage, + [message], + { + #level: level, + #template: template, + #params: params, + #hint: hint, + #withScope: withScope, + }, + ), + returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + this, + Invocation.method( + #captureMessage, + [message], + { + #level: level, + #template: template, + #params: params, + #hint: hint, + #withScope: withScope, + }, + ), + )), + ) as _i6.Future<_i2.SentryId>); + + @override + _i6.Future captureUserFeedback(_i2.SentryUserFeedback? userFeedback) => + (super.noSuchMethod( + Invocation.method( + #captureUserFeedback, + [userFeedback], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future addBreadcrumb( + _i2.Breadcrumb? crumb, { + _i2.Hint? hint, + }) => + (super.noSuchMethod( + Invocation.method( + #addBreadcrumb, + [crumb], + {#hint: hint}, + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + void bindClient(_i2.SentryClient? client) => super.noSuchMethod( + Invocation.method( + #bindClient, + [client], + ), + returnValueForMissingStub: null, + ); + + @override + _i2.Hub clone() => (super.noSuchMethod( + Invocation.method( + #clone, + [], + ), + returnValue: _FakeHub_3( + this, + Invocation.method( + #clone, + [], + ), + ), + ) as _i2.Hub); + + @override + _i6.Future close() => (super.noSuchMethod( + Invocation.method( + #close, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.FutureOr configureScope(_i2.ScopeCallback? callback) => + (super.noSuchMethod(Invocation.method( + #configureScope, + [callback], + )) as _i6.FutureOr); + + @override + _i2.ISentrySpan startTransaction( + String? name, + String? operation, { + String? description, + DateTime? startTimestamp, + bool? bindToScope, + bool? waitForChildren, + Duration? autoFinishAfter, + bool? trimEnd, + _i2.OnTransactionFinish? onFinish, + Map? customSamplingContext, + }) => + (super.noSuchMethod( + Invocation.method( + #startTransaction, + [ + name, + operation, + ], + { + #description: description, + #startTimestamp: startTimestamp, + #bindToScope: bindToScope, + #waitForChildren: waitForChildren, + #autoFinishAfter: autoFinishAfter, + #trimEnd: trimEnd, + #onFinish: onFinish, + #customSamplingContext: customSamplingContext, + }, + ), + returnValue: _FakeISentrySpan_4( + this, + Invocation.method( + #startTransaction, + [ + name, + operation, + ], + { + #description: description, + #startTimestamp: startTimestamp, + #bindToScope: bindToScope, + #waitForChildren: waitForChildren, + #autoFinishAfter: autoFinishAfter, + #trimEnd: trimEnd, + #onFinish: onFinish, + #customSamplingContext: customSamplingContext, + }, + ), + ), + ) as _i2.ISentrySpan); + + @override + _i2.ISentrySpan startTransactionWithContext( + _i2.SentryTransactionContext? transactionContext, { + Map? customSamplingContext, + DateTime? startTimestamp, + bool? bindToScope, + bool? waitForChildren, + Duration? autoFinishAfter, + bool? trimEnd, + _i2.OnTransactionFinish? onFinish, + }) => + (super.noSuchMethod( + Invocation.method( + #startTransactionWithContext, + [transactionContext], + { + #customSamplingContext: customSamplingContext, + #startTimestamp: startTimestamp, + #bindToScope: bindToScope, + #waitForChildren: waitForChildren, + #autoFinishAfter: autoFinishAfter, + #trimEnd: trimEnd, + #onFinish: onFinish, + }, + ), + returnValue: _FakeISentrySpan_4( + this, + Invocation.method( + #startTransactionWithContext, + [transactionContext], + { + #customSamplingContext: customSamplingContext, + #startTimestamp: startTimestamp, + #bindToScope: bindToScope, + #waitForChildren: waitForChildren, + #autoFinishAfter: autoFinishAfter, + #trimEnd: trimEnd, + #onFinish: onFinish, + }, + ), + ), + ) as _i2.ISentrySpan); + + @override + _i6.Future<_i2.SentryId> captureTransaction( + _i2.SentryTransaction? transaction, { + _i2.SentryTraceContextHeader? traceContext, + }) => + (super.noSuchMethod( + Invocation.method( + #captureTransaction, + [transaction], + {#traceContext: traceContext}, + ), + returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + this, + Invocation.method( + #captureTransaction, + [transaction], + {#traceContext: traceContext}, + ), + )), + ) as _i6.Future<_i2.SentryId>); + + @override + void setSpanContext( + dynamic throwable, + _i2.ISentrySpan? span, + String? transaction, + ) => + super.noSuchMethod( + Invocation.method( + #setSpanContext, + [ + throwable, + span, + transaction, + ], + ), + returnValueForMissingStub: null, + ); +} + +/// A class which mocks [AppDatabase]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockAppDatabase extends _i1.Mock implements _i3.AppDatabase { + MockAppDatabase() { + _i1.throwOnMissingStub(this); + } + + @override + int get schemaVersion => (super.noSuchMethod( + Invocation.getter(#schemaVersion), + returnValue: 0, + ) as int); + + @override + _i3.$TodoItemsTable get todoItems => (super.noSuchMethod( + Invocation.getter(#todoItems), + returnValue: _Fake$TodoItemsTable_5( + this, + Invocation.getter(#todoItems), + ), + ) as _i3.$TodoItemsTable); + + @override + Iterable<_i4.TableInfo<_i4.Table, Object?>> get allTables => + (super.noSuchMethod( + Invocation.getter(#allTables), + returnValue: <_i4.TableInfo<_i4.Table, Object?>>[], + ) as Iterable<_i4.TableInfo<_i4.Table, Object?>>); + + @override + List<_i4.DatabaseSchemaEntity> get allSchemaEntities => (super.noSuchMethod( + Invocation.getter(#allSchemaEntities), + returnValue: <_i4.DatabaseSchemaEntity>[], + ) as List<_i4.DatabaseSchemaEntity>); + + @override + _i4.GeneratedDatabase get attachedDatabase => (super.noSuchMethod( + Invocation.getter(#attachedDatabase), + returnValue: _FakeGeneratedDatabase_6( + this, + Invocation.getter(#attachedDatabase), + ), + ) as _i4.GeneratedDatabase); + + @override + _i4.DriftDatabaseOptions get options => (super.noSuchMethod( + Invocation.getter(#options), + returnValue: _FakeDriftDatabaseOptions_7( + this, + Invocation.getter(#options), + ), + ) as _i4.DriftDatabaseOptions); + + @override + _i4.MigrationStrategy get migration => (super.noSuchMethod( + Invocation.getter(#migration), + returnValue: _FakeMigrationStrategy_8( + this, + Invocation.getter(#migration), + ), + ) as _i4.MigrationStrategy); + + @override + _i4.StreamQueryUpdateRules get streamUpdateRules => (super.noSuchMethod( + Invocation.getter(#streamUpdateRules), + returnValue: _FakeStreamQueryUpdateRules_9( + this, + Invocation.getter(#streamUpdateRules), + ), + ) as _i4.StreamQueryUpdateRules); + + @override + _i4.DatabaseConnection get connection => (super.noSuchMethod( + Invocation.getter(#connection), + returnValue: _FakeDatabaseConnection_10( + this, + Invocation.getter(#connection), + ), + ) as _i4.DatabaseConnection); + + @override + _i4.SqlTypes get typeMapping => (super.noSuchMethod( + Invocation.getter(#typeMapping), + returnValue: _i8.dummyValue<_i4.SqlTypes>( + this, + Invocation.getter(#typeMapping), + ), + ) as _i4.SqlTypes); + + @override + _i4.QueryExecutor get executor => (super.noSuchMethod( + Invocation.getter(#executor), + returnValue: _FakeQueryExecutor_11( + this, + Invocation.getter(#executor), + ), + ) as _i4.QueryExecutor); + + @override + _i5.StreamQueryStore get streamQueries => (super.noSuchMethod( + Invocation.getter(#streamQueries), + returnValue: _FakeStreamQueryStore_12( + this, + Invocation.getter(#streamQueries), + ), + ) as _i5.StreamQueryStore); + + @override + _i4.DatabaseConnectionUser get resolvedEngine => (super.noSuchMethod( + Invocation.getter(#resolvedEngine), + returnValue: _FakeDatabaseConnectionUser_13( + this, + Invocation.getter(#resolvedEngine), + ), + ) as _i4.DatabaseConnectionUser); + + @override + _i4.Migrator createMigrator() => (super.noSuchMethod( + Invocation.method( + #createMigrator, + [], + ), + returnValue: _FakeMigrator_14( + this, + Invocation.method( + #createMigrator, + [], + ), + ), + ) as _i4.Migrator); + + @override + _i6.Future beforeOpen( + _i4.QueryExecutor? executor, + _i4.OpeningDetails? details, + ) => + (super.noSuchMethod( + Invocation.method( + #beforeOpen, + [ + executor, + details, + ], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future close() => (super.noSuchMethod( + Invocation.method( + #close, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Stream>> createStream( + _i5.QueryStreamFetcher? stmt) => + (super.noSuchMethod( + Invocation.method( + #createStream, + [stmt], + ), + returnValue: _i6.Stream>>.empty(), + ) as _i6.Stream>>); + + @override + T alias( + _i4.ResultSetImplementation? table, + String? alias, + ) => + (super.noSuchMethod( + Invocation.method( + #alias, + [ + table, + alias, + ], + ), + returnValue: _i8.dummyValue( + this, + Invocation.method( + #alias, + [ + table, + alias, + ], + ), + ), + ) as T); + + @override + void markTablesUpdated(Iterable<_i4.TableInfo<_i4.Table, dynamic>>? tables) => + super.noSuchMethod( + Invocation.method( + #markTablesUpdated, + [tables], + ), + returnValueForMissingStub: null, + ); + + @override + void notifyUpdates(Set<_i4.TableUpdate>? updates) => super.noSuchMethod( + Invocation.method( + #notifyUpdates, + [updates], + ), + returnValueForMissingStub: null, + ); + + @override + _i6.Stream> tableUpdates( + [_i4.TableUpdateQuery? query = const _i4.TableUpdateQuery.any()]) => + (super.noSuchMethod( + Invocation.method( + #tableUpdates, + [query], + ), + returnValue: _i6.Stream>.empty(), + ) as _i6.Stream>); + + @override + _i6.Future doWhenOpened( + _i6.FutureOr Function(_i4.QueryExecutor)? fn) => + (super.noSuchMethod( + Invocation.method( + #doWhenOpened, + [fn], + ), + returnValue: _i8.ifNotNull( + _i8.dummyValueOrNull( + this, + Invocation.method( + #doWhenOpened, + [fn], + ), + ), + (T v) => _i6.Future.value(v), + ) ?? + _FakeFuture_15( + this, + Invocation.method( + #doWhenOpened, + [fn], + ), + ), + ) as _i6.Future); + + @override + _i4.InsertStatement into( + _i4.TableInfo? table) => + (super.noSuchMethod( + Invocation.method( + #into, + [table], + ), + returnValue: _FakeInsertStatement_16( + this, + Invocation.method( + #into, + [table], + ), + ), + ) as _i4.InsertStatement); + + @override + _i4.UpdateStatement update( + _i4.TableInfo? table) => + (super.noSuchMethod( + Invocation.method( + #update, + [table], + ), + returnValue: _FakeUpdateStatement_17( + this, + Invocation.method( + #update, + [table], + ), + ), + ) as _i4.UpdateStatement); + + @override + _i4.SimpleSelectStatement select( + _i4.ResultSetImplementation? table, { + bool? distinct = false, + }) => + (super.noSuchMethod( + Invocation.method( + #select, + [table], + {#distinct: distinct}, + ), + returnValue: _FakeSimpleSelectStatement_18( + this, + Invocation.method( + #select, + [table], + {#distinct: distinct}, + ), + ), + ) as _i4.SimpleSelectStatement); + + @override + _i4.JoinedSelectStatement selectOnly( + _i4.ResultSetImplementation? table, { + bool? distinct = false, + }) => + (super.noSuchMethod( + Invocation.method( + #selectOnly, + [table], + {#distinct: distinct}, + ), + returnValue: _FakeJoinedSelectStatement_19( + this, + Invocation.method( + #selectOnly, + [table], + {#distinct: distinct}, + ), + ), + ) as _i4.JoinedSelectStatement); + + @override + _i4.DeleteStatement delete( + _i4.TableInfo? table) => + (super.noSuchMethod( + Invocation.method( + #delete, + [table], + ), + returnValue: _FakeDeleteStatement_20( + this, + Invocation.method( + #delete, + [table], + ), + ), + ) as _i4.DeleteStatement); + + @override + _i6.Future customUpdate( + String? query, { + List<_i4.Variable>? variables = const [], + Set<_i4.TableInfo<_i4.Table, dynamic>>? updates, + _i4.UpdateKind? updateKind, + }) => + (super.noSuchMethod( + Invocation.method( + #customUpdate, + [query], + { + #variables: variables, + #updates: updates, + #updateKind: updateKind, + }, + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i6.Future customInsert( + String? query, { + List<_i4.Variable>? variables = const [], + Set<_i4.TableInfo<_i4.Table, dynamic>>? updates, + }) => + (super.noSuchMethod( + Invocation.method( + #customInsert, + [query], + { + #variables: variables, + #updates: updates, + }, + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i6.Future> customWriteReturning( + String? query, { + List<_i4.Variable>? variables = const [], + Set<_i4.TableInfo<_i4.Table, dynamic>>? updates, + _i4.UpdateKind? updateKind, + }) => + (super.noSuchMethod( + Invocation.method( + #customWriteReturning, + [query], + { + #variables: variables, + #updates: updates, + #updateKind: updateKind, + }, + ), + returnValue: _i6.Future>.value(<_i4.QueryRow>[]), + ) as _i6.Future>); + + @override + _i4.Selectable<_i4.QueryRow> customSelect( + String? query, { + List<_i4.Variable>? variables = const [], + Set<_i4.ResultSetImplementation>? readsFrom = const {}, + }) => + (super.noSuchMethod( + Invocation.method( + #customSelect, + [query], + { + #variables: variables, + #readsFrom: readsFrom, + }, + ), + returnValue: _FakeSelectable_21<_i4.QueryRow>( + this, + Invocation.method( + #customSelect, + [query], + { + #variables: variables, + #readsFrom: readsFrom, + }, + ), + ), + ) as _i4.Selectable<_i4.QueryRow>); + + @override + _i4.Selectable<_i4.QueryRow> customSelectQuery( + String? query, { + List<_i4.Variable>? variables = const [], + Set<_i4.ResultSetImplementation>? readsFrom = const {}, + }) => + (super.noSuchMethod( + Invocation.method( + #customSelectQuery, + [query], + { + #variables: variables, + #readsFrom: readsFrom, + }, + ), + returnValue: _FakeSelectable_21<_i4.QueryRow>( + this, + Invocation.method( + #customSelectQuery, + [query], + { + #variables: variables, + #readsFrom: readsFrom, + }, + ), + ), + ) as _i4.Selectable<_i4.QueryRow>); + + @override + _i6.Future customStatement( + String? statement, [ + List? args, + ]) => + (super.noSuchMethod( + Invocation.method( + #customStatement, + [ + statement, + args, + ], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future transaction( + _i6.Future Function()? action, { + bool? requireNew = false, + }) => + (super.noSuchMethod( + Invocation.method( + #transaction, + [action], + {#requireNew: requireNew}, + ), + returnValue: _i8.ifNotNull( + _i8.dummyValueOrNull( + this, + Invocation.method( + #transaction, + [action], + {#requireNew: requireNew}, + ), + ), + (T v) => _i6.Future.value(v), + ) ?? + _FakeFuture_15( + this, + Invocation.method( + #transaction, + [action], + {#requireNew: requireNew}, + ), + ), + ) as _i6.Future); + + @override + _i6.Future batch(_i6.FutureOr Function(_i4.Batch)? runInBatch) => + (super.noSuchMethod( + Invocation.method( + #batch, + [runInBatch], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i4.GenerationContext $write( + _i4.Component? component, { + bool? hasMultipleTables, + int? startIndex, + }) => + (super.noSuchMethod( + Invocation.method( + #$write, + [component], + { + #hasMultipleTables: hasMultipleTables, + #startIndex: startIndex, + }, + ), + returnValue: _FakeGenerationContext_22( + this, + Invocation.method( + #$write, + [component], + { + #hasMultipleTables: hasMultipleTables, + #startIndex: startIndex, + }, + ), + ), + ) as _i4.GenerationContext); + + @override + _i4.GenerationContext $writeInsertable( + _i4.TableInfo<_i4.Table, dynamic>? table, + _i4.Insertable? insertable, { + int? startIndex, + }) => + (super.noSuchMethod( + Invocation.method( + #$writeInsertable, + [ + table, + insertable, + ], + {#startIndex: startIndex}, + ), + returnValue: _FakeGenerationContext_22( + this, + Invocation.method( + #$writeInsertable, + [ + table, + insertable, + ], + {#startIndex: startIndex}, + ), + ), + ) as _i4.GenerationContext); + + @override + String $expandVar( + int? start, + int? amount, + ) => + (super.noSuchMethod( + Invocation.method( + #$expandVar, + [ + start, + amount, + ], + ), + returnValue: '', + ) as String); +} + +/// A class which mocks [TodoItems]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockTodoItems extends _i1.Mock implements _i3.TodoItems { + MockTodoItems() { + _i1.throwOnMissingStub(this); + } + + @override + _i4.Column get id => (super.noSuchMethod( + Invocation.getter(#id), + returnValue: _FakeColumn_23( + this, + Invocation.getter(#id), + ), + ) as _i4.Column); + + @override + _i4.Column get title => (super.noSuchMethod( + Invocation.getter(#title), + returnValue: _FakeColumn_23( + this, + Invocation.getter(#title), + ), + ) as _i4.Column); + + @override + _i4.Column get content => (super.noSuchMethod( + Invocation.getter(#content), + returnValue: _FakeColumn_23( + this, + Invocation.getter(#content), + ), + ) as _i4.Column); + + @override + _i4.Column get category => (super.noSuchMethod( + Invocation.getter(#category), + returnValue: _FakeColumn_23( + this, + Invocation.getter(#category), + ), + ) as _i4.Column); + + @override + bool get withoutRowId => (super.noSuchMethod( + Invocation.getter(#withoutRowId), + returnValue: false, + ) as bool); + + @override + bool get dontWriteConstraints => (super.noSuchMethod( + Invocation.getter(#dontWriteConstraints), + returnValue: false, + ) as bool); + + @override + bool get isStrict => (super.noSuchMethod( + Invocation.getter(#isStrict), + returnValue: false, + ) as bool); + + @override + List get customConstraints => (super.noSuchMethod( + Invocation.getter(#customConstraints), + returnValue: [], + ) as List); + + @override + _i4.ColumnBuilder integer() => (super.noSuchMethod( + Invocation.method( + #integer, + [], + ), + returnValue: _FakeColumnBuilder_24( + this, + Invocation.method( + #integer, + [], + ), + ), + ) as _i4.ColumnBuilder); + + @override + _i4.ColumnBuilder int64() => (super.noSuchMethod( + Invocation.method( + #int64, + [], + ), + returnValue: _FakeColumnBuilder_24( + this, + Invocation.method( + #int64, + [], + ), + ), + ) as _i4.ColumnBuilder); + + @override + _i4.ColumnBuilder intEnum() => (super.noSuchMethod( + Invocation.method( + #intEnum, + [], + ), + returnValue: _FakeColumnBuilder_24( + this, + Invocation.method( + #intEnum, + [], + ), + ), + ) as _i4.ColumnBuilder); + + @override + _i4.ColumnBuilder text() => (super.noSuchMethod( + Invocation.method( + #text, + [], + ), + returnValue: _FakeColumnBuilder_24( + this, + Invocation.method( + #text, + [], + ), + ), + ) as _i4.ColumnBuilder); + + @override + _i4.ColumnBuilder textEnum() => (super.noSuchMethod( + Invocation.method( + #textEnum, + [], + ), + returnValue: _FakeColumnBuilder_24( + this, + Invocation.method( + #textEnum, + [], + ), + ), + ) as _i4.ColumnBuilder); + + @override + _i4.ColumnBuilder boolean() => (super.noSuchMethod( + Invocation.method( + #boolean, + [], + ), + returnValue: _FakeColumnBuilder_24( + this, + Invocation.method( + #boolean, + [], + ), + ), + ) as _i4.ColumnBuilder); + + @override + _i4.ColumnBuilder dateTime() => (super.noSuchMethod( + Invocation.method( + #dateTime, + [], + ), + returnValue: _FakeColumnBuilder_24( + this, + Invocation.method( + #dateTime, + [], + ), + ), + ) as _i4.ColumnBuilder); + + @override + _i4.ColumnBuilder<_i9.Uint8List> blob() => (super.noSuchMethod( + Invocation.method( + #blob, + [], + ), + returnValue: _FakeColumnBuilder_24<_i9.Uint8List>( + this, + Invocation.method( + #blob, + [], + ), + ), + ) as _i4.ColumnBuilder<_i9.Uint8List>); + + @override + _i4.ColumnBuilder real() => (super.noSuchMethod( + Invocation.method( + #real, + [], + ), + returnValue: _FakeColumnBuilder_24( + this, + Invocation.method( + #real, + [], + ), + ), + ) as _i4.ColumnBuilder); + + @override + _i4.ColumnBuilder customType( + _i4.CustomSqlType? type) => + (super.noSuchMethod( + Invocation.method( + #customType, + [type], + ), + returnValue: _FakeColumnBuilder_24( + this, + Invocation.method( + #customType, + [type], + ), + ), + ) as _i4.ColumnBuilder); +} diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart new file mode 100644 index 0000000000..8fc5b4ced3 --- /dev/null +++ b/drift/test/sentry_database_test.dart @@ -0,0 +1,181 @@ +@TestOn('vm') +import 'package:drift/drift.dart'; +import 'package:drift/native.dart'; +import 'package:mockito/mockito.dart'; +import 'package:sentry/sentry.dart'; +import 'package:sentry/src/sentry_tracer.dart'; +import 'package:sentry_drift/src/sentry_drift_database.dart'; +import 'package:test/expect.dart'; +import 'package:test/scaffolding.dart'; + +import 'mocks/mocks.mocks.dart'; +import 'test_database.dart'; + +void main() { + void verifySpan(String description, SentrySpan? span) { + expect(span?.context.operation, SentryDriftDatabase.dbOp); + expect(span?.context.description, description); + expect(span?.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span?.origin, SentryTraceOrigins.autoDbDriftDatabaseExecutor); + expect(span?.data[SentryDriftDatabase.dbSystemKey], + SentryDriftDatabase.dbSystem); + expect(span?.data[SentryDriftDatabase.dbNameKey], Fixture.dbName); + } + + void verifyErrorSpan( + String description, + Exception exception, + SentrySpan? span, + ) { + expect(span?.context.operation, SentryDriftDatabase.dbOp); + expect(span?.context.description, description); + expect(span?.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span?.origin, SentryTraceOrigins.autoDbDriftDatabaseExecutor); + expect(span?.data[SentryDriftDatabase.dbSystemKey], + SentryDriftDatabase.dbSystem); + expect(span?.data[SentryDriftDatabase.dbNameKey], Fixture.dbName); + + expect(span?.throwable, exception); + } + + group('adds span', () { + late Fixture fixture; + + setUp(() async { + fixture = Fixture(); + await fixture.setUp(); + + when(fixture.hub.options).thenReturn(fixture.options); + when(fixture.hub.getSpan()).thenReturn(fixture.tracer); + }); + + tearDown(() async { + await fixture.tearDown(); + }); + + test('insert adds span', () async { + final sut = fixture.getSut(); + + await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + )); + + verifySpan('insert', fixture.getCreatedSpan()); + }); + + test('update adds span', () async { + final sut = fixture.getSut(); + + await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + )); + + await (sut.update(sut.todoItems) + ..where((tbl) => tbl.title.equals('todo: finish drift setup'))) + .write(TodoItemsCompanion( + title: Value('after update'), + content: Value('We can now write queries and define our own tables.'), + )); + + verifySpan('update', fixture.getCreatedSpan()); + }); + + test('custom adds span', () async { + final sut = fixture.getSut(); + + await sut.customStatement('SELECT * FROM todo_items'); + + verifySpan('custom', fixture.getCreatedSpan()); + }); + + test('batch adds span', () async { + final sut = fixture.getSut(); + + await sut.transaction(() async { + await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + )); + }); + + // await sut.batch((batch) { + // batch.insert( + // sut.todoItems, + // TodoItemsCompanion.insert( + // title: 'todo: finish drift setup', + // content: 'We can now write queries and define our own tables.', + // )); + // batch.insert( + // sut.todoItems, + // TodoItemsCompanion.insert( + // title: 'todo: finish drift setup', + // content: 'We can now write queries and define our own tables.', + // )); + // }); + + //verifySpan('batch', fixture.getCreatedSpan()); + }); + + test('close adds span', () async { + final sut = fixture.getSut(); + + await sut.close(); + + verifySpan('close', fixture.getCreatedSpan()); + }); + }); + + group('adds error span', () { + late Fixture fixture; + + setUp(() async { + fixture = Fixture(); + await fixture.setUp(); + + when(fixture.hub.options).thenReturn(fixture.options); + when(fixture.hub.getSpan()).thenReturn(fixture.tracer); + }); + + tearDown(() async { + await fixture.tearDown(); + }); + }); +} + +class Fixture { + final options = SentryOptions(); + final hub = MockHub(); + final mockDatabase = MockAppDatabase(); + static final dbName = 'people-drift-impl'; + final exception = Exception('fixture-exception'); + + final _context = SentryTransactionContext('name', 'operation'); + late final tracer = SentryTracer(_context, hub); + late AppDatabase sut; + + Future setUp() async { + sut = AppDatabase(openConnection()); + } + + Future tearDown() async { + await sut.close(); + } + + AppDatabase getSut() { + return sut; + } + + SentrySpan? getCreatedSpan() { + return tracer.children.last; + } + + SentryDriftDatabase openConnection() { + return SentryDriftDatabase(hub: hub, () async { + return NativeDatabase.memory(); + }); + } +} diff --git a/drift/test/test_database.dart b/drift/test/test_database.dart new file mode 100644 index 0000000000..e8d7b58d81 --- /dev/null +++ b/drift/test/test_database.dart @@ -0,0 +1,23 @@ +import 'package:drift/drift.dart'; +import 'dart:io'; + +import 'package:drift/native.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:path/path.dart' as p; + +part 'test_database.g.dart'; + +class TodoItems extends Table { + IntColumn get id => integer().autoIncrement()(); + TextColumn get title => text().withLength(min: 6, max: 32)(); + TextColumn get content => text().named('body')(); + IntColumn get category => integer().nullable()(); +} + +@DriftDatabase(tables: [TodoItems]) +class AppDatabase extends _$AppDatabase { + AppDatabase(super.e); + + @override + int get schemaVersion => 1; +} diff --git a/drift/test/test_database.g.dart b/drift/test/test_database.g.dart new file mode 100644 index 0000000000..65430026da --- /dev/null +++ b/drift/test/test_database.g.dart @@ -0,0 +1,269 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'test_database.dart'; + +// ignore_for_file: type=lint +class $TodoItemsTable extends TodoItems + with TableInfo<$TodoItemsTable, TodoItem> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $TodoItemsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); + static const VerificationMeta _titleMeta = const VerificationMeta('title'); + @override + late final GeneratedColumn title = GeneratedColumn( + 'title', aliasedName, false, + additionalChecks: + GeneratedColumn.checkTextLength(minTextLength: 6, maxTextLength: 32), + type: DriftSqlType.string, + requiredDuringInsert: true); + static const VerificationMeta _contentMeta = + const VerificationMeta('content'); + @override + late final GeneratedColumn content = GeneratedColumn( + 'body', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + static const VerificationMeta _categoryMeta = + const VerificationMeta('category'); + @override + late final GeneratedColumn category = GeneratedColumn( + 'category', aliasedName, true, + type: DriftSqlType.int, requiredDuringInsert: false); + @override + List get $columns => [id, title, content, category]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'todo_items'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('title')) { + context.handle( + _titleMeta, title.isAcceptableOrUnknown(data['title']!, _titleMeta)); + } else if (isInserting) { + context.missing(_titleMeta); + } + if (data.containsKey('body')) { + context.handle(_contentMeta, + content.isAcceptableOrUnknown(data['body']!, _contentMeta)); + } else if (isInserting) { + context.missing(_contentMeta); + } + if (data.containsKey('category')) { + context.handle(_categoryMeta, + category.isAcceptableOrUnknown(data['category']!, _categoryMeta)); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + TodoItem map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return TodoItem( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + title: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}title'])!, + content: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}body'])!, + category: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}category']), + ); + } + + @override + $TodoItemsTable createAlias(String alias) { + return $TodoItemsTable(attachedDatabase, alias); + } +} + +class TodoItem extends DataClass implements Insertable { + final int id; + final String title; + final String content; + final int? category; + const TodoItem( + {required this.id, + required this.title, + required this.content, + this.category}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['title'] = Variable(title); + map['body'] = Variable(content); + if (!nullToAbsent || category != null) { + map['category'] = Variable(category); + } + return map; + } + + TodoItemsCompanion toCompanion(bool nullToAbsent) { + return TodoItemsCompanion( + id: Value(id), + title: Value(title), + content: Value(content), + category: category == null && nullToAbsent + ? const Value.absent() + : Value(category), + ); + } + + factory TodoItem.fromJson(Map json, + {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return TodoItem( + id: serializer.fromJson(json['id']), + title: serializer.fromJson(json['title']), + content: serializer.fromJson(json['content']), + category: serializer.fromJson(json['category']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'title': serializer.toJson(title), + 'content': serializer.toJson(content), + 'category': serializer.toJson(category), + }; + } + + TodoItem copyWith( + {int? id, + String? title, + String? content, + Value category = const Value.absent()}) => + TodoItem( + id: id ?? this.id, + title: title ?? this.title, + content: content ?? this.content, + category: category.present ? category.value : this.category, + ); + @override + String toString() { + return (StringBuffer('TodoItem(') + ..write('id: $id, ') + ..write('title: $title, ') + ..write('content: $content, ') + ..write('category: $category') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, title, content, category); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is TodoItem && + other.id == this.id && + other.title == this.title && + other.content == this.content && + other.category == this.category); +} + +class TodoItemsCompanion extends UpdateCompanion { + final Value id; + final Value title; + final Value content; + final Value category; + const TodoItemsCompanion({ + this.id = const Value.absent(), + this.title = const Value.absent(), + this.content = const Value.absent(), + this.category = const Value.absent(), + }); + TodoItemsCompanion.insert({ + this.id = const Value.absent(), + required String title, + required String content, + this.category = const Value.absent(), + }) : title = Value(title), + content = Value(content); + static Insertable custom({ + Expression? id, + Expression? title, + Expression? content, + Expression? category, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (title != null) 'title': title, + if (content != null) 'body': content, + if (category != null) 'category': category, + }); + } + + TodoItemsCompanion copyWith( + {Value? id, + Value? title, + Value? content, + Value? category}) { + return TodoItemsCompanion( + id: id ?? this.id, + title: title ?? this.title, + content: content ?? this.content, + category: category ?? this.category, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (title.present) { + map['title'] = Variable(title.value); + } + if (content.present) { + map['body'] = Variable(content.value); + } + if (category.present) { + map['category'] = Variable(category.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('TodoItemsCompanion(') + ..write('id: $id, ') + ..write('title: $title, ') + ..write('content: $content, ') + ..write('category: $category') + ..write(')')) + .toString(); + } +} + +abstract class _$AppDatabase extends GeneratedDatabase { + _$AppDatabase(QueryExecutor e) : super(e); + late final $TodoItemsTable todoItems = $TodoItemsTable(this); + @override + Iterable> get allTables => + allSchemaEntities.whereType>(); + @override + List get allSchemaEntities => [todoItems]; +} diff --git a/flutter/test/mocks.mocks.dart b/flutter/test/mocks.mocks.dart index 45a91b1b0f..e2807ef405 100644 --- a/flutter/test/mocks.mocks.dart +++ b/flutter/test/mocks.mocks.dart @@ -80,9 +80,8 @@ class _FakeSentryTracer_4 extends _i1.SmartFake implements _i4.SentryTracer { ); } -class _FakeSentryTransaction_5 extends _i1.SmartFake - implements _i3.SentryTransaction { - _FakeSentryTransaction_5( +class _FakeSentryId_5 extends _i1.SmartFake implements _i3.SentryId { + _FakeSentryId_5( Object parent, Invocation parentInvocation, ) : super( @@ -91,8 +90,8 @@ class _FakeSentryTransaction_5 extends _i1.SmartFake ); } -class _FakeMethodCodec_6 extends _i1.SmartFake implements _i5.MethodCodec { - _FakeMethodCodec_6( +class _FakeContexts_6 extends _i1.SmartFake implements _i3.Contexts { + _FakeContexts_6( Object parent, Invocation parentInvocation, ) : super( @@ -101,9 +100,19 @@ class _FakeMethodCodec_6 extends _i1.SmartFake implements _i5.MethodCodec { ); } -class _FakeBinaryMessenger_7 extends _i1.SmartFake - implements _i6.BinaryMessenger { - _FakeBinaryMessenger_7( +class _FakeSentryTransaction_7 extends _i1.SmartFake + implements _i3.SentryTransaction { + _FakeSentryTransaction_7( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeMethodCodec_8 extends _i1.SmartFake implements _i5.MethodCodec { + _FakeMethodCodec_8( Object parent, Invocation parentInvocation, ) : super( @@ -112,8 +121,9 @@ class _FakeBinaryMessenger_7 extends _i1.SmartFake ); } -class _FakeSentryOptions_8 extends _i1.SmartFake implements _i2.SentryOptions { - _FakeSentryOptions_8( +class _FakeBinaryMessenger_9 extends _i1.SmartFake + implements _i6.BinaryMessenger { + _FakeBinaryMessenger_9( Object parent, Invocation parentInvocation, ) : super( @@ -122,8 +132,8 @@ class _FakeSentryOptions_8 extends _i1.SmartFake implements _i2.SentryOptions { ); } -class _FakeSentryId_9 extends _i1.SmartFake implements _i3.SentryId { - _FakeSentryId_9( +class _FakeSentryOptions_10 extends _i1.SmartFake implements _i2.SentryOptions { + _FakeSentryOptions_10( Object parent, Invocation parentInvocation, ) : super( @@ -132,8 +142,8 @@ class _FakeSentryId_9 extends _i1.SmartFake implements _i3.SentryId { ); } -class _FakeScope_10 extends _i1.SmartFake implements _i2.Scope { - _FakeScope_10( +class _FakeScope_11 extends _i1.SmartFake implements _i2.Scope { + _FakeScope_11( Object parent, Invocation parentInvocation, ) : super( @@ -142,8 +152,8 @@ class _FakeScope_10 extends _i1.SmartFake implements _i2.Scope { ); } -class _FakeHub_11 extends _i1.SmartFake implements _i2.Hub { - _FakeHub_11( +class _FakeHub_12 extends _i1.SmartFake implements _i2.Hub { + _FakeHub_12( Object parent, Invocation parentInvocation, ) : super( @@ -184,6 +194,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { Invocation.getter(#name), returnValue: '', ) as String); + @override set name(String? _name) => super.noSuchMethod( Invocation.setter( @@ -192,12 +203,14 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override _i3.SentryTransactionNameSource get transactionNameSource => (super.noSuchMethod( Invocation.getter(#transactionNameSource), returnValue: _i3.SentryTransactionNameSource.custom, ) as _i3.SentryTransactionNameSource); + @override set transactionNameSource( _i3.SentryTransactionNameSource? _transactionNameSource) => @@ -208,6 +221,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override set profiler(_i9.SentryProfiler? _profiler) => super.noSuchMethod( Invocation.setter( @@ -216,6 +230,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override set profileInfo(_i9.SentryProfileInfo? _profileInfo) => super.noSuchMethod( Invocation.setter( @@ -224,6 +239,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override _i2.SentrySpanContext get context => (super.noSuchMethod( Invocation.getter(#context), @@ -232,6 +248,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { Invocation.getter(#context), ), ) as _i2.SentrySpanContext); + @override set origin(String? origin) => super.noSuchMethod( Invocation.setter( @@ -240,6 +257,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override DateTime get startTimestamp => (super.noSuchMethod( Invocation.getter(#startTimestamp), @@ -248,21 +266,25 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { Invocation.getter(#startTimestamp), ), ) as DateTime); + @override Map get data => (super.noSuchMethod( Invocation.getter(#data), returnValue: {}, ) as Map); + @override bool get finished => (super.noSuchMethod( Invocation.getter(#finished), returnValue: false, ) as bool); + @override List<_i3.SentrySpan> get children => (super.noSuchMethod( Invocation.getter(#children), returnValue: <_i3.SentrySpan>[], ) as List<_i3.SentrySpan>); + @override set throwable(dynamic throwable) => super.noSuchMethod( Invocation.setter( @@ -271,27 +293,31 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override - set status(dynamic status) => super.noSuchMethod( + set status(_i3.SpanStatus? status) => super.noSuchMethod( Invocation.setter( #status, status, ), returnValueForMissingStub: null, ); + @override Map get tags => (super.noSuchMethod( Invocation.getter(#tags), returnValue: {}, ) as Map); + @override Map get measurements => (super.noSuchMethod( Invocation.getter(#measurements), returnValue: {}, ) as Map); + @override _i7.Future finish({ - dynamic status, + _i3.SpanStatus? status, DateTime? endTimestamp, }) => (super.noSuchMethod( @@ -306,6 +332,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { returnValue: _i7.Future.value(), returnValueForMissingStub: _i7.Future.value(), ) as _i7.Future); + @override void removeData(String? key) => super.noSuchMethod( Invocation.method( @@ -314,6 +341,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override void removeTag(String? key) => super.noSuchMethod( Invocation.method( @@ -322,6 +350,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override void setData( String? key, @@ -337,6 +366,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override void setTag( String? key, @@ -352,6 +382,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override _i2.ISentrySpan startChild( String? operation, { @@ -379,9 +410,10 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), ), ) as _i2.ISentrySpan); + @override _i2.ISentrySpan startChildWithParentSpanId( - dynamic parentSpanId, + _i3.SpanId? parentSpanId, String? operation, { String? description, DateTime? startTimestamp, @@ -413,6 +445,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), ), ) as _i2.ISentrySpan); + @override _i3.SentryTraceHeader toSentryTrace() => (super.noSuchMethod( Invocation.method( @@ -427,6 +460,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), ), ) as _i3.SentryTraceHeader); + @override void setMeasurement( String? name, @@ -444,6 +478,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { ), returnValueForMissingStub: null, ); + @override void scheduleFinish() => super.noSuchMethod( Invocation.method( @@ -471,6 +506,7 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { Invocation.getter(#startTimestamp), ), ) as DateTime); + @override set startTimestamp(DateTime? _startTimestamp) => super.noSuchMethod( Invocation.setter( @@ -479,11 +515,13 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { ), returnValueForMissingStub: null, ); + @override List<_i3.SentrySpan> get spans => (super.noSuchMethod( Invocation.getter(#spans), returnValue: <_i3.SentrySpan>[], ) as List<_i3.SentrySpan>); + @override set spans(List<_i3.SentrySpan>? _spans) => super.noSuchMethod( Invocation.setter( @@ -492,6 +530,7 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { ), returnValueForMissingStub: null, ); + @override _i4.SentryTracer get tracer => (super.noSuchMethod( Invocation.getter(#tracer), @@ -500,11 +539,13 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { Invocation.getter(#tracer), ), ) as _i4.SentryTracer); + @override Map get measurements => (super.noSuchMethod( Invocation.getter(#measurements), returnValue: {}, ) as Map); + @override set measurements(Map? _measurements) => super.noSuchMethod( @@ -514,6 +555,7 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { ), returnValueForMissingStub: null, ); + @override set transactionInfo(_i3.SentryTransactionInfo? _transactionInfo) => super.noSuchMethod( @@ -523,16 +565,37 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { ), returnValueForMissingStub: null, ); + @override bool get finished => (super.noSuchMethod( Invocation.getter(#finished), returnValue: false, ) as bool); + @override bool get sampled => (super.noSuchMethod( Invocation.getter(#sampled), returnValue: false, ) as bool); + + @override + _i3.SentryId get eventId => (super.noSuchMethod( + Invocation.getter(#eventId), + returnValue: _FakeSentryId_5( + this, + Invocation.getter(#eventId), + ), + ) as _i3.SentryId); + + @override + _i3.Contexts get contexts => (super.noSuchMethod( + Invocation.getter(#contexts), + returnValue: _FakeContexts_6( + this, + Invocation.getter(#contexts), + ), + ) as _i3.Contexts); + @override Map toJson() => (super.noSuchMethod( Invocation.method( @@ -541,6 +604,7 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { ), returnValue: {}, ) as Map); + @override _i3.SentryTransaction copyWith({ _i3.SentryId? eventId, @@ -552,7 +616,7 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { String? dist, String? environment, Map? modules, - dynamic message, + _i3.SentryMessage? message, String? transaction, dynamic throwable, _i3.SentryLevel? level, @@ -561,13 +625,13 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { Map? extra, List? fingerprint, _i3.SentryUser? user, - dynamic contexts, + _i3.Contexts? contexts, List<_i3.Breadcrumb>? breadcrumbs, _i3.SdkVersion? sdk, - dynamic request, - dynamic debugMeta, + _i3.SentryRequest? request, + _i3.DebugMeta? debugMeta, List<_i3.SentryException>? exceptions, - List? threads, + List<_i3.SentryThread>? threads, String? type, Map? measurements, _i3.SentryTransactionInfo? transactionInfo, @@ -607,7 +671,7 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { #transactionInfo: transactionInfo, }, ), - returnValue: _FakeSentryTransaction_5( + returnValue: _FakeSentryTransaction_7( this, Invocation.method( #copyWith, @@ -660,22 +724,25 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { Invocation.getter(#name), returnValue: '', ) as String); + @override _i5.MethodCodec get codec => (super.noSuchMethod( Invocation.getter(#codec), - returnValue: _FakeMethodCodec_6( + returnValue: _FakeMethodCodec_8( this, Invocation.getter(#codec), ), ) as _i5.MethodCodec); + @override _i6.BinaryMessenger get binaryMessenger => (super.noSuchMethod( Invocation.getter(#binaryMessenger), - returnValue: _FakeBinaryMessenger_7( + returnValue: _FakeBinaryMessenger_9( this, Invocation.getter(#binaryMessenger), ), ) as _i6.BinaryMessenger); + @override _i7.Future invokeMethod( String? method, [ @@ -691,6 +758,7 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { ), returnValue: _i7.Future.value(), ) as _i7.Future); + @override _i7.Future?> invokeListMethod( String? method, [ @@ -706,6 +774,7 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { ), returnValue: _i7.Future?>.value(), ) as _i7.Future?>); + @override _i7.Future?> invokeMapMethod( String? method, [ @@ -721,6 +790,7 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { ), returnValue: _i7.Future?>.value(), ) as _i7.Future?>); + @override void setMethodCallHandler( _i7.Future Function(_i5.MethodCall)? handler) => @@ -744,32 +814,36 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i2.SentryOptions get options => (super.noSuchMethod( Invocation.getter(#options), - returnValue: _FakeSentryOptions_8( + returnValue: _FakeSentryOptions_10( this, Invocation.getter(#options), ), ) as _i2.SentryOptions); + @override bool get isEnabled => (super.noSuchMethod( Invocation.getter(#isEnabled), returnValue: false, ) as bool); + @override _i3.SentryId get lastEventId => (super.noSuchMethod( Invocation.getter(#lastEventId), - returnValue: _FakeSentryId_9( + returnValue: _FakeSentryId_5( this, Invocation.getter(#lastEventId), ), ) as _i3.SentryId); + @override _i2.Scope get scope => (super.noSuchMethod( Invocation.getter(#scope), - returnValue: _FakeScope_10( + returnValue: _FakeScope_11( this, Invocation.getter(#scope), ), ) as _i2.Scope); + @override set profilerFactory(_i9.SentryProfilerFactory? value) => super.noSuchMethod( Invocation.setter( @@ -778,9 +852,10 @@ class MockHub extends _i1.Mock implements _i2.Hub { ), returnValueForMissingStub: null, ); + @override _i7.Future<_i3.SentryId> captureEvent( - dynamic event, { + _i3.SentryEvent? event, { dynamic stackTrace, _i2.Hint? hint, _i2.ScopeCallback? withScope, @@ -795,7 +870,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i7.Future<_i3.SentryId>.value(_FakeSentryId_9( + returnValue: _i7.Future<_i3.SentryId>.value(_FakeSentryId_5( this, Invocation.method( #captureEvent, @@ -808,6 +883,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ), )), ) as _i7.Future<_i3.SentryId>); + @override _i7.Future<_i3.SentryId> captureException( dynamic throwable, { @@ -825,7 +901,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i7.Future<_i3.SentryId>.value(_FakeSentryId_9( + returnValue: _i7.Future<_i3.SentryId>.value(_FakeSentryId_5( this, Invocation.method( #captureException, @@ -838,6 +914,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ), )), ) as _i7.Future<_i3.SentryId>); + @override _i7.Future<_i3.SentryId> captureMessage( String? message, { @@ -859,7 +936,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i7.Future<_i3.SentryId>.value(_FakeSentryId_9( + returnValue: _i7.Future<_i3.SentryId>.value(_FakeSentryId_5( this, Invocation.method( #captureMessage, @@ -874,6 +951,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ), )), ) as _i7.Future<_i3.SentryId>); + @override _i7.Future captureUserFeedback(_i2.SentryUserFeedback? userFeedback) => (super.noSuchMethod( @@ -884,6 +962,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { returnValue: _i7.Future.value(), returnValueForMissingStub: _i7.Future.value(), ) as _i7.Future); + @override _i7.Future addBreadcrumb( _i3.Breadcrumb? crumb, { @@ -898,6 +977,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { returnValue: _i7.Future.value(), returnValueForMissingStub: _i7.Future.value(), ) as _i7.Future); + @override void bindClient(_i2.SentryClient? client) => super.noSuchMethod( Invocation.method( @@ -906,13 +986,14 @@ class MockHub extends _i1.Mock implements _i2.Hub { ), returnValueForMissingStub: null, ); + @override _i2.Hub clone() => (super.noSuchMethod( Invocation.method( #clone, [], ), - returnValue: _FakeHub_11( + returnValue: _FakeHub_12( this, Invocation.method( #clone, @@ -920,6 +1001,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ), ), ) as _i2.Hub); + @override _i7.Future close() => (super.noSuchMethod( Invocation.method( @@ -929,12 +1011,14 @@ class MockHub extends _i1.Mock implements _i2.Hub { returnValue: _i7.Future.value(), returnValueForMissingStub: _i7.Future.value(), ) as _i7.Future); + @override _i7.FutureOr configureScope(_i2.ScopeCallback? callback) => (super.noSuchMethod(Invocation.method( #configureScope, [callback], )) as _i7.FutureOr); + @override _i2.ISentrySpan startTransaction( String? name, @@ -979,6 +1063,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { customSamplingContext: customSamplingContext, ), ) as _i2.ISentrySpan); + @override _i2.ISentrySpan startTransactionWithContext( _i2.SentryTransactionContext? transactionContext, { @@ -1021,6 +1106,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ), ), ) as _i2.ISentrySpan); + @override _i7.Future<_i3.SentryId> captureTransaction( _i3.SentryTransaction? transaction, { @@ -1032,7 +1118,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { [transaction], {#traceContext: traceContext}, ), - returnValue: _i7.Future<_i3.SentryId>.value(_FakeSentryId_9( + returnValue: _i7.Future<_i3.SentryId>.value(_FakeSentryId_5( this, Invocation.method( #captureTransaction, @@ -1041,6 +1127,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ), )), ) as _i7.Future<_i3.SentryId>); + @override void setSpanContext( dynamic throwable, From 210f3062ef25a8e6ceaed090cb8ec08d32cde92b Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Thu, 2 Nov 2023 13:54:30 +0100 Subject: [PATCH 02/72] improve code --- drift/test/mocks/mocks.dart | 4 - drift/test/mocks/mocks.mocks.dart | 1093 +------------------------- drift/test/sentry_database_test.dart | 1 - drift/test/test_database.dart | 5 - 4 files changed, 29 insertions(+), 1074 deletions(-) diff --git a/drift/test/mocks/mocks.dart b/drift/test/mocks/mocks.dart index f0966355c6..0b26557d56 100644 --- a/drift/test/mocks/mocks.dart +++ b/drift/test/mocks/mocks.dart @@ -1,11 +1,7 @@ import 'package:mockito/annotations.dart'; import 'package:sentry/sentry.dart'; -import '../test_database.dart'; - @GenerateMocks([ Hub, - AppDatabase, - TodoItems, ]) void main() {} \ No newline at end of file diff --git a/drift/test/mocks/mocks.mocks.dart b/drift/test/mocks/mocks.mocks.dart index 4100a2203a..313757d864 100644 --- a/drift/test/mocks/mocks.mocks.dart +++ b/drift/test/mocks/mocks.mocks.dart @@ -3,17 +3,11 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i6; -import 'dart:typed_data' as _i9; +import 'dart:async' as _i4; -import 'package:drift/drift.dart' as _i4; -import 'package:drift/src/runtime/executor/stream_queries.dart' as _i5; import 'package:mockito/mockito.dart' as _i1; -import 'package:mockito/src/dummies.dart' as _i8; import 'package:sentry/sentry.dart' as _i2; -import 'package:sentry/src/profiling.dart' as _i7; - -import '../test_database.dart' as _i3; +import 'package:sentry/src/profiling.dart' as _i3; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -76,222 +70,6 @@ class _FakeISentrySpan_4 extends _i1.SmartFake implements _i2.ISentrySpan { ); } -class _Fake$TodoItemsTable_5 extends _i1.SmartFake - implements _i3.$TodoItemsTable { - _Fake$TodoItemsTable_5( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeGeneratedDatabase_6 extends _i1.SmartFake - implements _i4.GeneratedDatabase { - _FakeGeneratedDatabase_6( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeDriftDatabaseOptions_7 extends _i1.SmartFake - implements _i4.DriftDatabaseOptions { - _FakeDriftDatabaseOptions_7( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeMigrationStrategy_8 extends _i1.SmartFake - implements _i4.MigrationStrategy { - _FakeMigrationStrategy_8( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeStreamQueryUpdateRules_9 extends _i1.SmartFake - implements _i4.StreamQueryUpdateRules { - _FakeStreamQueryUpdateRules_9( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeDatabaseConnection_10 extends _i1.SmartFake - implements _i4.DatabaseConnection { - _FakeDatabaseConnection_10( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeQueryExecutor_11 extends _i1.SmartFake implements _i4.QueryExecutor { - _FakeQueryExecutor_11( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeStreamQueryStore_12 extends _i1.SmartFake - implements _i5.StreamQueryStore { - _FakeStreamQueryStore_12( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeDatabaseConnectionUser_13 extends _i1.SmartFake - implements _i4.DatabaseConnectionUser { - _FakeDatabaseConnectionUser_13( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeMigrator_14 extends _i1.SmartFake implements _i4.Migrator { - _FakeMigrator_14( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeFuture_15 extends _i1.SmartFake implements _i6.Future { - _FakeFuture_15( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeInsertStatement_16 extends _i1.SmartFake - implements _i4.InsertStatement { - _FakeInsertStatement_16( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeUpdateStatement_17 extends _i1.SmartFake - implements _i4.UpdateStatement { - _FakeUpdateStatement_17( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeSimpleSelectStatement_18 - extends _i1.SmartFake implements _i4.SimpleSelectStatement { - _FakeSimpleSelectStatement_18( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeJoinedSelectStatement_19 - extends _i1.SmartFake implements _i4.JoinedSelectStatement { - _FakeJoinedSelectStatement_19( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeDeleteStatement_20 extends _i1.SmartFake - implements _i4.DeleteStatement { - _FakeDeleteStatement_20( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeSelectable_21 extends _i1.SmartFake implements _i4.Selectable { - _FakeSelectable_21( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeGenerationContext_22 extends _i1.SmartFake - implements _i4.GenerationContext { - _FakeGenerationContext_22( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeColumn_23 extends _i1.SmartFake - implements _i4.Column { - _FakeColumn_23( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeColumnBuilder_24 extends _i1.SmartFake - implements _i4.ColumnBuilder { - _FakeColumnBuilder_24( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - /// A class which mocks [Hub]. /// /// See the documentation for Mockito's code generation for more information. @@ -334,7 +112,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ) as _i2.Scope); @override - set profilerFactory(_i7.SentryProfilerFactory? value) => super.noSuchMethod( + set profilerFactory(_i3.SentryProfilerFactory? value) => super.noSuchMethod( Invocation.setter( #profilerFactory, value, @@ -343,7 +121,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ); @override - _i6.Future<_i2.SentryId> captureEvent( + _i4.Future<_i2.SentryId> captureEvent( _i2.SentryEvent? event, { dynamic stackTrace, _i2.Hint? hint, @@ -359,7 +137,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i4.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureEvent, @@ -371,10 +149,10 @@ class MockHub extends _i1.Mock implements _i2.Hub { }, ), )), - ) as _i6.Future<_i2.SentryId>); + ) as _i4.Future<_i2.SentryId>); @override - _i6.Future<_i2.SentryId> captureException( + _i4.Future<_i2.SentryId> captureException( dynamic throwable, { dynamic stackTrace, _i2.Hint? hint, @@ -390,7 +168,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i4.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureException, @@ -402,10 +180,10 @@ class MockHub extends _i1.Mock implements _i2.Hub { }, ), )), - ) as _i6.Future<_i2.SentryId>); + ) as _i4.Future<_i2.SentryId>); @override - _i6.Future<_i2.SentryId> captureMessage( + _i4.Future<_i2.SentryId> captureMessage( String? message, { _i2.SentryLevel? level, String? template, @@ -425,7 +203,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i4.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureMessage, @@ -439,21 +217,21 @@ class MockHub extends _i1.Mock implements _i2.Hub { }, ), )), - ) as _i6.Future<_i2.SentryId>); + ) as _i4.Future<_i2.SentryId>); @override - _i6.Future captureUserFeedback(_i2.SentryUserFeedback? userFeedback) => + _i4.Future captureUserFeedback(_i2.SentryUserFeedback? userFeedback) => (super.noSuchMethod( Invocation.method( #captureUserFeedback, [userFeedback], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); @override - _i6.Future addBreadcrumb( + _i4.Future addBreadcrumb( _i2.Breadcrumb? crumb, { _i2.Hint? hint, }) => @@ -463,9 +241,9 @@ class MockHub extends _i1.Mock implements _i2.Hub { [crumb], {#hint: hint}, ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); @override void bindClient(_i2.SentryClient? client) => super.noSuchMethod( @@ -492,21 +270,21 @@ class MockHub extends _i1.Mock implements _i2.Hub { ) as _i2.Hub); @override - _i6.Future close() => (super.noSuchMethod( + _i4.Future close() => (super.noSuchMethod( Invocation.method( #close, [], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); @override - _i6.FutureOr configureScope(_i2.ScopeCallback? callback) => + _i4.FutureOr configureScope(_i2.ScopeCallback? callback) => (super.noSuchMethod(Invocation.method( #configureScope, [callback], - )) as _i6.FutureOr); + )) as _i4.FutureOr); @override _i2.ISentrySpan startTransaction( @@ -605,7 +383,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ) as _i2.ISentrySpan); @override - _i6.Future<_i2.SentryId> captureTransaction( + _i4.Future<_i2.SentryId> captureTransaction( _i2.SentryTransaction? transaction, { _i2.SentryTraceContextHeader? traceContext, }) => @@ -615,7 +393,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { [transaction], {#traceContext: traceContext}, ), - returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i4.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureTransaction, @@ -623,7 +401,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { {#traceContext: traceContext}, ), )), - ) as _i6.Future<_i2.SentryId>); + ) as _i4.Future<_i2.SentryId>); @override void setSpanContext( @@ -643,816 +421,3 @@ class MockHub extends _i1.Mock implements _i2.Hub { returnValueForMissingStub: null, ); } - -/// A class which mocks [AppDatabase]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockAppDatabase extends _i1.Mock implements _i3.AppDatabase { - MockAppDatabase() { - _i1.throwOnMissingStub(this); - } - - @override - int get schemaVersion => (super.noSuchMethod( - Invocation.getter(#schemaVersion), - returnValue: 0, - ) as int); - - @override - _i3.$TodoItemsTable get todoItems => (super.noSuchMethod( - Invocation.getter(#todoItems), - returnValue: _Fake$TodoItemsTable_5( - this, - Invocation.getter(#todoItems), - ), - ) as _i3.$TodoItemsTable); - - @override - Iterable<_i4.TableInfo<_i4.Table, Object?>> get allTables => - (super.noSuchMethod( - Invocation.getter(#allTables), - returnValue: <_i4.TableInfo<_i4.Table, Object?>>[], - ) as Iterable<_i4.TableInfo<_i4.Table, Object?>>); - - @override - List<_i4.DatabaseSchemaEntity> get allSchemaEntities => (super.noSuchMethod( - Invocation.getter(#allSchemaEntities), - returnValue: <_i4.DatabaseSchemaEntity>[], - ) as List<_i4.DatabaseSchemaEntity>); - - @override - _i4.GeneratedDatabase get attachedDatabase => (super.noSuchMethod( - Invocation.getter(#attachedDatabase), - returnValue: _FakeGeneratedDatabase_6( - this, - Invocation.getter(#attachedDatabase), - ), - ) as _i4.GeneratedDatabase); - - @override - _i4.DriftDatabaseOptions get options => (super.noSuchMethod( - Invocation.getter(#options), - returnValue: _FakeDriftDatabaseOptions_7( - this, - Invocation.getter(#options), - ), - ) as _i4.DriftDatabaseOptions); - - @override - _i4.MigrationStrategy get migration => (super.noSuchMethod( - Invocation.getter(#migration), - returnValue: _FakeMigrationStrategy_8( - this, - Invocation.getter(#migration), - ), - ) as _i4.MigrationStrategy); - - @override - _i4.StreamQueryUpdateRules get streamUpdateRules => (super.noSuchMethod( - Invocation.getter(#streamUpdateRules), - returnValue: _FakeStreamQueryUpdateRules_9( - this, - Invocation.getter(#streamUpdateRules), - ), - ) as _i4.StreamQueryUpdateRules); - - @override - _i4.DatabaseConnection get connection => (super.noSuchMethod( - Invocation.getter(#connection), - returnValue: _FakeDatabaseConnection_10( - this, - Invocation.getter(#connection), - ), - ) as _i4.DatabaseConnection); - - @override - _i4.SqlTypes get typeMapping => (super.noSuchMethod( - Invocation.getter(#typeMapping), - returnValue: _i8.dummyValue<_i4.SqlTypes>( - this, - Invocation.getter(#typeMapping), - ), - ) as _i4.SqlTypes); - - @override - _i4.QueryExecutor get executor => (super.noSuchMethod( - Invocation.getter(#executor), - returnValue: _FakeQueryExecutor_11( - this, - Invocation.getter(#executor), - ), - ) as _i4.QueryExecutor); - - @override - _i5.StreamQueryStore get streamQueries => (super.noSuchMethod( - Invocation.getter(#streamQueries), - returnValue: _FakeStreamQueryStore_12( - this, - Invocation.getter(#streamQueries), - ), - ) as _i5.StreamQueryStore); - - @override - _i4.DatabaseConnectionUser get resolvedEngine => (super.noSuchMethod( - Invocation.getter(#resolvedEngine), - returnValue: _FakeDatabaseConnectionUser_13( - this, - Invocation.getter(#resolvedEngine), - ), - ) as _i4.DatabaseConnectionUser); - - @override - _i4.Migrator createMigrator() => (super.noSuchMethod( - Invocation.method( - #createMigrator, - [], - ), - returnValue: _FakeMigrator_14( - this, - Invocation.method( - #createMigrator, - [], - ), - ), - ) as _i4.Migrator); - - @override - _i6.Future beforeOpen( - _i4.QueryExecutor? executor, - _i4.OpeningDetails? details, - ) => - (super.noSuchMethod( - Invocation.method( - #beforeOpen, - [ - executor, - details, - ], - ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); - - @override - _i6.Future close() => (super.noSuchMethod( - Invocation.method( - #close, - [], - ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); - - @override - _i6.Stream>> createStream( - _i5.QueryStreamFetcher? stmt) => - (super.noSuchMethod( - Invocation.method( - #createStream, - [stmt], - ), - returnValue: _i6.Stream>>.empty(), - ) as _i6.Stream>>); - - @override - T alias( - _i4.ResultSetImplementation? table, - String? alias, - ) => - (super.noSuchMethod( - Invocation.method( - #alias, - [ - table, - alias, - ], - ), - returnValue: _i8.dummyValue( - this, - Invocation.method( - #alias, - [ - table, - alias, - ], - ), - ), - ) as T); - - @override - void markTablesUpdated(Iterable<_i4.TableInfo<_i4.Table, dynamic>>? tables) => - super.noSuchMethod( - Invocation.method( - #markTablesUpdated, - [tables], - ), - returnValueForMissingStub: null, - ); - - @override - void notifyUpdates(Set<_i4.TableUpdate>? updates) => super.noSuchMethod( - Invocation.method( - #notifyUpdates, - [updates], - ), - returnValueForMissingStub: null, - ); - - @override - _i6.Stream> tableUpdates( - [_i4.TableUpdateQuery? query = const _i4.TableUpdateQuery.any()]) => - (super.noSuchMethod( - Invocation.method( - #tableUpdates, - [query], - ), - returnValue: _i6.Stream>.empty(), - ) as _i6.Stream>); - - @override - _i6.Future doWhenOpened( - _i6.FutureOr Function(_i4.QueryExecutor)? fn) => - (super.noSuchMethod( - Invocation.method( - #doWhenOpened, - [fn], - ), - returnValue: _i8.ifNotNull( - _i8.dummyValueOrNull( - this, - Invocation.method( - #doWhenOpened, - [fn], - ), - ), - (T v) => _i6.Future.value(v), - ) ?? - _FakeFuture_15( - this, - Invocation.method( - #doWhenOpened, - [fn], - ), - ), - ) as _i6.Future); - - @override - _i4.InsertStatement into( - _i4.TableInfo? table) => - (super.noSuchMethod( - Invocation.method( - #into, - [table], - ), - returnValue: _FakeInsertStatement_16( - this, - Invocation.method( - #into, - [table], - ), - ), - ) as _i4.InsertStatement); - - @override - _i4.UpdateStatement update( - _i4.TableInfo? table) => - (super.noSuchMethod( - Invocation.method( - #update, - [table], - ), - returnValue: _FakeUpdateStatement_17( - this, - Invocation.method( - #update, - [table], - ), - ), - ) as _i4.UpdateStatement); - - @override - _i4.SimpleSelectStatement select( - _i4.ResultSetImplementation? table, { - bool? distinct = false, - }) => - (super.noSuchMethod( - Invocation.method( - #select, - [table], - {#distinct: distinct}, - ), - returnValue: _FakeSimpleSelectStatement_18( - this, - Invocation.method( - #select, - [table], - {#distinct: distinct}, - ), - ), - ) as _i4.SimpleSelectStatement); - - @override - _i4.JoinedSelectStatement selectOnly( - _i4.ResultSetImplementation? table, { - bool? distinct = false, - }) => - (super.noSuchMethod( - Invocation.method( - #selectOnly, - [table], - {#distinct: distinct}, - ), - returnValue: _FakeJoinedSelectStatement_19( - this, - Invocation.method( - #selectOnly, - [table], - {#distinct: distinct}, - ), - ), - ) as _i4.JoinedSelectStatement); - - @override - _i4.DeleteStatement delete( - _i4.TableInfo? table) => - (super.noSuchMethod( - Invocation.method( - #delete, - [table], - ), - returnValue: _FakeDeleteStatement_20( - this, - Invocation.method( - #delete, - [table], - ), - ), - ) as _i4.DeleteStatement); - - @override - _i6.Future customUpdate( - String? query, { - List<_i4.Variable>? variables = const [], - Set<_i4.TableInfo<_i4.Table, dynamic>>? updates, - _i4.UpdateKind? updateKind, - }) => - (super.noSuchMethod( - Invocation.method( - #customUpdate, - [query], - { - #variables: variables, - #updates: updates, - #updateKind: updateKind, - }, - ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); - - @override - _i6.Future customInsert( - String? query, { - List<_i4.Variable>? variables = const [], - Set<_i4.TableInfo<_i4.Table, dynamic>>? updates, - }) => - (super.noSuchMethod( - Invocation.method( - #customInsert, - [query], - { - #variables: variables, - #updates: updates, - }, - ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); - - @override - _i6.Future> customWriteReturning( - String? query, { - List<_i4.Variable>? variables = const [], - Set<_i4.TableInfo<_i4.Table, dynamic>>? updates, - _i4.UpdateKind? updateKind, - }) => - (super.noSuchMethod( - Invocation.method( - #customWriteReturning, - [query], - { - #variables: variables, - #updates: updates, - #updateKind: updateKind, - }, - ), - returnValue: _i6.Future>.value(<_i4.QueryRow>[]), - ) as _i6.Future>); - - @override - _i4.Selectable<_i4.QueryRow> customSelect( - String? query, { - List<_i4.Variable>? variables = const [], - Set<_i4.ResultSetImplementation>? readsFrom = const {}, - }) => - (super.noSuchMethod( - Invocation.method( - #customSelect, - [query], - { - #variables: variables, - #readsFrom: readsFrom, - }, - ), - returnValue: _FakeSelectable_21<_i4.QueryRow>( - this, - Invocation.method( - #customSelect, - [query], - { - #variables: variables, - #readsFrom: readsFrom, - }, - ), - ), - ) as _i4.Selectable<_i4.QueryRow>); - - @override - _i4.Selectable<_i4.QueryRow> customSelectQuery( - String? query, { - List<_i4.Variable>? variables = const [], - Set<_i4.ResultSetImplementation>? readsFrom = const {}, - }) => - (super.noSuchMethod( - Invocation.method( - #customSelectQuery, - [query], - { - #variables: variables, - #readsFrom: readsFrom, - }, - ), - returnValue: _FakeSelectable_21<_i4.QueryRow>( - this, - Invocation.method( - #customSelectQuery, - [query], - { - #variables: variables, - #readsFrom: readsFrom, - }, - ), - ), - ) as _i4.Selectable<_i4.QueryRow>); - - @override - _i6.Future customStatement( - String? statement, [ - List? args, - ]) => - (super.noSuchMethod( - Invocation.method( - #customStatement, - [ - statement, - args, - ], - ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); - - @override - _i6.Future transaction( - _i6.Future Function()? action, { - bool? requireNew = false, - }) => - (super.noSuchMethod( - Invocation.method( - #transaction, - [action], - {#requireNew: requireNew}, - ), - returnValue: _i8.ifNotNull( - _i8.dummyValueOrNull( - this, - Invocation.method( - #transaction, - [action], - {#requireNew: requireNew}, - ), - ), - (T v) => _i6.Future.value(v), - ) ?? - _FakeFuture_15( - this, - Invocation.method( - #transaction, - [action], - {#requireNew: requireNew}, - ), - ), - ) as _i6.Future); - - @override - _i6.Future batch(_i6.FutureOr Function(_i4.Batch)? runInBatch) => - (super.noSuchMethod( - Invocation.method( - #batch, - [runInBatch], - ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); - - @override - _i4.GenerationContext $write( - _i4.Component? component, { - bool? hasMultipleTables, - int? startIndex, - }) => - (super.noSuchMethod( - Invocation.method( - #$write, - [component], - { - #hasMultipleTables: hasMultipleTables, - #startIndex: startIndex, - }, - ), - returnValue: _FakeGenerationContext_22( - this, - Invocation.method( - #$write, - [component], - { - #hasMultipleTables: hasMultipleTables, - #startIndex: startIndex, - }, - ), - ), - ) as _i4.GenerationContext); - - @override - _i4.GenerationContext $writeInsertable( - _i4.TableInfo<_i4.Table, dynamic>? table, - _i4.Insertable? insertable, { - int? startIndex, - }) => - (super.noSuchMethod( - Invocation.method( - #$writeInsertable, - [ - table, - insertable, - ], - {#startIndex: startIndex}, - ), - returnValue: _FakeGenerationContext_22( - this, - Invocation.method( - #$writeInsertable, - [ - table, - insertable, - ], - {#startIndex: startIndex}, - ), - ), - ) as _i4.GenerationContext); - - @override - String $expandVar( - int? start, - int? amount, - ) => - (super.noSuchMethod( - Invocation.method( - #$expandVar, - [ - start, - amount, - ], - ), - returnValue: '', - ) as String); -} - -/// A class which mocks [TodoItems]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockTodoItems extends _i1.Mock implements _i3.TodoItems { - MockTodoItems() { - _i1.throwOnMissingStub(this); - } - - @override - _i4.Column get id => (super.noSuchMethod( - Invocation.getter(#id), - returnValue: _FakeColumn_23( - this, - Invocation.getter(#id), - ), - ) as _i4.Column); - - @override - _i4.Column get title => (super.noSuchMethod( - Invocation.getter(#title), - returnValue: _FakeColumn_23( - this, - Invocation.getter(#title), - ), - ) as _i4.Column); - - @override - _i4.Column get content => (super.noSuchMethod( - Invocation.getter(#content), - returnValue: _FakeColumn_23( - this, - Invocation.getter(#content), - ), - ) as _i4.Column); - - @override - _i4.Column get category => (super.noSuchMethod( - Invocation.getter(#category), - returnValue: _FakeColumn_23( - this, - Invocation.getter(#category), - ), - ) as _i4.Column); - - @override - bool get withoutRowId => (super.noSuchMethod( - Invocation.getter(#withoutRowId), - returnValue: false, - ) as bool); - - @override - bool get dontWriteConstraints => (super.noSuchMethod( - Invocation.getter(#dontWriteConstraints), - returnValue: false, - ) as bool); - - @override - bool get isStrict => (super.noSuchMethod( - Invocation.getter(#isStrict), - returnValue: false, - ) as bool); - - @override - List get customConstraints => (super.noSuchMethod( - Invocation.getter(#customConstraints), - returnValue: [], - ) as List); - - @override - _i4.ColumnBuilder integer() => (super.noSuchMethod( - Invocation.method( - #integer, - [], - ), - returnValue: _FakeColumnBuilder_24( - this, - Invocation.method( - #integer, - [], - ), - ), - ) as _i4.ColumnBuilder); - - @override - _i4.ColumnBuilder int64() => (super.noSuchMethod( - Invocation.method( - #int64, - [], - ), - returnValue: _FakeColumnBuilder_24( - this, - Invocation.method( - #int64, - [], - ), - ), - ) as _i4.ColumnBuilder); - - @override - _i4.ColumnBuilder intEnum() => (super.noSuchMethod( - Invocation.method( - #intEnum, - [], - ), - returnValue: _FakeColumnBuilder_24( - this, - Invocation.method( - #intEnum, - [], - ), - ), - ) as _i4.ColumnBuilder); - - @override - _i4.ColumnBuilder text() => (super.noSuchMethod( - Invocation.method( - #text, - [], - ), - returnValue: _FakeColumnBuilder_24( - this, - Invocation.method( - #text, - [], - ), - ), - ) as _i4.ColumnBuilder); - - @override - _i4.ColumnBuilder textEnum() => (super.noSuchMethod( - Invocation.method( - #textEnum, - [], - ), - returnValue: _FakeColumnBuilder_24( - this, - Invocation.method( - #textEnum, - [], - ), - ), - ) as _i4.ColumnBuilder); - - @override - _i4.ColumnBuilder boolean() => (super.noSuchMethod( - Invocation.method( - #boolean, - [], - ), - returnValue: _FakeColumnBuilder_24( - this, - Invocation.method( - #boolean, - [], - ), - ), - ) as _i4.ColumnBuilder); - - @override - _i4.ColumnBuilder dateTime() => (super.noSuchMethod( - Invocation.method( - #dateTime, - [], - ), - returnValue: _FakeColumnBuilder_24( - this, - Invocation.method( - #dateTime, - [], - ), - ), - ) as _i4.ColumnBuilder); - - @override - _i4.ColumnBuilder<_i9.Uint8List> blob() => (super.noSuchMethod( - Invocation.method( - #blob, - [], - ), - returnValue: _FakeColumnBuilder_24<_i9.Uint8List>( - this, - Invocation.method( - #blob, - [], - ), - ), - ) as _i4.ColumnBuilder<_i9.Uint8List>); - - @override - _i4.ColumnBuilder real() => (super.noSuchMethod( - Invocation.method( - #real, - [], - ), - returnValue: _FakeColumnBuilder_24( - this, - Invocation.method( - #real, - [], - ), - ), - ) as _i4.ColumnBuilder); - - @override - _i4.ColumnBuilder customType( - _i4.CustomSqlType? type) => - (super.noSuchMethod( - Invocation.method( - #customType, - [type], - ), - returnValue: _FakeColumnBuilder_24( - this, - Invocation.method( - #customType, - [type], - ), - ), - ) as _i4.ColumnBuilder); -} diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 8fc5b4ced3..5ea86cd551 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -149,7 +149,6 @@ void main() { class Fixture { final options = SentryOptions(); final hub = MockHub(); - final mockDatabase = MockAppDatabase(); static final dbName = 'people-drift-impl'; final exception = Exception('fixture-exception'); diff --git a/drift/test/test_database.dart b/drift/test/test_database.dart index e8d7b58d81..4bf7d7a55a 100644 --- a/drift/test/test_database.dart +++ b/drift/test/test_database.dart @@ -1,9 +1,4 @@ import 'package:drift/drift.dart'; -import 'dart:io'; - -import 'package:drift/native.dart'; -import 'package:path_provider/path_provider.dart'; -import 'package:path/path.dart' as p; part 'test_database.g.dart'; From 3caa4cd13ee80db129bbc077fe018f78d767bb91 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Thu, 2 Nov 2023 14:36:22 +0100 Subject: [PATCH 03/72] Add open span --- drift/lib/src/sentry_drift_database.dart | 31 ++++++------ drift/test/sentry_database_test.dart | 60 +++++++++++++++++------- 2 files changed, 57 insertions(+), 34 deletions(-) diff --git a/drift/lib/src/sentry_drift_database.dart b/drift/lib/src/sentry_drift_database.dart index 1c122dd2c7..71a323107f 100644 --- a/drift/lib/src/sentry_drift_database.dart +++ b/drift/lib/src/sentry_drift_database.dart @@ -72,27 +72,26 @@ class SentryDriftDatabase extends QueryExecutor { } Future _awaitOpened() { - if (_delegateAvailable) { - return Future.value(); - } else if (_openDelegate != null) { - return _openDelegate!.future; - } else { - final delegate = _openDelegate = Completer(); - Future.sync(opener).then((database) { - _delegate = database; - _delegateAvailable = true; - delegate.complete(); - }, onError: delegate.completeError); - return delegate.future; - } + return _spanHelper.asyncWrapInSpan('open', () async { + if (_delegateAvailable) { + return Future.value(); + } else if (_openDelegate != null) { + return _openDelegate!.future; + } else { + final delegate = _openDelegate = Completer(); + await Future.sync(opener).then((database) { + _delegate = database; + _delegateAvailable = true; + delegate.complete(); + }, onError: delegate.completeError); + return delegate.future; + } + }, dbName: dbName); } - @override - @override TransactionExecutor beginTransaction() { final a = _delegate.beginTransaction(); - print(a.toString()); return _delegate.beginTransaction(); } diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 5ea86cd551..238afa9aaf 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -102,22 +102,7 @@ void main() { )); }); - // await sut.batch((batch) { - // batch.insert( - // sut.todoItems, - // TodoItemsCompanion.insert( - // title: 'todo: finish drift setup', - // content: 'We can now write queries and define our own tables.', - // )); - // batch.insert( - // sut.todoItems, - // TodoItemsCompanion.insert( - // title: 'todo: finish drift setup', - // content: 'We can now write queries and define our own tables.', - // )); - // }); - - //verifySpan('batch', fixture.getCreatedSpan()); + // TODO }); test('close adds span', () async { @@ -127,6 +112,22 @@ void main() { verifySpan('close', fixture.getCreatedSpan()); }); + + test('open adds span', () async { + final sut = fixture.getSut(); + + // SentryDriftDatabase is lazily opened by default so it won't create a span + // until it is actually used. + await sut.select(sut.todoItems).get(); + + verifySpan('open', fixture.getSpanByDescription('open')); + }); + + test('will not add open span if db is not used', () async { + fixture.getSut(); + + expect(fixture.tracer.children.isEmpty, true); + }); }); group('adds error span', () { @@ -143,6 +144,25 @@ void main() { tearDown(() async { await fixture.tearDown(); }); + + // test('throwing insert adds error span', () async { + // final sut = fixture.getSut(); + // Exception? exception; + // + // try { + // await sut.into(fixture.sut.todoItems).insert(TodoItemsCompanion.insert( + // title: 'AAAaaaaaa', + // content: 'aaaaaaaaaa', + // )); + // } catch (error) { + // expect(error is InvalidDataException, true); + // exception = error as InvalidDataException; + // } + // + // + // + // //verifyErrorSpan('insert', exception!, fixture.getCreatedSpan()); + // }); }); } @@ -171,10 +191,14 @@ class Fixture { SentrySpan? getCreatedSpan() { return tracer.children.last; } + + SentrySpan? getSpanByDescription(String description) { + return tracer.children.firstWhere((element) => element.context.description == description); + } SentryDriftDatabase openConnection() { - return SentryDriftDatabase(hub: hub, () async { + return SentryDriftDatabase(() { return NativeDatabase.memory(); - }); + }, hub: hub); } } From a03543551613acbdb2c9927108f8edde5182d0fd Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Thu, 2 Nov 2023 14:45:23 +0100 Subject: [PATCH 04/72] Refactor to extend lazy database --- drift/lib/src/sentry_drift_database.dart | 81 ++++-------------------- 1 file changed, 14 insertions(+), 67 deletions(-) diff --git a/drift/lib/src/sentry_drift_database.dart b/drift/lib/src/sentry_drift_database.dart index 71a323107f..712ceffc0e 100644 --- a/drift/lib/src/sentry_drift_database.dart +++ b/drift/lib/src/sentry_drift_database.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:drift/backends.dart'; +import 'package:drift/drift.dart'; import 'package:meta/meta.dart'; import 'package:sentry/sentry.dart'; import 'sentry_span_helper.dart'; @@ -12,7 +13,7 @@ typedef DatabaseOpener = FutureOr Function(); /// /// A special database executor that delegates work to another [QueryExecutor]. /// The other executor is lazily opened by a [DatabaseOpener]. -class SentryDriftDatabase extends QueryExecutor { +class SentryDriftDatabase extends LazyDatabase { final Hub _hub; final _spanHelper = SentrySpanHelper( // ignore: invalid_use_of_internal_member @@ -37,92 +38,42 @@ class SentryDriftDatabase extends QueryExecutor { // ignore: public_member_api_docs static const dbSystem = 'sqlite'; - /// Underlying executor - late final QueryExecutor _delegate; - - bool _delegateAvailable = false; - final SqlDialect _dialect; - - Completer? _openDelegate; - - @override - SqlDialect get dialect { - // Drift reads dialect before database opened, so we must know in advance - if (_delegateAvailable && _dialect != _delegate.dialect) { - throw Exception('LazyDatabase created with $_dialect, but underlying ' - 'database is ${_delegate.dialect}.'); - } - return _dialect; - } - - /// The function that will open the database when this [SentryDriftDatabase] gets - /// opened for the first time. - final DatabaseOpener opener; - /// Declares a [SentryDriftDatabase] that will run [opener] when the database is /// first requested to be opened. You must specify the same [dialect] as the /// underlying database has SentryDriftDatabase( - this.opener, { - SqlDialect dialect = SqlDialect.sqlite, + super.opener, { + super.dialect, @internal Hub? hub, - }) : _dialect = dialect, - _hub = hub ?? HubAdapter() { + }) : _hub = hub ?? HubAdapter() { _spanHelper.setHub(_hub); } - Future _awaitOpened() { - return _spanHelper.asyncWrapInSpan('open', () async { - if (_delegateAvailable) { - return Future.value(); - } else if (_openDelegate != null) { - return _openDelegate!.future; - } else { - final delegate = _openDelegate = Completer(); - await Future.sync(opener).then((database) { - _delegate = database; - _delegateAvailable = true; - delegate.complete(); - }, onError: delegate.completeError); - return delegate.future; - } - }, dbName: dbName); - } - - @override - TransactionExecutor beginTransaction() { - final a = _delegate.beginTransaction(); - return _delegate.beginTransaction(); - } - @override Future ensureOpen(QueryExecutorUser user) { - return _awaitOpened().then((_) => _delegate.ensureOpen(user)); - } - - @override - Future runBatched(BatchedStatements statements) { - return _delegate.runBatched(statements); + return _spanHelper.asyncWrapInSpan('open', () async { + return await super.ensureOpen(user); + }); } @override Future runCustom(String statement, [List? args]) { return _spanHelper.asyncWrapInSpan('custom', () async { - return await _delegate.runCustom(statement, args); + return await super.runCustom(statement, args); }, dbName: dbName); } @override Future runDelete(String statement, List args) { return _spanHelper.asyncWrapInSpan('delete', () async { - return await _delegate.runDelete(statement, args); + return await super.runDelete(statement, args); }, dbName: dbName); } @override Future runInsert(String statement, List args) { return _spanHelper.asyncWrapInSpan('insert', () async { - return await _delegate.runInsert(statement, args); + return await super.runInsert(statement, args); }, dbName: dbName); } @@ -130,25 +81,21 @@ class SentryDriftDatabase extends QueryExecutor { Future>> runSelect( String statement, List args) { return _spanHelper.asyncWrapInSpan('select', () async { - return await _delegate.runSelect(statement, args); + return await super.runSelect(statement, args); }, dbName: dbName); } @override Future runUpdate(String statement, List args) { return _spanHelper.asyncWrapInSpan('update', () async { - return await _delegate.runUpdate(statement, args); + return await super.runUpdate(statement, args); }, dbName: dbName); } @override Future close() { return _spanHelper.asyncWrapInSpan('close', () async { - if (_delegateAvailable) { - return _delegate.close(); - } else { - return Future.value(); - } + return await super.close(); }, dbName: dbName); } } From ea9e2d6e3c7aef5afdc3875813ca0ced4fdc60b8 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Thu, 2 Nov 2023 16:21:13 +0100 Subject: [PATCH 05/72] Update --- drift/lib/src/sentry_drift_database.dart | 66 +++++++++------ drift/lib/src/sentry_span_helper.dart | 1 - drift/test/sentry_database_test.dart | 100 ++++++++--------------- 3 files changed, 75 insertions(+), 92 deletions(-) diff --git a/drift/lib/src/sentry_drift_database.dart b/drift/lib/src/sentry_drift_database.dart index 712ceffc0e..1c87482c48 100644 --- a/drift/lib/src/sentry_drift_database.dart +++ b/drift/lib/src/sentry_drift_database.dart @@ -9,18 +9,21 @@ import 'sentry_span_helper.dart'; /// Signature of a function that opens a database connection when instructed to. typedef DatabaseOpener = FutureOr Function(); -/// Sentry Drift Database Executor based on [LazyDatabase]. +/// The Sentry Drift Database Executor. /// -/// A special database executor that delegates work to another [QueryExecutor]. -/// The other executor is lazily opened by a [DatabaseOpener]. -class SentryDriftDatabase extends LazyDatabase { +/// If queryExecutor is not null, it will be used instead of the default one. +/// The default is [LazyDatabase]. +class SentryDriftDatabase extends QueryExecutor { final Hub _hub; + final _spanHelper = SentrySpanHelper( // ignore: invalid_use_of_internal_member SentryTraceOrigins.autoDbDriftDatabaseExecutor, ); - String? dbName = 'people-drift-impl'; + final QueryExecutor _queryExecutor; + + final String? _dbName; @internal // ignore: public_member_api_docs @@ -41,61 +44,76 @@ class SentryDriftDatabase extends LazyDatabase { /// Declares a [SentryDriftDatabase] that will run [opener] when the database is /// first requested to be opened. You must specify the same [dialect] as the /// underlying database has - SentryDriftDatabase( - super.opener, { - super.dialect, - @internal Hub? hub, - }) : _hub = hub ?? HubAdapter() { + SentryDriftDatabase(DatabaseOpener opener, + {@internal Hub? hub, + @internal QueryExecutor? queryExecutor, + @internal String? dbName}) + : _hub = hub ?? HubAdapter(), + _dbName = dbName, + _queryExecutor = queryExecutor ?? LazyDatabase(opener) { _spanHelper.setHub(_hub); } + @override + TransactionExecutor beginTransaction() { + return _queryExecutor.beginTransaction(); + } + + @override + Future runBatched(BatchedStatements statements) { + return _queryExecutor.runBatched(statements); + } + @override Future ensureOpen(QueryExecutorUser user) { return _spanHelper.asyncWrapInSpan('open', () async { - return await super.ensureOpen(user); - }); + return await _queryExecutor.ensureOpen(user); + }, dbName: _dbName); } @override Future runCustom(String statement, [List? args]) { return _spanHelper.asyncWrapInSpan('custom', () async { - return await super.runCustom(statement, args); - }, dbName: dbName); + return await _queryExecutor.runCustom(statement, args); + }, dbName: _dbName); } @override Future runDelete(String statement, List args) { return _spanHelper.asyncWrapInSpan('delete', () async { - return await super.runDelete(statement, args); - }, dbName: dbName); + return await _queryExecutor.runDelete(statement, args); + }, dbName: _dbName); } @override Future runInsert(String statement, List args) { return _spanHelper.asyncWrapInSpan('insert', () async { - return await super.runInsert(statement, args); - }, dbName: dbName); + return await _queryExecutor.runInsert(statement, args); + }, dbName: _dbName); } @override Future>> runSelect( String statement, List args) { return _spanHelper.asyncWrapInSpan('select', () async { - return await super.runSelect(statement, args); - }, dbName: dbName); + return await _queryExecutor.runSelect(statement, args); + }, dbName: _dbName); } @override Future runUpdate(String statement, List args) { return _spanHelper.asyncWrapInSpan('update', () async { - return await super.runUpdate(statement, args); - }, dbName: dbName); + return await _queryExecutor.runUpdate(statement, args); + }, dbName: _dbName); } @override Future close() { return _spanHelper.asyncWrapInSpan('close', () async { - return await super.close(); - }, dbName: dbName); + return await _queryExecutor.close(); + }, dbName: _dbName); } + + @override + SqlDialect get dialect => _queryExecutor.dialect; } diff --git a/drift/lib/src/sentry_span_helper.dart b/drift/lib/src/sentry_span_helper.dart index 7c30bfafe7..e5201e72a1 100644 --- a/drift/lib/src/sentry_span_helper.dart +++ b/drift/lib/src/sentry_span_helper.dart @@ -45,7 +45,6 @@ class SentrySpanHelper { try { final result = await execute(); - span?.status = SpanStatus.ok(); return result; diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 238afa9aaf..6274d53ab3 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -23,11 +23,9 @@ void main() { expect(span?.data[SentryDriftDatabase.dbNameKey], Fixture.dbName); } - void verifyErrorSpan( - String description, - Exception exception, - SentrySpan? span, - ) { + void verifyErrorSpan(String description, + Exception exception, + SentrySpan? span,) { expect(span?.context.operation, SentryDriftDatabase.dbOp); expect(span?.context.description, description); expect(span?.status, SpanStatus.internalError()); @@ -56,26 +54,26 @@ void main() { }); test('insert adds span', () async { - final sut = fixture.getSut(); + final sut = fixture.sut; await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: 'todo: finish drift setup', - content: 'We can now write queries and define our own tables.', - )); + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + )); verifySpan('insert', fixture.getCreatedSpan()); }); test('update adds span', () async { - final sut = fixture.getSut(); + final sut = fixture.sut; await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: 'todo: finish drift setup', - content: 'We can now write queries and define our own tables.', - )); + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + )); await (sut.update(sut.todoItems) - ..where((tbl) => tbl.title.equals('todo: finish drift setup'))) + ..where((tbl) => tbl.title.equals('todo: finish drift setup'))) .write(TodoItemsCompanion( title: Value('after update'), content: Value('We can now write queries and define our own tables.'), @@ -85,7 +83,7 @@ void main() { }); test('custom adds span', () async { - final sut = fixture.getSut(); + final sut = fixture.sut; await sut.customStatement('SELECT * FROM todo_items'); @@ -93,20 +91,27 @@ void main() { }); test('batch adds span', () async { - final sut = fixture.getSut(); + final sut = fixture.sut; await sut.transaction(() async { await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: 'todo: finish drift setup', - content: 'We can now write queries and define our own tables.', - )); + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + )); + }); + + await sut.batch((batch) async { + await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + )); }); // TODO }); test('close adds span', () async { - final sut = fixture.getSut(); + final sut = fixture.sut; await sut.close(); @@ -114,56 +119,21 @@ void main() { }); test('open adds span', () async { - final sut = fixture.getSut(); + final sut = fixture.sut; - // SentryDriftDatabase is lazily opened by default so it won't create a span - // until it is actually used. + // SentryDriftDatabase is by default lazily opened by default so it won't + // create a span until it is actually used. await sut.select(sut.todoItems).get(); verifySpan('open', fixture.getSpanByDescription('open')); }); test('will not add open span if db is not used', () async { - fixture.getSut(); + fixture.sut; expect(fixture.tracer.children.isEmpty, true); }); }); - - group('adds error span', () { - late Fixture fixture; - - setUp(() async { - fixture = Fixture(); - await fixture.setUp(); - - when(fixture.hub.options).thenReturn(fixture.options); - when(fixture.hub.getSpan()).thenReturn(fixture.tracer); - }); - - tearDown(() async { - await fixture.tearDown(); - }); - - // test('throwing insert adds error span', () async { - // final sut = fixture.getSut(); - // Exception? exception; - // - // try { - // await sut.into(fixture.sut.todoItems).insert(TodoItemsCompanion.insert( - // title: 'AAAaaaaaa', - // content: 'aaaaaaaaaa', - // )); - // } catch (error) { - // expect(error is InvalidDataException, true); - // exception = error as InvalidDataException; - // } - // - // - // - // //verifyErrorSpan('insert', exception!, fixture.getCreatedSpan()); - // }); - }); } class Fixture { @@ -171,7 +141,6 @@ class Fixture { final hub = MockHub(); static final dbName = 'people-drift-impl'; final exception = Exception('fixture-exception'); - final _context = SentryTransactionContext('name', 'operation'); late final tracer = SentryTracer(_context, hub); late AppDatabase sut; @@ -184,21 +153,18 @@ class Fixture { await sut.close(); } - AppDatabase getSut() { - return sut; - } - SentrySpan? getCreatedSpan() { return tracer.children.last; } - + SentrySpan? getSpanByDescription(String description) { - return tracer.children.firstWhere((element) => element.context.description == description); + return tracer.children + .firstWhere((element) => element.context.description == description); } SentryDriftDatabase openConnection() { return SentryDriftDatabase(() { return NativeDatabase.memory(); - }, hub: hub); + }, hub: hub, dbName: dbName); } } From 64652a4d51049e12ec7fb80a8d600ece5738a144 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Fri, 3 Nov 2023 10:40:07 +0100 Subject: [PATCH 06/72] SentryTransactionExecutor --- dart/lib/src/sentry_trace_origins.dart | 1 + drift/lib/sentry_drift.dart | 4 +- drift/lib/src/sentry_drift_database.dart | 4 +- drift/lib/src/sentry_span_helper.dart | 89 +++++++++++++++++-- .../lib/src/sentry_transaction_executor.dart | 85 ++++++++++++++++++ drift/test/sentry_database_test.dart | 18 +--- 6 files changed, 179 insertions(+), 22 deletions(-) create mode 100644 drift/lib/src/sentry_transaction_executor.dart diff --git a/dart/lib/src/sentry_trace_origins.dart b/dart/lib/src/sentry_trace_origins.dart index ca94baf853..309a528512 100644 --- a/dart/lib/src/sentry_trace_origins.dart +++ b/dart/lib/src/sentry_trace_origins.dart @@ -19,4 +19,5 @@ class SentryTraceOrigins { static const autoDbSqfliteDatabaseFactory = 'auto.db.sqflite.database_factory'; static const autoDbDriftDatabaseExecutor = 'auto.db.drift.database.executor'; + static const autoDbDriftTransactionExecutor = 'auto.db.drift.transaction.executor'; } diff --git a/drift/lib/sentry_drift.dart b/drift/lib/sentry_drift.dart index 82f37f3c35..56e446bc01 100644 --- a/drift/lib/sentry_drift.dart +++ b/drift/lib/sentry_drift.dart @@ -1 +1,3 @@ -library sentry_drift; \ No newline at end of file +library sentry_drift; + +export 'src/sentry_drift_database.dart'; \ No newline at end of file diff --git a/drift/lib/src/sentry_drift_database.dart b/drift/lib/src/sentry_drift_database.dart index 1c87482c48..7f02646e66 100644 --- a/drift/lib/src/sentry_drift_database.dart +++ b/drift/lib/src/sentry_drift_database.dart @@ -5,6 +5,7 @@ import 'package:drift/drift.dart'; import 'package:meta/meta.dart'; import 'package:sentry/sentry.dart'; import 'sentry_span_helper.dart'; +import 'sentry_transaction_executor.dart'; /// Signature of a function that opens a database connection when instructed to. typedef DatabaseOpener = FutureOr Function(); @@ -56,7 +57,8 @@ class SentryDriftDatabase extends QueryExecutor { @override TransactionExecutor beginTransaction() { - return _queryExecutor.beginTransaction(); + final transactionExecutor = _queryExecutor.beginTransaction(); + return SentryTransactionExecutor(transactionExecutor, _hub, dbName: _dbName); } @override diff --git a/drift/lib/src/sentry_span_helper.dart b/drift/lib/src/sentry_span_helper.dart index e5201e72a1..7302042184 100644 --- a/drift/lib/src/sentry_span_helper.dart +++ b/drift/lib/src/sentry_span_helper.dart @@ -24,20 +24,28 @@ class SentrySpanHelper { /// @nodoc @internal Future asyncWrapInSpan( - String description, - Future Function() execute, { - String? dbName, - }) async { + String description, + Future Function() execute, { + String? dbName, + }) async { final currentSpan = _hub.getSpan(); final span = currentSpan?.startChild( SentryDriftDatabase.dbOp, description: description, ); + final breadcrumb = Breadcrumb( + message: description, + category: SentryDriftDatabase.dbOp, + data: {}, + type: 'query', + ); + // ignore: invalid_use_of_internal_member span?.origin = _origin; - span?.setData(SentryDriftDatabase.dbSystemKey, SentryDriftDatabase.dbSystem); + span?.setData( + SentryDriftDatabase.dbSystemKey, SentryDriftDatabase.dbSystem); if (dbName != null) { span?.setData(SentryDriftDatabase.dbNameKey, dbName); @@ -51,9 +59,78 @@ class SentrySpanHelper { } catch (exception) { span?.throwable = exception; span?.status = SpanStatus.internalError(); + rethrow; } finally { await span?.finish(); } } -} \ No newline at end of file + + @internal + T beginTransaction( + String description, + T Function() execute, { + String? dbName, + }) { + final currentSpan = _hub.getSpan(); + final span = currentSpan?.startChild( + SentryDriftDatabase.dbOp, + description: description, + ); + + // ignore: invalid_use_of_internal_member + span?.origin = _origin; + + span?.setData( + SentryDriftDatabase.dbSystemKey, SentryDriftDatabase.dbSystem); + + if (dbName != null) { + span?.setData(SentryDriftDatabase.dbNameKey, dbName); + } + + try { + final result = execute(); + span?.status = SpanStatus.unknown(); + + return result; + } catch (exception) { + span?.throwable = exception; + span?.status = SpanStatus.internalError(); + + rethrow; + } + } + + @internal + T finishTransaction( + T Function() execute, { + String? dbName, + }) { + // TODO: is this always the right way to get the current span? + final span = _hub.getSpan(); + + // ignore: invalid_use_of_internal_member + span?.origin = _origin; + + span?.setData( + SentryDriftDatabase.dbSystemKey, SentryDriftDatabase.dbSystem); + + if (dbName != null) { + span?.setData(SentryDriftDatabase.dbNameKey, dbName); + } + + try { + final result = execute(); + span?.status = SpanStatus.ok(); + + return result; + } catch (exception) { + span?.throwable = exception; + span?.status = SpanStatus.internalError(); + + rethrow; + } finally { + span?.finish(); + } + } +} diff --git a/drift/lib/src/sentry_transaction_executor.dart b/drift/lib/src/sentry_transaction_executor.dart new file mode 100644 index 0000000000..6c745286f9 --- /dev/null +++ b/drift/lib/src/sentry_transaction_executor.dart @@ -0,0 +1,85 @@ +import 'package:drift/backends.dart'; +import 'package:meta/meta.dart'; +import 'package:sentry/sentry.dart'; +import 'package:sentry_drift/src/sentry_span_helper.dart'; + +class SentryTransactionExecutor extends TransactionExecutor { + final TransactionExecutor _executor; + + final Hub _hub; + + final _spanHelper = SentrySpanHelper( + // ignore: invalid_use_of_internal_member + SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); + + final String? _dbName; + + SentryTransactionExecutor(this._executor, Hub hub, {@internal String? dbName}) + : _hub = hub, + _dbName = dbName { + _spanHelper.setHub(_hub); + } + + @override + TransactionExecutor beginTransaction() { + return _spanHelper.beginTransaction('transaction', () { + return _executor.beginTransaction(); + }); + } + + @override + Future rollback() { + return _executor.rollback(); + } + + @override + Future send() async { + return _spanHelper.finishTransaction(() { + return _executor.send(); + }); + } + + @override + SqlDialect get dialect => _executor.dialect; + + @override + Future ensureOpen(QueryExecutorUser user) { + return _executor.ensureOpen(user); + } + + @override + Future runBatched(BatchedStatements statements) { + print('haha'); + return _executor.runBatched(statements); + } + + @override + Future runCustom(String statement, [List? args]) { + return _executor.runCustom(statement, args); + } + + @override + Future runDelete(String statement, List args) { + return _executor.runDelete(statement, args); + } + + @override + Future runInsert(String statement, List args) { + return _executor.runInsert(statement, args); + } + + @override + Future>> runSelect( + String statement, List args) { + return _executor.runSelect(statement, args); + } + + @override + Future runUpdate(String statement, List args) { + return _executor.runUpdate(statement, args); + } + + @override + bool get supportsNestedTransactions => _executor.supportsNestedTransactions; +} diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 6274d53ab3..4c12df4aaa 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -90,24 +90,14 @@ void main() { verifySpan('custom', fixture.getCreatedSpan()); }); - test('batch adds span', () async { + test('transaction adds span', () async { final sut = fixture.sut; await sut.transaction(() async { - await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: 'todo: finish drift setup', - content: 'We can now write queries and define our own tables.', - )); - }); - await sut.batch((batch) async { - await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: 'todo: finish drift setup', - content: 'We can now write queries and define our own tables.', - )); }); - // TODO + // verifySpan('transaction', fixture.getCreatedSpan()); }); test('close adds span', () async { @@ -125,7 +115,7 @@ void main() { // create a span until it is actually used. await sut.select(sut.todoItems).get(); - verifySpan('open', fixture.getSpanByDescription('open')); + verifySpan('open', fixture.getCreatedSpanByDescription('open')); }); test('will not add open span if db is not used', () async { @@ -157,7 +147,7 @@ class Fixture { return tracer.children.last; } - SentrySpan? getSpanByDescription(String description) { + SentrySpan? getCreatedSpanByDescription(String description) { return tracer.children .firstWhere((element) => element.context.description == description); } From dcabe06b24de039b9070077285e93601e5394bdc Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Fri, 3 Nov 2023 12:36:18 +0100 Subject: [PATCH 07/72] Implement tracing batch and transactions --- dart/lib/src/sentry_trace_origins.dart | 2 +- dart/lib/src/sentry_tracer.dart | 1 + drift/lib/sentry_drift.dart | 2 +- ...tabase.dart => sentry_query_executor.dart} | 10 +- drift/lib/src/sentry_span_helper.dart | 61 ++++--- .../lib/src/sentry_transaction_executor.dart | 14 +- drift/test/sentry_database_test.dart | 158 ++++++++++++++---- 7 files changed, 177 insertions(+), 71 deletions(-) rename drift/lib/src/{sentry_drift_database.dart => sentry_query_executor.dart} (93%) diff --git a/dart/lib/src/sentry_trace_origins.dart b/dart/lib/src/sentry_trace_origins.dart index 309a528512..fef7b08f2e 100644 --- a/dart/lib/src/sentry_trace_origins.dart +++ b/dart/lib/src/sentry_trace_origins.dart @@ -18,6 +18,6 @@ class SentryTraceOrigins { 'auto.db.sqflite.database_executor'; static const autoDbSqfliteDatabaseFactory = 'auto.db.sqflite.database_factory'; - static const autoDbDriftDatabaseExecutor = 'auto.db.drift.database.executor'; + static const autoDbDriftQueryExecutor = 'auto.db.drift.database.executor'; static const autoDbDriftTransactionExecutor = 'auto.db.drift.transaction.executor'; } diff --git a/dart/lib/src/sentry_tracer.dart b/dart/lib/src/sentry_tracer.dart index 6012a13bfb..478810b483 100644 --- a/dart/lib/src/sentry_tracer.dart +++ b/dart/lib/src/sentry_tracer.dart @@ -134,6 +134,7 @@ class SentryTracer extends ISentrySpan { // remove from scope await _hub.configureScope((scope) { if (scope.span == this) { + print('removing span from scope'); scope.span = null; } }); diff --git a/drift/lib/sentry_drift.dart b/drift/lib/sentry_drift.dart index 56e446bc01..c569a1d273 100644 --- a/drift/lib/sentry_drift.dart +++ b/drift/lib/sentry_drift.dart @@ -1,3 +1,3 @@ library sentry_drift; -export 'src/sentry_drift_database.dart'; \ No newline at end of file +export 'src/sentry_query_executor.dart'; \ No newline at end of file diff --git a/drift/lib/src/sentry_drift_database.dart b/drift/lib/src/sentry_query_executor.dart similarity index 93% rename from drift/lib/src/sentry_drift_database.dart rename to drift/lib/src/sentry_query_executor.dart index 7f02646e66..5f3a67e43f 100644 --- a/drift/lib/src/sentry_drift_database.dart +++ b/drift/lib/src/sentry_query_executor.dart @@ -10,16 +10,16 @@ import 'sentry_transaction_executor.dart'; /// Signature of a function that opens a database connection when instructed to. typedef DatabaseOpener = FutureOr Function(); -/// The Sentry Drift Database Executor. +/// The Sentry Query Executor. /// /// If queryExecutor is not null, it will be used instead of the default one. /// The default is [LazyDatabase]. -class SentryDriftDatabase extends QueryExecutor { +class SentryQueryExecutor extends QueryExecutor { final Hub _hub; final _spanHelper = SentrySpanHelper( // ignore: invalid_use_of_internal_member - SentryTraceOrigins.autoDbDriftDatabaseExecutor, + SentryTraceOrigins.autoDbDriftQueryExecutor, ); final QueryExecutor _queryExecutor; @@ -42,10 +42,10 @@ class SentryDriftDatabase extends QueryExecutor { // ignore: public_member_api_docs static const dbSystem = 'sqlite'; - /// Declares a [SentryDriftDatabase] that will run [opener] when the database is + /// Declares a [SentryQueryExecutor] that will run [opener] when the database is /// first requested to be opened. You must specify the same [dialect] as the /// underlying database has - SentryDriftDatabase(DatabaseOpener opener, + SentryQueryExecutor(DatabaseOpener opener, {@internal Hub? hub, @internal QueryExecutor? queryExecutor, @internal String? dbName}) diff --git a/drift/lib/src/sentry_span_helper.dart b/drift/lib/src/sentry_span_helper.dart index 7302042184..b0dec208ff 100644 --- a/drift/lib/src/sentry_span_helper.dart +++ b/drift/lib/src/sentry_span_helper.dart @@ -2,7 +2,7 @@ import 'package:meta/meta.dart'; import 'package:sentry/sentry.dart'; -import 'sentry_drift_database.dart'; +import 'sentry_query_executor.dart'; /// @nodoc @internal @@ -21,6 +21,8 @@ class SentrySpanHelper { _hub = hub; } + ISentrySpan? spanTest; + /// @nodoc @internal Future asyncWrapInSpan( @@ -30,13 +32,13 @@ class SentrySpanHelper { }) async { final currentSpan = _hub.getSpan(); final span = currentSpan?.startChild( - SentryDriftDatabase.dbOp, + SentryQueryExecutor.dbOp, description: description, ); final breadcrumb = Breadcrumb( message: description, - category: SentryDriftDatabase.dbOp, + category: SentryQueryExecutor.dbOp, data: {}, type: 'query', ); @@ -45,10 +47,10 @@ class SentrySpanHelper { span?.origin = _origin; span?.setData( - SentryDriftDatabase.dbSystemKey, SentryDriftDatabase.dbSystem); + SentryQueryExecutor.dbSystemKey, SentryQueryExecutor.dbSystem); if (dbName != null) { - span?.setData(SentryDriftDatabase.dbNameKey, dbName); + span?.setData(SentryQueryExecutor.dbNameKey, dbName); } try { @@ -74,7 +76,7 @@ class SentrySpanHelper { }) { final currentSpan = _hub.getSpan(); final span = currentSpan?.startChild( - SentryDriftDatabase.dbOp, + SentryQueryExecutor.dbOp, description: description, ); @@ -82,10 +84,10 @@ class SentrySpanHelper { span?.origin = _origin; span?.setData( - SentryDriftDatabase.dbSystemKey, SentryDriftDatabase.dbSystem); + SentryQueryExecutor.dbSystemKey, SentryQueryExecutor.dbSystem); if (dbName != null) { - span?.setData(SentryDriftDatabase.dbNameKey, dbName); + span?.setData(SentryQueryExecutor.dbNameKey, dbName); } try { @@ -98,39 +100,48 @@ class SentrySpanHelper { span?.status = SpanStatus.internalError(); rethrow; + } finally { + spanTest = span; } } @internal - T finishTransaction( - T Function() execute, { + Future finishTransaction( + Future Function() execute, { String? dbName, - }) { - // TODO: is this always the right way to get the current span? - final span = _hub.getSpan(); - - // ignore: invalid_use_of_internal_member - span?.origin = _origin; + }) async { + try { + final result = await execute(); + spanTest?.status = SpanStatus.ok(); - span?.setData( - SentryDriftDatabase.dbSystemKey, SentryDriftDatabase.dbSystem); + return result; + } catch (exception) { + spanTest?.throwable = exception; + spanTest?.status = SpanStatus.internalError(); - if (dbName != null) { - span?.setData(SentryDriftDatabase.dbNameKey, dbName); + rethrow; + } finally { + await spanTest?.finish(); } + } + @internal + Future abortTransaction( + Future Function() execute, { + String? dbName, + }) async { try { - final result = execute(); - span?.status = SpanStatus.ok(); + final result = await execute(); + spanTest?.status = SpanStatus.aborted(); return result; } catch (exception) { - span?.throwable = exception; - span?.status = SpanStatus.internalError(); + spanTest?.throwable = exception; + spanTest?.status = SpanStatus.internalError(); rethrow; } finally { - span?.finish(); + await spanTest?.finish(); } } } diff --git a/drift/lib/src/sentry_transaction_executor.dart b/drift/lib/src/sentry_transaction_executor.dart index 6c745286f9..281d3ce427 100644 --- a/drift/lib/src/sentry_transaction_executor.dart +++ b/drift/lib/src/sentry_transaction_executor.dart @@ -19,24 +19,27 @@ class SentryTransactionExecutor extends TransactionExecutor { : _hub = hub, _dbName = dbName { _spanHelper.setHub(_hub); + beginTransaction(); } @override TransactionExecutor beginTransaction() { return _spanHelper.beginTransaction('transaction', () { return _executor.beginTransaction(); - }); + }, dbName: _dbName); } @override Future rollback() { - return _executor.rollback(); + return _spanHelper.abortTransaction(() async { + return await _executor.rollback(); + }); } @override - Future send() async { - return _spanHelper.finishTransaction(() { - return _executor.send(); + Future send() { + return _spanHelper.finishTransaction(() async { + return await _executor.send(); }); } @@ -50,7 +53,6 @@ class SentryTransactionExecutor extends TransactionExecutor { @override Future runBatched(BatchedStatements statements) { - print('haha'); return _executor.runBatched(statements); } diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 4c12df4aaa..1894573b18 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -4,7 +4,7 @@ import 'package:drift/native.dart'; import 'package:mockito/mockito.dart'; import 'package:sentry/sentry.dart'; import 'package:sentry/src/sentry_tracer.dart'; -import 'package:sentry_drift/src/sentry_drift_database.dart'; +import 'package:sentry_drift/src/sentry_query_executor.dart'; import 'package:test/expect.dart'; import 'package:test/scaffolding.dart'; @@ -12,32 +12,68 @@ import 'mocks/mocks.mocks.dart'; import 'test_database.dart'; void main() { - void verifySpan(String description, SentrySpan? span) { - expect(span?.context.operation, SentryDriftDatabase.dbOp); + void verifySpan(String description, SentrySpan? span, + {String origin = SentryTraceOrigins.autoDbDriftQueryExecutor, SpanStatus? status}) { + status ??= SpanStatus.ok(); + expect(span?.context.operation, SentryQueryExecutor.dbOp); expect(span?.context.description, description); - expect(span?.status, SpanStatus.ok()); + expect(span?.status, status); // ignore: invalid_use_of_internal_member - expect(span?.origin, SentryTraceOrigins.autoDbDriftDatabaseExecutor); - expect(span?.data[SentryDriftDatabase.dbSystemKey], - SentryDriftDatabase.dbSystem); - expect(span?.data[SentryDriftDatabase.dbNameKey], Fixture.dbName); + expect(span?.origin, origin); + expect(span?.data[SentryQueryExecutor.dbSystemKey], + SentryQueryExecutor.dbSystem); + expect(span?.data[SentryQueryExecutor.dbNameKey], Fixture.dbName); } - void verifyErrorSpan(String description, - Exception exception, - SentrySpan? span,) { - expect(span?.context.operation, SentryDriftDatabase.dbOp); + void verifyErrorSpan( + String description, + Exception exception, + SentrySpan? span, + ) { + expect(span?.context.operation, SentryQueryExecutor.dbOp); expect(span?.context.description, description); expect(span?.status, SpanStatus.internalError()); // ignore: invalid_use_of_internal_member - expect(span?.origin, SentryTraceOrigins.autoDbDriftDatabaseExecutor); - expect(span?.data[SentryDriftDatabase.dbSystemKey], - SentryDriftDatabase.dbSystem); - expect(span?.data[SentryDriftDatabase.dbNameKey], Fixture.dbName); + expect(span?.origin, SentryTraceOrigins.autoDbDriftQueryExecutor); + expect(span?.data[SentryQueryExecutor.dbSystemKey], + SentryQueryExecutor.dbSystem); + expect(span?.data[SentryQueryExecutor.dbNameKey], Fixture.dbName); expect(span?.throwable, exception); } + Future insertRow(AppDatabase sut, {bool withError = false}) { + if (withError) { + return sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( + title: '', + content: '', + )); + } else { + return sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + )); + } + } + + Future updateRow(AppDatabase sut, {bool withError = false}) { + if (withError) { + return (sut.update(sut.todoItems) + ..where((tbl) => tbl.title.equals('doesnt exist'))) + .write(TodoItemsCompanion( + title: Value('after update'), + content: Value('We can now write queries and define our own tables.'), + )); + } else { + return (sut.update(sut.todoItems) + ..where((tbl) => tbl.title.equals('todo: finish drift setup'))) + .write(TodoItemsCompanion( + title: Value('after update'), + content: Value('We can now write queries and define our own tables.'), + )); + } + } + group('adds span', () { late Fixture fixture; @@ -56,10 +92,7 @@ void main() { test('insert adds span', () async { final sut = fixture.sut; - await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: 'todo: finish drift setup', - content: 'We can now write queries and define our own tables.', - )); + await insertRow(sut); verifySpan('insert', fixture.getCreatedSpan()); }); @@ -67,17 +100,9 @@ void main() { test('update adds span', () async { final sut = fixture.sut; - await sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: 'todo: finish drift setup', - content: 'We can now write queries and define our own tables.', - )); + await insertRow(sut); - await (sut.update(sut.todoItems) - ..where((tbl) => tbl.title.equals('todo: finish drift setup'))) - .write(TodoItemsCompanion( - title: Value('after update'), - content: Value('We can now write queries and define our own tables.'), - )); + await updateRow(sut); verifySpan('update', fixture.getCreatedSpan()); }); @@ -94,10 +119,49 @@ void main() { final sut = fixture.sut; await sut.transaction(() async { + await insertRow(sut); + }); + + verifySpan('transaction', fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor); + }); + + test('transaction rollback adds span', () async { + final sut = fixture.sut; + try { + await sut.transaction(() async { + await insertRow(sut, withError: true); + }); + } catch (_) {} + + verifySpan('transaction', fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, status: SpanStatus.aborted()); + }); + + test('batch adds span', () async { + final sut = fixture.sut; + + await sut.batch((batch) async { + await insertRow(sut); + await insertRow(sut); }); - // verifySpan('transaction', fixture.getCreatedSpan()); + verifySpan('transaction', fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor); + }); + + test('batch adds span for succeeded operations', () async { + final sut = fixture.sut; + + try { + await sut.batch((batch) async { + await insertRow(sut); + await insertRow(sut, withError: true); + }); + } catch (_) {} + + verifySpan('insert', fixture.getCreatedSpan()); }); test('close adds span', () async { @@ -117,12 +181,40 @@ void main() { verifySpan('open', fixture.getCreatedSpanByDescription('open')); }); + }); + + group('does not add span', () { + late Fixture fixture; + + setUp(() async { + fixture = Fixture(); + await fixture.setUp(); + + when(fixture.hub.options).thenReturn(fixture.options); + when(fixture.hub.getSpan()).thenReturn(fixture.tracer); + }); + + tearDown(() async { + await fixture.tearDown(); + }); test('will not add open span if db is not used', () async { fixture.sut; expect(fixture.tracer.children.isEmpty, true); }); + + test('batch does not add span for failed operations', () async { + final sut = fixture.sut; + + try { + await sut.batch((batch) async { + await insertRow(sut, withError: true); + }); + } catch (_) {} + + expect(fixture.tracer.children.isEmpty, true); + }); }); } @@ -152,8 +244,8 @@ class Fixture { .firstWhere((element) => element.context.description == description); } - SentryDriftDatabase openConnection() { - return SentryDriftDatabase(() { + SentryQueryExecutor openConnection() { + return SentryQueryExecutor(() { return NativeDatabase.memory(); }, hub: hub, dbName: dbName); } From a3a5fb906eda9e428ffaf69e03c932504e65b774 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 6 Nov 2023 11:15:34 +0100 Subject: [PATCH 08/72] Update tests --- drift/lib/src/sentry_query_executor.dart | 24 +- drift/lib/src/sentry_span_helper.dart | 33 +- .../lib/src/sentry_transaction_executor.dart | 7 +- drift/test/mocks/mocks.dart | 8 + drift/test/mocks/mocks.mocks.dart | 657 +++++++++++++++++- drift/test/sentry_database_test.dart | 243 ++++++- 6 files changed, 880 insertions(+), 92 deletions(-) diff --git a/drift/lib/src/sentry_query_executor.dart b/drift/lib/src/sentry_query_executor.dart index 5f3a67e43f..03dc289281 100644 --- a/drift/lib/src/sentry_query_executor.dart +++ b/drift/lib/src/sentry_query_executor.dart @@ -12,10 +12,11 @@ typedef DatabaseOpener = FutureOr Function(); /// The Sentry Query Executor. /// -/// If queryExecutor is not null, it will be used instead of the default one. -/// The default is [LazyDatabase]. +/// If the constructor parameter queryExecutor is not null, it will be used +/// instead of the default [LazyDatabase]. +@experimental class SentryQueryExecutor extends QueryExecutor { - final Hub _hub; + Hub _hub; final _spanHelper = SentrySpanHelper( // ignore: invalid_use_of_internal_member @@ -48,22 +49,31 @@ class SentryQueryExecutor extends QueryExecutor { SentryQueryExecutor(DatabaseOpener opener, {@internal Hub? hub, @internal QueryExecutor? queryExecutor, - @internal String? dbName}) + required String databaseName}) : _hub = hub ?? HubAdapter(), - _dbName = dbName, + _dbName = databaseName, _queryExecutor = queryExecutor ?? LazyDatabase(opener) { _spanHelper.setHub(_hub); } + @internal + void setHub(Hub hub) { + _hub = hub; + _spanHelper.setHub(hub); + } + @override TransactionExecutor beginTransaction() { final transactionExecutor = _queryExecutor.beginTransaction(); - return SentryTransactionExecutor(transactionExecutor, _hub, dbName: _dbName); + return SentryTransactionExecutor(transactionExecutor, _hub, + dbName: _dbName); } @override Future runBatched(BatchedStatements statements) { - return _queryExecutor.runBatched(statements); + return _spanHelper.asyncWrapInSpan('batch', () async { + return await _queryExecutor.runBatched(statements); + }, dbName: _dbName); } @override diff --git a/drift/lib/src/sentry_span_helper.dart b/drift/lib/src/sentry_span_helper.dart index b0dec208ff..08d7a2372d 100644 --- a/drift/lib/src/sentry_span_helper.dart +++ b/drift/lib/src/sentry_span_helper.dart @@ -21,8 +21,6 @@ class SentrySpanHelper { _hub = hub; } - ISentrySpan? spanTest; - /// @nodoc @internal Future asyncWrapInSpan( @@ -36,13 +34,6 @@ class SentrySpanHelper { description: description, ); - final breadcrumb = Breadcrumb( - message: description, - category: SentryQueryExecutor.dbOp, - data: {}, - type: 'query', - ); - // ignore: invalid_use_of_internal_member span?.origin = _origin; @@ -68,6 +59,10 @@ class SentrySpanHelper { } } + /// This span is used for the database transaction. + @internal + ISentrySpan? transactionSpan; + @internal T beginTransaction( String description, @@ -101,7 +96,7 @@ class SentrySpanHelper { rethrow; } finally { - spanTest = span; + transactionSpan = span; } } @@ -112,16 +107,17 @@ class SentrySpanHelper { }) async { try { final result = await execute(); - spanTest?.status = SpanStatus.ok(); + transactionSpan?.status = SpanStatus.ok(); return result; } catch (exception) { - spanTest?.throwable = exception; - spanTest?.status = SpanStatus.internalError(); + transactionSpan?.throwable = exception; + transactionSpan?.status = SpanStatus.internalError(); rethrow; } finally { - await spanTest?.finish(); + await transactionSpan?.finish(); + transactionSpan = null; } } @@ -132,16 +128,17 @@ class SentrySpanHelper { }) async { try { final result = await execute(); - spanTest?.status = SpanStatus.aborted(); + transactionSpan?.status = SpanStatus.aborted(); return result; } catch (exception) { - spanTest?.throwable = exception; - spanTest?.status = SpanStatus.internalError(); + transactionSpan?.throwable = exception; + transactionSpan?.status = SpanStatus.internalError(); rethrow; } finally { - await spanTest?.finish(); + await transactionSpan?.finish(); + transactionSpan = null; } } } diff --git a/drift/lib/src/sentry_transaction_executor.dart b/drift/lib/src/sentry_transaction_executor.dart index 281d3ce427..3441506bce 100644 --- a/drift/lib/src/sentry_transaction_executor.dart +++ b/drift/lib/src/sentry_transaction_executor.dart @@ -3,6 +3,8 @@ import 'package:meta/meta.dart'; import 'package:sentry/sentry.dart'; import 'package:sentry_drift/src/sentry_span_helper.dart'; +/// @nodoc +@internal class SentryTransactionExecutor extends TransactionExecutor { final TransactionExecutor _executor; @@ -15,6 +17,7 @@ class SentryTransactionExecutor extends TransactionExecutor { final String? _dbName; + /// @nodoc SentryTransactionExecutor(this._executor, Hub hub, {@internal String? dbName}) : _hub = hub, _dbName = dbName { @@ -53,7 +56,9 @@ class SentryTransactionExecutor extends TransactionExecutor { @override Future runBatched(BatchedStatements statements) { - return _executor.runBatched(statements); + return _spanHelper.asyncWrapInSpan('batch', () async { + return await _executor.runBatched(statements); + }, dbName: _dbName); } @override diff --git a/drift/test/mocks/mocks.dart b/drift/test/mocks/mocks.dart index 0b26557d56..d2c4f5385f 100644 --- a/drift/test/mocks/mocks.dart +++ b/drift/test/mocks/mocks.dart @@ -1,7 +1,15 @@ +import 'package:drift/drift.dart'; import 'package:mockito/annotations.dart'; import 'package:sentry/sentry.dart'; +import 'package:sentry_drift/sentry_drift.dart'; + +import '../test_database.dart'; @GenerateMocks([ Hub, + InsertStatement, + Insertable, + LazyDatabase, + TransactionExecutor, ]) void main() {} \ No newline at end of file diff --git a/drift/test/mocks/mocks.mocks.dart b/drift/test/mocks/mocks.mocks.dart index 313757d864..c2d7323238 100644 --- a/drift/test/mocks/mocks.mocks.dart +++ b/drift/test/mocks/mocks.mocks.dart @@ -3,11 +3,16 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i4; +import 'dart:async' as _i6; +import 'package:drift/drift.dart' as _i5; +import 'package:drift/src/dsl/dsl.dart' as _i4; +import 'package:drift/src/runtime/api/runtime_api.dart' as _i3; +import 'package:drift/src/runtime/data_class.dart' as _i8; import 'package:mockito/mockito.dart' as _i1; +import 'package:mockito/src/dummies.dart' as _i9; import 'package:sentry/sentry.dart' as _i2; -import 'package:sentry/src/profiling.dart' as _i3; +import 'package:sentry/src/profiling.dart' as _i7; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -70,6 +75,70 @@ class _FakeISentrySpan_4 extends _i1.SmartFake implements _i2.ISentrySpan { ); } +class _FakeDatabaseConnectionUser_5 extends _i1.SmartFake + implements _i3.DatabaseConnectionUser { + _FakeDatabaseConnectionUser_5( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeTableInfo_6 extends _i1.SmartFake + implements _i5.TableInfo { + _FakeTableInfo_6( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeFuture_7 extends _i1.SmartFake implements _i6.Future { + _FakeFuture_7( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeGenerationContext_8 extends _i1.SmartFake + implements _i5.GenerationContext { + _FakeGenerationContext_8( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeQueryExecutor_9 extends _i1.SmartFake implements _i5.QueryExecutor { + _FakeQueryExecutor_9( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + +class _FakeTransactionExecutor_10 extends _i1.SmartFake + implements _i5.TransactionExecutor { + _FakeTransactionExecutor_10( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} + /// A class which mocks [Hub]. /// /// See the documentation for Mockito's code generation for more information. @@ -112,7 +181,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ) as _i2.Scope); @override - set profilerFactory(_i3.SentryProfilerFactory? value) => super.noSuchMethod( + set profilerFactory(_i7.SentryProfilerFactory? value) => super.noSuchMethod( Invocation.setter( #profilerFactory, value, @@ -121,7 +190,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ); @override - _i4.Future<_i2.SentryId> captureEvent( + _i6.Future<_i2.SentryId> captureEvent( _i2.SentryEvent? event, { dynamic stackTrace, _i2.Hint? hint, @@ -137,7 +206,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i4.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureEvent, @@ -149,10 +218,10 @@ class MockHub extends _i1.Mock implements _i2.Hub { }, ), )), - ) as _i4.Future<_i2.SentryId>); + ) as _i6.Future<_i2.SentryId>); @override - _i4.Future<_i2.SentryId> captureException( + _i6.Future<_i2.SentryId> captureException( dynamic throwable, { dynamic stackTrace, _i2.Hint? hint, @@ -168,7 +237,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i4.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureException, @@ -180,10 +249,10 @@ class MockHub extends _i1.Mock implements _i2.Hub { }, ), )), - ) as _i4.Future<_i2.SentryId>); + ) as _i6.Future<_i2.SentryId>); @override - _i4.Future<_i2.SentryId> captureMessage( + _i6.Future<_i2.SentryId> captureMessage( String? message, { _i2.SentryLevel? level, String? template, @@ -203,7 +272,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i4.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureMessage, @@ -217,21 +286,21 @@ class MockHub extends _i1.Mock implements _i2.Hub { }, ), )), - ) as _i4.Future<_i2.SentryId>); + ) as _i6.Future<_i2.SentryId>); @override - _i4.Future captureUserFeedback(_i2.SentryUserFeedback? userFeedback) => + _i6.Future captureUserFeedback(_i2.SentryUserFeedback? userFeedback) => (super.noSuchMethod( Invocation.method( #captureUserFeedback, [userFeedback], ), - returnValue: _i4.Future.value(), - returnValueForMissingStub: _i4.Future.value(), - ) as _i4.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i4.Future addBreadcrumb( + _i6.Future addBreadcrumb( _i2.Breadcrumb? crumb, { _i2.Hint? hint, }) => @@ -241,9 +310,9 @@ class MockHub extends _i1.Mock implements _i2.Hub { [crumb], {#hint: hint}, ), - returnValue: _i4.Future.value(), - returnValueForMissingStub: _i4.Future.value(), - ) as _i4.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override void bindClient(_i2.SentryClient? client) => super.noSuchMethod( @@ -270,21 +339,21 @@ class MockHub extends _i1.Mock implements _i2.Hub { ) as _i2.Hub); @override - _i4.Future close() => (super.noSuchMethod( + _i6.Future close() => (super.noSuchMethod( Invocation.method( #close, [], ), - returnValue: _i4.Future.value(), - returnValueForMissingStub: _i4.Future.value(), - ) as _i4.Future); + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); @override - _i4.FutureOr configureScope(_i2.ScopeCallback? callback) => + _i6.FutureOr configureScope(_i2.ScopeCallback? callback) => (super.noSuchMethod(Invocation.method( #configureScope, [callback], - )) as _i4.FutureOr); + )) as _i6.FutureOr); @override _i2.ISentrySpan startTransaction( @@ -383,7 +452,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ) as _i2.ISentrySpan); @override - _i4.Future<_i2.SentryId> captureTransaction( + _i6.Future<_i2.SentryId> captureTransaction( _i2.SentryTransaction? transaction, { _i2.SentryTraceContextHeader? traceContext, }) => @@ -393,7 +462,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { [transaction], {#traceContext: traceContext}, ), - returnValue: _i4.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureTransaction, @@ -401,7 +470,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { {#traceContext: traceContext}, ), )), - ) as _i4.Future<_i2.SentryId>); + ) as _i6.Future<_i2.SentryId>); @override void setSpanContext( @@ -421,3 +490,533 @@ class MockHub extends _i1.Mock implements _i2.Hub { returnValueForMissingStub: null, ); } + +/// A class which mocks [InsertStatement]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockInsertStatement extends _i1.Mock + implements _i5.InsertStatement { + MockInsertStatement() { + _i1.throwOnMissingStub(this); + } + + @override + _i3.DatabaseConnectionUser get database => (super.noSuchMethod( + Invocation.getter(#database), + returnValue: _FakeDatabaseConnectionUser_5( + this, + Invocation.getter(#database), + ), + ) as _i3.DatabaseConnectionUser); + + @override + _i5.TableInfo get table => (super.noSuchMethod( + Invocation.getter(#table), + returnValue: _FakeTableInfo_6( + this, + Invocation.getter(#table), + ), + ) as _i5.TableInfo); + + @override + _i6.Future insert( + _i8.Insertable? entity, { + _i5.InsertMode? mode, + _i5.UpsertClause? onConflict, + }) => + (super.noSuchMethod( + Invocation.method( + #insert, + [entity], + { + #mode: mode, + #onConflict: onConflict, + }, + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i6.Future insertFromSelect( + _i5.BaseSelectStatement? select, { + required Map<_i4.Column, _i5.Expression>? columns, + _i5.InsertMode? mode = _i5.InsertMode.insert, + _i5.UpsertClause? onConflict, + }) => + (super.noSuchMethod( + Invocation.method( + #insertFromSelect, + [select], + { + #columns: columns, + #mode: mode, + #onConflict: onConflict, + }, + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future insertReturning( + _i8.Insertable? entity, { + _i5.InsertMode? mode, + _i5.UpsertClause? onConflict, + }) => + (super.noSuchMethod( + Invocation.method( + #insertReturning, + [entity], + { + #mode: mode, + #onConflict: onConflict, + }, + ), + returnValue: _i9.ifNotNull( + _i9.dummyValueOrNull( + this, + Invocation.method( + #insertReturning, + [entity], + { + #mode: mode, + #onConflict: onConflict, + }, + ), + ), + (D v) => _i6.Future.value(v), + ) ?? + _FakeFuture_7( + this, + Invocation.method( + #insertReturning, + [entity], + { + #mode: mode, + #onConflict: onConflict, + }, + ), + ), + ) as _i6.Future); + + @override + _i6.Future insertReturningOrNull( + _i8.Insertable? entity, { + _i5.InsertMode? mode, + _i5.UpsertClause? onConflict, + }) => + (super.noSuchMethod( + Invocation.method( + #insertReturningOrNull, + [entity], + { + #mode: mode, + #onConflict: onConflict, + }, + ), + returnValue: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future insertOnConflictUpdate(_i8.Insertable? entity) => + (super.noSuchMethod( + Invocation.method( + #insertOnConflictUpdate, + [entity], + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i5.GenerationContext createContext( + _i8.Insertable? entry, + _i5.InsertMode? mode, { + _i5.UpsertClause? onConflict, + bool? returning = false, + }) => + (super.noSuchMethod( + Invocation.method( + #createContext, + [ + entry, + mode, + ], + { + #onConflict: onConflict, + #returning: returning, + }, + ), + returnValue: _FakeGenerationContext_8( + this, + Invocation.method( + #createContext, + [ + entry, + mode, + ], + { + #onConflict: onConflict, + #returning: returning, + }, + ), + ), + ) as _i5.GenerationContext); + + @override + void writeInsertable( + _i5.GenerationContext? ctx, + Map>? map, + ) => + super.noSuchMethod( + Invocation.method( + #writeInsertable, + [ + ctx, + map, + ], + ), + returnValueForMissingStub: null, + ); +} + +/// A class which mocks [Insertable]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockInsertable extends _i1.Mock implements _i8.Insertable { + MockInsertable() { + _i1.throwOnMissingStub(this); + } + + @override + Map> toColumns(bool? nullToAbsent) => + (super.noSuchMethod( + Invocation.method( + #toColumns, + [nullToAbsent], + ), + returnValue: >{}, + ) as Map>); +} + +/// A class which mocks [LazyDatabase]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockLazyDatabase extends _i1.Mock implements _i5.LazyDatabase { + MockLazyDatabase() { + _i1.throwOnMissingStub(this); + } + + @override + _i5.DatabaseOpener get opener => (super.noSuchMethod( + Invocation.getter(#opener), + returnValue: () => + _i6.Future<_i5.QueryExecutor>.value(_FakeQueryExecutor_9( + this, + Invocation.getter(#opener), + )), + ) as _i5.DatabaseOpener); + + @override + _i5.SqlDialect get dialect => (super.noSuchMethod( + Invocation.getter(#dialect), + returnValue: _i5.SqlDialect.sqlite, + ) as _i5.SqlDialect); + + @override + _i5.TransactionExecutor beginTransaction() => (super.noSuchMethod( + Invocation.method( + #beginTransaction, + [], + ), + returnValue: _FakeTransactionExecutor_10( + this, + Invocation.method( + #beginTransaction, + [], + ), + ), + ) as _i5.TransactionExecutor); + + @override + _i6.Future ensureOpen(_i5.QueryExecutorUser? user) => + (super.noSuchMethod( + Invocation.method( + #ensureOpen, + [user], + ), + returnValue: _i6.Future.value(false), + ) as _i6.Future); + + @override + _i6.Future runBatched(_i5.BatchedStatements? statements) => + (super.noSuchMethod( + Invocation.method( + #runBatched, + [statements], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future runCustom( + String? statement, [ + List? args, + ]) => + (super.noSuchMethod( + Invocation.method( + #runCustom, + [ + statement, + args, + ], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future runDelete( + String? statement, + List? args, + ) => + (super.noSuchMethod( + Invocation.method( + #runDelete, + [ + statement, + args, + ], + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i6.Future runInsert( + String? statement, + List? args, + ) => + (super.noSuchMethod( + Invocation.method( + #runInsert, + [ + statement, + args, + ], + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i6.Future>> runSelect( + String? statement, + List? args, + ) => + (super.noSuchMethod( + Invocation.method( + #runSelect, + [ + statement, + args, + ], + ), + returnValue: _i6.Future>>.value( + >[]), + ) as _i6.Future>>); + + @override + _i6.Future runUpdate( + String? statement, + List? args, + ) => + (super.noSuchMethod( + Invocation.method( + #runUpdate, + [ + statement, + args, + ], + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i6.Future close() => (super.noSuchMethod( + Invocation.method( + #close, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); +} + +/// A class which mocks [TransactionExecutor]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockTransactionExecutor extends _i1.Mock + implements _i5.TransactionExecutor { + MockTransactionExecutor() { + _i1.throwOnMissingStub(this); + } + + @override + bool get supportsNestedTransactions => (super.noSuchMethod( + Invocation.getter(#supportsNestedTransactions), + returnValue: false, + ) as bool); + + @override + _i5.SqlDialect get dialect => (super.noSuchMethod( + Invocation.getter(#dialect), + returnValue: _i5.SqlDialect.sqlite, + ) as _i5.SqlDialect); + + @override + _i6.Future send() => (super.noSuchMethod( + Invocation.method( + #send, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future rollback() => (super.noSuchMethod( + Invocation.method( + #rollback, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future ensureOpen(_i5.QueryExecutorUser? user) => + (super.noSuchMethod( + Invocation.method( + #ensureOpen, + [user], + ), + returnValue: _i6.Future.value(false), + ) as _i6.Future); + + @override + _i6.Future>> runSelect( + String? statement, + List? args, + ) => + (super.noSuchMethod( + Invocation.method( + #runSelect, + [ + statement, + args, + ], + ), + returnValue: _i6.Future>>.value( + >[]), + ) as _i6.Future>>); + + @override + _i6.Future runInsert( + String? statement, + List? args, + ) => + (super.noSuchMethod( + Invocation.method( + #runInsert, + [ + statement, + args, + ], + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i6.Future runUpdate( + String? statement, + List? args, + ) => + (super.noSuchMethod( + Invocation.method( + #runUpdate, + [ + statement, + args, + ], + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i6.Future runDelete( + String? statement, + List? args, + ) => + (super.noSuchMethod( + Invocation.method( + #runDelete, + [ + statement, + args, + ], + ), + returnValue: _i6.Future.value(0), + ) as _i6.Future); + + @override + _i6.Future runCustom( + String? statement, [ + List? args, + ]) => + (super.noSuchMethod( + Invocation.method( + #runCustom, + [ + statement, + args, + ], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i6.Future runBatched(_i5.BatchedStatements? statements) => + (super.noSuchMethod( + Invocation.method( + #runBatched, + [statements], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); + + @override + _i5.TransactionExecutor beginTransaction() => (super.noSuchMethod( + Invocation.method( + #beginTransaction, + [], + ), + returnValue: _FakeTransactionExecutor_10( + this, + Invocation.method( + #beginTransaction, + [], + ), + ), + ) as _i5.TransactionExecutor); + + @override + _i6.Future close() => (super.noSuchMethod( + Invocation.method( + #close, + [], + ), + returnValue: _i6.Future.value(), + returnValueForMissingStub: _i6.Future.value(), + ) as _i6.Future); +} diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 1894573b18..8cf493269f 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -5,6 +5,7 @@ import 'package:mockito/mockito.dart'; import 'package:sentry/sentry.dart'; import 'package:sentry/src/sentry_tracer.dart'; import 'package:sentry_drift/src/sentry_query_executor.dart'; +import 'package:sentry_drift/src/sentry_transaction_executor.dart'; import 'package:test/expect.dart'; import 'package:test/scaffolding.dart'; @@ -13,7 +14,8 @@ import 'test_database.dart'; void main() { void verifySpan(String description, SentrySpan? span, - {String origin = SentryTraceOrigins.autoDbDriftQueryExecutor, SpanStatus? status}) { + {String origin = SentryTraceOrigins.autoDbDriftQueryExecutor, + SpanStatus? status}) { status ??= SpanStatus.ok(); expect(span?.context.operation, SentryQueryExecutor.dbOp); expect(span?.context.description, description); @@ -26,15 +28,13 @@ void main() { } void verifyErrorSpan( - String description, - Exception exception, - SentrySpan? span, - ) { + String description, Exception exception, SentrySpan? span, + {String origin = SentryTraceOrigins.autoDbDriftQueryExecutor}) { expect(span?.context.operation, SentryQueryExecutor.dbOp); expect(span?.context.description, description); expect(span?.status, SpanStatus.internalError()); // ignore: invalid_use_of_internal_member - expect(span?.origin, SentryTraceOrigins.autoDbDriftQueryExecutor); + expect(span?.origin, origin); expect(span?.data[SentryQueryExecutor.dbSystemKey], SentryQueryExecutor.dbSystem); expect(span?.data[SentryQueryExecutor.dbNameKey], Fixture.dbName); @@ -45,28 +45,28 @@ void main() { Future insertRow(AppDatabase sut, {bool withError = false}) { if (withError) { return sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: '', - content: '', - )); + title: '', + content: '', + )); } else { return sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: 'todo: finish drift setup', - content: 'We can now write queries and define our own tables.', - )); + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + )); } } Future updateRow(AppDatabase sut, {bool withError = false}) { if (withError) { return (sut.update(sut.todoItems) - ..where((tbl) => tbl.title.equals('doesnt exist'))) + ..where((tbl) => tbl.title.equals('doesnt exist'))) .write(TodoItemsCompanion( title: Value('after update'), content: Value('We can now write queries and define our own tables.'), )); } else { return (sut.update(sut.todoItems) - ..where((tbl) => tbl.title.equals('todo: finish drift setup'))) + ..where((tbl) => tbl.title.equals('todo: finish drift setup'))) .write(TodoItemsCompanion( title: Value('after update'), content: Value('We can now write queries and define our own tables.'), @@ -101,7 +101,6 @@ void main() { final sut = fixture.sut; await insertRow(sut); - await updateRow(sut); verifySpan('update', fixture.getCreatedSpan()); @@ -136,7 +135,8 @@ void main() { } catch (_) {} verifySpan('transaction', fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, status: SpanStatus.aborted()); + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + status: SpanStatus.aborted()); }); test('batch adds span', () async { @@ -147,23 +147,10 @@ void main() { await insertRow(sut); }); - verifySpan('transaction', fixture.getCreatedSpan(), + verifySpan('batch', fixture.getCreatedSpan(), origin: SentryTraceOrigins.autoDbDriftTransactionExecutor); }); - test('batch adds span for succeeded operations', () async { - final sut = fixture.sut; - - try { - await sut.batch((batch) async { - await insertRow(sut); - await insertRow(sut, withError: true); - }); - } catch (_) {} - - verifySpan('insert', fixture.getCreatedSpan()); - }); - test('close adds span', () async { final sut = fixture.sut; @@ -198,7 +185,7 @@ void main() { await fixture.tearDown(); }); - test('will not add open span if db is not used', () async { + test('does not add open span if db is not used', () async { fixture.sut; expect(fixture.tracer.children.isEmpty, true); @@ -210,11 +197,185 @@ void main() { try { await sut.batch((batch) async { await insertRow(sut, withError: true); + await insertRow(sut); }); } catch (_) {} expect(fixture.tracer.children.isEmpty, true); }); + + test('batch does not add span for failed operations', () async { + final lazyDatabase = MockLazyDatabase(); + final queryExecutor = + SentryQueryExecutor(() => lazyDatabase, databaseName: Fixture.dbName); + queryExecutor.setHub(fixture.hub); + when(lazyDatabase.ensureOpen(any)).thenAnswer((_) => Future.value(true)); + when(lazyDatabase.runInsert(any, any)).thenThrow(fixture.exception); + final sut = AppDatabase(queryExecutor); + + try { + await insertRow(sut); + } catch (exception) { + expect(exception, fixture.exception); + } + + verifyErrorSpan('insert', fixture.exception, fixture.getCreatedSpan()); + }); + }); + + group('adds error span', () { + late Fixture fixture; + + setUp(() async { + fixture = Fixture(); + await fixture.setUp(injectMock: true); + + when(fixture.hub.options).thenReturn(fixture.options); + when(fixture.hub.getSpan()).thenReturn(fixture.tracer); + when(fixture.mockLazyDatabase.ensureOpen(any)) + .thenAnswer((_) => Future.value(true)); + }); + + tearDown(() async { + await fixture.tearDown(); + }); + + test('throwing runInsert throws error span', () async { + when(fixture.mockLazyDatabase.runInsert(any, any)) + .thenThrow(fixture.exception); + + try { + await insertRow(fixture.sut); + } catch (exception) { + expect(exception, fixture.exception); + } + + verifyErrorSpan('insert', fixture.exception, fixture.getCreatedSpan()); + }); + + test('throwing runUpdate throws error span', () async { + when(fixture.mockLazyDatabase.runUpdate(any, any)) + .thenThrow(fixture.exception); + + try { + await updateRow(fixture.sut); + } catch (exception) { + expect(exception, fixture.exception); + } + + verifyErrorSpan('update', fixture.exception, fixture.getCreatedSpan()); + }); + + test('throwing runCustom throws error span', () async { + when(fixture.mockLazyDatabase.runCustom(any, any)) + .thenThrow(fixture.exception); + + try { + await fixture.sut.customStatement('SELECT * FROM todo_items'); + } catch (exception) { + expect(exception, fixture.exception); + } + + verifyErrorSpan('custom', fixture.exception, fixture.getCreatedSpan()); + }); + + test('throwing transaction throws error span', () async { + final mockTransactionExecutor = MockTransactionExecutor(); + when(mockTransactionExecutor.beginTransaction()) + .thenThrow(fixture.exception); + + try { + // We need to move it inside the try/catch becaue SentryTransactionExecutor + // starts beginTransaction() directly after init + final SentryTransactionExecutor transactionExecutor = + SentryTransactionExecutor(mockTransactionExecutor, fixture.hub, + dbName: Fixture.dbName); + + when(fixture.mockLazyDatabase.beginTransaction()) + .thenReturn(transactionExecutor); + + await fixture.sut.transaction(() async { + await insertRow(fixture.sut); + }); + } catch (exception) { + expect(exception, fixture.exception); + } + + verifyErrorSpan( + 'transaction', fixture.exception, fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor); + }); + + test('throwing batch throws error span', () async { + final mockTransactionExecutor = MockTransactionExecutor(); + when(mockTransactionExecutor.beginTransaction()) + .thenThrow(fixture.exception); + + try { + // We need to move it inside the try/catch becaue SentryTransactionExecutor + // starts beginTransaction() directly after init + final SentryTransactionExecutor transactionExecutor = + SentryTransactionExecutor(mockTransactionExecutor, fixture.hub, + dbName: Fixture.dbName); + + when(fixture.mockLazyDatabase.beginTransaction()) + .thenReturn(transactionExecutor); + + await fixture.sut.batch((batch) async { + await insertRow(fixture.sut); + }); + } catch (exception) { + expect(exception, fixture.exception); + } + + verifyErrorSpan( + 'transaction', fixture.exception, fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor); + }); + + test('throwing close throws error span', () async { + when(fixture.mockLazyDatabase.close()).thenThrow(fixture.exception); + when(fixture.mockLazyDatabase.runInsert(any, any)) + .thenAnswer((_) => Future.value(1)); + + try { + await insertRow(fixture.sut); + await fixture.sut.close(); + } catch (exception) { + expect(exception, fixture.exception); + } + + verifyErrorSpan('close', fixture.exception, fixture.getCreatedSpan()); + + when(fixture.mockLazyDatabase.close()).thenAnswer((_) => Future.value()); + }); + + test('throwing ensureOpen throws error span', () async { + when(fixture.mockLazyDatabase.ensureOpen(any)) + .thenThrow(fixture.exception); + + try { + await fixture.sut.select(fixture.sut.todoItems).get(); + } catch (exception) { + expect(exception, fixture.exception); + } + + verifyErrorSpan('open', fixture.exception, + fixture.getCreatedSpanByDescription('open')); + }); + + test('throwing runDelete throws error span', () async { + when(fixture.mockLazyDatabase.runDelete(any, any)) + .thenThrow(fixture.exception); + + try { + await fixture.sut.delete(fixture.sut.todoItems).go(); + } catch (exception) { + expect(exception, fixture.exception); + } + + verifyErrorSpan('delete', fixture.exception, fixture.getCreatedSpan()); + }); }); } @@ -226,9 +387,10 @@ class Fixture { final _context = SentryTransactionContext('name', 'operation'); late final tracer = SentryTracer(_context, hub); late AppDatabase sut; + final mockLazyDatabase = MockLazyDatabase(); - Future setUp() async { - sut = AppDatabase(openConnection()); + Future setUp({bool injectMock = false}) async { + sut = AppDatabase(openConnection(injectMock: injectMock)); } Future tearDown() async { @@ -244,9 +406,16 @@ class Fixture { .firstWhere((element) => element.context.description == description); } - SentryQueryExecutor openConnection() { - return SentryQueryExecutor(() { - return NativeDatabase.memory(); - }, hub: hub, dbName: dbName); + SentryQueryExecutor openConnection({bool injectMock = false}) { + if (injectMock) { + final executor = + SentryQueryExecutor(() => mockLazyDatabase, databaseName: dbName); + executor.setHub(hub); + return executor; + } else { + return SentryQueryExecutor(() { + return NativeDatabase.memory(); + }, hub: hub, databaseName: dbName); + } } } From d3a65b4839d8333b639457db54650051603871ec Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 6 Nov 2023 11:24:57 +0100 Subject: [PATCH 09/72] update changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c640f46f6b..9135204e61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Features + +- Add APM integration for Drift ([#1709](https://github.com/getsentry/sentry-dart/pull/1709)) + ## 7.12.0 ### Enhancements From 9e5450091fef9c5a54a0a661e87edb25ef7ce4da Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 6 Nov 2023 11:25:36 +0100 Subject: [PATCH 10/72] Formatting --- dart/lib/src/sentry_trace_origins.dart | 3 ++- drift/lib/sentry_drift.dart | 2 +- drift/lib/src/sentry_span_helper.dart | 6 +++--- drift/test/mocks/mocks.dart | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dart/lib/src/sentry_trace_origins.dart b/dart/lib/src/sentry_trace_origins.dart index fef7b08f2e..0b148579b3 100644 --- a/dart/lib/src/sentry_trace_origins.dart +++ b/dart/lib/src/sentry_trace_origins.dart @@ -19,5 +19,6 @@ class SentryTraceOrigins { static const autoDbSqfliteDatabaseFactory = 'auto.db.sqflite.database_factory'; static const autoDbDriftQueryExecutor = 'auto.db.drift.database.executor'; - static const autoDbDriftTransactionExecutor = 'auto.db.drift.transaction.executor'; + static const autoDbDriftTransactionExecutor = + 'auto.db.drift.transaction.executor'; } diff --git a/drift/lib/sentry_drift.dart b/drift/lib/sentry_drift.dart index c569a1d273..ba84220b42 100644 --- a/drift/lib/sentry_drift.dart +++ b/drift/lib/sentry_drift.dart @@ -1,3 +1,3 @@ library sentry_drift; -export 'src/sentry_query_executor.dart'; \ No newline at end of file +export 'src/sentry_query_executor.dart'; diff --git a/drift/lib/src/sentry_span_helper.dart b/drift/lib/src/sentry_span_helper.dart index 08d7a2372d..492b15e6ea 100644 --- a/drift/lib/src/sentry_span_helper.dart +++ b/drift/lib/src/sentry_span_helper.dart @@ -123,9 +123,9 @@ class SentrySpanHelper { @internal Future abortTransaction( - Future Function() execute, { - String? dbName, - }) async { + Future Function() execute, { + String? dbName, + }) async { try { final result = await execute(); transactionSpan?.status = SpanStatus.aborted(); diff --git a/drift/test/mocks/mocks.dart b/drift/test/mocks/mocks.dart index d2c4f5385f..8521152b79 100644 --- a/drift/test/mocks/mocks.dart +++ b/drift/test/mocks/mocks.dart @@ -12,4 +12,4 @@ import '../test_database.dart'; LazyDatabase, TransactionExecutor, ]) -void main() {} \ No newline at end of file +void main() {} From 51f804185e957c397a6ce1120f2cba73be1d559d Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 6 Nov 2023 12:35:39 +0100 Subject: [PATCH 11/72] Update workflows --- .github/workflows/dart.yml | 1 + .github/workflows/dio.yml | 1 + .github/workflows/drift.yml | 71 ++++++++++++++++++++++++++ .github/workflows/e2e_dart.yml | 1 + .github/workflows/file.yml | 1 + .github/workflows/flutter.yml | 1 + .github/workflows/logging.yml | 1 + .github/workflows/min_version_test.yml | 1 + .github/workflows/sqflite.yml | 1 + 9 files changed, 79 insertions(+) create mode 100644 .github/workflows/drift.yml diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index cca626a0e4..20d028f0d9 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -11,6 +11,7 @@ on: - "dio/**" - "file/**" - "sqflite/**" + - "drift/**" jobs: cancel-previous-workflow: diff --git a/.github/workflows/dio.yml b/.github/workflows/dio.yml index 05e21b4fad..801138c407 100644 --- a/.github/workflows/dio.yml +++ b/.github/workflows/dio.yml @@ -11,6 +11,7 @@ on: - "flutter/**" - "file/**" - "sqflite/**" + - "drift/**" jobs: cancel-previous-workflow: diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml new file mode 100644 index 0000000000..4551d38486 --- /dev/null +++ b/.github/workflows/drift.yml @@ -0,0 +1,71 @@ +name: sentry-drift +on: + push: + branches: + - main + - release/** + pull_request: + paths-ignore: + - "**/*.md" + - "logging/**" + - "flutter/**" + - "dio/**" + - "file/**" + - "sqflite/**" + +jobs: + cancel-previous-workflow: + runs-on: ubuntu-latest + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 # pin@0.11.0 + with: + access_token: ${{ github.token }} + + build: + name: Build ${{matrix.sdk}} on ${{matrix.os}} + runs-on: ${{ matrix.os }} + timeout-minutes: 30 + defaults: + run: + shell: bash + working-directory: ./drift + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + sdk: [stable, beta] + exclude: + - os: windows-latest + sdk: beta + - os: macos-latest + sdk: beta + steps: + - uses: dart-lang/setup-dart@6a218f2413a3e78e9087f638a238f6b40893203d # pin@v1 + with: + sdk: ${{ matrix.sdk }} + - uses: actions/checkout@v3 + + - name: Test VM + run: | + dart pub get + dart test -p vm --coverage=coverage --test-randomize-ordering-seed=random --chain-stack-traces + dart pub run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info --packages=.dart_tool/package_config.json --report-on=lib + + - uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # pin@v3 + if: runner.os == 'Linux' && matrix.sdk == 'stable' + with: + name: sentry_drift + files: ./drift/coverage/lcov.info + + - uses: VeryGoodOpenSource/very_good_coverage@e5c91bc7ce9843e87c800b3bcafdfb86fbe28491 # pin@v2.1.0 + if: runner.os == 'Linux' && matrix.sdk == 'stable' + with: + path: "./drift/coverage/lcov.info" + min_coverage: 55 + + analyze: + uses: ./.github/workflows/analyze.yml + with: + package: drift + panaThreshold: 90 \ No newline at end of file diff --git a/.github/workflows/e2e_dart.yml b/.github/workflows/e2e_dart.yml index 08493f67b3..62827e69c3 100644 --- a/.github/workflows/e2e_dart.yml +++ b/.github/workflows/e2e_dart.yml @@ -12,6 +12,7 @@ on: - "flutter/**" - "file/**" - "sqflite/**" + - "drift/**" env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} diff --git a/.github/workflows/file.yml b/.github/workflows/file.yml index b0a6d5b728..a4e17af787 100644 --- a/.github/workflows/file.yml +++ b/.github/workflows/file.yml @@ -11,6 +11,7 @@ on: - "flutter/**" - "dio/**" - "sqflite/**" + - "drift/**" jobs: cancel-previous-workflow: diff --git a/.github/workflows/flutter.yml b/.github/workflows/flutter.yml index 574e468fd8..86f7e8b88a 100644 --- a/.github/workflows/flutter.yml +++ b/.github/workflows/flutter.yml @@ -11,6 +11,7 @@ on: - "dio/**" - "file/**" - "sqflite/**" + - "drift/**" jobs: cancel-previous-workflow: diff --git a/.github/workflows/logging.yml b/.github/workflows/logging.yml index 8be3df1b95..3696428cd8 100644 --- a/.github/workflows/logging.yml +++ b/.github/workflows/logging.yml @@ -11,6 +11,7 @@ on: - "flutter/**" - "file/**" - "sqflite/**" + - "drift/**" jobs: cancel-previous-workflow: diff --git a/.github/workflows/min_version_test.yml b/.github/workflows/min_version_test.yml index 5cf4c47576..35d6ee7b5c 100644 --- a/.github/workflows/min_version_test.yml +++ b/.github/workflows/min_version_test.yml @@ -9,6 +9,7 @@ on: - "**/*.md" - "file/**" - "sqflite/**" + - "drift/**" jobs: cancel-previous-workflow: diff --git a/.github/workflows/sqflite.yml b/.github/workflows/sqflite.yml index 2d9121941f..8f6fd21ba4 100644 --- a/.github/workflows/sqflite.yml +++ b/.github/workflows/sqflite.yml @@ -11,6 +11,7 @@ on: - "flutter/**" - "dio/**" - "file/**" + - "drift/**" jobs: cancel-previous-workflow: From f089ddea83da7273767d066021dde90f7b531d2a Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 6 Nov 2023 12:39:31 +0100 Subject: [PATCH 12/72] Update deps --- drift/pubspec.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/drift/pubspec.yaml b/drift/pubspec.yaml index ccbf40125e..0c78d7fdd5 100644 --- a/drift/pubspec.yaml +++ b/drift/pubspec.yaml @@ -13,9 +13,6 @@ dependencies: meta: ^1.3.0 drift: ^2.13.0 - sqlite3_flutter_libs: ^0.5.0 - path_provider: ^2.0.0 - path: ^1.8.3 dev_dependencies: lints: ^3.0.0 From 4c412127f5e7bbd545891c7e6073887e8ed920b9 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 6 Nov 2023 12:56:37 +0100 Subject: [PATCH 13/72] Fix analyze issues --- drift/analysis_options.yaml | 1 + drift/lib/src/sentry_query_executor.dart | 23 +- drift/lib/src/sentry_span_helper.dart | 7 +- .../lib/src/sentry_transaction_executor.dart | 8 +- drift/test/mocks/mocks.dart | 5 - drift/test/mocks/mocks.mocks.dart | 483 +++++------------- drift/test/sentry_database_test.dart | 44 +- 7 files changed, 159 insertions(+), 412 deletions(-) diff --git a/drift/analysis_options.yaml b/drift/analysis_options.yaml index 92c8931384..28ddbe2636 100644 --- a/drift/analysis_options.yaml +++ b/drift/analysis_options.yaml @@ -20,6 +20,7 @@ analyzer: unnecessary_import: ignore exclude: - example/** + - test/mocks/mocks.mocks.dart linter: rules: diff --git a/drift/lib/src/sentry_query_executor.dart b/drift/lib/src/sentry_query_executor.dart index 03dc289281..6d6cdf9aa3 100644 --- a/drift/lib/src/sentry_query_executor.dart +++ b/drift/lib/src/sentry_query_executor.dart @@ -49,13 +49,14 @@ class SentryQueryExecutor extends QueryExecutor { SentryQueryExecutor(DatabaseOpener opener, {@internal Hub? hub, @internal QueryExecutor? queryExecutor, - required String databaseName}) + required String databaseName,}) : _hub = hub ?? HubAdapter(), _dbName = databaseName, _queryExecutor = queryExecutor ?? LazyDatabase(opener) { _spanHelper.setHub(_hub); } + /// @nodoc @internal void setHub(Hub hub) { _hub = hub; @@ -66,64 +67,64 @@ class SentryQueryExecutor extends QueryExecutor { TransactionExecutor beginTransaction() { final transactionExecutor = _queryExecutor.beginTransaction(); return SentryTransactionExecutor(transactionExecutor, _hub, - dbName: _dbName); + dbName: _dbName,); } @override Future runBatched(BatchedStatements statements) { return _spanHelper.asyncWrapInSpan('batch', () async { return await _queryExecutor.runBatched(statements); - }, dbName: _dbName); + }, dbName: _dbName,); } @override Future ensureOpen(QueryExecutorUser user) { return _spanHelper.asyncWrapInSpan('open', () async { return await _queryExecutor.ensureOpen(user); - }, dbName: _dbName); + }, dbName: _dbName,); } @override Future runCustom(String statement, [List? args]) { return _spanHelper.asyncWrapInSpan('custom', () async { return await _queryExecutor.runCustom(statement, args); - }, dbName: _dbName); + }, dbName: _dbName,); } @override Future runDelete(String statement, List args) { return _spanHelper.asyncWrapInSpan('delete', () async { return await _queryExecutor.runDelete(statement, args); - }, dbName: _dbName); + }, dbName: _dbName,); } @override Future runInsert(String statement, List args) { return _spanHelper.asyncWrapInSpan('insert', () async { return await _queryExecutor.runInsert(statement, args); - }, dbName: _dbName); + }, dbName: _dbName,); } @override Future>> runSelect( - String statement, List args) { + String statement, List args,) { return _spanHelper.asyncWrapInSpan('select', () async { return await _queryExecutor.runSelect(statement, args); - }, dbName: _dbName); + }, dbName: _dbName,); } @override Future runUpdate(String statement, List args) { return _spanHelper.asyncWrapInSpan('update', () async { return await _queryExecutor.runUpdate(statement, args); - }, dbName: _dbName); + }, dbName: _dbName,); } @override Future close() { return _spanHelper.asyncWrapInSpan('close', () async { return await _queryExecutor.close(); - }, dbName: _dbName); + }, dbName: _dbName,); } @override diff --git a/drift/lib/src/sentry_span_helper.dart b/drift/lib/src/sentry_span_helper.dart index 492b15e6ea..64cdf30b33 100644 --- a/drift/lib/src/sentry_span_helper.dart +++ b/drift/lib/src/sentry_span_helper.dart @@ -38,7 +38,7 @@ class SentrySpanHelper { span?.origin = _origin; span?.setData( - SentryQueryExecutor.dbSystemKey, SentryQueryExecutor.dbSystem); + SentryQueryExecutor.dbSystemKey, SentryQueryExecutor.dbSystem,); if (dbName != null) { span?.setData(SentryQueryExecutor.dbNameKey, dbName); @@ -63,6 +63,7 @@ class SentrySpanHelper { @internal ISentrySpan? transactionSpan; + /// @nodoc @internal T beginTransaction( String description, @@ -79,7 +80,7 @@ class SentrySpanHelper { span?.origin = _origin; span?.setData( - SentryQueryExecutor.dbSystemKey, SentryQueryExecutor.dbSystem); + SentryQueryExecutor.dbSystemKey, SentryQueryExecutor.dbSystem,); if (dbName != null) { span?.setData(SentryQueryExecutor.dbNameKey, dbName); @@ -100,6 +101,7 @@ class SentrySpanHelper { } } + /// @nodoc @internal Future finishTransaction( Future Function() execute, { @@ -121,6 +123,7 @@ class SentrySpanHelper { } } + /// @nodoc @internal Future abortTransaction( Future Function() execute, { diff --git a/drift/lib/src/sentry_transaction_executor.dart b/drift/lib/src/sentry_transaction_executor.dart index 3441506bce..0824cf9480 100644 --- a/drift/lib/src/sentry_transaction_executor.dart +++ b/drift/lib/src/sentry_transaction_executor.dart @@ -1,7 +1,7 @@ import 'package:drift/backends.dart'; import 'package:meta/meta.dart'; import 'package:sentry/sentry.dart'; -import 'package:sentry_drift/src/sentry_span_helper.dart'; +import 'sentry_span_helper.dart'; /// @nodoc @internal @@ -29,7 +29,7 @@ class SentryTransactionExecutor extends TransactionExecutor { TransactionExecutor beginTransaction() { return _spanHelper.beginTransaction('transaction', () { return _executor.beginTransaction(); - }, dbName: _dbName); + }, dbName: _dbName,); } @override @@ -58,7 +58,7 @@ class SentryTransactionExecutor extends TransactionExecutor { Future runBatched(BatchedStatements statements) { return _spanHelper.asyncWrapInSpan('batch', () async { return await _executor.runBatched(statements); - }, dbName: _dbName); + }, dbName: _dbName,); } @override @@ -78,7 +78,7 @@ class SentryTransactionExecutor extends TransactionExecutor { @override Future>> runSelect( - String statement, List args) { + String statement, List args,) { return _executor.runSelect(statement, args); } diff --git a/drift/test/mocks/mocks.dart b/drift/test/mocks/mocks.dart index 8521152b79..4842f97455 100644 --- a/drift/test/mocks/mocks.dart +++ b/drift/test/mocks/mocks.dart @@ -1,14 +1,9 @@ import 'package:drift/drift.dart'; import 'package:mockito/annotations.dart'; import 'package:sentry/sentry.dart'; -import 'package:sentry_drift/sentry_drift.dart'; - -import '../test_database.dart'; @GenerateMocks([ Hub, - InsertStatement, - Insertable, LazyDatabase, TransactionExecutor, ]) diff --git a/drift/test/mocks/mocks.mocks.dart b/drift/test/mocks/mocks.mocks.dart index c2d7323238..f6a88c359a 100644 --- a/drift/test/mocks/mocks.mocks.dart +++ b/drift/test/mocks/mocks.mocks.dart @@ -3,16 +3,13 @@ // Do not manually edit this file. // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i6; +import 'dart:async' as _i5; -import 'package:drift/drift.dart' as _i5; -import 'package:drift/src/dsl/dsl.dart' as _i4; -import 'package:drift/src/runtime/api/runtime_api.dart' as _i3; -import 'package:drift/src/runtime/data_class.dart' as _i8; +import 'package:drift/backends.dart' as _i3; +import 'package:drift/drift.dart' as _i6; import 'package:mockito/mockito.dart' as _i1; -import 'package:mockito/src/dummies.dart' as _i9; import 'package:sentry/sentry.dart' as _i2; -import 'package:sentry/src/profiling.dart' as _i7; +import 'package:sentry/src/profiling.dart' as _i4; // ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values @@ -75,9 +72,8 @@ class _FakeISentrySpan_4 extends _i1.SmartFake implements _i2.ISentrySpan { ); } -class _FakeDatabaseConnectionUser_5 extends _i1.SmartFake - implements _i3.DatabaseConnectionUser { - _FakeDatabaseConnectionUser_5( +class _FakeQueryExecutor_5 extends _i1.SmartFake implements _i3.QueryExecutor { + _FakeQueryExecutor_5( Object parent, Invocation parentInvocation, ) : super( @@ -86,51 +82,9 @@ class _FakeDatabaseConnectionUser_5 extends _i1.SmartFake ); } -class _FakeTableInfo_6 extends _i1.SmartFake - implements _i5.TableInfo { - _FakeTableInfo_6( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeFuture_7 extends _i1.SmartFake implements _i6.Future { - _FakeFuture_7( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeGenerationContext_8 extends _i1.SmartFake - implements _i5.GenerationContext { - _FakeGenerationContext_8( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeQueryExecutor_9 extends _i1.SmartFake implements _i5.QueryExecutor { - _FakeQueryExecutor_9( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); -} - -class _FakeTransactionExecutor_10 extends _i1.SmartFake - implements _i5.TransactionExecutor { - _FakeTransactionExecutor_10( +class _FakeTransactionExecutor_6 extends _i1.SmartFake + implements _i3.TransactionExecutor { + _FakeTransactionExecutor_6( Object parent, Invocation parentInvocation, ) : super( @@ -181,7 +135,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ) as _i2.Scope); @override - set profilerFactory(_i7.SentryProfilerFactory? value) => super.noSuchMethod( + set profilerFactory(_i4.SentryProfilerFactory? value) => super.noSuchMethod( Invocation.setter( #profilerFactory, value, @@ -190,7 +144,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ); @override - _i6.Future<_i2.SentryId> captureEvent( + _i5.Future<_i2.SentryId> captureEvent( _i2.SentryEvent? event, { dynamic stackTrace, _i2.Hint? hint, @@ -206,7 +160,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i5.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureEvent, @@ -218,10 +172,10 @@ class MockHub extends _i1.Mock implements _i2.Hub { }, ), )), - ) as _i6.Future<_i2.SentryId>); + ) as _i5.Future<_i2.SentryId>); @override - _i6.Future<_i2.SentryId> captureException( + _i5.Future<_i2.SentryId> captureException( dynamic throwable, { dynamic stackTrace, _i2.Hint? hint, @@ -237,7 +191,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i5.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureException, @@ -249,10 +203,10 @@ class MockHub extends _i1.Mock implements _i2.Hub { }, ), )), - ) as _i6.Future<_i2.SentryId>); + ) as _i5.Future<_i2.SentryId>); @override - _i6.Future<_i2.SentryId> captureMessage( + _i5.Future<_i2.SentryId> captureMessage( String? message, { _i2.SentryLevel? level, String? template, @@ -272,7 +226,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { #withScope: withScope, }, ), - returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i5.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureMessage, @@ -286,21 +240,21 @@ class MockHub extends _i1.Mock implements _i2.Hub { }, ), )), - ) as _i6.Future<_i2.SentryId>); + ) as _i5.Future<_i2.SentryId>); @override - _i6.Future captureUserFeedback(_i2.SentryUserFeedback? userFeedback) => + _i5.Future captureUserFeedback(_i2.SentryUserFeedback? userFeedback) => (super.noSuchMethod( Invocation.method( #captureUserFeedback, [userFeedback], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); @override - _i6.Future addBreadcrumb( + _i5.Future addBreadcrumb( _i2.Breadcrumb? crumb, { _i2.Hint? hint, }) => @@ -310,9 +264,9 @@ class MockHub extends _i1.Mock implements _i2.Hub { [crumb], {#hint: hint}, ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); @override void bindClient(_i2.SentryClient? client) => super.noSuchMethod( @@ -339,21 +293,21 @@ class MockHub extends _i1.Mock implements _i2.Hub { ) as _i2.Hub); @override - _i6.Future close() => (super.noSuchMethod( + _i5.Future close() => (super.noSuchMethod( Invocation.method( #close, [], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); @override - _i6.FutureOr configureScope(_i2.ScopeCallback? callback) => + _i5.FutureOr configureScope(_i2.ScopeCallback? callback) => (super.noSuchMethod(Invocation.method( #configureScope, [callback], - )) as _i6.FutureOr); + )) as _i5.FutureOr); @override _i2.ISentrySpan startTransaction( @@ -452,7 +406,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { ) as _i2.ISentrySpan); @override - _i6.Future<_i2.SentryId> captureTransaction( + _i5.Future<_i2.SentryId> captureTransaction( _i2.SentryTransaction? transaction, { _i2.SentryTraceContextHeader? traceContext, }) => @@ -462,7 +416,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { [transaction], {#traceContext: traceContext}, ), - returnValue: _i6.Future<_i2.SentryId>.value(_FakeSentryId_1( + returnValue: _i5.Future<_i2.SentryId>.value(_FakeSentryId_1( this, Invocation.method( #captureTransaction, @@ -470,7 +424,7 @@ class MockHub extends _i1.Mock implements _i2.Hub { {#traceContext: traceContext}, ), )), - ) as _i6.Future<_i2.SentryId>); + ) as _i5.Future<_i2.SentryId>); @override void setSpanContext( @@ -491,275 +445,68 @@ class MockHub extends _i1.Mock implements _i2.Hub { ); } -/// A class which mocks [InsertStatement]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockInsertStatement extends _i1.Mock - implements _i5.InsertStatement { - MockInsertStatement() { - _i1.throwOnMissingStub(this); - } - - @override - _i3.DatabaseConnectionUser get database => (super.noSuchMethod( - Invocation.getter(#database), - returnValue: _FakeDatabaseConnectionUser_5( - this, - Invocation.getter(#database), - ), - ) as _i3.DatabaseConnectionUser); - - @override - _i5.TableInfo get table => (super.noSuchMethod( - Invocation.getter(#table), - returnValue: _FakeTableInfo_6( - this, - Invocation.getter(#table), - ), - ) as _i5.TableInfo); - - @override - _i6.Future insert( - _i8.Insertable? entity, { - _i5.InsertMode? mode, - _i5.UpsertClause? onConflict, - }) => - (super.noSuchMethod( - Invocation.method( - #insert, - [entity], - { - #mode: mode, - #onConflict: onConflict, - }, - ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); - - @override - _i6.Future insertFromSelect( - _i5.BaseSelectStatement? select, { - required Map<_i4.Column, _i5.Expression>? columns, - _i5.InsertMode? mode = _i5.InsertMode.insert, - _i5.UpsertClause? onConflict, - }) => - (super.noSuchMethod( - Invocation.method( - #insertFromSelect, - [select], - { - #columns: columns, - #mode: mode, - #onConflict: onConflict, - }, - ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); - - @override - _i6.Future insertReturning( - _i8.Insertable? entity, { - _i5.InsertMode? mode, - _i5.UpsertClause? onConflict, - }) => - (super.noSuchMethod( - Invocation.method( - #insertReturning, - [entity], - { - #mode: mode, - #onConflict: onConflict, - }, - ), - returnValue: _i9.ifNotNull( - _i9.dummyValueOrNull( - this, - Invocation.method( - #insertReturning, - [entity], - { - #mode: mode, - #onConflict: onConflict, - }, - ), - ), - (D v) => _i6.Future.value(v), - ) ?? - _FakeFuture_7( - this, - Invocation.method( - #insertReturning, - [entity], - { - #mode: mode, - #onConflict: onConflict, - }, - ), - ), - ) as _i6.Future); - - @override - _i6.Future insertReturningOrNull( - _i8.Insertable? entity, { - _i5.InsertMode? mode, - _i5.UpsertClause? onConflict, - }) => - (super.noSuchMethod( - Invocation.method( - #insertReturningOrNull, - [entity], - { - #mode: mode, - #onConflict: onConflict, - }, - ), - returnValue: _i6.Future.value(), - ) as _i6.Future); - - @override - _i6.Future insertOnConflictUpdate(_i8.Insertable? entity) => - (super.noSuchMethod( - Invocation.method( - #insertOnConflictUpdate, - [entity], - ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); - - @override - _i5.GenerationContext createContext( - _i8.Insertable? entry, - _i5.InsertMode? mode, { - _i5.UpsertClause? onConflict, - bool? returning = false, - }) => - (super.noSuchMethod( - Invocation.method( - #createContext, - [ - entry, - mode, - ], - { - #onConflict: onConflict, - #returning: returning, - }, - ), - returnValue: _FakeGenerationContext_8( - this, - Invocation.method( - #createContext, - [ - entry, - mode, - ], - { - #onConflict: onConflict, - #returning: returning, - }, - ), - ), - ) as _i5.GenerationContext); - - @override - void writeInsertable( - _i5.GenerationContext? ctx, - Map>? map, - ) => - super.noSuchMethod( - Invocation.method( - #writeInsertable, - [ - ctx, - map, - ], - ), - returnValueForMissingStub: null, - ); -} - -/// A class which mocks [Insertable]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockInsertable extends _i1.Mock implements _i8.Insertable { - MockInsertable() { - _i1.throwOnMissingStub(this); - } - - @override - Map> toColumns(bool? nullToAbsent) => - (super.noSuchMethod( - Invocation.method( - #toColumns, - [nullToAbsent], - ), - returnValue: >{}, - ) as Map>); -} - /// A class which mocks [LazyDatabase]. /// /// See the documentation for Mockito's code generation for more information. -class MockLazyDatabase extends _i1.Mock implements _i5.LazyDatabase { +class MockLazyDatabase extends _i1.Mock implements _i6.LazyDatabase { MockLazyDatabase() { _i1.throwOnMissingStub(this); } @override - _i5.DatabaseOpener get opener => (super.noSuchMethod( + _i6.DatabaseOpener get opener => (super.noSuchMethod( Invocation.getter(#opener), returnValue: () => - _i6.Future<_i5.QueryExecutor>.value(_FakeQueryExecutor_9( + _i5.Future<_i3.QueryExecutor>.value(_FakeQueryExecutor_5( this, Invocation.getter(#opener), )), - ) as _i5.DatabaseOpener); + ) as _i6.DatabaseOpener); @override - _i5.SqlDialect get dialect => (super.noSuchMethod( + _i3.SqlDialect get dialect => (super.noSuchMethod( Invocation.getter(#dialect), - returnValue: _i5.SqlDialect.sqlite, - ) as _i5.SqlDialect); + returnValue: _i3.SqlDialect.sqlite, + ) as _i3.SqlDialect); @override - _i5.TransactionExecutor beginTransaction() => (super.noSuchMethod( + _i3.TransactionExecutor beginTransaction() => (super.noSuchMethod( Invocation.method( #beginTransaction, [], ), - returnValue: _FakeTransactionExecutor_10( + returnValue: _FakeTransactionExecutor_6( this, Invocation.method( #beginTransaction, [], ), ), - ) as _i5.TransactionExecutor); + ) as _i3.TransactionExecutor); @override - _i6.Future ensureOpen(_i5.QueryExecutorUser? user) => + _i5.Future ensureOpen(_i3.QueryExecutorUser? user) => (super.noSuchMethod( Invocation.method( #ensureOpen, [user], ), - returnValue: _i6.Future.value(false), - ) as _i6.Future); + returnValue: _i5.Future.value(false), + ) as _i5.Future); @override - _i6.Future runBatched(_i5.BatchedStatements? statements) => + _i5.Future runBatched(_i3.BatchedStatements? statements) => (super.noSuchMethod( Invocation.method( #runBatched, [statements], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); @override - _i6.Future runCustom( + _i5.Future runCustom( String? statement, [ List? args, ]) => @@ -771,12 +518,12 @@ class MockLazyDatabase extends _i1.Mock implements _i5.LazyDatabase { args, ], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); @override - _i6.Future runDelete( + _i5.Future runDelete( String? statement, List? args, ) => @@ -788,11 +535,11 @@ class MockLazyDatabase extends _i1.Mock implements _i5.LazyDatabase { args, ], ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); + returnValue: _i5.Future.value(0), + ) as _i5.Future); @override - _i6.Future runInsert( + _i5.Future runInsert( String? statement, List? args, ) => @@ -804,11 +551,11 @@ class MockLazyDatabase extends _i1.Mock implements _i5.LazyDatabase { args, ], ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); + returnValue: _i5.Future.value(0), + ) as _i5.Future); @override - _i6.Future>> runSelect( + _i5.Future>> runSelect( String? statement, List? args, ) => @@ -820,12 +567,12 @@ class MockLazyDatabase extends _i1.Mock implements _i5.LazyDatabase { args, ], ), - returnValue: _i6.Future>>.value( + returnValue: _i5.Future>>.value( >[]), - ) as _i6.Future>>); + ) as _i5.Future>>); @override - _i6.Future runUpdate( + _i5.Future runUpdate( String? statement, List? args, ) => @@ -837,25 +584,25 @@ class MockLazyDatabase extends _i1.Mock implements _i5.LazyDatabase { args, ], ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); + returnValue: _i5.Future.value(0), + ) as _i5.Future); @override - _i6.Future close() => (super.noSuchMethod( + _i5.Future close() => (super.noSuchMethod( Invocation.method( #close, [], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } /// A class which mocks [TransactionExecutor]. /// /// See the documentation for Mockito's code generation for more information. class MockTransactionExecutor extends _i1.Mock - implements _i5.TransactionExecutor { + implements _i3.TransactionExecutor { MockTransactionExecutor() { _i1.throwOnMissingStub(this); } @@ -867,43 +614,43 @@ class MockTransactionExecutor extends _i1.Mock ) as bool); @override - _i5.SqlDialect get dialect => (super.noSuchMethod( + _i3.SqlDialect get dialect => (super.noSuchMethod( Invocation.getter(#dialect), - returnValue: _i5.SqlDialect.sqlite, - ) as _i5.SqlDialect); + returnValue: _i3.SqlDialect.sqlite, + ) as _i3.SqlDialect); @override - _i6.Future send() => (super.noSuchMethod( + _i5.Future send() => (super.noSuchMethod( Invocation.method( #send, [], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); @override - _i6.Future rollback() => (super.noSuchMethod( + _i5.Future rollback() => (super.noSuchMethod( Invocation.method( #rollback, [], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); @override - _i6.Future ensureOpen(_i5.QueryExecutorUser? user) => + _i5.Future ensureOpen(_i3.QueryExecutorUser? user) => (super.noSuchMethod( Invocation.method( #ensureOpen, [user], ), - returnValue: _i6.Future.value(false), - ) as _i6.Future); + returnValue: _i5.Future.value(false), + ) as _i5.Future); @override - _i6.Future>> runSelect( + _i5.Future>> runSelect( String? statement, List? args, ) => @@ -915,12 +662,12 @@ class MockTransactionExecutor extends _i1.Mock args, ], ), - returnValue: _i6.Future>>.value( + returnValue: _i5.Future>>.value( >[]), - ) as _i6.Future>>); + ) as _i5.Future>>); @override - _i6.Future runInsert( + _i5.Future runInsert( String? statement, List? args, ) => @@ -932,11 +679,11 @@ class MockTransactionExecutor extends _i1.Mock args, ], ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); + returnValue: _i5.Future.value(0), + ) as _i5.Future); @override - _i6.Future runUpdate( + _i5.Future runUpdate( String? statement, List? args, ) => @@ -948,11 +695,11 @@ class MockTransactionExecutor extends _i1.Mock args, ], ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); + returnValue: _i5.Future.value(0), + ) as _i5.Future); @override - _i6.Future runDelete( + _i5.Future runDelete( String? statement, List? args, ) => @@ -964,11 +711,11 @@ class MockTransactionExecutor extends _i1.Mock args, ], ), - returnValue: _i6.Future.value(0), - ) as _i6.Future); + returnValue: _i5.Future.value(0), + ) as _i5.Future); @override - _i6.Future runCustom( + _i5.Future runCustom( String? statement, [ List? args, ]) => @@ -980,43 +727,43 @@ class MockTransactionExecutor extends _i1.Mock args, ], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); @override - _i6.Future runBatched(_i5.BatchedStatements? statements) => + _i5.Future runBatched(_i3.BatchedStatements? statements) => (super.noSuchMethod( Invocation.method( #runBatched, [statements], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); @override - _i5.TransactionExecutor beginTransaction() => (super.noSuchMethod( + _i3.TransactionExecutor beginTransaction() => (super.noSuchMethod( Invocation.method( #beginTransaction, [], ), - returnValue: _FakeTransactionExecutor_10( + returnValue: _FakeTransactionExecutor_6( this, Invocation.method( #beginTransaction, [], ), ), - ) as _i5.TransactionExecutor); + ) as _i3.TransactionExecutor); @override - _i6.Future close() => (super.noSuchMethod( + _i5.Future close() => (super.noSuchMethod( Invocation.method( #close, [], ), - returnValue: _i6.Future.value(), - returnValueForMissingStub: _i6.Future.value(), - ) as _i6.Future); + returnValue: _i5.Future.value(), + returnValueForMissingStub: _i5.Future.value(), + ) as _i5.Future); } diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 8cf493269f..7ebadbd36b 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -1,3 +1,5 @@ +// ignore_for_file: invalid_use_of_internal_member + @TestOn('vm') import 'package:drift/drift.dart'; import 'package:drift/native.dart'; @@ -15,29 +17,27 @@ import 'test_database.dart'; void main() { void verifySpan(String description, SentrySpan? span, {String origin = SentryTraceOrigins.autoDbDriftQueryExecutor, - SpanStatus? status}) { + SpanStatus? status,}) { status ??= SpanStatus.ok(); expect(span?.context.operation, SentryQueryExecutor.dbOp); expect(span?.context.description, description); expect(span?.status, status); - // ignore: invalid_use_of_internal_member expect(span?.origin, origin); expect(span?.data[SentryQueryExecutor.dbSystemKey], - SentryQueryExecutor.dbSystem); - expect(span?.data[SentryQueryExecutor.dbNameKey], Fixture.dbName); + SentryQueryExecutor.dbSystem,); + expect(span?.data[SentryQueryExecutor.dbNameKey], Fixture.dbName,); } void verifyErrorSpan( String description, Exception exception, SentrySpan? span, - {String origin = SentryTraceOrigins.autoDbDriftQueryExecutor}) { + {String origin = SentryTraceOrigins.autoDbDriftQueryExecutor,}) { expect(span?.context.operation, SentryQueryExecutor.dbOp); expect(span?.context.description, description); expect(span?.status, SpanStatus.internalError()); - // ignore: invalid_use_of_internal_member expect(span?.origin, origin); expect(span?.data[SentryQueryExecutor.dbSystemKey], - SentryQueryExecutor.dbSystem); - expect(span?.data[SentryQueryExecutor.dbNameKey], Fixture.dbName); + SentryQueryExecutor.dbSystem,); + expect(span?.data[SentryQueryExecutor.dbNameKey], Fixture.dbName,); expect(span?.throwable, exception); } @@ -47,12 +47,12 @@ void main() { return sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( title: '', content: '', - )); + ),); } else { return sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( title: 'todo: finish drift setup', content: 'We can now write queries and define our own tables.', - )); + ),); } } @@ -63,14 +63,14 @@ void main() { .write(TodoItemsCompanion( title: Value('after update'), content: Value('We can now write queries and define our own tables.'), - )); + ),); } else { return (sut.update(sut.todoItems) ..where((tbl) => tbl.title.equals('todo: finish drift setup'))) .write(TodoItemsCompanion( title: Value('after update'), content: Value('We can now write queries and define our own tables.'), - )); + ),); } } @@ -122,7 +122,7 @@ void main() { }); verifySpan('transaction', fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor); + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor,); }); test('transaction rollback adds span', () async { @@ -136,7 +136,7 @@ void main() { verifySpan('transaction', fixture.getCreatedSpan(), origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, - status: SpanStatus.aborted()); + status: SpanStatus.aborted(),); }); test('batch adds span', () async { @@ -148,7 +148,7 @@ void main() { }); verifySpan('batch', fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor); + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor,); }); test('close adds span', () async { @@ -207,7 +207,7 @@ void main() { test('batch does not add span for failed operations', () async { final lazyDatabase = MockLazyDatabase(); final queryExecutor = - SentryQueryExecutor(() => lazyDatabase, databaseName: Fixture.dbName); + SentryQueryExecutor(() => lazyDatabase, databaseName: Fixture.dbName,); queryExecutor.setHub(fixture.hub); when(lazyDatabase.ensureOpen(any)).thenAnswer((_) => Future.value(true)); when(lazyDatabase.runInsert(any, any)).thenThrow(fixture.exception); @@ -289,7 +289,7 @@ void main() { // starts beginTransaction() directly after init final SentryTransactionExecutor transactionExecutor = SentryTransactionExecutor(mockTransactionExecutor, fixture.hub, - dbName: Fixture.dbName); + dbName: Fixture.dbName,); when(fixture.mockLazyDatabase.beginTransaction()) .thenReturn(transactionExecutor); @@ -303,7 +303,7 @@ void main() { verifyErrorSpan( 'transaction', fixture.exception, fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor); + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor,); }); test('throwing batch throws error span', () async { @@ -316,7 +316,7 @@ void main() { // starts beginTransaction() directly after init final SentryTransactionExecutor transactionExecutor = SentryTransactionExecutor(mockTransactionExecutor, fixture.hub, - dbName: Fixture.dbName); + dbName: Fixture.dbName,); when(fixture.mockLazyDatabase.beginTransaction()) .thenReturn(transactionExecutor); @@ -330,7 +330,7 @@ void main() { verifyErrorSpan( 'transaction', fixture.exception, fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor); + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor,); }); test('throwing close throws error span', () async { @@ -361,7 +361,7 @@ void main() { } verifyErrorSpan('open', fixture.exception, - fixture.getCreatedSpanByDescription('open')); + fixture.getCreatedSpanByDescription('open'),); }); test('throwing runDelete throws error span', () async { @@ -415,7 +415,7 @@ class Fixture { } else { return SentryQueryExecutor(() { return NativeDatabase.memory(); - }, hub: hub, databaseName: dbName); + }, hub: hub, databaseName: dbName,); } } } From 8d24a36b84ed28b587d1bcac3125d82de7a1f387 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 6 Nov 2023 13:03:45 +0100 Subject: [PATCH 14/72] Format --- drift/lib/src/sentry_query_executor.dart | 102 ++++++++---- drift/lib/src/sentry_span_helper.dart | 8 +- .../lib/src/sentry_transaction_executor.dart | 24 ++- drift/test/sentry_database_test.dart | 152 ++++++++++++------ 4 files changed, 196 insertions(+), 90 deletions(-) diff --git a/drift/lib/src/sentry_query_executor.dart b/drift/lib/src/sentry_query_executor.dart index 6d6cdf9aa3..d69b3e4e5a 100644 --- a/drift/lib/src/sentry_query_executor.dart +++ b/drift/lib/src/sentry_query_executor.dart @@ -46,11 +46,12 @@ class SentryQueryExecutor extends QueryExecutor { /// Declares a [SentryQueryExecutor] that will run [opener] when the database is /// first requested to be opened. You must specify the same [dialect] as the /// underlying database has - SentryQueryExecutor(DatabaseOpener opener, - {@internal Hub? hub, - @internal QueryExecutor? queryExecutor, - required String databaseName,}) - : _hub = hub ?? HubAdapter(), + SentryQueryExecutor( + DatabaseOpener opener, { + @internal Hub? hub, + @internal QueryExecutor? queryExecutor, + required String databaseName, + }) : _hub = hub ?? HubAdapter(), _dbName = databaseName, _queryExecutor = queryExecutor ?? LazyDatabase(opener) { _spanHelper.setHub(_hub); @@ -66,65 +67,102 @@ class SentryQueryExecutor extends QueryExecutor { @override TransactionExecutor beginTransaction() { final transactionExecutor = _queryExecutor.beginTransaction(); - return SentryTransactionExecutor(transactionExecutor, _hub, - dbName: _dbName,); + return SentryTransactionExecutor( + transactionExecutor, + _hub, + dbName: _dbName, + ); } @override Future runBatched(BatchedStatements statements) { - return _spanHelper.asyncWrapInSpan('batch', () async { - return await _queryExecutor.runBatched(statements); - }, dbName: _dbName,); + return _spanHelper.asyncWrapInSpan( + 'batch', + () async { + return await _queryExecutor.runBatched(statements); + }, + dbName: _dbName, + ); } @override Future ensureOpen(QueryExecutorUser user) { - return _spanHelper.asyncWrapInSpan('open', () async { - return await _queryExecutor.ensureOpen(user); - }, dbName: _dbName,); + return _spanHelper.asyncWrapInSpan( + 'open', + () async { + return await _queryExecutor.ensureOpen(user); + }, + dbName: _dbName, + ); } @override Future runCustom(String statement, [List? args]) { - return _spanHelper.asyncWrapInSpan('custom', () async { - return await _queryExecutor.runCustom(statement, args); - }, dbName: _dbName,); + return _spanHelper.asyncWrapInSpan( + 'custom', + () async { + return await _queryExecutor.runCustom(statement, args); + }, + dbName: _dbName, + ); } @override Future runDelete(String statement, List args) { - return _spanHelper.asyncWrapInSpan('delete', () async { - return await _queryExecutor.runDelete(statement, args); - }, dbName: _dbName,); + return _spanHelper.asyncWrapInSpan( + 'delete', + () async { + return await _queryExecutor.runDelete(statement, args); + }, + dbName: _dbName, + ); } @override Future runInsert(String statement, List args) { - return _spanHelper.asyncWrapInSpan('insert', () async { - return await _queryExecutor.runInsert(statement, args); - }, dbName: _dbName,); + return _spanHelper.asyncWrapInSpan( + 'insert', + () async { + return await _queryExecutor.runInsert(statement, args); + }, + dbName: _dbName, + ); } @override Future>> runSelect( - String statement, List args,) { - return _spanHelper.asyncWrapInSpan('select', () async { - return await _queryExecutor.runSelect(statement, args); - }, dbName: _dbName,); + String statement, + List args, + ) { + return _spanHelper.asyncWrapInSpan( + 'select', + () async { + return await _queryExecutor.runSelect(statement, args); + }, + dbName: _dbName, + ); } @override Future runUpdate(String statement, List args) { - return _spanHelper.asyncWrapInSpan('update', () async { - return await _queryExecutor.runUpdate(statement, args); - }, dbName: _dbName,); + return _spanHelper.asyncWrapInSpan( + 'update', + () async { + return await _queryExecutor.runUpdate(statement, args); + }, + dbName: _dbName, + ); } @override Future close() { - return _spanHelper.asyncWrapInSpan('close', () async { - return await _queryExecutor.close(); - }, dbName: _dbName,); + return _spanHelper.asyncWrapInSpan( + 'close', + () async { + return await _queryExecutor.close(); + }, + dbName: _dbName, + ); } @override diff --git a/drift/lib/src/sentry_span_helper.dart b/drift/lib/src/sentry_span_helper.dart index 64cdf30b33..cad09f7f5a 100644 --- a/drift/lib/src/sentry_span_helper.dart +++ b/drift/lib/src/sentry_span_helper.dart @@ -38,7 +38,9 @@ class SentrySpanHelper { span?.origin = _origin; span?.setData( - SentryQueryExecutor.dbSystemKey, SentryQueryExecutor.dbSystem,); + SentryQueryExecutor.dbSystemKey, + SentryQueryExecutor.dbSystem, + ); if (dbName != null) { span?.setData(SentryQueryExecutor.dbNameKey, dbName); @@ -80,7 +82,9 @@ class SentrySpanHelper { span?.origin = _origin; span?.setData( - SentryQueryExecutor.dbSystemKey, SentryQueryExecutor.dbSystem,); + SentryQueryExecutor.dbSystemKey, + SentryQueryExecutor.dbSystem, + ); if (dbName != null) { span?.setData(SentryQueryExecutor.dbNameKey, dbName); diff --git a/drift/lib/src/sentry_transaction_executor.dart b/drift/lib/src/sentry_transaction_executor.dart index 0824cf9480..b43ad75486 100644 --- a/drift/lib/src/sentry_transaction_executor.dart +++ b/drift/lib/src/sentry_transaction_executor.dart @@ -27,9 +27,13 @@ class SentryTransactionExecutor extends TransactionExecutor { @override TransactionExecutor beginTransaction() { - return _spanHelper.beginTransaction('transaction', () { - return _executor.beginTransaction(); - }, dbName: _dbName,); + return _spanHelper.beginTransaction( + 'transaction', + () { + return _executor.beginTransaction(); + }, + dbName: _dbName, + ); } @override @@ -56,9 +60,13 @@ class SentryTransactionExecutor extends TransactionExecutor { @override Future runBatched(BatchedStatements statements) { - return _spanHelper.asyncWrapInSpan('batch', () async { - return await _executor.runBatched(statements); - }, dbName: _dbName,); + return _spanHelper.asyncWrapInSpan( + 'batch', + () async { + return await _executor.runBatched(statements); + }, + dbName: _dbName, + ); } @override @@ -78,7 +86,9 @@ class SentryTransactionExecutor extends TransactionExecutor { @override Future>> runSelect( - String statement, List args,) { + String statement, + List args, + ) { return _executor.runSelect(statement, args); } diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 7ebadbd36b..4b37910d79 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -15,44 +15,64 @@ import 'mocks/mocks.mocks.dart'; import 'test_database.dart'; void main() { - void verifySpan(String description, SentrySpan? span, - {String origin = SentryTraceOrigins.autoDbDriftQueryExecutor, - SpanStatus? status,}) { + void verifySpan( + String description, + SentrySpan? span, { + String origin = SentryTraceOrigins.autoDbDriftQueryExecutor, + SpanStatus? status, + }) { status ??= SpanStatus.ok(); expect(span?.context.operation, SentryQueryExecutor.dbOp); expect(span?.context.description, description); expect(span?.status, status); expect(span?.origin, origin); - expect(span?.data[SentryQueryExecutor.dbSystemKey], - SentryQueryExecutor.dbSystem,); - expect(span?.data[SentryQueryExecutor.dbNameKey], Fixture.dbName,); + expect( + span?.data[SentryQueryExecutor.dbSystemKey], + SentryQueryExecutor.dbSystem, + ); + expect( + span?.data[SentryQueryExecutor.dbNameKey], + Fixture.dbName, + ); } void verifyErrorSpan( - String description, Exception exception, SentrySpan? span, - {String origin = SentryTraceOrigins.autoDbDriftQueryExecutor,}) { + String description, + Exception exception, + SentrySpan? span, { + String origin = SentryTraceOrigins.autoDbDriftQueryExecutor, + }) { expect(span?.context.operation, SentryQueryExecutor.dbOp); expect(span?.context.description, description); expect(span?.status, SpanStatus.internalError()); expect(span?.origin, origin); - expect(span?.data[SentryQueryExecutor.dbSystemKey], - SentryQueryExecutor.dbSystem,); - expect(span?.data[SentryQueryExecutor.dbNameKey], Fixture.dbName,); + expect( + span?.data[SentryQueryExecutor.dbSystemKey], + SentryQueryExecutor.dbSystem, + ); + expect( + span?.data[SentryQueryExecutor.dbNameKey], + Fixture.dbName, + ); expect(span?.throwable, exception); } Future insertRow(AppDatabase sut, {bool withError = false}) { if (withError) { - return sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: '', - content: '', - ),); + return sut.into(sut.todoItems).insert( + TodoItemsCompanion.insert( + title: '', + content: '', + ), + ); } else { - return sut.into(sut.todoItems).insert(TodoItemsCompanion.insert( - title: 'todo: finish drift setup', - content: 'We can now write queries and define our own tables.', - ),); + return sut.into(sut.todoItems).insert( + TodoItemsCompanion.insert( + title: 'todo: finish drift setup', + content: 'We can now write queries and define our own tables.', + ), + ); } } @@ -60,17 +80,21 @@ void main() { if (withError) { return (sut.update(sut.todoItems) ..where((tbl) => tbl.title.equals('doesnt exist'))) - .write(TodoItemsCompanion( - title: Value('after update'), - content: Value('We can now write queries and define our own tables.'), - ),); + .write( + TodoItemsCompanion( + title: Value('after update'), + content: Value('We can now write queries and define our own tables.'), + ), + ); } else { return (sut.update(sut.todoItems) ..where((tbl) => tbl.title.equals('todo: finish drift setup'))) - .write(TodoItemsCompanion( - title: Value('after update'), - content: Value('We can now write queries and define our own tables.'), - ),); + .write( + TodoItemsCompanion( + title: Value('after update'), + content: Value('We can now write queries and define our own tables.'), + ), + ); } } @@ -121,8 +145,11 @@ void main() { await insertRow(sut); }); - verifySpan('transaction', fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor,); + verifySpan( + 'transaction', + fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); }); test('transaction rollback adds span', () async { @@ -134,9 +161,12 @@ void main() { }); } catch (_) {} - verifySpan('transaction', fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, - status: SpanStatus.aborted(),); + verifySpan( + 'transaction', + fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + status: SpanStatus.aborted(), + ); }); test('batch adds span', () async { @@ -147,8 +177,11 @@ void main() { await insertRow(sut); }); - verifySpan('batch', fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor,); + verifySpan( + 'batch', + fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); }); test('close adds span', () async { @@ -206,8 +239,10 @@ void main() { test('batch does not add span for failed operations', () async { final lazyDatabase = MockLazyDatabase(); - final queryExecutor = - SentryQueryExecutor(() => lazyDatabase, databaseName: Fixture.dbName,); + final queryExecutor = SentryQueryExecutor( + () => lazyDatabase, + databaseName: Fixture.dbName, + ); queryExecutor.setHub(fixture.hub); when(lazyDatabase.ensureOpen(any)).thenAnswer((_) => Future.value(true)); when(lazyDatabase.runInsert(any, any)).thenThrow(fixture.exception); @@ -288,8 +323,11 @@ void main() { // We need to move it inside the try/catch becaue SentryTransactionExecutor // starts beginTransaction() directly after init final SentryTransactionExecutor transactionExecutor = - SentryTransactionExecutor(mockTransactionExecutor, fixture.hub, - dbName: Fixture.dbName,); + SentryTransactionExecutor( + mockTransactionExecutor, + fixture.hub, + dbName: Fixture.dbName, + ); when(fixture.mockLazyDatabase.beginTransaction()) .thenReturn(transactionExecutor); @@ -302,8 +340,11 @@ void main() { } verifyErrorSpan( - 'transaction', fixture.exception, fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor,); + 'transaction', + fixture.exception, + fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); }); test('throwing batch throws error span', () async { @@ -315,8 +356,11 @@ void main() { // We need to move it inside the try/catch becaue SentryTransactionExecutor // starts beginTransaction() directly after init final SentryTransactionExecutor transactionExecutor = - SentryTransactionExecutor(mockTransactionExecutor, fixture.hub, - dbName: Fixture.dbName,); + SentryTransactionExecutor( + mockTransactionExecutor, + fixture.hub, + dbName: Fixture.dbName, + ); when(fixture.mockLazyDatabase.beginTransaction()) .thenReturn(transactionExecutor); @@ -329,8 +373,11 @@ void main() { } verifyErrorSpan( - 'transaction', fixture.exception, fixture.getCreatedSpan(), - origin: SentryTraceOrigins.autoDbDriftTransactionExecutor,); + 'transaction', + fixture.exception, + fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); }); test('throwing close throws error span', () async { @@ -360,8 +407,11 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan('open', fixture.exception, - fixture.getCreatedSpanByDescription('open'),); + verifyErrorSpan( + 'open', + fixture.exception, + fixture.getCreatedSpanByDescription('open'), + ); }); test('throwing runDelete throws error span', () async { @@ -413,9 +463,13 @@ class Fixture { executor.setHub(hub); return executor; } else { - return SentryQueryExecutor(() { - return NativeDatabase.memory(); - }, hub: hub, databaseName: dbName,); + return SentryQueryExecutor( + () { + return NativeDatabase.memory(); + }, + hub: hub, + databaseName: dbName, + ); } } } From eeea2991eb2149f4e07ffe18e18c211f1a7869cf Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 6 Nov 2023 15:30:11 +0100 Subject: [PATCH 15/72] Add example --- drift/example/database.dart | 28 ++++ drift/example/database.g.dart | 269 ++++++++++++++++++++++++++++++++++ drift/example/example.dart | 45 ++++++ 3 files changed, 342 insertions(+) create mode 100644 drift/example/database.dart create mode 100644 drift/example/database.g.dart create mode 100644 drift/example/example.dart diff --git a/drift/example/database.dart b/drift/example/database.dart new file mode 100644 index 0000000000..08afa45250 --- /dev/null +++ b/drift/example/database.dart @@ -0,0 +1,28 @@ +import 'dart:io'; + +import 'package:drift/drift.dart'; +import 'package:drift/native.dart'; + +part 'database.g.dart'; + +class TodoItems extends Table { + IntColumn get id => integer().autoIncrement()(); + TextColumn get title => text().withLength(min: 6, max: 32)(); + TextColumn get content => text().named('body')(); + IntColumn get category => integer().nullable()(); +} + +@DriftDatabase(tables: [TodoItems]) +class AppDatabase extends _$AppDatabase { + AppDatabase() : super(_openConnection()); + + @override + int get schemaVersion => 1; +} + +LazyDatabase _openConnection() { + // the LazyDatabase util lets us find the right location for the file async. + return LazyDatabase(() async { + return NativeDatabase.memory(); + }); +} diff --git a/drift/example/database.g.dart b/drift/example/database.g.dart new file mode 100644 index 0000000000..1f9d234456 --- /dev/null +++ b/drift/example/database.g.dart @@ -0,0 +1,269 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'database.dart'; + +// ignore_for_file: type=lint +class $TodoItemsTable extends TodoItems + with TableInfo<$TodoItemsTable, TodoItem> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $TodoItemsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); + static const VerificationMeta _titleMeta = const VerificationMeta('title'); + @override + late final GeneratedColumn title = GeneratedColumn( + 'title', aliasedName, false, + additionalChecks: + GeneratedColumn.checkTextLength(minTextLength: 6, maxTextLength: 32), + type: DriftSqlType.string, + requiredDuringInsert: true); + static const VerificationMeta _contentMeta = + const VerificationMeta('content'); + @override + late final GeneratedColumn content = GeneratedColumn( + 'body', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + static const VerificationMeta _categoryMeta = + const VerificationMeta('category'); + @override + late final GeneratedColumn category = GeneratedColumn( + 'category', aliasedName, true, + type: DriftSqlType.int, requiredDuringInsert: false); + @override + List get $columns => [id, title, content, category]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'todo_items'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('title')) { + context.handle( + _titleMeta, title.isAcceptableOrUnknown(data['title']!, _titleMeta)); + } else if (isInserting) { + context.missing(_titleMeta); + } + if (data.containsKey('body')) { + context.handle(_contentMeta, + content.isAcceptableOrUnknown(data['body']!, _contentMeta)); + } else if (isInserting) { + context.missing(_contentMeta); + } + if (data.containsKey('category')) { + context.handle(_categoryMeta, + category.isAcceptableOrUnknown(data['category']!, _categoryMeta)); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + TodoItem map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return TodoItem( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + title: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}title'])!, + content: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}body'])!, + category: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}category']), + ); + } + + @override + $TodoItemsTable createAlias(String alias) { + return $TodoItemsTable(attachedDatabase, alias); + } +} + +class TodoItem extends DataClass implements Insertable { + final int id; + final String title; + final String content; + final int? category; + const TodoItem( + {required this.id, + required this.title, + required this.content, + this.category}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['title'] = Variable(title); + map['body'] = Variable(content); + if (!nullToAbsent || category != null) { + map['category'] = Variable(category); + } + return map; + } + + TodoItemsCompanion toCompanion(bool nullToAbsent) { + return TodoItemsCompanion( + id: Value(id), + title: Value(title), + content: Value(content), + category: category == null && nullToAbsent + ? const Value.absent() + : Value(category), + ); + } + + factory TodoItem.fromJson(Map json, + {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return TodoItem( + id: serializer.fromJson(json['id']), + title: serializer.fromJson(json['title']), + content: serializer.fromJson(json['content']), + category: serializer.fromJson(json['category']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'title': serializer.toJson(title), + 'content': serializer.toJson(content), + 'category': serializer.toJson(category), + }; + } + + TodoItem copyWith( + {int? id, + String? title, + String? content, + Value category = const Value.absent()}) => + TodoItem( + id: id ?? this.id, + title: title ?? this.title, + content: content ?? this.content, + category: category.present ? category.value : this.category, + ); + @override + String toString() { + return (StringBuffer('TodoItem(') + ..write('id: $id, ') + ..write('title: $title, ') + ..write('content: $content, ') + ..write('category: $category') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, title, content, category); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is TodoItem && + other.id == this.id && + other.title == this.title && + other.content == this.content && + other.category == this.category); +} + +class TodoItemsCompanion extends UpdateCompanion { + final Value id; + final Value title; + final Value content; + final Value category; + const TodoItemsCompanion({ + this.id = const Value.absent(), + this.title = const Value.absent(), + this.content = const Value.absent(), + this.category = const Value.absent(), + }); + TodoItemsCompanion.insert({ + this.id = const Value.absent(), + required String title, + required String content, + this.category = const Value.absent(), + }) : title = Value(title), + content = Value(content); + static Insertable custom({ + Expression? id, + Expression? title, + Expression? content, + Expression? category, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (title != null) 'title': title, + if (content != null) 'body': content, + if (category != null) 'category': category, + }); + } + + TodoItemsCompanion copyWith( + {Value? id, + Value? title, + Value? content, + Value? category}) { + return TodoItemsCompanion( + id: id ?? this.id, + title: title ?? this.title, + content: content ?? this.content, + category: category ?? this.category, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (title.present) { + map['title'] = Variable(title.value); + } + if (content.present) { + map['body'] = Variable(content.value); + } + if (category.present) { + map['category'] = Variable(category.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('TodoItemsCompanion(') + ..write('id: $id, ') + ..write('title: $title, ') + ..write('content: $content, ') + ..write('category: $category') + ..write(')')) + .toString(); + } +} + +abstract class _$AppDatabase extends GeneratedDatabase { + _$AppDatabase(QueryExecutor e) : super(e); + late final $TodoItemsTable todoItems = $TodoItemsTable(this); + @override + Iterable> get allTables => + allSchemaEntities.whereType>(); + @override + List get allSchemaEntities => [todoItems]; +} diff --git a/drift/example/example.dart b/drift/example/example.dart new file mode 100644 index 0000000000..2342cf946f --- /dev/null +++ b/drift/example/example.dart @@ -0,0 +1,45 @@ +import 'package:drift/drift.dart'; +import 'package:drift/native.dart'; +import 'package:sentry/sentry.dart'; +import 'package:sentry_drift/sentry_drift.dart'; + +import '../test/test_database.dart'; + +Future main() async { + // ATTENTION: Change the DSN below with your own to see the events in Sentry. Get one at sentry.io + const dsn = + 'https://e85b375ffb9f43cf8bdf9787768149e0@o447951.ingest.sentry.io/5428562'; + + await Sentry.init( + (options) { + options.dsn = dsn; + options.tracesSampleRate = 1.0; + options.debug = true; + }, + appRunner: runApp, // Init your App. + ); +} + +Future runApp() async { + final tr = + Sentry.startTransaction('drift', 'op', bindToScope: true); + final executor = SentryQueryExecutor( + () => NativeDatabase.memory(), + databaseName: 'my_db_name', + ); + final db = AppDatabase(executor); + + await db.into(db.todoItems).insert( + TodoItemsCompanion.insert( + title: 'This is a test thing', + content: 'test', + ), + ); + + final items = await db.select(db.todoItems).get(); + print(items); + + await db.close(); + + await tr.finish(status: const SpanStatus.ok()); +} From 2a108fe5bb85026aba6000f5c27ab46d5f44ab22 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 09:53:46 +0100 Subject: [PATCH 16/72] Update descriptions --- drift/README.md | 73 ++++++++++++++++++++++++ drift/lib/src/sentry_query_executor.dart | 18 +++--- drift/test/sentry_database_test.dart | 44 +++++++++----- 3 files changed, 112 insertions(+), 23 deletions(-) create mode 100644 drift/README.md diff --git a/drift/README.md b/drift/README.md new file mode 100644 index 0000000000..4255e1bb76 --- /dev/null +++ b/drift/README.md @@ -0,0 +1,73 @@ +

+ + + +
+

+ +Sentry integration for `drift` package +=========== + +- Sign up for a Sentry.io account and get a DSN at https://sentry.io. + +- Follow the installing instructions on [pub.dev](https://pub.dev/packages/sentry/install). + +- Initialize the Sentry SDK using the DSN issued by Sentry.io. + +- Call... + +```dart +import 'package:drift/drift.dart'; +import 'package:drift/native.dart'; +import 'package:sentry/sentry.dart'; +import 'package:sentry_drift/sentry_drift.dart'; + +import '../test/test_database.dart'; + +Future main() async { + // ATTENTION: Change the DSN below with your own to see the events in Sentry. Get one at sentry.io + const dsn = + 'https://e85b375ffb9f43cf8bdf9787768149e0@o447951.ingest.sentry.io/5428562'; + + await Sentry.init( + (options) { + options.dsn = dsn; + options.tracesSampleRate = 1.0; + options.debug = true; + }, + appRunner: runApp, // Init your App. + ); +} + +Future runApp() async { + final tr = + Sentry.startTransaction('drift', 'op', bindToScope: true); + final executor = SentryQueryExecutor( + () => NativeDatabase.memory(), + databaseName: 'my_db_name', + ); + final db = AppDatabase(executor); + + await db.into(db.todoItems).insert( + TodoItemsCompanion.insert( + title: 'This is a test thing', + content: 'test', + ), + ); + + final items = await db.select(db.todoItems).get(); + print(items); + + await db.close(); + + await tr.finish(status: const SpanStatus.ok()); +} +``` + +#### Resources + +* [![Documentation](https://img.shields.io/badge/documentation-sentry.io-green.svg)](https://docs.sentry.io/platforms/dart/) +* [![Forum](https://img.shields.io/badge/forum-sentry-green.svg)](https://forum.sentry.io/c/sdks) +* [![Discord](https://img.shields.io/discord/621778831602221064)](https://discord.gg/Ww9hbqr) +* [![Stack Overflow](https://img.shields.io/badge/stack%20overflow-sentry-green.svg)](https://stackoverflow.com/questions/tagged/sentry) +* [![Twitter Follow](https://img.shields.io/twitter/follow/getsentry?label=getsentry&style=social)](https://twitter.com/intent/follow?screen_name=getsentry) diff --git a/drift/lib/src/sentry_query_executor.dart b/drift/lib/src/sentry_query_executor.dart index d69b3e4e5a..35aca1f931 100644 --- a/drift/lib/src/sentry_query_executor.dart +++ b/drift/lib/src/sentry_query_executor.dart @@ -25,7 +25,7 @@ class SentryQueryExecutor extends QueryExecutor { final QueryExecutor _queryExecutor; - final String? _dbName; + final String _dbName; @internal // ignore: public_member_api_docs @@ -77,7 +77,7 @@ class SentryQueryExecutor extends QueryExecutor { @override Future runBatched(BatchedStatements statements) { return _spanHelper.asyncWrapInSpan( - 'batch', + statements.toString(), () async { return await _queryExecutor.runBatched(statements); }, @@ -88,7 +88,7 @@ class SentryQueryExecutor extends QueryExecutor { @override Future ensureOpen(QueryExecutorUser user) { return _spanHelper.asyncWrapInSpan( - 'open', + 'Open DB: $_dbName', () async { return await _queryExecutor.ensureOpen(user); }, @@ -99,7 +99,7 @@ class SentryQueryExecutor extends QueryExecutor { @override Future runCustom(String statement, [List? args]) { return _spanHelper.asyncWrapInSpan( - 'custom', + statement, () async { return await _queryExecutor.runCustom(statement, args); }, @@ -110,7 +110,7 @@ class SentryQueryExecutor extends QueryExecutor { @override Future runDelete(String statement, List args) { return _spanHelper.asyncWrapInSpan( - 'delete', + statement, () async { return await _queryExecutor.runDelete(statement, args); }, @@ -121,7 +121,7 @@ class SentryQueryExecutor extends QueryExecutor { @override Future runInsert(String statement, List args) { return _spanHelper.asyncWrapInSpan( - 'insert', + statement, () async { return await _queryExecutor.runInsert(statement, args); }, @@ -135,7 +135,7 @@ class SentryQueryExecutor extends QueryExecutor { List args, ) { return _spanHelper.asyncWrapInSpan( - 'select', + statement, () async { return await _queryExecutor.runSelect(statement, args); }, @@ -146,7 +146,7 @@ class SentryQueryExecutor extends QueryExecutor { @override Future runUpdate(String statement, List args) { return _spanHelper.asyncWrapInSpan( - 'update', + statement, () async { return await _queryExecutor.runUpdate(statement, args); }, @@ -157,7 +157,7 @@ class SentryQueryExecutor extends QueryExecutor { @override Future close() { return _spanHelper.asyncWrapInSpan( - 'close', + 'Close DB: $_dbName', () async { return await _queryExecutor.close(); }, diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 4b37910d79..52d40a8684 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -15,6 +15,13 @@ import 'mocks/mocks.mocks.dart'; import 'test_database.dart'; void main() { + final expectedInsertStatement = 'INSERT INTO "todo_items" ("title", "body") VALUES (?, ?)'; + final expectedUpdateStatement = 'UPDATE "todo_items" SET "title" = ?, "body" = ? WHERE "title" = ?;'; + final expectedSelectStatement = 'SELECT * FROM todo_items'; + final expectedDeleteStatement = 'DELETE FROM "todo_items";'; + final expectedCloseStatement = 'Close DB: ${Fixture.dbName}'; + final expectedOpenStatement = 'Open DB: ${Fixture.dbName}'; + void verifySpan( String description, SentrySpan? span, { @@ -118,7 +125,7 @@ void main() { await insertRow(sut); - verifySpan('insert', fixture.getCreatedSpan()); + verifySpan(expectedInsertStatement, fixture.getCreatedSpan()); }); test('update adds span', () async { @@ -127,7 +134,7 @@ void main() { await insertRow(sut); await updateRow(sut); - verifySpan('update', fixture.getCreatedSpan()); + verifySpan(expectedUpdateStatement, fixture.getCreatedSpan()); }); test('custom adds span', () async { @@ -135,7 +142,16 @@ void main() { await sut.customStatement('SELECT * FROM todo_items'); - verifySpan('custom', fixture.getCreatedSpan()); + verifySpan(expectedSelectStatement, fixture.getCreatedSpan()); + }); + + test('delete adds span', () async { + final sut = fixture.sut; + + await insertRow(sut); + await fixture.sut.delete(fixture.sut.todoItems).go(); + + verifySpan(expectedDeleteStatement, fixture.getCreatedSpan()); }); test('transaction adds span', () async { @@ -189,7 +205,7 @@ void main() { await sut.close(); - verifySpan('close', fixture.getCreatedSpan()); + verifySpan('Close DB: ${Fixture.dbName}', fixture.getCreatedSpan()); }); test('open adds span', () async { @@ -199,7 +215,7 @@ void main() { // create a span until it is actually used. await sut.select(sut.todoItems).get(); - verifySpan('open', fixture.getCreatedSpanByDescription('open')); + verifySpan(expectedOpenStatement, fixture.getCreatedSpanByDescription(expectedOpenStatement)); }); }); @@ -254,7 +270,7 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan('insert', fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan(expectedInsertStatement, fixture.exception, fixture.getCreatedSpan()); }); }); @@ -285,7 +301,7 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan('insert', fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan(expectedInsertStatement, fixture.exception, fixture.getCreatedSpan()); }); test('throwing runUpdate throws error span', () async { @@ -298,7 +314,7 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan('update', fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan(expectedUpdateStatement, fixture.exception, fixture.getCreatedSpan()); }); test('throwing runCustom throws error span', () async { @@ -311,7 +327,7 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan('custom', fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan(expectedSelectStatement, fixture.exception, fixture.getCreatedSpan()); }); test('throwing transaction throws error span', () async { @@ -392,7 +408,7 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan('close', fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan(expectedCloseStatement, fixture.exception, fixture.getCreatedSpan()); when(fixture.mockLazyDatabase.close()).thenAnswer((_) => Future.value()); }); @@ -408,9 +424,9 @@ void main() { } verifyErrorSpan( - 'open', + expectedOpenStatement, fixture.exception, - fixture.getCreatedSpanByDescription('open'), + fixture.getCreatedSpanByDescription(expectedOpenStatement), ); }); @@ -424,7 +440,7 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan('delete', fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan(expectedDeleteStatement, fixture.exception, fixture.getCreatedSpan()); }); }); } @@ -465,7 +481,7 @@ class Fixture { } else { return SentryQueryExecutor( () { - return NativeDatabase.memory(); + return NativeDatabase. memory(); }, hub: hub, databaseName: dbName, From 3ae85fefbd0a7d5089592f10013f6238b3bda740 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 09:56:54 +0100 Subject: [PATCH 17/72] Fix deps --- drift/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift/pubspec.yaml b/drift/pubspec.yaml index 0c78d7fdd5..3148fd321b 100644 --- a/drift/pubspec.yaml +++ b/drift/pubspec.yaml @@ -11,7 +11,6 @@ environment: dependencies: sentry: 7.12.0 meta: ^1.3.0 - drift: ^2.13.0 dev_dependencies: @@ -22,3 +21,4 @@ dev_dependencies: build_runner: ^2.4.6 drift_dev: ^2.13.0 yaml: ^3.1.0 # needed for version match (code and pubspec) + sqlite3_flutter_libs: ^0.5.0 From f077e06c83b6a7b88197e56213f005995acd2097 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 10:01:04 +0100 Subject: [PATCH 18/72] Update run commands --- .github/workflows/drift.yml | 5 +- drift/coverage/lcov.info | 143 ++++++++++++++++++++++++++++++++++++ 2 files changed, 145 insertions(+), 3 deletions(-) create mode 100644 drift/coverage/lcov.info diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 4551d38486..9f789b7288 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -48,9 +48,8 @@ jobs: - name: Test VM run: | - dart pub get - dart test -p vm --coverage=coverage --test-randomize-ordering-seed=random --chain-stack-traces - dart pub run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info --packages=.dart_tool/package_config.json --report-on=lib + flutter pub get + flutter test --coverage --test-randomize-ordering-seed=random - uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # pin@v3 if: runner.os == 'Linux' && matrix.sdk == 'stable' diff --git a/drift/coverage/lcov.info b/drift/coverage/lcov.info new file mode 100644 index 0000000000..ccc77e6b75 --- /dev/null +++ b/drift/coverage/lcov.info @@ -0,0 +1,143 @@ +SF:lib/src/sentry_query_executor.dart +DA:49,1 +DA:54,1 +DA:56,1 +DA:57,3 +DA:61,1 +DA:63,1 +DA:64,2 +DA:67,1 +DA:69,2 +DA:70,1 +DA:72,1 +DA:73,1 +DA:77,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:84,0 +DA:88,1 +DA:90,2 +DA:91,2 +DA:92,1 +DA:93,2 +DA:95,1 +DA:99,1 +DA:101,2 +DA:103,1 +DA:104,2 +DA:106,1 +DA:110,1 +DA:112,2 +DA:114,1 +DA:115,2 +DA:117,1 +DA:121,1 +DA:123,2 +DA:125,1 +DA:126,2 +DA:128,1 +DA:132,1 +DA:137,2 +DA:139,1 +DA:140,2 +DA:142,1 +DA:146,1 +DA:148,2 +DA:150,1 +DA:151,2 +DA:153,1 +DA:157,1 +DA:159,2 +DA:160,2 +DA:161,1 +DA:162,2 +DA:164,1 +DA:168,1 +DA:169,2 +LF:57 +LH:51 +end_of_record +SF:lib/src/sentry_transaction_executor.dart +DA:21,1 +DA:24,3 +DA:25,1 +DA:28,1 +DA:30,2 +DA:32,1 +DA:33,2 +DA:35,1 +DA:39,1 +DA:41,3 +DA:42,2 +DA:46,1 +DA:48,3 +DA:49,2 +DA:53,1 +DA:54,2 +DA:56,1 +DA:58,2 +DA:61,1 +DA:63,2 +DA:65,1 +DA:66,2 +DA:68,1 +DA:72,0 +DA:74,0 +DA:77,0 +DA:79,0 +DA:82,1 +DA:84,2 +DA:87,0 +DA:92,0 +DA:95,0 +DA:97,0 +DA:100,0 +DA:101,0 +LF:35 +LH:25 +end_of_record +SF:lib/src/sentry_span_helper.dart +DA:17,1 +DA:20,1 +DA:21,1 +DA:25,1 +DA:31,2 +DA:32,1 +DA:38,2 +DA:40,1 +DA:46,1 +DA:50,1 +DA:51,2 +DA:55,1 +DA:56,2 +DA:60,1 +DA:69,1 +DA:75,2 +DA:76,1 +DA:82,2 +DA:84,1 +DA:90,1 +DA:94,1 +DA:95,2 +DA:99,1 +DA:100,2 +DA:104,1 +DA:109,1 +DA:115,1 +DA:116,3 +DA:120,0 +DA:121,0 +DA:125,2 +DA:126,1 +DA:131,1 +DA:137,1 +DA:138,3 +DA:142,0 +DA:143,0 +DA:147,2 +DA:148,1 +LF:39 +LH:35 +end_of_record From 084503ac8c3cd6ba96ce0b816b576d89a8f0c307 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 10:04:47 +0100 Subject: [PATCH 19/72] Update workflow --- .github/workflows/drift.yml | 40 +++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 9f789b7288..d255655fb4 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -36,15 +36,47 @@ jobs: os: [ubuntu-latest, windows-latest, macos-latest] sdk: [stable, beta] exclude: + - os: ubuntu-latest + target: ios + - os: ubuntu-latest + target: macos + - os: ubuntu-latest + target: windows - os: windows-latest - sdk: beta + target: ios + - os: windows-latest + target: android + - os: windows-latest + target: macos + - os: windows-latest + target: linux + # macos-latest is taking hours due to limited resources + - os: macos-latest + target: android + - os: macos-latest + target: linux + - os: macos-latest + target: windows + # Bad CPU type in executable - os: macos-latest sdk: beta + steps: - - uses: dart-lang/setup-dart@6a218f2413a3e78e9087f638a238f6b40893203d # pin@v1 + - uses: actions/checkout@v4 + + # Install required dependencies for Flutter on Linux on Ubuntu + - name: "Setup Linux" + run: | + sudo apt update + sudo apt install -y cmake dbus libblkid-dev libgtk-3-dev liblzma-dev ninja-build pkg-config xvfb + sudo apt install -y network-manager upower + if: matrix.os == 'ubuntu-latest' && matrix.target == 'linux' + + - uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa # pin@v2.10.0 with: - sdk: ${{ matrix.sdk }} - - uses: actions/checkout@v3 + channel: ${{ matrix.sdk }} + + - run: flutter upgrade - name: Test VM run: | From 36bc1fa885ba0854e92aac68675cb6901dd5ec52 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 10:10:09 +0100 Subject: [PATCH 20/72] Update example --- drift/example/example.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift/example/example.dart b/drift/example/example.dart index 2342cf946f..0f337f39c9 100644 --- a/drift/example/example.dart +++ b/drift/example/example.dart @@ -25,7 +25,7 @@ Future runApp() async { Sentry.startTransaction('drift', 'op', bindToScope: true); final executor = SentryQueryExecutor( () => NativeDatabase.memory(), - databaseName: 'my_db_name', + databaseName: 'your_db_name', ); final db = AppDatabase(executor); From a598fdb4470df9653470f46925eb9cd2b458f658 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 10:12:27 +0100 Subject: [PATCH 21/72] Update workflow --- .github/workflows/drift.yml | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index d255655fb4..8b492cfea5 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -11,19 +11,19 @@ on: - "flutter/**" - "dio/**" - "file/**" - - "sqflite/**" + - "drift/**" jobs: cancel-previous-workflow: runs-on: ubuntu-latest steps: - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 # pin@0.11.0 + uses: styfle/cancel-workflow-action@01ce38bf961b4e243a6342cbade0dbc8ba3f0432 # pin@0.12.0 with: access_token: ${{ github.token }} build: - name: Build ${{matrix.sdk}} on ${{matrix.os}} + name: ${{ matrix.target }} | ${{ matrix.os }} | ${{ matrix.sdk }} runs-on: ${{ matrix.os }} timeout-minutes: 30 defaults: @@ -34,7 +34,8 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - sdk: [stable, beta] + target: ["ios", "android", "macos", "linux", "windows"] + sdk: ["stable", "beta"] exclude: - os: ubuntu-latest target: ios @@ -64,6 +65,12 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: actions/setup-java@v3 + if: ${{ matrix.target == 'android' }} + with: + java-version: "11" + distribution: "adopt" + # Install required dependencies for Flutter on Linux on Ubuntu - name: "Setup Linux" run: | @@ -78,25 +85,29 @@ jobs: - run: flutter upgrade - - name: Test VM + - name: Pub Get run: | flutter pub get + + - name: Test VM with coverage + run: | flutter test --coverage --test-randomize-ordering-seed=random - - uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # pin@v3 - if: runner.os == 'Linux' && matrix.sdk == 'stable' + - uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # pin@v3 + if: runner.os == 'Linux' && matrix.sdk == 'stable' && matrix.target == 'linux' with: name: sentry_drift - files: ./drift/coverage/lcov.info + file: ./drift/coverage/lcov.info + functionalities: "search" # remove after https://github.com/codecov/codecov-action/issues/600 - uses: VeryGoodOpenSource/very_good_coverage@e5c91bc7ce9843e87c800b3bcafdfb86fbe28491 # pin@v2.1.0 - if: runner.os == 'Linux' && matrix.sdk == 'stable' + if: runner.os == 'Linux' && matrix.sdk == 'stable' && matrix.target == 'linux' with: path: "./drift/coverage/lcov.info" - min_coverage: 55 + min_coverage: 80 analyze: uses: ./.github/workflows/analyze.yml with: package: drift - panaThreshold: 90 \ No newline at end of file + sdk: flutter From 9f93206f553d553c4cab5d70ac0343d14f8f0000 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 10:15:16 +0100 Subject: [PATCH 22/72] Format --- drift/example/example.dart | 3 +-- drift/test/sentry_database_test.dart | 29 ++++++++++++++++++---------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/drift/example/example.dart b/drift/example/example.dart index 0f337f39c9..6f8f3a9f27 100644 --- a/drift/example/example.dart +++ b/drift/example/example.dart @@ -21,8 +21,7 @@ Future main() async { } Future runApp() async { - final tr = - Sentry.startTransaction('drift', 'op', bindToScope: true); + final tr = Sentry.startTransaction('drift', 'op', bindToScope: true); final executor = SentryQueryExecutor( () => NativeDatabase.memory(), databaseName: 'your_db_name', diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 52d40a8684..63578e9da2 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -15,8 +15,10 @@ import 'mocks/mocks.mocks.dart'; import 'test_database.dart'; void main() { - final expectedInsertStatement = 'INSERT INTO "todo_items" ("title", "body") VALUES (?, ?)'; - final expectedUpdateStatement = 'UPDATE "todo_items" SET "title" = ?, "body" = ? WHERE "title" = ?;'; + final expectedInsertStatement = + 'INSERT INTO "todo_items" ("title", "body") VALUES (?, ?)'; + final expectedUpdateStatement = + 'UPDATE "todo_items" SET "title" = ?, "body" = ? WHERE "title" = ?;'; final expectedSelectStatement = 'SELECT * FROM todo_items'; final expectedDeleteStatement = 'DELETE FROM "todo_items";'; final expectedCloseStatement = 'Close DB: ${Fixture.dbName}'; @@ -215,7 +217,8 @@ void main() { // create a span until it is actually used. await sut.select(sut.todoItems).get(); - verifySpan(expectedOpenStatement, fixture.getCreatedSpanByDescription(expectedOpenStatement)); + verifySpan(expectedOpenStatement, + fixture.getCreatedSpanByDescription(expectedOpenStatement)); }); }); @@ -270,7 +273,8 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan(expectedInsertStatement, fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan( + expectedInsertStatement, fixture.exception, fixture.getCreatedSpan()); }); }); @@ -301,7 +305,8 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan(expectedInsertStatement, fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan( + expectedInsertStatement, fixture.exception, fixture.getCreatedSpan()); }); test('throwing runUpdate throws error span', () async { @@ -314,7 +319,8 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan(expectedUpdateStatement, fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan( + expectedUpdateStatement, fixture.exception, fixture.getCreatedSpan()); }); test('throwing runCustom throws error span', () async { @@ -327,7 +333,8 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan(expectedSelectStatement, fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan( + expectedSelectStatement, fixture.exception, fixture.getCreatedSpan()); }); test('throwing transaction throws error span', () async { @@ -408,7 +415,8 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan(expectedCloseStatement, fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan( + expectedCloseStatement, fixture.exception, fixture.getCreatedSpan()); when(fixture.mockLazyDatabase.close()).thenAnswer((_) => Future.value()); }); @@ -440,7 +448,8 @@ void main() { expect(exception, fixture.exception); } - verifyErrorSpan(expectedDeleteStatement, fixture.exception, fixture.getCreatedSpan()); + verifyErrorSpan( + expectedDeleteStatement, fixture.exception, fixture.getCreatedSpan()); }); }); } @@ -481,7 +490,7 @@ class Fixture { } else { return SentryQueryExecutor( () { - return NativeDatabase. memory(); + return NativeDatabase.memory(); }, hub: hub, databaseName: dbName, From f92816a177bb7ae22fab8963c6bf34d8ed4ef5b0 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 10:23:24 +0100 Subject: [PATCH 23/72] Fix dart analyze --- drift/test/sentry_database_test.dart | 61 ++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 63578e9da2..cc8059780d 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -127,7 +127,10 @@ void main() { await insertRow(sut); - verifySpan(expectedInsertStatement, fixture.getCreatedSpan()); + verifySpan( + expectedInsertStatement, + fixture.getCreatedSpan(), + ); }); test('update adds span', () async { @@ -136,7 +139,10 @@ void main() { await insertRow(sut); await updateRow(sut); - verifySpan(expectedUpdateStatement, fixture.getCreatedSpan()); + verifySpan( + expectedUpdateStatement, + fixture.getCreatedSpan(), + ); }); test('custom adds span', () async { @@ -144,7 +150,10 @@ void main() { await sut.customStatement('SELECT * FROM todo_items'); - verifySpan(expectedSelectStatement, fixture.getCreatedSpan()); + verifySpan( + expectedSelectStatement, + fixture.getCreatedSpan(), + ); }); test('delete adds span', () async { @@ -153,7 +162,10 @@ void main() { await insertRow(sut); await fixture.sut.delete(fixture.sut.todoItems).go(); - verifySpan(expectedDeleteStatement, fixture.getCreatedSpan()); + verifySpan( + expectedDeleteStatement, + fixture.getCreatedSpan(), + ); }); test('transaction adds span', () async { @@ -207,7 +219,10 @@ void main() { await sut.close(); - verifySpan('Close DB: ${Fixture.dbName}', fixture.getCreatedSpan()); + verifySpan( + 'Close DB: ${Fixture.dbName}', + fixture.getCreatedSpan(), + ); }); test('open adds span', () async { @@ -217,8 +232,10 @@ void main() { // create a span until it is actually used. await sut.select(sut.todoItems).get(); - verifySpan(expectedOpenStatement, - fixture.getCreatedSpanByDescription(expectedOpenStatement)); + verifySpan( + expectedOpenStatement, + fixture.getCreatedSpanByDescription(expectedOpenStatement), + ); }); }); @@ -274,7 +291,10 @@ void main() { } verifyErrorSpan( - expectedInsertStatement, fixture.exception, fixture.getCreatedSpan()); + expectedInsertStatement, + fixture.exception, + fixture.getCreatedSpan(), + ); }); }); @@ -306,7 +326,10 @@ void main() { } verifyErrorSpan( - expectedInsertStatement, fixture.exception, fixture.getCreatedSpan()); + expectedInsertStatement, + fixture.exception, + fixture.getCreatedSpan(), + ); }); test('throwing runUpdate throws error span', () async { @@ -320,7 +343,10 @@ void main() { } verifyErrorSpan( - expectedUpdateStatement, fixture.exception, fixture.getCreatedSpan()); + expectedUpdateStatement, + fixture.exception, + fixture.getCreatedSpan(), + ); }); test('throwing runCustom throws error span', () async { @@ -334,7 +360,10 @@ void main() { } verifyErrorSpan( - expectedSelectStatement, fixture.exception, fixture.getCreatedSpan()); + expectedSelectStatement, + fixture.exception, + fixture.getCreatedSpan(), + ); }); test('throwing transaction throws error span', () async { @@ -416,7 +445,10 @@ void main() { } verifyErrorSpan( - expectedCloseStatement, fixture.exception, fixture.getCreatedSpan()); + expectedCloseStatement, + fixture.exception, + fixture.getCreatedSpan(), + ); when(fixture.mockLazyDatabase.close()).thenAnswer((_) => Future.value()); }); @@ -449,7 +481,10 @@ void main() { } verifyErrorSpan( - expectedDeleteStatement, fixture.exception, fixture.getCreatedSpan()); + expectedDeleteStatement, + fixture.exception, + fixture.getCreatedSpan(), + ); }); }); } From b6b86509a553eb2750bbb6d162c1d609cd16cdd6 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 10:45:32 +0100 Subject: [PATCH 24/72] Try changing deps --- drift/coverage/lcov.info | 143 --------------------------------------- drift/pubspec.yaml | 2 +- 2 files changed, 1 insertion(+), 144 deletions(-) delete mode 100644 drift/coverage/lcov.info diff --git a/drift/coverage/lcov.info b/drift/coverage/lcov.info deleted file mode 100644 index ccc77e6b75..0000000000 --- a/drift/coverage/lcov.info +++ /dev/null @@ -1,143 +0,0 @@ -SF:lib/src/sentry_query_executor.dart -DA:49,1 -DA:54,1 -DA:56,1 -DA:57,3 -DA:61,1 -DA:63,1 -DA:64,2 -DA:67,1 -DA:69,2 -DA:70,1 -DA:72,1 -DA:73,1 -DA:77,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:84,0 -DA:88,1 -DA:90,2 -DA:91,2 -DA:92,1 -DA:93,2 -DA:95,1 -DA:99,1 -DA:101,2 -DA:103,1 -DA:104,2 -DA:106,1 -DA:110,1 -DA:112,2 -DA:114,1 -DA:115,2 -DA:117,1 -DA:121,1 -DA:123,2 -DA:125,1 -DA:126,2 -DA:128,1 -DA:132,1 -DA:137,2 -DA:139,1 -DA:140,2 -DA:142,1 -DA:146,1 -DA:148,2 -DA:150,1 -DA:151,2 -DA:153,1 -DA:157,1 -DA:159,2 -DA:160,2 -DA:161,1 -DA:162,2 -DA:164,1 -DA:168,1 -DA:169,2 -LF:57 -LH:51 -end_of_record -SF:lib/src/sentry_transaction_executor.dart -DA:21,1 -DA:24,3 -DA:25,1 -DA:28,1 -DA:30,2 -DA:32,1 -DA:33,2 -DA:35,1 -DA:39,1 -DA:41,3 -DA:42,2 -DA:46,1 -DA:48,3 -DA:49,2 -DA:53,1 -DA:54,2 -DA:56,1 -DA:58,2 -DA:61,1 -DA:63,2 -DA:65,1 -DA:66,2 -DA:68,1 -DA:72,0 -DA:74,0 -DA:77,0 -DA:79,0 -DA:82,1 -DA:84,2 -DA:87,0 -DA:92,0 -DA:95,0 -DA:97,0 -DA:100,0 -DA:101,0 -LF:35 -LH:25 -end_of_record -SF:lib/src/sentry_span_helper.dart -DA:17,1 -DA:20,1 -DA:21,1 -DA:25,1 -DA:31,2 -DA:32,1 -DA:38,2 -DA:40,1 -DA:46,1 -DA:50,1 -DA:51,2 -DA:55,1 -DA:56,2 -DA:60,1 -DA:69,1 -DA:75,2 -DA:76,1 -DA:82,2 -DA:84,1 -DA:90,1 -DA:94,1 -DA:95,2 -DA:99,1 -DA:100,2 -DA:104,1 -DA:109,1 -DA:115,1 -DA:116,3 -DA:120,0 -DA:121,0 -DA:125,2 -DA:126,1 -DA:131,1 -DA:137,1 -DA:138,3 -DA:142,0 -DA:143,0 -DA:147,2 -DA:148,1 -LF:39 -LH:35 -end_of_record diff --git a/drift/pubspec.yaml b/drift/pubspec.yaml index 3148fd321b..3e17ae12e7 100644 --- a/drift/pubspec.yaml +++ b/drift/pubspec.yaml @@ -12,6 +12,7 @@ dependencies: sentry: 7.12.0 meta: ^1.3.0 drift: ^2.13.0 + sqlite3_flutter_libs: ^0.5.0 dev_dependencies: lints: ^3.0.0 @@ -21,4 +22,3 @@ dev_dependencies: build_runner: ^2.4.6 drift_dev: ^2.13.0 yaml: ^3.1.0 # needed for version match (code and pubspec) - sqlite3_flutter_libs: ^0.5.0 From 3e7f989383adf67b1a591af9c848a283a9989d12 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 10:50:38 +0100 Subject: [PATCH 25/72] Add to craft --- .craft.yml | 3 +++ drift/pubspec.yaml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.craft.yml b/.craft.yml index 94d538b336..86a17de736 100644 --- a/.craft.yml +++ b/.craft.yml @@ -11,6 +11,7 @@ targets: dio: file: sqflite: + drift: - name: github - name: registry sdks: @@ -20,3 +21,5 @@ targets: pub:sentry_dio: pub:sentry_file: pub:sentry_sqflite: + # This needs to be added to the Sentry registry before uncommenting + # pub:sentry_drift: diff --git a/drift/pubspec.yaml b/drift/pubspec.yaml index 3e17ae12e7..dda7b49bb6 100644 --- a/drift/pubspec.yaml +++ b/drift/pubspec.yaml @@ -12,7 +12,6 @@ dependencies: sentry: 7.12.0 meta: ^1.3.0 drift: ^2.13.0 - sqlite3_flutter_libs: ^0.5.0 dev_dependencies: lints: ^3.0.0 @@ -22,3 +21,4 @@ dev_dependencies: build_runner: ^2.4.6 drift_dev: ^2.13.0 yaml: ^3.1.0 # needed for version match (code and pubspec) + sqlite3_flutter_libs: ^0.5.0 \ No newline at end of file From 8443c422544f40dda141cee98360937d7a9c7955 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 10:52:50 +0100 Subject: [PATCH 26/72] Change to flutter test --- drift/pubspec.yaml | 4 +++- drift/test/sentry_database_test.dart | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drift/pubspec.yaml b/drift/pubspec.yaml index dda7b49bb6..b456982cf4 100644 --- a/drift/pubspec.yaml +++ b/drift/pubspec.yaml @@ -7,6 +7,7 @@ issue_tracker: https://github.com/getsentry/sentry-dart/issues environment: sdk: '>=2.17.0 <4.0.0' + flutter: '>=3.3.0' dependencies: sentry: 7.12.0 @@ -15,7 +16,8 @@ dependencies: dev_dependencies: lints: ^3.0.0 - test: ^1.21.0 + flutter_test: + sdk: flutter coverage: ^1.3.0 mockito: ^5.1.0 build_runner: ^2.4.6 diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index cc8059780d..4d8d652318 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -3,13 +3,12 @@ @TestOn('vm') import 'package:drift/drift.dart'; import 'package:drift/native.dart'; +import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart'; import 'package:sentry/sentry.dart'; import 'package:sentry/src/sentry_tracer.dart'; import 'package:sentry_drift/src/sentry_query_executor.dart'; import 'package:sentry_drift/src/sentry_transaction_executor.dart'; -import 'package:test/expect.dart'; -import 'package:test/scaffolding.dart'; import 'mocks/mocks.mocks.dart'; import 'test_database.dart'; From a2fa7bc3f6fe31b4ebf8b0567d61f71162b714d7 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:00:45 +0100 Subject: [PATCH 27/72] Revert flutter test mock --- flutter/test/mocks.mocks.dart | 744 +++++++++++++++++----------------- 1 file changed, 372 insertions(+), 372 deletions(-) diff --git a/flutter/test/mocks.mocks.dart b/flutter/test/mocks.mocks.dart index e2807ef405..e22da7cb20 100644 --- a/flutter/test/mocks.mocks.dart +++ b/flutter/test/mocks.mocks.dart @@ -31,135 +31,135 @@ import 'mocks.dart' as _i11; class _FakeSentrySpanContext_0 extends _i1.SmartFake implements _i2.SentrySpanContext { _FakeSentrySpanContext_0( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeDateTime_1 extends _i1.SmartFake implements DateTime { _FakeDateTime_1( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeISentrySpan_2 extends _i1.SmartFake implements _i2.ISentrySpan { _FakeISentrySpan_2( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryTraceHeader_3 extends _i1.SmartFake implements _i3.SentryTraceHeader { _FakeSentryTraceHeader_3( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryTracer_4 extends _i1.SmartFake implements _i4.SentryTracer { _FakeSentryTracer_4( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryId_5 extends _i1.SmartFake implements _i3.SentryId { _FakeSentryId_5( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeContexts_6 extends _i1.SmartFake implements _i3.Contexts { _FakeContexts_6( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryTransaction_7 extends _i1.SmartFake implements _i3.SentryTransaction { _FakeSentryTransaction_7( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeMethodCodec_8 extends _i1.SmartFake implements _i5.MethodCodec { _FakeMethodCodec_8( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeBinaryMessenger_9 extends _i1.SmartFake implements _i6.BinaryMessenger { _FakeBinaryMessenger_9( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryOptions_10 extends _i1.SmartFake implements _i2.SentryOptions { _FakeSentryOptions_10( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeScope_11 extends _i1.SmartFake implements _i2.Scope { _FakeScope_11( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeHub_12 extends _i1.SmartFake implements _i2.Hub { _FakeHub_12( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } /// A class which mocks [Transport]. @@ -191,18 +191,18 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override String get name => (super.noSuchMethod( - Invocation.getter(#name), - returnValue: '', - ) as String); + Invocation.getter(#name), + returnValue: '', + ) as String); @override set name(String? _name) => super.noSuchMethod( - Invocation.setter( - #name, - _name, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #name, + _name, + ), + returnValueForMissingStub: null, + ); @override _i3.SentryTransactionNameSource get transactionNameSource => @@ -213,7 +213,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override set transactionNameSource( - _i3.SentryTransactionNameSource? _transactionNameSource) => + _i3.SentryTransactionNameSource? _transactionNameSource) => super.noSuchMethod( Invocation.setter( #transactionNameSource, @@ -224,96 +224,96 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override set profiler(_i9.SentryProfiler? _profiler) => super.noSuchMethod( - Invocation.setter( - #profiler, - _profiler, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #profiler, + _profiler, + ), + returnValueForMissingStub: null, + ); @override set profileInfo(_i9.SentryProfileInfo? _profileInfo) => super.noSuchMethod( - Invocation.setter( - #profileInfo, - _profileInfo, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #profileInfo, + _profileInfo, + ), + returnValueForMissingStub: null, + ); @override _i2.SentrySpanContext get context => (super.noSuchMethod( - Invocation.getter(#context), - returnValue: _FakeSentrySpanContext_0( - this, - Invocation.getter(#context), - ), - ) as _i2.SentrySpanContext); + Invocation.getter(#context), + returnValue: _FakeSentrySpanContext_0( + this, + Invocation.getter(#context), + ), + ) as _i2.SentrySpanContext); @override set origin(String? origin) => super.noSuchMethod( - Invocation.setter( - #origin, - origin, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #origin, + origin, + ), + returnValueForMissingStub: null, + ); @override DateTime get startTimestamp => (super.noSuchMethod( - Invocation.getter(#startTimestamp), - returnValue: _FakeDateTime_1( - this, - Invocation.getter(#startTimestamp), - ), - ) as DateTime); + Invocation.getter(#startTimestamp), + returnValue: _FakeDateTime_1( + this, + Invocation.getter(#startTimestamp), + ), + ) as DateTime); @override Map get data => (super.noSuchMethod( - Invocation.getter(#data), - returnValue: {}, - ) as Map); + Invocation.getter(#data), + returnValue: {}, + ) as Map); @override bool get finished => (super.noSuchMethod( - Invocation.getter(#finished), - returnValue: false, - ) as bool); + Invocation.getter(#finished), + returnValue: false, + ) as bool); @override List<_i3.SentrySpan> get children => (super.noSuchMethod( - Invocation.getter(#children), - returnValue: <_i3.SentrySpan>[], - ) as List<_i3.SentrySpan>); + Invocation.getter(#children), + returnValue: <_i3.SentrySpan>[], + ) as List<_i3.SentrySpan>); @override set throwable(dynamic throwable) => super.noSuchMethod( - Invocation.setter( - #throwable, - throwable, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #throwable, + throwable, + ), + returnValueForMissingStub: null, + ); @override set status(_i3.SpanStatus? status) => super.noSuchMethod( - Invocation.setter( - #status, - status, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #status, + status, + ), + returnValueForMissingStub: null, + ); @override Map get tags => (super.noSuchMethod( - Invocation.getter(#tags), - returnValue: {}, - ) as Map); + Invocation.getter(#tags), + returnValue: {}, + ) as Map); @override Map get measurements => (super.noSuchMethod( - Invocation.getter(#measurements), - returnValue: {}, - ) as Map); + Invocation.getter(#measurements), + returnValue: {}, + ) as Map); @override _i7.Future finish({ @@ -335,27 +335,27 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override void removeData(String? key) => super.noSuchMethod( - Invocation.method( - #removeData, - [key], - ), - returnValueForMissingStub: null, - ); + Invocation.method( + #removeData, + [key], + ), + returnValueForMissingStub: null, + ); @override void removeTag(String? key) => super.noSuchMethod( - Invocation.method( - #removeTag, - [key], - ), - returnValueForMissingStub: null, - ); + Invocation.method( + #removeTag, + [key], + ), + returnValueForMissingStub: null, + ); @override void setData( - String? key, - dynamic value, - ) => + String? key, + dynamic value, + ) => super.noSuchMethod( Invocation.method( #setData, @@ -369,9 +369,9 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override void setTag( - String? key, - String? value, - ) => + String? key, + String? value, + ) => super.noSuchMethod( Invocation.method( #setTag, @@ -385,10 +385,10 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override _i2.ISentrySpan startChild( - String? operation, { - String? description, - DateTime? startTimestamp, - }) => + String? operation, { + String? description, + DateTime? startTimestamp, + }) => (super.noSuchMethod( Invocation.method( #startChild, @@ -413,11 +413,11 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override _i2.ISentrySpan startChildWithParentSpanId( - _i3.SpanId? parentSpanId, - String? operation, { - String? description, - DateTime? startTimestamp, - }) => + _i3.SpanId? parentSpanId, + String? operation, { + String? description, + DateTime? startTimestamp, + }) => (super.noSuchMethod( Invocation.method( #startChildWithParentSpanId, @@ -448,25 +448,25 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override _i3.SentryTraceHeader toSentryTrace() => (super.noSuchMethod( - Invocation.method( - #toSentryTrace, - [], - ), - returnValue: _FakeSentryTraceHeader_3( - this, - Invocation.method( - #toSentryTrace, - [], - ), - ), - ) as _i3.SentryTraceHeader); + Invocation.method( + #toSentryTrace, + [], + ), + returnValue: _FakeSentryTraceHeader_3( + this, + Invocation.method( + #toSentryTrace, + [], + ), + ), + ) as _i3.SentryTraceHeader); @override void setMeasurement( - String? name, - num? value, { - _i2.SentryMeasurementUnit? unit, - }) => + String? name, + num? value, { + _i2.SentryMeasurementUnit? unit, + }) => super.noSuchMethod( Invocation.method( #setMeasurement, @@ -481,12 +481,12 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override void scheduleFinish() => super.noSuchMethod( - Invocation.method( - #scheduleFinish, - [], - ), - returnValueForMissingStub: null, - ); + Invocation.method( + #scheduleFinish, + [], + ), + returnValueForMissingStub: null, + ); } /// A class which mocks [SentryTransaction]. @@ -500,51 +500,51 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { @override DateTime get startTimestamp => (super.noSuchMethod( - Invocation.getter(#startTimestamp), - returnValue: _FakeDateTime_1( - this, - Invocation.getter(#startTimestamp), - ), - ) as DateTime); + Invocation.getter(#startTimestamp), + returnValue: _FakeDateTime_1( + this, + Invocation.getter(#startTimestamp), + ), + ) as DateTime); @override set startTimestamp(DateTime? _startTimestamp) => super.noSuchMethod( - Invocation.setter( - #startTimestamp, - _startTimestamp, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #startTimestamp, + _startTimestamp, + ), + returnValueForMissingStub: null, + ); @override List<_i3.SentrySpan> get spans => (super.noSuchMethod( - Invocation.getter(#spans), - returnValue: <_i3.SentrySpan>[], - ) as List<_i3.SentrySpan>); + Invocation.getter(#spans), + returnValue: <_i3.SentrySpan>[], + ) as List<_i3.SentrySpan>); @override set spans(List<_i3.SentrySpan>? _spans) => super.noSuchMethod( - Invocation.setter( - #spans, - _spans, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #spans, + _spans, + ), + returnValueForMissingStub: null, + ); @override _i4.SentryTracer get tracer => (super.noSuchMethod( - Invocation.getter(#tracer), - returnValue: _FakeSentryTracer_4( - this, - Invocation.getter(#tracer), - ), - ) as _i4.SentryTracer); + Invocation.getter(#tracer), + returnValue: _FakeSentryTracer_4( + this, + Invocation.getter(#tracer), + ), + ) as _i4.SentryTracer); @override Map get measurements => (super.noSuchMethod( - Invocation.getter(#measurements), - returnValue: {}, - ) as Map); + Invocation.getter(#measurements), + returnValue: {}, + ) as Map); @override set measurements(Map? _measurements) => @@ -568,42 +568,42 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { @override bool get finished => (super.noSuchMethod( - Invocation.getter(#finished), - returnValue: false, - ) as bool); + Invocation.getter(#finished), + returnValue: false, + ) as bool); @override bool get sampled => (super.noSuchMethod( - Invocation.getter(#sampled), - returnValue: false, - ) as bool); + Invocation.getter(#sampled), + returnValue: false, + ) as bool); @override _i3.SentryId get eventId => (super.noSuchMethod( - Invocation.getter(#eventId), - returnValue: _FakeSentryId_5( - this, - Invocation.getter(#eventId), - ), - ) as _i3.SentryId); + Invocation.getter(#eventId), + returnValue: _FakeSentryId_5( + this, + Invocation.getter(#eventId), + ), + ) as _i3.SentryId); @override _i3.Contexts get contexts => (super.noSuchMethod( - Invocation.getter(#contexts), - returnValue: _FakeContexts_6( - this, - Invocation.getter(#contexts), - ), - ) as _i3.Contexts); + Invocation.getter(#contexts), + returnValue: _FakeContexts_6( + this, + Invocation.getter(#contexts), + ), + ) as _i3.Contexts); @override Map toJson() => (super.noSuchMethod( - Invocation.method( - #toJson, - [], - ), - returnValue: {}, - ) as Map); + Invocation.method( + #toJson, + [], + ), + returnValue: {}, + ) as Map); @override _i3.SentryTransaction copyWith({ @@ -721,33 +721,33 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { @override String get name => (super.noSuchMethod( - Invocation.getter(#name), - returnValue: '', - ) as String); + Invocation.getter(#name), + returnValue: '', + ) as String); @override _i5.MethodCodec get codec => (super.noSuchMethod( - Invocation.getter(#codec), - returnValue: _FakeMethodCodec_8( - this, - Invocation.getter(#codec), - ), - ) as _i5.MethodCodec); + Invocation.getter(#codec), + returnValue: _FakeMethodCodec_8( + this, + Invocation.getter(#codec), + ), + ) as _i5.MethodCodec); @override _i6.BinaryMessenger get binaryMessenger => (super.noSuchMethod( - Invocation.getter(#binaryMessenger), - returnValue: _FakeBinaryMessenger_9( - this, - Invocation.getter(#binaryMessenger), - ), - ) as _i6.BinaryMessenger); + Invocation.getter(#binaryMessenger), + returnValue: _FakeBinaryMessenger_9( + this, + Invocation.getter(#binaryMessenger), + ), + ) as _i6.BinaryMessenger); @override _i7.Future invokeMethod( - String? method, [ - dynamic arguments, - ]) => + String? method, [ + dynamic arguments, + ]) => (super.noSuchMethod( Invocation.method( #invokeMethod, @@ -761,9 +761,9 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { @override _i7.Future?> invokeListMethod( - String? method, [ - dynamic arguments, - ]) => + String? method, [ + dynamic arguments, + ]) => (super.noSuchMethod( Invocation.method( #invokeListMethod, @@ -777,9 +777,9 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { @override _i7.Future?> invokeMapMethod( - String? method, [ - dynamic arguments, - ]) => + String? method, [ + dynamic arguments, + ]) => (super.noSuchMethod( Invocation.method( #invokeMapMethod, @@ -793,7 +793,7 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { @override void setMethodCallHandler( - _i7.Future Function(_i5.MethodCall)? handler) => + _i7.Future Function(_i5.MethodCall)? handler) => super.noSuchMethod( Invocation.method( #setMethodCallHandler, @@ -813,53 +813,53 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i2.SentryOptions get options => (super.noSuchMethod( - Invocation.getter(#options), - returnValue: _FakeSentryOptions_10( - this, - Invocation.getter(#options), - ), - ) as _i2.SentryOptions); + Invocation.getter(#options), + returnValue: _FakeSentryOptions_10( + this, + Invocation.getter(#options), + ), + ) as _i2.SentryOptions); @override bool get isEnabled => (super.noSuchMethod( - Invocation.getter(#isEnabled), - returnValue: false, - ) as bool); + Invocation.getter(#isEnabled), + returnValue: false, + ) as bool); @override _i3.SentryId get lastEventId => (super.noSuchMethod( - Invocation.getter(#lastEventId), - returnValue: _FakeSentryId_5( - this, - Invocation.getter(#lastEventId), - ), - ) as _i3.SentryId); + Invocation.getter(#lastEventId), + returnValue: _FakeSentryId_5( + this, + Invocation.getter(#lastEventId), + ), + ) as _i3.SentryId); @override _i2.Scope get scope => (super.noSuchMethod( - Invocation.getter(#scope), - returnValue: _FakeScope_11( - this, - Invocation.getter(#scope), - ), - ) as _i2.Scope); + Invocation.getter(#scope), + returnValue: _FakeScope_11( + this, + Invocation.getter(#scope), + ), + ) as _i2.Scope); @override set profilerFactory(_i9.SentryProfilerFactory? value) => super.noSuchMethod( - Invocation.setter( - #profilerFactory, - value, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #profilerFactory, + value, + ), + returnValueForMissingStub: null, + ); @override _i7.Future<_i3.SentryId> captureEvent( - _i3.SentryEvent? event, { - dynamic stackTrace, - _i2.Hint? hint, - _i2.ScopeCallback? withScope, - }) => + _i3.SentryEvent? event, { + dynamic stackTrace, + _i2.Hint? hint, + _i2.ScopeCallback? withScope, + }) => (super.noSuchMethod( Invocation.method( #captureEvent, @@ -886,11 +886,11 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i7.Future<_i3.SentryId> captureException( - dynamic throwable, { - dynamic stackTrace, - _i2.Hint? hint, - _i2.ScopeCallback? withScope, - }) => + dynamic throwable, { + dynamic stackTrace, + _i2.Hint? hint, + _i2.ScopeCallback? withScope, + }) => (super.noSuchMethod( Invocation.method( #captureException, @@ -917,13 +917,13 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i7.Future<_i3.SentryId> captureMessage( - String? message, { - _i3.SentryLevel? level, - String? template, - List? params, - _i2.Hint? hint, - _i2.ScopeCallback? withScope, - }) => + String? message, { + _i3.SentryLevel? level, + String? template, + List? params, + _i2.Hint? hint, + _i2.ScopeCallback? withScope, + }) => (super.noSuchMethod( Invocation.method( #captureMessage, @@ -965,9 +965,9 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i7.Future addBreadcrumb( - _i3.Breadcrumb? crumb, { - _i2.Hint? hint, - }) => + _i3.Breadcrumb? crumb, { + _i2.Hint? hint, + }) => (super.noSuchMethod( Invocation.method( #addBreadcrumb, @@ -980,37 +980,37 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override void bindClient(_i2.SentryClient? client) => super.noSuchMethod( - Invocation.method( - #bindClient, - [client], - ), - returnValueForMissingStub: null, - ); + Invocation.method( + #bindClient, + [client], + ), + returnValueForMissingStub: null, + ); @override _i2.Hub clone() => (super.noSuchMethod( - Invocation.method( - #clone, - [], - ), - returnValue: _FakeHub_12( - this, - Invocation.method( - #clone, - [], - ), - ), - ) as _i2.Hub); + Invocation.method( + #clone, + [], + ), + returnValue: _FakeHub_12( + this, + Invocation.method( + #clone, + [], + ), + ), + ) as _i2.Hub); @override _i7.Future close() => (super.noSuchMethod( - Invocation.method( - #close, - [], - ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + Invocation.method( + #close, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); @override _i7.FutureOr configureScope(_i2.ScopeCallback? callback) => @@ -1021,17 +1021,17 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i2.ISentrySpan startTransaction( - String? name, - String? operation, { - String? description, - DateTime? startTimestamp, - bool? bindToScope, - bool? waitForChildren, - Duration? autoFinishAfter, - bool? trimEnd, - _i2.OnTransactionFinish? onFinish, - Map? customSamplingContext, - }) => + String? name, + String? operation, { + String? description, + DateTime? startTimestamp, + bool? bindToScope, + bool? waitForChildren, + Duration? autoFinishAfter, + bool? trimEnd, + _i2.OnTransactionFinish? onFinish, + Map? customSamplingContext, + }) => (super.noSuchMethod( Invocation.method( #startTransaction, @@ -1066,15 +1066,15 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i2.ISentrySpan startTransactionWithContext( - _i2.SentryTransactionContext? transactionContext, { - Map? customSamplingContext, - DateTime? startTimestamp, - bool? bindToScope, - bool? waitForChildren, - Duration? autoFinishAfter, - bool? trimEnd, - _i2.OnTransactionFinish? onFinish, - }) => + _i2.SentryTransactionContext? transactionContext, { + Map? customSamplingContext, + DateTime? startTimestamp, + bool? bindToScope, + bool? waitForChildren, + Duration? autoFinishAfter, + bool? trimEnd, + _i2.OnTransactionFinish? onFinish, + }) => (super.noSuchMethod( Invocation.method( #startTransactionWithContext, @@ -1109,9 +1109,9 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i7.Future<_i3.SentryId> captureTransaction( - _i3.SentryTransaction? transaction, { - _i2.SentryTraceContextHeader? traceContext, - }) => + _i3.SentryTransaction? transaction, { + _i2.SentryTraceContextHeader? traceContext, + }) => (super.noSuchMethod( Invocation.method( #captureTransaction, @@ -1130,10 +1130,10 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override void setSpanContext( - dynamic throwable, - _i2.ISentrySpan? span, - String? transaction, - ) => + dynamic throwable, + _i2.ISentrySpan? span, + String? transaction, + ) => super.noSuchMethod( Invocation.method( #setSpanContext, From c4da2d3fc9c424f273795b5ea881f47fa90605de Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:02:16 +0100 Subject: [PATCH 28/72] change dir manually --- .github/workflows/drift.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 8b492cfea5..e5a4be4478 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -29,7 +29,6 @@ jobs: defaults: run: shell: bash - working-directory: ./drift strategy: fail-fast: false matrix: @@ -87,10 +86,12 @@ jobs: - name: Pub Get run: | + cd drift flutter pub get - name: Test VM with coverage run: | + cd drift flutter test --coverage --test-randomize-ordering-seed=random - uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # pin@v3 From 46dfa08f68f501eab68f97d0101d1f3d7c9e1369 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:14:44 +0100 Subject: [PATCH 29/72] download and extract sqlite.dll for windows --- .github/workflows/drift.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index e5a4be4478..f628201ff1 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -78,6 +78,17 @@ jobs: sudo apt install -y network-manager upower if: matrix.os == 'ubuntu-latest' && matrix.target == 'linux' + # Install sqlite3.dll and add it to path + - name: "Setup Windows" + run: | + curl -L -o sqlite.zip https://www.sqlite.org/2023/sqlite-dll-win-x64-3440000.zip + 7z x sqlite.zip -ossqlite + echo "::add-path::${{ github.workspace }}" + echo "Adding ${{ github.workspace }}/sqlite" >> $GITHUB_PATH + where sqlite3.dll + working-directory: ${{ github.workspace }} + if: matrix.os == 'windows-latest' && matrix.target == 'windows' + - uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa # pin@v2.10.0 with: channel: ${{ matrix.sdk }} From 63439aa76da9de85a0683bcca6c1cc726d44862e Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:26:12 +0100 Subject: [PATCH 30/72] Try downloading sqlite3 --- .github/workflows/drift.yml | 6 +- drift/pubspec.yaml | 3 +- drift/test/download_sqlite3.dart | 111 +++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 drift/test/download_sqlite3.dart diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index f628201ff1..c250fb8c38 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -81,11 +81,7 @@ jobs: # Install sqlite3.dll and add it to path - name: "Setup Windows" run: | - curl -L -o sqlite.zip https://www.sqlite.org/2023/sqlite-dll-win-x64-3440000.zip - 7z x sqlite.zip -ossqlite - echo "::add-path::${{ github.workspace }}" - echo "Adding ${{ github.workspace }}/sqlite" >> $GITHUB_PATH - where sqlite3.dll + dart run drift/tool/download_sqlite3.dart working-directory: ${{ github.workspace }} if: matrix.os == 'windows-latest' && matrix.target == 'windows' diff --git a/drift/pubspec.yaml b/drift/pubspec.yaml index b456982cf4..30fed7e8cb 100644 --- a/drift/pubspec.yaml +++ b/drift/pubspec.yaml @@ -23,4 +23,5 @@ dev_dependencies: build_runner: ^2.4.6 drift_dev: ^2.13.0 yaml: ^3.1.0 # needed for version match (code and pubspec) - sqlite3_flutter_libs: ^0.5.0 \ No newline at end of file + sqlite3_flutter_libs: ^0.5.0 + archive: ^3.1.2 \ No newline at end of file diff --git a/drift/test/download_sqlite3.dart b/drift/test/download_sqlite3.dart new file mode 100644 index 0000000000..b90066282f --- /dev/null +++ b/drift/test/download_sqlite3.dart @@ -0,0 +1,111 @@ +import 'dart:io'; + +import 'package:archive/archive_io.dart'; +import 'package:http/http.dart'; +import 'package:path/path.dart' as p; + +const _version = '3410000'; +const _year = '2023'; +const _url = 'https://www.sqlite.org/$_year/sqlite-autoconf-$_version.tar.gz'; + +Future main(List args) async { + if (args.contains('version')) { + print(_version); + exit(0); + } + + final driftDirectory = p.dirname(p.dirname(Platform.script.toFilePath())); + final target = p.join(driftDirectory, '.dart_tool', 'sqlite3'); + final versionFile = File(p.join(target, 'version')); + + final needsDownload = args.contains('--force') || + !versionFile.existsSync() || + versionFile.readAsStringSync() != _version; + + if (!needsDownload) { + print('Not doing anything as sqlite3 has already been downloaded. Use ' + '--force to re-compile it.'); + exit(0); + } + + print('Downloading and compiling sqlite3 for drift test'); + + final temporaryDir = + await Directory.systemTemp.createTemp('drift-compile-sqlite3'); + final temporaryDirPath = temporaryDir.path; + + // Compiling on Windows is ugly because we need users to have Visual Studio + // installed and all those tools activated in the current shell. + // Much easier to just download precompiled builds. + if (Platform.isWindows) { + const windowsUri = + 'https://www.sqlite.org/$_year/sqlite-dll-win64-x64-$_version.zip'; + final sqlite3Zip = p.join(temporaryDirPath, 'sqlite3.zip'); + final client = Client(); + final response = await client.send(Request('GET', Uri.parse(windowsUri))); + if (response.statusCode != 200) { + print( + 'Could not download $windowsUri, status code ${response.statusCode}'); + exit(1); + } + await response.stream.pipe(File(sqlite3Zip).openWrite()); + + final inputStream = InputFileStream(sqlite3Zip); + final archive = ZipDecoder().decodeBuffer(inputStream); + + for (final file in archive.files) { + if (file.isFile && file.name == 'sqlite3.dll') { + final outputStream = OutputFileStream(p.join(target, 'sqlite3.dll')); + + file.writeContent(outputStream); + outputStream.close(); + } + } + + await File(p.join(target, 'version')).writeAsString(_version); + exit(0); + } + + await _run('curl $_url --output sqlite.tar.gz', + workingDirectory: temporaryDirPath); + await _run('tar zxvf sqlite.tar.gz', workingDirectory: temporaryDirPath); + + final sqlitePath = p.join(temporaryDirPath, 'sqlite-autoconf-$_version'); + await _run('./configure', workingDirectory: sqlitePath); + await _run('make -j', workingDirectory: sqlitePath); + + final targetDirectory = Directory(target); + + if (!targetDirectory.existsSync()) { + // Not using recursive since .dart_tool should really exist already. + targetDirectory.createSync(); + } + + await File(p.join(sqlitePath, 'sqlite3')).copy(p.join(target, 'sqlite3')); + + if (Platform.isLinux) { + await File(p.join(sqlitePath, '.libs', 'libsqlite3.so')) + .copy(p.join(target, 'libsqlite3.so')); + } else if (Platform.isMacOS) { + await File(p.join(sqlitePath, '.libs', 'libsqlite3.dylib')) + .copy(p.join(target, 'libsqlite3.dylib')); + } + + await File(p.join(target, 'version')).writeAsString(_version); +} + +Future _run(String command, {String? workingDirectory}) async { + print('Running $command'); + + final proc = await Process.start( + 'sh', + ['-c', command], + mode: ProcessStartMode.inheritStdio, + workingDirectory: workingDirectory, + ); + final exitCode = await proc.exitCode; + + if (exitCode != 0) { + exit(exitCode); + } +} \ No newline at end of file From 5e513f9cb6ae36e89ab0d40fd491b78b138cd50e Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:29:13 +0100 Subject: [PATCH 31/72] set up dart --- .github/workflows/drift.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index c250fb8c38..ac5374bee0 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -78,6 +78,11 @@ jobs: sudo apt install -y network-manager upower if: matrix.os == 'ubuntu-latest' && matrix.target == 'linux' + - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d # pin@v1 + with: + sdk: ${{ matrix.sdk }} + - uses: actions/checkout@v4 + # Install sqlite3.dll and add it to path - name: "Setup Windows" run: | From 87ad6dd66e0a54440359e5206c765669e9d6c9b1 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:30:51 +0100 Subject: [PATCH 32/72] fix path to file --- .github/workflows/drift.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index ac5374bee0..4f538fcb4a 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -86,7 +86,8 @@ jobs: # Install sqlite3.dll and add it to path - name: "Setup Windows" run: | - dart run drift/tool/download_sqlite3.dart + cd drift + dart run test/download_sqlite3.dart working-directory: ${{ github.workspace }} if: matrix.os == 'windows-latest' && matrix.target == 'windows' From e7308e01002b4f10648be514dbc2b698d4c08723 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:32:42 +0100 Subject: [PATCH 33/72] use pub get --- .github/workflows/drift.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 4f538fcb4a..41b0c894df 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -87,6 +87,7 @@ jobs: - name: "Setup Windows" run: | cd drift + dart pub get dart run test/download_sqlite3.dart working-directory: ${{ github.workspace }} if: matrix.os == 'windows-latest' && matrix.target == 'windows' From 38cae399bf0901d30385c10c5ad2f70d0c8adcc7 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:34:05 +0100 Subject: [PATCH 34/72] Use flutter pub get --- .github/workflows/drift.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 41b0c894df..36184d05f5 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -87,7 +87,7 @@ jobs: - name: "Setup Windows" run: | cd drift - dart pub get + flutter pub get dart run test/download_sqlite3.dart working-directory: ${{ github.workspace }} if: matrix.os == 'windows-latest' && matrix.target == 'windows' From cbc8b433a06ba0c538006a1e233710b61b68ff2d Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:35:33 +0100 Subject: [PATCH 35/72] fix --- .github/workflows/drift.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 36184d05f5..e6549b298f 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -83,15 +83,6 @@ jobs: sdk: ${{ matrix.sdk }} - uses: actions/checkout@v4 - # Install sqlite3.dll and add it to path - - name: "Setup Windows" - run: | - cd drift - flutter pub get - dart run test/download_sqlite3.dart - working-directory: ${{ github.workspace }} - if: matrix.os == 'windows-latest' && matrix.target == 'windows' - - uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa # pin@v2.10.0 with: channel: ${{ matrix.sdk }} @@ -103,6 +94,14 @@ jobs: cd drift flutter pub get + # Install sqlite3.dll and add it to path + - name: "Setup Windows" + run: | + cd drift + dart run test/download_sqlite3.dart + working-directory: ${{ github.workspace }} + if: matrix.os == 'windows-latest' && matrix.target == 'windows' + - name: Test VM with coverage run: | cd drift From 4ffeb6c9c0c08fb5a034c632a218227f87209431 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:53:00 +0100 Subject: [PATCH 36/72] skip windows test --- .github/workflows/drift.yml | 18 +---- drift/test/download_sqlite3.dart | 111 --------------------------- drift/test/sentry_database_test.dart | 10 +++ 3 files changed, 13 insertions(+), 126 deletions(-) delete mode 100644 drift/test/download_sqlite3.dart diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index e6549b298f..1f8619db4a 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -32,8 +32,9 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - target: ["ios", "android", "macos", "linux", "windows"] + # skipping Windows for now since it requires sqlite3.dll to get working + os: [ubuntu-latest, macos-latest] + target: ["ios", "android", "macos", "linux"] sdk: ["stable", "beta"] exclude: - os: ubuntu-latest @@ -78,11 +79,6 @@ jobs: sudo apt install -y network-manager upower if: matrix.os == 'ubuntu-latest' && matrix.target == 'linux' - - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d # pin@v1 - with: - sdk: ${{ matrix.sdk }} - - uses: actions/checkout@v4 - - uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa # pin@v2.10.0 with: channel: ${{ matrix.sdk }} @@ -94,14 +90,6 @@ jobs: cd drift flutter pub get - # Install sqlite3.dll and add it to path - - name: "Setup Windows" - run: | - cd drift - dart run test/download_sqlite3.dart - working-directory: ${{ github.workspace }} - if: matrix.os == 'windows-latest' && matrix.target == 'windows' - - name: Test VM with coverage run: | cd drift diff --git a/drift/test/download_sqlite3.dart b/drift/test/download_sqlite3.dart deleted file mode 100644 index b90066282f..0000000000 --- a/drift/test/download_sqlite3.dart +++ /dev/null @@ -1,111 +0,0 @@ -import 'dart:io'; - -import 'package:archive/archive_io.dart'; -import 'package:http/http.dart'; -import 'package:path/path.dart' as p; - -const _version = '3410000'; -const _year = '2023'; -const _url = 'https://www.sqlite.org/$_year/sqlite-autoconf-$_version.tar.gz'; - -Future main(List args) async { - if (args.contains('version')) { - print(_version); - exit(0); - } - - final driftDirectory = p.dirname(p.dirname(Platform.script.toFilePath())); - final target = p.join(driftDirectory, '.dart_tool', 'sqlite3'); - final versionFile = File(p.join(target, 'version')); - - final needsDownload = args.contains('--force') || - !versionFile.existsSync() || - versionFile.readAsStringSync() != _version; - - if (!needsDownload) { - print('Not doing anything as sqlite3 has already been downloaded. Use ' - '--force to re-compile it.'); - exit(0); - } - - print('Downloading and compiling sqlite3 for drift test'); - - final temporaryDir = - await Directory.systemTemp.createTemp('drift-compile-sqlite3'); - final temporaryDirPath = temporaryDir.path; - - // Compiling on Windows is ugly because we need users to have Visual Studio - // installed and all those tools activated in the current shell. - // Much easier to just download precompiled builds. - if (Platform.isWindows) { - const windowsUri = - 'https://www.sqlite.org/$_year/sqlite-dll-win64-x64-$_version.zip'; - final sqlite3Zip = p.join(temporaryDirPath, 'sqlite3.zip'); - final client = Client(); - final response = await client.send(Request('GET', Uri.parse(windowsUri))); - if (response.statusCode != 200) { - print( - 'Could not download $windowsUri, status code ${response.statusCode}'); - exit(1); - } - await response.stream.pipe(File(sqlite3Zip).openWrite()); - - final inputStream = InputFileStream(sqlite3Zip); - final archive = ZipDecoder().decodeBuffer(inputStream); - - for (final file in archive.files) { - if (file.isFile && file.name == 'sqlite3.dll') { - final outputStream = OutputFileStream(p.join(target, 'sqlite3.dll')); - - file.writeContent(outputStream); - outputStream.close(); - } - } - - await File(p.join(target, 'version')).writeAsString(_version); - exit(0); - } - - await _run('curl $_url --output sqlite.tar.gz', - workingDirectory: temporaryDirPath); - await _run('tar zxvf sqlite.tar.gz', workingDirectory: temporaryDirPath); - - final sqlitePath = p.join(temporaryDirPath, 'sqlite-autoconf-$_version'); - await _run('./configure', workingDirectory: sqlitePath); - await _run('make -j', workingDirectory: sqlitePath); - - final targetDirectory = Directory(target); - - if (!targetDirectory.existsSync()) { - // Not using recursive since .dart_tool should really exist already. - targetDirectory.createSync(); - } - - await File(p.join(sqlitePath, 'sqlite3')).copy(p.join(target, 'sqlite3')); - - if (Platform.isLinux) { - await File(p.join(sqlitePath, '.libs', 'libsqlite3.so')) - .copy(p.join(target, 'libsqlite3.so')); - } else if (Platform.isMacOS) { - await File(p.join(sqlitePath, '.libs', 'libsqlite3.dylib')) - .copy(p.join(target, 'libsqlite3.dylib')); - } - - await File(p.join(target, 'version')).writeAsString(_version); -} - -Future _run(String command, {String? workingDirectory}) async { - print('Running $command'); - - final proc = await Process.start( - 'sh', - ['-c', command], - mode: ProcessStartMode.inheritStdio, - workingDirectory: workingDirectory, - ); - final exitCode = await proc.exitCode; - - if (exitCode != 0) { - exit(exitCode); - } -} \ No newline at end of file diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 4d8d652318..df06bd4049 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -13,6 +13,16 @@ import 'package:sentry_drift/src/sentry_transaction_executor.dart'; import 'mocks/mocks.mocks.dart'; import 'test_database.dart'; +import 'dart:ffi'; +import 'dart:io'; + +DynamicLibrary _openOnLinux() { + final scriptDir = File(Platform.script.toFilePath()).parent; + print('scriptDir'); + final libraryNextToScript = File('${scriptDir.path}/sqlite3.dll'); + return DynamicLibrary.open(libraryNextToScript.path); +} + void main() { final expectedInsertStatement = 'INSERT INTO "todo_items" ("title", "body") VALUES (?, ?)'; From a1e638eacdcf19b7223cd2166223f68705f426dd Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:53:40 +0100 Subject: [PATCH 37/72] fix analyze --- drift/test/sentry_database_test.dart | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index df06bd4049..4d8d652318 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -13,16 +13,6 @@ import 'package:sentry_drift/src/sentry_transaction_executor.dart'; import 'mocks/mocks.mocks.dart'; import 'test_database.dart'; -import 'dart:ffi'; -import 'dart:io'; - -DynamicLibrary _openOnLinux() { - final scriptDir = File(Platform.script.toFilePath()).parent; - print('scriptDir'); - final libraryNextToScript = File('${scriptDir.path}/sqlite3.dll'); - return DynamicLibrary.open(libraryNextToScript.path); -} - void main() { final expectedInsertStatement = 'INSERT INTO "todo_items" ("title", "body") VALUES (?, ?)'; From ebd8dd524b4bf88d19c1afc87ce748a319ee1d9c Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 11:55:36 +0100 Subject: [PATCH 38/72] fix drift.yml --- .github/workflows/drift.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 1f8619db4a..b9719a9548 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -11,7 +11,7 @@ on: - "flutter/**" - "dio/**" - "file/**" - - "drift/**" + - "sqflite/**" jobs: cancel-previous-workflow: From ae7dd7095f1ba5e3ff44bdf25db679238007c38b Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 13:01:45 +0100 Subject: [PATCH 39/72] format --- flutter/test/mocks.mocks.dart | 744 +++++++++++++++++----------------- 1 file changed, 372 insertions(+), 372 deletions(-) diff --git a/flutter/test/mocks.mocks.dart b/flutter/test/mocks.mocks.dart index e22da7cb20..e2807ef405 100644 --- a/flutter/test/mocks.mocks.dart +++ b/flutter/test/mocks.mocks.dart @@ -31,135 +31,135 @@ import 'mocks.dart' as _i11; class _FakeSentrySpanContext_0 extends _i1.SmartFake implements _i2.SentrySpanContext { _FakeSentrySpanContext_0( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeDateTime_1 extends _i1.SmartFake implements DateTime { _FakeDateTime_1( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeISentrySpan_2 extends _i1.SmartFake implements _i2.ISentrySpan { _FakeISentrySpan_2( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryTraceHeader_3 extends _i1.SmartFake implements _i3.SentryTraceHeader { _FakeSentryTraceHeader_3( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryTracer_4 extends _i1.SmartFake implements _i4.SentryTracer { _FakeSentryTracer_4( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryId_5 extends _i1.SmartFake implements _i3.SentryId { _FakeSentryId_5( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeContexts_6 extends _i1.SmartFake implements _i3.Contexts { _FakeContexts_6( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryTransaction_7 extends _i1.SmartFake implements _i3.SentryTransaction { _FakeSentryTransaction_7( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeMethodCodec_8 extends _i1.SmartFake implements _i5.MethodCodec { _FakeMethodCodec_8( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeBinaryMessenger_9 extends _i1.SmartFake implements _i6.BinaryMessenger { _FakeBinaryMessenger_9( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeSentryOptions_10 extends _i1.SmartFake implements _i2.SentryOptions { _FakeSentryOptions_10( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeScope_11 extends _i1.SmartFake implements _i2.Scope { _FakeScope_11( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } class _FakeHub_12 extends _i1.SmartFake implements _i2.Hub { _FakeHub_12( - Object parent, - Invocation parentInvocation, - ) : super( - parent, - parentInvocation, - ); + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); } /// A class which mocks [Transport]. @@ -191,18 +191,18 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override String get name => (super.noSuchMethod( - Invocation.getter(#name), - returnValue: '', - ) as String); + Invocation.getter(#name), + returnValue: '', + ) as String); @override set name(String? _name) => super.noSuchMethod( - Invocation.setter( - #name, - _name, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #name, + _name, + ), + returnValueForMissingStub: null, + ); @override _i3.SentryTransactionNameSource get transactionNameSource => @@ -213,7 +213,7 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override set transactionNameSource( - _i3.SentryTransactionNameSource? _transactionNameSource) => + _i3.SentryTransactionNameSource? _transactionNameSource) => super.noSuchMethod( Invocation.setter( #transactionNameSource, @@ -224,96 +224,96 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override set profiler(_i9.SentryProfiler? _profiler) => super.noSuchMethod( - Invocation.setter( - #profiler, - _profiler, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #profiler, + _profiler, + ), + returnValueForMissingStub: null, + ); @override set profileInfo(_i9.SentryProfileInfo? _profileInfo) => super.noSuchMethod( - Invocation.setter( - #profileInfo, - _profileInfo, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #profileInfo, + _profileInfo, + ), + returnValueForMissingStub: null, + ); @override _i2.SentrySpanContext get context => (super.noSuchMethod( - Invocation.getter(#context), - returnValue: _FakeSentrySpanContext_0( - this, - Invocation.getter(#context), - ), - ) as _i2.SentrySpanContext); + Invocation.getter(#context), + returnValue: _FakeSentrySpanContext_0( + this, + Invocation.getter(#context), + ), + ) as _i2.SentrySpanContext); @override set origin(String? origin) => super.noSuchMethod( - Invocation.setter( - #origin, - origin, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #origin, + origin, + ), + returnValueForMissingStub: null, + ); @override DateTime get startTimestamp => (super.noSuchMethod( - Invocation.getter(#startTimestamp), - returnValue: _FakeDateTime_1( - this, - Invocation.getter(#startTimestamp), - ), - ) as DateTime); + Invocation.getter(#startTimestamp), + returnValue: _FakeDateTime_1( + this, + Invocation.getter(#startTimestamp), + ), + ) as DateTime); @override Map get data => (super.noSuchMethod( - Invocation.getter(#data), - returnValue: {}, - ) as Map); + Invocation.getter(#data), + returnValue: {}, + ) as Map); @override bool get finished => (super.noSuchMethod( - Invocation.getter(#finished), - returnValue: false, - ) as bool); + Invocation.getter(#finished), + returnValue: false, + ) as bool); @override List<_i3.SentrySpan> get children => (super.noSuchMethod( - Invocation.getter(#children), - returnValue: <_i3.SentrySpan>[], - ) as List<_i3.SentrySpan>); + Invocation.getter(#children), + returnValue: <_i3.SentrySpan>[], + ) as List<_i3.SentrySpan>); @override set throwable(dynamic throwable) => super.noSuchMethod( - Invocation.setter( - #throwable, - throwable, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #throwable, + throwable, + ), + returnValueForMissingStub: null, + ); @override set status(_i3.SpanStatus? status) => super.noSuchMethod( - Invocation.setter( - #status, - status, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #status, + status, + ), + returnValueForMissingStub: null, + ); @override Map get tags => (super.noSuchMethod( - Invocation.getter(#tags), - returnValue: {}, - ) as Map); + Invocation.getter(#tags), + returnValue: {}, + ) as Map); @override Map get measurements => (super.noSuchMethod( - Invocation.getter(#measurements), - returnValue: {}, - ) as Map); + Invocation.getter(#measurements), + returnValue: {}, + ) as Map); @override _i7.Future finish({ @@ -335,27 +335,27 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override void removeData(String? key) => super.noSuchMethod( - Invocation.method( - #removeData, - [key], - ), - returnValueForMissingStub: null, - ); + Invocation.method( + #removeData, + [key], + ), + returnValueForMissingStub: null, + ); @override void removeTag(String? key) => super.noSuchMethod( - Invocation.method( - #removeTag, - [key], - ), - returnValueForMissingStub: null, - ); + Invocation.method( + #removeTag, + [key], + ), + returnValueForMissingStub: null, + ); @override void setData( - String? key, - dynamic value, - ) => + String? key, + dynamic value, + ) => super.noSuchMethod( Invocation.method( #setData, @@ -369,9 +369,9 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override void setTag( - String? key, - String? value, - ) => + String? key, + String? value, + ) => super.noSuchMethod( Invocation.method( #setTag, @@ -385,10 +385,10 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override _i2.ISentrySpan startChild( - String? operation, { - String? description, - DateTime? startTimestamp, - }) => + String? operation, { + String? description, + DateTime? startTimestamp, + }) => (super.noSuchMethod( Invocation.method( #startChild, @@ -413,11 +413,11 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override _i2.ISentrySpan startChildWithParentSpanId( - _i3.SpanId? parentSpanId, - String? operation, { - String? description, - DateTime? startTimestamp, - }) => + _i3.SpanId? parentSpanId, + String? operation, { + String? description, + DateTime? startTimestamp, + }) => (super.noSuchMethod( Invocation.method( #startChildWithParentSpanId, @@ -448,25 +448,25 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override _i3.SentryTraceHeader toSentryTrace() => (super.noSuchMethod( - Invocation.method( - #toSentryTrace, - [], - ), - returnValue: _FakeSentryTraceHeader_3( - this, - Invocation.method( - #toSentryTrace, - [], - ), - ), - ) as _i3.SentryTraceHeader); + Invocation.method( + #toSentryTrace, + [], + ), + returnValue: _FakeSentryTraceHeader_3( + this, + Invocation.method( + #toSentryTrace, + [], + ), + ), + ) as _i3.SentryTraceHeader); @override void setMeasurement( - String? name, - num? value, { - _i2.SentryMeasurementUnit? unit, - }) => + String? name, + num? value, { + _i2.SentryMeasurementUnit? unit, + }) => super.noSuchMethod( Invocation.method( #setMeasurement, @@ -481,12 +481,12 @@ class MockSentryTracer extends _i1.Mock implements _i4.SentryTracer { @override void scheduleFinish() => super.noSuchMethod( - Invocation.method( - #scheduleFinish, - [], - ), - returnValueForMissingStub: null, - ); + Invocation.method( + #scheduleFinish, + [], + ), + returnValueForMissingStub: null, + ); } /// A class which mocks [SentryTransaction]. @@ -500,51 +500,51 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { @override DateTime get startTimestamp => (super.noSuchMethod( - Invocation.getter(#startTimestamp), - returnValue: _FakeDateTime_1( - this, - Invocation.getter(#startTimestamp), - ), - ) as DateTime); + Invocation.getter(#startTimestamp), + returnValue: _FakeDateTime_1( + this, + Invocation.getter(#startTimestamp), + ), + ) as DateTime); @override set startTimestamp(DateTime? _startTimestamp) => super.noSuchMethod( - Invocation.setter( - #startTimestamp, - _startTimestamp, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #startTimestamp, + _startTimestamp, + ), + returnValueForMissingStub: null, + ); @override List<_i3.SentrySpan> get spans => (super.noSuchMethod( - Invocation.getter(#spans), - returnValue: <_i3.SentrySpan>[], - ) as List<_i3.SentrySpan>); + Invocation.getter(#spans), + returnValue: <_i3.SentrySpan>[], + ) as List<_i3.SentrySpan>); @override set spans(List<_i3.SentrySpan>? _spans) => super.noSuchMethod( - Invocation.setter( - #spans, - _spans, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #spans, + _spans, + ), + returnValueForMissingStub: null, + ); @override _i4.SentryTracer get tracer => (super.noSuchMethod( - Invocation.getter(#tracer), - returnValue: _FakeSentryTracer_4( - this, - Invocation.getter(#tracer), - ), - ) as _i4.SentryTracer); + Invocation.getter(#tracer), + returnValue: _FakeSentryTracer_4( + this, + Invocation.getter(#tracer), + ), + ) as _i4.SentryTracer); @override Map get measurements => (super.noSuchMethod( - Invocation.getter(#measurements), - returnValue: {}, - ) as Map); + Invocation.getter(#measurements), + returnValue: {}, + ) as Map); @override set measurements(Map? _measurements) => @@ -568,42 +568,42 @@ class MockSentryTransaction extends _i1.Mock implements _i3.SentryTransaction { @override bool get finished => (super.noSuchMethod( - Invocation.getter(#finished), - returnValue: false, - ) as bool); + Invocation.getter(#finished), + returnValue: false, + ) as bool); @override bool get sampled => (super.noSuchMethod( - Invocation.getter(#sampled), - returnValue: false, - ) as bool); + Invocation.getter(#sampled), + returnValue: false, + ) as bool); @override _i3.SentryId get eventId => (super.noSuchMethod( - Invocation.getter(#eventId), - returnValue: _FakeSentryId_5( - this, - Invocation.getter(#eventId), - ), - ) as _i3.SentryId); + Invocation.getter(#eventId), + returnValue: _FakeSentryId_5( + this, + Invocation.getter(#eventId), + ), + ) as _i3.SentryId); @override _i3.Contexts get contexts => (super.noSuchMethod( - Invocation.getter(#contexts), - returnValue: _FakeContexts_6( - this, - Invocation.getter(#contexts), - ), - ) as _i3.Contexts); + Invocation.getter(#contexts), + returnValue: _FakeContexts_6( + this, + Invocation.getter(#contexts), + ), + ) as _i3.Contexts); @override Map toJson() => (super.noSuchMethod( - Invocation.method( - #toJson, - [], - ), - returnValue: {}, - ) as Map); + Invocation.method( + #toJson, + [], + ), + returnValue: {}, + ) as Map); @override _i3.SentryTransaction copyWith({ @@ -721,33 +721,33 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { @override String get name => (super.noSuchMethod( - Invocation.getter(#name), - returnValue: '', - ) as String); + Invocation.getter(#name), + returnValue: '', + ) as String); @override _i5.MethodCodec get codec => (super.noSuchMethod( - Invocation.getter(#codec), - returnValue: _FakeMethodCodec_8( - this, - Invocation.getter(#codec), - ), - ) as _i5.MethodCodec); + Invocation.getter(#codec), + returnValue: _FakeMethodCodec_8( + this, + Invocation.getter(#codec), + ), + ) as _i5.MethodCodec); @override _i6.BinaryMessenger get binaryMessenger => (super.noSuchMethod( - Invocation.getter(#binaryMessenger), - returnValue: _FakeBinaryMessenger_9( - this, - Invocation.getter(#binaryMessenger), - ), - ) as _i6.BinaryMessenger); + Invocation.getter(#binaryMessenger), + returnValue: _FakeBinaryMessenger_9( + this, + Invocation.getter(#binaryMessenger), + ), + ) as _i6.BinaryMessenger); @override _i7.Future invokeMethod( - String? method, [ - dynamic arguments, - ]) => + String? method, [ + dynamic arguments, + ]) => (super.noSuchMethod( Invocation.method( #invokeMethod, @@ -761,9 +761,9 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { @override _i7.Future?> invokeListMethod( - String? method, [ - dynamic arguments, - ]) => + String? method, [ + dynamic arguments, + ]) => (super.noSuchMethod( Invocation.method( #invokeListMethod, @@ -777,9 +777,9 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { @override _i7.Future?> invokeMapMethod( - String? method, [ - dynamic arguments, - ]) => + String? method, [ + dynamic arguments, + ]) => (super.noSuchMethod( Invocation.method( #invokeMapMethod, @@ -793,7 +793,7 @@ class MockMethodChannel extends _i1.Mock implements _i10.MethodChannel { @override void setMethodCallHandler( - _i7.Future Function(_i5.MethodCall)? handler) => + _i7.Future Function(_i5.MethodCall)? handler) => super.noSuchMethod( Invocation.method( #setMethodCallHandler, @@ -813,53 +813,53 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i2.SentryOptions get options => (super.noSuchMethod( - Invocation.getter(#options), - returnValue: _FakeSentryOptions_10( - this, - Invocation.getter(#options), - ), - ) as _i2.SentryOptions); + Invocation.getter(#options), + returnValue: _FakeSentryOptions_10( + this, + Invocation.getter(#options), + ), + ) as _i2.SentryOptions); @override bool get isEnabled => (super.noSuchMethod( - Invocation.getter(#isEnabled), - returnValue: false, - ) as bool); + Invocation.getter(#isEnabled), + returnValue: false, + ) as bool); @override _i3.SentryId get lastEventId => (super.noSuchMethod( - Invocation.getter(#lastEventId), - returnValue: _FakeSentryId_5( - this, - Invocation.getter(#lastEventId), - ), - ) as _i3.SentryId); + Invocation.getter(#lastEventId), + returnValue: _FakeSentryId_5( + this, + Invocation.getter(#lastEventId), + ), + ) as _i3.SentryId); @override _i2.Scope get scope => (super.noSuchMethod( - Invocation.getter(#scope), - returnValue: _FakeScope_11( - this, - Invocation.getter(#scope), - ), - ) as _i2.Scope); + Invocation.getter(#scope), + returnValue: _FakeScope_11( + this, + Invocation.getter(#scope), + ), + ) as _i2.Scope); @override set profilerFactory(_i9.SentryProfilerFactory? value) => super.noSuchMethod( - Invocation.setter( - #profilerFactory, - value, - ), - returnValueForMissingStub: null, - ); + Invocation.setter( + #profilerFactory, + value, + ), + returnValueForMissingStub: null, + ); @override _i7.Future<_i3.SentryId> captureEvent( - _i3.SentryEvent? event, { - dynamic stackTrace, - _i2.Hint? hint, - _i2.ScopeCallback? withScope, - }) => + _i3.SentryEvent? event, { + dynamic stackTrace, + _i2.Hint? hint, + _i2.ScopeCallback? withScope, + }) => (super.noSuchMethod( Invocation.method( #captureEvent, @@ -886,11 +886,11 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i7.Future<_i3.SentryId> captureException( - dynamic throwable, { - dynamic stackTrace, - _i2.Hint? hint, - _i2.ScopeCallback? withScope, - }) => + dynamic throwable, { + dynamic stackTrace, + _i2.Hint? hint, + _i2.ScopeCallback? withScope, + }) => (super.noSuchMethod( Invocation.method( #captureException, @@ -917,13 +917,13 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i7.Future<_i3.SentryId> captureMessage( - String? message, { - _i3.SentryLevel? level, - String? template, - List? params, - _i2.Hint? hint, - _i2.ScopeCallback? withScope, - }) => + String? message, { + _i3.SentryLevel? level, + String? template, + List? params, + _i2.Hint? hint, + _i2.ScopeCallback? withScope, + }) => (super.noSuchMethod( Invocation.method( #captureMessage, @@ -965,9 +965,9 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i7.Future addBreadcrumb( - _i3.Breadcrumb? crumb, { - _i2.Hint? hint, - }) => + _i3.Breadcrumb? crumb, { + _i2.Hint? hint, + }) => (super.noSuchMethod( Invocation.method( #addBreadcrumb, @@ -980,37 +980,37 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override void bindClient(_i2.SentryClient? client) => super.noSuchMethod( - Invocation.method( - #bindClient, - [client], - ), - returnValueForMissingStub: null, - ); + Invocation.method( + #bindClient, + [client], + ), + returnValueForMissingStub: null, + ); @override _i2.Hub clone() => (super.noSuchMethod( - Invocation.method( - #clone, - [], - ), - returnValue: _FakeHub_12( - this, - Invocation.method( - #clone, - [], - ), - ), - ) as _i2.Hub); + Invocation.method( + #clone, + [], + ), + returnValue: _FakeHub_12( + this, + Invocation.method( + #clone, + [], + ), + ), + ) as _i2.Hub); @override _i7.Future close() => (super.noSuchMethod( - Invocation.method( - #close, - [], - ), - returnValue: _i7.Future.value(), - returnValueForMissingStub: _i7.Future.value(), - ) as _i7.Future); + Invocation.method( + #close, + [], + ), + returnValue: _i7.Future.value(), + returnValueForMissingStub: _i7.Future.value(), + ) as _i7.Future); @override _i7.FutureOr configureScope(_i2.ScopeCallback? callback) => @@ -1021,17 +1021,17 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i2.ISentrySpan startTransaction( - String? name, - String? operation, { - String? description, - DateTime? startTimestamp, - bool? bindToScope, - bool? waitForChildren, - Duration? autoFinishAfter, - bool? trimEnd, - _i2.OnTransactionFinish? onFinish, - Map? customSamplingContext, - }) => + String? name, + String? operation, { + String? description, + DateTime? startTimestamp, + bool? bindToScope, + bool? waitForChildren, + Duration? autoFinishAfter, + bool? trimEnd, + _i2.OnTransactionFinish? onFinish, + Map? customSamplingContext, + }) => (super.noSuchMethod( Invocation.method( #startTransaction, @@ -1066,15 +1066,15 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i2.ISentrySpan startTransactionWithContext( - _i2.SentryTransactionContext? transactionContext, { - Map? customSamplingContext, - DateTime? startTimestamp, - bool? bindToScope, - bool? waitForChildren, - Duration? autoFinishAfter, - bool? trimEnd, - _i2.OnTransactionFinish? onFinish, - }) => + _i2.SentryTransactionContext? transactionContext, { + Map? customSamplingContext, + DateTime? startTimestamp, + bool? bindToScope, + bool? waitForChildren, + Duration? autoFinishAfter, + bool? trimEnd, + _i2.OnTransactionFinish? onFinish, + }) => (super.noSuchMethod( Invocation.method( #startTransactionWithContext, @@ -1109,9 +1109,9 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override _i7.Future<_i3.SentryId> captureTransaction( - _i3.SentryTransaction? transaction, { - _i2.SentryTraceContextHeader? traceContext, - }) => + _i3.SentryTransaction? transaction, { + _i2.SentryTraceContextHeader? traceContext, + }) => (super.noSuchMethod( Invocation.method( #captureTransaction, @@ -1130,10 +1130,10 @@ class MockHub extends _i1.Mock implements _i2.Hub { @override void setSpanContext( - dynamic throwable, - _i2.ISentrySpan? span, - String? transaction, - ) => + dynamic throwable, + _i2.ISentrySpan? span, + String? transaction, + ) => super.noSuchMethod( Invocation.method( #setSpanContext, From ddc6bad6f415606bed76d0b47622ef3c0587da63 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 13:37:35 +0100 Subject: [PATCH 40/72] Remove redundant test --- drift/test/sentry_database_test.dart | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 4d8d652318..19fa4dfbab 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -271,30 +271,6 @@ void main() { expect(fixture.tracer.children.isEmpty, true); }); - - test('batch does not add span for failed operations', () async { - final lazyDatabase = MockLazyDatabase(); - final queryExecutor = SentryQueryExecutor( - () => lazyDatabase, - databaseName: Fixture.dbName, - ); - queryExecutor.setHub(fixture.hub); - when(lazyDatabase.ensureOpen(any)).thenAnswer((_) => Future.value(true)); - when(lazyDatabase.runInsert(any, any)).thenThrow(fixture.exception); - final sut = AppDatabase(queryExecutor); - - try { - await insertRow(sut); - } catch (exception) { - expect(exception, fixture.exception); - } - - verifyErrorSpan( - expectedInsertStatement, - fixture.exception, - fixture.getCreatedSpan(), - ); - }); }); group('adds error span', () { From 3df91516a2da8b4d47cc3a30bd6a0c8cf1e44548 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 16:03:25 +0100 Subject: [PATCH 41/72] Remove debug print --- dart/lib/src/sentry_tracer.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/dart/lib/src/sentry_tracer.dart b/dart/lib/src/sentry_tracer.dart index 478810b483..6012a13bfb 100644 --- a/dart/lib/src/sentry_tracer.dart +++ b/dart/lib/src/sentry_tracer.dart @@ -134,7 +134,6 @@ class SentryTracer extends ISentrySpan { // remove from scope await _hub.configureScope((scope) { if (scope.span == this) { - print('removing span from scope'); scope.span = null; } }); From d0a18ebaed0d0a6bd5853571c34b7ebe3bb8066b Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 16:20:21 +0100 Subject: [PATCH 42/72] update trace origin --- dart/lib/src/sentry_trace_origins.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dart/lib/src/sentry_trace_origins.dart b/dart/lib/src/sentry_trace_origins.dart index 0b148579b3..8910292b74 100644 --- a/dart/lib/src/sentry_trace_origins.dart +++ b/dart/lib/src/sentry_trace_origins.dart @@ -18,7 +18,7 @@ class SentryTraceOrigins { 'auto.db.sqflite.database_executor'; static const autoDbSqfliteDatabaseFactory = 'auto.db.sqflite.database_factory'; - static const autoDbDriftQueryExecutor = 'auto.db.drift.database.executor'; + static const autoDbDriftQueryExecutor = 'auto.db.drift.query.executor'; static const autoDbDriftTransactionExecutor = 'auto.db.drift.transaction.executor'; } From df279995731f2dbff8303da6ceefdb18632e5421 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 7 Nov 2023 16:41:55 +0100 Subject: [PATCH 43/72] Improvements --- drift/lib/src/sentry_query_executor.dart | 4 ++- drift/lib/src/sentry_span_helper.dart | 6 +++- .../lib/src/sentry_transaction_executor.dart | 10 ++++-- drift/test/sentry_database_test.dart | 32 ++++++++++++------- 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/drift/lib/src/sentry_query_executor.dart b/drift/lib/src/sentry_query_executor.dart index 35aca1f931..edcddf630e 100644 --- a/drift/lib/src/sentry_query_executor.dart +++ b/drift/lib/src/sentry_query_executor.dart @@ -67,11 +67,13 @@ class SentryQueryExecutor extends QueryExecutor { @override TransactionExecutor beginTransaction() { final transactionExecutor = _queryExecutor.beginTransaction(); - return SentryTransactionExecutor( + final sentryTransactionExecutor = SentryTransactionExecutor( transactionExecutor, _hub, dbName: _dbName, ); + sentryTransactionExecutor.beginTransaction(); + return sentryTransactionExecutor; } @override diff --git a/drift/lib/src/sentry_span_helper.dart b/drift/lib/src/sentry_span_helper.dart index cad09f7f5a..762bd24d08 100644 --- a/drift/lib/src/sentry_span_helper.dart +++ b/drift/lib/src/sentry_span_helper.dart @@ -27,8 +27,12 @@ class SentrySpanHelper { String description, Future Function() execute, { String? dbName, + bool useTransactionSpan = false, }) async { - final currentSpan = _hub.getSpan(); + ISentrySpan? currentSpan = _hub.getSpan(); + if (useTransactionSpan) { + currentSpan = transactionSpan; + } final span = currentSpan?.startChild( SentryQueryExecutor.dbOp, description: description, diff --git a/drift/lib/src/sentry_transaction_executor.dart b/drift/lib/src/sentry_transaction_executor.dart index b43ad75486..d4b632b27b 100644 --- a/drift/lib/src/sentry_transaction_executor.dart +++ b/drift/lib/src/sentry_transaction_executor.dart @@ -22,7 +22,6 @@ class SentryTransactionExecutor extends TransactionExecutor { : _hub = hub, _dbName = dbName { _spanHelper.setHub(_hub); - beginTransaction(); } @override @@ -81,7 +80,14 @@ class SentryTransactionExecutor extends TransactionExecutor { @override Future runInsert(String statement, List args) { - return _executor.runInsert(statement, args); + return _spanHelper.asyncWrapInSpan( + 'within transaction: $statement', + () async { + return _executor.runInsert(statement, args); + }, + dbName: _dbName, + useTransactionSpan: true, + ); } @override diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 19fa4dfbab..e4f0ad6182 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -175,10 +175,16 @@ void main() { }); verifySpan( - 'transaction', + 'within transaction: $expectedInsertStatement', fixture.getCreatedSpan(), origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, ); + + verifySpan( + 'transaction', + fixture.getCreatedSpanByDescription('transaction'), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); }); test('transaction rollback adds span', () async { @@ -379,19 +385,21 @@ void main() { when(mockTransactionExecutor.beginTransaction()) .thenThrow(fixture.exception); - try { - // We need to move it inside the try/catch becaue SentryTransactionExecutor - // starts beginTransaction() directly after init - final SentryTransactionExecutor transactionExecutor = - SentryTransactionExecutor( - mockTransactionExecutor, - fixture.hub, - dbName: Fixture.dbName, - ); + // We need to move it inside the try/catch becaue SentryTransactionExecutor + // starts beginTransaction() directly after init + final SentryTransactionExecutor transactionExecutor = + SentryTransactionExecutor( + mockTransactionExecutor, + fixture.hub, + dbName: Fixture.dbName, + ); - when(fixture.mockLazyDatabase.beginTransaction()) - .thenReturn(transactionExecutor); + when(fixture.mockLazyDatabase.beginTransaction()) + .thenReturn(transactionExecutor); + when(fixture.mockLazyDatabase.runInsert(any, any)).thenAnswer((realInvocation) => Future.value(1)); + + try { await fixture.sut.batch((batch) async { await insertRow(fixture.sut); }); From d83844f710d36a638b01a43544dba80b84ef0575 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Wed, 8 Nov 2023 11:14:08 +0100 Subject: [PATCH 44/72] Improvements --- drift/lib/src/sentry_query_executor.dart | 35 +++-- .../lib/src/sentry_transaction_executor.dart | 59 +++++++- drift/test/sentry_database_test.dart | 140 ++++++++++++++++-- 3 files changed, 205 insertions(+), 29 deletions(-) diff --git a/drift/lib/src/sentry_query_executor.dart b/drift/lib/src/sentry_query_executor.dart index edcddf630e..29697e3c92 100644 --- a/drift/lib/src/sentry_query_executor.dart +++ b/drift/lib/src/sentry_query_executor.dart @@ -12,8 +12,8 @@ typedef DatabaseOpener = FutureOr Function(); /// The Sentry Query Executor. /// -/// If the constructor parameter queryExecutor is not null, it will be used -/// instead of the default [LazyDatabase]. +/// If the constructor parameter queryExecutor is null, [LazyDatabase] will be +/// used as a default. @experimental class SentryQueryExecutor extends QueryExecutor { Hub _hub; @@ -23,7 +23,7 @@ class SentryQueryExecutor extends QueryExecutor { SentryTraceOrigins.autoDbDriftQueryExecutor, ); - final QueryExecutor _queryExecutor; + final QueryExecutor _executor; final String _dbName; @@ -43,6 +43,8 @@ class SentryQueryExecutor extends QueryExecutor { // ignore: public_member_api_docs static const dbSystem = 'sqlite'; + bool _isOpen = false; + /// Declares a [SentryQueryExecutor] that will run [opener] when the database is /// first requested to be opened. You must specify the same [dialect] as the /// underlying database has @@ -53,7 +55,7 @@ class SentryQueryExecutor extends QueryExecutor { required String databaseName, }) : _hub = hub ?? HubAdapter(), _dbName = databaseName, - _queryExecutor = queryExecutor ?? LazyDatabase(opener) { + _executor = queryExecutor ?? LazyDatabase(opener) { _spanHelper.setHub(_hub); } @@ -66,7 +68,7 @@ class SentryQueryExecutor extends QueryExecutor { @override TransactionExecutor beginTransaction() { - final transactionExecutor = _queryExecutor.beginTransaction(); + final transactionExecutor = _executor.beginTransaction(); final sentryTransactionExecutor = SentryTransactionExecutor( transactionExecutor, _hub, @@ -81,7 +83,7 @@ class SentryQueryExecutor extends QueryExecutor { return _spanHelper.asyncWrapInSpan( statements.toString(), () async { - return await _queryExecutor.runBatched(statements); + return await _executor.runBatched(statements); }, dbName: _dbName, ); @@ -89,10 +91,15 @@ class SentryQueryExecutor extends QueryExecutor { @override Future ensureOpen(QueryExecutorUser user) { + if (_isOpen) { + return Future.value(true); + } return _spanHelper.asyncWrapInSpan( 'Open DB: $_dbName', () async { - return await _queryExecutor.ensureOpen(user); + final res = await _executor.ensureOpen(user); + _isOpen = true; + return res; }, dbName: _dbName, ); @@ -103,7 +110,7 @@ class SentryQueryExecutor extends QueryExecutor { return _spanHelper.asyncWrapInSpan( statement, () async { - return await _queryExecutor.runCustom(statement, args); + return await _executor.runCustom(statement, args); }, dbName: _dbName, ); @@ -114,7 +121,7 @@ class SentryQueryExecutor extends QueryExecutor { return _spanHelper.asyncWrapInSpan( statement, () async { - return await _queryExecutor.runDelete(statement, args); + return await _executor.runDelete(statement, args); }, dbName: _dbName, ); @@ -125,7 +132,7 @@ class SentryQueryExecutor extends QueryExecutor { return _spanHelper.asyncWrapInSpan( statement, () async { - return await _queryExecutor.runInsert(statement, args); + return await _executor.runInsert(statement, args); }, dbName: _dbName, ); @@ -139,7 +146,7 @@ class SentryQueryExecutor extends QueryExecutor { return _spanHelper.asyncWrapInSpan( statement, () async { - return await _queryExecutor.runSelect(statement, args); + return await _executor.runSelect(statement, args); }, dbName: _dbName, ); @@ -150,7 +157,7 @@ class SentryQueryExecutor extends QueryExecutor { return _spanHelper.asyncWrapInSpan( statement, () async { - return await _queryExecutor.runUpdate(statement, args); + return await _executor.runUpdate(statement, args); }, dbName: _dbName, ); @@ -161,12 +168,12 @@ class SentryQueryExecutor extends QueryExecutor { return _spanHelper.asyncWrapInSpan( 'Close DB: $_dbName', () async { - return await _queryExecutor.close(); + return await _executor.close(); }, dbName: _dbName, ); } @override - SqlDialect get dialect => _queryExecutor.dialect; + SqlDialect get dialect => _executor.dialect; } diff --git a/drift/lib/src/sentry_transaction_executor.dart b/drift/lib/src/sentry_transaction_executor.dart index d4b632b27b..afd7625524 100644 --- a/drift/lib/src/sentry_transaction_executor.dart +++ b/drift/lib/src/sentry_transaction_executor.dart @@ -17,6 +17,10 @@ class SentryTransactionExecutor extends TransactionExecutor { final String? _dbName; + bool _isOpen = false; + + final _withinTransactionDescription = 'Within transaction: '; + /// @nodoc SentryTransactionExecutor(this._executor, Hub hub, {@internal String? dbName}) : _hub = hub, @@ -54,7 +58,18 @@ class SentryTransactionExecutor extends TransactionExecutor { @override Future ensureOpen(QueryExecutorUser user) { - return _executor.ensureOpen(user); + if (_isOpen) { + return Future.value(true); + } + return _spanHelper.asyncWrapInSpan( + 'Open transaction', + () async { + final res = await _executor.ensureOpen(user); + _isOpen = true; + return res; + }, + dbName: _dbName, + ); } @override @@ -70,18 +85,32 @@ class SentryTransactionExecutor extends TransactionExecutor { @override Future runCustom(String statement, [List? args]) { - return _executor.runCustom(statement, args); + return _spanHelper.asyncWrapInSpan( + _spanDescriptionForOperations(statement), + () async { + return _executor.runCustom(statement, args); + }, + dbName: _dbName, + useTransactionSpan: true, + ); } @override Future runDelete(String statement, List args) { - return _executor.runDelete(statement, args); + return _spanHelper.asyncWrapInSpan( + _spanDescriptionForOperations(statement), + () async { + return _executor.runDelete(statement, args); + }, + dbName: _dbName, + useTransactionSpan: true, + ); } @override Future runInsert(String statement, List args) { return _spanHelper.asyncWrapInSpan( - 'within transaction: $statement', + _spanDescriptionForOperations(statement), () async { return _executor.runInsert(statement, args); }, @@ -95,14 +124,32 @@ class SentryTransactionExecutor extends TransactionExecutor { String statement, List args, ) { - return _executor.runSelect(statement, args); + return _spanHelper.asyncWrapInSpan( + _spanDescriptionForOperations(statement), + () async { + return _executor.runSelect(statement, args); + }, + dbName: _dbName, + useTransactionSpan: true, + ); } @override Future runUpdate(String statement, List args) { - return _executor.runUpdate(statement, args); + return _spanHelper.asyncWrapInSpan( + _spanDescriptionForOperations(statement), + () async { + return _executor.runUpdate(statement, args); + }, + dbName: _dbName, + useTransactionSpan: true, + ); } @override bool get supportsNestedTransactions => _executor.supportsNestedTransactions; + + String _spanDescriptionForOperations(String operation) { + return '$_withinTransactionDescription$operation'; + } } diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index e4f0ad6182..abb9efb95c 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -22,6 +22,8 @@ void main() { final expectedDeleteStatement = 'DELETE FROM "todo_items";'; final expectedCloseStatement = 'Close DB: ${Fixture.dbName}'; final expectedOpenStatement = 'Open DB: ${Fixture.dbName}'; + final expectedTransactionStatement = 'transaction'; + final withinTransactionDescription = 'Within transaction: '; void verifySpan( String description, @@ -121,6 +123,22 @@ void main() { await fixture.tearDown(); }); + test('open span is only added once', () async { + final sut = fixture.sut; + + await insertRow(sut); + await insertRow(sut); + await insertRow(sut); + + final openSpansCount = fixture.tracer.children + .where( + (element) => element.context.description == expectedOpenStatement, + ) + .length; + + expect(openSpansCount, 1); + }); + test('insert adds span', () async { final sut = fixture.sut; @@ -167,22 +185,122 @@ void main() { ); }); - test('transaction adds span', () async { + test('transaction adds insert spans', () async { + final sut = fixture.sut; + + await sut.transaction(() async { + await insertRow(sut); + await insertRow(sut); + }); + + final insertSpanCount = fixture.tracer.children + .where( + (element) => + element.context.description == + '$withinTransactionDescription$expectedInsertStatement', + ) + .length; + expect(insertSpanCount, 2); + + verifySpan( + '$withinTransactionDescription$expectedInsertStatement', + fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); + + verifySpan( + expectedTransactionStatement, + fixture.getCreatedSpanByDescription(expectedTransactionStatement), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); + }); + + test('transaction adds update spans', () async { final sut = fixture.sut; await sut.transaction(() async { await insertRow(sut); + await updateRow(sut); }); + final updateSpanCount = fixture.tracer.children + .where( + (element) => + element.context.description == + '$withinTransactionDescription$expectedUpdateStatement', + ) + .length; + expect(updateSpanCount, 1); + verifySpan( - 'within transaction: $expectedInsertStatement', + '$withinTransactionDescription$expectedUpdateStatement', fixture.getCreatedSpan(), origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, ); verifySpan( - 'transaction', - fixture.getCreatedSpanByDescription('transaction'), + expectedTransactionStatement, + fixture.getCreatedSpanByDescription(expectedTransactionStatement), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); + }); + + test('transaction adds delete spans', () async { + final sut = fixture.sut; + + await sut.transaction(() async { + await insertRow(sut); + await fixture.sut.delete(fixture.sut.todoItems).go(); + }); + + final deleteSpanCount = fixture.tracer.children + .where( + (element) => + element.context.description == + '$withinTransactionDescription$expectedDeleteStatement', + ) + .length; + expect(deleteSpanCount, 1); + + verifySpan( + '$withinTransactionDescription$expectedDeleteStatement', + fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); + + verifySpan( + expectedTransactionStatement, + fixture.getCreatedSpanByDescription(expectedTransactionStatement), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); + }); + + test('transaction adds custom spans', () async { + final sut = fixture.sut; + + await sut.transaction(() async { + await insertRow(sut); + await sut.customStatement('SELECT * FROM todo_items'); + }); + + final customSpanCount = fixture.tracer.children + .where( + (element) => + element.context.description == + '$withinTransactionDescription$expectedSelectStatement', + ) + .length; + expect(customSpanCount, 1); + + verifySpan( + '$withinTransactionDescription$expectedSelectStatement', + fixture.getCreatedSpan(), + origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, + ); + + verifySpan( + expectedTransactionStatement, + fixture.getCreatedSpanByDescription(expectedTransactionStatement), origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, ); }); @@ -190,6 +308,9 @@ void main() { test('transaction rollback adds span', () async { final sut = fixture.sut; + await insertRow(sut); + await insertRow(sut); + try { await sut.transaction(() async { await insertRow(sut, withError: true); @@ -197,7 +318,7 @@ void main() { } catch (_) {} verifySpan( - 'transaction', + expectedTransactionStatement, fixture.getCreatedSpan(), origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, status: SpanStatus.aborted(), @@ -373,7 +494,7 @@ void main() { } verifyErrorSpan( - 'transaction', + expectedTransactionStatement, fixture.exception, fixture.getCreatedSpan(), origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, @@ -388,7 +509,7 @@ void main() { // We need to move it inside the try/catch becaue SentryTransactionExecutor // starts beginTransaction() directly after init final SentryTransactionExecutor transactionExecutor = - SentryTransactionExecutor( + SentryTransactionExecutor( mockTransactionExecutor, fixture.hub, dbName: Fixture.dbName, @@ -397,7 +518,8 @@ void main() { when(fixture.mockLazyDatabase.beginTransaction()) .thenReturn(transactionExecutor); - when(fixture.mockLazyDatabase.runInsert(any, any)).thenAnswer((realInvocation) => Future.value(1)); + when(fixture.mockLazyDatabase.runInsert(any, any)) + .thenAnswer((realInvocation) => Future.value(1)); try { await fixture.sut.batch((batch) async { @@ -408,7 +530,7 @@ void main() { } verifyErrorSpan( - 'transaction', + expectedTransactionStatement, fixture.exception, fixture.getCreatedSpan(), origin: SentryTraceOrigins.autoDbDriftTransactionExecutor, From 8d68a8429eb521647fafd3695fa01504e4f4cb84 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 13 Nov 2023 12:10:28 +0100 Subject: [PATCH 45/72] Add to flutter example --- drift/example/database.dart | 9 +- drift/example/example.dart | 2 +- flutter/example/lib/drift/database.dart | 21 ++ flutter/example/lib/drift/database.g.dart | 269 ++++++++++++++++++++++ flutter/example/lib/main.dart | 35 +++ flutter/example/pubspec.yaml | 3 + flutter/example/pubspec_overrides.yaml | 2 + 7 files changed, 332 insertions(+), 9 deletions(-) create mode 100644 flutter/example/lib/drift/database.dart create mode 100644 flutter/example/lib/drift/database.g.dart diff --git a/drift/example/database.dart b/drift/example/database.dart index 08afa45250..71a467b984 100644 --- a/drift/example/database.dart +++ b/drift/example/database.dart @@ -14,15 +14,8 @@ class TodoItems extends Table { @DriftDatabase(tables: [TodoItems]) class AppDatabase extends _$AppDatabase { - AppDatabase() : super(_openConnection()); + AppDatabase(super.e); @override int get schemaVersion => 1; } - -LazyDatabase _openConnection() { - // the LazyDatabase util lets us find the right location for the file async. - return LazyDatabase(() async { - return NativeDatabase.memory(); - }); -} diff --git a/drift/example/example.dart b/drift/example/example.dart index 6f8f3a9f27..bfe8b6d8e6 100644 --- a/drift/example/example.dart +++ b/drift/example/example.dart @@ -3,7 +3,7 @@ import 'package:drift/native.dart'; import 'package:sentry/sentry.dart'; import 'package:sentry_drift/sentry_drift.dart'; -import '../test/test_database.dart'; +import 'database.dart'; Future main() async { // ATTENTION: Change the DSN below with your own to see the events in Sentry. Get one at sentry.io diff --git a/flutter/example/lib/drift/database.dart b/flutter/example/lib/drift/database.dart new file mode 100644 index 0000000000..71a467b984 --- /dev/null +++ b/flutter/example/lib/drift/database.dart @@ -0,0 +1,21 @@ +import 'dart:io'; + +import 'package:drift/drift.dart'; +import 'package:drift/native.dart'; + +part 'database.g.dart'; + +class TodoItems extends Table { + IntColumn get id => integer().autoIncrement()(); + TextColumn get title => text().withLength(min: 6, max: 32)(); + TextColumn get content => text().named('body')(); + IntColumn get category => integer().nullable()(); +} + +@DriftDatabase(tables: [TodoItems]) +class AppDatabase extends _$AppDatabase { + AppDatabase(super.e); + + @override + int get schemaVersion => 1; +} diff --git a/flutter/example/lib/drift/database.g.dart b/flutter/example/lib/drift/database.g.dart new file mode 100644 index 0000000000..1f9d234456 --- /dev/null +++ b/flutter/example/lib/drift/database.g.dart @@ -0,0 +1,269 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'database.dart'; + +// ignore_for_file: type=lint +class $TodoItemsTable extends TodoItems + with TableInfo<$TodoItemsTable, TodoItem> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $TodoItemsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); + static const VerificationMeta _titleMeta = const VerificationMeta('title'); + @override + late final GeneratedColumn title = GeneratedColumn( + 'title', aliasedName, false, + additionalChecks: + GeneratedColumn.checkTextLength(minTextLength: 6, maxTextLength: 32), + type: DriftSqlType.string, + requiredDuringInsert: true); + static const VerificationMeta _contentMeta = + const VerificationMeta('content'); + @override + late final GeneratedColumn content = GeneratedColumn( + 'body', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + static const VerificationMeta _categoryMeta = + const VerificationMeta('category'); + @override + late final GeneratedColumn category = GeneratedColumn( + 'category', aliasedName, true, + type: DriftSqlType.int, requiredDuringInsert: false); + @override + List get $columns => [id, title, content, category]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'todo_items'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('title')) { + context.handle( + _titleMeta, title.isAcceptableOrUnknown(data['title']!, _titleMeta)); + } else if (isInserting) { + context.missing(_titleMeta); + } + if (data.containsKey('body')) { + context.handle(_contentMeta, + content.isAcceptableOrUnknown(data['body']!, _contentMeta)); + } else if (isInserting) { + context.missing(_contentMeta); + } + if (data.containsKey('category')) { + context.handle(_categoryMeta, + category.isAcceptableOrUnknown(data['category']!, _categoryMeta)); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + TodoItem map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return TodoItem( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + title: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}title'])!, + content: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}body'])!, + category: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}category']), + ); + } + + @override + $TodoItemsTable createAlias(String alias) { + return $TodoItemsTable(attachedDatabase, alias); + } +} + +class TodoItem extends DataClass implements Insertable { + final int id; + final String title; + final String content; + final int? category; + const TodoItem( + {required this.id, + required this.title, + required this.content, + this.category}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['title'] = Variable(title); + map['body'] = Variable(content); + if (!nullToAbsent || category != null) { + map['category'] = Variable(category); + } + return map; + } + + TodoItemsCompanion toCompanion(bool nullToAbsent) { + return TodoItemsCompanion( + id: Value(id), + title: Value(title), + content: Value(content), + category: category == null && nullToAbsent + ? const Value.absent() + : Value(category), + ); + } + + factory TodoItem.fromJson(Map json, + {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return TodoItem( + id: serializer.fromJson(json['id']), + title: serializer.fromJson(json['title']), + content: serializer.fromJson(json['content']), + category: serializer.fromJson(json['category']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'title': serializer.toJson(title), + 'content': serializer.toJson(content), + 'category': serializer.toJson(category), + }; + } + + TodoItem copyWith( + {int? id, + String? title, + String? content, + Value category = const Value.absent()}) => + TodoItem( + id: id ?? this.id, + title: title ?? this.title, + content: content ?? this.content, + category: category.present ? category.value : this.category, + ); + @override + String toString() { + return (StringBuffer('TodoItem(') + ..write('id: $id, ') + ..write('title: $title, ') + ..write('content: $content, ') + ..write('category: $category') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, title, content, category); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is TodoItem && + other.id == this.id && + other.title == this.title && + other.content == this.content && + other.category == this.category); +} + +class TodoItemsCompanion extends UpdateCompanion { + final Value id; + final Value title; + final Value content; + final Value category; + const TodoItemsCompanion({ + this.id = const Value.absent(), + this.title = const Value.absent(), + this.content = const Value.absent(), + this.category = const Value.absent(), + }); + TodoItemsCompanion.insert({ + this.id = const Value.absent(), + required String title, + required String content, + this.category = const Value.absent(), + }) : title = Value(title), + content = Value(content); + static Insertable custom({ + Expression? id, + Expression? title, + Expression? content, + Expression? category, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (title != null) 'title': title, + if (content != null) 'body': content, + if (category != null) 'category': category, + }); + } + + TodoItemsCompanion copyWith( + {Value? id, + Value? title, + Value? content, + Value? category}) { + return TodoItemsCompanion( + id: id ?? this.id, + title: title ?? this.title, + content: content ?? this.content, + category: category ?? this.category, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (title.present) { + map['title'] = Variable(title.value); + } + if (content.present) { + map['body'] = Variable(content.value); + } + if (category.present) { + map['category'] = Variable(category.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('TodoItemsCompanion(') + ..write('id: $id, ') + ..write('title: $title, ') + ..write('content: $content, ') + ..write('category: $category') + ..write(')')) + .toString(); + } +} + +abstract class _$AppDatabase extends GeneratedDatabase { + _$AppDatabase(QueryExecutor e) : super(e); + late final $TodoItemsTable todoItems = $TodoItemsTable(this); + @override + Iterable> get allTables => + allSchemaEntities.whereType>(); + @override + List get allSchemaEntities => [todoItems]; +} diff --git a/flutter/example/lib/main.dart b/flutter/example/lib/main.dart index 3d044c155d..c82ccd422f 100644 --- a/flutter/example/lib/main.dart +++ b/flutter/example/lib/main.dart @@ -3,10 +3,12 @@ import 'dart:async'; import 'dart:convert'; +import 'package:drift/native.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:logging/logging.dart'; +import 'package:sentry_drift/sentry_drift.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:sentry_sqflite/sentry_sqflite.dart'; import 'package:sqflite/sqflite.dart'; @@ -15,6 +17,7 @@ import 'package:sqflite/sqflite.dart'; import 'package:universal_platform/universal_platform.dart'; import 'package:feedback/feedback.dart' as feedback; import 'package:provider/provider.dart'; +import 'drift/database.dart'; import 'user_feedback_dialog.dart'; import 'package:dio/dio.dart'; import 'package:sentry_dio/sentry_dio.dart'; @@ -149,6 +152,10 @@ class MainScaffold extends StatelessWidget { children: [ if (_isIntegrationTest) const IntegrationTestWidget(), const Center(child: Text('Trigger an action:\n')), + ElevatedButton( + onPressed: () => driftTest(), + child: const Text('drift'), + ), ElevatedButton( onPressed: () => sqfliteTest(), child: const Text('sqflite'), @@ -467,6 +474,34 @@ class MainScaffold extends StatelessWidget { await tr.finish(status: const SpanStatus.ok()); } + + Future driftTest() async { + final tr = Sentry.startTransaction( + 'driftTest', + 'db', + bindToScope: true, + ); + + final executor = SentryQueryExecutor( + () => NativeDatabase.memory(), + databaseName: 'sentry_inmemory_db', + ); + + final db = AppDatabase(executor); + + await db.into(db.todoItems).insert( + TodoItemsCompanion.insert( + title: 'This is a test thing', + content: 'test', + ), + ); + + await db.select(db.todoItems).get(); + + await db.close(); + + await tr.finish(status: const SpanStatus.ok()); + } } extension BuildContextExtension on BuildContext { diff --git a/flutter/example/pubspec.yaml b/flutter/example/pubspec.yaml index b375a829d0..d7e5b0b244 100644 --- a/flutter/example/pubspec.yaml +++ b/flutter/example/pubspec.yaml @@ -17,17 +17,20 @@ dependencies: sentry_logging: sentry_sqflite: sentry_file: + sentry_drift: universal_platform: ^1.0.0 feedback: ^2.0.0 provider: ^6.0.0 dio: any # This gets constrained by `sentry_dio` sqflite: any # This gets constrained by `sentry_sqflite` logging: any # This gets constrained by `sentry_logging` + drift: any # This gets constrained by `sentry_drift` package_info_plus: ^4.0.0 path_provider: ^2.0.0 #sqflite_common_ffi: ^2.0.0 #sqflite_common_ffi_web: ^0.3.0 http: ^1.0.0 + sqlite3_flutter_libs: ^0.5.0 dev_dependencies: flutter_lints: ^2.0.0 diff --git a/flutter/example/pubspec_overrides.yaml b/flutter/example/pubspec_overrides.yaml index 7afb410d83..fd543af840 100644 --- a/flutter/example/pubspec_overrides.yaml +++ b/flutter/example/pubspec_overrides.yaml @@ -11,3 +11,5 @@ dependency_overrides: path: ../../sqflite sentry_file: path: ../../file + sentry_drift: + path: ../../drift From 40082e011c607748b57779971ddb1e98b45387dc Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Mon, 13 Nov 2023 12:47:41 +0100 Subject: [PATCH 46/72] Skip web in examples --- flutter/example/lib/main.dart | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/flutter/example/lib/main.dart b/flutter/example/lib/main.dart index c82ccd422f..8afd51b8e2 100644 --- a/flutter/example/lib/main.dart +++ b/flutter/example/lib/main.dart @@ -12,6 +12,7 @@ import 'package:sentry_drift/sentry_drift.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:sentry_sqflite/sentry_sqflite.dart'; import 'package:sqflite/sqflite.dart'; + // import 'package:sqflite_common_ffi/sqflite_ffi.dart'; // import 'package:sqflite_common_ffi_web/sqflite_ffi_web.dart'; import 'package:universal_platform/universal_platform.dart'; @@ -152,10 +153,12 @@ class MainScaffold extends StatelessWidget { children: [ if (_isIntegrationTest) const IntegrationTestWidget(), const Center(child: Text('Trigger an action:\n')), - ElevatedButton( - onPressed: () => driftTest(), - child: const Text('drift'), - ), + // For simplicity sake we skip the web set up. + if (!UniversalPlatform.isWeb) + ElevatedButton( + onPressed: () => driftTest(), + child: const Text('drift'), + ), ElevatedButton( onPressed: () => sqfliteTest(), child: const Text('sqflite'), From 76065c7b651c4345033dadb8a676b93a83b7e28f Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 11:25:22 +0100 Subject: [PATCH 47/72] Update comment --- .craft.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.craft.yml b/.craft.yml index 86a17de736..b456b09aab 100644 --- a/.craft.yml +++ b/.craft.yml @@ -21,5 +21,5 @@ targets: pub:sentry_dio: pub:sentry_file: pub:sentry_sqflite: - # This needs to be added to the Sentry registry before uncommenting + # This needs to be published on pub.dev first before uncommenting # pub:sentry_drift: From 908d6190ceed44b87a8fb580d9bf2d49664330c4 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 13:48:28 +0100 Subject: [PATCH 48/72] Fix web build --- .../example/lib/drift/connection/connection.dart | 2 ++ flutter/example/lib/drift/connection/native.dart | 7 +++++++ .../lib/drift/connection/unsupported.dart | 16 ++++++++++++++++ flutter/example/lib/drift/database.dart | 3 --- flutter/example/lib/main.dart | 6 +++--- 5 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 flutter/example/lib/drift/connection/connection.dart create mode 100644 flutter/example/lib/drift/connection/native.dart create mode 100644 flutter/example/lib/drift/connection/unsupported.dart diff --git a/flutter/example/lib/drift/connection/connection.dart b/flutter/example/lib/drift/connection/connection.dart new file mode 100644 index 0000000000..6792770848 --- /dev/null +++ b/flutter/example/lib/drift/connection/connection.dart @@ -0,0 +1,2 @@ +export 'unsupported.dart' + if (dart.library.ffi) 'native.dart'; diff --git a/flutter/example/lib/drift/connection/native.dart b/flutter/example/lib/drift/connection/native.dart new file mode 100644 index 0000000000..fb9987412e --- /dev/null +++ b/flutter/example/lib/drift/connection/native.dart @@ -0,0 +1,7 @@ +import 'package:drift/backends.dart'; +import 'package:drift/drift.dart'; +import 'package:drift/native.dart'; + +QueryExecutor inMemoryExecutor() { + return NativeDatabase.memory(); +} diff --git a/flutter/example/lib/drift/connection/unsupported.dart b/flutter/example/lib/drift/connection/unsupported.dart new file mode 100644 index 0000000000..b122e7131c --- /dev/null +++ b/flutter/example/lib/drift/connection/unsupported.dart @@ -0,0 +1,16 @@ +import 'package:drift/drift.dart'; + +Never _unsupported() { + throw UnsupportedError( + 'No suitable database implementation was found on this platform.'); +} + +// Depending on the platform the app is compiled to, the following stubs will +// be replaced with the methods in native.dart or web.dart + +QueryExecutor inMemoryExecutor() { + return _unsupported(); +} +Future validateDatabaseSchema(GeneratedDatabase database) async { + _unsupported(); +} diff --git a/flutter/example/lib/drift/database.dart b/flutter/example/lib/drift/database.dart index 71a467b984..914a87ca1a 100644 --- a/flutter/example/lib/drift/database.dart +++ b/flutter/example/lib/drift/database.dart @@ -1,7 +1,4 @@ -import 'dart:io'; - import 'package:drift/drift.dart'; -import 'package:drift/native.dart'; part 'database.g.dart'; diff --git a/flutter/example/lib/main.dart b/flutter/example/lib/main.dart index 8afd51b8e2..27912ce757 100644 --- a/flutter/example/lib/main.dart +++ b/flutter/example/lib/main.dart @@ -3,7 +3,6 @@ import 'dart:async'; import 'dart:convert'; -import 'package:drift/native.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -19,6 +18,7 @@ import 'package:universal_platform/universal_platform.dart'; import 'package:feedback/feedback.dart' as feedback; import 'package:provider/provider.dart'; import 'drift/database.dart'; +import 'drift/connection/connection.dart'; import 'user_feedback_dialog.dart'; import 'package:dio/dio.dart'; import 'package:sentry_dio/sentry_dio.dart'; @@ -153,7 +153,7 @@ class MainScaffold extends StatelessWidget { children: [ if (_isIntegrationTest) const IntegrationTestWidget(), const Center(child: Text('Trigger an action:\n')), - // For simplicity sake we skip the web set up. + // For simplicity sake we skip the web set up for now. if (!UniversalPlatform.isWeb) ElevatedButton( onPressed: () => driftTest(), @@ -486,7 +486,7 @@ class MainScaffold extends StatelessWidget { ); final executor = SentryQueryExecutor( - () => NativeDatabase.memory(), + () async => inMemoryExecutor(), databaseName: 'sentry_inmemory_db', ); From bf5c20ebceadd01608327862d3c26bc9d17da5eb Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:00:53 +0100 Subject: [PATCH 49/72] Try and set sqlite on windows --- .github/workflows/drift.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index b9719a9548..8582cd6226 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -32,10 +32,9 @@ jobs: strategy: fail-fast: false matrix: - # skipping Windows for now since it requires sqlite3.dll to get working - os: [ubuntu-latest, macos-latest] - target: ["ios", "android", "macos", "linux"] - sdk: ["stable", "beta"] + os: [ ubuntu-latest, macos-latest, windows-latest ] + target: [ "ios", "android", "macos", "linux" ] + sdk: [ "stable", "beta" ] exclude: - os: ubuntu-latest target: ios @@ -71,6 +70,17 @@ jobs: java-version: "11" distribution: "adopt" + - name: "Setup Windows" + run: | + mkdir -p $HOME/sqlite + curl -L https://www.sqlite.org/2023/sqlite-dll-win-x64-3440000.zip -o sqlite.zip + unzip sqlite.zip -d $HOME/sqlite + echo "::add-path::$HOME/sqlite" + if: matrix.os == 'windows-latest' && matrix.target == 'windows' + + - name: Show SQLite version + run: sqlite3 --version + # Install required dependencies for Flutter on Linux on Ubuntu - name: "Setup Linux" run: | From 8b02069563011d4f9a6440b66487cfc1a3c32f55 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:03:48 +0100 Subject: [PATCH 50/72] trigger --- flutter/example/lib/main.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flutter/example/lib/main.dart b/flutter/example/lib/main.dart index 27912ce757..2011342d2a 100644 --- a/flutter/example/lib/main.dart +++ b/flutter/example/lib/main.dart @@ -487,7 +487,7 @@ class MainScaffold extends StatelessWidget { final executor = SentryQueryExecutor( () async => inMemoryExecutor(), - databaseName: 'sentry_inmemory_db', + databaseName: 'sentry_in_memory_db', ); final db = AppDatabase(executor); From 9577c11c68f5d5ac26892c381ba0d94de2a8bd3e Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:12:50 +0100 Subject: [PATCH 51/72] maybe fix workflow --- .github/workflows/drift.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 8582cd6226..e7512bab2a 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -33,7 +33,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, macos-latest, windows-latest ] - target: [ "ios", "android", "macos", "linux" ] + target: [ "ios", "android", "macos", "linux", "windows" ] sdk: [ "stable", "beta" ] exclude: - os: ubuntu-latest From 984f88a335ea29ee0eb6aa495d0fef6ae8fdc3e5 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:13:49 +0100 Subject: [PATCH 52/72] fix --- .github/workflows/drift.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index e7512bab2a..bfd225ccac 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -70,16 +70,16 @@ jobs: java-version: "11" distribution: "adopt" - - name: "Setup Windows" - run: | - mkdir -p $HOME/sqlite - curl -L https://www.sqlite.org/2023/sqlite-dll-win-x64-3440000.zip -o sqlite.zip - unzip sqlite.zip -d $HOME/sqlite - echo "::add-path::$HOME/sqlite" - if: matrix.os == 'windows-latest' && matrix.target == 'windows' - - - name: Show SQLite version - run: sqlite3 --version +# - name: "Setup Windows" +# run: | +# mkdir -p $HOME/sqlite +# curl -L https://www.sqlite.org/2023/sqlite-dll-win-x64-3440000.zip -o sqlite.zip +# unzip sqlite.zip -d $HOME/sqlite +# echo "::add-path::$HOME/sqlite" +# if: matrix.os == 'windows-latest' && matrix.target == 'windows' +# +# - name: Show SQLite version +# run: sqlite3 --version # Install required dependencies for Flutter on Linux on Ubuntu - name: "Setup Linux" From 9132516f9613338d66d8d72babce64a0dc547c2c Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:15:01 +0100 Subject: [PATCH 53/72] trigger --- flutter/example/lib/main.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/flutter/example/lib/main.dart b/flutter/example/lib/main.dart index 2011342d2a..86bb0f04eb 100644 --- a/flutter/example/lib/main.dart +++ b/flutter/example/lib/main.dart @@ -489,6 +489,7 @@ class MainScaffold extends StatelessWidget { () async => inMemoryExecutor(), databaseName: 'sentry_in_memory_db', ); + // remove after final db = AppDatabase(executor); From 0a58ba92c6e49cf26ecc276dc45f4bfd9d22a512 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:15:56 +0100 Subject: [PATCH 54/72] trigger --- drift/example/example.dart | 1 + flutter/example/lib/main.dart | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/drift/example/example.dart b/drift/example/example.dart index bfe8b6d8e6..3b68c94dad 100644 --- a/drift/example/example.dart +++ b/drift/example/example.dart @@ -39,6 +39,7 @@ Future runApp() async { print(items); await db.close(); + // remove after await tr.finish(status: const SpanStatus.ok()); } diff --git a/flutter/example/lib/main.dart b/flutter/example/lib/main.dart index 86bb0f04eb..2011342d2a 100644 --- a/flutter/example/lib/main.dart +++ b/flutter/example/lib/main.dart @@ -489,7 +489,6 @@ class MainScaffold extends StatelessWidget { () async => inMemoryExecutor(), databaseName: 'sentry_in_memory_db', ); - // remove after final db = AppDatabase(executor); From 8b3928fad45a3da44fc7b096018650bac42585ae Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:18:05 +0100 Subject: [PATCH 55/72] maybe trigger --- .github/workflows/drift.yml | 11 ----------- drift/example/example.dart | 2 +- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index bfd225ccac..8a7ea134c2 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -70,17 +70,6 @@ jobs: java-version: "11" distribution: "adopt" -# - name: "Setup Windows" -# run: | -# mkdir -p $HOME/sqlite -# curl -L https://www.sqlite.org/2023/sqlite-dll-win-x64-3440000.zip -o sqlite.zip -# unzip sqlite.zip -d $HOME/sqlite -# echo "::add-path::$HOME/sqlite" -# if: matrix.os == 'windows-latest' && matrix.target == 'windows' -# -# - name: Show SQLite version -# run: sqlite3 --version - # Install required dependencies for Flutter on Linux on Ubuntu - name: "Setup Linux" run: | diff --git a/drift/example/example.dart b/drift/example/example.dart index 3b68c94dad..10ba57b0a5 100644 --- a/drift/example/example.dart +++ b/drift/example/example.dart @@ -39,7 +39,7 @@ Future runApp() async { print(items); await db.close(); - // remove after + // remove afterr await tr.finish(status: const SpanStatus.ok()); } From 42e88d3a69ab0e67e7be6281c021d20984d877e5 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:19:26 +0100 Subject: [PATCH 56/72] maybe trigger --- .github/workflows/drift.yml | 4 ++-- drift/example/example.dart | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 8a7ea134c2..e09dbd489a 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -32,8 +32,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-latest, macos-latest, windows-latest ] - target: [ "ios", "android", "macos", "linux", "windows" ] + os: [ ubuntu-latest, macos-latest ] + target: [ "ios", "android", "macos", "linux" ] sdk: [ "stable", "beta" ] exclude: - os: ubuntu-latest diff --git a/drift/example/example.dart b/drift/example/example.dart index 10ba57b0a5..3b68c94dad 100644 --- a/drift/example/example.dart +++ b/drift/example/example.dart @@ -39,7 +39,7 @@ Future runApp() async { print(items); await db.close(); - // remove afterr + // remove after await tr.finish(status: const SpanStatus.ok()); } From 8b54152d4eb81eb9ec6a1bf6f0ec7d642e84367e Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:22:44 +0100 Subject: [PATCH 57/72] maybe trigger --- .github/workflows/drift.yml | 17 ++++++++++++++--- drift/example/example.dart | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index e09dbd489a..693ae6d4cd 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -32,9 +32,9 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-latest, macos-latest ] - target: [ "ios", "android", "macos", "linux" ] - sdk: [ "stable", "beta" ] + os: [ubuntu-latest, macos-latest, windows-latest] + target: ["ios", "android", "macos", "linux", "windows"] + sdk: ["stable", "beta"] exclude: - os: ubuntu-latest target: ios @@ -70,6 +70,17 @@ jobs: java-version: "11" distribution: "adopt" + - name: "Setup Windows" + run: | + mkdir -p $HOME/sqlite + curl -L https://www.sqlite.org/2023/sqlite-dll-win-x64-3440000.zip -o sqlite.zip + unzip sqlite.zip -d $HOME/sqlite + echo "::add-path::$HOME/sqlite" + if: matrix.os == 'windows-latest' && matrix.target == 'windows' + + - name: Show SQLite version + run: sqlite3 --version + # Install required dependencies for Flutter on Linux on Ubuntu - name: "Setup Linux" run: | diff --git a/drift/example/example.dart b/drift/example/example.dart index 3b68c94dad..10ba57b0a5 100644 --- a/drift/example/example.dart +++ b/drift/example/example.dart @@ -39,7 +39,7 @@ Future runApp() async { print(items); await db.close(); - // remove after + // remove afterr await tr.finish(status: const SpanStatus.ok()); } From 4f0af7101f0e3bcab217e4655f924f67bf66df5e Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:23:31 +0100 Subject: [PATCH 58/72] fix --- .github/workflows/drift.yml | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 693ae6d4cd..863db28bb8 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -32,8 +32,9 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - target: ["ios", "android", "macos", "linux", "windows"] + # skipping Windows for now since it requires sqlite3.dll to get working + os: [ubuntu-latest, macos-latest] + target: ["ios", "android", "macos", "linux"] sdk: ["stable", "beta"] exclude: - os: ubuntu-latest @@ -70,17 +71,6 @@ jobs: java-version: "11" distribution: "adopt" - - name: "Setup Windows" - run: | - mkdir -p $HOME/sqlite - curl -L https://www.sqlite.org/2023/sqlite-dll-win-x64-3440000.zip -o sqlite.zip - unzip sqlite.zip -d $HOME/sqlite - echo "::add-path::$HOME/sqlite" - if: matrix.os == 'windows-latest' && matrix.target == 'windows' - - - name: Show SQLite version - run: sqlite3 --version - # Install required dependencies for Flutter on Linux on Ubuntu - name: "Setup Linux" run: | @@ -122,4 +112,4 @@ jobs: uses: ./.github/workflows/analyze.yml with: package: drift - sdk: flutter + sdk: flutter \ No newline at end of file From 78e56fce33a9292becf0db0b263495249b3744cc Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:25:06 +0100 Subject: [PATCH 59/72] try trigger --- drift/example/example.dart | 1 - flutter/example/lib/main.dart | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drift/example/example.dart b/drift/example/example.dart index 10ba57b0a5..bfe8b6d8e6 100644 --- a/drift/example/example.dart +++ b/drift/example/example.dart @@ -39,7 +39,6 @@ Future runApp() async { print(items); await db.close(); - // remove afterr await tr.finish(status: const SpanStatus.ok()); } diff --git a/flutter/example/lib/main.dart b/flutter/example/lib/main.dart index 2011342d2a..df77111d3e 100644 --- a/flutter/example/lib/main.dart +++ b/flutter/example/lib/main.dart @@ -490,6 +490,8 @@ class MainScaffold extends StatelessWidget { databaseName: 'sentry_in_memory_db', ); + // try + final db = AppDatabase(executor); await db.into(db.todoItems).insert( From 9b0244bdb2f41615a28fd2772630c89a9651a97b Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:29:56 +0100 Subject: [PATCH 60/72] update workflow --- .github/workflows/drift.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 863db28bb8..639b61281b 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -33,8 +33,8 @@ jobs: fail-fast: false matrix: # skipping Windows for now since it requires sqlite3.dll to get working - os: [ubuntu-latest, macos-latest] - target: ["ios", "android", "macos", "linux"] + os: [ubuntu-latest, macos-latest, windows-latest] + target: ["ios", "android", "macos", "linux", "windows"] sdk: ["stable", "beta"] exclude: - os: ubuntu-latest @@ -71,6 +71,16 @@ jobs: java-version: "11" distribution: "adopt" + - name: Setup SQLite + run: | + mkdir -p $HOME/sqlite + curl -L https://www.sqlite.org/2023/sqlite-dll-win64-x64-3420000.zip -o sqlite.zip + unzip sqlite.zip -d $HOME/sqlite + echo "::add-path::$HOME/sqlite" + if: matrix.os == 'windows-latest' && matrix.target == 'windows' + + - name: Show SQLite version + run: sqlite3 --version # Install required dependencies for Flutter on Linux on Ubuntu - name: "Setup Linux" run: | From 70910b330dfb3d9123074ec489d776be9ad32b2e Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:38:05 +0100 Subject: [PATCH 61/72] try github_env --- .github/workflows/drift.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 639b61281b..07ee93486f 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -76,7 +76,7 @@ jobs: mkdir -p $HOME/sqlite curl -L https://www.sqlite.org/2023/sqlite-dll-win64-x64-3420000.zip -o sqlite.zip unzip sqlite.zip -d $HOME/sqlite - echo "::add-path::$HOME/sqlite" + echo "PATH=\$HOME/sqlite:\$PATH" >> $GITHUB_ENV if: matrix.os == 'windows-latest' && matrix.target == 'windows' - name: Show SQLite version From 55a5f4ee9ddfc4eeb00263d4c697898771e1ca6a Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:40:41 +0100 Subject: [PATCH 62/72] try --- .github/workflows/drift.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 07ee93486f..f1670351e7 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -76,7 +76,7 @@ jobs: mkdir -p $HOME/sqlite curl -L https://www.sqlite.org/2023/sqlite-dll-win64-x64-3420000.zip -o sqlite.zip unzip sqlite.zip -d $HOME/sqlite - echo "PATH=\$HOME/sqlite:\$PATH" >> $GITHUB_ENV + echo "$HOME/sqlite" >> $GITHUB_ENV if: matrix.os == 'windows-latest' && matrix.target == 'windows' - name: Show SQLite version From 0ffb3faa8f2d2f4bb4eab27d80bc580f81e2d264 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:45:33 +0100 Subject: [PATCH 63/72] try --- .github/workflows/drift.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index f1670351e7..4498127d5e 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -76,11 +76,9 @@ jobs: mkdir -p $HOME/sqlite curl -L https://www.sqlite.org/2023/sqlite-dll-win64-x64-3420000.zip -o sqlite.zip unzip sqlite.zip -d $HOME/sqlite - echo "$HOME/sqlite" >> $GITHUB_ENV + echo "PATH=\$HOME/sqlite:\$PATH" >> $GITHUB_ENV if: matrix.os == 'windows-latest' && matrix.target == 'windows' - - name: Show SQLite version - run: sqlite3 --version # Install required dependencies for Flutter on Linux on Ubuntu - name: "Setup Linux" run: | From ee97635016802920764ea3083909406346f7f99a Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:49:46 +0100 Subject: [PATCH 64/72] try --- .github/workflows/drift.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 4498127d5e..17eb5d82ab 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -71,14 +71,6 @@ jobs: java-version: "11" distribution: "adopt" - - name: Setup SQLite - run: | - mkdir -p $HOME/sqlite - curl -L https://www.sqlite.org/2023/sqlite-dll-win64-x64-3420000.zip -o sqlite.zip - unzip sqlite.zip -d $HOME/sqlite - echo "PATH=\$HOME/sqlite:\$PATH" >> $GITHUB_ENV - if: matrix.os == 'windows-latest' && matrix.target == 'windows' - # Install required dependencies for Flutter on Linux on Ubuntu - name: "Setup Linux" run: | @@ -91,6 +83,14 @@ jobs: with: channel: ${{ matrix.sdk }} + - name: Setup SQLite + run: | + mkdir -p $HOME/sqlite + curl -L https://www.sqlite.org/2023/sqlite-dll-win64-x64-3420000.zip -o sqlite.zip + unzip sqlite.zip -d $HOME/sqlite + echo "PATH=\$HOME/sqlite:\$PATH" >> $GITHUB_ENV + if: matrix.os == 'windows-latest' && matrix.target == 'windows' + - run: flutter upgrade - name: Pub Get From 467d970ffcb4975e79b0caf81f53baba405d5906 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:54:25 +0100 Subject: [PATCH 65/72] try --- .github/workflows/drift.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 17eb5d82ab..259723f006 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -88,7 +88,7 @@ jobs: mkdir -p $HOME/sqlite curl -L https://www.sqlite.org/2023/sqlite-dll-win64-x64-3420000.zip -o sqlite.zip unzip sqlite.zip -d $HOME/sqlite - echo "PATH=\$HOME/sqlite:\$PATH" >> $GITHUB_ENV + echo "$HOME/sqlite" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 if: matrix.os == 'windows-latest' && matrix.target == 'windows' - run: flutter upgrade From 26da22f2d3dbe0b8ebe10a17fd2342fc8624248b Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 14:59:11 +0100 Subject: [PATCH 66/72] add to path --- .github/workflows/drift.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 259723f006..52e70b7b7e 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -88,7 +88,7 @@ jobs: mkdir -p $HOME/sqlite curl -L https://www.sqlite.org/2023/sqlite-dll-win64-x64-3420000.zip -o sqlite.zip unzip sqlite.zip -d $HOME/sqlite - echo "$HOME/sqlite" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 + echo "PATH=\$HOME/sqlite/sqlite3.dll:\$PATH" >> $GITHUB_ENV if: matrix.os == 'windows-latest' && matrix.target == 'windows' - run: flutter upgrade From bb3840a8388a55d5a0e3f812507a90e3c0371442 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 15:45:56 +0100 Subject: [PATCH 67/72] skip windows --- .github/workflows/drift.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 52e70b7b7e..863db28bb8 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -33,8 +33,8 @@ jobs: fail-fast: false matrix: # skipping Windows for now since it requires sqlite3.dll to get working - os: [ubuntu-latest, macos-latest, windows-latest] - target: ["ios", "android", "macos", "linux", "windows"] + os: [ubuntu-latest, macos-latest] + target: ["ios", "android", "macos", "linux"] sdk: ["stable", "beta"] exclude: - os: ubuntu-latest @@ -83,14 +83,6 @@ jobs: with: channel: ${{ matrix.sdk }} - - name: Setup SQLite - run: | - mkdir -p $HOME/sqlite - curl -L https://www.sqlite.org/2023/sqlite-dll-win64-x64-3420000.zip -o sqlite.zip - unzip sqlite.zip -d $HOME/sqlite - echo "PATH=\$HOME/sqlite/sqlite3.dll:\$PATH" >> $GITHUB_ENV - if: matrix.os == 'windows-latest' && matrix.target == 'windows' - - run: flutter upgrade - name: Pub Get From 4b98cc8799eb575c1dc357466c7af8abe75f13c9 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 15:47:45 +0100 Subject: [PATCH 68/72] formatting --- flutter/example/lib/drift/connection/connection.dart | 3 +-- flutter/example/lib/drift/connection/unsupported.dart | 1 + flutter/example/lib/main.dart | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/flutter/example/lib/drift/connection/connection.dart b/flutter/example/lib/drift/connection/connection.dart index 6792770848..7ef7ddc757 100644 --- a/flutter/example/lib/drift/connection/connection.dart +++ b/flutter/example/lib/drift/connection/connection.dart @@ -1,2 +1 @@ -export 'unsupported.dart' - if (dart.library.ffi) 'native.dart'; +export 'unsupported.dart' if (dart.library.ffi) 'native.dart'; diff --git a/flutter/example/lib/drift/connection/unsupported.dart b/flutter/example/lib/drift/connection/unsupported.dart index b122e7131c..87b9b45143 100644 --- a/flutter/example/lib/drift/connection/unsupported.dart +++ b/flutter/example/lib/drift/connection/unsupported.dart @@ -11,6 +11,7 @@ Never _unsupported() { QueryExecutor inMemoryExecutor() { return _unsupported(); } + Future validateDatabaseSchema(GeneratedDatabase database) async { _unsupported(); } diff --git a/flutter/example/lib/main.dart b/flutter/example/lib/main.dart index df77111d3e..2011342d2a 100644 --- a/flutter/example/lib/main.dart +++ b/flutter/example/lib/main.dart @@ -490,8 +490,6 @@ class MainScaffold extends StatelessWidget { databaseName: 'sentry_in_memory_db', ); - // try - final db = AppDatabase(executor); await db.into(db.todoItems).insert( From d9e12a67a3805827d654e741e7d032be0863b636 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 15:58:01 +0100 Subject: [PATCH 69/72] try with embedded dll --- .github/workflows/drift.yml | 4 ++-- drift/pubspec.yaml | 1 + drift/test/sentry_database_test.dart | 12 ++++++++++++ drift/test/sqlite3.dll | Bin 0 -> 3123712 bytes 4 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 drift/test/sqlite3.dll diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 863db28bb8..2b259dc239 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -33,8 +33,8 @@ jobs: fail-fast: false matrix: # skipping Windows for now since it requires sqlite3.dll to get working - os: [ubuntu-latest, macos-latest] - target: ["ios", "android", "macos", "linux"] + os: [ubuntu-latest, macos-latest, windows-latest] + target: ["ios", "android", "macos", "linux", "windows"] sdk: ["stable", "beta"] exclude: - os: ubuntu-latest diff --git a/drift/pubspec.yaml b/drift/pubspec.yaml index 30fed7e8cb..abcecf2ca1 100644 --- a/drift/pubspec.yaml +++ b/drift/pubspec.yaml @@ -24,4 +24,5 @@ dev_dependencies: drift_dev: ^2.13.0 yaml: ^3.1.0 # needed for version match (code and pubspec) sqlite3_flutter_libs: ^0.5.0 + sqlite3: ^2.1.0 archive: ^3.1.2 \ No newline at end of file diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index abb9efb95c..1d1acfe7a5 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -1,6 +1,9 @@ // ignore_for_file: invalid_use_of_internal_member @TestOn('vm') +import 'dart:ffi'; +import 'dart:io'; + import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -9,11 +12,20 @@ import 'package:sentry/sentry.dart'; import 'package:sentry/src/sentry_tracer.dart'; import 'package:sentry_drift/src/sentry_query_executor.dart'; import 'package:sentry_drift/src/sentry_transaction_executor.dart'; +import 'package:sqlite3/open.dart'; import 'mocks/mocks.mocks.dart'; import 'test_database.dart'; +DynamicLibrary _openOnWindows() { + final scriptDir = File(Platform.script.toFilePath()).parent; + final libraryNextToScript = File('${scriptDir.path}/test/sqlite3.dll'); + return DynamicLibrary.open(libraryNextToScript.path); +} + void main() { + open.overrideFor(OperatingSystem.windows, _openOnWindows); + final expectedInsertStatement = 'INSERT INTO "todo_items" ("title", "body") VALUES (?, ?)'; final expectedUpdateStatement = diff --git a/drift/test/sqlite3.dll b/drift/test/sqlite3.dll new file mode 100644 index 0000000000000000000000000000000000000000..1239c35203c895f202e5ee6be32b214dab4898df GIT binary patch literal 3123712 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 z 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 av?>m291LcTF1={ZKU16c#ItIq=U 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

X+`x~9cU+RWUJ!i<+;c)OuBV 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ϯ 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%0A8;;mI3 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,=6m4_ZTSBUWGSG*yw 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

eFUBoX0%w~r9E1ZDy7wv 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%0A*uaNak-zVQ(Huh2_Dvg53VM}n;OzvfHS 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%0DfMU7g^eMYM9uoG7LVH*-*Rmm#L;$AVOpaj z#PdEp-D6Kw7|ggNz7tI^0`PrHWR|0Efa>H}<_pQ*XCpHaar|pLbSeDccoZk&zg%)e z{Ff62i6xn@Ub`uo|1=RlUn!CFIog^s2zD_(eG&gIPGpe43m6^-efkrkz3+i1UWh*3 zy|Er&7kH9we$LP-^1#viZ&P}IW!5Gte_#6Zp>5%K`clZr%_{i2=mfD7jH4?Nt1}}z z5W%!=o+#-JTS;$ZC%J04?Cb1Q5QV~TlRb80U7Q3cQ(bg~(9d%UY;{$Vzxt#-fF)$IM9~zAqRkWcJnLsvrv8V^E4d8O94F>%ppN>ECfdh_T4aP*W1r76BNMgfws2qN3SaQ;y&kVT5;Be|#KB;&j2`C3oV-sBFs&+~Q)i;nz0IEvdsR zq~%q)6Rs_qGZSvog?Uv+PD@kK{X8$P&~AO4Ur`A({RbC@iU}0d))%Uqoz{F{HI}_j zZmosi68|#cezd0BcmRqFmFtaf;t;hjI1D8o2ENi`WCfX*OB{y1fyn4Ubn0RqpIl#4 zSESPAOlzbPz1_hWL={rPI^)d%!Bh(My&HdYNpUWQ=5OHBz^W4@5zagh&*6pGux`(i z6MLgDrj{d(871~k+!DQ-J#u)Lu(lR zXIBqG94CtPh3<|OBkC|@f1U7mQwsuS(TkFPah`VTd3+VaoA_r%r3_d-)DMVJO$N0! zODK8<(!Newt{V-#&hZ%>BraV(H1Q*2>0GjrF&QM@pdD4G!e!3JWN>zom+-~Gs{|gz zL{`xc*dS{^-Sjn&`60QHGX3fAdATwd;Ii>b@O13)lF?qSgn{fo+KVEs;!o-Bef1BE zjS-<;=q|+x%5*8p0IpnGSR%%Yxz1#)>&;iiA7+UxMj%?9+A02B+UoR-OCR_+^l;g% z@u6Qb#8!WF#uDttDod&*=(Xf0H>+h4QLN`2@g;jn-_@YznGd$ z+WFPP^2EIEIQQ02rk^|^PeE098Ms7EEKrjT))dQxg`Jl{JILF9UR}s5y9p`D=aQt6 z&+IznqfYS-spf5=!0i$h0^_SJtKL;9ew1}`*?7yB1S+R3sDoJx$koE&Al6;`TBg1_ z6_}jZB~BHr{>0Xadpr~4E!gv+*&bwWDtu7%;qL@yXNgcsQI31zw;ZA zolP5q69OcGie5q@s68uA?bRL>x>SifPB1Ip&fEHZv9yV=FzVo0ezVf$ufWOA8fj!gDJncAOrLALbnCqKXeyhno-&{y_G}DB1BTZt#^B{RR*0ovYotgzG@< zhkmwiApKFb^x~9;;96^%E#)elcugY{JGi0{U{&#&X2KTi3BB4mo^oAHMaBHIDitLm zhVWt4R=>o&(WQ9(1Y&=b|7XxuPMErb^aCjI64XO$7U6@op`t{0Z`PXs#Erl9<5-Bn z)o{VlXGrEP)0?W|#+^p~EsxV3Cw!E6IRzwCC9a#EJaOp#L$b%o2veWvu{iX23FCGJ z+elzsQZ;>9I%+GMMe8dlPE7>jK{ntUzqU7^y^}q8>MQc0(^C%tMw)Q8~2KC%%cq zcL6ze$|TFiEs!mI;<(+R`(^ijQ{1E$tEfVFwvdMapFe%1vnC$>w;XKtmJD61t*$RR zn?UkVr+K+l)xIm$zrD5gE1H(N?S0y1cG}w4g+8fgxjjp=tUm ztjr{Mm{cqapa!eRJB95PI$`eOYzb<{5mIzI`((!xzSRpjU#H!Eg4mi4R$Y5MfsfQl zB3>@DWoW}VjMenT2yx9Usu$!~*P8wS$VsBu7Jetis|N+;e6?>`3fop8apFN^Lez8K zX}3yoMc`+e?_OjEUF;XEvfdN;jou-gw8X!?@jf|d6oJ<)RHi*FsMfWVt0PW_1ST}1 zw$dJAHNHr~V?A&1MiF4q%9JOauba(Af>3gkn5ByhWM8Ovn+g|dY4rlLk_#WusVX_Ex)16r<;>1wXUiN!5qA}rvo)x(&ca`zX>qdNQEMrnDxxew~ z6$8HZ;7Q^%x$>ontvK;?P(?2}-sKy$)oroAJ`|6=@eeRZUwrb#4EztzKpliDrUTgP z&FZaRSoOA`5NHr>&HIwUuF2ul4pMxcw%YH}CATUp$6X4OXlvf03J*BobsP(BCWrkW zV|n3&X}=d~`PxkW(Y!DEF|mR|n=K4*ZXL2hmstv)t%(gVKcd>2sGgzyW@9vGbNUve zmUvw*>yAO3iL@=qFn|Rbhp42$8Q6I(^#*E@1rx$jLOEiL%VAS(J~ur|UOUM4#aQ#h zQruqD$fwhz8L#q_a#1u#@iqwKkJIy_86)5yI7y7?%tC*9N4x_S!+r?k(*m`dvHHVE z$%&q1)qYu0iQARYh?fK1BS*N<Z zfu^g?8|NwhKf?Pv1Lo5Gf#~J?ZA|BH_Q8W)!i#Eh3{*GcHED3OHpK&0YW9@|v+Kg{ zbnW&@JcOZNA?k{u=1$nqb|gza4$cj`a1H6MKP6fr{w#X5LcCcrkuJr~8MhTa1;U`D zF8yF^j5yWoY7lqV?%0XqStBqo1a9$#{NH4%_kFCBp3>n=rFdYZbH&tg0?%8jV9BAuJ(k6wua z7doSwKw(Tgfl8H#NLbTCu{>VJ`lVPy_RF!xX{D{+k8f#<(6D0gmcnlgw#dFhOw?^e zFD-|ZdEV;=YPIMUs-V3QrsCi}6Em5aIQC#J-bTe3&lEDvw<`}&2bA9}#u9%^H=y%c$LI9bAS_usF*{Gg2825luN9^>JITZCiBj0rm^tP1bXi z!DYTe%HamoD!wR?&x4oZ?c~YkE20K4DVn!c;8ccy^#bBSEnr*_J5GwamI4b0vl~wK zM*Von$mI}(P+P38OVzr#<5Mq8d%CP%0xmoXE*b_gpv@F&O^;n;gUBHAGNsy2<|#ly z!qqY?8?s<^hIm*xrOVaYt~@=eR&@~GN_Z?uHKT!=Xzm=oP{5pM?mYtrKAl?_#WC?-0w< zP&Q!rcP%O$s4R;7QUt5PYA?dQ+83i0sge=FpZ+qBwd!_&gw}lU(8L!q2371wBZajA zI~8L`zygnIZ=`YvmcT|N9W}no)3Owm-b|OZV3ugM;Jy^9lwPY2sZrp4KTvu$jRm}B zh;BX)$bKmgSez%Y=yh+s=}dpLVshP`hz<_dxwo%$g^oj>Sg2;cP+QX}cvwQnwW7J% zUH_8QE+T5wXy+U^G#hOBm<_lyMVRmbL@Qrc4yi9nj9F_Q14^nZo0eCP{mck;eakTI zj^nseqobmZAw3nT%I%Rh!BJG6X;XnPV8dD zePOW#DFD4UGGs|UB9f{33JF%5h|fCAtv&+O-u@Pz<}iyY(}d8CN^%>`&t4Bzlu(^&)>q=d*sREfR4OUO-U znv@8yD}*Uek&GzMSPw3Gmv~m2Iwg8xc*-B*(Y=7PnN~$+7J+101H`oDFO!2bHIR+NyF}h%vg& zj&0#?3tgo*uB=Q6T_!q)C33)DqQE~ojRWp31&+EB3yM<>rt=$#83^m^wP?{>R4k&I zLJ1-rc}rl1BUXE&gT@QoEk8|8wI?c% z_q9~%zNRh9C&-QNP77tK@2RX11Z>DM4Kj%^-`0?!x6IJ}=AO>oGOHp#G4~KXaE>81V_n*-bk2|e09~;mX3?T77~CnHN09Y(5>R_1tE%_sFLZpQa)svWZ`@D z5^TIpTzh(TO0Ck)UW+8*eG08NEyx+QI(e)P`@$ZE^parV1H@^FyJ=!vbpT7_&5(yVaD^XP>~bF>{AHA7QC~4^LuQ>g8!% zq9j@Mq>#gX_`3gLy8MgkznFpljTw-Aa{>Zu6`3caj^xW-y2Ry)R=m9tE+J`mn&_Lz z9*ZFlXB|)6Bc!7$u8&83O~}4oG2;4o?6^Mdg#Fo~UfY!?UaRWs!f#2u!QgO6zGZgQ zAM#0Yv)qpQ^VTq;&NsK3ZRoPR<91OKIM+LFcOBuSR%EUhHk01zZh}Wavw?dmkN?LE zZ#kOsR6=4EQ`>94OhOkCaosOS$?P;tBCpouA-zm1e~4oRKczJNF|blf`NJU&kBUOm z6&qUq%}|b93$<@%k;&VX6VtO$ABPiw7HBi>Q74|?{iOD-xA{1ssS~Z!yvGZvt-2Nm zPx9DTn|~95RgI8KB^O0AwsUw;9O)!XZ8eyk8;3WSBc<+6!z3tM1sK_&^$L#H`D0z8 z5z3<^&m^af&YSvTmz<{cV_l7IRNm9*gtzQ+#N|3ya^ln99C(IlC0g?Y`%$T|&&YE# zTot7mXKT$TNXMbSF7pZfwG*z%n!%;Ex}))+r(w9K@vx_1Xyd`k71>-?uE_YU9@BnX z85_h~{M%;iZrti2`WIc!(m1yIgwGdm0P4+MR z8z2uNkz~;&hAJn6e{hJfwBRWL4R!tZAv~feKsbK9;lZ_;K7J~h1f0F=e&>UJ|>zbwZO9kK0EU2z+Bb;H5 z2gF%1*$Yl+-pU7d_6?=pe+Whjd&l)cEQ+wAHFmI%-7SWosys_CQJfnAY?&x-2R?Ega=4p(pEX;zo>z$<$WiB1|LciUJ)u zdP|_F7>wk($joW=)4jaTp+Got2b#@NOlL)n-|P@|oB_K585xj1^!flRb%u@hiT&fz z=P$UT^Ie8y*RYvg2c71;*jR0=>a^x+sTs8x;3EA(r;^Y%9$j~b+V1E7W+y&*6l9~; zKy(FTQ*X*;a)2V@n|$Af5qBZ0fdtKwYEo~Ix77M&q1+%Ub_TU4YqZI@+7zn7PyHC@hiohVFZ za)C*<-#m}OT~}008gI<;^Q>zw6nsA&+aDB9TY_%uQXV*1|J24qo`w?z>E|{cs$AiE zL^q-h8L`?&D%J1h;C^k!OLE<~%@Ye8m}(zP+y~vtML``~ewUT0>fF`%kyJ;WLmEG- zT#+SpW;~+DhCWgm(|D)NcvNp>xlmD&$mWffjw zRSpbH7)B6)mGrh^7_k5to73Ac;uQ=d>{BMhYVWY7ecL`y;8awIJ-2f|P^GjHJuR|U zz!}A?n9ea*N&AQz>?5v{V_>n`v;OFHMdS6ZDxw#YjuQYe01&9H#UI3d7_BXCy?P-XD>|d!6Oj&7q|bE8A#+ic?my-0_%@%*^Ap+2ow+|A4%t6*1T^s za+)0JIbwdLFd$}>SGg2!Q!tUhkF0;ySltZVR_xO@Tvs&*e7g``zQlp6CMYD*#_NcD z6kP%OQ|F6bHl5>S2DiR4oQIly3NMB~J{(%!B2iO?bgK-ac?nUK$hA}??hVTZpOTO>R9O6;`@LznhO*JqoTj<1eZ&GSd+j<*rE zE(km2*a-W0QwL#t?*?I0oU6GY>?*<6Q^D6&pzGJ9!{L>Jt$!|k6>R-OHHZuj-H|df zj@oU8S!(UeJ%~4h*7R#$3tHpA6vMEk;J;Z4|1D*GX7$E@UEn{^GRr7|(05wXZcpOB z=jGn*+=IX5jI;6I3>*D<)wCw?9|B@pg;P`UV+d=X@YLy<>|ldT-Ey4_g@XN1%&n=K zC+IKqWzg2b_*0Ueum?zO;JdvA=elZaSzMF$RX6`xYo5=&4Y%i4ow3wiZH_tIN}idq zoo9&`UNql$;M0E(ii+tXq#9Q zk!sc3vNa4dbKe?-Vs=FH`*}i0D%P)@{e6&KRBhe>t9wOp<1H5wN?HZK@A4TW?DzvO z4fCsL+~zFtnJWUy7Fq&E{>+Yb%0X7_BV@|d(z?jh3&hI|jYr|FG+;ITP4o^Owt*|y zqR83*a16!3`H!SqQ8+MboI18(Ct5>qI0^l5+LDw;clXlmlF?l4Wmg+oC z)NDi+6iV%5m~wmMYVyJjr7V{{;lb$?KHeW$-70eaNQ284d14WlSoDf~w!x4A4a78F zZ<%U`at1+8FApLvpIVs;$$M$)O#@d=FHK1)#2Crm9=8|W&kP#GoC}tUe(T?hy5)Y= zlM1P-&|z2p3umsD^|j+AI8Glr+B7^g4(bwBs>W8%`b+|UZ$vp8)6<{ntDK#G`N24f z*>pIZh7sl_Bs$l&qLw|3P}%bEPL#5?LKZh#rI8&W8d-`bHL`VOS6)!31+MI^h&`0u zfI4<#S6%o}_DZo|Q-}z%3iB($MkGqpHf*#0c$rxAU8>!dvve*m*IRCp(;eaUyc33U7d!kAwJ&w$us z09@rghI1Y$@y@Zde$zB0<3;}0~c58E~?!IYQeY=gnJtB26WOizVE){;!M(6YG@Dj0? z|G~-Ov(8t>^dYen{uBol70<7v@%*zyN*K-k+jCjq$%8)e0C+h>6swu3T^ZSF!2yl8 zq@5qkZ~SO}XlUuIw9w$jThcEKxk_hcgwl;Tu6VicKc(T{u_ai8#d-NzL4W!Dpsy># zr9MqPUp&I9U4dxk)dtFSH(4f>Ug-rvr1NDlw7?F_Q}MbAzA&Fa^5I0h8JsjFBsX*c z^!z-fX0;@rjuSTUOSV6VWXJ7@=U*~aljwV`p$T&4r;dL;9?!p&X907Yw6tXlNOTvy z*jJUEvTiUa#rgo+Gj?itQ@XjsNZ(=&yHX(4;%h;VW34B~y&hkiog>Xj>nxC3n}q_+ zy*o)S2+D0fAJ5<86TQq%zMfwI}6;S81nmd-RT@v3R0Izj=e$xGLzt!-8grHL63pzJ>mF8}Q>`{FB)q^VNs z(h~E1IZY*OvzK%?*a$`WW%gJ=;TPAX48;^8|A&;UK(YfjJO6lC*-RQj8A#cpwA2}aQi{}^dk-d9?3xN6p*Wg$csP&Pfq{htjxMfraAuU?dSObr~?y%4$EDXNUPzy@v zkFb>M!sx|F_%KbDf8-DAjTw35Qw6lm7lHXf@%+vTEhSP_h?bZk3140F8S+9)e+p!$ z7b;06lwAUO6J&7{u#7G~^JcZ4*wegzCnQ*7d1*@MK%jQHYt>(Qf1xjWbDF>Q9ocUq z=gBTc&I1T7%M?2BDUn8Eqz0C-0v8ajZgu{v=W4`)e%CwhT|JCJGucnq4FWpi`6cHu zA3$4{LMaouqx5em4VKGjQ&>)Gewm_tLpC)(WB!=8J)dZNQf>aVI{nWQq2k+fZImLN z5%8-vpS1h&?7IWu^+b)#9mAa|+;>jz`H0IMsOhUTK+k0~#r9}^r-O$9Ho_HJU&)eDuu1|qO9a&}OP&Ha zEG8?_WkLt&zV^zMXVU&#P-qVuf+HH^PG{)6AnrXuz zD4Mx})$opc&q#lU$kqF;OWmwQd{bljBjm5`?HkGVdblGTdHtyv@5OK?41Ps z9JLRCM@too-FCo5zUd1pTL6_dKqaT3WkxQ;8hq@5w^R-0Fpr#6)LDafi9r7kPEA7p z1{?ad3xNL9c&)HW=XkD;bryZ`?tgv;%NH7tgPl(cY+WxhiaQE`yz$rVC)Ncfl#Ux)HdlUE~m6ljRMy9>(#U`MU?h4f$&u)Om+Js2r#On6N`-t93gpptQc`3in6mcMW^563U-IMAlOIb5WMp>CZ#6UI zV3TQJa{3?KL0AH|0|t42f)2C?_j|^clAwqIUck6s$!lx=mqMwkcsR&SZI`^v-~GhF z15HI9MCj)GxXpTyw^`;vbBFA8&-%ZyH;|)Pr@oI3CCWCuJ2NK~L60@R63~1bC+$I- zNyc;BX@uS?&kY_|PDo7*a`E(0S! zo9kloI(mWk`=uj06;EKDaU$V|zy`Og?g>KpbrA?*)sxbH6|BWN_3T9KjpU~K92Z{P z+P4I;?@!f!lX>j~D6QYLtsB9j-8-(GzWM0e?rx%eblyMw^>{y3SLmYYY;$VfLUSt9cHW;6~h4!unmn zu*m&dS-38HAhDd;6+hmE*f_mzLn z5m1@5j|nRVl2ZtqC37d2M7;`_Z658er)=XLbNi${@%$SFYWAmh1!o$yhmCZw?@sF( zBf&}s%W)R5IoIs72&+Us9}+!@Wsi6!fDtF{5sT$B6o`e;)@`#I3y?*Tb#-GxMdgv> z+gU9~#92ZtpU*!N#~5!bgKOR+hy*zvKZP<(MoTJiG&eHN+gNoq&S^d4j8!Gac}{Yi zr%pKfI4h`xF#@coTKAlg5L_N*fY#HwB6s@o=|ZQQ-9bVV=U)0-DzHUQJ9tiA@%$BX z5zpQ9Fh5H46qGA@GfNf8Epk2@7SI2Mda^mzqTWxk?>cX0Q9l24e(D!K(}gZzImw?- zS}OpAJ*yr`!An>_iRU3#*Pc^%wOoAC#_aYM{iJ@@Q`XCt?}%h4A$P7(G1xkF^KG4j zqrj@0Dj6iZ!2nv*257}et&pU6Jr49os`Ah%l?ZOYOY;x0k;dkY0)GkpKQd@f>G%Tp z={IH~;3T zg|cLRvkT56MxXtWZ%7GG>6sUg*04MLnX*m{M9$g4%ivUNH51P{G^#psx}U&$kBc0> zvx$jPgV*_{Gmi=1Q)H}I! z;;np?9y)Lu)m&&q4Zhh1VKAQg3=NPvVjKDtO-&Y^N70u;KSod|b1%-edbB3h%D?2D zcvCBO*qDtgdu)lkAwz54QXQR|hyNISgeyf~H-LY=8oB?XHlv^rpY?Coyb)I!y-ttk z&pcCvl8Ola&6x=zc)&)Xv8;DKL{eqN#*_0#Nbyv0Jes)LP}I$so*&K;WhGb1P{y3e4&u`2sW6zLn^h~tE7~w^?hE_o;%rI=Y!6h z4tZnd-s^lcJf1(2k8D}T3y=%y^Pf`4e)QxQ;*U=~UOu&eI`19Tx2V12`L~|IAx?Jl zR(I~2Q?-=(d>D~nx;FxIEmWBk(mvdJDBSJ7InR(d7!Z#cWC;9e``0vG1QJ>Ls%|Bc zcrxCGKq5#r@%-1v^Y1{#p7*Nf(>kc^+e(P7p_nD3t-BD~TnKWqd5mI*K!-qX-ay?# ziJuqG-#AuL;%7P}Zqe8zB~FSnA=7^KIH%VoFk5z4puI1LKM)%HvqYu@K34&+0@MSI z_-WUV)KdDK%Dlg-*ZV6z@m>hJ#4*jdPIgl|5ItuyKjvGQ;VFe=9^9AE@--q@uf8*Dh=Z~i?gPclqX&;|0IGFLqRiE*;S zoF_SD@byqPk|1(ro_lGq9J^maaJh)*en~o^5NV!V361$K<>`5=+ygi##`AsBi6QFc9$v-<2BMFs zv75wV!|*4cb6u243vGi1#Re%U9bhW-!T*wU*-9)oq5`j@FV%cX zN`!h;IMI0i8)MXd&rJw{l<*Sym!c%mlSXb+LNJjNvBy7)%CyfQ;q;0dr(~T7f00ze zE#^+(+16uTBX{8`6+e?APGr^alf@ewr#v&f_g549eC6d%VV&YW=%Y{Da$}eXk>_Ed zv=}M#l7hL8VTngsUB4HIEZf@*d9dt7-8=w0w#ge=whNYwCmrSvUv!3I%l0xwMy(_u zMLfCFy7c@cN9Id%WOo*#y%ZM{`A9B^j1WVSA35M7#%n~D73#unGhnFO&Ol@dW?77HiACtY$dbM5IzJX- zXgYmf@?t#yL*drcP!aj=v~DO%4%J8w^*=_*P%)&kKO>fSz%syb(@ka)T5b2gWh{XRSM$o2lT`^5P#XFleM zTY?65B(P5$LlYQ3^r3UmFSR>RNe3WDo(d;^qQW0Yg(G@b=#h#(JMqxZU_EnWaS%CL-%$s;@aQ4@;+{0n%nKwg z6u2ddtn4jrOPjj{b}>i&Kxe!{vvn$itT2$szW2 zK*^}ZW=^nfLhASG|xrs9(* zQZ>4!NoIs=oYa6)LgECXQ-=OnNTzeOW|0|?JEX?(KGvG5c+j}=l*_cHDe|h;6bXqr zcVU?+1~Ds#bG%DLQM_uma^k?YPqXeb-igP~K$#E;OJQ7t{e~Hq1K!x2(J_tR$m|Z{ z#soWZ=toChveHF8m2Pn=CG#1TUR-GTrP8teRZ5+OcAXhg9l^qS*SXMZRwe4qx3PDj zUFQPp!z${WaFjY1P$xLNBSSjsqQ_2W&2+D+#^o(ta&-{Hg3Xd#y>kf6fFAXTNpWJZ z(P4gr6fElX2TY!~?B>N_a=JPlh=}WE;=Z&-urpkJWK0q&j}YEK9VVxi#L>uU;L@?W)Mg3y!v$HhdV5on+J|*2&{^eUrDN^C0I~ z2Pr`k3oiZpM27@NONSnudW@NrLj83pQFWr)llpIklzM#x?^G3h=;_+{-|628ofocMme zz^6k{9=SC_*Z9k37nO!;%{lduu&K^QinsgBih0gH8r=&rqjRsYzFhfEvio$Y^A4)& z5AOSdXY5L^IkmnbI_x~B4dS*r4HO9}>NByLduqMlGuf&seH)3L*jdw46L@ca zM;=&KYQPmHn*ZuWS%hDUYqv|jK=ET~j65|t zD+yfZ9543KLjNX8i_&ur`wr+^Ip*j&VqIa{6K5BB2U#$4&f<8xGfSgv^9I$R7Yi}f z;3d`z`a9TbzS92$(cB#B1V!4dQKj8l0%6Ws?9_g;!rl;k>o2B^Js|5Ar|zR2K2lT- z#m3?D1qm?}dYxF~Xhm92_c?n6XUQq-bpJ}Lz-i*_{??c7U&S}leVHrg`%knIZchWY z636F>$&q}MZv~bf^?;p6G4`XhA?11jYhoCkZ}Z%olc=|d)fQ4s=8yqM3a>(Y5l*lw zM!l&P;b@~c0mf2B!Qu%?aa~6acdnV2oxsDM~E*YhEusi;kV`gRua zI37^74Iu!Bgxt0ll0Y;=WVGc()r{DqJM0_f;C`*?O;r{srp`ZXfMTQWlfs zHAAJb^AoegL7=87R%}*d$`cw-;Qp0bWi*3CzB?nn@saA{Sgy%e(Iu&R`sRqQlt>0k z7@^PHgw;_YeaGu%W}#J<(-k)r?d3kWVu5q65aEBNM8i?EbldCc<96ahBJps|^aL#C z8s7sJ;Q>umD1B>V*#aW*nfkmk9dD(`S2D=lQ{X4)V~7o4qi($mtX!xybtFbCC!KjQ zD$(s$YK=InD~6YQA5D>;qE-QO*>{u3TGoe;*;TFf`dnh&Qx3k~6&nk(p2_2AMPGa^ zwA&?ofz6YU>}*M=JcpunwHD*CBl6v=n%-uKVWU zcq~^U3&90`J#SM*>S01@3fAYnO=cc=5ll9J#GX~{KjE>1I`b9M^ohlls^`ycu)#U~ zA+wfY9V9~mOw)uc&TE<7k!k}Kyn$f298`IY%RvW2)MVxbPxqV8T1Af@gFu7|5&Bxu z-p#EI!(^OTNs-7yL9aCSmII8z2@32^^bwv>!5$zx!W*$c4VaA$_PSRTH_($6#okD0 zyrc^_voF#SGckms$zbTj1>@uw&A3I0x?sIi9o48%yI)MQ%(U&{d<%U*0AMw1e+NCOB_WmxJgKA#4{ZjUeJV zRe~}Po(rn$SDqr6xr&M)rd)_Va;T{zPY?f{2;>rH&gno_yo#gm=F(W6ee_k0;^=ca z(ED^aktS8k<_>i-)P$@Cn&xCULr#YNj)f47+d`K_>xrXb+GjZ$POznWps#3m7U$JA ztGbEfK?4ES^MJzvQ7Xaq>~kS{ae|Jv$y*^`%IE;+v3$DcoMVUzq?~j#L&z5ri8yoB zgVV3;g=q0p>3C~aN{n#T>R9h-c({;FEYA8|)vh{;E|YeTMwd!CX->79Tq37lf)56w zr)}Nw8XoU@TBUi{qr1LxX7a!jW>82pI6@iT2a{=L@=*@FI;u`fa)LeMLpsDMY#&^5 z9F%Z+4LNe8mCXEY0>_Az*_H;@Ih*uT5^S&omLt|rrG$)~&Um92J?4#8{N7q1ojMx9 zFCQ?I62KR6qQko=5S?b;^|uEYD!?M=(_%+6%Qg_&2rXv6VlH4o#9XLtYdAEa2div) z(B4dkt41N^FTL_#R+D>Fl=Dx0A&83{&4|%@r<*|EXP9NUOa#oY;Du+wvy&6z_M%3X z#%o^fg_!Xb>T$HA3-VfQ!z^#)YN=*&_#>R?^~M#aT&7aI{{}8ZUnkqCd0)dyo)=yk zT4+mI;c6#C{G^2@NbxzL0g!Q%V;THAe*JlTuy#EE=;)jEb(8I@HZ!LrmP3K^_2=@$ zoIY7nKthafx8;C4tY2l~@=)M2pH8q9>)jNT{jibH=Ze%CriUN5&x~x*!0fP=6FfQD zqf!~#sd}mJ6s`HMd@2H4$x@|yt~Ec)r2vujAtz2@1m;_<24>Rl~! zLDzQ+x(*GrpXVLkN^+%^9yF>3eWr|)p05{~rgZQ-(+|P*Of83IO+IVj8R#lDGTcCn z6N*nQ@BPV@_9w(}d0IGYh25m87kJ)3$P1Y{)Y%DxATt$OXDi@P8}1}{%(v+bdGUf5 zB__$d!Q(Y=DyRCA;0T}DEUbs)GvWwSUameAkKITDls?lwNxTCJQ1UYq2^RrDG2$SCiA?+Iyed- zbT<@*&ZMy7_@#zt0vw`AlKT@#D=p;+VUZaY7DsCmNdO4j-L_K1ISFoO{TLoQ2gNVW za*&pscL{lVLhr$eDn)yp6>toS=~<6xQZ4MdX@}yCwgFuRY$LzMFo@A)+w59-TYJ=~KS+>1ZORBRZs*@A{5Bsn}j&1_H=1 zYbbTHtl`X@-@Lv+vXCBcUJu9zhuB$2Z+xH|kn9#E#=8XGL6sqkvgIVU9vK^XBEjrR zI0pRYB?Yo(){5hSpN~^R@H6q?DGs0w_eLH|09q`^ePeOMz{rhoGb;h;$BJb5=Io-$ z$Ve`64m#%y8IA&qoCD0d0*7tV*^?$Pa5+8uTMVIZWY+CNJFyUw6GA`mtf?F6x_5c5 z&wLUOa%=Pl@5N)p5WTp@=EbXPpR9=F+^P$^=;SnTtSBTfEUq}mwiEfMBIW;wDm&Ks z<1_b)N#1*gd8N`1oMM#yC_z6H_7jz8#-=J!5A3wQJV%kx*zO|AAR?_G3V}XwbRMK^ zd=vO1x;zy$7dy+GQJNrZ9lDlMS&7%Zh+Z3L<1?VPK=3zu*Iy&BWpmSBV(OUBI(r#= z;z(7g^$>vzV7Bk46njIAjPK(K!TO6z6l&I18wFi$sllS~$L9tIyWd(XryN;`5Orlf zUdr|QYxyVHz|T}3WUy*iTbkB%6J$}K_7Pir_J|VCfEX}1;^+p8;$Xkcik~5Zv;DC% z2=jWA9-Z1(F2m-SB=tkpV$~v|nE-OMTYhWRnloUB)4VgnolV`&pmxaJj&-Lxq$!cB{h7#qq8jQ7fY)`j7(I;ld)-pK6 zcdu^sk%-u7z27V?EYClk~XvzZ{{W`_y7 znFk3b=m=PWEwH=AdN3hEm;*Is*3-o{$dm%O((44|^q|+I5=MwPFsq|IQYwCAdsHhl zfhgr$+m|1|>o$6{p;I~x0hMDY{k zO(SSVPPylLPC2;1XRIl2bIMV>zs9C;{k6|UGQJHF*uxGbX+Sx$d(no;Bm0Z<@L%XW zmh&>tv4YB)6vqOT2S}~Rx%2O`fpA<~q+F0iD_*QWTxmPZ{H5+NAg4+aZ>wH}J!>k5 zJy0Z(`_p5WKi~?w-`Da6@t66X)!BqwJ*(}e9Ahmt%72ZqGM?lbzspXMr%31Jzm>7k z?;G0qw%ADz3<>7rBkPjLiQBAu54~fz6-zhF&CRVU4vsd%wyaO3>9r}GVs*`x!$JeX zw-lxz+2^bDI}Rg(t}Kwyw9EbOdsJSU>0EU4#n(pq%@#>U19cV|}gVZnOO5T|A#>}1Xd~{Mg|23ZUsa%z-Rpn@q zSE}#-yTB#jqpZaXtHDU-%K^MQpv3(~bjpvLvr_H^JaG35NHFb20fk=q8L}uhiPQ+O z7*Ll{hOgZDk}UzBv)0&)L>L4rUkPofMsFR>UokBk@1t$jtIvH1Y$yXl$C2f84qxnJ z`=-XkdNY9CoI2M;WFaD0ACe0(`0$yp`OO;(h-bUV>m-kaGMp@&P9~g=FgBfLl~=g= zcn8GX1B}ocT}&JRxb?`5UI;_vtEuEg^F~tRspfHB3f)hkSXqME=jc-0e&P-4Rmx3l zjh%29uFWoOv;XE@iV4DSqeP?%a&!r+YxVXu`PXkjjjY%q@-$F;hh^nf_FSw8+Uqu-_Tu$2}LR zQf0EG%tBShISF-hZo;7DL`Cxe!OG^OT}ddcI|`4%g^FAwNiOuzI#Q=%Vs}`L>@+MD z{pNw5c>GSw=A4A-Sbt`SCrG=W#|+U#_0`-J`blzJcZ*0u65&lw@S3(g&GzUV0?Ti+ zemCkJC~00FmB~IqDuC#K91>~zY~lKmrYAJq!Wbvi+{4vuDLX%@`%+am?_=kEih^6F z&}jpDU1SW7#hOil>*n1;dO0JQ;83OQLYN95D;b$i6a(7)%SagyZ9+52yI5I&bc`&Q zQvh;UL~PEwF)-w}BqWDyML@(Qgfz_0LCrHc93PpnvoC3ftj8Z1P&oJiQS( z5+?u@(atQWIq$rQ^VT7E`&&4MNpWdXXir;tfWb^}<$LgC!#VvzXN3pELuU{H2Ey=p z>$2}1U6b7{;`f9mI{{bt@0Kay*~;T(y0E=j&qkKnvl>ofp!LG6MUxE!J3zvdZ7|+O?*Kt;-(ci8|1*A1gWhov!1c`?Cncx8?}2NwfjQI zD1}pCmz8`mA#9YH^NwJg=Ln1)eSJl)Cllzf%{}t1gx#{T6j8&)V#x=i-r+0&h83LX zw!t!!=0Er5BV^7K8DE`Zti!`7pkY7Y)_?yjm{;d=Qit_6WG~D6V=5=Jd{(?oL?#DeBQXpVElHqjjuu4rTaTxI z6TL}+n8(2x94LaZ9r{D;ps>#3%v~aOSdj{sGkQIG349yV+-5@lvGrxv;bB#H-FAcs(pgQRa^xa`h z@=*`w9#^16LWV37kgi(d*x3g&%v52$o^)F)bA-drFvrUM+rF|fTJuWw9Y*@g~i2`>XbW&snXLMoVjY zlorjoi$pl{i=Ht!kZT()Gl2Eq;hiE|w^>u9seWyD*b`Dt&VQLtr1wnfXB@y^hkU+y zF%rHl?+{Kz>_C>u4rlq4?FBBkx;ecxnlV-% z3XDH(Ub`&4(_40W!(#JQ@3;?*+B<~e#K&V&*&Vi4$3~#rl&Q5spgXP8k7EIq&5+8M z0)g$v21l4bz`{1Q7PSS2^1z3^-v~y!aokhx0rfw0LKx70$8M%qg#UjeL|GCy^>+b| zB3AtJB`LvkV7(C57)k(1xGVX^05$WBL+@dkgHyl<+Db1%ahSGj39nda?Y-~s;wyaA zSfA3KjSp#MNr0r1KC$2cA%eg-l@A7xw`uXD!E9^$KB7nra>){wA%;4&K(L+I zwMKK()U_D8Mo)Y51bL3-Yqe=9!4X*U9iGXmFV=q#MpDRgVcnh8<_cm(Re_zJ)S5~% zcwSEpLKhwb~5N-SYZK$M!$x|Et( zIAsUMZ<6o;q?LIzAZ-giq<*C!R4`5bGV$TVX)A7Y8e+;-5SjIy+;Ppj%V~HdLt&tV zmanNuo{VQGtsQ1L25BG})QU7d{BbXzr`|00gUzY*5#}w@D9g zx(2zNT0e{>9d8QO&t_|6ijO>8PNHL?5p%XSb_m<7X?D+!Y7y9Hs%;6-CuW+XWV=mt zqLju)W1ID1jy=cya+BVc$)c{p;$4YYM0}-$1=OpQRn^f@J>=$zGE%vQTN~WNtjQB+ zV6e>s$s#`y0C%SU6tsBKoAo1kCY@PKXA)&(;g4qgDCHHoNw<2sI# zG6FS|)<7Eg6j)V)I^+Y%g%wu*!1FykJT{@vSc7*T$-_Sn4-bNPYG{@+1-lycflLed zVF!-_j^5Hi5z*XV@en+-o}Y4;7QUR~k)*w0XMkIu8CnD$kV-HqI0gXq8n-j(V)na& z>t1A7&LAPJ9ke%Tk1u*z>Sv+K65#DLQeAd+Y3LdOS)b{dmn4Rc?+vfAlJ{jN&Y^zn zplnEGqGbmqAyr=s<(VQ-xzpOYN77a9iOq5bgvHekH6Wk4alMdd(#H9;A%%{Hd!(HB zgk=bn2o(3hJ&YkiAtra5m~9|}l*(VtvMV2d6eOT5JRG@W&k(57nW*H{PUyVs zC9$LOB$|KP^{HD&RsD&rlhiaT4Ev1r%=ROW*E%>1A&{f!1@yI0m??2|9AQFR_4?RM(>fxl>aBWgwzpiI+ScuANwrHE z+E!AfuZ04(!_qf(JrO6p1HWo0;bleUEp)%cl?yxYuR`~N>dS=1Q0z|?a1XLh(QI3fOVhPLI zxI8OEYpUZafZ?mZY@*h5DL0$+0!-KOf4q*)3ooUc-9)|5H_WZt6Rk$npPIfuzM0ey zkSp(aODl7Nr>Vte)CKn9_P?NJxRt3B0A@OvDFvp$t5>`WxBE>}>uhBf3BuY;cy=IU z8nGLy@c_Vh(wSj-_fzMcst7aWUe(}ZZKPYWVffCeD%ew%OWR?W2G$LyAF^&(UJ)Ku zwU(o+&A}C;T2@|9j8+X3tq6UuF;b^3l+x-YE-@h{X4XQ3AP_YTxZ^r63T4?n z35Ur-eZc}JuBCnX`Ihk?E^XtFt$uTtwQS34@dGc8XbtbpJ`!v6RPULSOh`t&bMhnZ z#e{-%hoMX~^RWWIoukYj-&EOHezuDGuktz}wbPnZyc^^vEZWJzS|$(BVWLO?A=1Ud zfa8NKU^Ooh&pO;NEJbU&4WJ7*6cI*qg@VPYEcywacu%Xg3%`J z6M0Pr7KJA|p^BY&$P(IkU?N_zxnLf0)nL$zl2g6MBnd0icDf_cw>BH}ZcofF{>Xsv z&bm8k$rbOQZzr3(xz3{1oZ%IvIVVc*TIpbO>&jQ+9nG!FzT|XD^-krCFBrEQ;m1XW zIYMN)-z&S}q~H`JpNK?S1%XX328qRYaWjSsvAqAc~|r0 zD)J@ECkx4HswjKn+{nSBG;j0&=`y1pX#DSA9qoKmhCwfDYc5()S2lft)|>}OXlp7K z)|E|Ns5Pg_-Rg=jl}`PV*8Cy(W757lcc&Jn}s?Z0J&<2)Dr+rNHsP z(hN;g?lC;{1k4BcmlNpcPWwwi?ke}ETHMP0A}nh0CiZI?2*!O?V%sYqZh>uOOkE3$9lsbRI4PMKx#?nW%=AUpA zi0UqpRc^N){1b{p`viQEjjlC?r4ICJ#d=v~afl3f-lB#6vdV>8(^q)oGb@QN*rBtd zOU(AR&Vg;#zyrGv?3&bpCxO;HRf?3}a-r5-F4bsj0!8Q6>F#O7dmCpzsGLlSdu$o( zC_UQx*YlPR(jletv~ZSuEHb+H>b&kPTJ(3!3z|~hd~dy2Q!4!D2O@|`cZ^ut?w?C{l+hP-ZrS(O8Dc7e~GbJ^$A=K?qy)0#gx>DaxH@yT4 zCY!TAZmrC-cUcJ?3ea()KW(vxvbrhO*<6}&os zzNAg?@YlrT(D>?XQcY%L>+X)wAdcC5)z6rnWq@6pQ82E9ghKK5*mJV`w@_R2Rn*o6 z+6iWNRk<`$Rd7%HK;m=Mh%uw~t*51GX9C3(l3Y%)GJ6gaw`cf)A+-XDCj~4*;yOpx zfe)RfaMnSIqT zN2Y7sZfxN>%eRE~0V7|NA!r-CMd#{7#|HC-Hx;Ob^t$(Jw=YI3B>_%UwL)h5IjZs$ z)>FDpabir&cjL-0u`MspBZok@oQ(yD`9u`;>_JHd6oRT(soq1DAisYv5?u}_-NIfr zCL7JFd1{f$D(8j9B)6x;PR=~sj?phDwSCupcN-O)GWD6WcCXMLWcT@ z<*h3tYU_y-0oYJjo%$*}d5%9^Uu1yOuHzf>aqlhEZoNt_*#pKCDUB*K4abMEP!y*n z^0;PF7wC~^L`ev@78qr&U_mnexC9sHd6_Hppvwy=h^qZU;QjOXIB(Jt;%iN108lEcsTs{^2p&!ICL8$Mr*{Z*~RF z=dQSpjn*eWmS{TC0k63cp*R?Kve;XFl_%DigJK-W%*m2VnJ&-xjL@vQ@GX;5RuKI4 zmOLf~cZg7ym{EnhQ*SyCfK)O$x^Z!l_2!U6amT-NCyA_IIPOr~e1;}G0$R(vrH^*S zYT3FxC5>9M(!e`iCz&mbwe)8Rt>eXH-PPTV)Kl~&YN)hvD{ZJAQEz#D& zj(hM<>q?4<=_4aiBXCoL@)S*Wb(FP@GKsYiH>t$zzi7QT;3Il1J>GnvXI7QBj&%+T zg^8Y;33jdBfGdP(pI+$E>xyuQdrG>plKx8-&&m|+k73~U$!@My@6=byQbh0ajn4=U zqlWbn=kt7u{Pvz$+HZg1GcOshtF7Z@YnSNZ*E2Am#&J*Ayu>Hp(fImGj{ibJ32Cce zWJd0Ku0ON^6ZyYioF}IuV-58KBJI{6?*# zS{=qBD%GkHo%wNN{VoC`M2GDP79=Ne-66FfcUrr2{I2p02hb(*1kP87oQjB?FjNd7 zwbe|qs!xUeLE@nhk5j{*Rp@zGVLdH*9L^ITg!RER1lNnF}1fkg@_E)+BXv2 z=YH*Q;7f=m6*>b>)7`5cj9VkW7+D*{@$6BfVntNq_a&W0|X^|1y(N4 z^G)m$V`y&zANwJTynj>p7$K5_j~&IhIcr`*FP>0F$d+LaWq}93zb_suL6$F=q94_` z6z#Ey4T`D&Gh$gW8L~PGKrKu1tkA}8c1f$?@=C)TpbRNTCJknR!W1lKAsJCY?y`!n zu`RDuf+1OB!~8}I^`SiL?3Na=m{nSRlo5&E_klzK4#m@v9t5LCN0eTU3~v|g@*_}a*Xyh~yU_~2vo9`8iVRrnm}OUfqI0}N(=Hf0 zxhtu|>7Oio2!78#w!3uIJIp7F(#z9ADhPt$#NCM#%z8Mc0!a3qFb*K`ykNGzsanCh zN2csA`|PDS`)EC*Tk=8AZcEHs4>~W9t*$rja5?y#nR{O0^aL4P2#`&50wS zkkwUAACw}mpJkIXq1Ut|J75kp@0J~>kdnBtdVIDED*;;t_c(`Dh6H=-I~n+9CxWdy zWX0F5SKhW~;%L42dZHJ7L#_6$7%MruVjI$-iN0>#O2tRDQIc9^Zu?e>@~*h|$)?T@ zrOkT|@*Jw8oE@7jerY?c(eH8!5?{t}4m>tJhUpb{NT1tp6>{-##VA?)qr5?~0sZeY z!s~_NQ(lK#tyhN$3~k}~pbdsG)f$vVJBliL_#JgN_Zs56u0!$8XGk2T=#$QET>bYY zR$tWc#SDBg1OKngfFqv{ioCO)py;)F4sHql+U|h4g@{NEh&Oj}N+$Vt4w;-uUM%?i z=5do+D@t;P_@fu4`rJBxcmXJ{J&-DL7tjK`1MWZ7@6=PVOoa(U&>@*KK(BdvM9=B1 zGd|W__w-MkCpbI5>N28I<4a-$>)v_OnIg^VrT>lUmJvx8`KGq!Vz>wV8^NxkmT>R9 z`8CvPFCUl9?GEepdvX1ZETv15#7@vYf|kNh(~P#Kr1a@7p$urKJ##WVSh#zMcH6IL zEfCFpbmePt;~r+KDYap~iOd5H=&h<_SvF>U&^4K|58)APD|dW z*_Q}%GkBbynwFY2C^Lnp>FH7~eE|RRh@XLS&wK6%4RQ_28kFjiclPs*|}ee?OPtw>XhKwF)A z*G(A|-N+wu)hAcH77s*+rBrEaZa=Z+`(sinqr+0`d}U3umb8pX2?C|Iyp>v8`MbUH zp`VWtA$9O%JvuB4n!XLO`0c82=oM*tmTFpxn_CUC+v?%Rrkx)dlk(+IUY&$0%a%gZ z{ttWS9v@Y4KK#vP$p#X35key{)hVcP*(0G^x_dO8<3o-W(F7o#EA9vtBtxndc`$#pk9)Y(pQRjXWgv&E>* z5fxUG+AVpIJif{$A`g2;E>SB`w`YwsP3l5#CE^J$k}L?! zKA*lw7V8N7l8ZI1I&f0HzY?1~KxUzCqto9 zg|1^H^dk;U(#x8qgmQg+ofetYhK?3n9$+jWuYhW7pGnHsNa;B=W+;tLREbnsv~OB? z*&p!4o+GNEtXY7J{S-e*iuRQjFMEvu@VOpV8oQftYT$n6GHRe6F2*qLj4~bweV&L- zBVKkaEfH6iYi5&z5<8y$BQm?JIW|faG>OAt588ul9m}Toc9i*no8YbAe@2$t$?>$p z#$J3hFpNzpbCZ}b zVlQ+061FwWHhGP`dV&Y;A{123YBTB{0N5WBU#=?%dj#inf^Y^9p8GVUr}Rrw{=W{N zfRutyEC($38iR5nWtvTJJ)i@?6FLEC^aMJIKX@v`%T-2Sc-H{9(>11lek9PK>9Tgdk#w*7G!-Zy?kcuFj ztzV+sjHe{-4B{k%#AS?cqljk7Yb=(?d?I~%@6{R<=+|dBjD?fsG>r^vSwrJAfUdcu%lmA2PuwN=@jGCkG=wWc7>ucIX4;~Cq9SGl;MYij7QVAMNp_7iK^hV5sbQF#QOACq~U67Esu9k)hnm-p6(1~@uoS~%sCUz!@k}r zD00gq3lhdX&7zKMQ4D+UDbmO$N;TYnWZOk;dD9CZYIcSGsy}l2pE-XOk?D2ruyXh^ z{$f1q6so#Ja1{8y+&XDusAOx<%SVKu>Lq`Vqoz4m@6Ns*HTRY{l#} z;@Iy^znWN|#V@>~IrcMr5T?}ipbGSaXU~m=@j?~NMf)HMp$$fAR65(Zy&BJgn%xrH7m7J3m5(QLS!(tcHJ8}t$-Ud=c919Ry?MKoU(i1e!l zit6dVbB1r#-1Cq-{)&%H3AsbkS+j)~=ZZ2%t>>iJTKvcoy`=do@T-P4$9|=P9hnmR zGt+Mu{{#4GwRDtlCh3>DAOO!(S(o}F|yg@Cp@<7~mu*U|KYr zZuorC|5mX{wWnF~`BL&=qNFMq`$urO_1=%NotJE&EIwfKe#)aF%kZ+7CTY~TZW|$k zrngy?@!W&&CSrdhNE0gxIIS3uA+TLCU4iq4@$4fXu`rs~99wDTGaMcmlLY+oYjVvp zb46o|tX$hmRjz34HkHeQ=LUylTG{eN-R*gLhwuQs)ZI#usLf?LtS== zwiri|!>6CwnKFKRDXk29*I0+waljv+cPq=Z*B*E`QM6D0OMIMGY4gu8ru#GAOY(`^ z2l6r8GGVhvsZLY8pnSVr#5j44FFe0-|JY37kR0b&UD0B53)TC=K|}E}zxvFAb6%7U zP@$ZSV#-j8tr;JT6TB-P&H+?qZM9kc@bwcaIDdjW(61eunP9K3`g-$cUfVr1)LAo> zk>;&k@Lh%C@)P0gi{F8z6H2GiB)Q(>^B=NNEnP5_cm}QHjOF7OX$tH>`gM$prJ70m zLQ$nAxe4)+s7-=c=9)w%)D~3(%_tFw!yzHbSi|tn1upgLAsI-Nsp!@$)1uujWvZg2 z%sR8oR-d9i=s8p<1%PTkSe-C8HjN5slrekISBcoAsx}ct6=p#x8_>mK=_B1D(}fVE zpx4Ch{ZeYUEE;onWYp)?SzS>|CY7I^Ju4qGeJb-sk{LqJval~O<*c{e!$M_3Y*T@> zyCJqt{Z6XG8V*X_9%S9UO~7sFr4C4pd$h`Q(S4MU9GyAe#a*8gxumBVIh3>N)(_9N ziQ$UVmAeUVc{ttKr`+Xm_VK$IVSblGHn6quq`KLdoFf~lqv(XVy_m{LA1Z5|Qo!(4 zj@0T~?Y@iyjD$A$)d&LV;WkEWRI1&ocY|ckhkI$Qv&N>`*~vD7}Y+oI^u5CzA>jG ze==Em*Qi6+L9-IGHvau9P|b*mu8x2s!G6O#Vt>KHNEUS#I(DSmSr_~5@&6DV_d1g3 zsEgH-40P0=kVHoVzV6Xc7rR^~#)_&Bv*`I!fjN6X9c{+6YgmhoGy~z!$Yv+WOJzFJ z%6)^yJEL*Bny||IycKhq30c?85~;@@nWw1t966)oEKTpNMHVm-U_z~pbOw&c$DU2q zF1~(>*yr;D2K-KM6m-tv&DeN1(ySXZXPHt3JHCq!TGCVSJhP~Mff1VCU*sW-hh8@t zKmHtM%L<|{ws@E{&I>PCsG1oHOjzKkzZ%ovNOOJK&^0|PL(4)pMa z&a(wGX+pF@INuiISDOzcLi5^f0nWyd760qTsx4x%ICdq?V}yq17(VWy2v^p{98yDQ zfx{LUSbaf@jj0-AVu-IJ#k)f#?99$VJ5gf3{|>y5GPv7qF! z=8q(GRxbUg2;TFSLhvqrIuN{*H{+xl5Im$p2f=D`l1A2Dn8NY-Ndm>fL=k9DY4Zsm z$pWo2UH*QmjQB}Wq0JZ7>?VV(;k#xNT7T4*httq770s5 zfpuK@$Vu(Nqx~Z%Ik2-IImsnQLdc|FwlubDu=ENQNuyW51Vd+IyZbyIDP3@)zVo7d znLyP9D<)2ADdN+&8}|spDaf)=nWj}bv>Dr`!$PBS+WEL}dHOOuF7d!rJ%!?FR1%lm z_Uu5m${tZbUmWH(!BJUzi| zV(dk?$bX_9K}!;QhBp$)QdhN*kjF}nv?{ENqMPB;C5$kzGu}jUU=GaHasTx_e zC)rZajH*+RHWAIp1sx9K`x~sOFzj*1ULwM5Em;N7bFC6pwnsZ<8)jxh;v-v?nN84Z zVe{@s+Y_={oJI^F5X>B;l!L|$71bOYucFKa9%vytYFwb=qOtE02k|P(6iIegd+Zo9 zNC}U#gsK~3*#wzAMT&yhK{hHx0mTH{9Q%NmqJ0fz?Tiovuvu-fzY+rBmuqdHQz6aF%cA8_ZGMJaP&?Js@3zAN*){OCmDUE*+Cv9fx!g^3$e;G5 zo70PH?%<`gYD>C`j?LhWWhG1^5xWY%tfbpwlT~P&Ko#@h2O?39t`;?uApGRFWUd2q zC#gs@tAHHmIUemunIo0XZl;UIGD#;55G+dpzn-GThd@jyMH6U>(`)^#CI5V^O0EdB z8ik<3Ut8>zPQf=44D#t(MDJ(J2$r?x^j1OfQm{U>vK)RU<5bZkdL84J z;{^&e$sR3S*;&qA1C}=B<;7y+dnm4T!^@F-Ol>GgkzbeyT8wt&Spxn%J3WM$(cSDFD77o@LvhlI17wLc5-dZ^Y=jV38$~j(V2`XT74*@Y+7q##lhACh ze4INz3g)C0(wI~;eOjUHQU!O-szmkd5um4;YmMrF3zRM8z za+Oyi;9NaLhy!z*r_W;w@3~4|jk*_wN6CN;j4z6^d_b!^9O;ptktlb4;V~CZ3y+yx zJLVFu5#35izVo4I?U(}I-r&vc4 z)VYidou?hghzX*uERkPknHM93&%{pI!%V)!uLSO~?WoBTXGDmfVaZD!&-4=w! zDF}=9bqgcVG2@z00wG>^>=KGbL$f}1zN!PHRJI90bVbPXqdE}s!VA*vN{o=fzYnaa zPWONq4~X&j!X6OgnOy6+L^|9WDG$+WfE>gjc*j)rCcVD_JKgYizYBA>P z%ghuMS);_$2@TF4$jE^!#^!+%nX*Pef|AjvihtUF@G+x!<*V3(R0KdQh#m~m>C zC<$k>vL}c;tg@f{nJLfGw-a@HE?;h%Eq`&%0TQoIfi;VivD-P7TFt>PO-dKAz?`ae z3?(ZhOeO&YCI~dS*6JV22tSiGsL=jl>Iy;I5ON5kswy55yv4bqG;Q?0n*6C7Pq1YM zuJTkZz{EoKx@6k-t_cp5N|}GoY-9fUc#gHwa>U;5uLK*&X!SCwZ~dRlZc}r7J&~GT zLB0tmX^DE{=yPbvuL+c5^?5FZ-^a<8Y|Y$1f5mPO6PE1NGzoP~(_yK1sB%n_>Cp6S zT13-C$8s6bX4BhD{U@ITpID`(~_h&uMR8Nn28s-sQjZIlsba(!t5Bw*a8 zAXQ6|*z;s!(xotS);0Q(9O$C42h8H4L@kv8BK7Rwt6BgyWKIqgRco2-&#*~2p_H!@ zW}=D83>;r|r~4NHH=T3C2TDvZE}Shz&RZHQrAV2}nlh9Id1>r>st#RE6cMGWq^6}( zQ>1H6Cv{iTajK@HsVVWkSyL-&^thTXZ>9=b&8DK#F)yeV5MEZw(AE8tO|CO3d~nyg zO1i1bSyKV1QlGP?3?FssR-Ln`lh)P6uAy9M-6!d)b#<`|Qx#cEWaS=73ay_-jP!}> z5ai)CpMP#yhpv9Xq(AAW?CpwpMV3dq1NTRT;;i|iuTb$=`e0I>u4Pv5cBHefIW9A{ zMM|nu^6)((k^+wL;5LivJRp&#nB7)A zz8$ctVhah==e3JAev-qvy6w1dS-UiO;XXxUU|VR+X!}eFK58{!hP<-dta5SUjs-$) zdX#jS!S*$VTJ^=J>GK*@!OdpDjZ*OOX2B4;D)>iIFfFlOYt4EPRrs7xCAiqEr;d8$ zfc8%H{Glm@OlQqYN7-!B%ZTT(U*QJ{=_I5-%~EmW z9jn==Qi-JH7fURI1MJ4n7M!jYA($ehy+&~=HX6TK#aelnO6-7CEU!$>EH$0fAv{sN zr1Mf$d^_6eHO02MO6U6zcjrrM&;8GK=L;BkkJXuj z{orjvQ>?XOE}8N>HtG8SuZn0QLdXSM7tDoj1Sew8LT5%E7M+MurxcDX!hT6Y85%-z zFMisE#)f`!I4ytjwn@ve+sGxWJxA>NPWfkb&HoNMRA7+Z4C;qAp!!1N6tiYEw0p?V zW_4-`Eo#`Fx40GUUX;g}``T)Y2TePwg-&b#QOvzM58HU?RT!2FwaD;{mfm_tF84>NW-mJ4@*(y|!3i zHiM)nDhyszb>5QT6@nwFB{kGeHL|VLP@)@n1A}D9x=N*VW*j#|-Z-8mjtI(g-0^dT zSTWK_ZioJOj_eewD316#qVQiU#hn)@8U=>~tmZgt=E4+&4qgtyI%n|0_pUD5&WDxi zMeS?x32eFkt`?rWCLDYNQv|+vbCriDZ{?ty`~D6BFuilEk{vG=JiDy#(HLtlXpy<@ zAgIeK*SQpiJwR{C+TaWnm^53KSuB;KXt0V^6Imv!rI$S1#*9-$A9R)=!YKl67MonG z3?{Hn)+<=Mcy}f0Wuuc%bAfI0)-ZuoUeZ&+;kcOh1 zZoZJn1&s`@`2-qI+yaqMlvFdoHHy$AMtfVZPaY>LZ^;ra=*27{2QAmkFu9Ab0R?w8eDU#+sYHlu!e$X}>5!G-On@KRdc+KFeVhI}P@II9tC zxz2UR&Xi@fO!qt3dQO2Xlm3$dp#CGFKnOj7T#D#ttTu~?nv~A)U%5*b<`d|FEgdK^ zc6y`v z?GB-s$|_l5($2^6=se|T7$ zsBybMA`l&}bUKRT=v8urgd#qiO5~;(;6bi4`5NL^n$Gh-7pd(aNldXw~3nB|1kc zM5!)$C0`t?U+e`*Y9*78+tpybQ8TK|9w|^Jy z+wVzdcA3?a;Ek<9)sxmr?vo+T(J+8uijFVP6!n#|S0R3|6{0MkDuw!ut5MCp{+A9xY59$tU+ZZ!dj z9^H6;I{p2GB#h)$o8iWz5_Yc{_BShRv4qVv3#1ICvqbQe?u1ela*8=#+0^-gDCY{b z7_Bu8p#VY1{)wPWWhznZq*Pgx>L^GCKLtf4p%f%K9q|{MEu$Dpl=UJdx{WuctAdo` zXKxQd!#tBT=&%toNpI78WWdwYc1DJh>en6rQm(HWd(3YQPz&Kr7*L zq6VBwmx)OA(uqpzC9lTIKb5IT1h~MtqVdujoPEeGT1j+m7`2vS)LL4IE5%Ki)?i!G zi}~JVT+<-y%P|_A&;Ezq)Nl4NXDmz0`LkP0*@pz1Nzi#77;7x&6LjH^)aL7@xX~0SZ(Tr-15k{)y6#m#T=Kaq>D&_#c8xwON-6M4;zwk7rW8)XNdnw{HXDv zOjM!JpQwAo^VfKagV#G3Zzcu(VO;&A1IjG_54?j`7PI+&{d$*3E1r?Tf&~lZ%O8)P z2<=ak8|*#K3MFFnVG~xm=5?d0KuM;5Mi7aMmyEz=CD zNsI}4dlCp*^9$~JPG()sQ{hyBEykM@WyZoXj1sq;1si)3=|r}G7gHgV} zOGxKrhuj3p@lkL;c%iA<9DX!`a(t9WzgrA%q(D!`-NHR7egs^p-FPjRG>;sX@d-PD z>i8(WAdq|XdXV1yjKKPcfNC7ZrD-JlzL^&-l*zM6Y3>h{5n(p$$>Y9E#7>uVY)nf0 zQVAGBfD+T0BV@e8>)F_2zzdNm{T_$M&dl#EmGFPqA9LvWj^$*AA25M@`h<1 z><{0(#+d$Vby@+ceW_)@eSb$Hidt_uyjAEYAiDvQtbMRlG zXIJQ1S|uN;Yi{!djm(~_*~62bG?{F#LV9D1*|)|m_x>G;)fZk-MSv%~qL!c73o7zH z2@)$JmO#)+_-=V;>I6)cN>{Ir5%n1zVRHx*!2s#cS#zW0kL11FUp`ISV!X&1J&IpU zB-|5PP>7A&SiC;{zDFb_UmQ`1cw>b;*26_&Cn!&wEjCDbn$u%>crXg(Ftr&`YX<=V zejmKFPzDwC%owJ4sk|DuvY)Kv>u8|2+EZc1HCbrYg6nO8(>gW;witVZ=8B~=$HboI z26hu8Y}@C)o;o)f;ARbG2*0jc7%1py{OPwi`Jz2nzNnDl_C z*~Xcn&2c}WmQd?3uHC@h6DWp2HnXLtRFEzbSp0Yn!D+JvxCXRr8TpZbdK+gkUyzt- z6UtViDRbnnhc?n?zy9>lCWVSW3~g4wzZ)v_<+l!R(Y@ERvgEx3-40cw2mWt=A?Drb-;*2=eMKKVe6&kQDFIll>g`Bj|jJ1v~f zLH?uDwdz+}sLXTa1FYxjvX0!^G$0D{bgSGI1wm{#yeuW7)2vQDD=! zO5R0hdJ3svm2Hd|_FlmPhg5bLFZUG*2Q5^14&}~^#zYEFl{wHXBN}^89VDsBsEcP& zlIR`Pw4k_)h}~}E=JlXGoE7^ciIt^#A(Uv^z!Ys45ppukqUYFPzRYmFDv9~lg{y+O zqE!?~0NF0l^a9OA_$XA_lR1sQty5W=W8b&3keED;WQd~DRvGlNb{U!lGB1ks@~oL> zX{x-yIwYVdZ%Vf)C@scu{BEj-GA zkPJt zL74IGU^NJp|GkG&gHQw-q?zO(FiTgMG5Om-M=u)AB#YP5zR3QHf2<9 zt{2M$0*OJbE}+nE)^?wp>-0{bT;2(ks{|C`O8ZIoxVocv**A&%3zCY6jV!$F0Nd#APfVWP9T`gKUHNJ<;-y=Jy)Q zU&XJEI~g;REx1o{Y4;4W9fcc$I~`YwtH523n}d4*w+uI}7FcjY!-H(2aW~-><96tS zY(MAs-X()3ZA?+&KA_yvNEf?hKriA!#b`-;4VtE{+=<8DzTzcND;^T+f*?)t|E z*&f2J#Qh!jC2rVH%yQ1>_d49wKLzhU8)Tb}yNGwez2IHy90tCQd4fK`iQmufEx0wf ziBFnt7QfHnE_jMK-0Qe^aRYx&KHQ_Y-cLh&xchMlT>dlv*quR~5BC)A*k25?jl@mH z&BEP}+k+eTOVhRUI~d#v{sd=Nck=JRzv)+lY^}I+e?7?d8Sb>_p&i^-ToPx}PI3DQ zb6NBuZ9NUwnPwzxH!khB9dtbee=%-6E?M4G{0neD!TkZZ5hpYzE{?x1bqTFLgnJVA zyye#LD{x3TZ}XeL<-9P+R)9MPHv#uJ?(ewi%jrwpQ0O{I+gIYh5qItHpe{}&k0dxY!PIv^}H-+>2W*E4$g=g?U?2qvv!&% zoc{GEL#p#2)lrZ>o&B8yaznbNZ>lQhqi=SXDx&PcIy6xQUq!f_>==?m9f^9bo~RGl zK0Pez>(N#^NgX>Gx??J}?R3_N3R|`cFgjQz`zrFKt?X*BE9RR}9vLl198;OS)j@i> z+AYp`n!X8G2g#co6T&gYWxeFaw(%33D<<_0ZA6z$OaU<`QP6@DBu1`zD^%fyg!j`% zViL4~twp)o4I4fwNzT+%CsrnJb-VoQ5%&+8X`Qc`ynj*cf~0O>bF;5@M|QcsN7HXW z@ei_Zba`)52p16h(RFug_v0&Kx55CU@FA?#Fq6{p%UEX#3mGTp|Z+%bR#1biN-$B*}`?G`y7!CHH<74a* z_PpgY?-`sCrNG>0Bxgfrn$+A8uIJjfOTqq3cQOz(<{I0qKr&_y>&g8kQ`pQ7y;}Tl z;#BSkT!rzH&G-TPkQ8LyD2fGyL&cfsS@j2n9tRC9)EgCkZUJoL1DYkRE}+$uX|>>| zz{1bprCqxHTnP@_e;X5=JjBz)$q(?EIC<3aC7UTYxt}mOo?Q#~OXGC_=kyq(F6j*5 z;T_t|JJ&A^&Bv0~Wi=+**YCfaYD}rsm?x>va9fR$&aM^UJ9T!x*_hkpCv4wiNMjm# znvGeDPa31{>zU1UzjtAO7<91ps1d4yd(Z9(p0q?GKncb;oGfgAihP}${TS~w8yf1D zCi|9>IWGC!q~$?)BW2KU)*M;X@O-4Uq6FC1Ys)aK*#y5htz260GJud!_ z2;?xl3eR%O98d~NPUPLNT1MZ?^680rJ*K{uZQVrPr4r6~I!y~*%eg{Y#LxJrWtc)Y zs_*}?#*o0N@=_p%)fAh^J5d$){h`w##L}-l4w$=5JD}LRN}zaApePdi5dmc?1_+6~ zZ4v_2G>Md)qnU*|X1<>DRYmx6N6B6_pb*_c!}9wz0|YAF|C? zxo(`^kLjt*#T8ky`?{|@EyKyNb}RS|wY2#&8vR97wc+wu?S$POXT}~5*OBj?&T9_6 z&$pTVhH@jsP)9}4U;Ush-#?znj8E)9#6rFnZbIiK=W ze?0cOTY}-tq26BGC?``tARGbCkQ2OI3+0A3_qHX5wVju6Y7O=oyx6L2wo%a@X|_PY zsHr{DZGpj~X3Eb1`?3RHa@4eY&QOixqvRjDcmBM778e-Vy)Zfthe4Hx?PueS^8tbV zR6Hv&pR|=nv@c59?mAw;29R?7uL4LC4Cm^-*|U0jd)1To5G&{*m zyhOMEfYhNzM}vI<9%eRM*nSs2&%Sl;Kyj$i-C)0tSL_3csKmDtTd1b;ANmE2AIdm$CSV-fLd zuG*bwu;);y2o9yEC6;V5Dz4m}D6L5Z&oh1?Vu9YQg%Hk}ZyJqjnBJ)rGtTv^C4(}7 z%JA#Czu4}wc@oST6gHx2x7b@94YLdwQ0YFXMHqW+CAgrC#8xi1~KOMQBqeh^Y%HR2qZS5EZ{vx=gz55ZJqv|JcBhoegEGY4|=J>A)p zXKrv-JZ(_9LW#8CnG||j>PzrL z8Ij zvm;Z|U{;0ke#x|nyxS(2`n|xwbFu|b4@IQw5bWby zQ-Xc$Q$D7F{yN605S81fx9e|m-!DudXg8`Z;-GlFL9TSc{x3z~(Dqfzrt2{JEuF0C z@2jyMx-Oq_S&^T}Tl!lOHM|(Sd0mOTYhC~iQSDUm|CAW~kqWo@ey+TG8MPJ6Z!K=E z2!D~+r4`j{t1x-ukGW%ra31#+Uq5+DoANDK7?bw*UxVwueA-jHPJVO*Wt6N72DH$1 zz(rMwybph)AY`)iwk7hS%Pa`-e@TpjFdqnce_Y;aN~EIAf-oNl+m3*6RZ&M(8Yj3T z0N)@WfWZmce&!kbM0sVb{*#6rhF`NE>9a^~pLZxAG3+v+H4_o`)!yE=*m4G}gz&wj zoiqwj__I@f_`k9Idm`dGh8iPJRi1QUvDPsvucSGdk%81hvRTXK&HhTyIapMd zJNi{bavZE&@{z1mKo9IIt12Ry8!Ac~1A{!eFGnlcc6%?6?r~()Yb8y$b6#G3L43DQ zuU}Ub?XCwod0SN^7I4R}thfw?%g8kD3Z+UdqrSR$f|oPyb653(9Zwsn<#R#my3-CX z=sHc$99GEirvgZ^!1%mWriH-ZR0QV5j<{U|$bLo9HqH4$ZYGEeet4QW*DXtn?@usTZBCr$ysg#`A@{6U)-NBC}H&On$ExtI6*nv#w5Y z#vNx#Oi&6s%D5C3%uAMW1#)rx{cg%sFwLxhjh{`Dt_iF$oz#<91N(q5UdDFJ*mItm zDf@@MNDKB+Y);cTLAoK4w{eqZMdML9#eneTw$-Iz{MM0 zmg&G*zOL3jiFe~m)@#OH6mDU!pRsk4dda4|3(o+5?=4v;z<0YQG0UzR<)A2=zB71z z=s?<>8;v#Rs%|adZuz0KaDsO={u5pP~Hz+qtcv0j}=XG-fEBZW9A4oCOFmD zUQYtX`9^-^RepKh!Owd8Pk5%O9s{IRB0U-x(uTva+5J0sLL{lTMu+{t(Yq7DxmsoJ zNdrI}-*xb=Wo)b-sm97xE6uUu$q!!SAF-B8X8LKNwfS1cHs?zywHUAdNDlW|_8aOe z*%rvx$L07->TmDKA&MFG{*vhJjPJDt@m(kcnXH8}`-SctYMU>e7Da5iwB2>eegCdP!Vc;PSzs79$LyI z%pE0Bh(O1uaZTF@!o|3s!Thcl}&s+WBiQ4A+L$Nqe-mkKQTzA zMILG<65XECC}c?t=shR7l8>~gSe2+_HIKGAVn~GO71Ydz$1RG&Eze5PiyI}975@Y+ zyjZFcKvbY->+lgL=HWq;l5HEx}_#^YSx;{q;%i$fA~mH@zEbPoJGveb83=XqtQ; z#00>~LKy!#W6sGG8)jL1mBZM|EP&s*$82C%5K?c7&doX_$2za=MbD0MUDwMNKT6Xx z1PMJ7c~f2kAE9*)tz_5jF>}UI)ujrtJYCA#OCgl?&a|#&<$S}k*0OA6V*&vj7s>nm z6e-Pq%4PhF*r<(Ii)=6_ZF5IwlIDIhP0ucAvQ~NMl-GxMq};q&mCannH*;4=9-VKT z@^)O>%jO#q^^IuKO4iO{KgE9kt0oy_<6n$Fp%&Pk3!>dZGsIulDea}*rImEl_rWE} z`YOBB2e$2Zya{tPG5+p4!FXqRPf%>tbzw)kSB^*rlEPBQh(_9!kk*Z8f;>t#Iv<9@ z%|Gp)+*~OGAx{Me0>Ee_Z|lX99zGkb@|8qq4 zJ%6E|b?W(?dj48Hf1{qu)N{Fd{!TqtsOL)cT&*LT(6#u>bX%p zH>>9s^=wkl?dtg__56!^Hmm2G>iL#>zO9}u>bXZf-%-zZ)zeVV_tf)!_54sh+tl+D z_54gd_o-*QdLC5IFV*vqdfJ{6jHRn*rh4{JPltN;RL>ms?5&AJt^~_h# z0qS{-dJa-gw|ah8J%_62@#HWe*s668WwS zviF2qI3{~fn&WcLec#fmy|d|vk|@Y{aVI8z5LTm ze@UBj(Q~BXg)6$-oFO?1C3M%P9OzKRi9|!}43s~p2!*J8`W&}! z#AmUGr43uPj17AECbLzGB&2+kv})EJoEDVn3GHzQ%As%c-NjzLz9J(!S}$Lhsg<Y`@ukd{T zf2;cc2gKTGe`&-vU#Q)|VIuWefqv7LE=fB(vk#UYiF#k6k+9&070_UPEF*ZFoRQ-+ z<8#dT;Kv$s%D`x-nOizZlrGmfq-iCTa5)F2gX{7>j-Vf}OT4b&D7^XN%@3Z!)aCXi zHUwYyg<6iYDhd2JnSUVBT(!0#_#x3*@sPZxoSxHDb2e(u4O&UPS^Ga|=Qj=Rz{e#Q zD?5@;7)7Cvlvc>nN|)dSYVIb6VK3 zZmHgryrVNEzDHQ{m1Yv(L-Hld?Np>>BkAaL@|M?@rgzl8f_1*Cn%p_bTCEDz>xyxl zLu;$m99Ge0>UCEAR@Lft#pp~`dM3hjPYocQD|*&Ch!S|gihIs?K6T#O^V8AJTQ5p) zLlu&Zci}~8ZR^gDDBEvH#S-Q#be92 z&B@(o@3U2Am&KK+>R&r_Yx=8CF1Yok^cG0~>YaD5g9Wfr>dswjuwA3kCJ zJ{C29pK6icuNH=@%-{Q;Fn=G7n!iuB@T*nV3$$AGTKVx+8|IJM1a%HfMMMMs-7OXR zPG5c8K30GHu~J1wZ+a4YrOo&Dl+VWTExb3|@)71vg;_qrN>gE$kFcq!Fw1wVzh{*c z=FgTN-kvbuqHlx%iKJ!DV)ZL!(Hg&ajBcf)rEwQE9Eh9f+U+N$z~GaE0uH;B;8a=HxoLQvY}J? zflkdI1<|Yrp;18D-Dc8grqF0@3g-eoG$lhF9GP!R%{TcG3Nzp2hqqmLy{=b9|8;2fS7?{9WbM|s0NF6Z!URhrY~@6)1H#{>z^;hve!;l8O7F+n0q znVblmKwzl^7D}L-kU~P-65?{Ya{2^+Ll7{vEOZvsn>A+!26WJavk!X*F_LEXk=d?| zl!(PnGWSVKuCKr8EcR`>|6efB(Z84ITudf%{HM>c3D&(lp>sfA-jH;$z1Z%1InDa> zJAeD;G@tX9b*7*Z5+Xbfsku=^jHZ-`;SXQ>ae4UC1BeEfepOz3X<{8ApYU=}LJqAv zjJ}Edl<+T9O3LH?Gv2?HT%UI-V}G)+eP%%{FRrci!lF5pK^0_B}1O=&>~{H?&>D)6@o{H+3is|A0n1%GR`34d$# zzXt#5o#3C}nuK3`Cj8Q&MeK#Hgko zI$^2#_JsK(vyAkN`J<+n@@zGsK)q^0`TvD;{IB4M4Meq1WwE_(^@~krtl9LUC*K&` zZ25h<+Ar@Ta}jH^rRq1_N9lSwP)Yq-dvE$qP0uzSAfpxzjs^Oo(x~}^)EMo#kqZrH9 zBA#q?;!7N7=eUABu~@Fz5d6ek6*qR8!OeOTd4Iak)F=1V#LTtPxK@hCE{IL%4-P}w zW^MJbA>XZe=kZTAvGUE1e+Sb%-^v%^uxc$))Z}yiwuy!Kk~DU~_sV`|y@C16+9SjU zzy6jld^yLJ&2ag`v+^(Ls%J`*Q=#6&I7=OmxOfA_ue24wHX|2iPZI?V=WlJ1Gm9ej zt^Baj$f2m=vXw^OF#@{Wpx~^Ly+GLqr~ReHr)P289LfT$W-ef7y0L1cJD5{id#aW| zAT!c}A8C>4><3o3jE7H@A~<#{8t|YJ^hf5R9op&~j{O%lNN@u5@_&{alnxCPWp-PI z^M!K*oQ~KQKgzs5Nz>m>{@Ud09c_N+cnx+3u1cwggq zfC|kmv@LKL1Mwy_?AJPP!uC*&<?o%S1cqm*eh=I(Bz9a;=$$ZpfCh22`zm?%>; zI7RB>?DkF+t-?#qaJ0xNN>||pW_aP@;qGkJvu5APQcjMNjtHC4k5c|>{MBbGg1#ek zCj>o9ADyC}In$(>etlvwJMB3YkRjO%<6M!G?-{Xy)9n*cFULv7A@!pY8`%P2SS(aqZbB$Z&l~^LxT^2h5MUQd z>ip6n4~h*2A4>62K{>qE~4&SepSNRM*Q0|YVWU?gH9+} z8yM2b0xm4p3R;Qgy1fTa$Ly?Cxde3G$yQ}NDrG3cmshi-nEF6Lsu-2Wua9>5OG+t- zr(k9%VSd^xhoSc)Z{Ov7D; z7OO;NzF;PHUf~PrDR>@VAeaaz{@(=vcv~Q~LtAB{gBic8h+x8tJ?K|_>|MT`~Iu`*;pRV^flH!_t zx%*ARI@9(+dPd0X+|_O&=1A`4t7t$_L?pU}nXWHkYtnn#LRvn3Mi)=O&2?$vjCgO6 zK{-G+Bc2Hq8Q+A&yUZ^~)V*sZbssw|ETUtse69cx*O8|H|=hHiMrFe);<1z zRQC+2d$Cw#cJ%jF+kdy+iZ93~(D~-~HAM-J><$Z85Zb#2cDCRO=xi4o@^b%mz#X|H z-)Iy2P=Gp%nCBCm>8)-%ba3Bc{5ZZP#E5T;l_Jlxgj;s=rjSSryVwg7>V!l~7|tpB zOgHH>`PoaUa1lOx>6UwRA874+CwZJOw^SRhl{Q=jqyv*}I8B{DZk%Yr*q6;+xy(*3 zjBGSc!pKE^iW3&&vfzmd%Asbf+VjnJ?^cZp9ZEJTzMWClxfS1l4W=6MjbOj(_ZI#w z*l)2Q=?eRkNdNx`_H(+x-oSMkW{3P|uw$Ur6@GLtx2(l7>9O`~G~9Bfh5oVgGOmc> z8@YnF(LOHt*hu>>GHH|^3I7hEu(BC@TH`0*L0MVwHaVw~Q>7C#TfQCOzPH6NJ^8>? zP6FUi^bC3ddA3y3)kpA}vq0)WlKf{=kHYz3@G2mwHnyK?HRmmm{>Mp31!`l`U<=y6 zzLJT!Md^Z?Dc_@&y7#yP> z2%Le0gKj_zvt!RnbgKwCzdA)4m$k%EvjHK2_;6O~*;@isW=%i+89wQ8SJgZU>xn;2 zO-Rg+|Dw>48ZD;Bk|E5+h%~8OAMKEFj_7rik*A>QPV_S8X3~Z+C9rULL|MkWBcxS_ z=RXXeMSq3GgykrX1HviCL?($z|4T2xv$yq=51yjJA&*7Ud-))@iG*!S&UaMB(yI=n zY0fd9`rw%H3_nW+((P{^@Yj7is`h565I&)hZS&+|9tu<6l%K%KBBKw%r^~}WuJFcU z(ta$R>2;2+=Uc4uT91PpmgqtePdf8gi*5vyDp=u!@nzq?6q+yMBfRpV#eDSZ$C&2~ zzrNicX5GHlSO4C5+N0?D5f`K7wcjVIh`ouOd?dimleY48tJi${TeSN3GM223wxmaL zT^F1vC zPif$(Ho1gK(zCF$h<%KOLWXAclF^Qn($7ho&3Ieu?=z~w__mxw}+E!+n0%m{n^!d^?n3z5k4g>>h|F#iO}-S zbo|Zu(-`dK|2co+rkR6s9kjla3!#NYjfz|>EUF)18m9oJ@F%y(MO<3X`eDfh9sKDK zRH8(+TrFIblG9j6{EKW`7z!OE-+}T0o)~a15H#0wsar-9%6{eqmM8Jd&hu7s@FH$z z&p9zPlI3T4N!r5xzRD<<*kH4Tk}#Z(Em(N8Bi=uBjl;HnG;@r@@?~hD??Qk_>a3S| z9GDkb@`@~lQHrsR%H3IfkYU{I6rN22M2tow6Joa}?S}3I3u{c7rG%y$RCpjXwT)Gp zW>BQ@^f0qDDVidU-znv>5?Q(}Pui?#r4aT_kBLCKQP{Y1>;{nMajt+B?hw^ElsaDe zOW3$7oj|v7kt$zitnRgG79EOu^-U9ba8~fgC;7&Q2)sv9Q->a+yF9Od+VU^u@hoXF zu8~#L5wq&o*Ruya{wsMrw5P8qg1V_k=qJM>9nXj;t?!@`HMcAENYxz<8Z7JIg_niy zbl4VLB>O(W{z9QiK|==c3qTexHZL-YS&cEIMdA%fo0SWgnJ!2(x_1s5V&ZUJz0$MWK^IMx&j(g{j%{}&mag}~1JWp!5I zG*dF0eIj6w2p!Cr!zGtYulAdu6V471jwqM3sF_OFIqioxfOsiVizslF`y)iBD zSFYXPgxxmCUAQybR+kpY8jX3>+W0Z!^i27d2!&ndP;9x^IzmP|4Ans_u+)n|3e|Q0 zU8+T!Y=lkbP>Q6XedMO07`G9?pVkA zv5s^<*Y}jMN+aTsL>w=Q|0$5x;5NB$4S8Qalw`J;AahXxihx)@Gx=ANoH_nGx{b18 zhtS`9^;S>yJGLrpgK9QnSLo5B9DwJkei!3e+bcG-JD%!8VsKa<4$k!GZ}9zm*gJQn zT!8B=Z>!#88%T;F`vXTu7Rj+i&n7tFBACO+fO2d4;<-{HhvxL2b)%kp`_sK`n0WWf zy#dd**#2$%>e7JG$x@w z@as1XodEq#Nnu!FwPHFabJWNO1p+vYa4vpcUY5;M`Hfw0B=aN9LMeM8oI~V!UN%XB znZ|w=`@$0dqSV;&K7A%I8Vix~_uHTQIhX_~!RfNqH4_N{Q1Q*REkDWl3EF0}tjOeL zD#mzD3X9lJFtTlY&^krF%vIf^k~s@hM@@!OE0(cW4HU-F$9JlIvZ_7z1Fkid+|UQP zrC$NG(8>*zR@Q!^>{hT=FemD{>A=611EG=EW&Ez> z_X&RMB*#pl`?-WP5z;KZ{!^M#J%6T<%-HC7!N8%Qfh2a!SXbYTbe@g z#@xf>mL=m>8s8@_o+rhjnh740EY6$C0!(H(b;-El$v7cN0ae8Vtp%NP@ghK#B4y0q zq1!Khl0&0frb@FWsNqb13sbS3Gc|BBO{|rrD>2@spt)8`RUO@A8PlhuOc- zfw7b2xL+?2nS-yd;|QoSINr*nXTQh@43h3$kndbk>ZsmpgKza}h9R0=3>(z+E2djt z@m?%<369=xzm)pbfI5@YRcaYe6}6%3mfDuPjSH9ztx;bn!N!%M2@uMcI!le>7(xJ3 zn|u(id#hk+@;UflweS^HxZ3a)(??$MNIaaDZ0y!X5Px zXM8RT_>PLU8ZC_cWj`|kbuO-g4C3CTu<<*>jV&TPz^kom5F!5j@DxWp%df`;9=`dZ z1#QN40)*}Wd0fL=8}>34+&ohV_YTFbz7oQ9ERU=;crxpMi6C;pe3GVCn+K@d#dH2j9Bk7bHLh+>|~0`E?EiHo6%30 z(JjV%eN0qLB_MubatvH05Xpz^Ky+<)5OL<91=6u5NM?Zo(j%(G$t?;TU^C9A$`rq? zY^76A=~R4P_r)i9o|`#CQY*$9v9H-vmtV=6a*A=a0e#_BVNIUJLXyda8w(mG~?Y z$4@f$eZru=Yp9kHaF-WPcPtpdF)W%IfxFcRY!tFDwZV=xvpF{?Dzpmu_<72pd`4Z$ePt~D}z%W(qaT48m;G5N!>z~T-k7r7> zS$_?-1uEk)Dr5g6Gf58JJ{q9P_2A5UBVEDdtl{Esx~>9&X@j%oY4swbU-X;aTJ(~_ zUW6aSYE&E_WD8QAz>egy%66B{He{P;rEMx=&*FFZa01LCwmc$Y%YMX`qhy?viuG4d zCeYX}WE@XPQ*fFkJ18nDHGYa1*GYgl_bYP>GzEysEyhc|O_EfzbtJd2MMx4R*@+~T z*1;mj0)(4bK&sLkhS|Qf*-Gj=0kQ}N9J`pO<7|A=F!hMQZl0rNzGaFBF*ODM*US!Nwf38dO3n*aebgjhLM{n z#`LmX-EbLDX@UGJ6yC9WlBHCCVe2E1Bnx67*ndO;QeL5ycR0K1DCimrir=hYp_HRK zmx6F?zuzk5dz2DiNyCDD5G?0131|GL5qS5l#S=fI1;ZZ#}EEiGnrar5Cop-EA)V`ueZ0T05fZwX)jof-iFn zFL*?dkYyr4?!DG4=E~XGZ&dGz@)kN+sz{jDH)19wo&M$DOw!3FI(}KvhU$Y=_`ng_ zAbO}gnM3d;Io`B#^pYH$2Zf!Nr1mng%J4{HmXuK|rE2AoWSPY54PP9N*}ZC0qBA*2 z^T6em`|UsaktM;XzOxWGjheb4{A3MTN7PW=Z4I(^a?Ltlh(cON6OR4*f`6mtZ=q!o z$b~2hjwo3A38tB)4v>F*=v3%}O(;&I5rH%HmGPDTN9W|o`u*F#Z!z#K2L5j`aN@=# zYR^}=PU}?OBEm%b zkP6zY+iy|nm=sfiy8SZ3h6!U=3PjyLPQ5c-sdu!{<2!Vorfxd9_9`Z&G4XQ*Y^DOS zkK6TThXNYQBR=>y4HN!}o>RB~<$l3YpDu8%RbhQQhvoi;u%c*a_tdHbQ#($+(d`eb zw8+k#+O>$VVK#TFUAObzkwEE;Vbk{U1fvb*JdvPFwj5ycQ{IxRmAAMxwLrPzU>Lpe$(c!+LrQn)x5qKp{iDvGOIBT9H#L~}i65Tw9$D)zv z`xNLWshIy%{1n)aLGo|>@20uY$nUdQRO5FcIg|jqH)&z60KPL1Znlc!Dfp$$zDs| z>40a^A*(`H-R!>m1!uy7{L2gaje)DbAXY zK)WJ}XQf9X6)nahlRV%IPjZN15j`4vQ_>_b zTjB`au-!>g-F`IBdIN@ps^3K~KKmy`NN+o`m&;~;*#2uX zERccT&KwNC)sUUD$UdFM^V4G zh}zi${J6Zh*jY0RPHHTLj>`2m)L6Br^X{xUh3EdU4$&9*!}H%L56|BfII+R|k*T1t zA2(Z3Vk?B%3N`Xu@rF=jtFaEPZoJZ?ulFRjFu`6$oj+ZIPNujxFiA8Z72h#R*`Zi| zImJr0R*L>e)M5{kQK?iXv%^`@YCH{Pc$PsXlTYA1%eWlPl~Tb~ykXq7Lv+%+(iZ&4 zKk~f5H5Q-&K8qx=zBPXK@`BFA8^x;Z2BOWfHC47K+|05QXnS~JSH2M@!Ty(`N>RAJ zA=80(7m;rO#eQQyh|((n#Jk_QI@T+EK8bq7wu0QQEiztXO7W-_yH!i8@hhN~T4JI@ zk~RvA(tQ8OvjdkeFEH*WkGg(ERn}@eDRdICf2epxLZLqF-4BFW;C#PTuEKkkk;ghd zRi8A(ILEB+toWeimm6nx1_zsL5PXaoe}W*H@ghoGqo!l=?s7GaZ!tpZPk^Cli=R6ydcQ+oXv~$y(9mbjf+i-WFq7T-u#`;GW(# zF2PoS|IP7GlEk)3qY|Nvjf|V8f8e*1U{RLx0)E}#SLCLMb*^xGYu@47H#Rjm&5qrQs6T9fi6p3c z!&fwV^v#h;S)S0BQ=IqYDR%M|C=h`CW~jKiOak)a1y)h|FL&2;89iA;?HYffP@p2$U~5*u|NThqLL7V49vic%t%zi zLj|G%#fmM389@;UPEwd0r*Lhp-fLTFZL7AnMtmVvOaLK(LeQ$9R-^WoJ&X^~mY0_K z|JFWdk_jL_s`vK(zw&)d_Bm%i*Is+AwbxpEZ5~{!EvB;(v^O;so+J|(4b&?I z+?gM2D?B?k9Xqe}*1T@QOdNZL4z^VBBl5<6so&Ur8nlHsD|iz=G%a|6FItKX$Z>0p z@OVUc~WAY$(+L|3Xjo{$NL758Ovk*kx{Wg^yff zEbXYlEtSjI99-=EV2CH83OCx^3y>Bd=_KZ{=j+v*h(MY z)1a`%ocFH0d5t%60zy#ssy8*tTAwjnh>u*L9_ZX?Lq{;)g335dVM5r=##oSnSYi7F ztV7w0#C}Mn;g~NtSUS>2etNccX&0kmB7P>VPiX1hB6$q7JWi9x;XJlr%OH6(P%1t& z-dH+MgJc@N;n=v~M5(=0e!#@^V4fcO_pNqjNVyM4yH<-Pk(LL`n|F9)0p@&pd`V}p zr}MPGgJKQ5c?yx6sXN6S&C~%9)&wgd;!)v4M?%y7s2OS0)7%NWPkB8)*nH7|%wP{@ z26onL4Gm}|0rlVgED|ss&O~X1ktdEcY(1 zS3)LWC^8VSdz9{C8h@#Qf>KkU77!eNNaI?$Q7r)!1=Jv&+yul=SAZTgERgynZxvaH z{0B16xeW)|eJGl(uOHKNoYR^X(%pjf79d&cJ&AN881I!HMm(C#T1fXA9Nm&8z|BTA zQTF?Y=VI#h)SDiK{XTvQUA>Kx$$F|0}u8m z=e(<2`!}YCCeUbNlZfy*Y1li4aen6tb^{^=36%`joV^V)R*us4Sgo?UJ|n zwBR{dm?Kjt9%znCQEH)ReQ`L`<~}GyR0>%S_3HX9x`ujC!Spmn#yI10nBWqYAVmcr zQj3(vr)N9`B{D$;dfTHp`c&6d|1A6X=NR_COKS+U$nTaPzU4bC{=$_C)~lY~tgW{F z(n8mpj+u+a>?{Iyo`TMi=%O~#vQfk@Tkgc4@ z@rSWHUSEj#L)KlTvSr%Gk~h}ovZo90alyWy;cNKtDaKN5ta7a7QFNF|dLCKWEY4Ib zDHVR_NceE}yph3T-1p87AI^XaAI_4i(b^%39Cn5lMJGDqQ`W#I)8Z4>2$PAA)3<`f zy_#|2uqp&5J~Vu|bFeUcI5$`jK73NJd-!nIU^aaSU9?7w zzd+FWW5JCI{?C*|nX%Tn`V^{goBMd2M1%SKKRsGDVCWW|dh7zKO;*qp%jC&Z!{sAyfh8N= z1*fOSdL&;x&#SuhSPsvolOxd5uVAG> zYk<|Kd<$A?6 z@+i_!X1!Jx>{l~k+m*7nzvLr$8veYyjZjZ&p7 z^&ROE2;cnBYmV(R18WBI-efT zh3;ZaOM|)Y$YR^Od_>GIn^Xb2dVqTEHE*HH zF68#3Ff3jqHCgkd=23wD;*6%p-!pamv?+k|M;J&vlP6Fm!}2?^_cF_$KH>B?!RcCi zBi;=c>+Uf9Eq*%Eg2?q&y{ue8t1)X&SnvE}>ivj~t}v0d^_H?zADM!!2cNO4l};tG zHMz{#yzo+awUw^T3UL?RT5!5mkq8I$@6j(%QR2WckY9_DG|iqtqvl2G@|hk;dA(6x z&4bIF;;eZyG(J!~tRQ&Fs(b-_nanGW#PEFe{s+xm39!MkM9FLQ3F`4wT2ZL#&|(D4 z=Y&ki=Ib@lpPNnbE4fU!)7BM91zV*5XcI^m4^tB?m6xk?ekiP4Yiqt$S9Mv}~Npjy`84!jse9Iw33& zcMEml$J%|^@#EP@>YIz4M)e%_( zmVok$vPDdHmSSZu?Z&<*hO&CKbFHSJWNgx=pq;UCqUeh{6k98b>VAlpC5je}ASLf( zJFz!LvjI=V*S1JCT!n6MGyHUJoz-`?a0~8|_o@V7=B|WeGJQ53BltDeH0R7c$5^vB zC*nAVXKetfQ#BA~W6hvmyn!s@&@WrP)ok@*Q$>qt=6w8Jv4X4`F?5|#bB?@uKQcHn*BSdYIq1kxYTlprtWo{007H8C>WlO+ys!@ax0vUuF8VfE z(t-;&I!>1a^Hs-m*X!1cP&4?=LVqN*(wyy#gdU(qb)&ZH8rA<{)mX1;q(+nNZ=g=2 z!fLSKl1DU(VXto#X%sBedenNY=d-Y>PTjnhf>?p#uqj8c6PIY#ogZVBXrh{x!b0zA z20XKgp;1WZq?@>?2D1fH?Ts}bbl~MvX;pd`7j$&m$0MJN>RqzG5htmdkBpkfRWG$i-gJj(LQS;*_!F5EYY zJDOt!M9UqS2b#5yy#$z|Bb$bGm^Y38Cbd^C?Cs zNFVBTr11e|p4|3Ik58h<;zf6cMbqBBzB3c>Z1`a2O*wL0S+rq(KDXybo>LDsw`uWt z``j|*4L#!}5I~DvwjN8i>3OT3aW*)DVF)z2kyeehf)FKiX&M9r@}jjW7%y0HVzQBS zXq#+4cpmxFay76*Q;d9+xtZ+8g6NI}8mkUZ3|(zH`cY|v!YdQrkT&N#mX$k`m-5}h zihI@xk}$cymz|77z3NrgD(O58CXEa-eRNjDQl@VK)5o--^W8X8HjMSU5xlB?h9i1& z_MD&45?z7U_~>IAB>yON0-D-j$d)}kKTM7NSx?x+hq z%=<|lCL{6tN*ZqRg1m{(r|Zq?RTvX?E=vLssX~^+Ucfk;JYGy*z)qXto75A`inT<@ z)~E)fCt#dSWU3SMx@UEq9eQ52)QvGr+jXLO`yS>IWoX_TBwVYly&~*p!@IgP!xa0{ zYV1p~M>KtOJiAI3^f(lEBQXl}7>b%_Nehbg=SjEm}Fo(J8F~nGT&A$wO7_-2DxQLZcDVRFqZ{}P%qjMUU8_FD53-@APpdswyF}eCsxs2*r$U&r7MZ|SnI;Q#i;H?nh?WGOo~fyOcxh_)^J0HgniA4P4AqxWK$ECSXbuZa3cMt z!8qayZFmn(0-2Gub~BQ+1ToXziG1283R|121e$=Qt8RG9$9wAKW3EX+3DaRxJ7)5x zNMNT3iEzSt#KRD8;{~p|sV#-BO)WGbwNM(D22 z)ml>9^*o)kE$4V{bw(l)N6mT6?P+A?F@D{q3?Uow?tsUr`7=v()o|BF;=#zU|Ndv` zzT?G8I-aPH7fO`ozHT$a6)lxuYBzPp3pqWMw<$yRDDieyRm|Kkq<~1#h(-+Y4jwh& z34b;78^orsMpbMa)G;!X`wD^`9!mPoe|inJyi+y`By{-vj^1#7TDZcQMnp-RgNVhr zU7fyx&*()95wX#ZXbq`oi%R8XDX>6iM9M4Nn7{eNt9_(Je^Q}8tM9St(nfF5i$R+2 z#$&WqY@FL&OW~bF2p1nHn-RVH<^7ghWVTj&Ybnl7?_VusZ{OhejsCNh`I<|pO~{CR z7m+4sAEYHFUN%ve$YrNj#R|m*%2>NY%$*5>hdKU0aW#dlR_wnuxf4Iv62=Jn{D@Db zMY9U}8P&g+ZyJLa@iP3$$k4Qpj9hF;#09GQwG}ZE$2Fo${vA<{jM1Eh(yvM=)Jy6= zfU=ccB1`U~jGr=k3K}IG=1tH!ckOfNpClaSk~-GGmEliZp`jmhNtAA*7x|Blx@jg` zI=Qu_zO+QJ%lKWj%w5h$zeA#9xSkjGa|BexIq`StEH+{ohK{vaA-3X45^%E+GFkfN zXXT6IZp-{7{ast_gW~hLQa~(1)%z^O?iECNF%P?o`iIW+M=$8lK-`fVKV&ntn+3i* zAkkf4RcDJ9;c?b*ZTi3qhh^T>p{jVAQS+a?FxH+M{@_B3`aVC689UNHbOyBrSLrVZ z%?*&vReXt#{!|3U&f#r|c!%(jOk?R}%7>3&VJjm+05`Y!SMv&|KXN0EwKu-yjd(Ui zrfheG|B_+Z39E`r>EY7fGC|ebGzvNX`b!Z4E%)1q_}i9?52*C~fH=IgS21Ka7#o8S z#zb<3!kJ+GP`1Ls}WS~=5Rx_={P*anK3j$YD8G|)F`W{vPx?W4=bg5w{s zjZ|>tkjn-K9=NpkDGObgoz|d>E@F zA>XAkz$UY?o+CyPDAb>^F$c2cikN@?xKreo5S)G-7L)a^*V zx@Q^#+N(;tV>)oeCJ-Qgx|&HI)F+w2Q*_O_N7o!EJ}2lB=jm3QP@iBHwMT4WL`N#N z!WHz@5NKF!L7=6fB)fRwDhT0jtt!-xAszgYe(uOjqMG{5zgtdS-Bb;rp_;zx6$Fd6 zO$$0Ml-5(wF^X>8YTN?9TQ}ZB4V%;zzXotQBWTqW1R@Lyto$!>$V)p^Z&JlN!)at_ zh@ET)EeZ4uo~-`*hz!B1r7M}@1?nYURW01!G6`m2y9KRnof`E#1h(sLkNZPw(Otiy z1CF&OV1G=xe{Eqcw*9KQ2KA1!53#KUpi;1Khd>+ zl({|1pUCWhpF}A0yn39b&<2#^H+0t4k-2GhO9VDc=TzX4#)5o(c2UQmD;hAa7t%2t<8LkP3y>);=b{vK$g+KXn2@L65Bz26p)*mR8$yj}`Zc^q!8FC>7_cFyv;H zwyfu?lM#YoAG$?!&S$NX23h2i@9ba5gCm0qQw|<|JW=Y0&4^~)UGVjuea!colk>gN zTZo9a`=I4qOITfF^g(aQTXTo~Q53b_l27K1cSlPPvHM+4Ux=)$rU`ArEoqnt+g|e$ z3311DR17)G8yTI;|L)!a2oY1MpJce+>CFVyBuJl*#Tu6Qkz6tKUUHUC{8z9fdNF-` zTSC{KQJO?lJqJ|j*gnCYgK42*Xwp0(qA=BGz?=K&-8b^DWMJMItK&OAli2~F;+B!G z&D;6vBCsaTIa@10q_tpw}+8HS!I&ue6!f-yVXP)C{aqhPW zb=@#y-XIqNWL@F8LIb2dwT?V;E`osvz>M( zm3zNdT$GzOY4a84rzh2GyomID# zUF@goP~NKH(sB7JomZXdTKw!}joDJ;x7yY?yiJWg?Ha`tlj&LZEl}a%%SFg8387*b zVtHl9en>B^iNAx7nj{6d??C+sS=Dbk-JJIj6{$N?z8d8CE_s-n;LxfCiE~5euUeD} zKQ-$Gdm=1=HK_&c$CESBQVZS51EeyrIyLgAItM6FPB1*f9U zD1-NOh%X5rx_t4u!PVi|#lc4fZT}!Y56aK4Pb8h{SY569XC$Ax1VDNDPT)S9xii*&!G`n>qP9&>{>={Bndm>P$n zQE6o(LpCErqH2!yrkPsCXjK0VieRB$H^w=v(5U&4Z=j&d{8RiH=`VBGZ1*|pxTA*7 zT9IbePhiki)kgfj@S#hMV&!OEIkUB5u zJAIi^Z9rfFEoKL@>BMi6iN8X&^qW7EU^a|uGx_N@65&Jbj2c-IZP2HFoP|DKW4WBO z3ib`hT){JB@{S_YJ>^}V9`Gz(33FMW6>GB7^thg9L7k|h6W8b_r@_FQ1KXWMJLK7m z*F>nlifHl0qH2|Q>kLE4AfilfUnU+(j($AGyQqimk&jl!p=5;C0|07re0(ge*9N6# zm4LQ`Ot8oHv7uZP&-pB)+Mk@ZQC1@8)}Xo|`Fdb-HkX6c7Vg!MvT*O7OTfMJjGDQ; z5hYpY8iQ#aO=qPw7}+=N@1<=A5goab_?t~i1RjV<9xldbd2D$HRKC) z#@Zcd>t4kZG6b^~NSwxNhJ#^;Q!+baHymzVf_br5@%&0swL5S74BXp|AjuTG9H1h+ zzNx<}E6~O<_0nAo=6BRub*Rv|eFdZ97Skqg_^`tW-zHC)T!tY$#xWhTDQrgOx|L=| zbnSWbsNGmA*R9a+KY1g0*Yd(_*?SUk|G^vh1vGY9LHcwMZ zp1+22d~X#4tkC1!i5(Ox|diFM`}wpv?_H45UJ_j57{d5w4u zs*@Q=OyrE(k?A;CcNY;&PSm<1qnzR~<&R{>Hu20Q-#97fRZ^7hhYww5EN`OQMzw4u zWHi-e5=rA)agivMpHAUJosH^y`5u47%iY2Zf3FNK;^<8+sHOJ;jDs>fxAx&YB9z-~ ziXB0;k^HSLBoRk^v>?M))#FEWcZl>yE-NP5xvuX8zN!i6F=M^-r=tP(4-hg1U`KdV zzY^aPGw%+Hx}HKNO^a<2kt%k%QT-rKGJugH0G}Q{lxftwZ}&->j5wx9dp+3Z=tIT2 zD-nlRcM&yzCcp-IG4bBEzYUacEDo8+{;U~8e{$3uccDD|p!BRU?j@skvWYr^$&A{; zRJ#uBRZGby9w7iC;@INhobnjmOUIilgwFz6YYlQYA{)+^)Vo?U{jX@|{Zf?h*mVZ& z*yCiJ9#S8+10SGL8 z%HvPSpghfNxZ?RzQ$982Qd6_3Ym(!B@yA+@{%hw2IqZEk)F{;r*}}c+bZ!3LBsR~5O9<+J4_@efA`&n*mp;Ie4gTRdwk{%F3Nj%FUkZj8+q zg|t1K=G!rhA%Avhkij0QIXvN2AM|=ymjUga}$nR zgkr&gXfF6P8if%KpTZ;|lJ(GydWlux__lt((|)fV83oO?xTo75L(K3i_84Qp*nP<{bi6+LI$cnf}yoy z+1}w`S;t>8K(Je|>@GI9U|D~SWpdG<);iRw16s~VIcyN`;^w+J@du1&Ny;BN*H%Yz z)up(U{ttKre?ALL;+o^Fi!`qj5xk3q5ijsY<#X07?oj7J4B8@MO4UcYR5{^{cZwLU|x;t5P5Q0MvkErRM@x@FS$er{nDE&VXccMO8!baN%KHQFL}(RR z`%zva+Zom8>O@bY`X<(j)~)r?Zx9~($eTk>QCJ5`)vMYc;Lbu`#vam@iYP0$_eLD! zso7_~DP8QR_ck0i<$Q@BVt}=7K8DW8UI}yqOq%6*B`~qIU3ZG(h{b`ECxgq>+iQgf zW0$g+aG5H6SfJA#$FjIXENHWZdF3N5_lxI>fs5`)`?@>sB07OgfxW*(Z_tbyQAGp$f^EF|$*`99w7tE~#H3oZ{Hma{>Aq6LI)tuerr?VwJGHtgPS= z;`vUN2n6E=JH~_c+*2slJNPiOUf)9F^>(6;xs{o(SKY9vTWbrcw^7aft&M;!KC+G; zR4pvb_L}a~D=Ssw0qC+h=SSBtMoPV`dQ?5qEzn)tZzj7IR^aZvLp-Hp1|Ziq}# zM>ntHwB{!B@o<802-?-+qr2j_iK1_f@ z#}By(*F+(%d&Ss1L1M^ZzGmXn5_tnChDetUG@`T9y_K)1e7#rDUf+Y|c1X|!7P+1q zM5V|}{>qIKz)c)aO1mfW;=OazHbNuyrNWsTGtw+q6nd`xQo>*CN>hy$;vW?n_LQg$ z+ymCROBxn(4Rxd3w4Bd9^rIKEr80N;2N2I{-Kg5Ebk{NoN$KPKNocRPvca1v&^Y#{ z-{+tAl{C$D;%v1nLk`rnW&t?;#P>>of}^?iyvnr!n#enefr(&iawlY4|Em^!6VS?? z!BU67M&R*!FCz1>(Q{PK z<#_)*%iv~IuNM}poz!>n4x5@$BYfG~jsK?Q&TkIx-eUdi5ldN{H)*rM@Z#Qs+HySVrV#qmzo4+FsSn}b?PtIwOpijYJEXl zm3^D~kJ|gR`b?$7qYls5o#uKnJv`$>dT_|S?4o75FOFIK!OptBfdkzU5iG+qUX{~- zP2m}DrFqW#i$wgN*B{Yyl;qcen{x_Dst0cqY$}AQdLyA%@%@hdRgl!|-BVZmQq`e? z&>2Nz(?h+DwPQ2bp#;mqv2%k(ElTtOsGoxuf{?LugkPdSggR6WEeLXuDbUv&$=ktu zbsBU&eu3*T)J&J7ZOnU`m+>v$=%~zi$EpRH6GCfAD1x;e&8 z4{2d3-@F6XBOc?t7kX94{V$=b*YQ4F(jj<`xIQgNDs`6dR^20(8y0<6Z=}#2p`tcd z^OD`~sZNAC>62Q!Rad49;D~-_w;Dblb5QkPf(XlwL32gHkgydA2gqXwln(3`aiYCC zA{?!qMA%;J@tnu0;DsL=)zf9yYRZWM%;+B?J8yLCJR7B{2$L%`l-tCWZ0k)VEY}X` z6yMecPyRO_B%A`6A~vMf&~md1RRs-1gl5qw8#Pyu@|%Nx z%Xe>dK6hd`?$=2_aq%KGV(D|OEz?kO{Dco4b0e!&Z&o4~MR}pzSc1Zwg<^^Vcnb1a zohz>bb@HaW^`?)0lgk@6v*1&S-9`~-x$Br2UKR4nWnHBa_2jyjJtG8~_xbX^_LZs; zBSQJ!=$LeWRFiJLbe87NVQ=KF)tTc?Pwht4eyJ>-B3U{$3EA=*PdE+^qz=QqQ9zWx z%n{=e1T$)6bMB8`^lJ!{-UcroO&JvAr;|-{5)%DZ4O8{M0gt|&MB%j*S38$mD9jm& zBD6)rw3bL5a=8VCVfqV-RIX+THcR?JNV+BU)+Bd!cGAfem6j< zN1AwY06fP}dGwkZD|lL@pJd+}aoj>0Zq-i|u8~1k$(P7*sCmkvSy^8eHlmB2i&OuC zq?ev+%Ky>0ts*P2{|Od!*O=ATm)7x{jzD2Bo;zZ{WE)M7L2hkKaN*d+U50=wtfSROc+g|l;_0p+Y^!OB_RUzWe)0Tc4Z-Umur zC+b@26GB?2E{BQ6aw)p%TWsN)S=i0cd!_EbPmmpTal-=HOHeS-EL(|(+3Urc_0D{| z8Z8E~m*gSpxFsm211l;-z5V@Wwv#bYu$kM!u_0C{byqmn!8$gtBQ2j2K9ph9h)=N$ zaXgL1ZnGb55`%Y0O1~oCu9(N;wf493Py@v#+Yi^>&V!$a@R2fOd3O@{A^~h^b&T-O z^x#vaO|!9F{Ewymt*k9=7+-}( zGX+u$(J-3?gT1Ke`yJB$m@AVQ^AanSwj4AQx<-TXmRn>=Lo%?UjQ_svJTV3>b~9S+ zfo&=rNQGRv!eP~D&cJ@G>d|8BfvIvjNhs1l@$a>j*Uf6^Vo34_ql1eCYr64cR7=P- zdAdQP&n}*H7w(2$B)hO<_6fW2AfQin;laLiVZ8`bpVfsY7x7VW<-(K}zIWml#-y|` zMq0S~L@ksjTlfU2;smK~HTvnc9D#-4cwr zlz0uy%_Z_PN`Bn(GeTS~hNdXH&^&1q*x={YH4&D8xFe(d=Z=Xs6ppwOAbotBHGbVY zEGZM~jV@R;ESVd|=HcX@c(2J$>-*SQ+{=)1z=X$9kREUh_!dG+Dfqh6^=tx*E`pWm zID?l0@iWb>t~0kM@`h4Oo==7q3IxE&_25x#ym&R9`4;DEyZ+M2PLuoI1I?PvsFN`& zN^WTy1&HberwV^?S@1fcE!PN!1T==UvrNiq-w|M~?kV^}gbABe@YlK(qE7YIa1i1l z7U4Q|A3JW#AFj?0wd45d^}3E8)Dd691kB<&{=xsI1oi)K+cuB7l~7xjxq3Ee(c_m--ac?}KuoE$ZKtt(7j6aqHGu0gtj_0G-TD ziM&aC6%0pl0E&U(Th-g&Wlc{7DNokzJAQVZY(0;Mo8}K>jke-udlUsWZi=hRvk;JY z9=o(UJ?QX^)iPqW1&kJLmDsvj=r`B2E_C!B3pjZ24aNIOVr8pt4b{0=fYKzcogLp! zNqjqifvjuCf8C|_K=eLCzb18p0Xt3?$?l4f9rSD+kCv{tL1ea+BSe-SDd!htaIKNq z9Q-0@$wN8F4=$6fK+aOW5W*v!2olc@>tXyL3o*e}b&$P<@K`@FBZwt%4VgS_g<@BSZ-)yKVE(>**%6#BKB#Z~|rU;fo35a@cRw$o&mkfs^xQKAYI#d=Brqgd19j z>~d;&Pew2|e7GBybh5cm@BJEiq~SQhwROiIfo}%u-a=&;}>03;0mI^@2l7>0|tp?ALICUyFb|a8L<{Pvok$}fY-1TrQJ2+QZ z%6H}Gdij|y%w^hYon;sWRv(ef=aIre&JMUOCdgmu;v{~YOoXjO@TTygoX}e9I+eYB zfOxIbg){f90e5ur-$-4scodVc!xbItXn5P%Y0Hw$Y0F?JJ2=yl_VJSNmeTlzuKm08I8Lq4To?NhQ?_JF8cqQ5-uxxVTs&`$ z+%_KX%p-n9@pk-WUv2g33VIcrLK(27X_(VkDw;NHdPeXGji?+^nJ3_wDL+@q4<|}& z-@tPvr7wIrS<7bI5yaNWt=O>+)VU^YHYtEcY9^__>r@4)xK8DhdYcq@8xwhF@QX1K zf^=xPSffrk$s&OpLEz$0S30)lAJhlJ{o*t_E|BL-iS;FImj1F-zSPPWLP@-M;I$>| zWZvQnfSBQldY`pMcQv`pEf$~~EI=RXzHoxMZjD^2(y7TMN4>iv%O7;&0eLXjsQDO7 zj(5;-&jjwS@Z0Tz-(vA(1bgwD70l(AgB;J3jZ7WmoEq8Vj1ww$Plsc*x=Bj%|M%av zwgH4EHssnm@R}NX9il9|`OHxJ!Syk@%}Jgzf_)A+UhD;%LL$eeWICSWfgLY#3}j~= zM=hQA2VUu_AhK$hHjNZvo)3+X4R;pjHI3wU9*e_Mj$CbOFdcVEvC3_&S4;eyPuN{x zUUo1>m?;c#oYd7nrHY#*Uo>YT zHA=z-auaOtt1P314;j0vY3w5 zJ$1E2i`4dl2YLKP_3#=Ng)}@uw}dY$Gvli&as{&^W3@jMCdask-iYUh>`_p+oGf|m zqsjMNW6NcT2C1i$?_G#6BiCKDn}KWPSoDLLmPl~IBg%Thi5>Jv4^frF`Cwb$9#$Ic zJe3KU^k~9h7W!>KV#f z+rX8o-8B|6PkVZbjsapKQIn%X+z2 zwQD(&wo=`HwKSEpfN#><#f9itg6&rgjLC5`%E_gfIa92XE7eFXP= z>Fgn^v-EEm2(um{Ph-1J!45IQ5UOreFO_%U83&L{0|&x063lryF#=|^m&xy@&E!Jm ze>+1+PCg$cG)y=38<4{CLm48z08M)SSW&iPjI>s6wRSVDL6wZ^F7h08IHt)~*RVan z+f!pVG;8f;_XKa*uC9c*(aDh%s~yJ%jG9Cy(VhLBPEeQao;^fu5&e*KpI+(iuc{DB zem<30t_t1cgDRwddRtRIMt6TVDgav>aAc}(@5Q_}Gq7GB7Zbo^`8@Dd_y4@4Ve7{4d8hd>FAEdT8AKj`B|6~NxM$nI7wHW(ECQYnU zKW3+HE<|TErElza7H&?NDDLW;U8_%Gc3t7EiCSW{292S)96z8>iF!}w`cT|>qJ!~7 zT1g{9Z`3i8BAYyKb)|qW+;B2{iP+J}YUFa76INl={6p{v+F@0L+$GiIF!^HLdlk&m z*T51DE2ofAs7`l?9^qV)X{DmCy+?|hy$A9FsmXGr_nH*cspD-QT7 zO05HG8w`O&drNt6K-Gu};!-<%dv)ef+3&TocZ+ZL0AcRpLj#{X`1QdF=AN;-=~ujm zzX?48(=hFYDInZ%&eb(^?K8DBFQvyh8k3-aC17@b-J^aMmQ}_H-4;ZAyQ;<2Rp6vWT)iMNl80X$_6_h zK&XNe1RXj!vfUkBuk{ThPTOy~ZX;Pol|*LxxpcsC0}5plBSyRQu=764dB{kHaH8MY z>yvFH{fB4=ICZr>h}a_G3dBBV2Zzy)b{(>Kvv$ieU2IGa)zshIwM2!k+3l;ieI4*aLo`pPBkk29r^Cm4ju+f zZdgXJ+X07{w)IX_RQu=ffNqHmpJO0Ny4G9%=;D{rztrLay$Z2KgeCqIO^pb>!dbD> zP!j@qM!dNV27mR3RQ!-wL(DS&bJrVdu6K4~3gmBR`){`WH;2F8a4{GvUpw$* za5BAJAg-@dK8iC~SMLB^km~UT(~e+1j+KNy(j}jNesFye*B!&3aPh(2Xuthh%4x)Q zg*PYSxe}5QPL^SFvUQ%!2H|As#uFU}wB4P6DPH4AyzaGA19OGX>-2(tz?<1q)3m^~ z!JBM_vBqTJ5g^!y@>Y+iM2kpo(7S?G*j0T4K&wwcY66%8p^T?WI+D{%zuFvRIds9@$H8MFul?U;Q9AZ^f(QMHj$JCe z%3QBCrC%LYl5m=38^~ovV)Ng{u{eGEc1%s3AVTZ-f(k!38Aiqz^wSr-zAW&~2e;K5 zx*y!x$%N`_J8SCo#hr$?;q!D8e&&vw3xLn%lY!M5`sY8@8Yl*wGI}D#QtajXbD?oRK9S2@!{bKZ02DmphirR25i`4^KWK z&FuwMAoJiC_4}FD`}w?Qfl%A34%DU*FMQS?Bn|3?&w4<=1p_0F?~s(t`J^Y1w$U}> z_`ZCI^uEUWb2)!DIx6^0Qy1vXlwjc$cj3ZF%D>~XPz^@QoIXTfM_-oJ2XXE;u%LU)A5`5d9#5bg| zmy`I`<9b3Q3es_n^1N>ArmyI#a6bHz;hdLUh_?^E{^AzITOi?I`k?n zg=|&BuAu^S#6R63s|Lht8&t7%pkFYh@!cM3{J&+Wq6Qz3$ot)P8Rsru0qa*mYE<0j z!9?DfG>jk_Mx|i5VE{NyoIu>O<~y46*2Lz7Is&vJjvr8E_+TP<7U!sb;DD|)s>SS& zfJNs`ju_QOLbhSqAur)?!j@9NsF-ARp8%L z%28h<>+DM4W_QxY;odX(s;@yGBGu!sp&M^Z;`WgyI82FwT;7K=(pNP zY-?%5yA(QsQ$1^Wg)C%f=49%#(t_*Xv2nd!B2T?%q^Tz+w;;QBY0e<>wkUaxToi8& zu#R zs(ozFy+~BcSYSHJy9gH4D1ioOha0;EKg%|y!%$_HQ;NtYyLQz{oHNs zjg&E;UZ>o_$As+)S2V)+z0G`6>SobWu$`J@VxSV=S96acM<7cXS6W;gNK1kC?9URl zz|$|*PM4$GIrGc5!^V4hS9}yQG@UHBLi#@Qtb=a5=+K{&Rtz4jFp~unBD9%M! zu8WZ_b~!CB%DOXhft9(A^^#$g^@|%!-WA0n6mRwsNt3Ng_-*52V{LVp(v$k9jjX-B z%Ow7K2Q--@KYfWC4a=M^0RB1I$kI!)etx!m4vS_fqxDv_1eF5ax zd_m-DPynT<<`Cx1+2%(zEVo#2Ky+Hd{6x*2D_GF=9#EhH+O)!3>B(g)Uotyuk)vd` zb5XmR*W)k2Ei5iIOKxloYQ!M^?`L-cd@EvQO%$Gl-3Fg;rUiPW$ zr9B>m-hpO@d2yCEdYQ9iBh|~Hs4a8i@jO>#Y;N3mO1x2D=pS!KHzFf*_peV6o<-N4 z7T)~$sIISbnPs28w8s^>98A87`xghmhG!Mv!UU}4U^?`#-VcBRR80}R*YpHaoRcWZ5)?Z|~ zO>b6mOS(;6`8_H0#f3JJb6oq=;9`Ui1_6UPF0+(L&t@6$C{4&Fu28-2*GnZ;?vb%e z|5?J|#)OF+D3M4v48vv4&i0#cBhmGdA`cgxzS4! z1O$&}N4(Kq%Y2#BoFzA8EqbTq2It~G`#5qbK^_pN5_xxSG}8Q)qjCpt_GfY~#BGkv zcAL3!2CbVfT1NQx3?Bk=CrlCHbzNO0o9DdG&)om?nOR(slpXO^`j_Q0C`hy+(3zy= z%2_aSro}bQHPv<1v@gfEW$f|~`pm5RBIyD|g4dc}fQOiqo$iZtfH0<_(9txn?v(>$bpPs=lntMGGM@4*;{75(`*1VNh=DN*Bx2as_ zE9}G*W24zszG#+N66~I}s2#t~MYz&6iO#E;tFs^!x#aRjv#KDhVPED;;{5%hFPeR- zm~~|LY?vdniqjXJso7B0;#1uv#kZc~F1a~tajvIitIMqS(3s(Apjj7c@Nh#{PszqP z&+$#JX=U!Y5s1r>B#SsXBcs)hh& zyBko#=%CDU++*5$bq!*&1@5o)_p@ZL3NO8a#vPW+keCg5EFAp0mYAYtJLR4qzRG!r z**iVv-og9TYL=?oGzPy2MjF-Y^z?{1GVk$oWjT)NZfRFR;5nXO;~?eI1E*joEBdm$o@1PjV!GG!iN7^1`c zT4$|oWvC}vZtztEDosz#F0hc{g7>z@HRTLW@eC`j`3>JE^GMB@_B5; zP$Q+`H}A*UL8zjU>&-Q~h=i7Jbn)f#SZH){M$p398fWmVM7s|sEr z^H#~8pU2romxz4vMwZAM8d`vo!H4V{@htb6o^kxW7vX0bfA8mcB7dLcPMyX4MWH*g zR8-LYNc1Bd`dtVVL_&O6;=B}kBjwNfL>tDMBi!Hie8-P^B=UaKAiMj3Ar`)uMGd@U zLo@Au4JN%~V7T?=qhZ*^^*;o|{}Km=qX4J@V|u4OVI+;I;;H8~Bc{Z-sA&z17zT-z4^juMzJlERY?o)n%q5Sf;%2 zR<6@0utg^KV|ejLd-os2qF|H3rXhti^st4i9+uE*lbQheToG3)tvOys$@Y>WV=A#Z zVa6o23E$#Ovl}61(y8p85oMj9)3281zP5fLJY==hs{0nXR0dwqDlfJfPV1IRXG_^q zohVz1^m&|YI9z7QCQa9vZ)POHB1h?sni%S;Z<2r}5$dSFNtqU>t}g05(eac_nl!hQ zdRvmFcM{hhZua6TsG8(OWD*ips#{n~ZCd8hGNBk#?$Z^`pA@=4-K{Gsno}x_&h?b|`)XcG#Vz_jHF?Zu2?8R=Dz~natzxT6Prn~%y`P!#zGZyMu-eh0 zV5>Tz_4|jS^hQP0R)UY6G(vYJ*3tTF$r4DyGtq0z&X*A*_)KPROk|9`s5)4jF?F9+ z7mRaCk@|^Uv5HE<99JaPEpwv;$#}t=Syq8c0VS1C?n0sNmQW%Rv3kz70RVK7VcC&M z@4nEzgU9J-MY!UPH2N8?Xy(t}aK&GsEU|EfN()!K$D7H{jip?|$`I7MqWacaC;I=2 z^)OStAPM@fB?Z69F?on#8XJmCFP$5MeCkwQW=^zG@HVZwnO;yxlFKf&1=Sk4#iYy^ z)MIWal?WI}7l;ryovtl4b~z&>=@R8h#s7Ot0#d@ zcQb!tZ$P1vNKKv>cqc)OaSn7mWo26@*&a{HCUre0`EbaPe2-Z9)=0kSQTd*ce4K`n zd=FarR!P1YN9B85@`&L`>o`=C^g?P`wV+m<~8@Q2)!j+l6MJSbV^@#szZF{ zPY?8K9F(>~mR`0u{0ZmXAE1r+jDY#r0d;bJ3rlF*L{>9o3#(0Bm*%(L3(K+KkTq6t-`=bRzHO)^g{20k>~ywQklM-jwAn`G-*> z7o1qioKkJY6~vb4+j@sK4K>?V-_qNyB5eFH-)+TC@q~0{eSC9ra=zlK52e;JiPBOMxx7@8xwJ3T#UdY*Jv0xu$n(IZhgFq`xK7 z-xdfzm*p#YFLoUO23UOUo%)rkEMSg%+@Qah8UgGA(hNwhU~2^IdZ_V^fu)b>lr>Fd zDH?Hmnyek$SDb{;DfU_WH9bKWTwFkio%flQBQ`Eej80Kslr&&TdM;K2)P3e-M=X3M zQf?CFZ)+6N_*|68JDG6{%*P5o%N0z~yp=`3d=o}Iz;V9DXWl3B9&9NmzF~r!x@ECG zTHs83%)-si(v9TjW3`p&(!3hW|Cx=_@nF-UjsaoW&H7k?X~~6qu2f) z1V3f%|LvHy|F~d!6Crvo-5nnC$L)BT5hPl_I0zLv-Sbaq$B}w zT?GYL4@z4FTafm@RteIInkymSNP)(9&IjovHOU>!jOr6vX?YH`ST1v%h zj$3g`y>DO8%Hv)jO^;vUk9v>`SdOZ9BgXAy8VB-!z$iu0YQb7m!=udmYQxSm)IYLTHeabdQrJMl4Tiw>XJMoVlG9Yrf3( zvxBXHJIWx^=rJc_Xo-7}kY=G5K&H(-L2j4nLSL7;mssMN?87&COLoo~Ao)?4entZ> z^HMA>i7lRz^>cm=j12e7=DK)>`JBu|uC~5>U8WZ=`T&y)+FVW?q3keiT3=w>@5JEW zx;`x5MJr$pj(GudpSDlnycipta23zb3L1gR`B`eta0HHM*Y@#t7%kkUsFIE9dB~+i zh!1vAm-AU%;wy;~mf0B3M4MPzbaSpzJ)SJZ3!EWmafw0DCLT&|?MOE6^rWV}`!lP8 z=ehQ`%MA|nnvUM@qD=yU@)LQtJkO#7PSxj7hQMJ)^|vGup-^Ld+Wt&u@Km1}5N9C! zgpFj;4v~@0@e$O>DKMW|P6qlZ=YMq_?~w>pjz)>UO-*25<_a(B>NINPe2uqwxOFon z&H=vY1gH80Um4nq{g98Y;ziwqhOcsJca^w^*U{|EIME`vn{Uy9(D}aNh5f8k*t!*y z66EbF)kr5*om6EuX*`FA?yo~#TxrzOGy7sTg=qa|;F@+-zf@1P9ae+E)@523G7JmG#e~;7eDZ7zO8xclWU z*#jOi_$v&UX|`ns@khe{JH;Yf;Wr;DsE1AmWWwL^N4+p%+|96fz3MZcSEtdS-@ILW z?K8bz^Ra?P$qhyBtliU_P~$1NI8@xncJc{Dnpv#ILSMa=mt+SB@rBEC9UtJqwYL`> zl$81MG6E!0zn}PnUU7{n#X?xbL!rb&M+xZ0lfMRgsF!2EE2T(yLxn}v#fJTrEjV8p z4j*b$+vmaI7stS16kZ;{A@`qw!-bx&9S)`Cm#3fs=KywM4(umn-E^e=F=@&I6`m18 zogjw!d(o8zxWk9JnW>LKj~5q1>~hTFjdx?qNAX#~9(A93f{AlW48MeN`_=3!O2)u) zCXrZDQaSg=W}{{^RfQLHCzi^yq|8zIgT!DLKA2%Fm0h_vyr3}6sJV}%ns^C=56{o% ztmDJ%i_{o-HYeq);W{x^T%0O!ah#7$5N}2Giz}NGRx_c~q=``Xl6nWjKg0-FjK+(E z5K3GOo*dvGQHELre1ud=4~(TNdBKI^?&8JS#t$U6p;@z1#vCnQt@Yp0z)m@XA%Qsw z6{<#|kTG&SJH^&aO!&Dwo!1(R>PtL(jj$Zu_H%KR+q{uWYXVhROdC0h=B+Htbs~evrKhkCecHjg%c#_(WodZ z(MWyMYw8zoa3wZ)N_Gdo=QYb$#Ac!ItF4hE;Q-EWPM1S1Tm2N9=`;U?abZ#|D8k<| z0Ccx>iHMym$xW)1aH}ijRT1BoNdnd+7rtpr1XG~a!S3RC`A}=TgZ=}^tC&Dn;yHK8 zjeCvTYA{`y?a!hUeJ(m3G&XKKOy$gPez3C|bsj*e9GB17LZ_Q!3K~=fp&P1&P->^A zZR#fY8}Te_p5s+Zh8j7!qO0hl(xeJtQaOfNn#7Mqv_Pu=*%}#ZqLkz8{xUf>ZoVQk z`#aQF8@1rksNn$b6@n{jLTIg5R!S+;P{jX2N(i#)<&&?vTnx9mD7-j3?WQ4B&qy6C z#GgsmYF6?q0ER#p11|2y?7>R`!o0{%Lz@3~@qpD3Jt$p)b? ztyKKVDeJk1gQ1MPoUhEhI*p#AjhLDa1(IiDGCN^4{dD=gL~4z&@I8{iw|6F9wEff= z{jo1R^It%e`aju)qjsbmEWx|m5N5fp(&jurC#n97EzjmWvxHr|AkV^iHt0kP=b7104J`j6OlO(Y zvec?oGo1ybHPe|xB9-X`zTL`nt{-4Aoq@u1GHs><l|w)SQk^MG)jWhq>z-U$B#v=Fvn zdRB1xbrq#&!d}L7zt(H{QEyL>!OHd@uO{F5@-<5TqCqgrH$7t29_o4#g*7jp~YL>5c}z5AsW&s_N9pp zx_|DH=>@ZblVcT{+ej~kO>thKvr9<7hm}}1QA)CMPiZ{%yL`X zN0CLIW5Us)_K_{5zQkTL1-VZ`_QMecz-f^Jql(enGH9T9CjBJ>8{ zQjcO0fFivml<~Bc8_Q+=@M62yoa&U9-thYOq$*sRYrUDTg%@O{1qb;nZ^%+_^o4_$kA49Pt<~`Xw>+5CnTQK*#R^S!bmN|2_f2Y}xhBH>xG9y4rv*l-vAu9iQFi zGkVrE4qqWSeA`_X4&O^Ajl*smg@;)f96Vq1A?*r8mG~jJ0V>;%B>qkpQ5-g`PDRcY zSBrGo6n7)gkKOev%8#%RUI=~tL3_Rk_VW0mzZ_m%IcBkruneRV^ z;mY-sgqdUawpu-|ZEn^JbBguu7rYC{(=qN!FuET}4jx1M!V8*KHD)m1z>%czz;h_~|lS?aG)8ZO`R zXKu5ug}{bncq`{+sTcSFp==jNb-mU6xM(s4IFa}Fx33Cz-0w*vn5>w($lpc%Lh_>7 ztQ-Tm+$$ElkJXttjc6;1N33|>l6}Fk#nZCL96V0u{nCp{PZp;Oa{ZaCfYG@~X^3wl zjVHRM4cJ2D)I>dZu)UAYR8EB#*JV_Di2ky_y_0iwVxS|L9_&FfOOjcfuc>Yq%&Kl5 zbo`NdPQ&lZ3Up*^!CMXhqJ8@3U22XySzl}}oVG==^7~G81^e*iTr^v-mAP;#7axwE z3(@-RAA`Zko{WdB0$o&B$*d=X4W2z2Khf_nsisbblgZefe{AOKr5j&jGA^j!Y%dgCbqk0U}^S?DA%+hDg32H5zZ!uRlTFXRDLieuvh{grUrwY(M z)gSq5&A0do&o5026)hPdYS>_5vBBkJi@O`4&fX=9D?|kw>{Z+?*xk&uv{`5HW=_Zb zqY7})UJfP#jBAZ*u>*_fVN@^RUHEBzXdG!@ZlWbeesD^0w-6EjM(0aR9&@XD8ViWl z1>Zo9l2Pb_uOY#?D)9g|U%?uzOu8H!$XmK}nj0ruLOHYb*OFMtSW0NyqdBf$90eZ^ zQq=o`+6M!P9nihWP794p_F8msbGn8X|ZKwO#)Wnv!d(&Jx^C)l>Pmh;g1BxN%E z?Jl1j2?UGTC48jrKzpPni}}QSx}Y8y4&LutEr{%TN-(*2c4=sUrS%A&=`PL$lNW%= zhIh#V3zIv$i#r87>~EiM)O;kEIZAN1r=XbJ+4~j=Z{#r z#i`mP(M>!k#Vre%QS;OP$KJVsM^#;mKd*rR8P1@LVl^d5QU_ur8nDoaW+2fsk|>JG zL<6NoDOIZ|31C%TlPGbB(u%F#T5DVT(0be2YZXxIOduE@N&-GWR01fTVSEIrLO_`R zZ|!|1lZ0Tgt@rlcf9Lzo?AO}w$69;swb$0EW*OC@H;vq?rb1LP=;`$hR&JpXiH&O9 zFV(qn0e~F;Mpn0ew&|nd!dHyCZxTt7=dZ!pwXQsYu|5e( z7d9Goq7@$Yi6_d&27d8tH#X-;~YWDP4*FHVi zaK+s79*<9tCLLdGM~H2wLjrnwtYdme7J7Qf-p>=Yr-x`9n@!K&oXim0+IHB^~(rdrienkOG>Rus3vTM=#-wk&JVY0&ta zEho$ro3E-au@oIcNK?zV708n$X00e|fXC}~Ekb`G7ohmExyi>dt+%MS)@P0ylYw@s zsh4N?Qk&q>M(7YsK$Gr9#=K=WhSmbU*`H7 z6}GQEb=Wm@+b%X(hh0OrVBFlw(z+=wQ@SbS5}Pkuny|}N?CzTGbN#fw4!J&ebbHZO zu2EysE6=8#(sg&g@X5BA@k~mf#XuQHlB|}Zog+z>&(2rKj#V%{)?|o*6ziOy^ybc_ z47)zOzsXW$rW^fItRpA0s?<4LeUMgV*c@w=n1OG}GXahy1;@axbG%J@Xu$3`I^y!1 z?RhTfHqUz`&+c;~-Lm#{b*7AX-Cnx=j;;TsYx|N`vYl2SoE~`?idOXx{*hj~?BZYD z?jPj(qnealzVF8sUD`)(=c++|apImYV4_<^DOv4k7nxkH5vOyVJ>AM-^#iLd4M8t- zki)g%m3Fg^b~7k9fCrGBhg@OH7qRlx8~rYJ!JQwIr5k|K2i2MLe89OumyUGn0@oPM ziWd+Gl^h~5w!~rx zY<3wI+&xtTEN&*^)LlkMFRMxw;;6L^`P6hXcZ?c2c02!2G|F|f^PWYzDLwh)xUMBoEH@+&J_b>d4npsOC6HPO+&E%F{-U-w0N3R zyQbNe*)`2`jw8*;kGI5RWJl(`sm;Kv+C22SGK)HjqbNN|JP#QY&RACQpy!qNP^mmU zT8cwR2&)J_NNI37d>q)6);Yoz;cBy4Tdhb%GdO#^S^ISMGF9!1OobUymQ^IAyg1C# z;B3VM8ZR4^GloKHenjueokr_DW$}Bgx5N@0pJfIw_Xt@u#rh8XC^<4UlC)V>!H@Q@zv9qRWqjOO9l%-14QjN*UtRTjy8GL>Mnp3{YR|t$vh<6R)as7Mw2|!m6Qxxd_Z;vvZ5fHI6RW^~ zkB$9ve3Xg8(BIOI%oh9jkzw{&wlJ1T2VE<}47OqMqABx>2TiHwTg11RZwcR0YZa}* zXk#bFFtDD{F2%J- ze{W5agk?Zpp)3r@aVo3$fLyEyKx>n*pSbx%dS>aU@AxZEVN6O*)TkPuqR5!!3PpTC zB0mC=Z@s4&EB1gy`0CCR88EA6a6Qtf9zbka2q2h&UT0n2L+T8pT11}mqj$6q+h;v` z*jm5G!fsb8gZ?!c#nK3jVkt{fkL%4LF4B>0-A)Lrq2D9m7?|&8h zp^}<+|Mt+mle59Z(A^BFX{AxpQW?63p=Ig|fF$P|9xY#A#E?GJ+SZlCi=d z7BwxCuUTm=@AdadVSf4JTvRM)p7Fu9805O9-%mrw6cmFZ+6Chj-vgc1w5w$imPzw0$kr0}+)sy2HASxMeyvapwoO0K%v8@O#i+KaL%cvlFkuj*8;?__y% z>zVnpxo$Vc;~VAm1p64p8*2MV43COYHOL$E0k)QR)@HkXf!p$vs`^@CNSfL?MQr2? z<5w^cqBtfQ)v5Lg`T~8;Wx=pD7EBS`jHq9_^<9)GK}(OX z=lbS%eo2r^%dIHN7rVY%=-8itjyMwk7 zpL_e$N`-UbI`+X*I(5HwCut$Yn|^U!T5IsUWOWMq-41?%JCZqyJz#6B^|Iw> zvl4}E`k2B9vh>cUDzZ|~kOk8tv;bw!j%3i%mV?8Mz?}S~x#`wHa7WCPW~g+~1oN^J z#ar5!JOiujt2Fk)7fNH{vsTD|r!M_c93Akr^zVWX1f!v=Y8hv@75Ca_w;E@b2;*?G zQZ>I_28Kd+Q)IB1RyduCFk+_L+~`s&28Xe3mMLd|bG(7`lMqj91s7`Zv_J|oBzV3S zPupU9BcApORuNBIjcFqXYXx?Okr`N>F65@PIu~MVmntHS_1EZEtt971O-Qf2z?{mK zHuWUEM!_qYziV4ew##~p4;Q(U@LHUbwG)f>9JDk$MEYi3wKk~|q%3;HI{J(kAHOJ{ zzy@V0_aB)S4IuHl#VVfF)}P)>#Lk8XMk%QQr7Y&? znraET>xFwtna5khVZj6s5L%4*K@k$uYo-}DqpQmnfX4C;4BfeVYSy4*tx>wVNNFWo zKq7S)rFd(5)Ok5|NS<|)Z|WK|wQqdlylM?+enrm}a&?Lsbg`^eIU%b>fT=W?=8AIX z)pn)U+fkRxoU^_wye(=z-Lg(3g;QywVj-oOV~nHttSc4@CGxNcLOjf2fj!ZFfR%|R z#{n&5BqzDWj6=iov?7lnF=TLeq?4^HlK)#~*_SePJ0;qc=dbqaGGPzE>}Sqej}K)a z(dlf;WO3wZ2X5uBl4SX|-PVdj+hT>A=MF9gGYF*Y?f0@O@@{tm=(jGq#g%Z^5J^@A zw)k;`qWA#EiKnCz30$ShdeG|2;0eq_rgd}WiPm%Mg=NvG8Xo*6k_;lx`dizJ1>>h! zgZ??z1DFZEYXYxXx5l=8o(LNH30I2#DD?cpaAU!^bO!@4^=~p)QPO+VE~~u{z?;a3 zbi4t?E)ijuh`Jy8JY%!u9Q3e{I>)&8J{;C5tn~<=`+_C;rBkP5_yViaN>g`ODG6`3 ze8^i4?~TgFxmTD|c{V+5zRYUB^)|94zThNA{Q=+9v}`l=fHfR1k(u<%Dc;nwG=P_g z9DHh{+&aVH&O{~Ima zm?zDp!L_!;sGyWC1Z+qvRzy;wHYKnC=uHe_hKScSp`)e~KeAi#-{p-TrZX1!nLY>TQ%Q*4h0O z?$8aEd%&#a*i@7?b~BfcO5+r>?v`{jNDOrxy^Cc6G;};kt&c1RSjrWwmp80qE!cg* z5O?gE6eYp1FSY}p_3OFxKcKYEmleD$4aQ?EXYq`Lnu@@;JL|CP>Q;Qf&T8$}chz&( z)oq{AP>L<1F3YMktgWmi>XOJ-x`EwUXH#2z{W3LoiuM z6)49tIa$XRL_08y;$RVvBk`uYulAY&Wwqn7AYxn{Wl4p*%igup7|HfV_EWER)A_bzW)#V;hrR!trryH(RqaT9kvP;|Qq8 zo*_yxrM=r1qQCosV&}1&FN}{V!8h5|FvZOvcV-L6r_Y{kj=C&;_ANenD=WCxmwPd6 z03;Pnc;6!3NCs7nAx1}PQo6jI$HnR%w{4UWMyj}L?{<~`nQr40I>e@A+>4KjDgi)PY69Z zZ-F+2&V_C+1})NhCvaR~wLnA0nyk6-YDCfuoCpp$!MlvzN0POYKpHrHD04jNEz#+n zCFvz%cFw;`E|WUvVhk+mQeN3;bIJ?7#Zo7Q&XpL9k|IjJDw-&{UF?j`33h0aFKU%H zd>;Hv<8pmwwz6ISIA?{utlJ6f<}IC$Z|}$f)N#GbGwc{?$+!|SfYEkG_5k%3M;1>9 zvQ5~_2~%aMWB^7lHUk@Y(fFnL=W*kW$1yKWww$u(6a_J%O89R*xa|%LztOt8O`2?_ zclCwo92)oFH4fIHr=U`!y(O*Ml+|MdRjA_`L2k_cBDJm@m&z=S6QqEwit>g}FY8Lu zmR4Fl7SFB-LFSE34l+!}>-R-o6xNU^tIYf~#Z}2--^&a{NQ?6OS&oW|c>m;XrR9mS zktLe+PL~BHi<-pT_g;_ev-qQyq{>0aXF zUv2#tJnN`SynYYD#miAee9yvX((dNQ8ML%fNAx zUj_L^(s9tWP*4$W~2!d^7T{_tV86GpXg3*rsX z)0jA7{VP&@m-EIosvV@lQgLJ0o>~3%AbAq%UfO1i$sjQq5qrKrsA{0rowdXcJBctV zIFt(BPJ+=v42M??4{hq_n;fkG{Vxw&37PsYyvQdz0^otE76v7aWY?V=SCc6xu7( zh41%!SEbYLk#x|V_*F0!zkgcQS0q*u;mflCwhr&3vplOKJA^l)njaYv?LXYI1l~W!m9Ykbr-DMeaNR=)L{RTnEh{)?1o+!$MZlkO7wy#f5T6Tnz6*k>^ zw&XkKCF%Q$Pw1EtXDWL?7NNbyWmm|5Ka{uvMdKKrNc6-eJLY!s_vf6Y+(*NI&4xd}9p0a_*HU?r=HwP*;e*sx zDwsq09Q#+Rp!X!J+ZC99J45hY+^du}C(6Azdp=R{Ws_@@xXbZKl5t@U=Hy6wlAM;K z!$NZyo|V*LrQumeOf_E0Gnc=wny-m~4=7ACAshL2^F<9$Lo`c@^j8H`zEg_8$8d8w z@>MY_NKNZOovybFpFi0DMM8^%Yl6*z9m(Mxsl~y1Z=lh|5m~WO%*!&3fi-DzIOa8q z8-ZEN(;4A(qqsS^Hn2uc&0I$D+Q_MUy60CgKSve^*UH4q!tk^PwkLYgGUwp?i_u^~8s$KE5V9&>TEokbv7L49=?6m-_+F>nlwyy<0LFgfJ52@G- z!HCVQHysy(%$rxLk^BxLIdibGv#@l#5bQ}T1Om+`kSsEKg5Jx&75Pc0G>;FdTl?m!W!d?WX6 z+ZKa*a-PXZnKeZA6>747xP!^gXmE`v2*oG3OP4uP$__FZ6jwxjxZ)>#ZK=dbnH%y~qauDn^=9PtR*G3=Z_dQr^D+oP57_`5EU z$X{cW=G>+N{mxsI>B<|WBDqE^P$rQsh(~%$MH(uj{;xV^L95PXExMpZ%C92F6VI)O zG4VrV;-`k^RSNm4;d#^Wtd%Ks5rBq=nNseoP;u03%hd7x&Nng?XSbj!L^gOP*E1CinsV6gf>cl=51ctJ_$d6u>3dU+<$bQy~w_+yCVM+ zacc!x9N#<(iq2LT3HG}Q9W=1b;7GgCyG#gcW5}FkK6_-h&STe7^jq1(DKhO*MtvzK z`(hGeKIjX6WQIQ+UKaewJJ%j$$!tJv}t7r6sg001M6SB$>v>I53V$s?o4#Ar- zW6^IQ++|kY|9pBH453+?oy!e$4Ei9dX&?u;U|l5=cANnZ?WOhHaYo^``Dcj z{%E)vjtut>ZuJgs%-s_>GIH)fN!}?<*7`P0mPsRtqu@Cl@{WDr$h$^e4i;(WMW4d9#>Aq|Fu_NkKQEQP+aqv^Qn>7si_=?vpgXy^&abR;hn<;pwF9JU$aNn!1>~1 zmjXfjK26K6Bi-C^;J~@_1}wW4`_S+`jpimKwBLkeHk+g9F!1%+Y}P)kN~iN^BO-6 zi~i;e3KK2?Ps$X7y7SfuJGsvB!&S@%du+E}Ko2rX^BR^3 z$~g12x{D#QUC%d$1`SaIYiZ*j2Phi^oODjGey?c^ZIvyWIN?e$wn9uNnxa_VO$(9J zh@X9&p7c;|ee(fxY7@R@c*pRI>oRy0%O0_Y>q*_vjDm=7YNHw64nSJJ_<+HF0>#jI zkf7BepdSIco8q1wAp7Zb4G-5j?bu|o+03D=9M#1Wbm@@>?h*6{bttHhjc_@<5q5;- z`v_^FS=dikfKgq}^QjP6i)}SnlTBqg2-N?vj^{{LffbE-OL7pa6_LmhawMjs@}u;m z5@X^9ZCC@YVj;dX3H~@jLW%Tv&vLay{-1-#)E9+dN ztaGVreN$QOwhvbtClL#6k6hm|Jr&R)y^dv35)^CV*ehv%sh~1hBKXZK9o$$D@^N7h zWSF}a)s?5nbMnh|r~xb?EyI0%!qHLjz0^Q_*TzX1bn^FEtIj}jn*#^Wop)m0#WCL| z1fXE%YzGfozSOX9{yw@lv+VGiw^FE{N~FTt#fye0@S4noqXbU^%~I#BOjK z&Ej|5j*YcU4oW!R;O}y%&@gy1z-CjD=?lE7@nktN#F2Lc4zqbX zLt{i~?iyd9&6w)}SXd{raoepEsSxZ04yk}X@T}r{8N2XCTKKl(-pnVNHW@2gD7gr< zOI9DA-3wDva^*dx?ES9I&H`329v}UfFS+1DO8(6M)bJ82x$nR)@4MQMlK3<4)ONR% zQj;d^aiG`~`tu5O2xaiY&QT0niA|;bL1g60Td&y3F6RgNQb3pEX=SQ{ zkg*gJNGS%bT9J2^=1~*kcRryY{f=9;nfHzMFbz*t$hbV`dgbqTUT?#nqjP|zTp^SI zjp?TYDsm2Lw)2fDM{@HkmQx^<9B4_YbV;)^T0%h9>+|hZ(^pPQoToEZP9Y;>;V-G6 z0FyMI%eiTooam{dP#jn0PTYi1C0E{lZGV$+!Qiy4+PFLK)Bg0eKl7K`?*5%Bo%S3U(%p@ei7r50>|YEh(;3r%%v)-ON#0^0FRV< z`0%=QAZgP?pQ}%vC$~{HG&75n8^PsE+&2>P5)*#~ricmPv6-aomy{x169YzjK_e z(j!(297&a1De~fYa()G~N?&cF9yf(4=WzUuz^9bn%9FElnSQrkPv-7l5S!v{ZrE9# z_m0@374PxA%J&-Kc{}o?aBVL%1F()#F3)RGKHDG9dp2%)ByOpRTW(aAJ&*5h*yLXo zy?TkHbO1leNhNY94!JRISsu4Ms^NAvY%PDSVPAQkDW%#}v5^97q*TqTc5HdUeS-q3 zs4puB={ZnplsI<5eUlo~suSfx-t?96@noGyts@Rl8C_mXD?9~rQbEL5{ePQZMhkF0 zz2JlS47)hNpbueZuy$5w%WX3uiVzkTtK!4T!zP34)j{_7I9-u{zFAm5^Q$6fA&dpb zvroVuXaf!E)6*AUN3i65)8?K)E%4;dkXgO0gKOyWjer%bv3>%K?7x?g4@qc6G?70O z$W9>)Z?sbHfByi=D>jBXirFXJTFhBW5xZNqwa#sC^h{cDq7+ybS@01T1X;j1FjA*4 zrxQ}l?p97;`eC;+5ypsIN%|_e*F^qdVFqcDx${}%0?fMh-D2i<2xZGbx-R!~*oCrD zw;j|eCk`%w=@LtbN9CF&3H|mXxE>1^6)4NY;VJo8Wb;Qu zHOk(y(eUhHheu)~E)pup0~#sMD-~LYP!jWx5PAtS?>ovY7eN)^{Ufy7pLcT?f9>|? z&FHaJ131z=SBjjcMN~TeZ zIt#M}tXwiwp|4qw)3Oe)~WM z?@;EU>*2;Fd3riGHk~zun@^$Ku$rSHcQgGVl1=>9@A3oq9y;jjNY;V52cTjjGgPW)IYts=)=APfH(`rbbncIj*AS^zB26Ju z^nBG_iT#gYRd%hV#FQ2sj;X3>44hB$l=|aPN4H)5_V^8l>fOH~@f0kXzsBNdXt`oz zLmPvoKmU%!co}!g{v&cW&9Y?G_O`@0+#rE>wGk-$q}y<<+IdT#=G2BmXRcYbBeL9a zFJ2ANa5EJPeP^tQYer08nWfl3G7eVC_0;@gopf&Wtc~`?;h2EYdGq*9+gO6?c9G2Z6Aj^ z_P2`v`AgCNSE1}e1nYBG7uh@hp`1#C?$>EfSZOSa{H-Y+>~PTZZ26Di&!+iV4CB6A zSQ1MM9Zx7nB@Uzd2tyba7`9^E>Ur>WcqNiz61MOO7cBEB$;8;YlP?PTe9yRRm_!;} zUp5#PUE^?Hc+K!KQMx#iB+7!#JUM1mi;B>)+^{cjV7O5?P_kQaK%JadFO-ayknpQ~ zu&^d?+FNRzS-;n33~iDEY%Cq@KC&GyKzQwN--6x3K=v(&h*6f>?6W1)>ej2q@Z`J; zBq(c3F1*VY-I#=oR zSkWss@QL{b-|N7zYz}i*6F!r}H~*&26ah*+0p3} zqU!UQmUVHg$DC$F!;zUPPiZs4qs~?MvxoT}#)^|98G4{mi}1z;@i3L3u52dh_#`Xk zBj)c}N7cvqAc;i()L#FvK*aeM+zDsM@-L#J3s%WkJ}w^mzv?7sK5mxgGUh$4_NiF( zt}`$?Yo?+^PR)=`kJn%IZx;V@#fUpZS)$E6pDEmjMk^c4Gw2s1SHd)nZWDxBCyt== z860vx5p=wTO{o3xOzTG#$Zo;Wh3@B+<7I?Fa0t9nJwIJVuEjxQBFt0Xr}PqU_pLa{ z5Qd^D-uI;_X!kYk-lN2O@eM%3o1({HdC%N5T(1qrq0DbnV0@dPfA%qB++&n`*odKw zbfdaIrDE)%E~Js==n;})IrYnRqD)0x*+f{yZv0z_mYJu*{LW8Q$rUG9h%g~BGLv=KVcbH5 z34@!Z!j*R$u$1xJF!l)gh!VNdC=qKATJ=t&M8dFl$>9P?xki6OC(Q=h&+QD?0ZjNY zE{i5{%zcNXWPq519k*g9jO}yE36!!^ASu5~in#|n2m7wkXCnuphHDWq4#;3Fk~TlcF}`tke^vl- zeI~AjyI9Nj8oS$| zgDOWWOR80VswUOnX`N`DK3jr3rG_c&sQX!`qiSU$|ncgQku0dVv3G+E~}%tqfP z)a{@~72MJ>a%3W_OgsMJd;*@KEO=S`$mQtp z4M&H|oSp*!-S3{EOc#e?Tit2cWoco1H1oCL(~N_8d+}ieeG>UILRIbSCkxl|H{%P} zeb|iqd~_V%YqfV-@J%!5JdDG)X?JO^`;fpadX3@A>iKINaAjr6OhI0WweJIb=AFe7 z8&xqPWrNolH6kmAS4+EBWd@PYmdLX7(y|X=H>%~l632YyI9*3N6^CAJ`zi0=0mE=1 z!^ocx#<=;SCYg+GS*u*9g;^E+vMQ8ASY45`m`H?ufV+h@V*bd2p-Go7&#shH9}nHgK8^BX~Cf5O9O6o&|VL&63(Ryx5k zQS7{OK&wY?gJDekQc*AE4Cwgl6{sM?Td|p3{2=Vd%2UVx9d@Jo&!BFK=XjayB4>-t zUi^M=JiP*m(JHYBqBPS>$P`f9wYu<6_C#<6lyGJ z^h+eH(D`-oUR=)VqlChxzD&$s_)1k3t?}9GESXp1yAumu+}m~>z*=>Z;t|-(&Wm)t zrXM?&T_9K=uA=EE{xo7)AES~f@&lmb{Ud{=(D4Xi^o24jpQoE%!-GtJk3ptJ&1wRaUSSxC=F0sZpGHjU$q@%jAkyu$0(#QE- z3|(0Ro867WRjj5mqhyOwBTu`t*xdvdQcy*tsZA=N+Fu4;>uWNp{o%+m{JX5Lx_rL| zLb5PQGM~d59n!u&>hQbb;l-Ih!P=pI?S-9*KZSkXhAeb{8=GC&yCrO}UDzk+emSu! zQRj^`e6obrWL}MdCMV~?SJe{KKEkA8o2;vl1dSXxa8&tKwIkakK&3}{Xt`aap_}Y2 zY<4MBK7*U8Dmsk;Nu5I62%NR&T{5{}WfJfI?qG`rwn1RO(_WxBywInGnU6^RM)8)) zGZ@7`(2jL%VcCKfDpv`vO}O&3YYRhaA=d74dvg=HO_bc)_N(>2sUs9cZxDcU1zON2GZNo-nGdhgwxvW`w2kT_I$=E~oGg#f^zX5$;b{F$ zgcqC-Nn(e}Lk&Cq+k~0soP&q5d^2vjFm93lR6+ffrS0)`q>%S4r6m7HpQm6%pT+ZB$r8>K@u&Hfkc4N?E5hLshE zsma=gmHtB%Q`79^1kH|D8{c7E(CiIcD|R3*u#K;!VP*Ml>amxEU!g8<@x4v8*WnH~ ztgG15u+G0vjh-T)Mh9TwDH@&DAAJ=LYbT ztjgUnzv#UQdK-Kw{5PBIJ_fzrF>>VV%q%;;G~}Z85=1fyQ7e9YeS)4YC)lQ^nao}A z0pX7~#l!z_bhyl}bZUaUi91QmHqY*c$X54KBFO}9YG{VuZfHK3w@^Y4LT`_Q+-b)r zEY7|S@pWM!Hsiii6rtXB7b{R9w$8z3 z(|Z$@r=}loz|OOSEPT?n(k_v2l1{uo+tb_kvP$o~_Vjk(VW-zqr)SihMKZ!?uaBIn z(kP-)-OU2niGKWzPOB9|FW^7IW@FLkBuq%2bK29|(1D(%X5Up1Ql)QVGpdDtqm}=p z96~>;=FH+B6ve-L4k6&NPu7FSZh9L$HdiI6=oivEr9C}EB_S`^;5}4(EBf&g6_B7G z`$|}$b3Z8>i@yteq?$jQeq4jEbfcmlpU0u-$6sQ>OX$aCSgTHwb_(fnoAl*q~DWu<*Vqq?P4})Bdns+Im$}zHl*d5jv zI^6?MI+g$%S*!eD?Fqem6+WswC7Cy1 zJ&K+@Hy&P`ISy-g^yFatDcp@VWTE>6Y|AQgHck1t^M-M3=J=##L<^$&eVRp;h$v|X}fy{rB*x`xS#s+ z%%_J{PE@>`%QHn0d0MocA18cxSKgUA4d;_8Cihi!3Q`vGmU5D|ltj4OdB28jjGYkf z!zf6<;~Z_~-P0b{`TopW;S+uHr_OBf07OGtE}8(K~qM{$}s~ zP2R!l`h){5$yF!Fc!=MovFW40sySWm(|n5r=bb_&ijo>5wh ztb>*FuqaQ)M$X$KPq8Ud&b;=By?$Bk*fF7{|>x z?kvMHSuEM?(N(y}Fuf~GYrCyFmIs(dI3taUXEKmzHc*`YgDT6j4hbcv?uR^{w+@Gh zYUTYYZh0tfnXln?s^F>0cgu2=O-m2O)1z<^;i?A;Y?@v!!E8`I$@o~FMrtaTU?js^ zza`m!H=h3ZxaI3{%U9zT2Nq(qUri|^#iOpKG#wP6iu&mH67389>28FVEw^k2NTiOp zY{+~uaXQ|zc|7lW@VwzkUbPSExZ4A{1aQ?AC)P8>6ib)GUW?CSR~j0 zy>2rSSASUX0tw zBerw>31XG}H2OwK!A6u7a=XWC>vYO_^>$f(hvi(moclc!k=!yK>zSm;1vq9!?RR@9 zsI6A*bTX|Q|5ZY>itEgjGIR;`_lfuwzt)&_F6&6-myi(ce)FOrw_!O2Z!r%S_G7I9 z0XQ3;WyPyY-1wh|1G42 z5tfnLKyn?)pLeD5^N-f>34iVOkG@XFX@}Qt|LE^^@xRkf=g(dI8*KjoyWfG zl6ATCnd`B}DHFcTyDq6u%ShsWi!$|Hmth_3W83Zj7w)>e1^s$lcU{zOM|5NR<4WvW z=P5tbTwftiW7Ug3o5FC_jd8UX2B-8*a&WR13eq2GxDUFgX5($8^dUEmSZdsl^t6@o zvS<~H5LkSzR|0M2t#@9xWM>fsJgN0 zL8W(h3Q6!>19@@)Bjxxcfy{CiLVRkiiPPs?5-TYPS#FVZ>jsSczCp^jdaRAy4($%2%l?JL%0zi1kHb8G z;P@3Iw!SKba5)M|27J8QxXTCX5hc&dCXc*w$oH=|ibU5l>Kq{s9@e5TT+T} zqV_7}jfJ8m=CbGhwEi#OxbQUbo&8mFS=Dczi#&JO-3}B8rA7zZ`&|a7RJ}&!>UY#g z6L1+WgeviyHp45}%7sp?E7dVbHBY%)n-#6n6|JJ_Dn|tTd0@s295iP64bLk?(Dy(c zhgG`eZf#byf;W*t6*Wl}&4B068qx{;9UEMmoxv%oH_(zwOxbcvN_%l96W_WU!lFd5 z276z}J)F^Z+wkhVfK>DrVqKlRgxi8H zA99W8fp5c}iEA3d6JzYpCJNBqKVW#`7%Gm%SKt6L=SdwS^IBz=H_0J*&fPe~l6k&u z$+<4>b6VVIES83ylaT@_NA{rYA-0IaMoa#cgGe{?GYLNA&-tq|C;t`kgcmaRt2pH^ zaVX9J=D*Vbo=+vDfDZv>1oEVSZ9^a)Wt%0t%x3Yg>w~{lzkC~lDz3b~Ds|V0lf4luD+2L-abi-?R^n z68luhPuxF_hm33Aud4)R7B=j;Vsx_{sIRPOVT=5()ZtsYIL!@_EAswKnAB%p7?A3=yC1y0A!=1TD`{eKI>=+RoWqvVnuKn=B$J_I9|v zd;;G{$gPMoxJIv*B1(@P@~@6ef}0|q%atdcBA%wrVu|;kb^kIp3a$8BNnDieu2`zW z4a))4;<2({KJX=_?XANOlb3af0)V78BD=a3*b9i8fAVfgj-)c#>RDgGdqjXFwtdRj-I|M-_W=j;1UR!* z0tzs%QTqvZD(^{cN8lAXJY|<#o5I!eJDPNuvOlftlY#R`c{JpEm>-p3Imb{cl=E&R z{b^iq#6QH{CLXWfwT5aruF(006*dtq|E380J4WNJlng0RTOcPR?OOrVO^rHcdB+%% z(TzmQ>8qkOBoyS4-D+8fCC?Tp1Yw7vw@)q`ydwTBSR%H+Gz?Xv+M?6i?^v#@D}=dd z5d!lp@cE+j>c8RtcecPk%G-(lpnKlVm#G^rzBd|holL5~y*CQ|y1Tv6 z4`&>EZ}ez|y*Fx^^kwdi-lt&9M0ZS?dT(^%Z`1Zu#SRnwHwy{a1Jw%~tOE~h zMALMI5=InB|2bI?M@*Xv&J%P3&FXUaaf#NN)yBdWNF7;cKN0CHkD!Rx1(_(--m(b3 zGpn3`M-PGlbAF`E3RJU5puptX1|3r^sCqr9I&kJK;Cm{r!%<%1>^FOco5YC$h?}U(REiKPP(> z^2>Y;HvpevcMtiMVxKg&GwJ37Bo4IlaD_~49@TeQ;8E*YWV(ujJR{+yCp9;%qY}qP zrNmKb(Xo{{&L9uK;|d(bsV}B2&6bQP#nNnDta7=D=ln)M)w4-%R56+-(~1>)gx4d_ z`g}4?`icHwJi$(aDg{;ktG_cM>&`#v4Unf7A19xH4Z4fgO+w(<6}cXEj*Vs_z3))= z$ZwV?ld^fxE?ISobrI9-r6jrIYyAr5qY3#$+j>@(2E$CRpmX6!ryOc|cocKPXMK~p zpsmPL|E1GY`q9(TkB*M?8N5n1CriDzmS0lvsh7uTWl!(+pnhver_j z;zct(rL{9%d;|EhB7K>z#UszIy0UcCtpln`I)MMg24BvakYtUzox;|Rb@_M{bpPg4 zL;IToEg8nrdf4hq!;8jw%-RV9u-AkDHhC^|T5)ZD^rzmynpkmdWwwV`hUNM2tl-P= zHF{h9t4VEYEB6{sin*UX)HjLO-lpHPEoOP{ve2~NZg=JkkPVm&V1 zP|Jg!JoLIqam8zS{&A746K3tDE_s7*=v{yW4W8t4SvN?V2aVu@-?GF1E$@H_8dGYO zWA#M?(6+(!+n z=ierc!OMy9_UIFjC&T}V*%XxNC|85}nuEp;STxqNjH~WR(cZLKvW%OVs5(+Ta*TI> zk1nUY4vQN3OH|saiD}-o2han=`@K?Md0SM>$W3$Xbt%kK1H1#N-ptiih?jpHAi6)N zqV7I0m0=o~nnfL@ko0larwh&6%d#ZxUO$jVUb%k%#zD4i{rbS@J4Xl;@_~?U^+elU zIgy1h_<^l1P(M8>y<7IEHH!tt43_-%Mb)=+GOGF)Y#ljiS)~`xNA1BB9d6zApW9*u zTWQymC9qG2z!zC7lcFbd^$s2?4sI}OCpDGUmE>b?HtViz!fY{vuV7ewt&1iduqH8( zf~*JPoC+#~wN zCx3I2ZorO%;UBcuCnd0!S=emcg$K(C8fWPmuYOFKAyQPvA_Yn?eL<_V_F7qH4_;E2 zom?8+laP1t1>f-n|5{r3{_HaqKhU>gM(sP3A9%Lvelxg<=Jf?%in)K>-$<$nnZ~8> zn5mzbh5Ki1DGfHrLR7eok?SU>ID7n34?h&HzK&vv9veTK>=^0RA;;J;Zf%@dFzBikZp})%t56`L^ zS2z4DU+`@+c*Iw@fA&!LcU}5#gDS@yZ^TNQh|)k+ET`wCBZj*(tkd>E|DMY zNAsPyDDA`!t+%@@_XzpTUaHn)-d_b{vN#)y?t*eD4c@pO1s~6^&%zNY6*S)*^%;M7 z=i<8IxgCr1x-a;$Dvqg&Gj~{7@Ricw>e9lGDzn?`OXqQgrpe6R#KZ23QoM`OeX)>_ z9IM_-q$NeS)B3ERRBdj)u25Ow$CWu{!I#T&H^lk<#~2Tt5>w-xcKU-(tRUVx`zs-6 zULmng?bGe}q8EI@*t8{P;l5e9zSMWj!gpp4PGq8AdRMi-SZA^|Iz;Y&07@^+&g>R+ zpbcsUKlbGwF$<5(>I$d(cfU&-Vcur5@X)OzDZCkcqw=ez!F8oH!!hd5Eau@~ZkGVu z8o5wJCtXlaLI$XsY$DAf6Wc6UZ%tsG=e%n?PVZ!S72;Tn z#PKaf|7W0}*ZeGnwGMkJWOvFvNZ#XNn=H@12M%PF)RiaCyrpOI^7LoA;ii>QL3&#pxB+*g)X#u>&x8-T4Zksd)-$zHnz{Wxi8h}J9}oZy5`znWhI%Z4Y3xK zc5F$GP7xy|S}sOv^l~xMq8yFP+~SB9i_wDIh#GBS`-@>8_%u*Fx3mT(H(Y%qfSS6&{){nf32c|{z8Mv-My#S(( zr8ybRAs0iyHTw_6xy@eAcxT@>Cb;;4mJV%sFgbc1B|DfBoh(MGs`SCM=y-8CqCPQt zM8}BHGg>G{dK9HEGY|HP=84fe`ZY27LK-;5C5r$$U8B#HqrL{}_i#_E}Dyp*gOqdw6dE2k~_(J!)+e#-Y4 z-|zVT#J8L;#P<^4D}1lmujjxKYn(uzTpYi>U?^(W;d>i<- z^1aWuk1xj8=drA$llgwh_XOWle9QP=-UF|Nl2>9G@eQRMq2NxNgzsJtg-TP2F@j>4y@Ygdv3n{^R0*- z(Z9O1-Z?QNDQWZp{$_{R^_ztx@T?gKr$fA_&oavDGE&U_O}@clU(L$O4F#c<=BXjr zYRSigE^S;gI+mfy>SN#%BTz^2JK>WLjuW4hjO<-`DZ^gj5r{^R2tpdEn|3HXk_D0h z!GLWvs_BAfsygABF`9|tUs(`}?zWaAG4X{5QMdT!jETpGZ(jY~|8jiedQvLz|2Mwr zeLVQ)JxJESfp5llXv=?9d{cQ`_@>9>SxHX5{(PtMoz6FeFQ4!0eCP9(@RjmS;Jcdd zTYS^`UgCS5?>)Z1@})kJm1OXp%6A4|0pA6DP360p?{>bs`A%d?eT8ojpNDT4 z-?@CF`HK0*@m{);*Nx++MV5gc&Hp^PZUBcRo~ z8iv1k^wS>s*7bL2k0d;TM%{vWeLjngzB96a-t6++GEOG1%&INRGK1@^R+z#Pb0T~3 zQ6(dd>X#t=C145%TCx#%7I(0uRiX?jQBhv7qhu51rLkGUJdON7#e%?HXFXyEI|vRI zl4fP5c)L`3mHmQct*K@CxovjLXlm}A`QBxkZb0|{{*P1N2p@C=>%-Q-)TSHi z&&zGB?Q>gto%g)J$LH0iDv08`jFY|LHV69}9ME$p26$cK4dv*^Slte;62gjXOJ2nHh%c+6Tz?a6l`p8Hd zn^Cvmd-MPxv2p#QX=Ccrl55AFRuGEJ2Q8R^YqMGE3Phx~U?Z>H{AtnOL1O%muQ11$ zZ?D{vm~XjLyUw?vX&#H4XEP>W|cfT4!wus(|Wu#67iyYe2*s!h9rBKRZ&N4ioX2#6;YC ztxod;q!rDn%*1>>6Yo+nV6Ton3txSn1BLU%FOgJGkF?KAWKtu(sFDX2Eo4l5npO^mvp+!P*|=qLp5|6 zGt?(DRDMH!%u>ljB^x5y^wQK2`S|u*q?wW^TQ{?n9fizR4Gl+$v{Djjv6J~C({y=EyPc(yI35|+6O}rJ=Vk5u+|+&sdCksG3yr4*5ER|cOEC*S(<7IJmEXzrq z%d+H}6W)Jh#w+b*nRTGAJl?h&hPssH^y4dwS=&#ES;Wmm*@C^Sx#bikFqk9kPE}HU zXAg~2lnBn&%CAul&gs`w_K3MFH}_?^ABXIna(?oLIM-SEDz!7P!$OoKyE|<(1Ebmx zyyd8`K*n*FNcPCs)d}|Roc;rL`b~Z*ZKsmzk)0?nRP;|6$ufw?m_gOwX3f^hbLZcl zl~n1l&KFrFsYjiclnxx8O=W(gQl~O;zh1#NV(u+;+4|sym^&nv&-ooS&XIL!Tj2q- z)?K{Cn#3_C=Z(S5)`?PhIHYN?Jx(jF8;cA~p^*5sGt-x+0UdMSL{7&? zbxdH9A5$;;a4Km%AqZS=f^LJBD}pG2p`|1XOY0nus&l9}aV|0Y3 zx*N*zZaAiCj}7~9Bui#genCv6VR(xj$qXxLdV4cWX7Yd&@1;(1Q;5R;LeQgbhdI&& z53(w4z z#o*h*zdbqr?oiTvX~%RWT$&!e5YutX*O9V4kIa@AkPT$l@S% zuzeA;>E~=|0vBuW_IE-K;)|$n&gB3jgFWIPrcwPEy8+REf7&lm21pWv9Vz&uF}M!~ z8iRRpUGB0p5+lcw7z=mk&Q`C4oQn@fLC&)zPM!1F55zg~Lx3BMyJ|_A4A&xPj2dA| z%|jGQY49JzQWD+=Cl;nNUztjm5W>jioSo@Mx<@L1zcWdPw-AN~9Q_DLh7J>W^x3ON zH1d{dxR1y*LZ+w=Mw##gwDgflf8@ITqGms5p@!OpJ8|76iv`QyQ9lom?g6^R99hZ~ zVQIO$Dgx849G$-_FI%Oi9{G?5Jh(w5Zv}{?wdh5XOFsS_=?~02OPTFqa#2d)1m-=; ztV*P=`m~oOah^geyB~a1(y4GSQKo*sAsf4lgC<6Ve!t-ya^ddMCy^YvgBF+9sro7< zbN>2gqCwR0GeE4~Oo6Bw50}v2>d+bq{Xmwtp^5x?UG6r5Sr7^xQ^fKLDl_lKBBLWD z?@6gkj?#+iJP_rXT3I#kv|&4x83fi=R-HFY>}|vH&cHOPlNqQD%^!b=52NOnj2cmB zJx*W_Rpk6q!;Tn7MUCnSI@CEy`EJd;PR#8y_a!%Me{~IdLFYC$Y}uM~DX^rL^L2@{ z@F{!1ib~!Zfk)x>otO;R9=ma(9~wo+3{gDXFN#NbnEQB{YXp|dmp{Nn?aX5B8%{L?$v=yHtX7kLA!$nu&U0YB+jb{W;|U=R@RCM>RMuZO}gAa1=`fmIRd@7Gc@u^j#CJ(JOfLTSY&*i zfkl+P%5!)7$lbb%SX!R1L*ct%h<`i(87ovk;RBoxMwCaWoQI_pt=HG6TTL;x|s2Mo|n#(a>nd(K; zc6?N-isH(<7L%@MrI-pIVLu8VxpcAfJj(12AGzF5J}h~~@sexAV%(%f=Wor_@hjx= zY72fGTX=X+M&UcTJ%wU{@^=Um?8+Tp&}srV2pao=O1i>bt4xi?KKu#EcS2)*sH8$; zd!Xs3Ez$UE8eoFI2(wOSBhVRtP1m6{5}GEVo$=Qwf))PC5{s-a7hySG{FMuA9DjZM zAF?VA%X=Ra-BO+K*G?OMohtBxzr^HWhFofERNrgkFQ@X|n&}qvDE#$JURJ{51)a(S6}goE`DkCs1H<{PnoNf{JdzRG4a!ZOI#mg#iW10;_#nfpx-Pyg;y6 zsz~HjmFJk7Ax{~jo87eqqlT`Gl&mH4%Q=bXD9BF@(GoR7rZ zS?*Boo#mOYh+9zJA+W7_Gol^i3hIkVFsN_8m~qs1wK#0lH&<#PsILgrr|27v|6YGk zjYorGSU-f<-k}9F`fH!R)Z5vpq2D7h>)OuHg8v>OSmD3&U-O_`*WnxSoVq<#RD%{|&i6Uu@B^9%w^7&+;fE50Il zug-bil|7TJ4{t-{|8^4Vq${XuR5xh@#Psi&c56)1KHW}Rm_*TEu+x?TF8U@c1diE*MI7PVypb#Ruw1_Hy)4@P2rCW}3!TnHd^a;fH?NcDsI+JK?T)lV@#- z=6*q;$nu;L9sO;sIw$j79n^$mc_TgHO zdfHLnt*vmBsubue-TQPs%kdj$3s*s^PXnl$+AM~a3(P)<4X-uBk+TBZFNik)DH1WT z22Da%9y)YHp-^h$f*qpA$D7-vAK#UQ_vtmEsYAfOH?6U?QaDdj`ByaCH>H1-qtG?z zb}~D`n^3$VM9Es9L$->$tqR-v^Y$rIG}QU?PS&jyL3a<(BNpi(r%QXwzEtq{Zc5;P za!vj;(SXNBwLI@*4VW`grzsQ+{{B_%!~5@G>>TI(`=15tupiEC{xsaPvcE0Ycqwv? zh%}bqSM@=6;*8(vEYH{&muGzOlDZ6+u*yWNQA;wudc2a1a>1xD!N|8|OoFMx$#QWr zW4?LSkIvsy6La6Z4Hjl#Wjgnws52DL0U=Cb5{tbJ34GdjToL4 z_lPlQMYR}TS+PKj6Ia|NM#hSO7>*SSF={8sSSZ+(f9b%7gUbbPaIhV7U-Nd~q}tnE z(XU8V0hsy5c;8*&)j?Cv)?@DT2sUePNROnjmi;$OI_`BmwJF0smyxqpb&XdIL|<@= zFL)r>+nRHs93=)fSSPb$FA4UszQs}C=L|ZNyYgHOHeV{TAlqWK=73r=tF+D>zyZHm zHy#NKGu^t65ILV586SnZvXo~Kmd*=6>Nh znaM|;L=nGNWP%*)syO+a>CPX$WgpjqVH;CE#g@O@@f*?>%M|JLpA5dO3OY!=-cm>C%3wYnvjK^N+tuI?~ zjJ9S_d1CH!2u6^HbCm#E9O6YRhPD|1so=U&Oa6^FUn*&l(I@Nll;9R5zp5^lpAA45W#)pgx<*K2jb6LpnCg(PSWKrR(Q1@ZiP7!Sl12rBdaUvguXjuijl%Lsu4$hczTW85T#HHvp>|JSBKcL}C+|@HjS9dCGu+)W2v_BL8O)+9lBj$+ zp2_Ro-PYhXsB)ksjSnK+*J?g5#34`x08zddMCS*BDANa`ZXOVI(LjWOam5V`9Gu{9 zk}vJ0izu`~kEPjzF8kbFhD|L(zNgJA61{0O5z7fbs{kF`1Sg-P+p~`(BhbLzZ71Oj ze1g>MbCLfN^4;AoTA_C21k9@Wk31&KcTs3h6_Jo*jsW@}BocY0u@vr}6p& z?4yL+pl@ewWVFwkpD5#z?My6$TVX`apbt6KmG#00>nsL{#NBSiQ-=SFl80H>^p8;w z=eNvZseV__)Sjly+-Lie(94vY2pQAuT&S1vshZVgH7^JpkPVx{f@vKKo9~3 zaCQ&n8;dW{Z+HO(`Z>?WbLHvLM1p$l_@RrAUy*bmg8eJ`zGb=D~PgD zFtV+SawVGMnBT>o=NfdWBjF&eTc;|qxY$#pvInEZONaHgUUIR~jYZbIK0Me(XHQ#) zD_VHMh3G_`>jq5QJbXHjB1Vz`7`B%HCT?+_^5X@t2n@#e@er$8YlQqEkgpuZWLlA$ zpJ)58J?&0b8GGN}O~j3|3NOi6XS<#pHN@gh z0NwpmOsY((h!@;zxz!gUA9M8qo&wgOz62GpI2Ohk%l3<>p(5M!#?r%?VkcZvZ2zQc zQfiCbIu|P1WE{A^G6|faY#Z8Am?mX^F-E9cbz{hv@GXTl0?+%bz1e# zOyp7X6D-o%I%+$Sf>9K{GLFJmNH$;_VbDtSwuZ3;PW}k*NRGFUgX%Q{E2igS_o^A0 z{8j8U8pD244(tYhJh9s2pkF4NDmU_LdSeiach+;V*hZ`WC*syHO+SqZXxp}ei81WU-pPPnGn-ekccC^_S>D;~$G8Y>U;t0&+K z^gb6>`U5Ls)W;Ev}RmdLfPPE^!gW#X2nl$Z-PihFV0WV?_D zt^hgRVj6ldFV4n_xl)m1lD7e0>VPjNxa+B1$t7lcF7*JN0>bQ3+a#WkvbHX)QCZXp z@pRgsIbD52>oeY<&pZFb@PMk~y;U*fpjO8V_JL?Ip+-7kMGx8=E7OWpHh(0Mg6t;t z#QT2I#2v^GLH9wio1PfX;9q}vUwQs~kocxrRX~}$TT$lv&}IDN3PB*r43U8~1PB#! zTn;`B8Fh%x_OnmsYh4*2YUnsdZ@zOW7$@dh4Mck9CbSJ{=YPS@@T8Ga%NS zxLSZ3nP}5pHXCWryk2LaN%q83aWyo!Zt|B?CjoFwra?3`sFtKwh|RYw|i9VtvlMrI|p)zUa$hLQA+^SGg&ab6BA#yAhaQw;H+ zzX}*)cehn9GLf}2x(I;2`&~pL>lfZJ_7_>7fRyST<4uMBW4xv>#`sSyjPdcjT50p2up z)P?7&!Y$DtSkR_o!jiU^kMsa7eYTLF*dJ*Yx8743h;avlPEq(yl)$EAa$+YcYEL|e ze*CRRgkiov?HfMdajoYYzxclKJQcMkzD_@3zhU#M_jaVkQssxpYpmKnsw=hSx=8P5=3j$b$RGOA zmuM5M1Gr525YoJIdXX2yyFgKPo&zHeO!NatLngZz!7Gt=%IgXcRN-a(Jcu8ZeFtT! z*caX>0%0SG@fTo0`4R1ChM*$E!6952T1jguQyfd&Dd%MtCGA97Og+qKhz=*jBl ziP+5UC&TyHL{6@S9@8C%#Y>^!TEge|GurlJZKRR(0TfLyDc@?_>V@rZK7$6q_N6Qa z+j&;`SCs8Us?QWb+6eI0QdP5o2}l7`0AZEMY*bdVDj0;%X8XFawQm)W#~6f1SnL;B zq`G8fH0myP44UnFmO%U&6Eu`UWV-Igmkmg0AP!VFRervfJbSczB(otZr(2^1Um6xN zxd!-7;eo&&sExF>X1(%QAGFM|5Z=Tjn!evr>&qz*B1iMoqUAcxA?h3uwod0Dh-hf9 z^O1b^tKkOLAqw^dSv}a^&%n>2Z|{UyL8Dgg=F0yHK=Z2k2Y{s&C_vlE-~vW$WK3wA zr!&hNDUl2HxC+17Iued=z$$QzOE(e`X^&=cl{Tj~Ds`i%_hi|`zCD387`9sFBnXgD z1(}^x`3PzUAcmr68MZ2SV_u-r5xtQKoKQi^mD?bLILG6HXMOR^ITGnMP8b?b;unFN z+~fi*|M;wnjz~qh+jbXi4H~$;GbG1JYgzA2^80G{0S>kTemeNP3WItt)~~(H3xi?k zGTxy+Q*pK5dGrqJ_nGMTU6>>2+ofmv_uKZMbB@~Q3y|-;DdIk>%VGzzxuB-IGlj00 zY;Rb{mEs%;wL*oXFYgB!lGQv?Jw3c44z$ywb^7v4q{88#%i04Y@w{BYJG(%V;-UkHi@(^;}^S5**7ftIY2;=Yu()rt%h8y1s!~$L7p~PWk3%(&=GvA&j+Kf z{L6GKv{JuyU&P;1Wt9}16ZZ5c5G@iF7nX zti36C23dnT-p!+P=(6cGD_(#drv?~1H^iq@A38>D@?MPQWJPDP3%k|#jIh+wYu}oh z`%VjMEt#Lsk@)*|kDTpDZ1hWi$W{_CruX#u?Mry#j}0MeRVe!(wpvOK3K=0lWVvVSTS4JnXo zb^Y|Qudba)Yjxe>sVf7Rs?}9XMVqS&fe#p3@>Y_c9wn6|IQ$;K&HZ$93cHcho~E1c zq4nVmg1goF@|*)2Ll9%whl){vVH468Z(4=H)$}qNM!L{hTAJW-Cem6T&i=0kkHM&4 z>%*aKcnvlLdLv|47}jdA`GyK>-)PX%^o=)=*1mDM=NnGnH~y)9)Ki3LqOQ zRt7NK(cClmncrd0!o<;_+#{_lcWZ0P`QmR>!ss7+)0%XPw&ZJjhNc%m@`-mtbXjls z-ii&;W$YBNl`ESDHN+}+d-i3BbMiV1Tw#WRaJm;$;L1j;;Sy|7@`+#=pKke}LHJ<3 zwO~D0P7xPE&aM@-lao;WYrIgfU66kjxQh=`KuA1Nrh~Kt^XVps8R8eVVA`lW2+Iwr zXM2^Gdq6}l-*3wn9P<Wp4GBsZ`5wW$W-1txH1du>0aJi{rGz78%=bVJGDV z=!)3j&>4?5;oI+%FpM)pu%|}j&%z6MY3oa5_%fmf3xoy)6kuCeY4=4r*!ksRG%FpO zBeAf8trlXf-JU^ld7Tz-V1XR|!A8LV#~_5f0eBfD7EuXL6?nc$Fd$+Pa`7FguG!7vnK zf&s6x8d3$r@MMOd^~G>wB?<-aiO*rvf1rXOE6^fbkZ0U(5vtZE<-G26{%7KUUSM@$ zbgUF8*NG*-#yzQY@|pxo?@=Br@+EnEDgiP;Ww+3C8hcJV(jMB}MdvIUtg-{}49dHf z^3M0?|x*jxzoIL}g7w3j$CwscOm*ozc3MvJx%FlCJ^c8u&%>?l$!jxm`Q2hP25 zHHM_OgkYFnwge10gbodMLu4WT0WzQ9N8#(38de0;c($Z-n2}*t z5RHPl&qB!dQj8dD5-j<<5h#{vH)q?;yOr)}216=5U)bCRdW-()9c2-GRel9L&pcz&>z<{AEbA2=EbH|9 z%L(f5M|h9!U%>34-$F#TuzH&MZ43?0r%uC|dFo8-^AR+~diP$gT2B$bXFwWCM;0vh zw}X-h1?v$Zw)jNUYwvaNL+T~k-?UoRe!O}olm=xC6_?W%AuUK}-Gm>Va*>+%J*q(7 zRF;>c<~h~8E%?zXCsUqu)`xWC2a1rig~3fuynTr#t6(}!MH=F1nD|tcCwccYB3%wf z5U6wK3y#5eu-P3its|JEONaC};F*Eq1v@MA2;d+KntBI*Lv|5Z8k*l^k#Ls2$84yA zjAML0@dNkCf@5e3eGuVG_(H03GW!CyduhSoB1l6Mb^tz}!(f`o{f=&fXJEyNBkjD~ za6a7w(1#fO7>@m$ybHnJL$s0buOKr3|0u7lLF|t2Jq+QUw8b75c}pP5ZxgD=SL*+S zA7HifX3&eEkz(~e2HC)GFa-$*8e#JM8HkA8D%FE^2u{?7BnX(Oa}GU|=As;D7T|QR z4xBb#{N15!I|U_S33enFv3KrZ?+iz1==dH@ag}}J8TN{?2jC!5Y@(OI4|}Dn&ZSch zp$&dvxY}F+V^5=y0E(Bloo1@gE7M`W@$6{X0K{cGT4HkG5EN@pbx~zPGGBqsziEX; zPeIzFhd~V%$*vU{%0POvH~5h2UD$UUf`I0CtA5+?DTx(b=<7-J^;0W)DnG)I;`z9> z<&S^u`}hvL`3AkIe%$X%fk`>>@@KnX&1nsPU~`{!rao1s&ebM+;!tFIi7SKU$+Y$d za73sDvFg8_7tmqG^)9}hsnNZ8Zy0o^ftgR zQ7rciXiIw3+5*a8U$h&m&h3l7#?{lbtI@R4o~EIPGgwC-n;Wj7TAPn9*tL5cF?@M6 zmP4X3mIR_GjAsjN>X_V>}l=tffSX{jw+@S3gbT2Ec;upU9JYja8)>pHpt2SNhRQ`hBLp1QtEZet(M^VD_N+pZ_W)uq}y1IDb#O>&j8YanFX zCT3sKQ^LPn3JE{NyYwxnCP7At8Kf8V<7@d`Jw#kGtHZtO@k{e{d_R({5f-2fgR~8S z!Zm`LyNS#fR(tVom@{apTRrY!+8A4}nm5c?@^i{z! zBeZRU=xy*{JKMe(4%#TSy|?O=JaTQXg@q+bZQlr&7!c#gwLLX@ZLd}BVMng*m%`E& zCAi;xq~ZP$B7vjS_HW5e84=F35TCYywgLaiO51>2$Sl3DxV(WYqXqQj56K`>ltD&@ zIap^%5j7NgeG8o`TS9W_3_+gMk9_X%wqqrP1&33fQ|uU_SGvLtBON>}o>yKq?}pk= zl(t=6dvUJ5?&5yT*f5aAn$?=lbF*jLEz)7PZCmNWT%9;TTG+3*El03V>gPI3dxuCK zeIlE}p;%-9i-!Uc%!io(fDN{b`-P|lQ?AJGoAEus*tZ~St_HptW`o-gf^riGE&v1{ z*B}TI|2@Dcmt~bwP7@$zGa!DW0WlXqoC-x~SQ983lxmd0qXmCDOb@p)Fn(ytTbL{6 zGBEaKV9W{uM#ft(Xe`p_XBYxCD2@tP^rS_hMGmvzH*hWm7O-By+%}FEvvP@OFZymX zv$-U`^$@I{bg*wZ?X)h)<+;c=8@?vzjl2(@L13k=U#*ciB8xKu9w0=i&d7Kne0VrP zIa4`L?Szx9ZpDc)iG-}{isb_)JhlKzH)Iu?DsITSjAD0k37zujMI$eL8)r+UCs>5M z-@>8;Nq_$-sz2Q^nbc?A6MN7n>@w;4pH~Y2nJQUw4uH zQFbtJ8a612C*gC8-X(C;G6Ae%yB0_7P*o3lYOt+-3o@7+y&2|qy%{`w9eUp)Zanco zG;rgDY=+>@R2CQg2jK=#qJr?FGCY1<8}G#rYY6mI!A7`ofQA~r{6Zp{y zUpkv2IaNdw1>9$i@LjX@al6;!Iw7;?X-3fnsjLr~8RcO7=U(V-~Oq;e0AjKxw} z(2r&N+(bV{btQ6Pf zgaBNkAJd6`Ob?_V(}{lkAEO`B{pp9~$VD6Ay#NJ~9D^uLbVH>oASfCw0U=pIO-BAS z`oIkO0I11yq9(TzHMtekXSY{Uw^{R=cB~X8)Emyto6}@@{Ks zi#vd}oEJ!2`gv)~;sYAyFi?ZGEae#H&`^N3(E8ZsY0LB@PFp;P)FS>A+#3!2c^M%} zgg><3!cl@hKpUbsw}RqChC}^9FE#!I`qKo5nxj8%F@XM@7es&hdFfB#FF{x|C9OFu z3PFFSA9?x{j7PK_p@|&xv)zM7?U7?j;F2ReIu_&@fxM?3CdYLDIfzRQ?aZ*`Sd?Qv zz9$;EaS3QU;l{Bd$E@z^#g7h=WB$802t!VV?e=JvW4!Sn&>la5SR(S|$S))l-i0J+ zO;eYtKps$aYGo}X9f))Bwed_-zQ|9DW*V`p8@)D}Y2lPb9w&?sy7Mbz#g)Nbs&<7qd-x%OJ@^A+XX|EjGnu^UJ+9oEWL zGxZL;=X|#Z+pvB zD{23zZuuKRake>U5fv~{4T35JG%Mie3L z(Mvr}K@(id1^M3U3VdJSRs%)i5PrqNNLx<@d~+&P%16^W4wj=4ejR04-j_&w-L)Q; z8&5u}V7a-?c$tWf0G8N!H2^PX`QatEeB=->Vs=*%6N*F&nA!P<$S|`MG0z>2nebJ5 z;w^K-;bz<6`36EAqYlpkIC~?(&RjI&2*A@SgEG?AdMbs4-HN%;epoI=%yN`r`K>!L zSe}h097V9))MmV#2%9WmNrHkuUPef#gD`W75*akNBMzm5q1pO5-ga1Kpc_$#<)d+t z(dc_&D(zrc`qN;{=4R=0w4Q|@I}5j_opSV87!fdb(UhZW_e3@ew!%E=8##en(-8#v zNWd}$9f>k5M;wX_mUnkKs$ki6x$hlVBLU0k%F%1Tj0~E2Xher&X6xi=b)L5!p0^^l zH0tpD`M1d6slb4E1mNjUr$Hf`rPI-R7LvAf_qTWOl_?de&h>4UR$hU^g3-G-NLq== z+HrZH6rK4^WMkJ4P4JCfrM@ESrjF1ubX4JZV^Y-N_^0n!(bNa8jF75dk0$sq8N1K@QTkweVfk1>)M2^pr^v9m zJDPA5!Lsc-OfiCjfS1wL2giI888qvm^K>vYTR+F!4of|{5p`JJ6Cs^lpzm;42GCM& zd9!i`sAg22g&ez+{pAeHly;Km5xS_8l;xjAHVM|kB;}g~!j$Nf=OX~e!-sc8o6Qx# zLm7$Lb3U4Il)$m=q~y)t862Zamf!v`GDr?UBRUq6&FFxk=62g*c{8-NsFUTr5xS!_uEFTc!k%-VGh`EId8oWk#1bv{?as8FnCyoufSp;Fv%K@QjZmn*}*&f^X#L zSd3_EfJXq1C5X+AG8~`zHZnMVb?~TxW81?oPDdvI$NPiuF+%rA5JqNgiVTvEAzZp+ zF|svuS)1E!hvinpokSg$bV;6xr1FHyv!jLp4B0Zo@#qQY>*~tAFiji;RgbpCgM*xl+5se&W zIClObGB}Pz6OIx%wq3@%dmn>iB=R!hT~PQ@5JukH5E&%(Xhg?CvN^gOVs5t`mP23* z15QR4mQ`Ox2Fo`P?9$P&^ry>~7U=Skcyhv&oZDgbKEaKTac62rb$fD7rd99v1Z6BXX z#N9-FeA0JDHa>}H#L+rFtsaB6>jRyjc14+f&3P}f5s(ms*s&vU1mL*(|Dq1ZUn8{o z7N7}72^`x_6K2CW6?K}h;GM`Y@+X9vbSxx~h(6F4-H19YmqloWefH~)hh;~|jxE(0 zlAZ*_{p{npbbUMGr*4DR6=LXGh@ZlWt{^kbm8$ui9*~)4_nOEi!FPyK@lAq#=+83! zJ}x6Jy355{5ku8pSoT3jq72K)5gLAw)lKuaEfF)~PIpb;Gl$sO5|9ZDg=~?}LtqWlJ=)Bc6q%Cr#GXl(Z`l z#Q{YnGC{BDemI(VLJvq_KKycILzjvs_@)8Y)s#d%La>>65M@~Mh`@<5Ebm$!87xGxMB*iI~~7t{7v$BCU69YWhn=ft7Si*QJUdm;BIfyDb)+Bk!O!Sjn|s2M2XpDuNd z@q?!??Sb8x5b*TRqXUJVabhpYsTaFRjVWR}FC9!1(@OVD*F(~MIZd-HU_#3xqSSzP|L?F6OZm0j*S9XlxU zu_rNK2jWbG5xm2QlMH zOH)8IYs1_$9x$3ZyS=?{jjig6un8i*5x>A;G+fN?mj z8Rz~wXCcW~4$87%=WQGpupb+pRO1){d#c%SR~+BjZ7e<9pEDm6J0X!{OEFds5Zu*x zeBiwwG2C2v1;*boVsl~2oD?Isx>l;%>^j{s;)%kZp8KV)u8t9Fa6eXk-hksVE~(5w zxGv70jCTxQvgC8|-16@QduMi#IA?xOR?4=DhP({%d}RdW6|K|%dIFv9#aHHHJ1s0! zh+mP8FS`;~q~fRid-j@DjyG(@rkw|VG0F9gOE;G`s;$~6Rd06n@wE!~OI;_bt)f=r zz5z#jH@FMlpOuR*@NzBp%6pEJusvbHX6~VCLzTJUCzHGnxZSzF`inTJA-Qv-#SIw8 zyZ(yiU`NS#W7&SOn=vm}OjjO!$=m23|A}oS_tz!cy3-DXRy&R@0CHIEnK<3z&uBQm z0+&*=L!eR#V#*341@b1>>A2O4~t`^h&{+VW2A6Mx~p%%eYNWpsyUuNu#1{SZBonPi1k`> zUQMP$EwHt!h(jE(>mfS>fp#hnm_Ghf>8MN-|HgSybbd8EOGBMpi@tjjFvk2c8@5{Q z|H`6cTFi8C#vyf{eei;J^alKc=9wArGS=qQ%iHGt2wry%-;9W8A9W8Q1s~Gi|S<=%bSI8e1y2yeAGP z#!0J5b!Ax!8o4(`r(5wYE_K)szXWK%G8ehH88ibotI|;gZt}jx4ZmVCK8L%)y|^DM8%0H(D$)y@~_zTgv1`ZFc?g6-Vme;~E; zW^@)W%<7C{d`^{9QXiuRB7rLp1w5{H-k?7Ilv_NB9?t-< z&ZBQm=NA7*&6`1aQz=j67C))x&8582l(&Fed@tqQn^nqc+c9%UNx|c6Ai2de)h9HR zfJjMBH3W;4IX#`@kx!*)VAb)ekq)|Tz2%450CUUNJNPvPH4grX*$D+Tb8f|dyi~p0 z!4s#LB*+}Uk_0GjIq{4*t33%k1N^vJ9DtcA*g3{Fc+OmBk`I=E>=l&cXNVUlotJp$ z@lB8I!UnWkU1wqf(r%12sr=ao>e1e3?1MjWfPd>cwDujEMPMcT+cde%j$1YXwRUog zpQRxr>;qb@=X2h7-cK2P!DpOgW21{Qi;!5MqThDv^?DSWMtL;<7!nbRIfPUISAAaZ z6zF*gLpmVYMc(H#0gTz~ogCy5EQub>T!($6fomvw63Ygz&3qGiz%%6Ow7kNZPb1IB z^1j1s498~PhdkgH%5B&3fM2r-zf4)cFXUHg`M|Gh)qLO=@|S4&z^@T%{$!R$M1Z5BP;n#M0@^F?H zziJqMokpNt=Suftm^vmKq(--G5S~em{LDnDas2Gge8KveXJFXwnA4N+lh0XOQlQcp zhHoAjz$z#41)FB&5w3t8^4u$RkOX*nUBPBvu7Nb*CkqfRsqz3Ys`F3Ioj4cJDyuvN z&kkGV7qfN)F7Gghr9G*n{8O=8Nq!Fq3DckTqUXB5kdRQzgoKMBB%I?XBv2TEzmQPt z6%sa*kWi}^uQrzbq6!IDs6xUhRY<7q^Fy;T!d1x-9z8Mw7bGL7_mB~&VpT@C3ha!@ z6Y4X_2#;s&Ma!^r{FBr`IwOglWYYQr5sylVA=apH5U9kqL-Y?*;9B~Zk*0t6(y*Sfm57^qwoQMG@j_{M3$S&t^2q{2*iH z9&Ag`uTCbKBppoT?r%U!>~Aiw;>x;#AM%o-=gMUESka3U)%#!7;(D%}WGZ=dwnaWn zkuP#hwUV#|_{ReuX<_LAEl2E%gXrd^2nTja>x}j>+0y)69p~7Mm+Ojh@fn@drB<|t z(fy`XLEYlk3~(*umJe{ffDf*rm%N`emeqN_Nd;FAaNWbbIl#3Tt?k5>O#stW+kLs3 zisQ-zq@3sDLYwV-_PGz(<=(f|K06Ll8Gy(c*l_8{0s6ig0okO>VzMx0fRnN50Zupg zua(qA$H-CAmj}>qVak|X#Q?hmodcL4P09Yew#bT2`rm`A!BTM8mMX~GlpkQ&btNJ3 z%JVpTq$s;uNm`J^JA6lqDS||=#T!7;R zNfo`;4;jJ{s}6cjdZlWz8S6QsQT`4GJ>(J&nko+w4!-Tf!B+ue@mz+3zavRwC(dBk z0(Bh!kL4Z&{w+mHkf!G91jp^!awowtHWw&pk$+nPv~}X4vJKDdzPOjxPW zP9BNlgLcX|wssu&=`>K#8L-aH&E&82(9RhDZZ-eD9dU-y!NFPoZW#wZyGO&pN0B%_ zaPSZ0-^+=?hU4F#JcUAxe{aFO56{1+K$}we_kW3#N1J~qE^8J4{uLY>{QIE?@RO)y zbR7S#{#T3qJM(X70OQ~H-5ulKG2O@Sm@!rN84U3_I<)h`r(33-D`DAVx{up&ywJ`V z|Mu!c?a{wqg)$5r{5$C~?bE;i8Ki&fgY@s8D>WS4ai<>+_96XyRW3fSD&Zyh=^`gc zMMhXYMjA`(8ArVquEq`iQF{1t@Wilud^u^~jF0a?#71~NJ`wt+%EvDUVTn2)9}3w6 zIJX;v-qgszOh8NzUo;O0(?#h`@fL~7O!&Y<>*0SP+-;8@{&k=pt`E|~zk3V~V0>J- z&&S7GkGMygN|M1mg{-pWg&Bpz`$*P({P@ z^%KfbirLryBq9}U{d_8fi&pUU8%ZzjqI`rNg0G(jX|RL%dKb`RKl^$xU*9|%4PbnI z-y<=;9`jM+V0VgYCex?qIB-=@cR=)v4lTVSNKX%@r9)sSVtjolK6!l6(wK}H6@6X* zcZQ2m@R!GfdHBni!T$1h?$U7aVla3wF2?-jie7Akzx+9jTUdVH7y6~j&u@dVBs@Rg z4zr%h&t*GO(dOrm{FUKaIDh$#q>OY?HiC(QpWojsKX13cd^C)ge*9b)q^I|J2n}HT z{6eH+{_YKK}e-6k>Mvr=a78=idg>!kIq)?xRRWn}2@< z#td8w$G_KuV}pNRe>;8>l`j@Fr;oRre?JKGLks--aS07z{Co4F82^s>%bV!oi4c#Y zLpzgzYAw;uXRg<1X9H&F@j*Ld`gc_H??nj81rA2RU;d{c{X5tek2dKM$s*Yk{#$ z7rF^k$;;1MkCHKexpz_6ak>s|DF}CTaPcoedU-G|eh3s~xcJrd;|&-8K)&7ytR^g9 z&xeYu^7ZcI2@ks-?aQes#rXQLu}DQ*KOYR?q7{7o!ugD^KZ_nhKmTrGhw=5#0`>D? zzCIY10hOVtV@P=fSk|Y(hnfXO|(}9v`$bW^a#*y*&dCnCRf(i7?W(go9T> z#bY>FY&~9Z@DJ3-uObE;&R>4V6cl21_S+$*h3DV#q=hs7{qS6*qRqdb1!Han|Nc8T zHu(3z%kh(_yxOcj-fsSVT}g}ly9851)yLlguw(o?#=nF3_eYTbqC-1B#zbw2c78fW zqn*>PI9_OHjDJUke~*S%3>=JtzkC>|vp)_7+k$E?({S+m(SA61T=;nYNIpIjj5Zt} zzlyYP#>eL&a3(w-|J{O8jF0al2_V{hd?zG5;9NL=`I!Ykm@Z04`&9@f78 z+6a_le7)-hNJX2kCqlSr1z%61z{xI(jmJ--^7gO}gU0HeI~fMs-I7R#lWMV zw;pk0eEolfulI-O86CcU3aD~RI?_A{-pt0i5Te9!MN4rc%P5n)&LWqpTew%*l2*_L z?yfYeTqVehMkQcn{}#pK808k?Hw*UBMyp&S^SR|!3lq)d4Pq~My`9IITh&=fe6=$^ zA(yYv32qBY@kZCjIirmhoc3iOEeLkr*wW75v33M*b{>Pr(FqSsiE)?`R=HY`sz>3V z7n(2FiQUyzkn1sv*nFv0;si$*9wiQ2>;eQS>~+4wERVtl^XtszTNftaFqU&lcOJwiW4IgX>RjG#%q=n7J6j~9@vucUVh(M0H3&KNf>aeJY-!}}f?%;5TbxE-pvBr5 zgJ%psqcD%4Yb1Lo6OQAo9>rH~H_4x9Q=hR)HuXKM5|rC*jjt*O!z-3?blV#pY8GZSdSS zM zl$dh1@QzC$B5lRF()qKy`cXe_bv?Jbx`emKTO^)nI?rUICm8{>=2Tg>93&a34Wy8D zH`Z4GJvOdF42NU$l_ayHi8fgsmQm))?G||v*=Kz7R5Q`kLyYs9Xhw%J(QFk5XeOGP zERL_Ws;n=}pPdF-Q3KOoE7Eq!&dJyYJY&>Fkbv(@veiSHAoBT(`f&L>) zd;LeTcKApz`Hy1oIQrn>HM_RSe}oYw|52g{Hf)aL@h&lovf|*I{ht5UZ>{A zGuCGcrD}y=F*eQ=Nn$3^+st0{yygnx== zu%Ca*a)kU-v35q+-xq`D|2jM)^Xt&G5A;vb%>U#3Q$GBS^+WYf#m0jL-M7>48N;hT zdY;qPp7-6ujwcO$SbL^L-eKZa@8e}fkbg3`1-X+fob*7ov&;T!y_kwyL7JPa6T4Yu zQ`RV6-YCf3l`{_SbV~=_;z@F62d}rsOO1!c&hEN`-xpN5;-${0WI|RhofV!Z$YK_} z^9!;BL3%fnzqX|{P^u`eURk>xQE2z6YP-4Rtl?Ljw9CEH?bhi^3aUf2epOUjkG9`+ zn`-#9FUU$a%NfSXLjqR77(Nx`69svAvXDPK-F8yx9X)hnBJZwoCGgTZx7nWI>V?%X zdLCg2a=hR+rqhp{Y^=y<_d3+XONZQIGVfk%F4(@{Ri=s)bkoDZmD)5TpiO8HxB5^k z+H`uTHkH^}nG$)yc z&CaLOIAeq>_$;KdDGJBV=V9$e1#cDXs;$G$mX>*HQt1F)Tdt>q&qGy1T33~dJ7&XH zEA?@7I{tfD?GI82A%19O8(NoavX9O*RgBKU(`=-3OK{1h{ull{SIz=Y%F!}r z#}dpUm}jxEQ$<}rnW1&~ZqERe*OCkt^4B;k_gJ49zofCO6%cJ8$sE>MNsxn5tJPsLD}vRl-=`xt%t+v=F4KAB2d_jN=v$P z@ee!Q0i@h`74ekPdD(G-+-QR-P%k~XBwnZcy>wnK^kkU$#Ln{7{ggX(yWIA1nWYQ! zbYfR|(jYR=`=)^4;}K$xMNqOAFrKy?oIOuS%E6688T>Vq3HQHE@p^yNaqkuX~0 zE&8=oC+rtuR*$h)@mKIy@>dCt7qce+=5`B0;B40OPD&zRJjvP?Q$ zrt4Y;y7KVP{?IP?8g~){wGL3%z|DcV1%TW7TL8GT0q$IjJRe|ZAdfD*-}>GI?-b`C z;06s;GqA7U$B;d;gk}GhVKgq-xmTXDBZEnK0(Z z>LGP#2nLu59XB-I`O?f-1kQuo=6J>;B;o1tt2!2c+&tI|xcR7#;S1a~nFmQ=d;#;o z)OZBv!RrviRNPN-_WR10&h$&)?=3@av?jDEaDIGh^NdNz`B8?>MQwh76<~ryZ)z-} z0rE15vd=?IjjKT`0;a}a4jj>`LA;_2&Gd}f&%ho}db(f!WWV$#PZ@B99(KCD@ zr__7stvY;vATJ-@6+3o%hiT`|5WM^~u$+KN_2VxAld8jbdFeiV)t8Bmgp7nFCLbJY z_kz4dwvz#!eA|mDAvMN{c~Ya^mYiQH;$F-#8>*J+r3SajzL+xXmCPJpshZ;}$?PuJ zFM)e$c)zs+tD2FLV&7>S+}w-E=OV47YaI887rfERA6S*gCy1T$Gi-6oJa#9dFQjwW zIH8VDh7Cz)sA6U*(m%BERrMu7%7^^lXtR*okmv4Jdv%(wbYZ&A4#S_Vi(zZ+#p$qI zU6t%g5ag?pNzTtz>UUwPA|c4zp`p0D^}Z$zW;jF(pav1@L6WMdC=(&GQ%gesF_RdA z3*;KXo?1KH&t?V%?tz13_>$vHmC2R*vMTYU%FUHE{E#hTXTe=vsju8zR%QDENj%DP zrSvl|`5YgnC&>Saw)=E9RO$=iaP$oKzLR1sWMX zq-tcozN>X?%WHofmtWX?9cV-q_hy6Rr25dU*swuu$E8tdM`{%6xch?k^aZO!FfNM$ zkCmA~n3A0866xUhIqAq3a;hU69~vpOzJXD$@9Dwe+ZTS^)VBQv@QP+%M?|^4HwT4p zU--USPPWmQ>&?S~d-zHhz;QBL0jEye6C9@~w(o8yY`g!BF# zfrQgJ7KD?89uUsZ#vRYMVDqA`z|X+i4oecZJWh~m;B!!ODDEV%TY`h{M>(Lgvhkz` z0v{q@wO_$rh9>N=amugzASgPDdZ?x=ysf3QCa|9seSBk=Ae?%}maIrw*YHHAD%Rv{Btv!S8vQ?C3H zdYux>SfYw6ABsd7exJavgI{7obWw@UGvzrKOXCC*tG+%Q?Xm&<|~o* z=tT=%hSKFK>5yI=YmpmVql)Dk*T?({nij52JexkQI@HriT+M1*foq)jn(JT1a<%K_ zm8{&UD+vOwlcYVJM2_l9mG;DmiLQTH-~pxl-qp{nbBmkJPx5Uemkc`N}OOif82IddV3lo+&x?Vo#|tMLdZW&)`e< zOyT#}{K#{URHHNiK4gn6VVT}_!oVt5S3&}e=8(;JIKK7?Ph%%>ZOERO>H z0X42RRQag#4ixZEKSE_rkr zMU?qcLxbxQqPN?LI)9*1<@KnelUT!QdfS{+BQAF>h55wwI;gIzDM{vYwt^(T03xrF zWET&zXzM$q-gY+iNszlL^Ed5u6R{n|E&mwzmD`n@kTYbvkDk)-JzPa&=b@+2t;H}h z;SnI8-cM+BG=_srGB^ft@W6&(9Q+13#}*E%dQ7#_C5xH4R^Wucg`|ssI+Ws9a3oe| zCy~~{(r@^sm-?mu;g^2UFJ11Jp68do)h~UWUwW)x+TxcU>Pb8J&4np*lCTxJq~xx3 z@J|%>)b6gr-5T%Rg=^t#WUcm2w+*Xu(W#Pxb==~6KrFGt`VemMETmSYv&BH`IO!U? zo7_n&bsg>;!&6Hj!!904PxgAATys1fvhw03{dDr36(#zk6A|5dwBR&)AmIj1^Coy{$;F3G6@`%0P9 z-IcoH6b9(}S*gg+slnae75WqQZf;9dUEWO}9hb#`btljk%`^dc(#~4MBC-x(0 zenl!^YOxogG854A=(YEI_{5K;_6|M9+UwYRY{7RYqH&HTeCU5P zwO6Xb$!B2*#CRB^Iv&8F7OkWat!eXfa5NulZQl3UvDfBd$6%W)KRx!~yzP@C)Mho7 z3$dNkys<<4m8x(-0k{aCvri_c_C~kid!f9+mR@Vj)z=yOb%#{p9E$igt;$l0ddMT8TM$gtKb*|nQXnHL;Rwvm_l*jTS0$|ddT|nD!HB$Hrhw# zx(3*9$#s_DQ}j|Nywne;Nd^?Q7xgQznwKJt%uYD49XBv^YesIlmSiy_$zl-5LMx#9dMKAGC!rseB|E#Si3BI>>Bwxo^Ec}0 z$m~q#&uSvhxd#cseoHpsooAnwYrka>QdVYL7v%X^^nZ)hn0H&Y4cM_sS+*UaJKXA` z{9?J@R8YI%RzbcPi*J%w=t?1Y4=+#P#qokH5egyXGFcvl9US&_*yP#G~bQfj1;vwn+XVOiTI0dB&kW4pK6y=lks%$YeQ>_^xw8?&Z zLj=@(GLNmca5S#=0p<6%n$}*KE;t0lK8#GS7?V#XvL}9byDN*b5OR=Em}I-yt)k>x zYFtP83_L~nsB`9F#Gd-$xuKzXOh1K%I2R>{DxuC3HX{sM4Gqc<2&QnJh{^*5>f`uE zvpG%I0^lf?U5%|~Iu2%#KN&)#I#HM+e@GHVQK3lj=$QDnDe1NW;m4BIu3U0I^Ev zXMq3`dF9?5nN{Avm0jeae5ZI44MYz>^XAayX1Zk4r8~OAl|RE!f4$O&Q1u};6W1#| zRz)~Tn=hT8-xpsMQxQ$B^x6tyI8zZ;s-M3JZ%S_wfb_OhUK)nV-oz)(`RCj@lDA*z z8UbiH|Aib+C5eLkk!z*$^c(8?=Qe$RHcHE8ogc+C>lno>`wcVIc@-X47UdUaig|^7 z#GJw$@$|y}Vn!k8Vj&(ex@b@n3C_N1Lhn3NO=LQIsEIfyhXf551_hDaQ?k)o{0zda zl@U)_8+N^|Gx`;0JJGq5KzK0DmSWC7n=2!W2@z0w!IXESMnG@-AdrCG)Rcf;*)jpO z=1&eJpr8n}7t4L}Fykf&c&?S@TM9MOg@R6SPP- zh;UbGBHT2*s)}&^XqJ))*Ts|g4^2K0tZV5qnl3&O?k+;mymvvErc>%O1nao2=SvUz z$#A_lBk$5cvCL0~8%Q$T-S`%JOBLek151Y%;w~pJwIsx$!c5VKYaej{t~p|FT>FbB z;tGm&B6W`>IdZKbk>J#;3B8j-qL7p6{83HBIlm=}(^Qi45TZay?%R#+B}7dmxd&fs zN-mlbqB~k9M6A|eLUds>HEUv=M@TIHJBU$`^fp_Q-sUkD=F?JIlHMjj>kUDYm?je} zz2%~;^AuFxhKYO(zS1J?QME=$Z~03}x(`$y&tcM#h3Sjuku(QLYKkS)Mgq5CtDmm8 z9U3vwnZMASZ>lRUKsM;ib!lEYqw0zmBA=0&p-8k@SM(8@44Q64Xns=Z3s?3}H6dO{ zH0BDr^rp*+Oi;Q8UnLSV{$-F8rZ3)Ghg6`xI0Ry7IDK&{z8jgoSoS$yagy(+S-p@# zE*UjRQWFWz!z%62JAY9Vna=OjM4a<0BtlS=4V2wPFZ?Tv0!%M#UMZ9bCDhpP1TfzszX9qOOpCdUR-9-&g2D&Ue(Z`^n4zXQq!nUebN*9J z=?pEhwB}!zZp#fpWOxseF*K;s=k426GP9W8a=fbPcd03%^}DN4%BSCr#2rvHLjCSx zkO)=3`zMj8w(55SAh3|UU4u$g{qA0*+Nj^%iC2kim8|vC@4k99lz#W-D34%+^`ZCUo4$V=N{80(w&96$6fVu^cZ2bW(KjX@ zlC;!E&CxrVo=egaBj_WuI{jOdkgn|0q{h;k$LKs@P3nEvh zyzAOa2t`;s+Ffg~VmA&{j&Q;ZlOK#G6P>OIl)6)(=C(}Oe3qLZfJz{2@lf`Nq)u+m zd=nuRIX;WGUH&?YQL9$VU*oo@gptTq2>I&{WJCUXD$Xl^X?h;XT}%KoBhf}Z??(D2 zGu1O|42fS%+o8mhGzlSZT~C*>LE_hVyhu3vpYrbiK0A@Q!n!`eF+@UB^jbCsg|ppU|fHATkjZDePWG38PYTutN75h)|I9<%pW} zWrGUbGLiBb=`ASxzaV|JOkXy+4g1MDpZ{u8xoa_-d#$1`B7A`d5v54_T`!vJP4zpH z3*N~DVu8pkaCg$#XTc#jE6cGzkF5~Qpc^6QJ#~qo zYEs(R)Kc!}7$keNN^O{0L_~&sVjwMC+0$x5oI-@=${=d96fY9B$%L8I^(RVgt4Hbv zoS)F>XIeVzDP&$2Xe?4qOPk0&Xn@nr`7yquzNXri>H>?0v@Mm93C>Ajb|t2Q_eBG} z-$y)$esaW9=%>G!MnAc>`6Ly&Y`7-4Zo^gYx+&$BY}XA)#<{K)?6ctgo0VsupKG55 z@82w|>k{(b)fQPjDp*KI-i&1N6ptg1Ti&27gdy6ysk!FQn-882)s0(@6~+SAw2e&1 zMiC>2l$ha#C@+B7#HVHr2%6|Ac&f<+#?TJXaFZ8!#(YEfLOYe~TyGqsB0*Sv2-EU= zHZ4P#UG~zn%)cqDI;48&uWwLi6pGPh)`+4@an8)ia@_1=Je&-2zg-Hx&B0)2m&v}>=z`MfUDoJQSHk*X7sO~j)U@kp~t-P@CB(dV@prD#rUz`^`X-bxbTIfK({@H^`J zW1GBB1c{fEd_FJUo}~J`7!g>H$K3LwAtijlyP^@mgE1Lb7?W{@F&S4Flb=N?A_UII z)kK2x&uT*NtVF_;G9{a>J7ZK~K8B5j1l$78*Dx(Az%|vU6(y0=tFvniX+#P6=ZTDD zaLY#y2}d^I|L^W`&s$$_j${zUprb#4HYG$bh+b^dRFbKynMyLic`M6k;yVgysJ*9_ z5rO}4HKXnPU1T%6)%?8&6k+1;99|2--+uv$d-(f={Z08h84(zNr?pS5;P1`3j9$R& zZDQ{K#EUfj|B5-OGWYYzrW?%Mdy!YEBbfW?`2Nwv+@FTsCnDxP4D36Iqn{i#j=rkq z80P40pM&!wn}ZKSAEY_hJ@g#>4JhWBgFXK1orB!+3?^c~jK?MjU~~jd1X2e=_$y*QVO9F4P@LxB)6Zj~F_r%0rAS@RRwsHx@Sgq;@omu?MdG#V)w!+U_K#>Y9UVg6no% z^{!h;x-MaSbaDvk+N!e1K#ln%W8UpO#1xoJ^mc^8W!vXxy838$fu4~P+Iw5|jNsfG zlCQbt6w;=O*Y+`BmI!L&TNJL-qc#=KhkSJG3fJwDtz9%7TP<66g49B@@gsUGNVa|q z%eq1Zls$*CUfKFFdQtT^v{trG!z)a-J`IU>$<`k~q{^o0s7RHqKf&Da$kxL=lbZHf zV3WE<*?K)n(WHL%aX;C52h4ITp3Ey2BcN=Xa?jr}wQpB;J*R&E0s26IY)#?3fwDD4 zO?WHOWa|q-HOS#W?t{ShX_;GS**Xhlowa!Em92+1CtE*>QbY!vkE)3T=Y48I&$>ji zwQC_G2=hV;)>E1Y)}uXwwZJVOqY2f46vNMlnnl#&j3z$RP?VynSpBIcRv&sy6RT%N zAXeuhz!ua0e_5BaLH>+xD zH)~F=_VM!wjbr=O%ZO$F~U zqZyQCGMYhKCZieDWipx_%(dM`^Vu~Q*96y0T=lN$#MWKh$*yj=Cb&3U^{y1qmS#ptZDXw7V-pTc zU(|MEn3oKvOD%8Jl`hQIsq5n&fUnQ9J`O^Jo4c1x^G()xaAg#(t|{?B3+1|cb$dGQ z_#}^m4J+jaltcW(X~)d9mLQGHB=2?8wQ{y=$S<~rR%`~wAlm0*X9rLGAx@RZ)G0Gz z)uX(y1uZCu&7K5L;{uo91-7|I&>FmXWx?%U20@3GHMVwliNJZ?nmgY($&6`Zq-a;a zt{%Q|vU4OUg796WdDvxHK5_(kUUJ}&zVk!}4(YX0FlgF6q))um$|0SNf^8kr=N1RI zyW@v6VAy@*OC#1~9wz^@0|#yCqTtTAd(ig4uh^=2SdD^h9kicHgWKKlgBE6-Cc^;4 z=p~Om?9JHv@?NqVg`k(TLOVFfF{5-I9b68phbs#~1#Jr=kAzy9V1sVeD4mLe7^UG6 zv{*CkWYBiTS}>DD<_EczjfC82@^lY{M^wXSR z`6sm8){31W1XX=9Jl%F_Y)X^XbQHG_1M|;7Py%(NvH^1G~Aj!)ilYu@h^-HKwWCT zCm;+=e!HimVDjWGQH9Ajj~p?WC?Fb;KRW z!bS^A!ouW5`0S1Wm^=y%Kc}*&-_w0T(Qi>a8Mf<`=I83}gmF37-Mn!*pj|uRV2q$$0q>r5M?~*7 z+o$d~p-;7P)cVx-PZ71NM4E?np`L;2J0+r*F+0?LskHqx~3e2xiE_Td+5`*y#&#dT6k545GDQ_$!Ijaffx>Cx^un9P35C7_yYZ}!AA|#dbj}ae zbQem~PDIF0qV(Ii&;c=}dDCrO*-ou|`U*^Eohxw#Hh|HA6g&TlUzAV8k5k>dgUV0y zl}8J8u8-6+EjOYh7HjKVQ<0zpG+h(m9!lpcb%h37559D+exNPG;xNYHaVj2zw57Z9 z3olTg4YHl5J?rdw)~nw*obP$Eu*!21sK7l_Gb;(Nr=SRz^SbmbV`J{IQlzh|~*oJ*kV#>V+r z80U}fY|l8~h1k{DI3GphOlu*qj>02y->(YRs>uB=%!zpB5xVK9%!q{U2ceQ;u<00j zRp>@#5WC-nsEHH=?^o3nL~k;dBX62G7uTD`5?rT?)G$%Z#&wR^9ao6qKcXC@RVIeh z9tKD=F`V}BLYj%;YScfUULrvb=hTgCnhN62s&6ns{4u0SaK{_d{N7-q_y?*ez5%r} zQG5mxOccM7iQ-r!h?W^_J+W?aZk#HPC!mN|95>?e1={05wt9JQLKeI$q#-Yd` zFO~bGe3H*w!iznKaX^#Xj2H7@`iSAh@rM`AcH+f#3u1WTIu7Z@lpESdFDx)m#^}ZI zM=$z}Yad<=m>a{3j@T*2NL$CWK%iSgno(xL0bucSj$xbi2FW!S1zU5|1PAg#Pq zjMUvoNr!G*c&XT5+A~#LLAAb4mzU`yU8F;awwsk(ug2CXldudu9TmI;dB}CSY{{0Z ztChqhdNGMxFY8u09dZid%t+Fax67c(Twi{HQjw}BFDS1q`p{m4g-fh@lVg6FCsa6v3#T-g> zLZVZxd3S%;$#fbhC39R|V{E{V~+q%+A)ZRpX8Fqd(53F+V zYnFVDJuPq=s4W3LqEl;4gLmhaHjWb$OB;Dxym9$BW5t5OUkFldoJpSF&y;i6lrvx0 zU(>}l*(%RUHn`2@?z_f%*4YR+nbg^3f3+SCQO{;-wBWj@w&1#0u3edl7AbFCtOm54 zjGc4TZCj+q!(y7djxTU8comEM**feo$v7R7R)kn&Y(_Ib)9-xJu9PLAZd-!>Lf6TH z{fewitGr2YjNNULYc29d!bIiAKDL+7Y-E zobxozmT1x^xlZ!y?$^}UnbUT<-L(a?1lzr?;b@X;s8$EI8WgPZ7^7b|gX%ibQ!bMs-%l_3$Briva6LiKyI`^1N~`Oh*>>@yUVN&ZXm?g@&%u35Tp3C;=O`lgOYy@ z!af`mvPN0tYw|4eETcvKil?(hCrp~y@%}2GW_rO!sq(~)NL8?cw=KL(qo!2r>vZu^)9K0t6KLRd8Z~_yT7>Hg4>je>-U}k9g*=`Q z3M8lXAg5=6oc2)eFTvC9f#j60{7AX_Ixjsv3@R$I_zP@IV9I}i_8a2LzCmv3e4?_S zA{BzlQcF}aODUDk_TbAt(&%g&(OK47BD5Cy7cZIR7@4IKW1L-VZ z_I@}zJ7%~#6?+8G*{*#2??h;qg(0-;176b89HIRMoXbOKsng>@Y4N7*av!C=7?o%w zi0W*H(mscQrmZ--`%&67KK>UXwX6L|ExFevMrs!$6$z_=NzNC%`yTX{cS44)^7=*yzP-;55s%j8X5L2kT+F^{bmwUt&(A@ zZw0CJ$gncpw=Kx9h6#AwtPJ}b!rMZ~uoHmK|2s15fkJiWb)XFUw`+Z*wLLPdRcmUX zL>5IE_C+XC?UZ3(hSn4%8FmV)YNrf)N`X4Kfe;HR!`dJK#bnrK38&u!9}R6zhP`Wp zmy&wqS8lZ>pUJR|H!PgRm9edW8^WJ#o=O!I=Al5(x}yJQ?@QpLD6;=^l0b+Zj%ehNAVH#lMuM6U zSf|Mh^uR=ef(ArD0}&M!VTM}?Ori|!xU9$S&)s!(Z_gE7R}wtPB#?tM35r~+fXDVQ zpoj_yF3kV?s(NO6l1VZN0kZzd=acE~>guX`N4=VI6)d>?eAh0g2tw$yXpS-v)gKC3YJr zu~m5E@fK7uZ$aO3ef)tGoamNg?u1{jzaSp|g3>T~{*b}P2hW#IIJ#P9VK2186OT`$ zt?wHy^oZv>4vFp(R|ExJ>uF2ZE7eWfO`-Q|j;}2b#n)_04^wC|l||dZnWGKi+w>XR zm;H^~+e;Jmaw#*dRqp}(0Mb}e8SNV@UuKlyy6{_q65%d| z^10bp?t_g_CCQ1lb<^m-a}ql zD6Cp^r%%T;abOMba!B%MthO0Vt8JEG+ouS(1E5y9Z2~|gXNM{D0WYYin}G_p*MO?g zF6WGIBnU5Rmm2ZMZd;atODfu12Hq9C415g^8Ltdn4TCIb893;Ae;Meyt$7)EFTHP0 z1|~zrZ9)dVlJ1p(w10nN<39hQWNf8mw1d`KE54&i#&MZJNXAMS!@)|%-y`q&l8m=u z*lD05UX+XtB_m%W*u0N(T4{UB#%y@Vg47Qu88x!;;ILN6#s}a_)#``kq~0~7AHGTX zo0E-YFbtcJjaR@FQ;qP8`eAGJ!zW<^bYv;0|3wf|uoSjyuu|~X$a}t|pb10FMJd== z?D?gr`r(|U1e!2Ur1|nmY{r~Vm*4%NDggCKI$_;}5gseq{>TBn{XU!CzOV|DJqzy_ z3TQJo>#5rps#E9U;9Y#`JdI7Ai-SKVL-}K&a5M5LZ%&0YE5;qBfBffqzGO4!6jY13 zo&y+!`CQMfbf?bsEL7)uimA|d>E|u)%=shANz(H?b3Iukw={D-8yn2^T#11)&|D8@ z)-l&}_$It zsj7Lr(HtY%N5@i@;jZ3d!B%rr(O^LBIw~_Gd84^AHYJ=$<@`Wr2Z_a>yXg!gc6ysw z=&;1f4#Vn=m|qtQHd?|l@k8&#!R2{)DYB_#%{+Twlw~pxrvuPB;e63umT+O+={(yq z^NlpqEgCCRze?#{3Oqv7|<;~3B@yqlYE#&o-K z^Ua945i=^xeO18yCfvpF|7M(C_GXLoK&XSPKa|hr+rgWj`F3DLop68Eq?Mf;&37}~ zdaGrUNnVP!|A@AaLm}RIpsnW4YMJIGHn~bU6~9PHOQyQ{-!MEg_1l5tGi7}SnoYP+9-bv z8qC2%t}a@cNcvN`$*LZ9WL5X;ec^_qtw%&U* zlVv$#`2LK413|aKCx8y&DnM}*O3)w-fVjJxihD~mA_|<-aIB<&20P zqNhZejRZHqX>xu>f|vZftZg3&tT2+P zKOWqSX@sW7gA=_2j|bmgv;p|USO6O!BlUbq{=bq_RSmj@9n@wUzy|M{SD>DSD=`^`0}yzYC^VAj!Y-x{H#(^qE zPFb)&Qe|I=K!%wM9~BCohk{~T5;vkER_!p9RJVP#ou9I)?KjmP&t}e*Wf- zj95(33U45K-Zk478L_1=o^w^$5$_GJH=-Ze2ob}?gZNF360=Rpij6H=z~N6$DBZjs~XOHK)C5D+Vx4Q52zO{W6=75 z@ID4EgPBRg*E55j&aW2NlNX3i`ORaVo>EI!*&)6i%9dG>7ib&36F1OG0y-2}EG%VS zARa$)1&UiXaX1dmEr%NjN9U3o=nULI6X6E(51_cuAa6r}!i<0c6#BIL6R@VkFMtBa z;j%OD8=P{lxAj+@MRXjlFN8vLJ1B(WFD-;nz}urd4`%Slc;F;QU09KAkT;=)#s(o2 ztZkYQie4;)f}i#Q-$XP}kWO9-v_=i002~xVQOrF&+kiRl;VHwNBtHlb&qK_^vrSnD zA*hw^4@$D3DG$#Qh%za+y0GN&#R&1hPR9DA6mOu1ptdr~)rX=fE^|luH850dpeg(i zd^^mm^SsD8h(arta+eNp@hHc^1KP-n;rg@(63l}TS#cGWUC~se#xHt-v)|&u7rj{U zh2$Qs244V4{XIzH;TI~Beoad$RL9Iw*x45yGtCOwW?r@+f4}-`lk%5>(*nxi8ZfNC z4EBYmea@J9i?Xgigy|MMkPP;VPUA9|#4?w`FF}>@MrP=`;X#c~Tc}2-t)0A*|I-_xoq_Z!;O)Gf(Lfjyom%{)4cTh^7z7+oV7jeg>^JA)X-UIc52ftP6 z)5l9f0r|JR5*j7LxehNpIpdiRemA^52ovN&+Sph~$LZ6Iz@$F(I#*wkqzSn5YpF&| zd!|3vFrPdavgru9@}9sLiSg+k&-^CyM2@X2k*!wLO7m{|v?YWwZ=4(#)xJ16z(vy< zY&`Relq+VDa;mHrlP=2YW`uE&uUe4V*T3AP%nm58gVC8w`$6yqr8D>KjGP{wx&B%_ zkkcd>op}L-yH;m@p5$@UI`cD7e4Evocak?gpw4_8cHBjs*&B3x?sVpR;(TKH!s^VK zR|T&#kAdH)L+i|41aS7*=*-1eT$IB>3flnL)V;=su>I3-g?_5twptFgg%y@8?u;`Y zlOs;ne`9_n%O_#uT=i#x-s5OH#kZTyg?cT(TF z)vt}e8qn%C`hEXNpH_e0B#fmofYF-J?l5kLsA(k~Jo}e(LT-+1Z22z2ohLDPwGL4K@5@@v3{As%(n2O;4Gp|zY&Jfy{MzYC41m2)>SR^hek}|d}ds&eR7y+R9dneTS zHT;iTaUB5(L)TXa@oQh`b@Y4-v^Ki#R^Pt{uM9nBLSd)tDmDL1_#x@}CB#I~^%V@O zTP1k{+)r3hV-piha+fRsa7&gvAv&wD)@+a`4A)~5e2R?gPrJ(`SWk5}_rU&{vF2`K zzLG1RDEU@+zQolDTeE}>D>2z7=n6_;pmvi>%?WfuNR5JxKkV@_z`DA7$OIkIvHQH_ zJq1JqY=c|QyL3=gT8Lzyn3RT9%F6wKwxC2P$Ol>*iP<@lOxe)(@g{j3fT%K$md68# z%yjbc_U9C+Cm@zK3B-6rDRx1pNGQ()1Wtk=(m112NHO34BvXg<5Zib_(CkUe4S>Pp zdBOEd;Mg|c`nx?)EhHR|1+@m~zp%I<-o<=euOOlt7OmLfr zc$z%`lL%<`?Pzw4@{xN#Yc?9)pwmyB8j#qYM(cuVv?>P3?r$Sr`>G8Lgx9z4@>2OM z@Y?patvJJx7pQIV?b5d9Xr7Icu1z%Ge7Y%`&zRC7XnwWYz(9EYaB@4*9P5_6G5fT& z9c^xet|W^oFoG_{z&}Jx`uxQ1-X+!p_12PDo0#J2Wl4Z_ai6&pe#ct6VhNN4HjWy1!@Xb<<(^#XJ z&P+&j33}l@xOjgRheE~tk#VyqhB;Ki#3j;4pNP;!SdNRrdnI_a$Pxiv zE6gabsG|nhCxl6Yp$4;!t3y|XN$%3sVdCmaJ-gMfE-9$8d;_Is$XG0UzuMCrOF#dH z#HbCC>~|(8v7x+Gt3yW)wZy^>)u9=ZZM<%E=n&(`feRC)_5D#X{j-C3qOG~fC(AR_ z=Sx^ej{5UQb_=nbl;k-{b4hTUlNQ--mq>umh8WClQFb@hhR#n)Lw~D=&y|0La}{DF z_{1}8#PN_^Orx(2bq=Jto=n~wfNcNXkjZ<)Qq~)mvfhxX?G3bceyLw?n2brRkJQeP z=Fov3duLErkhf@h1N8*uBTQC6J`_9#<^o?+cc2vjCb@@RzAJ^g zgH%}M?Ff>*%i9qoxgIMnSm%@fNf&ekQ+SnBb6BeR#)QHp#_OKmfB=3IIzt*wRi*Im zfTa}Z8cHGj9Ukrr+!>zi-a$IU8F;9vSF+9!LcT{C^79mjxNOjiBO#(<|GOPgo=HSqFwh%q2aZ3tug&Of!8?SH0Y zKs)mJQV5uz8K3_RVzPNYf2C^&;q!iKLl~d;ue-?SScj|Cb=D=GUtQ-Rc$eEz*I5kT z<^|SuUV!jyzBBv|uE`D|^t-DKVV$Apk8SP@7j>Oh+Pe!eLH08n1O5bA+C1C;1)kUr z!S=n?hA_78d%VqT|MSpw?!Z0_nh^k+j`#sZe#5uZho7jWh^iJUo3Yy=czy zK64aZg7EQJquZJ1=Qiu(8Nqx!bI+lVXRh)Oh|K1Bel1)F=Y!`dC={o%jYSmx#-<%T zSE{XHjGy#v^NioOfukpu96d$z;rGe2WsdOk_OQ@wxOuSCeezoPu^vS5;}_WHep<&} zFYmKy8}Pq!;;a2kg_zisw`Uah_Go(vLw=)P0?!ZYB};iPS;~4z3%;Mb5uwl)eQ0hV z-_KlSA?8|0A9}JW-w)<#&c^pMw`Jdt4Fb0LP9oEU(0Oo#2G>bW(=>|50pxa_T_*>#eOded3k+dUw(erDswFTQT6OXz;+ zNL}Kc?=@ZG-OtaiOZ;!^O{ulcq+|QtTXEe3*+AEwU{JdLxQAc6U>1pn5>=U_+WvqV}ngAiQpY7AlBFp99JNPCL17it(C z$Lm&^DLi$4^eTPQ^=V_&4TKYzUz7F>CYj5|A(Hwj7>Z2tcG|OmMkFN>lX{p3>dgdn zyf!l*vhr-#`$jQ{S{=Ukh-A%(7F^hVLs83~c`QGA*lfi0&SkL*iK#~!`1b7RJlkx9 z((X}Sg+w4X_ggf)y+0SDYA9k?*}16L6pGH((nj+Cu!ErnfX|O!jlFV!nH1fsIZ4;+ zyc;an!T92PDmROt5LjTqPa?xlFTU}P2BRJ%fmELH$%h>lvCM}lELfUDgRL0>mBB1< z2#6_PqQ4Fh1h0I-`+O6;!X17s^2!gG472U9!C z(OH?mP@n4|@3hYn;L$#B-RS@9MBmW9uO=Ie{?zhxn7`0I{|*vH`@CVF|MM>!ykCHx zsm=e8r#zpX*Lca9@&Q;JM|EOM%8bT#J2(q2wKlb?T$d7Bp&N23vsMsokGS<@S}d9v zqWl^3fMIb9)_&5$+(h$DSP43w45Ul&W9f$(!^AvWlxxuH%*0huu0&d%+ml`kWL$Qk zI~=zdYI$19#o>RpC>jU2NLP(Goa2Yj6$VPsKWrUi3N=x}0*{Fp6fnfC`h@Xc)UXog z>j6i(XOXI`uVfgwE@%w=@w@$Q*Xt_$*O*1XKZ(GirNq@f zTovsa*c2w7V40-c@jyqkiVm2wca^bp9Mz42T8R!nyfsh%iq_H}E{2Xr|7Ky_UEWF< zH(;`{H)Jh)z@SC3zkMD*gZk3GNaI_=RzgZstp{$iK?t{(zKf>dE zxIe1}Iexsfl{~%&2Hnp_j{o3jE&UI7MEW<&<8iHp@g!8V{}CQfXD(w)3p{>FNh^8$ zM?{|dYM}K)jvRuj+IY$ZW4@cQ1;A|Ub7MxF9Z43NfzrOkRYxXw( zet^f^*c!O}gDrfY{O{(=U$DFR_jVW>&B1r4$DC@Seb;{0{P$BK&zdWL2~B~qzjs2h zwmuH3e}%|SQgd=du`tIRo>Ko!EVdJ*E z?XeEGHhy==i@L_|Uh`Ou0luq&i?FG7mV4P@tGb5_?RMnb&ZG!Og)NulE^s2I(6O8H z?bs@4e7auHm(Zjg?Rzwe_C4xF`yR!!ErW)N`A+P6vca}qAWyMm3R_KrD;*kb`MMYxDRRYW+l$vyf@ zjp68>LtBci6c~VH1fFu!9!P?|I@oQHB$;+Y=}Q1~0eI<`5qN@>Tg#x!$Ap9HGSAB) z-j~V<2mlTo+a;xKPS0~qt2vkY(~9N;e6*V8d#gNH>;b1Wv^v-Ae)RDw)OPmwVni>m)A*Sa0 zk8&xuOBn$=qm7F^6F^=GHxmm|7=$zlWIgRxcXSf;iX{I+`TAe%vqS<7B5c%x?u6@K zNV%VQAX|^&0h?^|_mO$*eJ21WBgYnHqCb0KCI{0wG!@n+p>~#Zx|{>!rPHh32pB&) z9YHvahfcr6>qc}6scs)SHL*8Xi@Y}JU4LHtDy|U>$r>1T;dLVzUh{U6bHi(2ve|%E z^V*Vs`tw>B2AY=FZh`9KSFWkJs{{hkJPKTD)#V zr_7!H0JUBw$VLdETBq}EuHIocQTDv2!E;rE=i&y>uQqso!ShUUWm>s8Ia)rBeR1-a z@@<^9DBHja*uqI?NUg;w1lNiA=^^H;u~}0$_~4;LQZ!k_1f$&;Dhlfl2u2~ZN_3Z+ z@T||+wXBA1Z70g5Br<{#hmGVzqxOvIVC{KxbH~C@-wxIuvL!nb|D47Y()nu-oCPDu zO2pMd)*G%{(Ez&Uyuz=KfuZSn4rDrAzl5Sk*Rha4be#`R3SGym&m*Yo;yE4aI$gJ8 z#)Pg{g79?x6~;HZMymDPsD4+XzJCVZXL>(aZO>daze%m<$zA;Y8ibK-MZ{^cL|e60 zO198~T652|ICGp51>3D6gk~I-S#MyL+`2JYW59X7v6h^{M|s$VHa;(%KC6aRq<(g7 zm7vPU4a zv}alR2ungm7zNnsSB;CXjf>N*3)QWzaIQuQZOrk|W z8>%(5e6_YUv|NhZ|3kD)YhAyzVX~<)EyH-f+>LI-`{f^SmuIDp$xi2@jwvI_+c6O* zFruZNc{%TyI7z7at~m>`zcu9C3mF}J*L(xHFFZN0| zNxObXa-}36Gs*dD&~r_;Fx=58*CyN8M3X!=S}6kS&<*k?O7eE)`n6bb^~5VU>+Y2> zMATM>+1Nw**yJ!~xddyr1k39wt<@>Mg_72o*Dst-5&vrI7`;E@EQ4qC@1Y7e!RRSG z?yLjp6s@M^0N|oS(Gp(q)(EXhFd%}b@h3dN$B0Am*FYDca-RYB8dW z{v~UA2v*6mx|qKL&z7FbwXbmlv4*gGQ+ICInsg0cecqmBH8Dul05J0NmV!YykMR zzinmZe}Y}oEZ~jcZnExSZ0fBQfM3;8-K57SV3GO}G7<9^CowtK@tXm0Bwn&An_CAhu@P=jcb`R$a8gfne|kd= z9DrF^o|jcewK1>X+o2xEpWztlPEf|8ZtwV!l>pbD?b$EMd8ax6Eq^PlUDOwDKMM{I zoB3D|?o}XnLXGWN^76R~gXZRKFk-Mw;&w#sc=@-zZrYnB*Re3rU}#c`5x9M6@=xID ze9L70^r_KWl3>cHc5PrfWpg@LuLwC?=>0gMANqW|3KC}LFnUx868`{;ZB?u|WCXP1D+%8SMCq zFmz!58En@WK7CCuX!`oKXPB{bD2O4R)%YF;Ki4|0z^luXTj;#aygsM6>57(~9d4%l zsdc#dEn*JOF>XH8^3B>d^UX1Y5CS)558u$NtA=qd<&5J$!P<~>qU6?LXBp~jH|%Kl z(9-s+cEV3JqIu31KllB$b@-WzI@=LHjpPtwjAXIr8i&&L6^zj*&*UAacf=Zg5E~iVU%km$Ei-%12-c8rNk&l>_mJ_r7PSh*XA#Q zdu)&=^JPZ4L~_)15|I_z%ElwR30cJxqeq3Bdn#$ahT6=-nST8wLvH}DUo*l2uL!2~ zDQJ0K#%5vV({Lr^S?fp4?`T;=R%+gSgX2wk-SZyyv}Z3%8v}UeP4T3aBW=A7 z%f2X;Ts^>$uyQS>9=MFBUh7HyE&Ki|AUbbwDYJTeIG;dTQ7?vbe76Ws)=G8qxOpks+Tk817@YVJSL+*fJtKh)g6t-1fJ=KclEz1?%qe0-Sh z#>o}C^}BEW6Q!YMc+%kHUKAZ-?jgzDMY$3kP1$LM{qABnqmUzrDz=*BD*ftO@}kr6y6Iw^ z<du~h6AKzDQ@O&rwiS#) zh?Q&&4Qt?8=M}&sS zl>n->@sytCs^w98n=I@y6bl4zR>EHJA-L%x`FtA1f5X3t7(nq3RDzAeBG>lp5+bGI zoN=54oWIxvKjvbI)Wd@3(VeX~hX_wUg&ULns4n#cDQFZTIou$uyM#_mO@Y@vB_zwf zAWSTRP-EediAv_PY(?+{J$(Bq2JF)}R+4XzHrbz@0gcZnhnei-6M>^Oz|aW?wxB^0 zV@gY;AvDz0on}rFjq+wzlalf0{cd-8#!Z%$u5s4!iEfu35hy6^S5%luo~%OzI&z2U z<*261geRGoX_R*=PN-C*Jkk!HsausP7!xQ2WHyC>%%!u_7lACkf3Q_@XUo$J?aiWHMBS5yd<^%RvHlWLDNsIFAN+>;^)GTn z=TPUJgLCCE#Lvd)o+3^cr?vlr1+@>inFixA6t;#2<1mu8l?Eg%&kGH1{QdtF4Jshp zTSJ3#jHYd+!B`07^Fo7nV1$uC?g0IOn-^Rjy~gCx&BD`vWU}T_h@;2VeVug}LPYsn zlRO{d=w_kdC6EVTl7DI*EJBQt-$LV#1LLcyjm8X7re@${w|_RJpLz31Wf%h=QP+J9;XMcc-wsb z!%$K*`Qcj-3SMB60S=5DtmvGL;eRePpheul0d3(sV{RS1Nk-a0NOdT6Qyog7=`Mq4 z?d*2lEDa_>0OhB%lu;oGqp`50Tp9nwe)yU?Nuf9d7Qb`hW$Ki_2(GAz&&fCuD~eaL7aK`3|v&16VecZo)e_JMOd z2SHk=FL)IS#p0cH>) zIVuFR77KeyP}y@G7<5NtQweckNPb92St<|GRxxNFt>%rvx?{>D4k*!Pv5On5b(b%Q zv5PO!H5^|Tp=j=mXLV7!T|BTLOm?VVTl<8UtfweV7|W7$lWxCLvd>9!NGp!8iA?LP z4I$-*9r*tb{=dcl$&f7UB;83A;zC_<)=`#0SOsp06XGKCL%UG6(C>xihEEYyw;a)- z3r#k|Ba&^>bVTFbN2dr~izwC&C*2hzI3?J{M- zSGoq-AfX^B?;*#4N~nyO4Qb7k_txS=)~I{$_d*_a7ez_*1Zb|ico5PJjDfi@YZfJ#Y%>xkF>`>eq?rq?Lo%d(X|l~K z$&$a*ubNeDl#k(}Nb+7>=(bLRN)aivR}G+iQ>emn!!fUZg_Ut8+svdyQm>9&iE^P{ zJqa(HD@CqzLCtO^x2lXyMs9*B|1pK>Plgif%S?Y_t%3e@1gcVr(q%E@2PD>!QuPB% z{1M&?TTT+420vG>Fv@pfVtRhEQC^yoCFiCYf~iOUM!p_?FhNw4zKIL=Fa62p%>oU}8r(g*qA&6_#@Oao?G z)R39(12d%}Yw+BZj)}40xhV#@gW#qQ76jm?zq7=S$xU0gLYKeePH`d=NA@?8j{Ssq z`xQsxB8ifbcOCD{gGvfRXxddSq_BP_s%9o-Q*hF%nKT)5oUV&t14B~fIpq{T!TBdg9r!en^zU&+Y%MdJQjs&}z zH)hEv!5m3OVv(dQYQwEGXO==Hdm4!kooM|!%+iJ4Nch4MiQ1)5R;AuHYb}J<|DnIH zp@bAP`(4Racnl_%aAyfXT|^Mu46i^e7a?~EYME7ue*isef1a?s@Bp%!Y>%xm*|J{N z+x}XIN99piUJ@Kt)Ef%G!s3aFQ1f*phvOl@u>+%Bp==B8+V6G_hJj9p5b30hGRqx> z?nQS<89yzU;M$A+X2!m?`^@kqEsoT$y2>@uo9|ixlj?R2rq^$KQ?ZQ-E111h5>WaE zgwVM$Sgaz47OylE$@z$i3A1#i53_ypFyGt_o}y*UC$H4a_wev4bDVs40Z%=|QfY{k z?Ti-?aih!wuq!qauaH0#r%s>N&W2{tQnBTXsvl=rQk=Sgb*^NcRRW$iq?8+~X%xl( zG5pto!#rcHb(HBckK%LZcN+PK&(i!yO66IYk2KiGbwBlfwa*f7sZUD7X75cFlUfUWoHR#~d?ui*a}{(Xvt zkbc9AOVzR9!DAX&$#IfK{FX|7jcWsdp2IXRFl)GORVs<<;p(XEioy-`;Q%8xo8G45 z(3F3`2^MIi)}>jF(V)yxH{(%;IwWdF>hUbmA9eGAx}_MgTaCUZnW$MAdDGE$kda>_ zdXLG-@4jiPjGPT;AjwF>1(cBxjg=%PH@74wKZiK+$VuAosR=oG%N>xDgS2vTGUVhG zl9Q9ToW#b``^-kLUMJLh6=ncD0yTw3g=uG8Ln*^s-eiQdGHJ-)Dn}=IL}fRmB#rUN z%1@9Ugsj{OM>M)K)EKR-e2=C2%gPTP`uWSs#O@whIrxZ1egqI0e}^lgMOpa>P}WFR zPGO1u9sYvI%HfDNWDew;T^d+hmX%Ttc?C#T=GodHD_6qR*s`n~J|}>z?8g%QQP=*m z(kO@Mh4-q|DFI{NfKu*y#!Layy;B8w)&mhR$ z-eB5pqR4G^>yZ?be5EKW2H`zS_Utvu&aA>OE!~yZbG?gEIzw!@h7}$)j}h%U7%f*W z7*#H&gkr*=LS$RUFuQh6QnF_T0b9tdeH@a3!m`M8f0u-}94^^Hov-2+yLJyxGD1B? z5g5S3^l6VKTY4xiOq^lnQVtj1OOf2L)WfsvhJ^LeKn=FYOT&s7gufjS?A*~=Cwx?HEva^0VIT9- z$jd#?uevU=kJ*6d9R9uv)nrL>%<66?ObMB6;r7w5yz;sE>cXRvEvAT?BN#Tx3U(n* zP3va9PFZoU7gL|#4iNf^t5b}29d!TjqB!JsMY7F#3y-qTQfsjW z)po0++BLw}Dm=gH>cLw@t;TZ|<^-$Y%LvcdHvf9mAj;*!Tbt}Xu_zo&@{A+3#E|iw zUOoP01o zizh#$W>K4X-e`bM^Pn?mR#c6PSA*unyP>W(>?{5~r(-{nu8RNxQ&RLKX20@Iy5h*o zz#sZ)>QVHa?+kLC$@Z6|HAs`>Q@p$Wce4D z=JFGjQ1}WZ`BvUt@5W*Y2@~7suD9V9>p1$b?uwlju#n+LUE2N0*rRGB1g{Gblu^RE z1T3w^%P7`YX<5x3(EZVi4q({szryvy%!;j&CtzE-IT3!rsB&}V;)5y7a(%Ws(qDhWzGn z{JMzNgW-AEVY(J1<)h_s3G9{(W?BP=RMH7A$G>>8g3G4SkYafmdxVt^bQz#%#QZM8 zy0XCz=Nt5#u~)D@M>k@|Zeisga98{QfWrs#V~|Z8T;eR?uTjEsdVR|8wZl1!zuqgX zoI$VWvPFEJuS=a{`0IVbN|9c}Jkk_i<{U(?spH=o)vQ&{;XPn%6?(l#dz!bKYPFTh@2Eb28HNGJc;#l;s2~rD%_<nOfL+9K*|i7^D*Ou)ajKVC{5dcutfR3e%w&tgSd%9fI?VT@ z|Kfx%(LOp_6bu!5xsEolPsmH}X6~T~Q@x%2p{)IGl*mRE@#IPI{d-XEhtxYT!iXQz zf=`1zcL!K#zp!!>(UG|9dbCj-yw&*@641S|;k=IeFB`5vl}m9`#F=q7pqzlF-TQtXu!41@ zNE_%&Lo^0Y>xMK!Hc5zi@6nnqmh}`KiA=-i{RwGcHGKZHnl^IY(_}BPv|2R{Y_@>d z45EOguUFH-X47~&*bHU-Nlgcvjp6BFGo-Ip)4^uf^7I)Y_@yeEtCc}J5DSGXCbAHpfs@AXO#9_Qa);6Y{plQ_93KhcEx!a4P72I+h(nI zTZZG-S})FvwAN2q5F=)6nb!|wU9#|U`d%DdmY2b04P!Z<>JTMn?3kZM^u`D(3U5_F zdl2Q#8Pzx#1sa6E{t)KTAEIKubAEW*4b|g~qyuOpc;$>q=EKj2q=kWT@?eePaD@cu z74s*1d9!95=@sQnuNVuxVvt6!phE|=dPTWcuh>p{MR}-svaaAqu2)RtdPO$ZE6N9a z)1+E)XEd}_k6Ix#P%HQ|)Cww?s}*-*z+);1e+RYV_esYHq!k-qrUsJ#k5q~aH7(My zm6e}i>r`K(FTAm#opcO#l9Sm<^<43?!kMEk+CMm!6fd~Bo3)dc`PoUU;Og_*NgqPi zsdmykxP`7alG{nCFg?PU-ql0d2y;Umb5PqlGmDI?{{Cc%bv>J1Dg*HSD*5@E0Qxtlh(Fi#N6$C3#&mYG2K zDAdwPvTk#`M4~#L!_0J;BAGU1AN!mEu3>)37)$7HxvMw(CR{rC?*>+pByak8T173` zM24n~qW|3HC7D4_eKT02$i$4IBjnxm7)8^dQmIDK?YQ+bij4A6JvWL5!3=B4C=zE~ zG>U>Titf8;6#aaRqALR!MG-KD7WfPz3|H{tG-(M9=avw2ylG4!sGHp&l_PHTcJX_4 zkjl(4;2NYcYIu@%knveKS-Cs-IK%BGj5cH}i64>KgmH&kO@AZ{gsdj6fp2xnlptn& zCRiWkcd!qZ;m&Ii@r;!hEh5B2oO6q4``KDVB4ZYhiXh6{xQ-yoo1iB6D+y#2aeiX1 zRWglsGt=nZMy8R!Rdlz>%ck#-QmrB=4-Kp$*AgfX&>apy)!@3r7}6caFx`QSBA@PX zYc!sHx&t}u0_YArnX3+@JFsuK?%-$oFx}yz>GLx*Xo3VuwR;-Iku;1Up@~56YLloR z;V)#9h23{(CJV8;1TjdHipa8tO526DMYm5{D^XlxS14pH&X8th2bdvEV~PILd~KQ` zRrkfCP!j)`nPy?_jUX=$>s8x>gtZnLXN$1jgW;>uY_N$XUNBg%``!cVh;2c_Is-;9 z!74QyCS<-P0I<_pA_rDtVX1A66Cze`3m@N%a6nGmaa)6gH%tr$-U9e$8xi*rme_9a zVs9@Kym#+avAGwe`vYWSG~Q^7_Uz(0-p>h?!#Cxu&TD%orPXH~irNHjt)tG+#6iRE z!vsV9W-UUkvx*Qh1yKMA!K6Y~2|vC-NyLEHGXD(6Ale9@{a9jq;Ij$%8UjXg4KeFs zwBRm+AZL&YK|*>X=2}~Zblms=klw%&+XK>|`-v9Tgl|2t4yX!_s#kzCElR-Ya1u8n z>Nu9jK|L#(&<2{OAXbgjG@~*&IBx`DT7+|f$kkna>WWAn zMDZYP@c?+xuqa+GBexl163mEM#^#dE#t*3c6rk?o_D5LVmnm;uhq_O*y0PzSpG5;c zlgnI#P_LSZWv`g%iC8qC+|>p;4QhJKvyRF`3|C;e ze9xxfD1OPvAUOL)G`&#|Ud0m6nzNhezt&N!4>tu{;l|)#`$c*%+*|@zZzJGdXNm2> z%}v19+?cb*>FKw>D+>0TQ&R)&B7p0bqNIC7wIjo<7tRY_<=AgKaGa@Rl{%jqubq;>@>L zVta6=^9gvvpudsEnt%;r=ma$cx%SA*2(w%wSsmDRx-`saRYEOa;gzti%V5t=G34n` z`5HS%$I(ujiE_PlN8$-bf}pRLcQ~Ap)`OvPjdgPvVszsKeT}@?S`|S-zJh);rNez( z5uv8X3G4q8B4ln>?i{q=-5JqTv^XwpeLqA6D1)E?(ChiJ$_qD;54%57UET0?A9IZI z1WURSNnCFYLR;l+r{5xX6wR_YgmuPF*bi?n{;Tq^F?mFuegM|nWK>#`PdEfi-_+VX zF+DrN(vvPY9vyq{;4V%ms7Ad-6oFKhT6@yrUha1DJQ0>yp0yL@GxrqNr$%7L#xS@B z|2y*xg|*8ggmtB5MK|DEOyraf6f!H7Q3IG{ zNTDiHxMYaM_@GLL<<~co40BkLM>4c*SO-9&^A%`wNOwL58HDR`p_?9i&smR1!qv;L zv{|@XpOmNBS%NBSTyp^7O*BB}@8RdKW{2gea~N{Njt_{u$1~u)DJhQUx}7;hh)~KDWP6_^WL`#@`9{tkV~|FVg8(Ji1iuu*EnMeV z5NXeJySf(vuKX1Jt$wwb6uHzFnFM5MgrSa(>tdKc7Q+2wo(4 zxAlvgmBsLW!TX{uo$)l^BAP)V@0H|wWdwb447{8sZ#h}BqH1}*+dZIiz)vwdu&f~^ zf7GUTpb(e`o^a^QiOS1x{kZyxstWsIRpiINr;9gD^F4uoCu_$5%#zs(qscCe1U+x2e(hL znDO-`5SlirQbN4>8sHx|)g8c(q~IrKx5=ifR&Ir9OC(HG9=n!B5=G&(j*ak?q7;NX zqpIv?sN~gyv5s058rb5%`b9sv{)8ji+!ITK77M%!lwL#NopjyFm|j;lw#-Iym-#|5Es9cP_U?=;5%0pxz35%c{2q9SGj}P*GKmo7ewO1j zOX^AQyUvd-PNX-tvNzunHPTW`3imN}LU@j`Udxp6qMqFV&usUHJ0$z;D(w1j02K&V z&joHH?^&y^YBqdJyBmJT&|aM14`V;}e3W-9E)t$u(`gaBM7*d|aVt+uk{F-slz$;y z8>yCsP}_9Y$Cig#y2*wO)&pPQz2z-yWw_0-K`&#MJS=e2sjKPnHP(thqL;T50khdA zG|KJ?``yYR_{cHUKOC!d;DSW0S#mkAQ-;8ZyZaG&(tVUYh1H&nUu>VQyp5m(S0A_y zH^Hw;XN5=%5@iUQ?`d(?w{(6;FA|N(?_k`}yV9}ioTTPh{S3S@z0^Or{UBEYPfae_y{T_4+ zQ%Zy>+d0yODf@6k9WVXAMEfZv4EIKa`)Y8%7P_#f`5gCufK)igxF?49#C=4ENHLXc z?HFT$Xph7e);lky6=ke(-c;<7LeeM>Yd2G?^tQ-TwVkn2L<$w5kpIaRkyI2C7m`4q z4X6ZRB4B59g+@LkwMq!BmK=u?rI>1VYz<)zn@&fr$M;E{Ms_klc|dWm;}MrvaA5;T zT(hESs~q__a+cw`09Wg%2l0z#mJVBF9!qC%T8|`{?6H<*7_p7Q<7Gy9i_zg4Zd~DV zhhsY*d8g5FINZ46@Dt#1R%V>^}k{fsATjVEi2 zC#xk|O+tV9dH56h6|e`%S{));4uO(p zNW*D#RK-Cx51MI;sW$FZkaLZ3MHwN=D6Bs|9PKg1)B-)jO))jV=EJ3V!XuSHK}~P` ze21S$s-dsc2$z-!m)77Z_Or!6yYNWgulaT0H@HfvRcJA`4OJU-&`7wpI)Q zK-rtKVzyB6&OBkV1OIg0i~mDH_bo#Ak5L6wqa57s#$_}9|BZiWdO2Ho3vwLDf|lfL zmgI;e3~>o%UU+HMaYpPdOCm!S#^GiZZbU?Li|!H^4$_S^(2HKU8SZ&uEeVIJ_i*+1 z!qLiu9Z`#XpJm0fcbr0++1 z-+}Bod0U<^6^))4Yhlkn0owW1!=Xn-K8J(_4x^M;J{J;Ld`*rdryaS?=sdUP>g&4isBM{gq`SbgMG)seg zh~FI}6gzu+r-cJA9E!}vi=Ec}w-~~zZj@yaEqV5<%BzyeQ#E1|l4OhI6d(&M&sq?TV z{R*D{R?3ex4QhV$qa3FA%rKGprN=^hb$mOvT#_pdINE%`X2>5YW3%M}2`7ZmpMd?P z92TQT7pZfL%$CqYgV15;F;-q023@8|Ve^7oES63tUm_SEw~1syke)k3xe3-jj@hHF z9Pvj=jf1^lO3e&VKc^KWAXsQu>qW54E1@x(XhXNXP?#41r2OTw1JDd8%_y}@gagsN zJj9~s?M9Opg@lw~(Ialqeg+3x&6HBCC)&cwO7Q^Ufk5fg3yqIfHLgWW-`$(vBiU(BMeC8-Fntsu`8y$bw`f(u z%!5U1U8v<@y-l|p>Ry;|XDvvQjUl$1uChW`LLQq6T~Rk&Ttfkt4sq?YbsQ(4$SgwK zBVdAHXSqQ=VmzdpaX6tpwz6*o6e!?reNQAS_rZ%JB$o@xeAD{bK~t|``>QqWf6UkZ zDv(0LnBFbBx%P9y@%H0>V&nEp*1s@Q9GH%cg^r0_?{eFmz%a>tNv$#>p^e~d1u+&e zXP-!>E8ATpN&MB67}%TN z`RMQ$w1ubr)_X@j8HW2j_Io`j5GE9M!Pk0tZNy^e)xG1bnZpwkNifUg*jw<*9iMEA34wp+Qg?jbs+bVDQkj?tN5gLA6Ub*9wkrwb(DeHE zU~wH-I1)v(*%3+5?{>v2D^LJt=LSk}y4}M3Z)WVe7W+A3aBzM}YOOo|sV8IDCW{}t zVwHzbPen*qV7Ep0=~lo~^&rkHc(9MH4 zBZJZJKne+m)Y`C16#1+Y$-M{1<{o$aVgN76@7LiwI#?3@bqA~_cl`a74rqqa*qDZQ zrlcGRP8Xb{$2y976ilf75ts8aCy5%@7^B2dV`aPE3?)cB2 zK#kViXwafOGcME}KMiH2mbfA$I`<|ZJ!n%asyLdtD^uYUtWTR9XGw6!KZC-kq0^(w z$5L6{Q5KanIa=~W^P$8*4W#no$iK`dP9*tyb^sx5qnZKuP%h+GiY{$woTZCoTN+Jm zrIMGTXI&=s&`{~kvqN@tGdh;P6rpUCNu%IxBoDF68zi;Oh`Q?$={_- zVR#*ZHfZs>9{8XpOu@Oz5!i)E4U4nAWLK_40=ZV_l2Qn- zYE~RPtEdiA$Q^G304Dig(GZ%%?>eKro$>o(q!Yj2*nr=49)5=x(8uqrP$;g6sa5Xy zG4!ci7)@=r74nk#leHuoh(tRIU!nfx$z#aJ(h{>f-hdBNtK>R&d=DxDFiGzC5Zpp8 z#TB|OU9CT1-z-Rz)kDaSXeVTl$98rf9NA~bVl32%O}eo`_xu#voO{~z)^42YrFzRZ zk}Wn8Q9WFy%JJzhkUWY!jxZPm4nQEKmilB8q)W206s;tTMoDsh5k^0-M6xQg7?1gF zM{6Cm55ZA^!=`qD8@!vngOnvi%4FKym2MK1``|>SPz~CC*1Owz{$twhXZxTnjp8(- zSYi_G=#fw4v2L8(3jC@4L>uRe4(}A{oGw$+Y@=L<$rB|G@e+gtoFLATfcp&N`nlKK zIb7=Z!7j==Ly~uq5KSbBDsR)vTio&Azsx0ujvwm;nSp)kH>OO-^yEayR(tFcgy<-- zmw*ps?13El`fo7Cr0&Ly?7^FjJGW$EvlYQtixHD_&oeU(g;OnrHmX(LrkuW7GcVOL z7x;33#^~iUlM+bz5;oD47g^ez}ZSo%FB-A{xpQW>8kKFluXA;%ck|cSH zEkT)e8CQ2GhduTkyd*x2knB>T?Q$T`zxBLu56pYZN2i6_#tl~zQHU*bNO@*TXv0sK z3|OeC|8{TvL>ezXS-x8}`38CNCHm#_)V&8!D}@$4Xq?}vK7 z_v%*I&j!jBL%k$#R;K)SpWD?BI}BT*ls}!ueK*Pa(}4v;mERzm#;esbZ2+7!y-b+} z?H}y*IqAm35GjKDozRWTil`ToOd|Ez&Kqj3acxuy)x@RfjnA-OTIE8cSzna8k=2wB8~=;umneYmUl3g-=!9KXVu3oF)~xx(2U{v@0jh&YgR=*cUb zZ=y)^kMzYc`f<_E*YtCce)iMPrziyz!R8(GRk-y~w5;y&+C($G$)5J!>T7R5bGq!X zD%Y5Y4P^};j3_?yRrJ%}S{Lr>B|C<)7WWv+8Y~S}+Y8T381x_az}-usi8+R{W`9H9 zIqBz1`uUuG_R`NM^iw^QwYrMDI^}4!%i(QUGdCc!v*M?H%#*~%IungiOew`#lo;OR zE=r$>{q8li<%tXpbj2#L{V{il9HX3}F6pCwqgt9OZ)-R!4{={O{!#e{b`V^H($+Rx zT2p1^^RmXGWpUU$LXx{vnN!pGdS@eiTfauZ4zcOr39MC@!H zYa)LpT!F30pWDj(%NysH!?4c)bbO9Oocw@WZCX?J*q4~)^}o^<#(bz~>bs`WJ>~dh zJ;;BeZXfV5fOI|W_$FD?NiMRArl^IQ7ATOEwYRKFTWR{=dWR6sR&q~&e zYaV){ydOhQ9ECy0F29i!J^Y z>Gg&<+ZsAFh`qM0A}+U&8%Qa6N#0b*wcuL$%HDF(_<&7x(}Gz!$KSF#&jzsXW4! zeGS9aZZEEouE7;*o|Npv*KXXZ_=3ugGE{sie>jD$6YW{mKm{5x3AJV=C<6&!h}UWp z{LIFNRO-b8{h*wTBSK;9{qaZY09xkPvPTLrr9FO9HlWNXHFt$Bt(4IhGHhtsI9GYk z_mHE!>U)@>{NDF4TluB$K~h%w9KhSQWb;nc@nKK|07Rs}qUf2u6L&#jRm{+vZ` zJRF6t@FgMGgW3CkV35;NlErSWGlUW4~vvbybm0+ zXTJATWn-BA2G4|150V(mbpd*icmRoY;KMIj;)J@h=!aUI5#-kX9{)jTnX2!`>THPS zfoms0iB%m2aQ4+yemL^N7VQEUT?pCQsSMyBcb8*#A}4ZmM*@0-3%;!_$`152WZ!q3P~;zLs%?Lu zd!{2Wl}L_V#2RsmK)Fg8-J2?)7MXhxG?pb$`hA1H96OG36JSsFW6JOW4N$*A>*UyE zf1su#A6j_>TIu>H0d))e&;p>&Jjs9>g#<59r_d#ky%Pa-e+3~-3NLdmZZrcJ2rBIZ z#x+F)>tE4mId&vvW1lku&PQf6-uNA0-43s+axecHuy*ILPCx=Y)kMG@$|W4uUdT?q zlR@*i?*zgO{uD%ulDrG-i}Z)I@sn0B@Y5syaSV73phsxzB|0hrngdM>k%Blx`8R9x zFIhrH?00W=4#B>T_Q;$k06R3r7%N=imPqA4NdV3E68~fT~;JWc!f>b+T zXlif78@(SP-gt`GYZ*ilp{Z+tYsIYxw`R0}Iz(?p zWZFK%Ef;5tTo1{y6Y-vb{42-@^p#vqPxu|0EyoU{96nKYKk@DY&erY~5vG`;sy;*!QRosV1$z_kzvfoS?K zG*^x_Q8phHg2SEdQKKwif2HT4G^l0N$wJ}EN6%EQlevljqW`JqdP9Gb{u8;g=Ik8QEIbXnA+|)bxwqIoL zT9^-R$!^BbbPue1k4-!{ircPNL!)4}G3vR2w*d#U@OkG0HxI6)X=a$JJ2wM={qemq zwOX>pfB!cXtM2&OAUcp)|2RYDUc3mzQJlc2qXzj*GGcop-$GVebA}lXC{vi;4#XVm zG2iLW9K@R_$HvOh`uhiOW^{(DA5C3=H3abY!`UyP8h3o@1FV&|^HvUTrj@h@H6aO} z{6a*}71QY*CVQj>_pk`&Q9xZRBImq~LcR|vUvHl8O`h*H%J&tFQf=lNDszULd{%bFjF`9?HOhZ{8RD@zF$y2u|YmY51e>I`BZvLb0P@w@&@@B9C3}?_Z@gh3kRbc1)8Be zE#0abY>E^4VtKwxDBm79Y_xcxcf|>Q@SY)ldAmWrV#-IcawzYw zyu5!#zf#C+9E0oM7_fR{_ zTvcA0oXt%my!y_Nz(T2dll_L$YBIZaxU=MgMp-e*hi{diJF}KhYm)nZxUh3bR_abs z-omE)H=8m(6$)I0Vr)DZjTK1F1N4xwQ7E9WY}tbO<=>z166O*q<8z_#6y7+Wq#4?n>Oj|yh$Z7eH=`m>GCycIpaZg^0r=cR`p~m$(0L!(E!8NO) zc2q-^fethNNsfM(?QH1YmTyUKwB^7mnGH|=T=>ivB_d>sZRY_9f4hC3JN2khE;yr- zw*-gV;1ob91Ls-jH#uJfI7a#1Gn~MZuj5_M7@9hs1yNDCKm!ps7sN#-PRVZ$fw=L| z`+%QuJn8!fAjv>ncPExQob@^+xZ@Ab@DSI01@A$uMdbS6SWlZq8OmJPx13$DcuMDpqvhvMs=hjF2|v9ax!Y-cYfK^fjc~ zXA_rgQC{FLda7K8^^x#H!2-0POmGf8HP0kcMG1U^+=lV`@1VTye-MM8s;FSeb;d?JD`H&(jD;!jcr}jHB@m@4AETn}7XzQaoJPQ8@yuM5S| zbmjGRruuqn>f85m%9%lLuWnplRB-h%JI)?!%TsNbWw-&|`tJ`9QQn|Q3g9swbW6Ey z+SoynJ3%c9|9WjPkO!5fX(O}YSd4nI5yVFU4#&YN{izz+2`x$B6(-=qCm(J^ttRf| zpN@*7CoTEmvQ@83IL_i_RESVJN#R2DIcjcBdbH?9p+>q@c2#+^pJvknq|dp zGD!xC&_mdsJKnhnU33`D2yat1lgFzP1*BA1b1CkXZg5EwY5D;}J3mj82Ia3~ zL61D@N8aU*k0JBr z-JsKu9{kikK#NFEEG$FpB^DORyEvT@#7xLcWHR5q0C*U}DSg02l%}t+NJ>LyHK-Xh zc24Fr&i2!Qbgiec+OO(!0fuTQ z;)ds)rFAjwRk?3;C0y=eO<~ZNTvNJyQ`XdWyQY_=a@mBd*FUnW8_XDv{oA4ur-a_H zbyfw)A&h?yF-XVRgY@*<&T?RY1d#Skvxmgfj;lv$HUYwieWv2;yQMwOCce&Y;u0Rp z=d^ARt$XJ1QJq# z3ka)iAKK$FkQ!HRE%iM6&qu(Z=H__*mLMa6#V#4jaAS}h7`?a_+AsC z<_?whvK*=$owT>D9rpZw`c)ZNX~;oB39-sO-lbj<)03cJp#{h)1@|u z%n;=JZxQAMAg4Ur){&mNYp<4Zd5KAzNobWL)f-P({aRQ8Xs_VOvv*#0a*tQucJ?@r zawHwg7D&oOBGI<0x}ypm))6kB0GeZ|Lz>{q&`o%sCS*$!wE6NGPTj@S{i7=v-8wMv zN9_HidXyL18AP#?2hkk0W7pwUa(6H+^pm4Vn)BFI2>|(_gsl8Wc&rksqoxoOkkI*W6V!D7`hql{oD^0fTM7wRnrEMY!Rj!n_ z6~8o~=+3&ov~Sy|91O~kb#B|w|9gRHxiL$~FEz<=*q(uaD=S zZkN~jyfmpNqUqEqJ!C>2%4Dn@sq8?)YFo^1uIxxxU3UJKJL_KROdZy8LaD+pbw5I> z`1pS5fFmHTvpZl(2WC4p2|o5uDF{C^d4CE%{u)(uH!=>qYJR3{m%8AEU2*Hy^vdRt z!91j2srLmRT%o7n6CT#YeD%rOcDGI;N1Qk&X|J8*fX*>My=3QbKe@|Y_3AQE@X=6S zXO6xxjV{Wjk76$;%)ow)hpKnVyhpa~9Vf;4_EhTE%bIWV?IxYbL-~*5+jplrd(%Ax zsI>lh_NIA!NH1R^D$%C3cJd}3>iwureqEAf-$b<%&(}L7d7GVltn`QzBuS3j$=TAQ zKibK6OR{r_RZEz!Ba(c#o&2#RJ7-9**~xE9a>!0TB*_kQB=LOxp(IbSlW)JAWQTyy zAxv_RhdS3zUMk7XL5#$cyjYS8?Bs|fJLfqeJNY(AKA?2Jzc0xSBA0l+zEd8|PxM8y zq!5EIF=(#`X5|M{sGgH58Q0qhQ~gpN>I$kBa`F`x!~Hww4SVM9C!zn>33k#tJ!AQH zzkKVQFuq}b`;L4&#Qs)v-B!nrr+{rQ=gl2>0&HD!r_i60j!J;#^jWSVgM_)(T+L~@ zHD>Z1z0y`;h?4f9L8&AqY$W_%d5^UJUXm%TbN z4zg^$?6MnsKB|n9*y#E!e~vW?`v6#K4gfHuX8+G;e3iY7t$k5?tOuGW8EB2Lt?-Dk z>#eWZY}O25;`8kDJA#Wn=XL8tXByVvnOe=Nk4UExm!q@NBc6ZXctLSu8?YMXZkLiQ zl{-T_wFXOuLM@31(J9yD~EEGXBYq_y}c~t{X+C7Tv_uHmtr*x8W1^ zX-D|pa-C^^->D6^+hwdcOc{b>z1qPEdLVvn=iD!z|K^1#*tDqopc@?5IqqcJp=VKK z6nms|n{65=;gXc_kVIJMY8SdcLC%4YboSJCO1;!$uiGX$Q~zOuR=2xmy_QnTI{-U~ z-BXcW-Z<7|o?-Se%i)wO_vgUou`j=ujrp%(iB3+tTCg0Tj(8@M;|T4ywmk(tvZMPqEw!3 zENQfB?x(KN`%~J|OU>8X-@0}CzAez05t_cwwfpP6($YhhB^qnxev_iq2>qGsYr5E_ zt6y$1}HcjXHXwJ9Z_7=2`02ytGCM2EpcGXn{6Ayee58wZXiteM%!p;31f@e%wz$m znGAmTVVSx2I^hF3*J2rUZ6CJ1vpv>f^KZ1RY*H87Ve`j7XZcTeE+1ts9I=R0w?HJi z1=0PK>A*nSJln!C>lT3gC8Kh4@MI?UjLVtOl)0P-$Lq``C)y!wE81&LgtbNx}|xv=XzEP(RbTMEFmjUlGQpZApXp&CR5LX_@- zchwNPJ1+WC-nlET?z)ny^WR+y591llwneEU7Gc@fpVm#9+ zKxvNWKnB){K%wUIZ2L7|(QIPpstP%RV___07>=5KO3c&W;fGgFmQ{Cb5X!Pq#i7x9 z$+h1j)7L()NMAurd{VDJ$vCJx6MR<4VHTBAR89auzh9d}=Rzg0-MJ)Qtiv{zCV z!OQQUQ8J#7OCFv-mG>s}qZ0Wwx^>1s(RQ(#6j)3cPHGaZdc&}HMV|*CJV~X`EA*OZ zN1ta-IU4$$Fa6WR85&I!`Z*+8tnCt$8qx7)G(8&g18mk?I4eVUDz*dUAT6bY26Wn_%|0y=a z-Gvjdsd41>wCqSY^1`FYGqmeGo#sfqHw4GoGjfv>2;7UQ*5vsdz2;Pj=t0#zC9!&g zd%R&yN#|5Yt6sOL?W8~&;Q#FF9`sDfymd2OzwGi@u+tzrJnd@>9o_wa`Ldu8jlrs| ziFwu5xNN~~e(TZ#o*ut7Fpjik7uX9HGpJ*`q{o#q20biG@wou=EDlh z9iEbHFxh^a$YyVGoQ!Fb(H^fG7%v8`#vU{dm*kkDFyT9AKCEb`5$ZmoV_zKIOcvwc zy(>4+EIB@js{B2>;#FnwS-y(O5ckGJKa+liE6)g>6|lx}wNOQQaQIUq-7zdnI^(k@ z#MM7m%5=NyqmtPd`Rj=!#G1S&Jlz%wrFvw=$2CDPWBp$2~dc;Is->x7Fhg ze_vwF7Hg^pS-2=KEO*MhN6HKzI)l3%NuUV@I`bHv7X`F zk6@JJmY3VX+LP%{ZPxUP+xA!dfe%&5+6Byz4lbF0LIcDS+Zx1Xa#!yH@V zk9carU(HKX|3cNci}l~Bb6rF*=1bnG0hkeuEet>~MKo5YJ=ltWIoE;;xy~9*6BsMJ zS{8>H1feCe_R(rXaS=nPJD-uo!HyD+tdxZ?2V833%X^nDNrYDGP|M^l4XLWDvxL;9 zdGt*r2?b#5v7-BBkG15T*_umtZJp>ev)*p^U$;;u3mPAGI|*t29zL(yjEZK-La46@ z3xy;H(AAmEq=trxmZhaXr)ed2)1>&Mx~yFGF)Lg#E_6D0;+BliFvJnhjhA)4MR46e zpA#GcW^~s-43t(y&cKmj>^JIxXX&NueiOrn+Q}dquWLN^sXDl9C2nQUVNb(jzAlPn3X58oJB&OR}lE=|WutmhQEjx(hy1 zpK;Oz4Y;KqseKi(i(svF@{V9n^($C~m`k0wLxaFqB*#gby!w2l z<0#q_rtW4{9Q8=9eZnsNSCnqpQ!DfBt2ljbXrJww&am!zh}1x)b{c7@O?={8hMGFL zN`gfRU_M@pxtSeiOwX6PPL~~;gq}1#@j!ixW0^pKyp>lY`=PJ11*qoYl}t;?7pf}u zn@oRp^dF!O@@h(!!dVOgq@U{;nI)0`|KDLpK$AqlZwWsttHfeU4O^wf$rH8cb|^eW z!t>Jrwvcjm5S#$g*504$e@|BXt0)3OBV3sl9Am2sz6!^(oV}1*gD62ZZLsGB+6jO- zkn&!bDB?wM&T{*cUq}(G`!gx^h{U}^&!98xE#HCUm#RHR+(K_^AP9}r+Ds&M{{!X+*w{er-FJRM>seaD0qrH|v##ZGqvx#2c`6rihHQ{nR(Yxk(TwfX zE-Jo{v=B!yzIs_Q$$p7U54L6cu4F0}oKB|II+Gljg>u!xWTqIKjQlHoOfvHsL~|7X zvR>I*;O&)zUYUndb7BsJR7IE_zCMW&@kNFkksgNmiuP^snGv~=iNL4u$A+n52pl%5 z1-iP8WKj>Yp%DKV>A#idMs?tEd2Ukg>*rdVXKAl&(ZPV=$RqvvbAaM+^ZQ^93T)~3 zFDu27TkJE3Yh?yXbX5qx|ZtrgtHu zJRLdH;aVkZQXZ^Fw&Npeh7rED0fyt+7L3es?cAR^ZwJyN=h^!{}c{R)`5*No-@CGl>mx5LF=jHoQvcgJXhFU=&Y ze(X^UYeXd(;UVYhq!+{->>?mvxDVM%R-01`Db{apGfK9=F2Gylwd z2O{%}qYc8J)1zPOZ@Vqpw38{iW3{E~Mx8cpwiGXA^H13`i=)?Q0?t14nznuD6(Hlo z0rY=3O<=5$Me0q!){=MfKy8NUI_Cngm%W2ZBL>Dp%Tf+7mW3k8?yWu|IyzIB%$ZF_ z;~q33eA&g(ONjWZfTkC`Rlmz!H<}mNyz+p%{#rY@Fk_s%{&FXrbu~tTgh7}CD{bLJ z*T5ntH53kFh{-2(wVO@p55f0|>L(9*v zbl3kI^&VuKxfq5$VSBvJ&~^Bkio`t|FNR*?x{^v58x2 zy@y<~M&_$+uQz=)C~d3W<9b(yr36+Gxa_VXy+veK>oMd?2m4rPqq@RT6aIo;y$DgGhLo{8sPtg8J zG;LNGNx(S2Rh0$ARThW1Iy_kPwNMta1pHH1&sFEH*cG1;sncb#l(;_SpR_=>LFlDN z#={J~=r=De^qN^aD#qso2l)wbm!Ch9v%`oZ@ozE02VINy#Eu07gU9%1ZjlWBNKeVY zF4E<$mmQ=zK8I_Kz6FSv(q zQ*lz`jk8XI%zHAz2X3Fo)+|4K9@A-A@}+m>AsMza=u3Tr`J(&ordWpgq84fUIs3?L ziS(rf-bl|_mfyNK%S?}qKOuGk-AxbmlCDO^_mAZYA_?`hUkfH$S=WGjUZs_&Q!U(a z^U8AuKWvy;^cZ`Ema$rW>T1~_8hT(8)1k7NI*G19wbjTxRBesC&>zVv z;;f*Dkkl$sY~*g!@R|Zyvf=26;Ll1n1+NbuI4k&oQF6##*NZB2V5PuI$)VuohS)y~ z_`r6rkbTWQ!XmkPQF2(5IbYnUngCykYqI0slDKaH=@R!_J1!o5fPnW|V$-6h1Ad9} ze&LiSLa9V~^K^OeHP&QZ))~62&~=ITx+r7WrZsXE(5G9w=*fDxw5gyL+U? zOV-Ggrmo%33!Yzke%auKzm=B}>`9y1xvdVE6GT-*W-(x9Xivgls%Hph@k+-QEe!45ZDo)(2%J&!C0BN7= zeriv~{I41DX4YorJkG$SPgbq|EK~Pd<=DNt#9BDn+##33LHz!9CM>m0y3|3G4VZ$n zoo}7-Km_rcoiM0vI2h#{glAY&iqDj*Iv?2oeC^Q8NXO_qWUZsA+TyVa!(w@V;3lNXz%-i3X$*hBB;;T_bQu=t#er zGEN+hs@b?dIPk>m8B$?Inl(w%Xhx7s3MM-fHN%cU=a%zV$)wq&$$m zpbV%up3nU=w+76tEe?a=tsR|~#&#p#fNC`N7KKi6Iwii0n$-BVcKrOuPXBeE{gq8O z_g*xiSokHhqyT*sh@Jx(6yw=hi zP+%j+{%GUDo@P^{8j`u?x~Ao{v9cv$ZP2N@1no)K2FphC4ursE*llQSA9S#gJhv!0 zo~v&#+*RD<#zHxwI&Biq*muQAxo31$uE@eaPr0^kglMhe@e^1sP#64aSNv&Fec&JEqFx0By&sS!MwH_etRfR-V-PubnpS$>((>U zNQWn8#d>-{_?ADbqVJ-Qz1GCIT@ot0{+Sy~E;B#n!yNDa(^meV$p3wBWU@8GlTs)|+dt&|(p(W>^Rm%L&NX-A@_VX|Po!J9$ z+ocGo#yBu=2m<015Nk44z53p?AFz@T6gS@fhNd{{ATA(!Hea~l5r%4j^8YoH&}s4g%vw}_DQx|UkznF;PI-(7k_AhWR+ zb&RxtyK0NynxJPI<@dx)`;mC9j!a~l*LzDYTlQ(>(i~&|ncSCsim99k}UjO>#TMgP2nOH!xdUtG=CT5pr8+yK(@};zl+32tdjTtJpue#dKx&Yw4P-Vz zS-jS?3oTP<&Hktl1OV)b{N5tTg6|Wn6ZGGn&SbXuXEqo!w*r0Npadh6P*d%s zboR@wM&$fkh8atm_2__2Bj@9YMb&*@)Lw#UdETk>MS9@tVWawn9Zk1;z1^ zv6KLVFX)vmRj0Py{9g6FF6Y7tI_UDc6=4F7Z2u^Go?Qb+Q7dw;df?ml*$FRmXQ}(n5Qm9 zye#6_--F>Q{$k$=UH4O7%us(HszQ~c9yk?Cz?{la5A$@_wE|8RWA3Szus)ip7*l!? z8NTjbky}OpxvYCd{%}I>6|N$Q;B|og9Nb$+4|dtFxd$i(lw2cHeW-t zyel5;W!`mvPSI&;v7Q8;JNYze-eR(4HbzFRD5f2*KlAIIvv#yMbIqIHV|?+XB$>^z zWBAF8}DDSTSb8me>ylq^qHG^c*2L~Jk1>G z(SERjugbldl3q#z4^ByUh_Kr0{&8d3dT+QfQ|+fOKC`O7H7=73HFmy4abEX>jk*wb zwJwD(dOO8A@jxVX#M(9`Aq`1ovUNSkeAbBE~4eA zbPh*D^EoqqBPoAcUD>#37rAeLv9j?tmwbQroa*e+nblcywvNu6oOay?J>r!Op<^m@ zPo^r5`@v>L?bnsL!}Qyan`3)9vHGEw4zr_9=u40L^U*W+ov`-*9T7Hu10OGXXjjKe z$CGK}{@Q)o?|}Lamz4{?LA@YV&U6jeviqP#2wG>pgkvD{pbFn5=S+jI_|~qtXPH6; z+g-m62!kf{t}^fbkzPC55|YK^h1s<(j6W+o6ze-eq|E01QM1|E4w((IBkE#1bloN) zN6w~bN#n2|$KyULE5qhu*&`6?p@wAk+5QcinmcOI{u#x{AxcPw^ouC<1ll-X_1J=JG3Bq-pI1 zVUgS$B>_INh7YbLtopMLhhkNkuFH76juc&VW5ng-{gzx;+Lfoc;<;tK#QKeqmqmSD zY5()m!MJM(aS_*G`5on!bgPqObo3wo_m_dlRFd=@ONcEe%Q5{{+<-FwG8X0Pc$AQ! zs5Rl%p+ULDX@V#+mK&Mt)iFzjatn3W_e@+G;rL*;u-|B&<=&x7(wCci)DHHRlmWN8 zF}4FWv0}2?YGU0H_>^Vdo(@A65BhPDWj1QbD8gVYaMe3^Lj1Q0f&3A(Zf^!|{E<|` z+1e^muB|X~Liup?)6#-f66*;+^eAxhS?pZ37@Yw6FsK~8XSq79Em0f%#hlODrNF%C za~<5^NPvBU*({3Z7f?Nix^ft%{-V{l(0UTaL(KSQbg++FugW3oDP8^C!GsR_6mLRB zP`2_xdXAEXvS7YNcgU)SWL;|n%vK&X>Z*sOzwY`XNE2x_Y9D(vi8xjw%-r!+tOKM! zg`%rgve~^N4?38Y?VLa-^aQpAN9coRbCbcTs;{ExVtw{pE%Z)(Sf2!q0nB$f(?kDl zRi!Jh7Oi#adDX`n8!SnY!P^PjXV^sxq#SL-BxgTE_2GiMegOc9(#O-a6ptq_u3Gts z)yb)Hw*B^|emmxAPcr>)I_4rLeI0MrW{;I3PV|amq z!(R7_a}De23@lP`TJGu1;mtHQ{P2$()e~%CuWQZ2SwLj5fjLe|FjsUt!m4yuxV6`U z9-{0Kdy9ngLbpp;e`{{^t`w()YQAiM7aJfeKFU0xi)byKcY=FGi+e@mtnh(~1qpQ# zqA0O+K4rC@7b@#q)^NM5%vMT?^(I%vg4~3viG293G(Y6p|EkpDt2h~rEN;q-RMi9r zRht)Pd$sozzd03My^ZRA)U0WkDqvwo%FXFD>X8S8Kt(U;La!;zYX01i`rrLPaE9nU zCG=*$#$d5EP`57En*>z;BGUoyy^-m~k?Ex>-~d^<#(LGo>K`1y%ZeCoN0h2waQ+e@ znm>SU(O5wDYjqTA<$4GM!F_qe^Dpfou9D;S`Q@DalZhN{O-!FvG5BhNK75t)h~$3i z<#%#nu$OmE!|2Q=u0$lq_ecu%GhO%b1Y5G;8s_XAjS|8}+E}(NQeCW}-!P8> z#tbt7-f!tQcMABwpkortqnS5#^S1>r^rX$psoyXM_{dD9U9|5qkGl|C$a z$D?tW>(T-`XsfuD62qA`H0gsAaPzb;;=1hwIDJjxBBSPc$S4OF5!Y0rg>)3E;Tj=w znul&{sku8U9EQ-pQHHr&;|y6dGZ{_8ysJpcm$O_G>1M$CagnqDo;nYH8d1R;;Cu*X zp%BbhYBdxl2m@S;p6{;XTDq9cn zJXaeDiJ_GQO0kL%YUtq`b8~_oKE|jD$kYfuoCe(B^j1R+!=s@_oeGp5u?KSAWV)W= zU}`xPpJ5q2RCNSRd(-u6CoV@R@cQ1k>j5IPZ(J%Xj-JFSmp~U%p(GEabF0tbY?jL$ zUx{Z)bEh3CC(By3y#vo8?Xh#Llh4!*)V;i|R()L9u~xf2ZS5>_(%>XR+BESc+_v3&IkYY(JQEUo%Ahi!yU01;K9+9M_?*^G2N|DT6?YYoJ$ zv0Swdxyn&UQrd>w*|)fS3|iSP8QT)3vRpj^?nIXXGAM7u8EV+|@^tszt3hmc=H`># z8Yj1lbr_dK$%%6Ja)6jx?!X6_cB~%aSdLcQiMh0?nH|022R@dNg!R-QDxb#M5U$b zcE+8Kl%~7yS=|-5JQw{32$h1OpV}LMXfN)?w=cb>XG5e@ z{pF{Z^em5_t=1iL6q0neQbFDxx2s0m<5qGKSVcX1Z`-()s&O=sT6HI+9Wp3qkiY9e zvCHe{ly@fUUaRM+Iqk}H)7g$??iRhYj!Q!iu?;h2yCCDGYG}KHhCsp(JH8IQ4X&f~ z<(x|fv++0Pjy?~HxtG?Uu*(xSZ|(CT zPYk~^+kNU>(+f`b4KueQUNWlPIUz zvr>>qYy=bNq5d@Y)CSVo&Dm;egqaM%>O&}}ilbQN;OB6o<4#S#0sFtv|cQu=r!eQa@0UH>5l%MJ9AXU)oH&+qL%KH8~| zq$m4G7*3#5AKBp5K$~rm0(t0{^t49xx+B@s8O+1NqwFd7P;0w1#MM^*YvsMtpnj>*Ib(jtwT;)ntpK`K}w#63=&&H=cV7$*i7NyY!;hR>#n`I+_n8 z>tHU6RY;`&R_;TRgH=u|9&F1Ye)n?gB`H4aJIUy44Kr(4Dez>N#td_b7;QDG?4tC< zz_v>_OmCs-$>yjfk^CGM@bj}^_E5tVWBB_L%9!28C*|)*-cs)9@l=)V!}qkUm?j6= zMZWTR#X(N>CgiE>7h)2+bUym8^Yi$}9BO`HR8+3mW}OwfEKo78AXJr-|2!wZmL{m3 zH!~`caj=Ik8vA!1->`p6cux+>#_TTcZd^JM1Efn)sdU$G)uS*j&$qNR_Mn)AmkW0# z0l2GXkwq7mZ8M*jh(a|Pj!<9--j zcij!bqQ_PR@tc>Lcy3;lqXxUJM^B{{7AMeMZ}rwq82ThVC5jt+iygw zrv=Q{zS#6$6qO6G$ahz7F7lnXRFAP|8(E{S``YYs9In|C< z5%O2A3l72ACPKF}5qphT&2hWnA#^H>Yf41eXO&}&%D%nBboFVxF#U6_GlVd&yn z;kU_saKwT>?iEdv`}gVdP|sfDFWKay{l&&sZtoM@n0TW$;@h{g`gm=Re{xjcdl=7O z`VpHe#NBes^69$0)#e(%`8R1WUYGT9bl30JD=aZI(Yxi9rNz1mm~Z0FC%pKsGeY_9 z6;)|LWG&EiuEZw_aQ#@VQ-mn?BlYrJWe8>w1Y;wY zVF7eXMOc97xT>PaFM5Qj=w*-o#&*XfK#Tts$yoNaN z%TH)t62DjilMafR5-?+dlJ^`8Q`R63OU6}XEfgFh?S(TaX(ZCv+A6rFWQ(Ahx*I_e zBJT(qrY`K_NYNRBXfC#j774QXy&NCZh-yQD8rz|jXQ#GOns^csf^aNZh9W{T^oh!k zi}F}*m;=aiO+`WNg(aV|@%&##HUF#CJ94U|Pq3t&tJqM7pXY4g{W4Gtl;v%i^7vX$ z`RG$a`|Z1mi^S4!uPILX?O z!DoCRXL^3yOwV)@k37@YP`*9W$KCKnX8O;Z<|Sr&3$-U_dNnWI&GavI z#?+aM^K^Z3a2Gl77@2sn|nCtY~v=3 z%B{hn%Q8+sbM%M>y$$y>Han0fIQFuz3<>MJIkeliEW=yNY1)Z~H9p;_+!D;MHnCN1 zVAn#<$I#=7J|ZZ$R-GyPzgl>U9KTbV%`U8i%*uAh1G$o?v2Uk5YD6|VS3=X^8ss@6 zaPr%}rTFnG!-4M&$W32E*d(-JVe&M3pszf%)IM*X>l{Y=%=NKy^)7o8mhN$#({26L zSbpb}Dsz*tFK_~zg;DURodOmJKWk*iP>%{F`$cJ3q2FD#2|`k~EuQ~mtc{~NEp;d! zMmx>i=_{xGK@?I&@ga1bW(32+fWeAo`%6X^30EWigX&q;%XzNkpG{Gyh5s$SrJ~5gM}0n~r$aT|Rkd@H}BAem$FoQ9AmJkgI%BMo`gl(75<(`8B5~K2r&K zFR$7u7cy^Bi^&`?nL$o+0Xle~rEd!drH!M-t2U;}MSeJjY*+;0z}R932O1@?aBOO< z+;5ASw{>B*`UMQH{=S^=+YRk;RDoheN$ujDX?CUA#OS;^sQ%on65dWW+%@1YBgfm>tC7J zW1tl(h=IKVNBJpx1;6`|2H7jT&CcLO*(-2*en4Xd*(+$QzzWe=VUxN|PS*Yf@t75k zf))NjR=tO4lv12M1hehzA-HKu7NH=AYl;f@?L@9peY}`Q2TndHE6%5qD=zqe-@J`w zbiUCTM}c5b(UoU}3fwDvMOVqjV7T5GWFt|!rf7y{H3Y?632BGdS5eq{4X4%m=u(5q z`)}!8!JqwXnawF}(0DL})C#a|BpoO_MK%gnPAj0fnVXNiTIj2K!Jx!wE%_cGp8(ih zMKYkmmHuI|hAtP@0s`m52Ms7aZQ* z`9}hYzj|ENFZFWD*Jgm!K2KXhck#A-7f;5Zke5Vc*(;vE=AXb_xQ`rvwv!s$d24Se zX3TV6f1WaF{+FbRTs&U)bBPtFuG@GH}fTHw_Pt^+9w@ z+h90z(S1364^z&^UrSC}q8!VWivuz}^GLA=CBobco{#~{CE-aKaCh-Z$-uG3swC=g zKeBbc7;c@NkRU(zT`BCQAu*4u6W>9_X3n5CgwDb!9%Gy|u3+i7V$BlA z@ULAg=7`9#?O78!i=MjnEprAvG4{xqfZ62Ui#`_`<}Gks(g3647PdCxNEqM~>3NAY zDchRxshaDk{b#CEXdF^Y+9SK0aR>uscQY<8cC}G*plx>}xDkB^b~o1P7udLp4UTHO zm#^tc0sD}brEBJqO-r5DEpfybXF>h0G#8pv+1@5R88LL zx95ocZa)g`-#YG7j&e+{{Eod3$W;Aw^Zwm2d7S-NVoX}DP8pM@dFg&k9@JU?V`Gx= zv2J<`1fIIWO~tQujho~QDW2b(RQA;!ZhqtFN8jP0ZGug2wvVEUKS?;^H~0*Hs} z_i*a^()ukhCUY*d$)jDuza;83qR2G|d7bRKioJRR;!9`&m!}2COMGEM3%EipVD~_) zk3$Q%+}@QX5}h5$02pz;(`vwpB;o9|)Y$fxg}MP{Xf^39IVF>ctpTZguG_s)xZ<#Z zGfWNBguCh6ceQ}%sQUIJq`zOZZ+9}SU$}44wKg*(UOsgH5`8Od&x7>5B0=+J;vOVC zvp{|dAtwpGLOxFUGa{1;6F9&qNjDl>Gj$HZ390YV^RCxyMD#Zd9^Xelc|+^WMVsGD zwfRb=Yo4-qy=)}3ixQz_$9u}JFAipTmR?_MM6QQvyB?AOX+@t4tmKMjJ5mKtpcO@X_yFBE0cayvqs(H15 z@ysnuA@^I)eMukhp2Qwey(Utdv{(S2h@9xvuJd|t7d(LQrRxe&P1^e#cC zn)IDFji@D*dy9ja!r`Yd{B~DUVAzIb)&}5(Y3gK=hs}_ankDZ%#4e0|@BDY2eQ*78 zBr;yC9_983mz*P5lWWmK21o#x{_%Y84h=3JTq{C`=>G`RagsTke87Qd_*0ExpWD|6 zP|T2sX&6<{O;e}SJ3*7B9nh!8L7&BK=(F5Pq8N{jBNK@!=#%d>`b;D_=(A9Eu?8}n zTD6jCqr%w;IHY5;{VW5Ai(akt9KBj}YHuw>ul7roacCT?nR87IwjO@A%c;{LxAnQz_<551-=MXfG1R{wBeuM-tX<#l_al*JhZE>QSAq-x+TM3{ z=X>PjmO2|Jq^2Q0xSBK8gk3T;%Gr#kYfosx-l7kj4@jDM){Q`cJz!zr74W=9Ci@c1 zTmMa%d|qJE$Xu(z64!SQOzJ7uFnKMSF=`T6#(~M-O>t(B`LtJ#nfvqpw9W=dn)Jos zuYH5wYY%@rk+Y~Z*CZP=R5wNg62J!tb^(72-${YLJ1#kD_)Fp5MdFd9TmL>J9o?6} z!{o034@;u|gX}kWS~!{&92}132J^xP(u0|}H-b)7_Hw1kv&4BG?>zg+vwc1GUdpit z^x)3j;h~2!jNxGi`t`yF;*&$6e$B483A4&kIKO*)@3dHc_><2<{hM9elhGlf&7HA< z;ZHsdAt3_yG`s%nq?*%ml8iK{)4nb9Gp$$aIige%zffpHwJcyC)mNII?zA4%pxE*#-h)Quaq zW!?hsQeSqdu_P{#y-1NK7~}Jjo#g0^ba&YjL8?pZ`kXD)c*#K-jYV&C%bm6#=hQc8 ze+rGSMc53DuSG44Is5KEsk2PfbmnS(m;5>v@~dGIgUpJIlB}V^83Ibc|545Q8Qm* zoMf2y$q3^tfXx)%(&y66QpsLSpirHJ;Z(a%pc*oe?Z2v@ODEcYsKUYuRLu>PV7hKe zdZ2{!u6v|CoaqhPmw|qNZFZh_Ss?ALSl@ja8S+}lYx-Nb16;p!sSJ$tQQTIAW9gyi zV;2aNTs%k*na>*gQ?KPI2q!83q7~Adh5Ib0U zdf-$dvusX9=I=knsiZ>Bk;6&<5_93J4cwJ`3MPvaL+jCnHajUJ=UeuH+yl7Pj~c@c z-p!4wRr{s39-^aWYrw|e-bzoFzKQG*v8%*0l*$PRmeguFZsco|s+rf8c=Qz+WV2qr z7I5@vzkfd5?U=Pf!?~$!k&q$H7p2>5k+4U?772SKY>}`>!WId8By5qeM+Wy$H42C1 z&s;BL$S=m4PdX(Trf^p{lhU`Pf(}q<_7(B<7q5qtqHgOkH=o4q4cpaEINn83(cH^9 z^Koi|79nkPDB*dG5=ZOJbY1ShajC)Jro{M|z$Am5@NPe(eLR@wHNgU0N#ar;OoX0^ zo5AGZM()=xCnw$0)@NALXes5&6p4B&L18((U#|3f#a#->C#jxYvtFHc1Ir1aJ z_UFyv;M!nOfx|Z;sy<-4mO%FF_0{iOc^Y0N>TGGjUWWOA3~lTh`wEzMU% z6oEETw-c>Ck1dE+v*Ci5f9`&YpF|kZ+A$aPfo6vSDB3T2i&jN)hY>*=zr$P-Is8qD zbQMTsBsZOhdX-Zah^32gz-;(K`YPDgxOx(7u+Ei6WV*HnDDJ>Hw6##`Rh5_0B`d$7 zx3Hou!u3XL!8VCpP__q2(q#~iB*X0M1s4O0>W|2O^u{y1Fgq>iGCf&x=}8xSL+35N zBV)!Xz#o}3I#W&sbOvb(rurOzMc=Z0?p%Ah|KzgT59=$%Pq_+Y;ru>$MIl!+J{jl|`onPcOebJviL` zq!$LDZ{?N+{Y#pxZ>3xPi)#bt7G!09W|X`T`bZqjmk$d4&9E*!Zk4!2ugymDd#zFO zeCT8IqAZ8yJVRK{LSZ@kRX#7qs;gt@2fLaNWu?V9A#^<{0XA^1pG%-8fx8J9kvpWH z*fqx@-^`B6jgJ+Bf0T_=o_eWC2#BWAsr|~PUtV)vHND8g`-$L0?=xBC4p^f-{>Hbm zsx$EevDI5XD0qJPSJHzOa5x#lXO_6`z?TOi`)UNM z;#_2kNLce#@2N?jf9mT76lZm8w1LWHKcn)KdAY*EqXaRGGlbYi3q(%OA1iSn&zH92L65A+IUS>AK;oXC<*Gq;wlud=-7M_+Es z!WD(vI%VT}dY$i2Dfy%wY*gVQyekJvJML>s)a{T&>4PLnI~KI1xAg(Voaj}_gp~G^ zARmoQrj>1r7NKC>wny~H9C9yxDzr+I~keO}>!_wQ)NyvlSyoBlI^n-Wq9AfQHTQ@?Lgv~ z==wxTN*nnCFgPaqcp^>e%TBiO-bA!rmn0P204{s}@zFiql9H|WZ%tBusgW~}4+1v}C&7r{<+4NOgCbePC5tIw6 z6rKk+%j*LrjpM|R&nz$gnk|2ZsF@wF_cluGe)9D9%jJ6;bApZ!OJ3}DV8el%FiJA>Ce|g$dx0~wVv*$KER7}huc27YGp!3Wi2VlU|+>;#jV`yx>Gma z>%O?PLiJ!zs%HK-2YU)A zXGFN*j0_N6IUn&ZH7*ppV~PkUxtRSBo`vM!cFbg@#NU7E=8*fFSMD2@E6dv8`t<%8Z-aXSG6%S=%W z-SSr^1)~a^Z~4!e@H)I#>KS}tJbwbUbK|ET&frYL{BTx9aqzh0IC57Fb2surgS%;F zq4fQxQSzaLjje}_OlDz|no*G$lVIO~bYnZzN$mj*8|Hg-^=>_8^iu)VhG@Wk0i_)2 zLjh)Qd8xL=*d>+iGyksbEZ1}KXc2NDn~X$1gr+|=1_1G!aW$MlPh8y9OoG3%*5sD00+pj)=HXd3JKeMNhN8Klelq6=5IV}udiXyj(Y`(pGbMNZ28u<%FxjXW zRZmJVpgx^Rrt@5K@^LdS(v!MryrbUCJ<`=BZ~4vLf}ciKbL?hfoVQth=VA@PaN(I;PLMSw==PS6 z%tDsqSV(X2m+UqgKgo>sb^^wJh}W)#Q~ed^1TXQMIlI+&%W-{`Diycd-y9x?hgGcp@z6!#^YS{Na!tIv@YXQ5#-!}FR*-C9Ggi&Tm|;8=+9wE zr7G)E)XTTKzx_RVPZ)3wLF3#VzKtlmTq*Q*cDpDR;lVF{E>^PA_331gHu)pL-PwW2 zs6T#yY{ERmJ!}izb@vKp!Qw4oevEzPxbl(bCd}Ndi!#(FoXI(8NZdy}Mv<{gQ6%?U zQ!<3f?KNJ8&0R0ov9N{rTh;0Ql4kBZ+b6CIkKZBwT^g**4mpi=yIT>B;}gi5+oXsx2cp0|Q2Evju1DWwIQcu`d;8G_i^jIAcQs zXEfT2_`7>G&bXfkjvQxX*!UvKmcU-gHmYafj<9n!j7muHQQjGV(Yk*H{F1aTNv);QzjE%E%H{8=j_outmLqN_=?F_hwLv{4`-2W{jK z7POJYQ=^T~e5q*T-Lpy7XyY&jyXX~ZCMkhCw#qsA|Cj&Tj1xXFg0_)Hfe1zr zAIiakA;$Znk;>&?s|Ea;jS4rrw>U0?JSgGgV&g+z^fFUTS~Xl|KZrJo-VIC&m>-Ho zzkTCq?dVc$a-2iqi_+Ei_&}U(WSy@rJWD1mha-~pL9g~XIVD~F)T7AS|T~n zY114Gr6evmaxICOf%|R7=85w zr~`Pxv?#N7bPsqte&w9b;qA5>C9m4Nof8m-%hssZ$7(Ew_<298GHhKr~&~e2&XIq9>tfNB^QffwAZ5 zSi+r?;GOJuw(fm?uea{*XHd`S75(!W4$wI7!9@NxW4bqzE3hr@4luJlm~C-ScaiU^ zWIi;noGshY+VcSux`|I9%<5RzKQNfFMOTrJPgr7(W-;)x)DJA@kL^%4J z5xU6eJk}>gN6S9Y^3LcLoc+oBc&3(TM}CbpQ0V8bWziDXcLkys*XGc3zFU=_FMONW zC_&S_a#Yb<&A&hvb1UNIxZ(cYD{N9llVAlk;F(yk?f^N>=qs>d<=|*boLWB%HaM!_h!FWc~fqcEu~lsQ205T|DMB z9$fk~!)yM_2v^3j$q3{8$-A#ddT{i<9@%2K+9#fW#@|gwOkxO;Alp0Lm17#M?_yi4)!@g%i{zM72^3!*R8hR zLMkrPo&Ov^U5^vMP_|Dn!%Qxp9#g6t+!%iC0?ZP67}g1p-O8Git?4)S zt_{3eUK^Dy*gD^<KuFSE=_;A1Sk5Y$shDe(Ocm$IOn?E%aT%zANb=?ph%@5( zkV8^OQCaSJ{HT3dfM?`Rh>)pR3aIWckjW9=~ zD14MP39N5#aTXRgJg(Jgjb3xhDi6~ee*J=y4P@|(I5qhP&+#DnqQ7xCm`=K$qSq41 zeFF6+8_x?L;Y`N?H45<^b4{0yV>Ao5pYW>tU1Sz0OUziS6)v6x9U2k|`(~ z{4OYgf!e-N4@U{1%|_WlBQoZ1B=Fe+r-H*ZSC1R5ypE#V#v^IN0De1w0YjP7mvPbn zr!U_Xgj6PdL3KXosHze?2bc5P)7(H%VeS*INV9@^=?XNcavZ4+;p z`62ziYaL3t+@#0^l{K}&8~n@|q2fHx9Luu}{>_*4d8;~+WSQVID8_8T#kRRKl#j;J zEK%|;8+kW& z%m*Cj@2K(L(YOxZEavKX{^q9MX<92Fwmk{_M+o58E_kMB+u+B#S1>;u?GenDbEsok zLGU|&2EWPkug+8OoxI;8&yGcRTvy=(8B$ojRvFjrvOl3K)&%a0#~Jm#iFL}Ly>uHY zJdJy@uuX~es+f?)jwsv&j@uIYKpNBj(meqh;Wcnloe?}P9PKS_&$Knv`>2x<^CYCt zXyvyDAqT!2Il6pVidiW~<<-{2ylT**sAT!AOAB~<{MN*573a9PivqwG-xGE{lKXx8 z@dNvDH;=@?Na5 zT>s29x8hw|n5T`ye+seOurvn&GbdlMZCL>x5fj zs@-*R)jiYguDeqLO!+NkaqU%5{SA!Al`f#X&|m~2DJnu8?(s6jBS!8?i)G$kW8PYr zw`p1U;F11THp;w7A^p@35V<(g+4qYO_58}fPg&L3`*d$m?Xt#PrjSn!A}~$@P^d8z zB!EKGm{SQ?8YL}AO3na)(6?4OVleckftY(nP13%p?aS8W>225 zoRZ-zYMQdh22p<|x>&i>^qcOusPYxlWjTPG0a!2qu^1l=qiIH@XRL?a0^J9DVZS>@ z;NnoaR(yT{_CxA8Sxuu-)^*wT(u;@u*feYM5O|>$Yq~z<49*+h5-Uhq^^yeA+DTG; zTlkYc3;v{g_uJ~ojoDJ%&s8t!Q-BT`d9nMX_H65-Om!1=+pU;J=yU6Vc3k)W>Gw7s zshte!1LP~#*v~}u1WuPD?}jRo8LrjfJivYD%LG>XYG?N+4VkLhee9w)1?3dk2+r~Zl4GII+&iTDaED>XOxw{Oy(vY7XbV4h8)VOKW! zf!j!_JtHr`q}1&S4yLdItt;P^fDIRPv44i+eHQFmDS+*Mq;>vQHCP{uXi*V%DWiV2 zFe@!kQHlzvnfskvveMMb6M#5eSJ1ql(Y$XFr^T%;YUDYjn0<(xERo<~u7YJP-=f!Y zW1b&Bryn5Ht6%S~yGCd-UN_`AUAp0}`w9`U{uST))LnnEq($IELEF}ZR{89$=y^o` zry-z3{(!Uw!tekY zZ2rk~4dxqtyGednf2LWBEyi~FEF>0Htm>OCoAzeUr8_Z}fYu>NNq@QvB?#td>l0Ge z`gT08fBX9CGMuC379}cmhD5KOcDx%pA_n|hzf&|4<^EsW>XFU+m8QS{a=BqPwS$z1OO8I%ClHmIIIpt+YC>Ae;?+xz))h3Y^JauNzLe^E}#P2|up;fF897pl4_^+P(DR@so8g23Nh# zT+ei!!y{mggqug--Cw!eT^C{5+go^yY0Uuw{6kHnt(*C&-8@EjGdm7sug;D=Wtdaw zCB6*J9%9#kkqb@?AFDYUUa3ECi{STcJ=rMlFx?$VbDst^c1_A7>9 zpI)TNgUK0KH+&&o+fMU~-fOGO@7d5QO0Cm|p zEdpa?j#TZ$?|V7IVhq@J^125@{Vj&RcB{IWcSSgl=U&6q*~Mn$NK)bL7nqe-#%X5&H^=MBC-kBvh58)MxO+(A<%IIL z6Ie)G15MZEu7wzSSg}kwJv>Z%mIjKlC)*dtdBWEgGw)T!;cE-QSk-%Eo|r$RZdLYN zS(CY5u?o~u)r$Xuf|a7f%G^e({-NH1$*5hN#|^xN?y4$eeQP}3&YB3OhWo(MUb6wj zF3?m!P^0!9-hB-Xp&YOKsXcw>x#CzL;=8=V^rM?5=V3cV~^!KFMzcRstp*TdqN~JpIjPW4?AY>Qhu(%@ok8kG-^3C?P6)w1hcZ_*6gsjfidSJkS?o_-*%2n z?RM+}0_OAF(~L0yb3B|mu51nV-W#6SKaVMn^|N6igRyk&4bSZVSz>SgZ-~t`ZVI))Z_;!W*AlrEmyou2N zY?gn6>U*q!ZP113V63nWb}Pug$;v~(SbU1*T9PK@wLHow;{|GnMi@9G=` z`M&A8=_N#UyPg%P1k=+~TQJ95sOklpjhQV-mOuoq0GZUcIQE7ukGL+Bx6`Gjioxd* zcC_FkV}|h}IuA98oF_=m3_E9@E8JAFZ4Q1pLsQKnobD5fpqB8Ox$zy+vz$IE zn;1I$p8cLle@ZzQ`JPD6r3;@FgpdH|ZXsDcnJ4ftY&Bt04@-qt)}Il!Rk#F{1pS4Wn{r@KkLRq|UQnu}uY~{Ph2j_b%{J zRoCMGBr_o)4^EJWL9s-Gih?#8#pFgx4ovWjBpRwzeA7!!ZSAcnGl1n4I*DdDj-{>j z(OPS-eb`&utKKRPYfXYc0?Nw=ud4=Z^@LM3_(%XN^Z%}W&Loo;M9|xNe}6tq&N+MU zv(H{@ueJ8td#|-Ni@k`HJ!&tVPuK(8t%bfYqU4^tp1sq0E=P_})2bhVww>Dln@t!# z79#ZBg!!+r5;WXt#0zfv9i-1DJ(lt{{)&M6oq!kmdh61uL%)wTgb|+T2@PH4$z}}y zOP0eYsaBdM9ji$%a6r}6k?SXCE6a(eP{W} z+sg8`1h(!gFWykDO~QYtX=>D0QC3_R)YMz-FA>Xtwb%WDv0IF-hXTdhLSGIE3DXeI5^PhANmCr3fJe#TFhTT5^V~}(C$-B$)b_BNC<;5?Ml7g1Sot38zTczEB?uCH5^|#kpjL-V*lZv~FFhB{8{7@rc>fN%E?X z<@g8%(#ZmnwB!v1PH=l1ln?9|d$8p(z!3!o1=O8-`aL^aXy}eP3lLqrtV%!)P zA|hQogh(0eMn0_9$;0p{JlsjZl$qw1(NskWBq_DOOI`9c$g-^-hbziE;5(A*V;AwmoqmIF7dWJq#RI+dCw6nYjyeBgZ@CwJWTnzVvRgRr+---QN)M2gVXY zYA@W(8Fw2H(g)wKTl;Cy#c+p^mci_=@W6;}6}dt>5ubhCJJL(Y8y8-tFu0PUv)6aarYGijC5Cma8}(F z2em_ql0IQC*8%l&?kHI-qH49S1W~MMAeQOc!?(f}LFFCk+=tZthuW;HZg~MgV7=wyLwR=yK>y;^JJ!M zx=;G3o;i$ClfN(BBa@lI%w>wwwd#X{F_~fPPmo(mXf?@6D2HO4zq=j=;GqO}OWb#52KJMO0{cb|2SU%r5QYCjzSQ=!) z!laFWQSu4rdkneq&^f94e9*0GF;lMjNf({>#W>E-QaZ26fQ8!oON=PoKDdwDI9lIp zspTo5FM5|tYH}G@dwc7Zm$jNwDneiEIf5_~Jd*0WAwl(J2#ITq`w809VgrlfDLLR) z^`HWZMnWN4wSejZRnKiFQ2!v6;(qqG<8@}B2{qOW**i~UxkA93gOAB^$j9TqU zy7@`Dxm63WQHv}0{^%tcWwRQ~i|gkV80Ouh8!4$ruRTo`$H$;TNhFba34B$kfBi_;e!9ii1Mr3!%0N2DOuoGae~*q_99@At}c$S5!R(xQ}FVr8ybR;@~wMQ0^lkfc8!qk1B2S^CO+is|ON zortghTS}mVjKXVE12qFeIsRI&97_eI$?{1|U;55rYOuZQyv$^Rqmyc4p%i`D8v7zS zd|BZ37hXFiG(sBuBs+qjzO&BK=;VBi7T6W8JwQn?xXh#1`bL-64ASnDb3Jrz#g>4K z9{kgYxwe5FqjBo<&{)0DnC`8E&Wh%GE4^!L2gEkxD-fvP=c^1i{Ns+zcEC?R*6}jV zvh^T7U~aRn%TNS>MK{s(E{iQ29G$fKu{T3$>ylW~ZL;4F6u%f8RCTB*9P& zVB33GkMZGC)c({a^Udc4Qzgr`TN83w+w^`2Om>P&EG-;4I-vPK((C?~qF1f0@YkMO zhTk?V7WO<{SXCC2upQlc2Swnsgx@C`-YrqziF$34@vVj&v6}P>^~wt2!EY=qFji)4 ze{}YQ^zDzzTg-#lKIrzMC%_ulEe#JPyqLaltg-T&mCirsbGVjw`JDS!8*h~)Z`Nzm zN^56u?vPk5GMHSOk6T6wZW$fH&BP1*pCll=$%Zfb5&PCa@JQyVdfwW8CLtciF^l$n20vdWJSF2YBw z*zySnSaOcv+~NufHcNHw-g>0On1UuhwlTSQ0{^1k7`rtvb}Oc0xFY#qBfzTR-7H&m zCDz>-OUoAJx>S#Sp&ya4oF>VBUWrs+=r`9AR5%|#d`(2p7`Cza(gT!Hg6LW)%tHK3 zaaOunoRwzBHz6zVt2|!Z_J%vo4^<%?^EuObmW8ol>9UqG^ALs{+U0A*bpwqDSTLVg zF4DS|)~RSmfymTm5Ecl}+JT@a;6SIeZoqa)0?tWvd0?0!FaQmQGO~}9?;Ov(rs~h5 ztEdZ53CIvUyI@=RE9YqUHW=RRe1Gvt0e0`;nn}v(txfnRdTEmNF?+L=!`(5Ix-Rt` zBYI;}&AW@wTQ)gK`cc|e>qYkJRg1@XLTTcU{i~tkDmo=m_NCQkXwTd|x{A_l`qlms z%h&M!B*Xi<;oWJB{R9yjz&;;Mb|NxnyEQUJdQ+=WdUJGYaw)+s5W}U0IVG*CFh6*e z-<;ypi4}B5s@}e1-Q=Wm7;?X{@Z^=FYV2uxyH$TE#cZgzMtQe*u1H1*_`P)$NT-0X zzbb$t;1=-S($Gc$zh|-!Dx94h8d`;=qlR5#lCI3Ttq;bs7r_N}hIdWndVf+ZpGkbtIiUgTyyr+Tm07ya!0w@@Zb=}N6~NF3`V0Bk)x*L? z)f-G_yv1Q|PLe%J{u1iZVInUvlZ1&RgwH1Hk6>h-H{USdu)T(N2jc7=;hiJAv5+^) zgoE{}B@SzCwgQ8NwJzz#S~}cNQ+G#k`wrEjkgs^{qGX)zX1z|F_^OM)g8O@!oF$C# zeshiRr-+@A z3=q}M*roYjRirBPc@gHPNuNS*?SJVqK*e96m>R2`viTgiNjnoqsi!6Ge!?h)uqqQt zj)bq!zo>pv`}XQE19q@V-D6x}BH`6r^cJ-r7Lk3+^m)ZmMz|urHs()MLACs3&w* zCY)oLDAWaNUI-Ns!&%KYtuFJ;wPj?#Y;~P))-m6#(@)#7tic{L!Ncr|))3X@(Xyh6 z3m>+BJV9a_J4wq)T4dT)j)_7^f@FZ%FuQTYgMQty3hOStg3tQR*pQRv%5e9*(28<% z2P@ku`o*@8n!7#*(xTT4S5sG4|LH*#e>zFcU2g@xatzu|79CaIdv-W~6kn|?VV*l< zoc)5>#59+YUqzM}%Dn7qT;YRyFe|D*i*NGWl#=t?Y;Vakh|q`BNZ7U}O{;lZDl^$Z zQ!5l|3S>->iI7&aQL;KFn3T{RUSYMuSI}gildw#|szti2Riv=RYh%XIAWI$XJB*W? zjPRa+uwtIZ@&zVQlYC{xJLU`!&a%HLl-rHn%CV+_-8PnJ&miVcDfyMp1H*Z@QK7fK z%*Dpr~|mkCW>H~MCogZ$oy z{HFHg$bj$xpLWlGQeWYX`Lz7Tam4Aq$S8WCklI7nu8fgW>E~3L@xe+gnPZy=#2~x8&OODdt3mcmG^-v4*;7^G@j}`MT=aZ+!c?pc8CMQ=2T;K?c~Js9 z(#_U)2QnF&#fn6Eu5_u}!%okBc<{6I?Cit6z+cYy8{;%N&L zAnqjE96%FFJz@_&{An)`MO5PPL4@xT>*wsCrcELwx4z0#g{aKyw9@HKAC@&ijJ?~` zp$V`z0|1fBwrSOQ2tAlwt3HVvf8qHdL@lGi5S|!0&TC2MrnK<3F`+b>dd*B0cD^FV zZ+pvV+}< zg$R)M_9;buh+5X4W#H`8a=Yd)oSVe187uu}Nt!)%-Q@fvRI~My$H|~!7gM7n?VWn5 zk6NWlUA$gZwfC!PgKO1tsXdUWsUQCioBcX9Bk!qoOPsejoqbW)9`rj?$?fihE2{GV zM0S!0qXoZ+3!^*lNFZh0k?O1lERl~ sIJ><|Dm3TakA$`CSp0MHJzIbshr}=a^ z#3%rg`UAj;y#bJXyZ|UW`kdve&t>i^*5<>kAAGPYZu9@{Tf5{qGuy{uzRSB#S#c}a zA5ydwZb~wWvL62}@vP#GR}c^G{#)Jr4df5I+sSX=DU**p_Vlv8M@lETb@02y5UzBZL&@QjYJd{x$ionSJ2>mv}8Db zQ_HT{aykFmd|6wu$(oAf(^gRTMyqJA+^)Bqjz;g{N!f?*;8>HUmQnk6AwD?0h9}Ox zNbU@f-X}e*eyA^cczSLZdMK^4{&>I<%QWx^BkKT4^`Pke?ULwFG(g3-8T#$(B<)x6 zx}EI7$IoUYKJ3V6-x32A1xw6^!=I5##>ob+mYSj3A-Nbi@sl-)1AJDu;VHM`^fZt28iiF--A`+vD0_UleU7R zWm>AU9u!}5>y$b8-+hB%D@yPK-&2Vn8>D8<5DDs3(=b%nGLV7NqO)L`~7(fIMUSx9V!?8WHu}zn~9fRL$mkEFruGW(fI|sW?pd;6sLh<;#JvWdt+4@GaR%cMNtUDWtvoU9{r^ zLfqbxTI>M4ED#+QF!%m98S7i#W>+hb=sxHBKI!q&`}?BD(%TZ~G5l?y$-~tzW|wb|I9<3Eso4W5*Qmtf zKuSxx16RucC|2BSdGK`ASp+qVX-iQe6*gP$ z{zr#gQyNFElHklCD={awQXVS9Ob0VIm(KUQ!bHrWfU)MWzsb3pco29%NwoB z(2Ll-E7GT zZy2!KiBshODi##`!|#j=`A#jePq4nd3mLbWuu6w_?26^BiC`s!9w424qyUw98yshW z_N~r!VApSTiwV6mymwS^in+o1Dc@K%5r7G7e-HQO$>sse+R4o((`w(E_eow$-rcR!3WlfW@BE%%gx{;@xHQV zL#bBUsK;F&5+7?eRH{7mV@0Ehd8&?=tvs>)OuUD0aAs@H*6XcgEZx)0t^SO<@ZMx% zi|qCCtkN^;{ASZuE4;^-u~iT6VFyAdo?AwPo)H(1ZVx&a7H?O1e5?qV4Q9jX9%P-= z;?Jw6YO^7)-mTNzKEA8(o4m>xXLrr@I{%qFM%c8|JPoz8O-sa&Qy@1kHzbD6`W+@koO(YIU^64H=ohF13 zFInG`Ls6%k_D9yB8EMj1)iLqxT)pZ@=R@)V^}Nz4(JO0q5)q!J+JP0p?LJmx=M&9jfFLIIeP@w zo+auDCa^OqF;5{{iC^8dXA=t@cde7gPmQ<{ze7~ zP?zn6t&r+epjfMZUvl1d7NIh>=y@ASlxH;sP0PR<3T%_tm9^+;`acoyZhY3)BlLsl z=;$MVMk6EVN&!@_ZyBD~2-$;!;Ava|m!o+bg9A#jiM5C8t34ph9;B~^4Ln3UTrCJh zh^-PBfu4pNrsuq#=hBMgoW2_Q%DD-`Mx>FCv$Hgh{b3C^W^xlIB|4hegF5WdHg%$HPG z$R9doNH4f|ND4w~WOe}!HDc&4m|asDK3F36U=+!*S}+V5HERBzR{UT{`l6#FPH{Uz zE7-PD@Xu?Nkkgu#B{Yh^B=u;C5*y7E0R)B>Zf$^D6U00K(PIuD3NK_kU0JYAF`J(W zcACQpN*bdtMK5(ZLN%^~BNRZ2BO0J*IAT520GZ6BnTjR!yoTVJ4o{45cp^(LhG+P? zR=NRFGB?@-S1FE2HaF-*H9*YmLvVnoyzOv2^4EMzuJ=0}SMcU=WQRm1e1P+r$H7+KOxf^86-6OIZ z6GjAe{T{CxDjCT1tyV@Obnb1c-|O>dFoeSVbyR!=>J|OTF_)7b%9SofkU|~cu6|z* z!iq)|v}J5jJ>?M1vkGsG#hZhp^x};U@5&ktysP#IK)8xW2_LQ!!Z91372MNfh%agk zo>9CecoIDnq?_tOIed+-w1;vn;hM=cm#dFD*J-Qwdgi36&>OawZ}6OSyX3q9Pj2Li z0LR*j!<8AEx%aA^*T~txlW$JyO1_R1q@K!*Mv_vb@Ef98G|bYD;)eZu<_^o|Ee!fQ&}T z_DO&+dfj|S+2 z!Cl81bC)w6!kksGTVJ+cUuOB2eNeLOV5w~UmR2`~e8h$sZ;jueW^)XP&{=ShW7%}d z6G7@}|YYllVL=W~Opt5U#= zeg0!<-12FUedc36ZlQCJJyNAq*YgZBLDw92pmOpWy$p^$#HkCrtnM1on}264{d+U7 zX=lx5)iq_z4e{yWD8pQ|#QcB-o)5Ia(|=2Zu3vC-{V%jJADBC>Ke4LAld=aduP4D*tBWt~toclYQ$D&bjVQivVx?LfRwMEQw%kK|2zXhzJ_2EXes7;a5?Siss={y&crFS{_`>EA|zYT9H z{4HneA`yRl>J1lv+Y|8j6IMzU{=Uym2mWkUMg)KJz+bB1Z`T_R{sguT{DH&;&7Thv z;kmMC%GO$+M@(LDb;4Me z+yvXK@&Tv6dQWg@KwJH{fpfB~r&aDJEtin{7vV8~_1jwY(}E64q-){-;5K?$s&zL7 z1Lj(#Dq}{EhUJnl`5C7HYnRlIiMMuVSWXwBX zvchE9|I(51D>CNhNyfJ&V@yYeDH-XKah_yoa(5$N9}Vf8M%aYH3Xyx>s9uQ>pe$lfJBx z>Bgq5mdKTo>eqs4+G=Z*JP>bb>}#P7EHRDi_F16B9J&;_lBHdB;g=p)m?1^lNt4zi z&XLYd!BVU81trgiJMui;k>}_7&p%vR4bPMm{#jWK21m->V|0HgwWOMgSfong;(SMc zKARk2VGk`2;+nGA`qnm~v`|Ia#L-zhHEZRj$m9pCe7& z-FO(%T=s!=bAQ3M=d+lQN2d8$FwBm~!I^T&#AQ00GyHgXp3q`-VZ)b1QnH&w5Cus} zc3k6CsUJE?K9YQHDg1$?R2oTXZqjlmDI0Og&kI$j5^}tKOM#BolYJiX?>aIDvZCW= zq;<(iXYS%=__}0dcAQ@ z@=%%`HZpx}4cQ$J$!!g}9S=#I?I}vI$gQuqa_bCNZVeK-g`z?gXFGs#3={r`5$sw`ZiwDp8B^_mgbJ~;50|lKvj`ph6=+*Zc=zriAT0(OS4zA zni4yeNXrAXJ(?6SK$C>{Bad%EcTMF)D0BFrlw}i+4;tS0)LK$q`+>%-Xb+ zgD?_apPp?_n&}psr0S9Q*^!D0E5JfAW{}bHY;&_eIw^_s&r1l6NcC-cT6QqS&{h|u za+~Jd4&>J7+@^Dz?A&H>OZ-$Rn`tJ6o4vt&IY@q#{29dVTWE~2G(*iXMoF10{)`>O zxhdQalKU*MwlpvH3znS(A*rTb5g8zu)GG{U&DdRyjjM?N6T81(ymS%XS8Tr?Wsz~i zF^x}P|G%KnbY*{usjALOIZ-UUQ`i*^_> zwSIH_bB=)gcI-2muX6YEVLCn%| zY=S`eviDMYL8SDf$n{&SuT#Hlj9ANo2$edOk8NjjT0Yil|L_>P$4nVto#yGZ<&iz* zVb+>W9kx8D);YF3X?JC1Qj*{$-BI{rYfOi))H0HQ?COleQA7xV1ksH+u z^_2spKy=vqSD+vlRkX_H4#wHrq&kAF&bK_Amt$6NYD+w+E;j%(g_tr&a;dGw06G1_ zfV)4_ZO>%s0cik{y#ayfn^{j?PeX|B@Nb40Zgw00bvfttI>R&_;F>sTjt%v})(@W* zfon<))>}fLrs=@jQR3Ew5=)qmP(muTu1ZLss_w&a)LbGTn?%7h!PU~1!&3fCr+hX^ z&sULPjNNPvanf?67>_>ZQL3>HtX7{A{8<0~Huus08pHi_4zd>%a@5h{uL{C1X_Z6O zByec(1c52bdQQDM$a-3?;U(Z7GsDZle^W4BN~BmnQ#tDh7`r~#2)~;YdXhc-?lV{> zuQ#^bM#+A4%`q2}W{m`zab<8U3%A)T0n^i})i1q{n^@f%wrFEZ5_AU2pQi$q@>2U$ zUZUrDFUM3bEQh(WtQrOaF-v%Am7t(U>|6QfNxZ&NUgzCGm^*ZQv9bFXSw}!l@s4xs zypDZnt3N4_$T>a|7^yl~C;lAgo%nN{LY(JB?s>Ap(&+4+hs-8&w}2rtO?gkGmJpDh=*-x1s@Ipqj)dwqNdR5j!X zP4LS}R(1NSx4^*Us4uD1eEC5H$<>@6HMU{v0b|w{?9zPxu|v~?Un;HH7BynJ7HEp$ z__vL%3BMMo^B31IUJDg<(rM!7y34IjH@_C_UtiRNF&3G-&_Q#ZC93eo2-2=s-ZO{IyuSyV-G{8y4R0Sl6A*VLLUmTUQ)1| zu3YixuGmpK^4|9BkI(X0XS1tMXP(uiGhLGHiVN3wdg`p|_8i^>FFTD1e+4abwt^Vl ztX@BR`&k})T_VXH@m^xd-~T5EA98QT?<0Bv5?|1 z=o9a|ygQ)xce|9?`(M4bLFBWw;yLnqvk#i|ybugpsacZQQwLJ-F6iss0iEv-?c?2v zeZ9NkFYb4Z6dAgEzOKd$OM+R&r)o zXFRnl_FNTTQ%AzX$kSD3nQ2)WWZ{58n(n5xTJ2B9)6Q`!q1;wLMnPRe2qhOSR8 z91(g=H&X-AdzSLDVcswORF3so65UY3#|xFSAvgKTd%2*A+gyLNB*}UjEmb=1QATpA zFrv}ks$gG?HPF5)vSz!L+~8Cah(<+s;oEo|syo(p%Eg?vZ1hZtgM+swalYoG!OEw{ z@KzvNBZ_ZjBuB5kVM*=vOZ3`@t4OH*x%?HHxS4~rE3`Ww=P{1O%gfDmM)W80g|e}0 z%lRseTqQ3!JNeP2;&&K6aQ-};MOHM}$>y3$J(48B_4L}z?AmniCd2#M(t~UucouK7 zuaq85#QtQbn!;<6f`!^M>Dn`sl8PJWoo>vkuPlw+TPok3RC{;6e6aTJF>>*4atbZp zEn)ZyPYMxER<#OW6)hVrFdC6!x-82w$DhqjIc{|NBV;}yskxGpPf8srTO_4KQYuJk zCWQlI2A9qZgx{^ALdj^AS|!m#3H3771@a{&mlX9f)deafrG%83@|Jp<8Hkk5Hud>> zq;$TvLSG1KN*C(po$~<;-)@@4xi4x zr^3xCk(`-sPQ?e3HQUXa$%o=Ht zmK~LbIFQyzJAeaNqtXfo+8SvCslXeR7B~>s$oB|Fx1Sp@a;I2_$2J&S! z^4;3f#fJF<`K*l7mpZC`Qt`UbM3NI{Xf=NjiSq+#6C7A&g`DS{`14K9v(#i=t?m(P z5!ml8RXHQfOit94k>+O7q~<{MPN5B+RHe}x_erXxSViQLG#fM7GNfY~6$TK19(CPh z9e7+C^ODud)qDeSWxXwTYwU8S84fUN!j4mF$`31<#zY=esgWeLtwHL~zNJzXgps9A z15&r)?_+edks2Meh=b8tCOEs$drXI)vA<_V@)CGwUzHJ6l2os@H( z6b_-yDsfUqIw|?2jCWGfos>dS#yKemey8dwA>}kDWlqZ~&`J|lSq&%!rOvQ@DSt(9p#7V4$^eK5@s)8lxB+9&)MB7QcQ4*O@9_?(m z{*Z|~r|7WZ*5iAg=HF3EOC-=sq`bB4)I|pfyIEGWssyx$MsZ`v&G6C!PGY-o&84Vx z(FbJ-tK}LL6#Y3eJ*yw!kB$I&9~BW53^U?iKSs-$xTWdl+7^zq_B_iEPJhXK*=kay z%FJeK38l(w{>o8vqQCKAZz(VOi+owDzKmfVmpYMC54bNJur5m-au=jmytSDQbmD~f=(`m1J647WAs%{oRu#5 z89S_>k)I(R`mKBerQ}3v>G%@$FCbrEl_ROq?-r6Hrz+=4`HUSn%(ht9r~(yklQIYm z!`G*jI8BXCd(tXW1*UZ?V8jbNVdW$?p+aAEQbH37wpj<85?VM-Up1m@_O8V2uj;F= z?3(?on?2@h>r%v8l$bqTUv*X2>>CoZzoxJHYS-+E ziP=}_tFGvpolACSXT~wdpeLOio%XI3Ym@@2UlqO`)Xt6K*+Pn{l9HMoPRQ^vL)RAst#;GK$v-Flv~LX;6Ixl@=}U!^)zGF5#LqV)4LDYGVc zw$SgJfF{>Fey!-(x=mf#>*cyq_^L(1K?ls~o@L2$E|hpCMvX012M5j@UYqW)UcmdR zWOBlAnB0qtLl$Ar^<@U}O4G_w(Ak;Z@07GL5=rr1lIB@mMM)wtpp$9YMmA~`dQeHO zXkt9)^Na>mQo=I|pHabc1AKRy4y~wd_n@%)~d$pPdaRhi79lr({7O`mjg` zb&e-{7%b4S`H0VXL{5;ETZ&)Ca;DtQ;C6;{JCoa)rIB&OnT-X#rI9ZO%sX499%rk7 zJ@9*))nijI*VU?IdyKF{8CKD+1b-^uI*0r6$Y11D2^RPp^-`oDetJ93cXQA+7L;Iu z;>4EJuls*vORPUbz!zR-85^!!ZOtXp%-VD#)}YAq-8GOVmS5dT)85miO`J} z840KP)$lm|--TDE61yPl5+`M{lftnKSreR;^PH3!q|9+rMmZ@nN%@wOk|inOqm8JJ ztpG%OGt@epc#QF}l7X@SlQN^xFk6hsj4ejdgKBsj#f=&;hx^S>7$<)=S-g^er^dQ248n9{rHhxu@*UdN{;}`&jl#0`h5P%I(W7FPP4U%VlrT>@wZ;yd6DMok&&a7 zW3ypCCvWPj29c@;5rPEi=4;k9tjjY1<1xUte!>8ZgB#h5z(o`g*(q*z(J9&bs_b|T zB7vzPhXPK$s!)6&K!i9V`Xj5YK}x9lrJ8sNB#TqxL+cevAbgnxZL)G1Pv!a#V3Qfo zM_l#rChj-4yeIKeIriGlaw&OeZF<1_nnTH@k&8+r7mT*AgrfKLLec1`DG%wWNwWW* z@>6v;1=*K!zjKT1OL@h)MfRm^b#9S;7nPZB8D>p<8;2cD-ikI0zF><}6QtfSH{F`3 z8ei_Q#&c5^`L(<&5z(KMw*rw6G{^!D^DE@uEy%q&iE{7A?t)$T@_*aIamyLzFW!fp z`HNa1Z23M2d-289#K7~k%ysVBeDJh<+qs87JuNpl_o|F2F_c$jrl|W~*Rdb|xrm!Q zS&vOr;tjS&iKn7Aa1!T4N=H}wWJdI2_LkUe+#F6V=9}E#|DrNkaG4cEA>NJDa(g+i zqFKP|8?9e%m699n-33kS!?IT@^;&hj&~*duD1>s9IY^oLlr*@^+*8nIM5beGOZ0@$ z0qdea!lSGrucYPv=;HJI(eI|}(aX22JU#HE(d~Q8`ciZASmJ!H!`Z7r`IF*fa7$h4 z*v3Hg;ul4!Q!WD5D=cznw3bFMKWIcRDWtqAtK@?evi_vj6qgB|;pXmE5X|=&|)Ivn6RYS0YnOql*elqqn{ii2ix>7AYLP{RFnMX=I9lOZ0dYiy+rhEDON~R{pLo0^wyoKoZCp5 zWX+`Ffd6M~nbf>v7o@;Km3RJ#7x}Z(+Wk5~n0luNy zGstPrf_5n*!wnye*AXwXk9`gY4^l{o>RB%%3SW!2T3Y;qD&>z(9U!G

On(^GKhl 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 Date: Tue, 14 Nov 2023 16:35:16 +0100 Subject: [PATCH 70/72] improvements --- .github/workflows/drift.yml | 1 - drift/test/sentry_database_test.dart | 9 ++------- drift/test/utils/windows_helper.dart | 8 ++++++++ 3 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 drift/test/utils/windows_helper.dart diff --git a/.github/workflows/drift.yml b/.github/workflows/drift.yml index 2b259dc239..3f2285bb7c 100644 --- a/.github/workflows/drift.yml +++ b/.github/workflows/drift.yml @@ -32,7 +32,6 @@ jobs: strategy: fail-fast: false matrix: - # skipping Windows for now since it requires sqlite3.dll to get working os: [ubuntu-latest, macos-latest, windows-latest] target: ["ios", "android", "macos", "linux", "windows"] sdk: ["stable", "beta"] diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 1d1acfe7a5..47a80a1003 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -16,15 +16,10 @@ import 'package:sqlite3/open.dart'; import 'mocks/mocks.mocks.dart'; import 'test_database.dart'; - -DynamicLibrary _openOnWindows() { - final scriptDir = File(Platform.script.toFilePath()).parent; - final libraryNextToScript = File('${scriptDir.path}/test/sqlite3.dll'); - return DynamicLibrary.open(libraryNextToScript.path); -} +import 'utils/windows_helper.dart'; void main() { - open.overrideFor(OperatingSystem.windows, _openOnWindows); + open.overrideFor(OperatingSystem.windows, openOnWindows); final expectedInsertStatement = 'INSERT INTO "todo_items" ("title", "body") VALUES (?, ?)'; diff --git a/drift/test/utils/windows_helper.dart b/drift/test/utils/windows_helper.dart new file mode 100644 index 0000000000..f7b7a7584c --- /dev/null +++ b/drift/test/utils/windows_helper.dart @@ -0,0 +1,8 @@ +import 'dart:ffi'; +import 'dart:io'; + +DynamicLibrary openOnWindows() { + final scriptDir = File(Platform.script.toFilePath()).parent; + final libraryNextToScript = File('${scriptDir.path}/test/sqlite3.dll'); + return DynamicLibrary.open(libraryNextToScript.path); +} \ No newline at end of file From 52cec3b0bdbbdf209d8ed15fba835366295d600c Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 16:40:50 +0100 Subject: [PATCH 71/72] Formatting --- drift/test/sentry_database_test.dart | 2 -- drift/test/utils/windows_helper.dart | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/drift/test/sentry_database_test.dart b/drift/test/sentry_database_test.dart index 47a80a1003..2b3dd96536 100644 --- a/drift/test/sentry_database_test.dart +++ b/drift/test/sentry_database_test.dart @@ -1,8 +1,6 @@ // ignore_for_file: invalid_use_of_internal_member @TestOn('vm') -import 'dart:ffi'; -import 'dart:io'; import 'package:drift/drift.dart'; import 'package:drift/native.dart'; diff --git a/drift/test/utils/windows_helper.dart b/drift/test/utils/windows_helper.dart index f7b7a7584c..e77fb03bed 100644 --- a/drift/test/utils/windows_helper.dart +++ b/drift/test/utils/windows_helper.dart @@ -5,4 +5,4 @@ DynamicLibrary openOnWindows() { final scriptDir = File(Platform.script.toFilePath()).parent; final libraryNextToScript = File('${scriptDir.path}/test/sqlite3.dll'); return DynamicLibrary.open(libraryNextToScript.path); -} \ No newline at end of file +} From 8bb5fae367a5bbdcc48660ea3afeb8b2a0937136 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Tue, 14 Nov 2023 17:06:58 +0100 Subject: [PATCH 72/72] gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 558e422972..55f9d96c39 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ dio/coverage/* file/coverage/* flutter/coverage/* sqflite/coverage/* +drift/coverage/* pubspec.lock Podfile.lock