Add PDF Builder to view pdf document. enable donload of pdf document

This commit is contained in:
2024-06-27 10:19:17 +02:00
parent f757a3ab6d
commit ce3976cd64
44 changed files with 271 additions and 144 deletions

View File

@@ -43,7 +43,8 @@ RUN flutter config --enable-web
RUN mkdir /app/
COPY . /app/
WORKDIR /app/
RUN flutter pub add web:^0.5.0
# RUN flutter pub add web:^0.5.0
# RUN flutter pub run pdfx:install_web
RUN flutter upgrade
RUN flutter build web

View File

@@ -0,0 +1,26 @@
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
class BuildPDFView extends StatefulWidget {
final String pdfLink;
const BuildPDFView({super.key, required this.pdfLink});
@override
State<BuildPDFView> createState() => _BuildPDFViewState();
}
class _BuildPDFViewState extends State<BuildPDFView> {
@override
Widget build(BuildContext context) {
return SizedBox(
width: 700,
child: Column(
children: [
Expanded(
child: SfPdfViewer.network(widget.pdfLink),
),
],
),
);
}
}

View File

@@ -1,5 +1,7 @@
import 'package:flutter/material.dart';
import 'package:patient_manager/components/BuildPdfView.dart';
import 'package:patient_manager/objects/files.dart';
import 'dart:js' as js;
class BuildFilesList extends StatefulWidget {
final List<PFile> files;
@@ -33,7 +35,35 @@ class _BuildFilesListState extends State<BuildFilesList> {
subtitle: Text(widget.files[index].insert_date),
trailing: const Icon(Icons.arrow_forward),
onTap: () {
//Insert Display function here
showDialog(
context: context,
builder: (context) => AlertDialog(
title: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(widget.files[index].file_name),
IconButton(
onPressed: () {
js.context.callMethod('open', [
'http://localhost:9000/mih/${widget.files[index].file_name}.pdf'
]);
},
icon: Icon(Icons.download),
)
],
),
content: BuildPDFView(
pdfLink:
"http://localhost:9000/mih/${widget.files[index].file_name}.pdf"),
actions: [
TextButton(
onPressed: () {
Navigator.pop(context);
},
child: const Text("Close"))
],
),
);
},
);
},

View File

@@ -4,10 +4,8 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:patient_manager/components/buildFilesList.dart';
import 'package:patient_manager/components/medCertInput.dart';
import 'package:patient_manager/components/myDateInput.dart';
import 'package:patient_manager/main.dart';
import 'package:patient_manager/objects/AppUser.dart';
import 'package:patient_manager/objects/Patient2.dart';
import 'package:patient_manager/objects/files.dart';
import 'package:http/http.dart' as http;

View File

@@ -6,17 +6,17 @@ import FlutterMacOS
import Foundation
import app_links
import google_sign_in_ios
import device_info_plus
import path_provider_foundation
import shared_preferences_foundation
import sign_in_with_apple
import syncfusion_pdfviewer_macos
import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
FLTGoogleSignInPlugin.register(with: registry.registrar(forPlugin: "FLTGoogleSignInPlugin"))
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SignInWithApplePlugin.register(with: registry.registrar(forPlugin: "SignInWithApplePlugin"))
SyncfusionFlutterPdfViewerPlugin.register(with: registry.registrar(forPlugin: "SyncfusionFlutterPdfViewerPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
}

View File

@@ -225,6 +225,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.3.6"
device_info_plus:
dependency: transitive
description:
name: device_info_plus
sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110"
url: "https://pub.dev"
source: hosted
version: "9.1.2"
device_info_plus_platform_interface:
dependency: transitive
description:
name: device_info_plus_platform_interface
sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64
url: "https://pub.dev"
source: hosted
version: "7.0.0"
email_validator:
dependency: transitive
description:
@@ -320,54 +336,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.2"
google_identity_services_web:
dependency: transitive
description:
name: google_identity_services_web
sha256: "9482364c9f8b7bd36902572ebc3a7c2b5c8ee57a9c93e6eb5099c1a9ec5265d8"
url: "https://pub.dev"
source: hosted
version: "0.3.1+1"
google_sign_in:
dependency: transitive
description:
name: google_sign_in
sha256: "0b8787cb9c1a68ad398e8010e8c8766bfa33556d2ab97c439fb4137756d7308f"
url: "https://pub.dev"
source: hosted
version: "6.2.1"
google_sign_in_android:
dependency: transitive
description:
name: google_sign_in_android
sha256: "60e4f7947fa413cd9f2e23c955e8406afe640a8b2fbd00b46fb2901058047b8f"
url: "https://pub.dev"
source: hosted
version: "6.1.25"
google_sign_in_ios:
dependency: transitive
description:
name: google_sign_in_ios
sha256: a058c9880be456f21e2e8571c1126eaacd570bdc5b6c6d9d15aea4bdf22ca9fe
url: "https://pub.dev"
source: hosted
version: "5.7.6"
google_sign_in_platform_interface:
dependency: transitive
description:
name: google_sign_in_platform_interface
sha256: "1f6e5787d7a120cc0359ddf315c92309069171306242e181c09472d1b00a2971"
url: "https://pub.dev"
source: hosted
version: "2.4.5"
google_sign_in_web:
dependency: transitive
description:
name: google_sign_in_web
sha256: d606264c7a1a526a3aa79d938b85a601d8589731a478bd4a3dcbdeb14a572228
url: "https://pub.dev"
source: hosted
version: "0.12.4+1"
gotrue:
dependency: transitive
description:
@@ -416,6 +384,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.0.2"
intl:
dependency: transitive
description:
name: intl
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
url: "https://pub.dev"
source: hosted
version: "0.19.0"
io:
dependency: transitive
description:
@@ -428,10 +404,10 @@ packages:
dependency: transitive
description:
name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
url: "https://pub.dev"
source: hosted
version: "0.6.7"
version: "0.7.1"
json_annotation:
dependency: transitive
description:
@@ -592,6 +568,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.2.1"
petitparser:
dependency: transitive
description:
name: petitparser
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
url: "https://pub.dev"
source: hosted
version: "6.0.2"
platform:
dependency: transitive
description:
@@ -752,30 +736,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.0"
sign_in_with_apple:
dependency: transitive
description:
name: sign_in_with_apple
sha256: "0975c23b9f8b30a80e27d5659a75993a093d4cb5f4eb7d23a9ccc586fea634e0"
url: "https://pub.dev"
source: hosted
version: "5.0.0"
sign_in_with_apple_platform_interface:
dependency: transitive
description:
name: sign_in_with_apple_platform_interface
sha256: c2ef2ce6273fce0c61acd7e9ff5be7181e33d7aa2b66508b39418b786cca2119
url: "https://pub.dev"
source: hosted
version: "1.1.0"
sign_in_with_apple_web:
dependency: transitive
description:
name: sign_in_with_apple_web
sha256: "44b66528f576e77847c14999d5e881e17e7223b7b0625a185417829e5306f47a"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
sky_engine:
dependency: transitive
description: flutter
@@ -797,6 +757,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.10.0"
sprintf:
dependency: transitive
description:
name: sprintf
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
url: "https://pub.dev"
source: hosted
version: "7.0.0"
stack_trace:
dependency: transitive
description:
@@ -849,10 +817,10 @@ packages:
dependency: "direct main"
description:
name: supabase_auth_ui
sha256: d8bdfbe957b3028780c3074574b790588c48a4a75d895e95d63404ebf7686653
sha256: "9c12964ee213a0b6d5f26d4e7d5818a57df6a7060a7cf8a16bb54c4e5f46c666"
url: "https://pub.dev"
source: hosted
version: "0.4.4"
version: "0.4.1"
supabase_flutter:
dependency: "direct main"
description:
@@ -861,6 +829,70 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.5.6"
syncfusion_flutter_core:
dependency: transitive
description:
name: syncfusion_flutter_core
sha256: "963e414e06abe520c9d0e039738bc6cbcf8eabf8c5964eb2181a76da1274a942"
url: "https://pub.dev"
source: hosted
version: "26.1.39"
syncfusion_flutter_pdf:
dependency: transitive
description:
name: syncfusion_flutter_pdf
sha256: f1bf84c6b9b8cd4949082adcedd64aa1f4e976fc918e3c3bb43d7d63138efb1a
url: "https://pub.dev"
source: hosted
version: "26.1.39"
syncfusion_flutter_pdfviewer:
dependency: "direct main"
description:
name: syncfusion_flutter_pdfviewer
sha256: "12a9099478a1fe902b14b8614d1b7a03798650b1b993c1c794de32b15d3b2796"
url: "https://pub.dev"
source: hosted
version: "26.1.39"
syncfusion_flutter_signaturepad:
dependency: transitive
description:
name: syncfusion_flutter_signaturepad
sha256: "06b8581da57d14f9f621a8c2fb8f57b240d0f6caed663f3d496491388b45cb97"
url: "https://pub.dev"
source: hosted
version: "26.1.39"
syncfusion_pdfviewer_macos:
dependency: transitive
description:
name: syncfusion_pdfviewer_macos
sha256: f7c014052e72048cfbed0d0dc6596763dae01db31db5cd30c575fc7067a2f40f
url: "https://pub.dev"
source: hosted
version: "26.1.39"
syncfusion_pdfviewer_platform_interface:
dependency: transitive
description:
name: syncfusion_pdfviewer_platform_interface
sha256: "7e8ab84722003c76fd1fef0e7066f96aef67c17951c6aeee35cf6ea38f5383f1"
url: "https://pub.dev"
source: hosted
version: "26.1.39"
syncfusion_pdfviewer_web:
dependency: transitive
description:
name: syncfusion_pdfviewer_web
sha256: "9ca4c40c3b5cf960a2d582421d7179c661c59444d9fa09191b16cddd3d458178"
url: "https://pub.dev"
source: hosted
version: "26.1.39"
syncfusion_pdfviewer_windows:
dependency: transitive
description:
name: syncfusion_pdfviewer_windows
sha256: "0cda6004bdc888bbfc671fc60d7127d349e0f10a509c3177a8acc2b2a32f0b9b"
url: "https://pub.dev"
source: hosted
version: "26.1.39"
term_glyph:
dependency: transitive
description:
@@ -965,6 +997,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.1.1"
uuid:
dependency: transitive
description:
name: uuid
sha256: "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8"
url: "https://pub.dev"
source: hosted
version: "4.4.0"
vector_math:
dependency: transitive
description:
@@ -1013,6 +1053,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "5.5.1"
win32_registry:
dependency: transitive
description:
name: win32_registry
sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb"
url: "https://pub.dev"
source: hosted
version: "1.1.3"
xdg_directories:
dependency: transitive
description:
@@ -1021,6 +1069,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.4"
xml:
dependency: transitive
description:
name: xml
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
url: "https://pub.dev"
source: hosted
version: "6.5.0"
yaml:
dependency: transitive
description:

View File

@@ -35,9 +35,12 @@ dependencies:
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
syncfusion_flutter_pdfviewer: ^26.1.39
#pdfx: ^2.6.0
supabase_auth_ui: ^0.4.1
supabase_flutter: ^2.4.0
http: ^1.2.0
http: ^1.2.1
#internet_file: ^1.2.0
mysql_client: ^0.0.27
args: 2.5.0

View File

@@ -33,6 +33,14 @@
<link rel="manifest" href="manifest.json">
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/pdfjs-dist@2.12.313/build/pdf.js" type="text/javascript"></script>
<script type="text/javascript">
pdfjsLib.GlobalWorkerOptions.workerSrc = "https://cdn.jsdelivr.net/npm/pdfjs-dist@2.12.313/build/pdf.worker.min.js";
pdfRenderOptions = {
cMapUrl: 'https://cdn.jsdelivr.net/npm/pdfjs-dist@2.12.313/cmaps/',
cMapPacked: true,
}
</script>
<script src="flutter_bootstrap.js" async></script>
</body>
</html>

View File

@@ -7,11 +7,14 @@
#include "generated_plugin_registrant.h"
#include <app_links/app_links_plugin_c_api.h>
#include <syncfusion_pdfviewer_windows/syncfusion_pdfviewer_windows_plugin.h>
#include <url_launcher_windows/url_launcher_windows.h>
void RegisterPlugins(flutter::PluginRegistry* registry) {
AppLinksPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AppLinksPluginCApi"));
SyncfusionPdfviewerWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("SyncfusionPdfviewerWindowsPlugin"));
UrlLauncherWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
}

View File

@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
app_links
syncfusion_pdfviewer_windows
url_launcher_windows
)

View File

@@ -79,5 +79,5 @@ def generateMedCertPDF(fullName, docfname, startDate, endDate, returnDate):
myCanvas.save()
#Def get
#uploudFile("Yasien Meth","Dr D Oct","18-06-2024","20-06-2024","21-06-2024")

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
database/binlog.000036 Normal file

Binary file not shown.

BIN
database/binlog.000037 Normal file

Binary file not shown.

BIN
database/binlog.000038 Normal file

Binary file not shown.

BIN
database/binlog.000039 Normal file

Binary file not shown.

BIN
database/binlog.000040 Normal file

Binary file not shown.

BIN
database/binlog.000041 Normal file

Binary file not shown.

View File

@@ -141,49 +141,50 @@
4243767282,0
4243767281,0
4294967293,0
4294967279,85
4294967279,202
4294967279,86
4294967279,87
4294967279,426
4294967279,427
4294967279,89
4294967279,427
4294967279,203
4294967279,204
4294967279,205
4294967279,428
4294967279,90
4294967279,91
4294967279,205
4294967279,92
4294967279,206
4294967279,429
4294967279,430
4294967279,431
4294967279,93
4294967279,207
4294967279,429
4294967279,208
4294967279,209
4294967279,94
4294967279,93
4294967279,431
4294967279,207
4294967279,432
4294967279,94
4294967279,95
4294967279,209
4294967279,96
4294967279,211
4294967279,434
4294967279,210
4294967279,211
4294967279,435
4294967279,212
4294967279,97
4294967279,435
4294967279,98
4294967279,213
4294967279,99
4294967279,474
4294967279,99
4294967279,437
4294967279,100
4294967279,215
4294967279,277
4294967279,214
4294967279,215
4294967279,218
4294967279,216
4294967279,101
4294967279,218
4294967279,102
4294967279,217
4294967279,103
@@ -194,29 +195,29 @@
4294967279,219
4294967279,221
4294967279,223
4294967279,225
4294967279,105
4294967279,106
4294967279,225
4294967279,107
4294967279,511
4294967279,108
4294967279,227
4294967279,229
4294967279,232
4294967279,234
4294967279,227
4294967279,511
4294967279,229
4294967279,231
4294967279,233
4294967279,109
4294967279,110
4294967279,231
4294967279,233
4294967279,438
4294967279,239
4294967279,111
4294967279,112
4294967279,236
4294967279,438
4294967279,239
4294967279,241
4294967279,235
4294967279,237
4294967279,238
4294967279,241
4294967279,235
4294967279,240
4294967279,113
4294967279,114
@@ -224,73 +225,73 @@
4294967279,116
4294967279,243
4294967279,245
4294967279,247
4294967279,249
4294967279,247
4294967279,242
4294967279,244
4294967279,246
4294967279,248
4294967279,117
4294967279,118
4294967279,246
4294967279,119
4294967279,120
4294967279,251
4294967279,253
4294967279,439
4294967279,440
4294967279,250
4294967279,440
4294967279,252
4294967279,254
4294967279,255
4294967279,121
4294967279,255
4294967279,122
4294967279,123
4294967279,124
4294967279,441
4294967279,449
4294967279,450
4294967279,451
4294967279,124
4294967279,256
4294967279,450
4294967279,442
4294967279,320
4294967279,443
4294967279,451
4294967279,125
4294967279,320
4294967279,126
4294967279,443
4294967279,127
4294967279,128
4294967279,459
4294967279,453
4294967279,128
4294967279,452
4294967279,444
4294967279,453
4294967279,454
4294967279,445
4294967279,258
4294967279,129
4294967279,446
4294967279,445
4294967279,130
4294967279,446
4294967279,131
4294967278,257
4294967278,428
4294967278,280
4294967279,132
4294967278,4
4294967278,257
4294967278,258
4294967278,413
4294967278,261
4294967278,4
4294967278,5
4294967278,262
4294967278,6
4294967278,7
4294967278,293
4294967278,8
4294967278,281
4294967278,282
4294967278,281
4294967278,262
4294967278,293
4294967278,265
4294967278,264
4294967278,8
4294967278,263
4294967278,291
4294967278,264
4294967278,265
4294967278,9
4294967278,266
4294967278,10
4294967278,11
4294967278,283
4294967278,284

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -17,17 +17,17 @@ endobj
endobj
4 0 obj
<<
/BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 100 /Length 1071 /Subtype /Image
/BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 100 /Length 1159 /Subtype /Image
/Type /XObject /Width 100
>>
stream
Gb"/b8TFnf$j6,$:HR1X8-GC230ea(RqW4&]DQtd)Y5hT9#S<2R'&'gpTX!mlmK->]IX`N@_9*\>H*:Hbn"@jWPU-di4\Qg4g(ebYJ^G]W)Ju3h2,E>EP#FWBbu,nI1MsRQW5'l)cl[_p-,Rbmk(WP@C1q%YO/oJCU^tfX0(4O5-229g\WIZc(N&-I<Dafj6egTX)D,1^/ZXGOO`=gqs7pC:Ypg@J,;''Dk5&#mWGp;^[cf&`S2`@pj<pZ.M(kOmk8i<eJb_#%m*++CY.k.^&JLA?'gs=5A8_mJ"$&(enIDXX0DF(<r?grV*i,!?B+]@@4P>[nPg$3[I%F/lofW*)2a32$$!5+Zs$RGrL_u-_q:&4EXc("Z-LI$6_1Fo7U'5*mGY,V`O?jh*N3nKCHL@7#jUS]7H0"9O/F.7(Rq+Pe=(RJTT6.bA_7a^LAqZ_gRGJ17=joM!#tC4[lU`6l)pk-=h`JgCqRsJlG.S=]9_Gfq-F<1nLf0h"5=:!m@K:n_nD%<J"#Yo0Ft4g\pQVN<INV2dOj5@aF.\pi.Mi;/LqkH::F3S]fN39i'+7;5-4ONKX#mi<SbQuK*kXakdMC`'k%9bTr&i4(=I0kL9dqM[tp-$LS_B3=LM6$((p-,Y`r0-bNbPmUP2Y&6[*t`bBB;\@Y>JW&QU03eqBlEa&]0WAR;:_dJ$I"XNk<@dn4J#Dpsa6oKK?Im',KS[sOL9$@`G/bJ\S-@T[!#.]g^E'q\O[C2[fcV=\g]X5e>Ll.BE%@!*mSh:ki^bh]7cYPW'&G\[QQm67WHrW?9mnC;TL<ZAjl2I9Hcf*SMNT[F.Ioq9a\RW]4(gA>`F$E7UH5(o^&6RH5a4uZ*I^gA%T[eH+iGNIEi<dYt-9"S2LSSHMtQ;'TFnl.YthoZ-ZLXe1`l-,m6(?Z7%^=CoRiH<5TXu=?0FoF6Km9YY@]cO44e$3DTLK,Y$l\F$J@9)R-$?cqk0+TSS>!K+*8jE6CXL=7mIeA*4$;O^nJZSKCC(O8:Sp,`Hh)[U0T!/PP8>EK>A&WS8G]04lK5nOR:KUcuYWC1XD!)a;#?gT~>endstream
Gb"/_bB>0d#Qs8iIlaoS>>g$#PERgSD:#&l^1I`DY;Jot\t#.j0$s?sls]6>ZVk+l8SkY[O(Ct`N*XX<AK.V'eZaZ&^>jB><Dut2!=mUVAUSc32lsOF'is0;Y'JpBo6"!^M8$kW?>]FlQ1qu/WZ&mh`:2WdqB#%4qnm/a\(r-,>J'::$554?nb$2TqtG:.R(q-p=Rj*TPon*4E;t!&]tPl'_i!?cNR^NhRDsGX:$JkMhpCoE$nFMkN0VNf42UrO*DEkq<8gJc;*X?1\l\Y+#-0>/(c!/PZm?aC-+^-<?GS.mYJZC<C0::nYY3c,JoKXn48/BPW`D!Z$GqAWmF^12W`mr[.L69N[pqW4I@'0#f&4*"?1h4'%6-hL6\&tAgpa6Y.Tu4L7cciHk;qJ/'\18ghUf/&rN4/F)HKpAq5[N6[o3Ya]NVqmcms/^iuUp)2AO68Go)a3jFQhnj/_]d.Z@a+/h/Hp"65Y5qMss)[jq,obU10c_[J%/k0Q7HLC>Dqa*Z<eZ+UOp**->9SZGHC]MpQUU$R'ka7"2$=:M<GCsQkH0itj,<]g..dfM:U1T^@fcd,I5k-:-]WQq8Tp"d[PBgsGSFXa+IO0[;[+/>_ORDd[QOQnsN<o:B%0O&[N\)(_O'cO@-^(MDdAs;S.dhofI#iV#tg9PIC=IIg[I9;p9\-(V1$IKlK]Z!_#_&1N,^-<;k"LnXZ^pQ-b0DPNCi"4fbKE0W`^p:0_I.*?#<f[(-3^2)u1AdmTdCi^UL%P7>^MW/kLXitM'S[?Mp[')tpeIpB_jF&=K^fOb=Rd800i^&1?BBoipZGe)S(8_QLG8G+g?SH?++A@iL5GB(<7TTmX#b5kpgH%]e9d%;[qg2=@FTbG_=C"Ia8<(Z<[?!==N,$ZqjPZ_<9I-P<drBMmi7e!)7F_'L"5-Ie"0`jO"l$L]-uYI.mC.Gj^"Um:Xs.7bN9=8*i6d39A*_8@J*Ar5-sMA`An("+*G#2GTF*YX#2Y"SR9Xa].<D2b2%8#V+Nf!GeX0])HOOr^Ab$5.35_<)--nUA?S5!L6Y"$=]Y&u\bPT.W?*QL_hnt8j[Z;Lc1nG.qX/_s`NIc8^MWLL267\u];q#JL@5s&`9o=Nb#92n-LSoRgMF*P>(Ccn^P1sLXCgDg#ON'#5Q~>endstream
endobj
5 0 obj
<<
/Contents 9 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 8 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject <<
/FormXob.dedcbf51b54970828e09ce961fd66ee7 4 0 R
/FormXob.a864f8048b8deb389d345068e0f01419 4 0 R
>>
>> /Rotate 0 /Trans <<
@@ -42,7 +42,7 @@ endobj
endobj
7 0 obj
<<
/Author (anonymous) /CreationDate (D:20240625151653+00'00') /Creator (ReportLab PDF Library - www.reportlab.com) /Keywords () /ModDate (D:20240625151653+00'00') /Producer (ReportLab PDF Library - www.reportlab.com)
/Author (anonymous) /CreationDate (D:20240626135150+00'00') /Creator (ReportLab PDF Library - www.reportlab.com) /Keywords () /ModDate (D:20240626135150+00'00') /Producer (ReportLab PDF Library - www.reportlab.com)
/Subject (unspecified) /Title (untitled) /Trapped /False
>>
endobj
@@ -53,10 +53,10 @@ endobj
endobj
9 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 445
/Filter [ /ASCII85Decode /FlateDecode ] /Length 447
>>
stream
Gas2F:K)m"&B4*cMK`$48s>LS8%%a6)69OW6'!i*MaF-Lm.B$?[+2O,3b0A;g#%.g$O(5tg>>=*gi*\"'U4/]TUtJ#hdaNo1Z.F,iPiOS69d^P;`BTn#e\(Zo*6NX0Z(Iqn9=B&?Q'"k*K?Ut0h-=;cXP.1RZ!uWXfP3f[9Fl:U$"$("G(EMYOWV!1)cm"DI?M%_<^dRDXr>RK[6ktC=H-2/2nD1GG3&o5V$qfp#Z#;Tb1K_YQSTZ\6-jJZ;FbB3oS!oWD]g?oeEPe9'ZO]V+Z`+k-I;)T$!<HRP\)aJ)TmUo]X'^3\Lh>dPR4MW$&B#Wlt,"0"^^a]bX]il&=u#g-)a'?OeAmS'jLT,eBVL.%T<r=65?H\uABB1@sbYpYq9&/<V7o1(Iu`#(`!^`nG^ls$"s$-QSbJ1M)lMKh,1p_J`Sb1U^Q)q#O0)]0u~>endstream
Gas2F5uWCi&;BTNMK`$4$:u.L33$hnc<)*(%XOo^/..6^e5$%W5[,1CVaCXiS,M3u>pr6bdI*T,^l:`9VP">Q#N\.)]Z3QhB>2h8K#aS2#%<0N9RS'n!EnB576M:V(h*=Tnf@;dQc?g394K>ON0,-=405F(MDQc%X(kl"c.8n)k]r(060+JuMdhNT=bF(kDI=9;`U!3`DY/JD85?BaQ<5W51#HC6gkHlZ!Me&.eWgsHIuUsiOWuh__/,fKad(-ZgBo=Z.\1!blAo>@/rV6Af;<T@=FG>tRo>#9b>hU,[mO8fOm`79?5I10>1loX%i#M!KXr#VAokQ,DS8$5-"]Y.ICH+lNu[5I7g[kG1s[M*mO+K)?8+9[oj['4+sNTd_SobjC>KbHf&n35KH`Ej&n29/pU'sKB\6$_S=DBHNi-$KkdH3&WbuG8\:XGWllN`.~>endstream
endobj
xref
0 10
@@ -65,15 +65,15 @@ xref
0000000114 00000 n
0000000221 00000 n
0000000333 00000 n
0000001595 00000 n
0000001861 00000 n
0000001929 00000 n
0000002225 00000 n
0000002284 00000 n
0000001683 00000 n
0000001949 00000 n
0000002017 00000 n
0000002313 00000 n
0000002372 00000 n
trailer
<<
/ID
[<6b30cc1ade908a7927c384b5f230df56><6b30cc1ade908a7927c384b5f230df56>]
[<36b4836a753ad82170aa5ba05dd47b32><36b4836a753ad82170aa5ba05dd47b32>]
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
/Info 7 0 R
@@ -81,5 +81,5 @@ trailer
/Size 10
>>
startxref
2819
2909
%%EOF