From e52458e5ec236ca099958c7d6a8f5c7cbec4f3cf Mon Sep 17 00:00:00 2001 From: root Date: Thu, 22 Jan 2026 16:44:46 +0300 Subject: [PATCH] Added BRD --- ...ents Table - Student Scheduler System.html | 398 ++++++++++++++++++ flowchart example.jpeg | Bin 0 -> 21842 bytes 2 files changed, 398 insertions(+) create mode 100644 Requirements Table - Student Scheduler System.html create mode 100644 flowchart example.jpeg diff --git a/Requirements Table - Student Scheduler System.html b/Requirements Table - Student Scheduler System.html new file mode 100644 index 0000000..a6b673b --- /dev/null +++ b/Requirements Table - Student Scheduler System.html @@ -0,0 +1,398 @@ + + + + + + Requirements Table - Student Scheduler System + + + +
+
STUDENT SCHEDULER SYSTEM - REQUIREMENTS TABLE
+
Functional Requirements for CRUD Operations Enhancement
+
+ Document ID: BRD-STU-SCH-2024-001 | Version: 2.1 | Date: January 22, 2024 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RefCategoryFunctionRequirementDefinition / MeasurePriority
4.1 STUDENT RECORD MANAGEMENT
4.1.1Student ManagementCreate StudentEnable teachers to create new student records with mandatory fieldsSystem must capture: Student ID, Full Name, Date of Birth, Grade Level, Emergency ContactMandatory
4.1.2Student ManagementRead/Search StudentEnable teachers to search and view student records by multiple criteriaSearch by: Name, Student ID, Grade, Class. Results must display within 3 seconds for up to 1000 recordsMandatory
4.1.3Student ManagementUpdate StudentEnable teachers to modify existing student informationAll editable fields clearly marked. System must save previous version for audit trailMandatory
4.1.4Student ManagementDelete/Archive StudentEnable authorized users to remove or archive student recordsSoft delete implementation. Records marked inactive rather than physically deleted. Confirmation requiredMandatory
4.1.5Student ManagementBulk Student ImportEnable bulk creation/update of student records via CSV uploadSystem must validate CSV format, report errors, and provide summary of imported recordsHighly Desirable
4.1.6Student ManagementStudent Photo ManagementEnable teachers to upload and manage student photosSupport JPG/PNG up to 5MB. Automatic resizing for display. Optional feature for attendance verificationDesirable
4.1.7Student ManagementMedical Information TrackingEnable recording of basic medical information for emergency purposesAllergies, medications, emergency contacts. Access restricted to authorized personnel onlyDesirable
4.2 CLASS SCHEDULE MANAGEMENT
4.2.1Schedule ManagementCreate Class ScheduleEnable teachers to create new class schedules with time slotsMust include: Subject, Room, Time, Days, Maximum Students, Teacher assignmentMandatory
4.2.2Schedule ManagementView Schedule ConflictsSystem must detect and highlight scheduling conflictsReal-time validation of: Teacher double-booking, Room double-booking, Student schedule conflictsHighly Desirable
4.2.3Schedule ManagementUpdate ScheduleEnable modification of existing schedulesChanges must notify affected students/teachers. Historical changes loggedMandatory
4.2.4Schedule ManagementDelete ScheduleEnable removal of class schedulesCascade delete of student enrollments with proper notifications and confirmationMandatory
4.2.5Schedule ManagementRecurring Schedule PatternsEnable creation of repeating schedule patterns (weekly, bi-weekly)Create once, apply pattern. Easy modification of individual instances in seriesDesirable
4.2.6Schedule ManagementRoom Resource ManagementEnable tracking of classroom resources and equipmentLink specific equipment to rooms. Check availability for special classes (science labs, computer rooms)Desirable
4.3 USER AND ACCESS MANAGEMENT
4.3.1SecurityUser AuthenticationRequire secure login for all system accessUsername/password with minimum complexity requirements. Session timeout after 30 minutes inactivityMandatory
4.3.2SecurityRole-Based Access ControlImplement different permission levels for different user typesRoles: Teacher (CRUD on assigned classes), Admin (full CRUD), View-Only (read-only)Highly Desirable
4.3.3SecurityAudit TrailLog all CRUD operations with user and timestampEach record modification must store: Who, What, When, Previous Value, New ValueHighly Desirable
4.3.4SecurityTwo-Factor AuthenticationOptional 2FA for administrative accountsSMS or authenticator app verification for sensitive operationsDesirable
4.4 REPORTING AND ANALYTICS
4.4.1ReportingClass Attendance ReportsGenerate attendance reports for classes and individual studentsWeekly/monthly summaries. Export to PDF/Excel. Filter by date range and teacherHighly Desirable
4.4.2ReportingStudent Performance TrackingTrack and report student grades and attendance patternsVisual charts showing trends. Early warning for at-risk students based on attendanceDesirable
4.4.3ReportingTeacher Workload AnalysisAnalyze and report teacher schedule load and distributionHours per week, class distribution, identify overloaded teachersDesirable
5.0 NON-FUNCTIONAL REQUIREMENTS
5.1PerformanceResponse TimeAll CRUD operations must complete within 2 seconds for up to 100 concurrent users
5.2PerformanceAvailabilitySystem must be available 99% during school hours (8:00-18:00 Monday-Friday)
5.3UsabilityUser InterfaceInterface must be intuitive for non-technical teaching staff. Maximum 2 clicks to common functions
5.4Data IntegrityData ValidationAll data inputs must be validated before processing. Invalid data rejected with clear error messages
5.5SecurityData ProtectionStudent personal data must be encrypted at rest. Access logs maintained for 1 year
5.6CompatibilityMulti-language SupportSystem interface available in Russian and EnglishTeachers can switch between languages. Student data stored in original language
+ + + + \ No newline at end of file diff --git a/flowchart example.jpeg b/flowchart example.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..17fef038ac539c2813396010fdb3ea27a1b233f8 GIT binary patch literal 21842 zcmdqIcT|(x);Aivh^UAGq$(gtmlCRABlIGW(2GhBO*(|8xIqC4(xppiDFmb>KxisL z=tv1Abm?7sha2}kXP1_stUY#g_4b8~Y8S$O$*x%fG`xVe6loH~F0{KX3wuhGz4<6>lBc7f)rJ9zS!63vinL)EW9yC*J|=R3}fLIYljif0k1hs6L)OeTIe#8(jmOI&b}UxEH14Nff~4Zy^bjbazEDd zjLj2K?vyM6=6DE9n3!y`Sn7;y>7*T1-myC%3FXMH`P04`JgJ57Iv z9`FFL^y%M-|6i?oM33j9woJ+MXqW!2;?`%TZ=Vx3^r8@6NnU1THStU-H&V<_mKVNX z)7i>F&SlxHa?CR^B|_kxqm6Zf*A2`v*$8SBF+1ruypDW$fN}PW zrptZAzJACLbKEZiGB0HEbiE*#5C6StVC@YHcHc9u=Yp^Fc~)=y5X{4cjJc!KVYE4$ z?&7h9&<>Vns2Iu12l^7R099bB$sSzl7YyYde2MkS4ZqW<5qLS_ayHmy-7}(hwu(fP zp!5y%{Nd=ST%9u3`w#=;`RJYgN&{o#$b4%49T%QESMpz zGa2d~idLN$$W)Plp-0Y4CVU)yfp3cV*lBXAI3#RKLkdGKm9oS!Y2b*HTE=IE1A(5O z@ooOUP&0TR!_513-~6`;s^m!=!d(sbEAo}L%$?H6Ea9-|XBW6=EG znvGDd)RjQojT{pQbS_Of0B1x@l%|G#$}P+*%=0p56^U!3P=b(l<> zF5>R^vTtD15VQKUgQDCcRjQ?Q+*qzB6bosa-(6{7g?6|jZC<7uKa~UBh%@MBStsF^ z$xs7*c8&BrZY77ZQF%SaMUZ1c`P|Vkyhct@0K;xMaMOP=%Hf zYX{OBhG1Sk6?$o(66rv(Q(K6j<@kg}<=`r~w#91^HV89bC@Yt=mtpL4CRvE4+vAG9 zq2R1TIvY&ab;FvD-g~BteU3_tUFCjyMir$rB4S|&F85!}-Fm*X^HEf)w;(r+z?=Y; z7MQ=24}b2~5X&X2_$`_&wUdvjQXh<6^tZw6Jc2@vm0IynxQ$s5-|*L!4BWM8{+MXG z^6nhi;d75P>`Ik`IoLa8#9D2xh!GPR3Rcoix3Ye3)U|L}BmEhjQOl<5k%nJ()HGj~ z3nN6pcl76%j_DnjdrH)8G%?7=8SVsKdZ;c#$SuZ;lHuNQ&%&DRD`mG(L&NFpCCR<9 z;z-=EVMS;YqETjAmx0-A?a5Y&-`rX9oOeDDvjimvcC zKj#D&YiFW%yd<<#YTjo0_Ml@g z5Cp+9fkyIT>}Nd1Mg4e`S1{}2ks0$cZd?sz=CWu!9W*4vgy>lPbhEJB{H}FwtP#|$ z8&raqPTdH6<_swpkel{-4t?^ppmF^Pm%PvY(oltpyXlA_l(VVz5Kx$q!XkH9Y|^>63L*~^OVsVKM5vkT_nE5L*_$FM!lEy_hz65t`MCJ) z1!#nt^;~MBic6uzjwq98C={~4?2~;0xajSJbL6w#Oc%BBK5H&=>`_-&l{Q<%>pty- ztTyHQMC^WK2$p+cB)}YP)g${2`Rgga!XHC}?ps3ho8=`yV!fI{yhkO@@R3}z0C!CA z9p9|oCGTl_0z7Us$$=~12ANWlv8p4El;e+CooC*(&^F6IHygj2bSFu}XmiNcCB5va z=}kpB;m_N!*#TeX4B z8lL!lm##;SA%?DM>_B-dl_GH!Y|Fl~Ug?S$wx zBt2lXz`|)stzm>ZMOm}J^*-;u$W>=d&m(Js$|HMZ9ugTT|3P0VrnnLct=A7ZrPjR- zR>9c8;``8DNi?1#5)Ndbc&v*6C@2@A=&kEsHgu%AqLI>Y*&v0b#XslzL?Hs=8P4Mh zp4u{Ww-BsNUmrqt$=M=y7x5gK_(vY29^EAZ%2G~M@~ySu8L}3oGgXi0Bcn#j<&GXW zp^E0OtLO+zKs((<-Dh9^ME7FTPCYFAP~Ez~S)yn^#__4=GYO6yb@gHb3+BSCGT=Z9 zPO;qu*!)eGo*|!*n;(luxQw4GK|GvwV2>)J*IZRIPXOp%*YLP+yVF*dtQ4FFTQV3t z6Y&viTX3rn*^g_5)DS$g%HOrD zq&y*Wd!oX0Zl!O2uF&%Xv|D>*@D?hHgOu;5>wA~kal05l==@oyN4yYOqFfKAh7ab# zW{9aiUf&%m4;SXw<8lI#(>7|&C%JA>o9(&2?EHGgek7~ToUmZ-0=sU$=TXU!d@8X- zue%sQ@|Wqje_>&SKF>JN^gA5hn`9GXZL;#+PN%xEwR|n@wcgV4td289YQ)jnPKO=n z3B8&hd1(g}zhcP67YGF^x)+oCm8$kXE=%7PaOxA(GXIvLPN(2tMgO6^#J8YCp6C%5 zQMdr2_nTTs)sEATG^yI zfNmvWl1}q!6U_+z_zwATLsO#+8mZZ0AK4{OHMat@>^R!p#EGDujiEzN?{vPLya*P! zx~(J2rIfeDsK(jAmf0%yz%9KN>|h@P?JN)TtckV#dg;+6wMPs@UOwJ({$ZrghgNeT z@79szzSf4?Siu1}?Afrh3J zKGlgMkg*!(dWtNeVB7Vah+*W`v`j$5jzjT~kayoxqd5m$ub2S#R(5D{G0?A&{@!ye z!7JN^iN;Yx&Y&4;EKxqD4?3&uKQiWyv4PNu52v_V8_GB{N=B{pG0k`j6D}aV<%m)_ z(b|FEJYlQpO`-l}G82(zealQb`ra0CxhX8{#%vN?B~t_G4RgKQN2jyt$I?UXc)VQ& zoKx*7>V#gsc~ds1Fj%>zHNbuf37cz^}ShbOr%_SSS#jAqa8vaB%xE9OL;IqsZ(YBVoMOy zgb@qOR3i}k{>TV)u$bj@0zg!VbqNNa>v;}sUOu>8xxW$j>C@nGOnw$7C%1ds$bM1U zpZDV23rF5zZ{zBBAI(Gq_PskjBXOF9!jC05qO5_f9`17Bbyakz_l#JY*W@i|Dx@Gk z8tP=5yCD|8QY!{Gtfa3n@|C||F@06Li|deYA$HJ-(FxZ#iuZypve-P&F+lnRPI;8{ z{z6e~!*LZBn;^!Nu9$u!$s;%!(*1qG{+XvX3~%M+3b*maOqhgE2(v5XEp0QK-^pm# za*9Rc0@@>ZK?eg<)0(qvl^CB_$Xg+`lc*X!NdusY*=!hN59w0gLFPcACf{4^to~Y0 zAMN?FElCruy2VADVrE3d#l^c>>dJS7imlch-udjrv}^K0TkA74R)&zC?TER>&{Q1? z%F!$$QddKT&0RoL(vZu>J;-fNL7-i=e4uPPD=ESI0GkSC(JVS#Ub6GAZ=;Jy5L3JE z6GVQHvpq~aUPF7m5r(qO&PdxjCZSrs>^1zRqAeG-?5@m!Z6= z1%YZ`>V=L+F1!26``U9xn@;t>&w3~rQ}ic$rdwGj3x?*3cW<)}3fc^Lhjbo#)oMw9 za>BFJlAgej6}|o3cNZzqc`@7`^Pv@S#RJtvW7JH5(dXXJ5v(U^+>c zOCu@Y(N|^@wgz>o8lB85%=Iu8ay(l&0#$dS2hA1=HSq z2A7Uf#MoL#-vrN0j$fN}{p=@(!yZ@RggW zqy)CONQTU${Sp)l0!|8blbhxBd=lrNV9fk1L$~ADg>CK|2Z( zuINH6y!n3Tiy0MBkOg0AnRiE!+E6XYua)^tuz%c4VvUhQUrnlmAP70_f*-s)k8)8B zhhBCzAB>^bl^}h~e_M7Ostxyk(@>N)20fKqv6dm8$rwZk9OrmvszJ7kJn7 z$eaM)bRT2(I*HD7`KX1T=sdhWNtd>3t*O@x-`wn%D(Cf{ML82_=Uc$NIFzbEbRwyY zuHczy@gWg;gsi4{+Zart`vgNY$NKF_^Qbw_IK~q|uchp>XV1!SmKaDys^4r-OP{%o zG4T%0bAotn_Bn!ud6*bIy)>h+;ijRQqMUo_+Zh&Q$`jhdh9~=xv(j4KFTwJoKIJzR z+W9&@cgNXK9x)xC18;!>W|8xy%VKc+Q_~d!OdTWW0WB+5C4Z+*eI(A)tS|UZ18*4q zvC4KQ#h_vquG};CgW<){gFR8#Bk)E>WKeUNR>|}^uR84?Ukx=kV{e)?j9SIT<}>*I zq_GoGi^}Ux9kWc!`EZf)>OXGh{~s^7c~V@uUGN0qk1*B*j8}ePE;3ftMwz>u?cMLa zyH44Z$mjuhPx%DE^X7+$gQu*Qn1nInVo@T$yhhd6Z|pUM$n}_Gl?$Kb{hgVnxepOn zA65=m?$uj#srbD4<6n*5+Z53jl|43&S1V?R8-Pv*F|2x%>1Yp?+6iW!#b?Nm<>eCY+6KZDo6#mg&wGlau18*1V=f}mg_dX-g zZVAuCCPgaG0j`z*cf;ZoZL^k@;V=wGFlYz!sff4rtv+W8LGCnxZZ5uIn<|e77Erp3 zb_pSu9Q&hoCdQ^E+Ej`JSL^Fq>^@HHM(eD%%s#J^G5a1*Dq{Vs6~113D1Vse_x9c9 z2|y@4>~O;4TE^*=t;xV$pFPcus}_c1Z-e7I@2zoUPRD&7RlHYO>#lC~PjUs{u^{$i z{rmOb;lYWf-mDv;ZI86zYqf{60o2CdQmsFeXE?Zf4ogV?W;m%qqU}FaRexBfiM;q9 zc(v<&cfZY?lUQs#h+Z6ib2kFXye=-8-g2DlS@HYa7)moDYX8yzWmF1&mLN{J6lpJ=Gt~ zDc_v6NweHsSgYt0_hgQFgnExBTA>m&M(S9%4?M$OkDk2{@N8P7{Q|T1Kj|<2O@9;dx_2W?e)a;t_p5*S z_nVb!sO~RAf6}K>>A(D@U;T@|#9kQfNL%~Esh3HxQv(c@BME8ehfDXkwZ6}m=v9f! z@?xHsPDaqJZ4!hMBfe{3zS1dX>|k7ulzr=H>jM6caIOE5zo0+6aQv3S>H6y)@CoTOZ2iTL z<4bFd?5Pwy;>U|p3Qu8)ax1*uT*m^n9|8LVIvVXZgxQ>KV2I80i=Q<|$dRXK4>z2d zry*~w^MC9R^9|)vGBVU*O!zo*E=1!D+q9A++EjRh0f|p;h->Zl0820MVQ$zfNFqa94r+Lp~>TC7FR) z)AgnHeM4-RUqUWaVh)p&pZvlzrjYG(+n{kPx*ZDM4+Sx=o4hEkZMQAuaQy<%1^`4> z^*M>thF$uBOLjK58*B3(c(oKEZ4U-ITC_`>HtQDb=4mT}F9Kx4UjYD*LMzSrvMMS3 z6M5EM{k?KGc|3=(jLfss3|>Apm^|@UwqJ4m3$0qjyga$Vyr>_=1}akN>taCGTAT`( zfM85b-%mFZ8;6?LatL2#99fH%GBT^QVC>Tq=_}~t9+BD()wH2+s(v*T4m!|AmyZgh z>paG@bF<6}=x7Kjl3Pezu6S{rH@!agt}hCoKrrS)t&OlAwF07M^F12m2}M^5iu5LbC7Bsb6r>~? zV_Ai+_*+|i$#koV27f_OShorfp4W@n>(P z1QC=0$Si&nbQM^2rTVU4!p9E?mGQU!wl&KiC-q8|I`l7Es5=Zj z)H#ynoToc#aS?3RlD8K;0pxQZ-L9+D4pvv*H$A#Oen`RmIpdM$!IP`kM`rp zR>aq7**%~*vOYV(0n`-9)((ati#*Yp z18U~HYVXnsV{eSxRnyBI|Hx?3fI_w8v@TmldX%%wbG%oPuTHiQ2>fbQ0r6}GN|1jX zcnijGWa<^FRw=3u?c3B<=LA>);ET?9>b}nL_OMe%*W9MN{37_ieYGr$Nn*~jJ;l`E zMOQUX8UWThdoH=OXcwq5PkRDzRB!uSb|>%-d#oo0n;&W}hv6yV7Ei^krWb}BnF%-s z^FPby()5`a(rNTmd^#p`DDSY_{kDa5R$=3PQ)c`LfSj`z&G{RSr^2$KMSb2TEbp=k z3iBga!X^^5lhd#4%m{7_7x~M87oZmB9d}d4ezm@h4^dT2hz@-|As)mJxaic)`LJ}n zd;7*$T&!8i+j|74;El>36m>Y1WD9+{6O-=|s zI^Ur9u2-@n*AZ8g;K=7CDX6*KhKQ*gvo*nnYLRD0E!H-qqH4cUywopfQ&K{6LpQs{ zZHW*l*wzH|ZtB}Fi?s}L*n?$GZ>uZXdi}36GgU@!#mY?PT9>Fn2kcu+KITF)FV(PQ zLtoakY^-vIc50j9B)hdBEnW!OzVwx_JXz^GN>Bq4YI-7sYDrmMyX#&6*^O5)yfLoODre|iwI71zwZbcNUh=|)^I}O){c?19yWtOR zTa^3Se8RhGh6izJNYSG^=hc+=FZ(2?!cPE;_RXMm69Sz^ju71cX_s)z1jrd|t*;MJ ze7zE;4AN~$N0hkaq_Mr5oxKTu@^U#dC&{T_!Ejd{cNe>?@NR(p;nDVk5HAs+jGZDw zMse)D7bBbqTU*=UREbqyM(=hIStNl>7U>0T;SHt<&5zFF9CK7tFcGN*?$fOGvCj%& z$h`c56xP5e3uvPy75Q-^1Etj!Orc^==X*~3G+O4eEs|eZfJuA#+a^HzD}XeU4?23p z9Xpp?yUktlVbb!iMML7xMPmwX6_&ppIxKN?3oyeA0QkXRTse8M@Z_5}#6XrjB?8<= z;SErz-|hEA<3ayJPTg~jg$cdxLO+^SX9Q%S2wOwHLKWV{^zDz!4q9&L@<%{gK}+>5 zf0*ebF7Y5CcL^`3e%Q7IsfHY9X5@7P^6M**eZF80*feJweqGW;xFdSV-#QtEMqI?E zO+YRmrd$d`BGmm{m{bU=WR6+wi0K65iqdJ*Bi`97I~Ee(k6>k?>^9~$DmKu1VH1g5 zBci0CY{clIeDY*PFQnuC#cD0sCH5yOH!!iVo8plioVqL+ZnSh7nv|mR2YA7PW;o^? z`_J^T4&crJe+~ozPhR*K6(X%?tLBlxTFT|NV21R$vKtysmM^obXUUGM5 z?at$Q`j!vav?^=`CcO2^fljBU$%-zF1yhwOV&8n1^|B}?or!Kf*8o4@vl;cGRB&Pj z`$1gVS^iN_1zGt3_gHg)D+2Co9W?+GBx7c0*Mjj$kkjo%Ri$=Fj?6Y`s8_S%vfKIPEy<0&N?c_|MtAdKDJ~g+feZ= zgv77|t}&JJ3P$%zv&>jxqVjiOR_t1Ghek+ zS3IVo=;_Nw&O?3txEUTi;5;>(-KD)0kg+nOV{K|V}%PxH2htcQ~ zlU^&6rgTmf;_)qvhzJ9+aP-_*{B zff6X*GvzfN>Y5$>lvmF+Sfmi(Rv=_Kqq2P;khs;(>g9+K^!f^8@NiVxI|6Hfq2 z6%V9&%_mHC$UaP7!KPSzUPA#f zqNXqKtxVsQd+2&4kIRmsUy#QrF(MX8*pMtyn*efIIJXAw;Wh=SPu-gk9z@xz28OYA~VQ|0t*s2&#)8)Yl$dI{{oO z-;=ms-?yCk6B`^`+GhQAHO*F{Z|nDEoJ8BR6}SM&EiR}eBzbemMK7*+Qq^o~vU*B+ zdQ7}f#=Vol^#T70AUk*$Vz>sXn@HN2P`&dzZ1`3Gb?Q(LKu5t{wTO>TdvWq4(WGwlb> zSCy(YEoX+c^gb(n-;Wu(r9nL=-2w_A)KbzuCOMm^N65G|3+gVo`yB$4#Z(SYHp}`% zMReiiZ9)QXYv^czoP}d=-qh9aT2bhTxmUw#R{71>E%TH%^4Y$2si~(0YuoDKL@CTs z9BO9_3d~ep*cG%dq#nenu}fag^Au#|ALJ5&GVh3N?73-jq&0&9d_uvT)E^G~VJ8uK!FaARH%6f$MA zo|3!K?nCGj66niuRklG`Ec+ygN7moeT)RgZGNRx)(sM(9_4Hbr$`MTygavx=T@$+W zP1qz^j}1Oub58y*R&&Ef%ZyRGAOdDPJbX6?;0b)W1T1^vZG$HMF2vei}FH>IMLa{~cZc$Wm|Z3wq^2y^N_=%=;7y zUjwbhQ6Dxz#s-d1-WK3*mmsxn;YtXYxOsgWBAXA?Dt_E@NX!qQOBgN$q|96e#GWqJuYK>0*#*RX}8Fn-V*R>eP-|N?;6t&svjhmQ)4E-nf+5L zqNzTKzA`pdaE zzJuO84w|ieEA6CWy`QbLxDc6 zK;5}h(z^xaD)XLhl^d9$7qQ$J{Feo9XuF1%5H!Hr-v|*^2(~*1$CRf`JZvIyc?%a{`@+ zoV+ue_gIt;d9@=YrYPgyFjNCX1&#=|l z*{e>=&=h5&q!Q$t3vx4@gr%)d^f0Iq20IfBbOneQmhU6!d=ZjrtWm>)Mt$YX6Rpt} zI=S5h>FjbGul>m|{v+tmdpN%%lqEtOu@& zkD`Cs|K|~w(8=$cg;=7NS6FOf&v|pBIg3FIxx~|+RLRpgYf>5}9itz+(Fm0c4gDcb zBhvWYvaIQ|`RB)% z;BW)wz6M(O4n1o;RFm)ia~Z4fxV*fG*hB%i{SccN=q8(!CMZhj8yBA**Qxp6vlb}b z(h*f z;6B4G7Whr6^t1E#o6YY?Ch!~nG3v6^g;dU5cd@BhRFS3bA*h~AEe{4V2OITw`cmEG zC@#uaqq<2Mm$`b?p|W|XWM4q%FYMD+RKU)=02t%of8(P?%>vcOGIi!($Ej)QRien8 zttj{oDgefshbSXcob?;b8l}{D4UwRO;d|ko3sNEQibT&E`Zro}MOr)HB>jNmvK)Z- zwF}?THLP87Jr@SKWW>a(ohGLSEGl%4ft(4_ZSu;F(XaLWOan-kmI6leVIkY zF1vK1beq?%#26(*mpb9vc|M;Nd9ch>sQ9NUXQ)NPR@Aw3U~{N2o9AYioP!14*}M-g zj(zX*VaekZj^PC0if8J=b9zpUQ40TNct&L~JOR8_n~vI4u^;jHC8s0giuBs&z4pv! z8yg>3H>g1WHm&kZnMLL99lk{AE_UQr=U4vw#kJx6dpD`k5oVgxb(`cdF)Q+rN)<%& z7g3GJFZDl(j+Iq{7b>Y;O7HxOhT0L9!!74ct;i=%Zw-t=%PG?@bMl<;@Eoky2++5L z6Va_j$vxR;jp25>iE*Y%Zm!YDV!bZ=WQN%5kKK8u|G=0B0Oud}P3@@X>`$6xi!jHNq@y}`=8fj#f%L;5UcDbaJ3XyVJ8KmM!izqPQ;;EvG_ z`zA@N*9PJW`n_DYG<3Rq>wLq$r$76h*!$0NnIkVBTU4y2_C%nE81z%E>*d^}r3>x^ zkjlnTjm^luT1tUo*e}@Uryt!Bbhu@rq6qfrz7vHdPFujpP$i2pl5shNZ{0ZfOI@X= zV$|fP0#22lqoIeL|7qs;70YnOJR}pWwbR9V8`r#&ptcDa3%tg9>%T~z`d4S&((jqH z4j}?waPHZ@V&)1(*Qci30$a+S zm&kIFDa@iq=;Qt_-$0&(&hm>BfOSYlic1I~;ygEZ7-Yo5C_D@)d!POA!*+@n!FzHr zJz#RNO-V<1m-qn)jdu2C4Iv0-^OURg%`?Cs^yzFV3CYpofsM($S?DmNw7;R!CPdGu z*?2vPTNl~uFzXcm@wn~dEmlkp0C4U1!*;3Og()>5((W^P&@ms0GMSt7{4DP^gh8~} zEj$$Z<#yExXSJTVNWBLG-YtC(_+4rr9KBi||KDt%G>sb(h@gGzAF8~`pYp+fiT|^io#u1uayND3DWX4G2n6;tSQMA2jZ~vX5uk6r;)SOv z|9W`;?U|Oyqc!%=ggwZHDb9bfd-yMzziZTUK`3YT2iugReQs*HwOQ4xu)C(cs1EsH zhwbB2a^uF;PY1X6n5fU}Iw#m4q)B3T7r0SpjI=Xyxlw>`Z3EGC$mV_OV!QghhgsI& z8n{Uq@etPfmY0!ozN<#gcv@LZeEYe0{^R}io(FfGIm|h8JU7P@_kzoY;g82u?H+|} z&F2L@rQ9bzP=#;)Q$%~CZDK9W10)z$`}ygYL5D&JXoSK&nTHGS=7tYPjkXq#YAa0X zlZ^4gd>RfR6YP{r7+9j~mj$yL8_mhE`}_!*uTeu*xg|OV#nt7#Q$a2<1u*PzuhJ^| zv8DGSl=nbLYNoz77AmrS;-xxPQOGY1AWD?#P277+ra@{)JXKZ6K zR+IwC;WM_Nq*_QJuIgrQTdBN3=qzShik9+u_ez@%M;zb-wqz}IeB3i7^g{x}#C-qI zJWXp7Byudo{Hq_UzRdCND_>#1a?4P`y$(!^XIorTW(=#oUrU{yX#blR{ct#<-6uDt zBXU=yHoa88(yXxa3V*`n9(F6akUwQ5j8g5@Yj}CDP4fhxU=quFRSW24PR!2xgo#ao z9HKIC&;!|w=Wpo0Dy&U5vs%aqrHTyV=_=cu8$J&|ca?;Dx{`L|-cmx-t%ju1Dl3co z6g50M4paVEF`RLKdGOLhk%lh{Jo$5CQ6Z&kL8e=-bpDvVRKr-u^pcv!efQ#F-8Sm6 zy#cC|f`m~Q0~jKu%T$3U^8Ka`1a>&z98}U+vRu2NG-X4{VA&-OcQ$Bj{2H%&!RUa- zRgYR3FBM|1vgtEMmk}io1eYJ+&E*5p5y_>si6zkbXDAn-;TLqgW!XTS(R`r>%K2iA z!(j2g(pH&?^xNe2H@vi7?n>WF$G_}v^jJ~{ohfIIg5P{myi~MEbca(^hQL*bbYB+g)HCEn42tdBL$T`qcw|uWeV|7+!TOuk37`=6$-tLchz^)brgZmGQXE118MrtX zJ#X*HI|g|`ppQHCpH-MN-OJQ;WT@#XzPMiNi8BF0lnc+#y!LJRkeg-6rnOn-7E9xK zx^B9Z1(tNxAwjDg1W{F<_ex?eeFA+@fQx4KhhHO-S~KMQAs>`8PZ_PWRm~<@IN?Ry zhFN%X&=1fjz!_Aaw&j3EdAG)nZd$e1RdnkCjrYD<(84{D4}Z_HXU-MWbmBRGhwqbe z&+ti=+u8e4*(+)1J^vQ@_saRKvS<&})w$@S7I)pgD%BlOUC_G|z_7dS6R5nV;+rL( zDa*wZK+{72W*eaW?Dp%VGO{Up9&79o;p2&efraHw>lk7NN5N3-f|rXD2`TNXT`va) zLFOK*kiijM19W0G6!RX&Rq0lrQe=`6q^hSrmD2cQc6x5uxWvD8jpB3EcR%$pGSZ%Y zK~6@%TyR3&Z#Bu!qzfclIAqowXm~kG&X=&V%#xH({5icHOr#+wIoYx*zb3@Olfj8O}irl?PlIN_^&p2WN+T+?s1h( zFVD>Cy}@@&x$YuOpUzY5hwH|v^gB=DHlXGzM4rs7y5ntj5zoz@69Ai{ z`Lgul^5!dm_Qn#pyC2w{9>1m6LGg+KE`@>ZR5MeiwFO4^y|#Yw=8;@bgpvr8ONL!y z_u^MVF^&1J#r_aSeY})>&el=>8>VJSy}=?nFt^7v$3nii@X(K%T0Q|Fvy4Uwk5D*K zc#m?+F2nlx_$t|Qv$>ZW6*eH~`Uao9{l+wJf^k&AObx07V%PYD2{W>>JBKj9ns4*( zrYC!THWj^B;3L2+z`d&a-7KKN)qlVXgYJlJhbml7>joV<1;1E3$~ASsap>r0ZH3@)}t->YLp<)TabZx=GS|DVZ}xT^Ta{K}81Frsno-ns4&@eqTM@)K*i} zLNEYUam@TuBAiZk`!>R1pol%5!0M0ik_w93|IhGaiu zDIkMc{{n4f4n$|pA(hy>H(YJF^tiQTu9YLxbwi7o!Zbt~XI&ab& zQZ^>q3coN4ZYL%#(1Bo|yIT^gfO=3tOj=ZIp(gdeJq&lhucV>EYYwhjWKlrE&J^S< z3|CjYbzK~ahp0AoD{s1s0%4e%WF5ypX4?wfzPRi@{Opy1?tzzV==z2yrI>~~2_y0n zxy&SV{I6HlY4>;Czm6%k#+HHsr*8-Z#BLzNa4o zu4HY=20s@WQxhFgc36D7H{X}Km*r!>Pv~Bm>iWC=c`xj>;SB zesKTRKloGsPu%NIyz4i<^&4l;-g;1H8sKaUhL(MS73la_PrB99QAPri@b zrmAZ$P1^26Nnk9^Jpx&?Onj8nX@?72DzSaN6JIrwWv;yo98bhYH2#=e*z)u8Q<$-o z1kjPcQ11dYgL7v5>!@UI#(w)yLM=_)Mkb4mqRmX08`FiZ@OPO~1M8M-t7;TT&Fb@b zeb;6yT%bgZ3|PRme0e6bj5N4?WhFBs!JIE_p z(}88IBCGA%dhlg`cD!A^)2O1(M7kbe+SQ6su2}B)7p$_s-rTGcqr06|}>ibwsNbZMeCZhY}9V>-HuA<&g&JTa-_I)*Lwp5?;f06K`QWwbJ zhkeWU_EJQq9RCWq>H7a@<9`ACM{e;SBjVcG5WqjkF5d1?#zR})g^yjf8{^msZ_`1!5dQrr;ikX}ec*Y>iwNtnPsc@0CClDh1=Cp)Xld1E2Cw ztAk}mBrF$X{vqop=W+trEO@+}=_HlNwXMKzJ<0|OKY%o-5scY}pV%qy?5jshsHb|y z>v8mWX?POyhUJEYlAJ^4GaG*BgBWUOML&Lpnfq8`B&W^uYBMrqFjf#Xhn-X&joxh$ zUs*bcfHld!PEw*E{vElBty;PL8 z>TYhn28?^MZfR~`!7tx2y^6j2d{vD=f#bIP`35>A_hL@glo?Szkb8u?yH^HAeV=&2 zRTm1;$N0CB>ndW2&CxQZ4Lxz3h&nq%t|_k@?3u76%mr>iJ%L@~PF!{{C37J(`8nkr z@~D!5$4kMqt|B$0sI594uLTyJT67?)TybGtR>Xb377^L3#{1s~<^RK2VU`}{-I`#} zuuY2Bosc*yuqVFw_u8UD^wMQ1gUT(_>JDite25gD+EaQY(_@r)ETv*{7{X?h%#^m9sc zhk}CNA{*>4DmXjWYzXMp_xyx8m|)1Z8)okt*YUdW82El?2i;8-EkR2is3|Qs%6Kvy z@d6Zqi@{{{3uH#QuR$$nNHlLYk=^lS@m}%8_clwO!d+~JVlsxef8GqP<_=nPW*uya~p#Ay>sI{g+NcY)x*)( z$RJoucm9I)wRJxV#i4!JP|7gpF)boGoHdGuZ7P8Nsb4RjAPt4LWkkI@lVki?zRH@P z!5>FgWacx`_Pm}eELZ=Ag-Or#&u3f$)o_Jv3-8ewA*O^br}M^b$p*^%UT1gNOv=l~ zH3hC*_9&*kd{Ih&nf`JS|HJK`IhXE=3Qs27){N;H9(nPLfk_L68(W}DJ)~v)lT8abvCe!m z4}drbQ+=|OT6xbXHZ}AjB|yDM_@j@C^1UYy5LX)SP$pc)tytE@{#>)ZiF~h?<~};z zryKuF|FlPF^~>C}kK=_FM>I267VXr>jg!+aw8_m8vr4l^ z8l`?V>zAYmIe71L<~|_oFi-DvQgi_JTc7KkrI%+c=TYH_X&R$49BUae3z{+@>afF; zKZ*+MAI@SKlIxk$?j-@{so2ksM4bDSwQmxkkjQ2+l~9e}nAhOD8q(tj90^W>BigJr zi9R2UMCTp#wz-8WlJD<|aRiQ)3W@KQJcY?~(x2!IK{FipJdh zkLGk$DmCQl&1TYqp%SJX9)(nit;5V=uBrBaRsy(ZgxlM)+I2zI3ZXVN( zP1H;6x5i?l>M{t9;X&x1Txg~dj=R#CeAMd!?&wh5{G1%d9N%;|(O>+-Bqi2S0+?j| z4D2l%DWf#nDT{GK1(_6k3>9*c6;+fGT`C$Zea)HZPcAR#IlmD3(5U%YBVQEGkt$s( zhRC(XbqPu!?50ISqJ=V1>F_Akk^AnJr9%+dM_iIf#G61>--zPRc|+b^u-Kqn*;(2o zb0b# z+t;DYUCl|KgCUsvB(?U)3rav)e^l?@(jtYO+x%l|X6kM=NWJvr<&Qet7g*0uI{Qug zILckUXnip5TTZOCmb9wP>mP=(qs&}nH&)P}oeE8_f??Kh6P5q1lia0zK z9DjYh3Fh{&vKfjB_4qZilbrZ@LB;%P+PlP0<3ZDS6Dt%vgBcu9W&HfEcJ6k-oA{g? zhaJ^M1W;cUJ!g6}FVqIwgx_u#qA80-u++Yr3Bd_~rOGB{ER?}Wslj1mG!NX6*~guF z(;f!tRV^;Q}v-$#gWMc!Uk=k>0LB60vnHI>+~Quk%Im zY73+!+%Vr38XboB{uz!q6ojcq%kw{VqG_lp7W`yeQZP#_7#kWeel8* z%@5%FxqimZE33CAA0p2`JwG4G@n;-{4Q-ZXKa2HNTHUp4|3#Q`y?pZX)tt5 z2n9h{1~uUf=;~v5@*k#T-EaxII8l@PAaL}!zjYVGUG_zRGkR}}*-Wc;Kvm055sPL; zc`xSDL%PR=11s`$)+ib{QdvChB-p<(sKSB60fc;u{(L;L`mumW_T3F=-WY*C%(ygUi`$g;d)=-LJO3UXxO_s@NYtmXP6hZ$6{#hD`Fb>AG;i z`7koZpnEM0w1P6z6O+J5C?dPI7s!#*h-kWuWkymoc7GFc(RpB#AuJo(zVp%l-oEb4 z>Bj$JPyRyw_vq|T-R3_tbTAlN%p#J(L3D|MMxnM}7nJ=j(J8oR&9P$=fZshP3rBb! zt-5lQrwoPg9l5UVbP3HG<`X5%y)*0pekFC+Xy>#U4$>)`{s+cCS$De*%y$j(HNjDj zlJDqMmNBEo$L%_`G)2R3Zvy&|pG!(jctgz<70uC586t~)GL}uRxYa0HSRrP*)(keN z4^1hbrxC9=x&7|Me z>laK3gDzNl{c6jK{yayYF_~khF@r-q0+rymuX83AFQCtpKB?G!N4uSJf`Z?H7**Jw zy9vRX$DlG%t`!s7k@cdSa9TDZZjwV+U@S=+@hJx^EuzsxLIoE*hw#?ASax%{{zr$U5p|N0ci72T+mP(KC)QAo97|qOTPO zLtX($FZ$O0gq(h2#?5Ffqi)vDbAm^`vz4Kr_FxK~Qvd#V#>b+=FK50!y&jmd;a~c^ zw11|oRW}MJ)BO>Nh-h&Oik7jZHG`|(dO6CF449}zJREae?B3oz)^lT3&qZK8b_uL-~bc zja#T4l}=)O+~q$Atrz9Kc<#N5cqQ)fsNQF7!rit`1r1=g0_l6d`4|95f

N6>Hse zEzz!nTYgf)h;YLUCIFS~W?6$DVCBtc?VR)$NN-OAl{%VJfVv}%#@_56nc3(_V z52j$BVBkCGo_JHQ0|q}&@8|WfZsga5gjlP1>1EeSQ_3GRi6r$r>{!&?NKn01z3RgI zLc?c}7on9`t^}|Y^i_AOg8hmbCq2_be<_IezNs79mA-m$ci*evT+^9g{>CPNu>8u* zW+!yE#dV(!p6|&OMa>l}wH4YAshLwb;ELz`r3KHA(oFsM2r|5M(erZ&iq|Mo9h z>+efS_qv}bZ2M900pn~e_BTmLLL@%wUcV-(%Rk!M1Mw(3!(AKc{sy7`wy<2^rVn~V5C)&HHz{3qQLA6TXrdlP5fr)ERpT~ zL-gqrpL>hH7f>j9>cbJ%&l2-n#90@eD-TqCQ7GfzY@e(qoRq(??QgzTWR#FGQsZKa z^&IzW74ygFkfbEX9Vy|6(H8~4xcAQeR~|q98kY8Md&4Cung4^}RmrsGaGQPH)mh79 h2a|#OP^SF%Ix;9WP4fuke^ZOUU%mhL6MMc0{snXC<$eGF literal 0 HcmV?d00001