From 6d87b67c866b8b3b0c935c081fe74e019cdbaa79 Mon Sep 17 00:00:00 2001 From: redraz Date: Tue, 9 Sep 2025 16:16:31 +0300 Subject: [PATCH] Upd2 --- SaltySD/exceptions.txt | 4 - .../010000B01A452000/7C724F497564C027.yaml | 4 +- .../0100011005D92000/A3A998AF3252D110.yaml | 69 ++- .../010008301AA96000/88CC45A195E0BDA8.yaml | 26 +- .../010009D018A06000/33614E4F6B3267B3.yaml | 25 ++ .../010009D018A06000/C2F2C4B700B30598.yaml | 4 +- .../01000AA013A5E000/B26DE1669B729335.yaml | 3 +- .../01000AD01F94A000/505069EBC0B82A6F.yaml | 25 ++ .../01000B202041A000/725731C74E4CA6A9.yaml | 3 +- .../010010A01BBF4000/47A022F858BA09B1.yaml | 3 +- .../010010F01418E000/49CF6B0B0A62F9E2.yaml | 2 - .../010018601E9E0000/31A37D73E22F1059.yaml | 3 +- .../01001A700C832000/97FC79E063E26C9B.yaml | 10 - .../01001C700873E000/C0F144F5139F542E.yaml | 9 - .../01001CC01B2D4000/26AB1CB54DD4508D.yaml | 2 - .../01001CC01B2D4000/8D4FD57DB7D63120.yaml | 2 - .../01001CC01B2D4000/A5DA93E6537350D8.yaml | 2 - .../01001CC01B2D4000/C606C7DC1C0EC88F.yaml | 2 - .../010020F014DBE000/2B37ED2A971948F3.yaml | 74 ++-- .../010021601C496000/7A450848CFDEC18E.yaml | 7 +- .../0100217014266000/2F81A2EC9B298B37.yaml | 25 ++ .../010024700901A000/9CDFB0CD24CAE030.yaml | 3 +- .../010025C0145D4000/0CC82881FF112C6D.yaml | 2 - .../010025C0145D4000/F898CCE9C3A291AF.yaml | 2 - .../010027400CDC6000/4979B200D53BB282.yaml | 28 +- .../010029B0118E8000/799D1061182C1302.yaml | 5 +- .../01002C0015644000/3A3C781930CB8201.yaml | 4 +- .../01002C101C1AA000/471546458FD9E43D.yaml | 28 +- .../01002C101C1AA000/9ACB108D8DC59245.yaml | 20 + .../01002FC012548000/7C724F497564C027.yaml | 4 +- .../0100309016E7A000/14C878ECCA9D7CB5.yaml | 3 +- .../0100321017CC0000/D147CAEF2BC74574.yaml | 14 +- .../0100367016DF0000/38896FEC1B4ADB1C.yaml | 14 +- .../01003980174BC000/217C9ECF258C0312.yaml | 4 +- .../010039B015CB6000/39DC785D9073C22B.yaml | 68 ++- .../01003AE01AA76000/6C46135714ABB870.yaml | 2 - .../01003CC00D0BE000/F6FB99E54347E740.yaml | 55 +-- .../01003E800A102000/283095029A5AB467.yaml | 29 +- .../010040401D564000/1053EA8AD2A50F15.yaml | 2 - .../010040601A9B8000/9ACE779510EC93C9.yaml | 6 +- .../010042D00D900000/EC593A5F9552100A.yaml | 39 +- .../010044500CF8E000/9B3DDF2FB9100E51.yaml | 4 +- .../010044700DEB0001/3DEF0E36AA8C6592.yaml | 26 +- .../0100453019AA8000/2A720C7CE5C84905.yaml | 398 +++++++++--------- .../010047401EA8E000/928AF9461536F5E3.yaml | 2 - .../010049B017774000/2F81A2EC9B298B37.yaml | 3 +- .../01004AB00A260000/DF3766A2BB651A3E.yaml | 52 +-- .../01004D300C5AE000/A6CE40DC3AEDB1BE.yaml | 106 +++++ .../01004D300C5AE000/D9BA7DB72FFAFECD.yaml | 5 +- .../010050F00BC1A000/6BEC9B23B09DF46C.yaml | 61 ++- .../010050F01DF9C000/5F765D2CC4CDEF1C.yaml | 37 +- .../010051C0134F8000/20503FA77FA416B7.yaml | 3 +- .../010051C0134F8000/389E38618E93A5E0.yaml | 3 +- .../010051C0134F8000/72F6F8B54276185C.yaml | 5 +- .../010051C0134F8000/BC99D4D0A9474360.yaml | 5 +- .../010053E002EA2000/76EC789B99A25BA5.yaml | 9 - .../01005420101DA000/134EC3D8BE75126F.yaml | 73 ++-- .../0100544020572000/153DB27728D41305.yaml | 3 +- .../0100544020572000/1CEA83A1E6684665.yaml | 28 +- .../0100544020572000/29F67D61B0AD1500.yaml | 3 +- .../0100544020572000/3B2CB1C8865E7B1E.yaml | 3 +- .../0100544020572000/5E43788065113530.yaml | 3 +- .../0100544020572000/9B9CCD97EB6EF789.yaml | 30 ++ .../0100544020572000/A947DDE7826A3562.yaml | 3 +- .../010054A020574000/6CB3E54C5F648410.yaml | 29 +- .../0100559011740000/D2FD97779381FB9A.yaml | 3 +- .../010055D009F78000/89048449BA238C8C.yaml | 38 +- .../010056B015FE8000/E43525F22282A477.yaml | 51 ++- .../010056E00853A000/746F0D697EEEE2DD.yaml | 3 +- .../0100582010AE0000/B3967105033ACC08.yaml | 142 +++---- .../01005AE0209A8000/36B692C0FA9F6F46.yaml | 37 +- .../01005EA01C0FC001/D91C67509C6AED8D.yaml | 10 - .../01005FD017E60000/3E961285846C72A5.yaml | 3 +- .../01005FD017E60000/7C992B6A003C599F.yaml | 3 +- .../01005FD017E60000/B8630C6EE3A22FE8.yaml | 3 +- .../010060700AC50000/E853C44FDF18B88F.yaml | 28 +- .../0100628004BCE000/81DA4F9E1E961CA6.yaml | 29 +- .../010064C01A9BA000/1BA8D8FD3897F22F.yaml | 10 + .../0100650018FE0000/7A450848CFDEC18E.yaml | 6 +- .../0100651014DBA000/789C2939A757C0CD.yaml | 35 +- .../0100670014482000/824B38A25986B2AB.yaml | 27 +- .../0100670014482001/2B59D6C677258A2A.yaml | 27 +- .../0100670014482002/0AE4D1770B196094.yaml | 28 +- .../010067B017588000/E5EFB5ABA3601B97.yaml | 22 +- .../010071F0228CA000/DE26B43C3D21B3A3.yaml | 3 +- .../010072900AFF0000/FE757B10B45C3444.yaml | 93 ++-- .../010072E01CE0E000/42350FCC758887D1.yaml | 2 - .../010072E01CE0E000/53C0F2107412F0E2.yaml | 2 - .../010072E01CE0E000/645C3BE90D4ED3D5.yaml | 2 - .../010072E01CE0E000/A245DABD986CBC85.yaml | 2 - .../010072E01CE0E000/CA23556FE5EF2EB1.yaml | 2 - .../010073601DF1A000/E8BF195297B63BA2.yaml | 41 +- .../010073C01B7FE000/F294A4EBE966E8A9.yaml | 4 +- .../010073F0197DA000/955DF07AA5F4497B.yaml | 4 +- .../010074F013262000/82D187FE9EF9BE92.yaml | 86 ++-- .../010075101EF84000/109D974E180A5AA1.yaml | 3 +- .../0100755017EE0000/061A7341077C0974.yaml | 4 +- .../0100755017EE0000/66BC954F5323014C.yaml | 3 +- .../0100755017EE0000/74BCAC96835DB9AE.yaml | 19 + .../0100755017EE0000/9DBA6AA32721CAB9.yaml | 3 +- .../0100755017EE0000/A697413E1DA7851A.yaml | 3 +- .../010077B00E046000/D2775FAFCF4835CB.yaml | 3 +- .../010078D000F88000/56405C9D6C8C0A6A.yaml | 7 +- .../010078D000F88000/7640CE319C043D56.yaml | 7 +- .../010078D000F88000/8263E738648A23E3.yaml | 7 +- .../010078D000F88000/82C912DDD4663022.yaml | 7 +- .../010079C017F5E001/F47C697C2B59443B.yaml | 4 +- .../010079C017F5E002/BD5CD5189BC90093.yaml | 4 +- .../01007EF00011E000/DE0B6AC4EFC1DDA7.yaml | 181 ++++---- .../0100803005D52000/62B7F19804BCB70E.yaml | 3 +- .../010082901D6F2000/FCA830BAE649B898.yaml | 37 +- .../010082F015576000/8BFBF5B8A7098443.yaml | 51 +-- .../0100830004FB6000/40F973CE3B5EC8D7.yaml | 3 +- .../0100853015E86000/D5C5F47DFABD0812.yaml | 27 +- .../010085401A454000/7C724F497564C027.yaml | 4 +- .../010086C00AF7C000/C7DAB27F22ACD2ED.yaml | 9 - .../01008C8012920000/8C93B930348C9787.yaml | 93 ++-- .../01008CB0156BC000/7735C8DD89D145F2.yaml | 122 +++--- .../01008D4007A1E000/C3D46BB3C7059DB1.yaml | 9 - .../01008E101E868000/42AD50169E847BA2.yaml | 2 - .../01008E101E868000/CE6953FB28A66265.yaml | 19 + .../01008F600F2D0000/EB57CF3434044523.yaml | 3 +- .../010091B01A438000/A735894277FF90F3.yaml | 50 +-- .../0100926016012000/30997D8F7566EBB5.yaml | 3 +- .../0100926016012000/561B0F485E699E4E.yaml | 3 +- .../0100926016012000/7FF42DE6AA57290B.yaml | 3 +- .../0100926016012000/8EACFE3E9E92B0FE.yaml | 3 +- .../0100926016012000/B2395B882C2BCB24.yaml | 3 +- .../010097000BC10000/FB4239AA962B429B.yaml | 62 ++- .../0100982019374000/9DD9149968A0B8D3.yaml | 18 - .../0100A21017C42000/693314C08EA157F3.yaml | 44 +- .../0100A2902051A000/3D6E4BDE905836BC.yaml | 25 ++ .../0100A6301214E000/8C08B9719E085F91.yaml | 4 +- .../0100A9001C042000/3565E26E8827C846.yaml | 38 +- .../0100B04011742000/C9A3DD7702075ECD.yaml | 3 +- .../0100B16009C10000/490D681909609015.yaml | 5 +- .../0100B2002330E000/637F8C946F7C512D.yaml | 25 ++ .../0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml | 4 +- .../E8EA74BE6221F2E4.yaml | 0 .../0100B8901AE88000/8AF36A929664A94D.yaml | 2 - .../0100B8E016F76000/992787E2B5425994.yaml | 48 ++- .../0100B9801F872000/007EA5E2E2541C6F.yaml | 44 +- .../0100B9801F872000/A588F7BB864AAD5F.yaml | 3 +- .../0100BD601EC3E000/5AF163DEF288F098.yaml | 5 +- .../0100BEB015604000/B38D51E0391187EC.yaml | 51 +-- .../0100C09014530000/D92F465FE9920BB6.yaml | 27 +- .../0100C1101EE5A000/950FB0C3D58D6A7B.yaml | 4 +- .../0100C6C010AE4000/FE211DBFAD6EA549.yaml | 3 +- .../0100CA3014ADE000/372AB37327DB2C31.yaml | 25 +- .../0100CA800F9B2000/A1E1EFBA68B846A9.yaml | 2 - .../0100CD3010AE2000/53EA0196A4AEB260.yaml | 123 +++--- .../0100CD4012DCA000/B067B077906C6208.yaml | 55 +-- .../0100CF401A98E000/5ECFB8F85105FE3C.yaml | 42 +- .../0100D210177C6000/9510D677DCCE4447.yaml | 3 +- .../0100D3C010DE8000/59159483CF88330F.yaml | 74 ++-- .../0100D5801E904000/89349071D2B0BFF7.yaml | 16 + .../0100D7C021496000/5D63D46226DB106F.yaml | 3 +- .../0100D7C021496000/6D560144F6B09A98.yaml | 36 ++ .../0100D7C021496000/E9A189C0CA87A30C.yaml | 7 +- .../0100D9601A994000/28ED06F94D767478.yaml | 2 - .../0100DAE019110000/0248DC99035AD28A.yaml | 51 +-- .../0100DCA0064A6000/79E5950FFA85ACF6.yaml | 28 +- .../0100DE70085E8000/F18ACDA7A11CB287.yaml | 10 - .../0100E2701A888000/8322528255D2CC63.yaml | 53 +-- .../0100E5900F49A000/A8BA2A8F93AAE647.yaml | 28 +- .../0100E6300AA3A000/AAC6FB02E03062EF.yaml | 69 ++- .../0100E66010ADE000/45CE2B6625A35771.yaml | 123 +++--- .../0100E9001A94C000/ACBD89C999804FD2.yaml | 5 +- .../0100E95004038000/F77F1559371C0EC6.yaml | 179 ++++---- .../0100ED7012DB2000/1A971CC40B6D5B3F.yaml | 64 ++- .../0100F2600D710000/4CCD2F6D331DD104.yaml | 48 +-- .../0100F2C0115B6000/5CB42B1CF25469FB.yaml | 155 ++++--- .../0100F2C0115B6000/9B4E43650501A4D4.yaml | 1 + .../0100F3200E7CA000/EAA0B789264F2A75.yaml | 49 ++- .../0100F3400332C000/E3938FA78579C1CA.yaml | 192 +++++---- .../0100F4F014108000/2284DFB25F387719.yaml | 4 +- .../0100F6701FED4000/EBB5459731354538.yaml | 10 + .../0100F8F00C4F2000/BC714E2D7D32AB41.yaml | 3 +- .../0100FAD01861C000/D84426C8D6B8D947.yaml | 3 +- .../0100FBD00F5F6000/5EFAB20F5C1F0F68.yaml | 2 - .../0100FBD013AB6000/54551AEABF6E1F41.yaml | 30 +- .../0100FBD013AB6000/B37F6B200EF31DFC.yaml | 21 + .../0100FF500E34A000/92C78BB3DCBBC3F7.yaml | 3 +- SaltySD/saltysd_bootstrap.elf | Bin 35728 -> 27576 bytes SaltySD/saltysd_bootstrap32_3k.elf | Bin 13644 -> 13732 bytes SaltySD/saltysd_bootstrap32_5k.elf | Bin 13644 -> 13732 bytes SaltySD/saltysd_core.elf | Bin 197048 -> 205416 bytes SaltySD/saltysd_core32.elf | Bin 193416 -> 193496 bytes .../contents/0000000000534C56/exefs.nsp | Bin 130250 -> 130849 bytes .../contents/010000000000bd00/exefs.nsp | Bin 165259 -> 165579 bytes atmosphere/kips/loader.kip | Bin 279740 -> 279740 bytes config/sys-clk/config.ini | 1 + switch/.overlays/FPSLocker.ovl | Bin 1351736 -> 1396792 bytes 193 files changed, 2429 insertions(+), 2484 deletions(-) create mode 100644 SaltySD/plugins/FPSLocker/patches/010009D018A06000/010009D018A06000/33614E4F6B3267B3.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01000AD01F94A000/505069EBC0B82A6F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100217014266000/2F81A2EC9B298B37.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/9ACB108D8DC59245.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/A6CE40DC3AEDB1BE.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100544020572000/9B9CCD97EB6EF789.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010064C01A9BA000/1BA8D8FD3897F22F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100755017EE0000/74BCAC96835DB9AE.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01008E101E868000/CE6953FB28A66265.yaml delete mode 100644 SaltySD/plugins/FPSLocker/patches/0100982019374000/9DD9149968A0B8D3.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A2902051A000/3D6E4BDE905836BC.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B2002330E000/637F8C946F7C512D.yaml rename SaltySD/plugins/FPSLocker/patches/0100B7C01D480000/{0100B7C01D480000 => }/E8EA74BE6221F2E4.yaml (100%) create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D5801E904000/89349071D2B0BFF7.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D7C021496000/6D560144F6B09A98.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100F6701FED4000/EBB5459731354538.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/B37F6B200EF31DFC.yaml diff --git a/SaltySD/exceptions.txt b/SaltySD/exceptions.txt index a415f7b..8ea870c 100644 --- a/SaltySD/exceptions.txt +++ b/SaltySD/exceptions.txt @@ -58,7 +58,3 @@ X0100423009358000 ;Splatoon 3 ;10.0.0 upwards crashes after online match X0100C2500FC20000 - -;Hollow Knight: Silksong -;1.0.28324 crash on boot -X010013C00E930000 diff --git a/SaltySD/plugins/FPSLocker/patches/010000B01A452000/7C724F497564C027.yaml b/SaltySD/plugins/FPSLocker/patches/010000B01A452000/7C724F497564C027.yaml index 824e73d..b2b2708 100644 --- a/SaltySD/plugins/FPSLocker/patches/010000B01A452000/7C724F497564C027.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010000B01A452000/7C724F497564C027.yaml @@ -1,8 +1,6 @@ # Jujutsu Kaisen Cursed Clash US 1.4.0 # BID: 7C724F497564C027 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget - @@ -26,8 +24,10 @@ ALL_FPS: - type: write address: [MAIN, 0x849B7A8, 0x9C4] + address_unsafe: true value_type: uint32 value: 7 - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/0100011005D92000/A3A998AF3252D110.yaml b/SaltySD/plugins/FPSLocker/patches/0100011005D92000/A3A998AF3252D110.yaml index fbe3e82..9d5bc71 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100011005D92000/A3A998AF3252D110.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100011005D92000/A3A998AF3252D110.yaml @@ -1,42 +1,24 @@ # Batman - The Telltale Series 1.0.4 # BID: A3A998AF3252D110 -unsafeCheck: true - -MASTER_WRITE: -# Remove double buffer +DECLARATIONS: - - type: asm_a64 - main_offset: 0x6440 - instructions: [ - [mov, w2, 3], - [madd, x1, x8, x2, x9] - ] - - - type: bytes - main_offset: 0xC5A6D8 - value_type: uint32 - value: 0x188CC50 - - - type: bytes - main_offset: 0x1758A90 - value_type: uint32 - value: 0x188CC50 - - - type: asm_a64 - main_offset: 0xC56550 + type: code + name: tripleBuffer instructions: [ + [stp, x29, x30, [sp, -16], "!"], + [mov, x29, sp], [ldr, x0, [x26, 0x10]], - [cbz, x0, +24], + [cbz, x0, :goto1], [adrp, x8, 0x1758000], [ldr, x8, [x8, 0x90]], [ldr, x8, [x8]], [blr, x8], - [b, +16], - [mov, w0, 0xc0], + [b, :goto2], + :goto1, [mov, w0, 0xc0], [bl, 0x735480], [str, x0, [x26, 0x10]], - [ldr, x22, [x27]], + :goto2, [ldr, x22, [x27]], [adrp, x27, 0x1757000], [ldr, x21, [x25]], [ldr, x27, [x27, 0xf38]], @@ -62,13 +44,34 @@ MASTER_WRITE: [mov, x1, x23], [blr, x8], [adrp, x22, 0x1758000], - [b, 0x5eec] + [ldp, x29, x30, [sp], 16], + [ret] + ] + +MASTER_WRITE: +# Remove double buffer + - + type: asm_a64 + main_offset: 0x6440 + instructions: [ + [mov, w2, 3], + [madd, x1, x8, x2, x9] ] + - + type: bytes + main_offset: 0xC5A6D8 + value_type: uint32 + value: 0x188CC50 + - + type: bytes + main_offset: 0x1758A90 + value_type: uint32 + value: 0x188CC50 - type: asm_a64 main_offset: 0x5EE8 instructions: [ - [b, 0xc56550] + [bl, _tripleBuffer()] ] - type: asm_a64 @@ -82,10 +85,4 @@ MASTER_WRITE: instructions: [ [mov, x2, 0x1950000] ] -ALL_FPS: - # dummy - - - type: write - address: [MAIN, 0x188CF00] - value_type: uint8 - value: 0 + diff --git a/SaltySD/plugins/FPSLocker/patches/010008301AA96000/88CC45A195E0BDA8.yaml b/SaltySD/plugins/FPSLocker/patches/010008301AA96000/88CC45A195E0BDA8.yaml index ffdae14..ec4f803 100644 --- a/SaltySD/plugins/FPSLocker/patches/010008301AA96000/88CC45A195E0BDA8.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010008301AA96000/88CC45A195E0BDA8.yaml @@ -1,8 +1,13 @@ # Tiebreak+: Official Game of the ATP and WTA 1.3.0 # BID: 88CC45A195E0BDA8 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 0.03333333333 + evaluate: "0.8 / FPS_TARGET" # we are using this trick because function is overengineered and it's not easy to just use standard 1 / FPS_TARGET MASTER_WRITE: # Triple buffer # REF: 00 40 00 00 00 04 00 00 00 88 00 00 02 00 00 00 @@ -17,20 +22,7 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x147BE04 instructions: [ - [adrp, x8, 0x30c3000], - [ldr, s3, [x8, 0xf00]], + [adrp, x8, $dr_target], + [ldr, s3, [x8, $dr_target]], [nop] ] - ## Default values - - - type: bytes - main_offset: 0x30C3F00 - value_type: float - value: 0.03333333333 -ALL_FPS: - # Adjust Dynamic Resolution target, we are using this trick because function is overengineered and it's not easy to just use standard 1 / FPS_TARGET - - - type: evaluate_write - address: [MAIN, 0x30C3F00] - value_type: float - value: "0.8 / FPS_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/010009D018A06000/010009D018A06000/33614E4F6B3267B3.yaml b/SaltySD/plugins/FPSLocker/patches/010009D018A06000/010009D018A06000/33614E4F6B3267B3.yaml new file mode 100644 index 0000000..c16de64 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010009D018A06000/010009D018A06000/33614E4F6B3267B3.yaml @@ -0,0 +1,25 @@ +# SWORD ART ONLINE Fractured Daydream JAP 1.4.1.1 +# BID: 33614E4F6B3267B3 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x90A0758, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x90DB2B0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x88DAF88, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010009D018A06000/C2F2C4B700B30598.yaml b/SaltySD/plugins/FPSLocker/patches/010009D018A06000/C2F2C4B700B30598.yaml index 644fe70..624deff 100644 --- a/SaltySD/plugins/FPSLocker/patches/010009D018A06000/C2F2C4B700B30598.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010009D018A06000/C2F2C4B700B30598.yaml @@ -1,8 +1,6 @@ # SWORD ART ONLINE Fractured Daydream JAP 1.3.0 # BID: C2F2C4B700B30598 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget - @@ -24,4 +22,4 @@ ALL_FPS: value: [0, 0] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01000AA013A5E000/B26DE1669B729335.yaml b/SaltySD/plugins/FPSLocker/patches/01000AA013A5E000/B26DE1669B729335.yaml index 9105c85..cb2f5a2 100644 --- a/SaltySD/plugins/FPSLocker/patches/01000AA013A5E000/B26DE1669B729335.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01000AA013A5E000/B26DE1669B729335.yaml @@ -1,13 +1,12 @@ # Breathedge 1.0.2 # BID: B26DE1669B729335 -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x55CB668, 0x7F0] + address_unsafe: true value_type: uint32 value: 7 # t.MaxFPS diff --git a/SaltySD/plugins/FPSLocker/patches/01000AD01F94A000/505069EBC0B82A6F.yaml b/SaltySD/plugins/FPSLocker/patches/01000AD01F94A000/505069EBC0B82A6F.yaml new file mode 100644 index 0000000..4c3977a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000AD01F94A000/505069EBC0B82A6F.yaml @@ -0,0 +1,25 @@ +# Tony Hawk's Pro Skater 3 + 4 1.06 +# BID: 505069EBC0B82A6F + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x77EC4B8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x781A6A0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x7014598, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01000B202041A000/725731C74E4CA6A9.yaml b/SaltySD/plugins/FPSLocker/patches/01000B202041A000/725731C74E4CA6A9.yaml index 41df9a0..438f83c 100644 --- a/SaltySD/plugins/FPSLocker/patches/01000B202041A000/725731C74E4CA6A9.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01000B202041A000/725731C74E4CA6A9.yaml @@ -1,12 +1,11 @@ # DreadOut Remastered Collection 1.0.2 # BID: 725731C74E4CA6A9 -unsafeCheck: false - ALL_FPS: # REF: DynamicResolution::.cctor - type: evaluate_write address: [MAIN, 0x3E01640, 0, 0xB8, 8] + address_unsafe: true value_type: double value: [FPS_TARGET, FRAMETIME_TARGET] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010010A01BBF4000/47A022F858BA09B1.yaml b/SaltySD/plugins/FPSLocker/patches/010010A01BBF4000/47A022F858BA09B1.yaml index bfeb5f7..d610bb9 100644 --- a/SaltySD/plugins/FPSLocker/patches/010010A01BBF4000/47A022F858BA09B1.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010010A01BBF4000/47A022F858BA09B1.yaml @@ -1,12 +1,11 @@ # The Forest Quartet 4.0.2 # BID: 47A022F858BA09B1 -unsafeCheck: false - ALL_FPS: # DynamicResolution_TypeInfo - type: evaluate_write address: [MAIN, 0x4B320A0, 0xB8, 0] + address_unsafe: true value_type: double value: ["0.96 * FRAMETIME_TARGET", "(0.96 * FRAMETIME_TARGET) - 0.75"] diff --git a/SaltySD/plugins/FPSLocker/patches/010010F01418E000/49CF6B0B0A62F9E2.yaml b/SaltySD/plugins/FPSLocker/patches/010010F01418E000/49CF6B0B0A62F9E2.yaml index 6003f85..18c357d 100644 --- a/SaltySD/plugins/FPSLocker/patches/010010F01418E000/49CF6B0B0A62F9E2.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010010F01418E000/49CF6B0B0A62F9E2.yaml @@ -1,8 +1,6 @@ # Remnant: From The Ashes 1.0.1 # BID: 49CF6B0B0A62F9E2 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.MaxGPUTime ((1000/FPS) * 0.93) - diff --git a/SaltySD/plugins/FPSLocker/patches/010018601E9E0000/31A37D73E22F1059.yaml b/SaltySD/plugins/FPSLocker/patches/010018601E9E0000/31A37D73E22F1059.yaml index 0de0257..eb9f87f 100644 --- a/SaltySD/plugins/FPSLocker/patches/010018601E9E0000/31A37D73E22F1059.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010018601E9E0000/31A37D73E22F1059.yaml @@ -1,13 +1,12 @@ # Bakery Simulator 1.1.0 # BID: 31A37D73E22F1059 -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS - type: write address: [MAIN, 0x5F9B6A8, 0x7A4] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/01001A700C832000/97FC79E063E26C9B.yaml b/SaltySD/plugins/FPSLocker/patches/01001A700C832000/97FC79E063E26C9B.yaml index bfc8bf5..cf26cc7 100644 --- a/SaltySD/plugins/FPSLocker/patches/01001A700C832000/97FC79E063E26C9B.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01001A700C832000/97FC79E063E26C9B.yaml @@ -1,8 +1,6 @@ # Fate/EXTELLA LINK 1.0.2 # BID: 97FC79E063E26C9B -unsafeCheck: true - MASTER_WRITE: # Remove double buffer - @@ -11,11 +9,3 @@ MASTER_WRITE: instructions: [ [mov, x8, 0x300000003] ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x4740500] - value_type: uint8 - value: 0 - diff --git a/SaltySD/plugins/FPSLocker/patches/01001C700873E000/C0F144F5139F542E.yaml b/SaltySD/plugins/FPSLocker/patches/01001C700873E000/C0F144F5139F542E.yaml index 1d98122..08fc383 100644 --- a/SaltySD/plugins/FPSLocker/patches/01001C700873E000/C0F144F5139F542E.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01001C700873E000/C0F144F5139F542E.yaml @@ -1,8 +1,6 @@ # GOD EATER 3 2.5.1 # BID: C0F144F5139F542E -unsafeCheck: true - MASTER_WRITE: # Remove double buffer - @@ -11,10 +9,3 @@ MASTER_WRITE: instructions: [ [mov, x8, 0x300000003] ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0xA7FA900] - value_type: uint8 - value: 0 diff --git a/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/26AB1CB54DD4508D.yaml b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/26AB1CB54DD4508D.yaml index 93b85e4..e8040ad 100644 --- a/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/26AB1CB54DD4508D.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/26AB1CB54DD4508D.yaml @@ -1,8 +1,6 @@ # Goat Simulator 3 1.0.7.3 # BID: 26AB1CB54DD4508D -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget - diff --git a/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/8D4FD57DB7D63120.yaml b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/8D4FD57DB7D63120.yaml index 5c17673..e7d7373 100644 --- a/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/8D4FD57DB7D63120.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/8D4FD57DB7D63120.yaml @@ -1,8 +1,6 @@ # Goat Simulator 3 1.0.7.6 # BID: 8D4FD57DB7D63120 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget - diff --git a/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/A5DA93E6537350D8.yaml b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/A5DA93E6537350D8.yaml index beb9f20..656d9a0 100644 --- a/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/A5DA93E6537350D8.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/A5DA93E6537350D8.yaml @@ -1,8 +1,6 @@ # Goat Simulator 3 1.0.7.4 # BID: A5DA93E6537350D8 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget - diff --git a/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/C606C7DC1C0EC88F.yaml b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/C606C7DC1C0EC88F.yaml index a5bf855..072a7d8 100644 --- a/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/C606C7DC1C0EC88F.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/C606C7DC1C0EC88F.yaml @@ -1,8 +1,6 @@ # Goat Simulator 3 1.0.7.5 # BID: C606C7DC1C0EC88F -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget - diff --git a/SaltySD/plugins/FPSLocker/patches/010020F014DBE000/2B37ED2A971948F3.yaml b/SaltySD/plugins/FPSLocker/patches/010020F014DBE000/2B37ED2A971948F3.yaml index d7ae55d..cbe26d8 100644 --- a/SaltySD/plugins/FPSLocker/patches/010020F014DBE000/2B37ED2A971948F3.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010020F014DBE000/2B37ED2A971948F3.yaml @@ -1,8 +1,43 @@ # Sherlock Holmes: The Devil's Daughter 1.0.0 # BID: 2B37ED2A971948F3 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 38 + evaluate: "1.14 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 22 + evaluate: "0.66 * FRAMETIME_TARGET" + - + type: variable + name: dr_target3 + value_type: float + default_value: 43.5 + evaluate: "1.305 * FRAMETIME_TARGET" + - + type: variable + name: dr_target4 + value_type: float + default_value: 58 + evaluate: "1.74 * FRAMETIME_TARGET" + - + type: variable + name: dr_target5 + value_type: float + default_value: 47 + evaluate: "1.41 * FRAMETIME_TARGET" + - + type: variable + name: dr_target6 + value_type: float + default_value: 34 + evaluate: "1.02 * FRAMETIME_TARGET" MASTER_WRITE: # Redirect Dynamic Resolution timings to MAIN + 0x3189F00 # 38.0 @@ -10,47 +45,43 @@ MASTER_WRITE: type: asm_a64 main_offset: 0xFFEAFC instructions: [ - [adrp, x10, 0x3189000], - [ldr, s1, [x10, 0xf00]] + [adrp, x10, $dr_target1], + [ldr, s1, [x10, $dr_target1]] ] # 22.0 - type: asm_a64 main_offset: 0xFFEB0C instructions: [ - [ldr, s1, [x10, 0xf04]] + [ldr, s1, [x10, $dr_target2]] ] # 43.5 - type: asm_a64 main_offset: 0xFFEAD4 instructions: [ - [adrp, x10, 0x3189000], - [ldr, s1, [x10, 0xf08]] + [adrp, x10, $dr_target3], + [ldr, s1, [x10, $dr_target3]] ] # 58.0 - type: asm_a64 main_offset: 0xFFEAE4 instructions: [ - [adrp, x10, 0x3189000], - [ldr, s1, [x10, 0xf0c]] + [adrp, x10, $dr_target4], + [ldr, s1, [x10, $dr_target4]] ] # 47.0 | 34.0 - type: asm_a64 main_offset: 0xFFEB20 instructions: [ - [adrp, x11, 0x3189000], - [ldr, s1, [x11, 0xf10]], - [ldr, w12, [x11, 0xf14]] + [adrp, x11, $dr_target5], + [ldr, s1, [x11, $dr_target5]], + [adrp, x11, $dr_target6], + [fcmp, s0, s1], + [ldr, s1, [x11, $dr_target6]] ] - # Default values: - - - type: bytes - main_offset: 0x3189F00 - value_type: float - value: [38.0, 22.0, 43.5, 58.0, 47.0, 34.0] ALL_FPS: # UGameEngine::GetMaxTickRate() # Bool Lock FPS @@ -59,10 +90,3 @@ ALL_FPS: address: [MAIN, 0x30D1B7C] value_type: uint8 value: 0 - # Dynamic Resolution - - - type: evaluate_write - address: [MAIN, 0x3189F00] - value_type: float - value: ["(38.0 / (1000/30)) * FRAMETIME_TARGET", "(22.0 / (1000/30)) * FRAMETIME_TARGET", "(43.5 / (1000/30)) * FRAMETIME_TARGET", "(58.0 / (1000/30)) * FRAMETIME_TARGET", "(47.0 / (1000/30)) * FRAMETIME_TARGET", "(34.0 / (1000/30)) * FRAMETIME_TARGET"] - diff --git a/SaltySD/plugins/FPSLocker/patches/010021601C496000/7A450848CFDEC18E.yaml b/SaltySD/plugins/FPSLocker/patches/010021601C496000/7A450848CFDEC18E.yaml index 51a151c..01326a5 100644 --- a/SaltySD/plugins/FPSLocker/patches/010021601C496000/7A450848CFDEC18E.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010021601C496000/7A450848CFDEC18E.yaml @@ -2,8 +2,6 @@ # BID: 7A450848CFDEC18E # Some prerendered cutscenes are still pushed at 30 FPS -unsafeCheck: true - MASTER_WRITE: # Block updating DR timings, REF: 00 01 27 1E 48 40 A8 52 - @@ -40,10 +38,10 @@ ALL_FPS: value: FPS_LOCK_TARGET # Renderer thread delay - - type: write + type: evaluate_write address: [MAIN, 0x5704028] value_type: float - value: 0.01 + value: "0.66 / FPS_TARGET" # DR timings - type: evaluate_write @@ -53,4 +51,3 @@ ALL_FPS: - type: block what: timing - diff --git a/SaltySD/plugins/FPSLocker/patches/0100217014266000/2F81A2EC9B298B37.yaml b/SaltySD/plugins/FPSLocker/patches/0100217014266000/2F81A2EC9B298B37.yaml new file mode 100644 index 0000000..5b2d0f0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100217014266000/2F81A2EC9B298B37.yaml @@ -0,0 +1,25 @@ +# DRAGON QUEST TREASURES 1.0.1 +# BID: 2F81A2EC9B298B37 + +ALL_FPS: + # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + address_unsafe: true + value_type: uint32 + # Default is 0x47, bUseFixedFrameRate |= 0x40 + # By writing 7 we are making sure that other flags are maintained: + # bAllowMultiThreadedAnimationUpdate |= 4 + # bOptimizeAnimBlueprintMemberVariableAccess |= 2 + # bCanBlueprintsTickByDefault |= 1 + value: 7 + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010024700901A000/9CDFB0CD24CAE030.yaml b/SaltySD/plugins/FPSLocker/patches/010024700901A000/9CDFB0CD24CAE030.yaml index 89fbda4..a582c4b 100644 --- a/SaltySD/plugins/FPSLocker/patches/010024700901A000/9CDFB0CD24CAE030.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010024700901A000/9CDFB0CD24CAE030.yaml @@ -1,8 +1,6 @@ # Gal*Gun 2 1.0.4 # BID: 9CDFB0CD24CAE030 -unsafeCheck: false - ALL_FPS: # r.VSync - @@ -20,6 +18,7 @@ ALL_FPS: - type: write address: [MAIN, 0x44E6030, 0x764] + address_unsafe: true value_type: float value: 0 - diff --git a/SaltySD/plugins/FPSLocker/patches/010025C0145D4000/0CC82881FF112C6D.yaml b/SaltySD/plugins/FPSLocker/patches/010025C0145D4000/0CC82881FF112C6D.yaml index 2e5bda2..585bcbc 100644 --- a/SaltySD/plugins/FPSLocker/patches/010025C0145D4000/0CC82881FF112C6D.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010025C0145D4000/0CC82881FF112C6D.yaml @@ -1,8 +1,6 @@ # GUNDAM BREAKER 4 1.9.0 # BID: 0CC82881FF112C6D -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget - diff --git a/SaltySD/plugins/FPSLocker/patches/010025C0145D4000/F898CCE9C3A291AF.yaml b/SaltySD/plugins/FPSLocker/patches/010025C0145D4000/F898CCE9C3A291AF.yaml index 64f535b..d272130 100644 --- a/SaltySD/plugins/FPSLocker/patches/010025C0145D4000/F898CCE9C3A291AF.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010025C0145D4000/F898CCE9C3A291AF.yaml @@ -1,8 +1,6 @@ # GUNDAM BREAKER 4 1.5.0 # BID: F898CCE9C3A291AF -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget - diff --git a/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml b/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml index 3ed3361..3f9f810 100644 --- a/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml @@ -3,28 +3,20 @@ # Game is using double buffer, buffers are not allocated in loop. # So it's not possible to get stable FPS lock between 30 and 60 without changing refresh rate. -unsafeCheck: true +DECLARATIONS: + - + type: variable + name: dr_scale + value_type: double + default_value: 1000000 + evaluate: "30000000 / FPS_TARGET" MASTER_WRITE: - # Change location of GPU frametime double divider to MAIN+0x32C6D00 + # Change location of GPU frametime double divider - type: asm_a64 main_offset: 0x921768 instructions: [ - [adrp, x8, 0x32c6000], - [ldr, d1, [x8, 0xd00]] + [adrp, x8, $dr_scale], + [ldr, d1, [x8, $dr_scale]] ] - # Default value - - - type: bytes - main_offset: 0x32C6D00 - value_type: double - value: 1000000 -ALL_FPS: - # GPU Frametime divider = (30/FPS) * 1000000 - - - type: evaluate_write - address: [MAIN, 0x32C6D00] - value_type: double - value: "(30 / FPS_TARGET) * 1000000" - diff --git a/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml b/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml index 76b77ca..309f584 100644 --- a/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml @@ -2,8 +2,6 @@ # BID: 799D1061182C1302 # Thanks to theboy181 for finding instruction responsible for calculating frame time which I used to find where is FPS target stored -unsafeCheck: true - MASTER_WRITE: # Remove FPS Lock - @@ -23,11 +21,13 @@ ALL_FPS: - type: evaluate_write address: [MAIN, 0xED96A8, 0x30] + address_unsafe: true value_type: uint32 value: "19200000 / FPS_TARGET" - type: evaluate_write address: [MAIN, 0xED96A8, 0x28] + address_unsafe: true value_type: uint32 value: "1920000 / FPS_TARGET" # FPS 2D Game Speed Target @@ -42,4 +42,3 @@ ALL_FPS: address: [MAIN, 0xEFFC60, 0x50] value_type: float value: "1 / FPS_TARGET" - diff --git a/SaltySD/plugins/FPSLocker/patches/01002C0015644000/3A3C781930CB8201.yaml b/SaltySD/plugins/FPSLocker/patches/01002C0015644000/3A3C781930CB8201.yaml index 322da2e..8169c35 100644 --- a/SaltySD/plugins/FPSLocker/patches/01002C0015644000/3A3C781930CB8201.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01002C0015644000/3A3C781930CB8201.yaml @@ -2,13 +2,12 @@ # BID: 3A3C781930CB8201 # WARNING: Enemy Movement Speed is not scaling properly to framerate. At 60 FPS it's multiple times slower, looking like enemies are practically walking in place. -unsafeCheck: true - ALL_FPS: # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS - type: write address: [MAIN, 0x5F32908, 0x7B8] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: @@ -31,3 +30,4 @@ ALL_FPS: - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/471546458FD9E43D.yaml b/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/471546458FD9E43D.yaml index 946cd7f..baada89 100644 --- a/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/471546458FD9E43D.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/471546458FD9E43D.yaml @@ -2,27 +2,19 @@ # BID: 471546458FD9E43D # REF: 01 04 0C 5E 00 10 2E 1E -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 33.333333 + evaluate: FRAMETIME_TARGET MASTER_WRITE: -# Redirect DR frametime target to MAIN+0x36D4F00 +# Redirect DR frametime target - type: asm_a64 main_offset: 0x17358B4 instructions: [ - [adrp, x13, 0x36d4000], - [ldr, s2, [x13, 0xf00]] + [adrp, x13, $dr_target], + [ldr, s2, [x13, $dr_target]] ] - # default value - - - type: bytes - main_offset: 0x36D4F00 - value_type: float - value: 33.3333333333 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x36D4F00] - value_type: float - - value: FRAMETIME_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/9ACB108D8DC59245.yaml b/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/9ACB108D8DC59245.yaml new file mode 100644 index 0000000..c459826 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/9ACB108D8DC59245.yaml @@ -0,0 +1,20 @@ +# Expeditions: A Mudrunner Game 1.18.0.0 +# BID: 9ACB108D8DC59245 +# REF: 01 04 0C 5E 00 10 2E 1E + +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 33.333333 + evaluate: FRAMETIME_TARGET +MASTER_WRITE: +# Redirect DR frametime target + - + type: asm_a64 + main_offset: 0x1737634 + instructions: [ + [adrp, x13, $dr_target], + [ldr, s2, [x13, $dr_target]] + ] diff --git a/SaltySD/plugins/FPSLocker/patches/01002FC012548000/7C724F497564C027.yaml b/SaltySD/plugins/FPSLocker/patches/01002FC012548000/7C724F497564C027.yaml index b146e09..ab60f41 100644 --- a/SaltySD/plugins/FPSLocker/patches/01002FC012548000/7C724F497564C027.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01002FC012548000/7C724F497564C027.yaml @@ -1,8 +1,6 @@ # Jujutsu Kaisen Cursed Clash JP 1.4.0 # BID: 7C724F497564C027 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget - @@ -26,8 +24,10 @@ ALL_FPS: - type: write address: [MAIN, 0x849B7A8, 0x9C4] + address_unsafe: true value_type: uint32 value: 7 - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/0100309016E7A000/14C878ECCA9D7CB5.yaml b/SaltySD/plugins/FPSLocker/patches/0100309016E7A000/14C878ECCA9D7CB5.yaml index 38c0ad1..4266ec9 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100309016E7A000/14C878ECCA9D7CB5.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100309016E7A000/14C878ECCA9D7CB5.yaml @@ -1,13 +1,12 @@ # Demon Slayer -Kimetsu no Yaiba- The Hinokami Chronicles 1.53 # BID: 14C878ECCA9D7CB5 -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate to unlock framerate - type: write address: [MAIN, 0xB314540, 0x7F8] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/0100321017CC0000/D147CAEF2BC74574.yaml b/SaltySD/plugins/FPSLocker/patches/0100321017CC0000/D147CAEF2BC74574.yaml index 34d0a5d..280abe8 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100321017CC0000/D147CAEF2BC74574.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100321017CC0000/D147CAEF2BC74574.yaml @@ -1,15 +1,13 @@ # Hammerwatch Anniversary Edition 1.0.3 # BID: D147CAEF2BC74574 -unsafeCheck: true - MASTER_WRITE: - # Rewrite "v_fps_limit 30" to 62 + # Rewrite "v_fps_limit 30" to 99 - type: bytes main_offset: 0xE028B5 value_type: uint16 - value: 0x3236 + value: 0x3939 # Change egl Interval to lock game by default to 30 FPS - type: asm_a64 @@ -23,11 +21,3 @@ MASTER_WRITE: instructions: [ [mov, w1, 2] ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x15ABF3C0] - value_type: uint8 - value: 0 - diff --git a/SaltySD/plugins/FPSLocker/patches/0100367016DF0000/38896FEC1B4ADB1C.yaml b/SaltySD/plugins/FPSLocker/patches/0100367016DF0000/38896FEC1B4ADB1C.yaml index 9169907..acb8cfd 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100367016DF0000/38896FEC1B4ADB1C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100367016DF0000/38896FEC1B4ADB1C.yaml @@ -1,15 +1,13 @@ # Hammerwatch 2 1.0.4 # BID: 38896FEC1B4ADB1C -unsafeCheck: true - MASTER_WRITE: - # Rewrite "v_fps_limit 30" to 62 + # Rewrite "v_fps_limit 30" to 99 - type: bytes main_offset: 0x7C7597 value_type: uint16 - value: 0x3236 + value: 0x3939 # Change egl Interval to lock game by default to 30 FPS - type: asm_a64 @@ -23,11 +21,3 @@ MASTER_WRITE: instructions: [ [mov, w1, 2] ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x161BCF8] - value_type: uint8 - value: 0 - diff --git a/SaltySD/plugins/FPSLocker/patches/01003980174BC000/217C9ECF258C0312.yaml b/SaltySD/plugins/FPSLocker/patches/01003980174BC000/217C9ECF258C0312.yaml index 2197d01..ff7ab5a 100644 --- a/SaltySD/plugins/FPSLocker/patches/01003980174BC000/217C9ECF258C0312.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01003980174BC000/217C9ECF258C0312.yaml @@ -1,13 +1,12 @@ # Dusk Diver 2 1.0.1 # BID: 217C9ECF258C0312 -unsafeCheck: true - ALL_FPS: # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS - type: write address: [MAIN, 0x77C7098, 0x7A4] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: @@ -30,3 +29,4 @@ ALL_FPS: - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/010039B015CB6000/39DC785D9073C22B.yaml b/SaltySD/plugins/FPSLocker/patches/010039B015CB6000/39DC785D9073C22B.yaml index 423ec07..a46c02a 100644 --- a/SaltySD/plugins/FPSLocker/patches/010039B015CB6000/39DC785D9073C22B.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010039B015CB6000/39DC785D9073C22B.yaml @@ -1,50 +1,48 @@ # Eiyuden Chronicle: Rising 1.02 # BID: 39DC785D9073C22B -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: double + default_value: 31 + evaluate: "0.93 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: double + default_value: 29 + evaluate: "0.87 * FRAMETIME_TARGET" + - + type: code + name: drMaxTarget + instructions: [ + [adrp, x19, $dr_target1], + [ldr, d1, [x19, $dr_target1]], + [ret] + ] + - + type: code + name: drMinTarget + instructions: [ + [adrp, x8, $dr_target2], + [ldr, d1, [x8, $dr_target2]], + [ret] + ] MASTER_WRITE: - # Redirect DynamicResolution$$LowerResSW Max Target in MS to MAIN+0x3BE1200 + # Redirect DynamicResolution$$LowerResSW Max Target in MS - type: asm_a64 main_offset: 0x2426988 instructions: [ - [b, 0x2426a94] + [bl, _drMaxTarget()] ] - - - - type: asm_a64 - main_offset: 0x2426A94 - instructions: [ - [adrp, x19, 0x3be1000], - [ldr, d1, [x19, 0x200]], - [b, 0x242698c] - ] - # Redirect DynamicResolution$$LowerResSW Min Target in MS to MAIN+0x3BE1208 + # Redirect DynamicResolution$$LowerResSW Min Target - type: asm_a64 main_offset: 0x24269F4 instructions: [ - [b, 0x2426ea4] + [bl, _drMinTarget()] ] - - - type: asm_a64 - main_offset: 0x2426EA4 - instructions: [ - [adrp, x8, 0x3be1000], - [ldr, d1, [x8, 0x208]], - [b, 0x24269f8] - ] - # Write default values - - - type: bytes - main_offset: 0x3BE1200 - value_type: double - value: [31, 29] -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x3BE1200] - value_type: double - value: ["0.93 * FRAMETIME_TARGET", "0.87 * FRAMETIME_TARGET"] diff --git a/SaltySD/plugins/FPSLocker/patches/01003AE01AA76000/6C46135714ABB870.yaml b/SaltySD/plugins/FPSLocker/patches/01003AE01AA76000/6C46135714ABB870.yaml index 44e319e..716dfb5 100644 --- a/SaltySD/plugins/FPSLocker/patches/01003AE01AA76000/6C46135714ABB870.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01003AE01AA76000/6C46135714ABB870.yaml @@ -1,8 +1,6 @@ # Fate/Samurai Remnant 1.3.2 # BID: 6C46135714ABB870 -unsafeCheck: true - # Disable setting double buffer, REF: 28 63 A8 9B B8 5F 6E 29 2B F7 01 51 B9 83 57 B8 MASTER_WRITE: - diff --git a/SaltySD/plugins/FPSLocker/patches/01003CC00D0BE000/F6FB99E54347E740.yaml b/SaltySD/plugins/FPSLocker/patches/01003CC00D0BE000/F6FB99E54347E740.yaml index 5f077c6..68769eb 100644 --- a/SaltySD/plugins/FPSLocker/patches/01003CC00D0BE000/F6FB99E54347E740.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01003CC00D0BE000/F6FB99E54347E740.yaml @@ -4,58 +4,45 @@ unsafeCheck: true +DECLARATIONS: + - + type: variable + name: fps_lock + value_type: double + default_value: 0.03333333333333333 + evaluate: "1 / FPS_TARGET" + - + type: variable + name: dr_target + value_type: float + default_value: 33.333333 + evaluate: FRAMETIME_TARGET MASTER_WRITE: - # Redirect FPS Lock and Dynamic Resolution target values to MAIN + 0x21036F00 - type: asm_a64 main_offset: 0x13281C instructions: [ - [adrp, x8, 0x21036000], - [ldr, x8, [x8, 0xf00]] + [adrp, x8, $fps_lock], + [ldr, x8, [x8, $fps_lock]] ] - type: asm_a64 main_offset: 0x3E324C instructions: [ - [adrp, x8, 0x21036000], - [ldr, x8, [x8, 0xf00]] + [adrp, x8, $fps_lock], + [ldr, x8, [x8, $fps_lock]] ] - # NOP updating Dynamic Resolution target value - type: asm_a64 main_offset: 0x2D94E8 instructions: [ - [adrp, x9, 0x21036000], - [ldr, w9, [x9, 0xf08]] + [adrp, x9, $dr_target], + [ldr, w9, [x9, $dr_target]] ] - type: asm_a64 main_offset: 0x597C5C instructions: [ - [adrp, x9, 0x21036000], - [ldr, w9, [x9, 0xf08]] + [adrp, x9, $dr_target], + [ldr, w9, [x9, $dr_target]] ] - # Default values - - - type: bytes - main_offset: 0x21036F00 - value_type: double - value: 0.03333333333333333 - - - type: bytes - main_offset: 0x21036F08 - value_type: float - value: 33.333333333333 -ALL_FPS: - # FPS Lock - - - type: evaluate_write - address: [MAIN, 0x21036F00] - value_type: double - value: "1 / FPS_TARGET" - - - type: evaluate_write - address: [MAIN, 0x21036F08] - value_type: float - - value: FRAMETIME_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/01003E800A102000/283095029A5AB467.yaml b/SaltySD/plugins/FPSLocker/patches/01003E800A102000/283095029A5AB467.yaml index 063a0ff..a69df16 100644 --- a/SaltySD/plugins/FPSLocker/patches/01003E800A102000/283095029A5AB467.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01003E800A102000/283095029A5AB467.yaml @@ -2,8 +2,13 @@ # BID: 283095029A5AB467 # Double buffer is reserved line by line inside class array, so requires ton of patching -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 33.333333 + evaluate: FRAMETIME_TARGET MASTER_WRITE: # Force game to use dynamic speed instead of fixed speed - @@ -12,25 +17,11 @@ MASTER_WRITE: instructions: [ [mov, w8, 2] ] - # Redirect DR timing to MAIN + 0x9DBAEB8 + # Redirect DR timing - type: asm_a64 main_offset: 0xE88250 instructions: [ - [adrp, x8, 0x9dba000], - [ldr, s0, [x8, 0xeb8]] + [adrp, x8, $dr_target], + [ldr, s0, [x8, $dr_target]] ] - # Default value - - - type: bytes - main_offset: 0x9DBAEB8 - value_type: float - value: 33.3333333333 -ALL_FPS: - # DR timing - - - type: evaluate_write - address: [MAIN, 0x9DBAEB8] - value_type: float - value: FRAMETIME_TARGET - diff --git a/SaltySD/plugins/FPSLocker/patches/010040401D564000/1053EA8AD2A50F15.yaml b/SaltySD/plugins/FPSLocker/patches/010040401D564000/1053EA8AD2A50F15.yaml index 5225bc6..f9b345d 100644 --- a/SaltySD/plugins/FPSLocker/patches/010040401D564000/1053EA8AD2A50F15.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010040401D564000/1053EA8AD2A50F15.yaml @@ -1,8 +1,6 @@ # MotoGP 24 1.0.5 # BID: 1053EA8AD2A50F15 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/010040601A9B8000/9ACE779510EC93C9.yaml b/SaltySD/plugins/FPSLocker/patches/010040601A9B8000/9ACE779510EC93C9.yaml index 0d3195e..af86de7 100644 --- a/SaltySD/plugins/FPSLocker/patches/010040601A9B8000/9ACE779510EC93C9.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010040601A9B8000/9ACE779510EC93C9.yaml @@ -1,12 +1,10 @@ -# Tamagotchi Plaza 1.0.2 +# たまごっちのプチプチおみせっち おまちど~さま! 1.0.2 # BID: 9ACE779510EC93C9 -unsafeCheck: true - ALL_FPS: # UnityEngine.Rendering.OnDemandRendering_TypeInfo - type: write address: [MAIN, 0x683BB20, 0xB8, 0] value_type: int32 - value: -1 \ No newline at end of file + value: -1 diff --git a/SaltySD/plugins/FPSLocker/patches/010042D00D900000/EC593A5F9552100A.yaml b/SaltySD/plugins/FPSLocker/patches/010042D00D900000/EC593A5F9552100A.yaml index 02d7f5e..48d1187 100644 --- a/SaltySD/plugins/FPSLocker/patches/010042D00D900000/EC593A5F9552100A.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010042D00D900000/EC593A5F9552100A.yaml @@ -1,10 +1,21 @@ # LEGO Star Wars: The Skywalker Saga 1.10.0 # BID: EC593A5F9552100A -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 24 + evaluate: "0.72 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 31 + evaluate: "0.93 * FRAMETIME_TARGET" MASTER_WRITE: - # redirect reading Dynamic Resolution timing min & max to MAIN + 0xC3C0A50 + # redirect reading Dynamic Resolution timing min & max - type: asm_a64 main_offset: 0x6171A0 @@ -12,33 +23,21 @@ MASTER_WRITE: [nop], [ldr, s3, [x11, 0xe04]], [fadd, s1, s1, s3], - [adrp, x12, 0xc3c0000], - [ldr, s2, [x12, 0xa50]] + [adrp, x12, $dr_target1], + [ldr, s2, [x12, $dr_target1]] ] - type: asm_a64 main_offset: 0x6171F0 instructions: [ - [adrp, x11, 0xc3c0000], - [ldr, s2, [x11, 0xa54]] + [adrp, x11, $dr_target2], + [ldr, s2, [x11, $dr_target2]] ] - # Default DR timings - - - type: bytes - main_offset: 0xC3C0A50 - value_type: float - value: [24, 31] ALL_FPS: # g_video_swap_mode + ## Setting it to 1 to enable 120 FPS results in resolution range being always forced to docked mode - type: write address: [MAIN, 0xAA62FF0] value_type: int32 value: 2 - # Min + max dynamic resolution timing in ms - - - type: evaluate_write - address: [MAIN, 0xC3C0A50] - value_type: float - value: ["0.72 * FRAMETIME_TARGET", "0.93 * FRAMETIME_TARGET"] - diff --git a/SaltySD/plugins/FPSLocker/patches/010044500CF8E000/9B3DDF2FB9100E51.yaml b/SaltySD/plugins/FPSLocker/patches/010044500CF8E000/9B3DDF2FB9100E51.yaml index be80392..6f175a2 100644 --- a/SaltySD/plugins/FPSLocker/patches/010044500CF8E000/9B3DDF2FB9100E51.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010044500CF8E000/9B3DDF2FB9100E51.yaml @@ -1,8 +1,6 @@ # Hellblade: Senua's Sacrifice 1.1.0 # BID: 9B3DDF2FB9100E51 -unsafeCheck: false - ALL_FPS: # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) # MAX = (1/FPS) * 0.95 @@ -11,7 +9,7 @@ ALL_FPS: type: evaluate_write address: [MAIN, 0x520BBE0, 0x40] value_type: float - value: ["(1 / FPS_TARGET) * 0.95", "(1 / FPS_TARGET) * 0.9"] + value: ["0.95 / FPS_TARGET", "0.9 / FPS_TARGET"] # t.MaxFPS - type: evaluate_write diff --git a/SaltySD/plugins/FPSLocker/patches/010044700DEB0001/3DEF0E36AA8C6592.yaml b/SaltySD/plugins/FPSLocker/patches/010044700DEB0001/3DEF0E36AA8C6592.yaml index 9082aa0..c400b7c 100644 --- a/SaltySD/plugins/FPSLocker/patches/010044700DEB0001/3DEF0E36AA8C6592.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010044700DEB0001/3DEF0E36AA8C6592.yaml @@ -1,28 +1,22 @@ # Assassin's Creed The Rebel Collection - Assassin's Creed Rogue 1.0.0 # BID: 3DEF0E36AA8C6592 -unsafeCheck: true +DECLARATIONS: + - + type: variable + name: dr_scale + value_type: float + default_value: 1000 + evaluate: "30000 / FPS_TARGET" MASTER_WRITE: -# Patch code to divide last frametime by float scale factor stored in MAIN+0x61EE400 +# Patch code to divide last frametime by float scale factor # To match it to Dynamic Resolution calculations - type: asm_a64 main_offset: 0x9F1DDC instructions: [ - [adrp, x8, 0x61ee000], - [ldr, s1, [x8, 0x400]] + [adrp, x8, $dr_scale], + [ldr, s1, [x8, $dr_scale]] ] -# Write default dynamic resolution timing factor - - - type: bytes - main_offset: 0x61EE400 - value_type: float - value: 1000 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x61EE400] - value_type: float - value: "(FPS_TARGET / 30) * 1000" diff --git a/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml b/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml index 1fe8177..0757116 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml @@ -3,6 +3,167 @@ unsafeCheck: true +DECLARATIONS: + - + type: variable + name: last_tick + value_type: uint64 + default_value: 0 + - + type: variable + name: frame_target + value_type: uint32 + default_value: 33333333 + evaluate: "FRAMETIME_TARGET * 1000000" + - + type: variable + name: speed_factor + value_type: float + default_value: 1.0 + - + type: variable + name: current_fps + value_type: float + default_value: 30.0 + - + type: variable + name: current_frametime + value_type: float + default_value: 0.0333333333 + - + type: variable + name: dr_target + value_type: float + default_value: 0.0333333333 + evaluate: "1 / FPS_TARGET" + - + type: const + name: nanoseconds_in_sec + value: 1000000000 + - + type: const + name: max_delta + value: 66666666 + - + type: variable + name: microseconds_in_sec + value_type: double + default_value: 1000000.0 + - + type: code + name: dynamicSpeed + instructions: [ + [stp, x29, x30, [sp, -16], "!"], + [mov, x29, sp], + [blr, x8], + [mrs, x0, cntpct_el0], + [adrp, x8, $last_tick], + [ldr, x7, [x8, $last_tick]], + [str, x0, [x8, $last_tick]], + [cbz, x7, :goto1], + [sub, x0, x0, x7], + [bl, _convertTickToTimeSpan()], + [adrp, x8, $frame_target], + [ldr, w1, [x8, $frame_target]], + [cmp, x1, x0], + [b.lt, :goto2], + [mov, x0, x1], + :goto2, [mov, x1, $max_delta], + [movk, x1, $max_delta, 16], + [cmp, x1, x0], + [b.gt, :goto3], + [mov, x0, x1], + :goto3, [ucvtf, d0, x0], + [adrp, x0, $microseconds_in_sec], + [ldr, d1, [x0, $microseconds_in_sec]], + [fdiv, d0, d0, d1], + [mov, x0, 1000], + [ucvtf, d1, x0], + [fdiv, d1, d1, d0], + [adrp, x0, $current_fps], + [fcvt, s1, d1], + [str, s1, [x0, $current_fps]], + [fmov, s2, 30.0], + [fdiv, s2, s2, s1], + [adrp, x0, $speed_factor], + [str, s2, [x0, $speed_factor]], + [mov, x1, 1000], + [ucvtf, d1, x1], + [fdiv, d1, d0, d1], + [fcvt, s1, d1], + [adrp, x0, $current_frametime], + [str, s1, [x0, $current_frametime]], + :goto1, [ldp, x29, x30, [sp], 16], + [ret] + ] + - + type: code + name: battleFix + instructions: [ + [adrp, x9, $speed_factor], + [ldr, s0, [x9, $speed_factor]], + [ret] + ] + - + type: code + name: cameraRotationFix + instructions: [ + [adrp, x8, $speed_factor], + [ldr, s8, [x8, $speed_factor]], + [fmul, s0, s8, s0], + [fcmp, s0, 0.0], + [b.ge, :goto1], + [fneg, s0, s0], + [fsqrt, s0, s0], + [fneg, s0, s0], + [ret], + :goto1, [fsqrt, s0, s0], + [ret] + ] + - + type: code + name: fnSiteFix + instructions: [ + [ldr, s0, [x19, 0xd0]], + [adrp, x0, $speed_factor], + [ldr, s1, [x0, $speed_factor]], + [fmul, s0, s0, s1], + [ret] + ] + - + type: code + name: longJumpFix + instructions: [ + [fmov, s11, 30.0], + [fadd, s11, s11, s11], + [ret] + ] + - + type: code + name: qteFix + instructions: [ + [adrp, x20, $speed_factor], + [ldr, s1, [x20, $speed_factor]], + [ldr, s2, [x19, 0x120]], + [fmul, s1, s2, s1], + [ret] + ] + - + type: code + name: fogSpeedFix + instructions: [ + [fsqrt, s2, s2], + [fmadd, s0, s1, s2, s0], + [ret] + ] + - + type: code + name: overdriveFix + instructions: [ + [adrp, x0, $current_frametime], + [ldr, s0, [x0, $current_frametime]], + [ret] + ] MASTER_WRITE: # Dynamic speed mod for stuff like UI, lipsync, grass and rain ## Redirect nvnQueuePresentTexture call to code cave at MAIN+0x1735050 @@ -10,106 +171,51 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x95EED8 instructions: [ - [b, 0x1735050] + [bl, _dynamicSpeed()] ] - ## Code Cave (save floats for speed factor to MAIN+0x47BE268, frametime as FPS in MAIN+0x47BE26C, frametime in s in MAIN+0x47BE270) - - - type: asm_a64 - main_offset: 0x1735050 - instructions: [ - [blr, x8], - [bl, 0x1732500], - [adrp, x8, 0x47be000], - [ldr, x7, [x8, 0x260]], - [str, x0, [x8, 0x260]], - [cbnz, x7, +8], - [b, 0x95eedc], - [sub, x0, x0, x7], - [bl, 0x1732510], - [adrp, x8, 0x47be000], - [ldr, w1, [x8, 0x300]], - [cmp, x1, x0], - [b.lt, +8], - [mov, x0, x1], - [mov, x1, 0x40aa], - [movk, x1, 0x3f9, 16], - [cmp, x1, x0], - [b.gt, +8], - [mov, x0, x1], - [ucvtf, d0, x0], - [adrp, x0, 0x17eb000], - [ldr, d1, [x0, 0xd58]], - [fdiv, d0, d0, d1], - [mov, x0, 1000], - [ucvtf, d1, x0], - [fdiv, d1, d1, d0], - [adrp, x0, 0x47be000], - [fcvt, s1, d1], - [str, s1, [x0, 0x26c]], - [fmov, s2, 30.0], - [fdiv, s2, s2, s1], - [str, s2, [x0, 0x268]], - [mov, x1, 1000], - [ucvtf, d1, x1], - [fdiv, d1, d0, d1], - [fcvt, s1, d1], - [str, s1, [x0, 0x270]], - [b, 0x95eedc] - ] - ## Default values for code cave - - - type: bytes - main_offset: 0x47BE268 - value_type: float - value: [1.0, 30.0, 0.033333333333] - - - type: bytes - main_offset: 0x47BE300 - value_type: uint32 - value: 33333333 ## Function 1 to speed factor // Usage unknown - type: asm_a64 main_offset: 0x286968 instructions: [ - [adrp, x21, 0x47be000], + [adrp, x21, $speed_factor], [ldr, x0, [x8, 0xe18]], - [ldr, s10, [x21, 0x268]] + [ldr, s10, [x21, $speed_factor]] ] ## Function 3 to speed factor // Usage unknown - type: asm_a64 main_offset: 0xA16F00 instructions: [ - [adrp, x0, 0x47be000], - [ldr, s8, [x0, 0x268]] + [adrp, x0, $speed_factor], + [ldr, s8, [x0, $speed_factor]] ] ## Function 4 to FPS // UI Speed - type: asm_a64 main_offset: 0xA1F060 instructions: [ - [adrp, x0, 0x47be000], + [adrp, x0, $current_fps], [fmov, s0, w8], - [ldr, s0, [x0, 0x26c]] + [ldr, s0, [x0, $current_fps]] ] ## Function 5 to FPS // Usage unknown - type: asm_a64 main_offset: 0x2672DC instructions: [ - [adrp, x0, 0x47ae000], + [adrp, x0, $current_fps], [fmov, s0, w8], [ldrh, w8, [x19, 0x68]], - [ldr, s5, [x0, 0x26c]] + [ldr, s5, [x0, $current_fps]] ] ## Function 6 to FPS - type: asm_a64 main_offset: 0x26DB70 instructions: [ - [adrp, x0, 0x47be000], - [ldr, s0, [x0, 0x26c]], + [adrp, x0, $current_fps], + [ldr, s0, [x0, $current_fps]], [fcvtzu, w0, s0], [mov, w9, 6], [udiv, w8, w0, w9] @@ -119,29 +225,20 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x1E2924 instructions: [ - [adrp, x9, 0x47be000] + [adrp, x9, $current_frametime] ] - type: asm_a64 main_offset: 0x1E2938 instructions: [ - [ldr, s0, [x9, 0x270]] + [ldr, s0, [x9, $current_frametime]] ] # Adjust various elements related to fighting - type: asm_a64 main_offset: 0x1E8F48 instructions: [ - [b, 0x1735174] - ] - ## Code cave - - - type: asm_a64 - main_offset: 0x1735174 - instructions: [ - [adrp, x9, 0x47be000], - [ldr, s0, [x9, 0x268]], - [b, 0x1e8f4c] + [bl, _battleFix()] ] ## Fix gun speed - @@ -155,39 +252,15 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x13A90B4 instructions: [ - [adrp, x8, 0x47be000], - [ldr, s0, [x8, 0xf00]] - ] - ## Default value - - - type: bytes - main_offset: 0x47BEF00 - value_type: float - value: 0.01666666666 - # Adjust camera speed rotation dynamically - ## Code cave - - - type: asm_a64 - main_offset: 0x1735108 - instructions: [ - [adrp, x8, 0x47be000], - [ldr, s8, [x8, 0x268]], - [fmul, s0, s8, s0], - [fcmp, s0, 0.0], - [b.ge, +20], - [fneg, s0, s0], - [fsqrt, s0, s0], - [fneg, s0, s0], - [ret], - [fsqrt, s0, s0], - [ret] + [adrp, x8, $dr_target], + [ldr, s0, [x8, $dr_target]] ] ## Connect function 1 - type: asm_a64 main_offset: 0x1E17A0 instructions: [ - [bl, 0x1735108] + [bl, _cameraRotationFix()] ] ## Connect function 2 - @@ -200,139 +273,55 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x1E17BC instructions: [ - [bl, 0x1735108] - ] - # Force 1s sleep to synchronize audio if cutscene detected - ## Use function responsible for writing type 4 of cutscene - - - type: asm_a64 - main_offset: 0x2FB0D8 - instructions: [ - [b, 0x1735158] - ] - ### Code cave - - - type: asm_a64 - main_offset: 0x1735158 - instructions: [ - [mov, w20, 4], - [adrp, x0, 0x1fef000], - [str, w20, [x0, 0xaf4]], - [mov, x0, 0xca00], - [movk, x0, 0x3b9a, 16], - [bl, 0x17320d0], - [b, 0x2fb0dc] + [bl, _cameraRotationFix()] ] # Adjust Field Action gauge bar speed - type: asm_a64 main_offset: 0xE5E00 instructions: [ - [adrp, x0, 0x47be000], + [adrp, x0, $speed_factor], [adrp, x9, 0x1d54000], - [ldr, s8, [x0, 0x268]] + [ldr, s8, [x0, $speed_factor]] ] ## Fix for FN Site - type: asm_a64 main_offset: 0xE5858 instructions: [ - [b, 0x17350e8] - ] - ### Code cave - - - type: asm_a64 - main_offset: 0x17350E8 - instructions: [ - [ldr, s0, [x19, 0xd0]], - [adrp, x0, 0x47be000], - [ldr, s1, [x0, 0x268]], - [fmul, s0, s0, s1], - [b, 0xe585c] + [bl, _fnSiteFix()] ] # Fix long jump when not running - type: asm_a64 main_offset: 0x23EF70 instructions: [ - [b, 0x17350fc] - ] - ## Code cave - - - type: asm_a64 - main_offset: 0x17350FC - instructions: [ - [fmov, s11, 30.0], - [fadd, s11, s11, s11], - [b, 0x23ef74] + [bl, _longJumpFix()] ] # Adjust QTE Speed - ## Code cave - - - type: asm_a64 - main_offset: 0x1735134 - instructions: [ - [adrp, x20, 0x47be000], - [ldr, s1, [x20, 0x268]], - [b, 0x17351a8] - ] - - - type: asm_a64 - main_offset: 0x17351A8 - instructions: [ - [ldr, s2, [x19, 0x120]], - [fmul, s1, s2, s1], - [b, 0x5c6284] - ] ## Connect function - type: asm_a64 main_offset: 0x5C6280 instructions: [ - [b, 0x1735134] - ] - # Adjust Overdrive counter, Follow Ball speed - ## Code cave - - - type: asm_a64 - main_offset: 0x1735180 - instructions: [ - [adrp, x0, 0x47be000], - [ldr, s0, [x0, 0x270]], - [ret] - ] - ## Connect function - - - type: asm_a64 - main_offset: 0x67354 - instructions: [ - [bl, 0x1734e00] + [bl, _qteFix()] ] # Fix fog speed - type: asm_a64 main_offset: 0x296AE0 instructions: [ - [adrp, x8, 0x47be000], - [ldr, s2, [x8, 0x268]], - [bl, 0x17351b4] + [adrp, x8, $speed_factor], + [ldr, s2, [x8, $speed_factor]], + [bl, _fogSpeedFix()] ] - ## Code cave - type: asm_a64 - main_offset: 0x17351B4 + main_offset: 0x676D4 instructions: [ - [fsqrt, s2, s2], - [fmadd, s0, s1, s2, s0], - [ret] + [bl, _overdriveFix()] ] ALL_FPS: - # FPS Target - - - type: evaluate_write - address: [MAIN, 0x47BE300] - value_type: uint32 - value: "FRAMETIME_TARGET * 1000000" # FPS Lock # ref: 00 01 00 b9 2a 01 00 b9 c0 03 5f d6 - @@ -340,12 +329,6 @@ ALL_FPS: address: [MAIN, 0x1D943A0] value_type: int32 value: [1, 1] - # DR Target - - - type: evaluate_write - address: [MAIN, 0x47BEF00] - value_type: float - value: "1 / FPS_TARGET" # Lock game to 30 FPS when complex/prerendered cutscene is played ## Adjusts DR target - @@ -354,7 +337,7 @@ ALL_FPS: compare_value_type: uint32 compare_type: ">" compare_value: 2 - address: [MAIN, 0x47BEF00] + address: [VARIABLE, dr_target] value_type: float value: 0.03333333333 ## Force OS to run at 60 Hz with interval 2 @@ -364,6 +347,5 @@ ALL_FPS: compare_value_type: uint32 compare_type: ">" compare_value: 2 - address: [MAIN] value_type: refresh_rate value: 30 diff --git a/SaltySD/plugins/FPSLocker/patches/010047401EA8E000/928AF9461536F5E3.yaml b/SaltySD/plugins/FPSLocker/patches/010047401EA8E000/928AF9461536F5E3.yaml index 093e645..d07bf98 100644 --- a/SaltySD/plugins/FPSLocker/patches/010047401EA8E000/928AF9461536F5E3.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010047401EA8E000/928AF9461536F5E3.yaml @@ -1,8 +1,6 @@ # Deliver Us The Moon 1.0.0 # BID: 928AF9461536F5E3 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/010049B017774000/2F81A2EC9B298B37.yaml b/SaltySD/plugins/FPSLocker/patches/010049B017774000/2F81A2EC9B298B37.yaml index e5bbcde..5b2d0f0 100644 --- a/SaltySD/plugins/FPSLocker/patches/010049B017774000/2F81A2EC9B298B37.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010049B017774000/2F81A2EC9B298B37.yaml @@ -1,13 +1,12 @@ # DRAGON QUEST TREASURES 1.0.1 # BID: 2F81A2EC9B298B37 -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS - type: write address: [MAIN, 0x7E110D8, 0x7C0] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/01004AB00A260000/DF3766A2BB651A3E.yaml b/SaltySD/plugins/FPSLocker/patches/01004AB00A260000/DF3766A2BB651A3E.yaml index 49fe823..bd8ca14 100644 --- a/SaltySD/plugins/FPSLocker/patches/01004AB00A260000/DF3766A2BB651A3E.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01004AB00A260000/DF3766A2BB651A3E.yaml @@ -1,7 +1,19 @@ # Dark Souls Remastered 1.0.3 # BID: DF3766A2BB651A3E -unsafeCheck: false +DECLARATIONS: + - + type: variable + name: fps_target + value_type: double + default_value: 30 + evaluate: FPS_LOCK_TARGET + - + type: variable + name: game_speed + value_type: float + default_value: 0.0333333333 + evaluate: "1/FPS_TARGET" MASTER_WRITE: # Redirect FPS target to MAIN+0x55E9A00 @@ -9,63 +21,41 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x706FA4 instructions: [ - [adrp, x1, 0x55e9000] + [adrp, x1, $fps_target] ] - type: asm_a64 main_offset: 0x7070B0 instructions: [ - [ldr, d0, [x1, 0xa00]] + [ldr, d0, [x1, $fps_target]] ] # Redirect game speed to MAIN+0x55E9A08 - type: asm_a64 main_offset: 0x667900 instructions: [ - [adrp, x8, 0x55e9000], - [ldr, s8, [x8, 0xa08]] + [adrp, x8, $game_speed], + [ldr, s8, [x8, $game_speed]] ] - # Write default value - - - type: bytes - main_offset: 0x55E9A00 - value_type: double - value: 30 - - - type: bytes - main_offset: 0x55E9A08 - value_type: float - value: 0.0333333333 ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x55E9A00] - value_type: double - value: FPS_LOCK_TARGET - - - type: evaluate_write - address: [MAIN, 0x55E9A08] - value_type: float - value: "1/FPS_TARGET" - type: compare compare_address: [MAIN, 0x4543788, 0x470] + compare_address_unsafe: true compare_type: "==" compare_value_type: int32 compare_value: 1 - address: [MAIN, 0x55E9A00] - value_type: double + address: [VARIABLE, fps_target] value: 30 - type: compare compare_address: [MAIN, 0x4543788, 0x470] + compare_address_unsafe: true compare_type: "==" compare_value_type: int32 compare_value: 1 - address: [MAIN, 0x55E9A08] - value_type: float + address: [VARIABLE, game_speed] value: 0.0333333333 - type: block what: timing - diff --git a/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/A6CE40DC3AEDB1BE.yaml b/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/A6CE40DC3AEDB1BE.yaml new file mode 100644 index 0000000..32c444a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/A6CE40DC3AEDB1BE.yaml @@ -0,0 +1,106 @@ +# Kirby and the Forgotten Land 1.1.0 +# BID: A6CE40DC3AEDB1BE +# Thanks to Hazerou for finding interval offsets + +MASTER_WRITE: + # Remove double buffer + ## REF: 08 07 40 B9 49 00 80 52 + - + type: asm_a64 + main_offset: 0x747C04 + instructions: [ + [mov, w9, 3] + ] + # Fix helper functions to not corrupt stack + ## REF: 42 00 80 52 BF FF 30 A9 + - + type: asm_a64 + main_offset: 0x747CE0 + instructions: [ + [mov, w2, 3] + ] + ## REF: 08 65 45 F9 42 00 80 52, first result + - + type: asm_a64 + main_offset: 0x75ADFC + instructions: [ + [mov, w2, 3] + ] + ## REF: 09 C0 9D 52 09 01 A0 72 E1 03 00 91 F6 03 00 91, beginning of function + - + type: asm_a64 + main_offset: 0x676AC8 + instructions: [ + [sub, sp, sp, 0x50], + [stp, x22, x21, [sp, 0x20]], + [stp, x20, x19, [sp, 0x30]], + [stp, x29, x30, [sp, 0x40]], + [add, x29, sp, 0x40] + ] + ## REF: 00 61 00 91 42 00 80 52 + - + type: asm_a64 + main_offset: 0x676B1C + instructions: [ + [mov, w2, 3] + ] + ## REF: End of function from code above, first ldp x29 x30 + - + type: asm_a64 + main_offset: 0x676B40 + instructions: [ + [ldp, x29, x30, [sp, 0x40]], + [ldp, x20, x19, [sp, 0x30]], + [ldp, x22, x21, [sp, 0x20]], + [add, sp, sp, 0x50] + ] + ## REF: 42 00 80 52 F6 03 00 91 + - + type: asm_a64 + main_offset: 0x74C280 + instructions: [ + [mov, w2, 3] + ] + ## REF: 42 00 80 52 16 69 69 F8, second result + - + type: asm_a64 + main_offset: 0x75AE68 + instructions: [ + [mov, w2, 3] + ] + ## REF: 42 00 80 52 08 05 40 F9 + - + type: asm_a64 + main_offset: 0x7C2E64 + instructions: [ + [mov, w2, 3] + ] + # Block transparency in some 2D elements to avoid issue with flickering at triple buffer + ## REF: 49 91 89 B9 4A 41 48 B9 + - + type: asm_a64 + main_offset: 0x6A757C + instructions: [ + [mov, x9, 0x102], + [ldr, w10, [x10, 0x840]], + [add, x20, x8, 0x820], + [lsl, x12, x10, 3], + [str, x9, [x20]] + ] +ALL_FPS: + # Interval (Setting it to 0 unlocks framerate and sets dynamic game speed) + ## REF: 17 6C 90 52 57 01 A0 72 08 7C 01 A9, first STR above it + - + type: write + address: [MAIN, 0xA76728, 0x50] + address_unsafe: true + value_type: int32 + value: 0 + # Dynamic Resolution GPU Frametiming Max / Min (Max = 1.95 * (30/FPS), Min = 1.7 * (30/FPS)) + ## REF: 88 F2 80 B9 F3 03 00 AA 1F 05 00 71, last result, first STR above it + - + type: evaluate_write + address: [MAIN, 0xA767B0, 0x140, 0x1B0, 0x20, 0x34] + address_unsafe: true + value_type: float + value: ["(30 / FPS_TARGET) * 1.95", "(30 / FPS_TARGET) * 1.7"] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/D9BA7DB72FFAFECD.yaml b/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/D9BA7DB72FFAFECD.yaml index 46ad46c..51926ad 100644 --- a/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/D9BA7DB72FFAFECD.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/D9BA7DB72FFAFECD.yaml @@ -2,8 +2,6 @@ # BID: D9BA7DB72FFAFECD # Thanks to Hazerou for finding interval offsets -unsafeCheck: false - MASTER_WRITE: # Remove double buffer - @@ -84,12 +82,15 @@ ALL_FPS: - type: write address: [MAIN, 0xA72628, 0x50] + address_unsafe: true value_type: int32 value: 0 # Dynamic Resolution GPU Frametiming Max / Min (Max = 1.95 * (30/FPS), Min = 1.7 * (30/FPS)) - type: evaluate_write address: [MAIN, 0xA726B0, 0x140, 0x1B0, 0x20, 0x34] + address_unsafe: true value_type: float value: ["(30 / FPS_TARGET) * 1.95", "(30 / FPS_TARGET) * 1.7"] + diff --git a/SaltySD/plugins/FPSLocker/patches/010050F00BC1A000/6BEC9B23B09DF46C.yaml b/SaltySD/plugins/FPSLocker/patches/010050F00BC1A000/6BEC9B23B09DF46C.yaml index 8ef09f2..5137348 100644 --- a/SaltySD/plugins/FPSLocker/patches/010050F00BC1A000/6BEC9B23B09DF46C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010050F00BC1A000/6BEC9B23B09DF46C.yaml @@ -1,45 +1,44 @@ # Resident Evil 1.0.0 # BID: 6BEC9B23B09DF46C -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: cutscene_flag + value_type: uint32 + default_value: 0 + - + type: code + name: signalCutscene + instructions: [ + [add, x29, sp, 0x10], + [mov, w1, 1], + [adrp, x19, $cutscene_flag], + [str, w1, [x19, $cutscene_flag]], + [ret] + ] + - + type: code + name: designalCutscene + instructions: [ + [mov, w1, wzr], + [adrp, x2, $cutscene_flag], + [str, w1, [x2, $cutscene_flag]], + [ret] + ] MASTER_WRITE: # Detect prerendered cutscenes - type: asm_a64 - main_offset: 0xB1A810 + main_offset: 0xB1A818 instructions: [ - [b, 0xb31be8] - ] - - - type: asm_a64 - main_offset: 0xB31BE8 - instructions: [ - [str, x19, [sp, -0x20], "!"], - [mov, w1, 1], - [adrp, x19, 0x24e7000], - [str, w1, [x19, 0xff0]], - [mov, x19, x0], - [mov, w0, 0xca00], - [movk, w0, 0x3b9a, 16], - [svc, 0xb], - [mov, x0, x19], - [b, 0xb1a814] + [bl, _signalCutscene()] ] - type: asm_a64 main_offset: 0xB1A9BC instructions: [ - [b, 0xb31c10] - ] - - - type: asm_a64 - main_offset: 0xB31C10 - instructions: [ - [mov, w1, wzr], - [adrp, x2, 0x24e7000], - [str, w1, [x2, 0xff0]], - [b, 0xb24ec0] + [b, _designalCutscene()] ] ALL_FPS: # Internal FPS Lock @@ -51,9 +50,7 @@ ALL_FPS: - type: compare compare_type: "==" - compare_value_type: uint32 compare_value: 1 - compare_address: [MAIN, 0x24E7FF0] - address: [MAIN] + compare_address: [VARIABLE, cutscene_flag] value_type: refresh_rate value: 30 diff --git a/SaltySD/plugins/FPSLocker/patches/010050F01DF9C000/5F765D2CC4CDEF1C.yaml b/SaltySD/plugins/FPSLocker/patches/010050F01DF9C000/5F765D2CC4CDEF1C.yaml index 23f7cce..8b2b1ab 100644 --- a/SaltySD/plugins/FPSLocker/patches/010050F01DF9C000/5F765D2CC4CDEF1C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010050F01DF9C000/5F765D2CC4CDEF1C.yaml @@ -1,17 +1,28 @@ # REYNATIS (US/EU) 1.0.10 # BID: 5F765D2CC4CDEF1C -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: double + default_value: 31 + evaluate: "0.93 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: double + default_value: 29 + evaluate: "(0.93 * FRAMETIME_TARGET) - 2" MASTER_WRITE: - # Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C22F00 + # Redirect reading DR timing in DynamicResolution::LowerResSW() # REF: 01 f0 67 1e - type: asm_a64 main_offset: 0x38E7ECC instructions: [ - [adrp, x20, 0x7c22000], - [ldr, d1, [x20, 0xf00]], + [adrp, x20, $dr_target1], + [ldr, d1, [x20, $dr_target1]], [fcmpe, d0, d1], [ldp, s9, s8, [x19, 0x40]], [b.le, 0x38e7f34], @@ -21,19 +32,5 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x38E7F34 instructions: [ - [ldr, d1, [x20, 0xf08]] + [ldr, d1, [x20, $dr_target2]] ] - # Default handheld value - - - type: bytes - main_offset: 0x7C22F00 - value_type: double - value: [31, 29] -ALL_FPS: - # Dynamic Resolution Timing - - - type: evaluate_write - address: [MAIN, 0x7C22F00] - value_type: double - value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"] - diff --git a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/20503FA77FA416B7.yaml b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/20503FA77FA416B7.yaml index 01d6d9c..67d03f9 100644 --- a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/20503FA77FA416B7.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/20503FA77FA416B7.yaml @@ -1,13 +1,12 @@ # DRAGON BALL Z: KARAKOT + A NEW POWER AWAKENS SET 1.50 # BID: 20503FA77FA416B7 -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate in cutscenes to unlock framerate - type: write address: [MAIN, 0x9456538, 0x810] + address_unsafe: true value_type: uint32 # Default is 0x47 in cutscenes, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/389E38618E93A5E0.yaml b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/389E38618E93A5E0.yaml index 234c808..dd12698 100644 --- a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/389E38618E93A5E0.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/389E38618E93A5E0.yaml @@ -1,13 +1,12 @@ # DRAGON BALL Z: KARAKOT + A NEW POWER AWAKENS SET 1.51 # BID: 389E38618E93A5E0 -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate in cutscenes to unlock framerate - type: write address: [MAIN, 0x9456538, 0x810] + address_unsafe: true value_type: uint32 # Default is 0x47 in cutscenes, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/72F6F8B54276185C.yaml b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/72F6F8B54276185C.yaml index 9b1319e..ecba64a 100644 --- a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/72F6F8B54276185C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/72F6F8B54276185C.yaml @@ -1,13 +1,12 @@ # DRAGON BALL Z: KARAKOT + A NEW POWER AWAKENS SET 1.52 # BID: 72F6F8B54276185C -unsafeCheck: true - ALL_FPS: # Disable bUseFixedFrameRate in cutscenes to unlock framerate - type: write address: [MAIN, 0x945A538, 0x810] + address_unsafe: true value_type: uint32 # Default is 0x47 in cutscenes, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: @@ -32,4 +31,4 @@ ALL_FPS: type: write address: [MAIN, 0x88C6FD8, 0] value_type: int32 - value: [0, 0] \ No newline at end of file + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/BC99D4D0A9474360.yaml b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/BC99D4D0A9474360.yaml index 87af62e..6a68d02 100644 --- a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/BC99D4D0A9474360.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/BC99D4D0A9474360.yaml @@ -1,13 +1,12 @@ # DRAGON BALL Z: KARAKOT + A NEW POWER AWAKENS SET 1.60 # BID: BC99D4D0A9474360 -unsafeCheck: true - ALL_FPS: # Disable bUseFixedFrameRate in cutscenes to unlock framerate - type: write address: [MAIN, 0x996A558, 0x810] + address_unsafe: true value_type: uint32 # Default is 0x47 in cutscenes, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: @@ -32,4 +31,4 @@ ALL_FPS: type: write address: [MAIN, 0x8DD7418, 0] value_type: int32 - value: [0, 0] \ No newline at end of file + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010053E002EA2000/76EC789B99A25BA5.yaml b/SaltySD/plugins/FPSLocker/patches/010053E002EA2000/76EC789B99A25BA5.yaml index 8c497f0..8c6e502 100644 --- a/SaltySD/plugins/FPSLocker/patches/010053E002EA2000/76EC789B99A25BA5.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010053E002EA2000/76EC789B99A25BA5.yaml @@ -2,8 +2,6 @@ # BID: 76EC789B99A25BA5 # REF: aql::GraphicsContext::initialize -unsafeCheck: true - MASTER_WRITE: # Remove double buffer - @@ -12,10 +10,3 @@ MASTER_WRITE: instructions: [ [mov, x8, 3] ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x25CCF00] - value_type: uint8 - value: 0 diff --git a/SaltySD/plugins/FPSLocker/patches/01005420101DA000/134EC3D8BE75126F.yaml b/SaltySD/plugins/FPSLocker/patches/01005420101DA000/134EC3D8BE75126F.yaml index 1e5b580..b35d5b9 100644 --- a/SaltySD/plugins/FPSLocker/patches/01005420101DA000/134EC3D8BE75126F.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01005420101DA000/134EC3D8BE75126F.yaml @@ -4,63 +4,50 @@ # Fishing timer is decreasing 2x faster at 60 FPS # Bike is turning 2x faster at 60 FPS -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 33333333 + evaluate: "FRAMETIME_TARGET * 930000" + - + type: variable + name: frame_time + value_type: float + default_value: 0.0333333333 + - + type: code + name: dynamicSpeed + instructions: [ + [str, d0, [x8, 0x20]], + [fcvt, s4, d0], + [adrp, x8, $frame_time], + [str, s4, [x8, $frame_time]], + [ret] + ] MASTER_WRITE: - # Move loading FPS lock time to MAIN+0x2B31200 + # Move loading FPS lock time - type: asm_a64 main_offset: 0x511818 instructions: [ - [adrp, x9, 0x2b31000], - [ldr, w9, [x9, 0x200]] + [adrp, x9, $fps_lock], + [ldr, w9, [x9, $fps_lock]] ] - # Default value - - - type: bytes - main_offset: 0x2B31200 - value_type: uint32 - value: 33333333 - # Write game's loop time as float to MAIN+0x2B31204 + # Write game's loop time as float - type: asm_a64 main_offset: 0x511884 instructions: [ - [b, 0x5117f4] + [bl, _dynamicSpeed()] ] - - - type: asm_a64 - main_offset: 0x5117F4 - instructions: [ - [str, d0, [x8, 0x20]], - [fcvt, s4, d0], - [b, 0x511a84] - ] - - - type: asm_a64 - main_offset: 0x511A84 - instructions: [ - [adrp, x8, 0x2b31000], - [str, s4, [x8, 0x204]], - [b, 0x511888] - ] - - # Read lowest timing float factor from MAIN+0x2B31204 + - # Read lowest timing float factor type: asm_a64 main_offset: 0x5E5EC instructions: [ - [adrp, x8, 0x2b31000], + [adrp, x8, $frame_time], [fminnm, s1, s1, s2], - [ldr, s2, [x8, 0x204]] + [ldr, s2, [x8, $frame_time]] ] - - # Default value - type: bytes - main_offset: 0x2B31204 - value_type: float - value: 0.0333333333 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x2B31200] - value_type: uint32 - value: 11111111 diff --git a/SaltySD/plugins/FPSLocker/patches/0100544020572000/153DB27728D41305.yaml b/SaltySD/plugins/FPSLocker/patches/0100544020572000/153DB27728D41305.yaml index 195f410..8fc82ab 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100544020572000/153DB27728D41305.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100544020572000/153DB27728D41305.yaml @@ -1,8 +1,6 @@ # Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.1.0 # BID: 153DB27728D41305 -unsafeCheck: false - MASTER_WRITE: # Redirect DR to MAIN + 0x2F11FF0 # REF: A9 24 89 52 49 A2 A7 72 @@ -26,6 +24,7 @@ ALL_FPS: - type: write address: [MAIN, 0x2ED8D10, 0xE0, 0x284] + address_unsafe: true value_type: uint8 value: 0 # DR Target diff --git a/SaltySD/plugins/FPSLocker/patches/0100544020572000/1CEA83A1E6684665.yaml b/SaltySD/plugins/FPSLocker/patches/0100544020572000/1CEA83A1E6684665.yaml index 827c75b..7b827aa 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100544020572000/1CEA83A1E6684665.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100544020572000/1CEA83A1E6684665.yaml @@ -1,37 +1,31 @@ # Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.3.0 # BID: 1CEA83A1E6684665 -unsafeCheck: false +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 0.035714 + evaluate: "1.01 / FPS_TARGET" MASTER_WRITE: - # Redirect DR to MAIN + 0x2F5CFF0 + # Redirect DR # REF: A9 24 89 52 49 A2 A7 72, second REF - type: asm_a64 main_offset: 0x10AAEE4 instructions: [ - [adrp, x9, 0x2f5c000], - [ldr, s1, [x9, 0xff0]], + [adrp, x9, $dr_target], + [ldr, s1, [x9, $dr_target]], [nop] ] - ## Default value - - - type: bytes - main_offset: 0x2F5CFF0 - value_type: float - value: 0.035714 ALL_FPS: # Disable FPS Lock # REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it - type: write address: [MAIN, 0x2F23C00, 0xE0, 0x294] + address_unsafe: true value_type: uint8 value: 0 - # DR Target - - - type: evaluate_write - address: [MAIN, 0x2F5CFF0] - value_type: float - value: "1.01 / FPS_TARGET" - diff --git a/SaltySD/plugins/FPSLocker/patches/0100544020572000/29F67D61B0AD1500.yaml b/SaltySD/plugins/FPSLocker/patches/0100544020572000/29F67D61B0AD1500.yaml index 256930e..d69b548 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100544020572000/29F67D61B0AD1500.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100544020572000/29F67D61B0AD1500.yaml @@ -1,8 +1,6 @@ # Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.2.0 # BID: 29F67D61B0AD1500 -unsafeCheck: false - MASTER_WRITE: # Redirect DR to MAIN + 0x2F4CFF0 # REF: A9 24 89 52 49 A2 A7 72, second REF @@ -26,6 +24,7 @@ ALL_FPS: - type: write address: [MAIN, 0x2F13D80, 0xE0, 0x284] + address_unsafe: true value_type: uint8 value: 0 # DR Target diff --git a/SaltySD/plugins/FPSLocker/patches/0100544020572000/3B2CB1C8865E7B1E.yaml b/SaltySD/plugins/FPSLocker/patches/0100544020572000/3B2CB1C8865E7B1E.yaml index 6410cb0..da2e92b 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100544020572000/3B2CB1C8865E7B1E.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100544020572000/3B2CB1C8865E7B1E.yaml @@ -1,8 +1,6 @@ # Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.2.1 # BID: 3B2CB1C8865E7B1E -unsafeCheck: false - MASTER_WRITE: # Redirect DR to MAIN + 0x2F4CFF0 # REF: A9 24 89 52 49 A2 A7 72, second REF @@ -26,6 +24,7 @@ ALL_FPS: - type: write address: [MAIN, 0x2F13D80, 0xE0, 0x284] + address_unsafe: true value_type: uint8 value: 0 # DR Target diff --git a/SaltySD/plugins/FPSLocker/patches/0100544020572000/5E43788065113530.yaml b/SaltySD/plugins/FPSLocker/patches/0100544020572000/5E43788065113530.yaml index 32d45d0..2cfc421 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100544020572000/5E43788065113530.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100544020572000/5E43788065113530.yaml @@ -1,13 +1,12 @@ # Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.0.2 # BID: 5E43788065113530 -unsafeCheck: false - ALL_FPS: # Disable FPS Lock # REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it - type: write address: [MAIN, 0x2E8DCF0, 0xE0, 0x284] + address_unsafe: true value_type: uint8 value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100544020572000/9B9CCD97EB6EF789.yaml b/SaltySD/plugins/FPSLocker/patches/0100544020572000/9B9CCD97EB6EF789.yaml new file mode 100644 index 0000000..d76bb62 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100544020572000/9B9CCD97EB6EF789.yaml @@ -0,0 +1,30 @@ +# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.4.2 +# BID: 9B9CCD97EB6EF789 + +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 0.035714 + evaluate: "1.01 / FPS_TARGET" +MASTER_WRITE: + # Redirect DR + # REF: A9 24 89 52 49 A2 A7 72, second REF + - + type: asm_a64 + main_offset: 0x10EC6A4 + instructions: [ + [adrp, x9, $dr_target], + [ldr, s1, [x9, $dr_target]], + [nop] + ] +ALL_FPS: + # Disable FPS Lock + # REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it + - + type: write + address: [MAIN, 0x2FC3CB0, 0xE0, 0x294] + address_unsafe: true + value_type: uint8 + value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100544020572000/A947DDE7826A3562.yaml b/SaltySD/plugins/FPSLocker/patches/0100544020572000/A947DDE7826A3562.yaml index 8db0285..bc4aa78 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100544020572000/A947DDE7826A3562.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100544020572000/A947DDE7826A3562.yaml @@ -1,13 +1,12 @@ # Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.0.1 # BID: A947DDE7826A3562 -unsafeCheck: false - ALL_FPS: # Disable FPS Lock # REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it - type: write address: [MAIN, 0x2E8AB00, 0xE0, 0x284] + address_unsafe: true value_type: uint8 value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010054A020574000/6CB3E54C5F648410.yaml b/SaltySD/plugins/FPSLocker/patches/010054A020574000/6CB3E54C5F648410.yaml index e64833a..9fa3a01 100644 --- a/SaltySD/plugins/FPSLocker/patches/010054A020574000/6CB3E54C5F648410.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010054A020574000/6CB3E54C5F648410.yaml @@ -1,38 +1,31 @@ # 유미아의 아틀리에 ~추억의 연금술사와 창환의 땅~ 1.3.0 # BID: 6CB3E54C5F648410 -unsafeCheck: false +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 0.035714 + evaluate: "1.01 / FPS_TARGET" MASTER_WRITE: - # Redirect DR to MAIN + 0x2F5CFF0 + # Redirect DR # REF: A9 24 89 52 49 A2 A7 72, second REF - type: asm_a64 main_offset: 0x10AAEE4 instructions: [ - [adrp, x9, 0x2f5c000], - [ldr, s1, [x9, 0xff0]], + [adrp, x9, $dr_target], + [ldr, s1, [x9, $dr_target]], [nop] ] - ## Default value - - - type: bytes - main_offset: 0x2F5CFF0 - value_type: float - value: 0.035714 ALL_FPS: # Disable FPS Lock # REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it - type: write address: [MAIN, 0x2F23C00, 0xE0, 0x294] + address_unsafe: true value_type: uint8 value: 0 - # DR Target - - - type: evaluate_write - address: [MAIN, 0x2F5CFF0] - value_type: float - value: "1.01 / FPS_TARGET" - - diff --git a/SaltySD/plugins/FPSLocker/patches/0100559011740000/D2FD97779381FB9A.yaml b/SaltySD/plugins/FPSLocker/patches/0100559011740000/D2FD97779381FB9A.yaml index e63757a..c85000b 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100559011740000/D2FD97779381FB9A.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100559011740000/D2FD97779381FB9A.yaml @@ -1,13 +1,12 @@ # Monster Hunter Rise JP 16.02 # BID: D2FD97779381FB9A -unsafeCheck: false - ALL_FPS: # Internal FPS lock - type: evaluate_write address: [MAIN, 0x12B2E5C8, 0x434] + address_unsafe: true value_type: float value: FPS_LOCK_TARGET - diff --git a/SaltySD/plugins/FPSLocker/patches/010055D009F78000/89048449BA238C8C.yaml b/SaltySD/plugins/FPSLocker/patches/010055D009F78000/89048449BA238C8C.yaml index 9ef3513..f89947d 100644 --- a/SaltySD/plugins/FPSLocker/patches/010055D009F78000/89048449BA238C8C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010055D009F78000/89048449BA238C8C.yaml @@ -1,34 +1,32 @@ # Fire Emblem: Three Houses 1.2.0 # BID: 89048449BA238C8C -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 34 + evaluate: "0.99 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 25 + evaluate: "0.84 * FRAMETIME_TARGET" MASTER_WRITE: - # Redirect DR timing targets to MAIN + 0x21E4F30 + # Redirect DR timing targets - type: asm_a64 main_offset: 0x4C82D0 instructions: [ - [adrp, x10, 0x21e4000], - [ldr, s2, [x10, 0xf30]] + [adrp, x10, $dr_target1], + [ldr, s2, [x10, $dr_target1]] ] - type: asm_a64 main_offset: 0x4C8300 instructions: [ - [adrp, x8, 0x21e4000], - [ldr, s2, [x8, 0xf34]] + [adrp, x8, $dr_target2], + [ldr, s2, [x8, $dr_target2]] ] - # Default values - - - type: bytes - main_offset: 0x21E4F30 - value_type: float - value: [34, 25] -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x21E4F30] - value_type: float - value: ["0.99 * FRAMETIME_TARGET", "0.84 * FRAMETIME_TARGET"] - diff --git a/SaltySD/plugins/FPSLocker/patches/010056B015FE8000/E43525F22282A477.yaml b/SaltySD/plugins/FPSLocker/patches/010056B015FE8000/E43525F22282A477.yaml index 6b0c129..d59cd02 100644 --- a/SaltySD/plugins/FPSLocker/patches/010056B015FE8000/E43525F22282A477.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010056B015FE8000/E43525F22282A477.yaml @@ -1,49 +1,54 @@ # NieR:Automata The End of YoRHa Edition US/EU 1.0.2 # BID: E43525F22282A477 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target_bad + value_type: float + default_value: 45 + evaluate: "1.35 * FRAMETIME_TARGET" + - + type: variable + name: dr_target_optimal + value_type: float + default_value: 32.01 + evaluate: "0.9603 * FRAMETIME_TARGET" + - + type: variable + name: dr_target_good + value_type: float + default_value: 30 + evaluate: "0.9 * FRAMETIME_TARGET" MASTER_WRITE: - # Redirect DR timings to MAIN + 0x2BE6F00, [Bad, Optimal, Good] + # Redirect DR timings - type: asm_a64 main_offset: 0x9BF3E4 instructions: [ - [adrp, x12, 0x2be6000], - [ldr, s3, [x12, 0xf00]] + [adrp, x12, $dr_target_bad], + [ldr, s3, [x12, $dr_target_bad]] ] - type: asm_a64 main_offset: 0x9BF434 instructions: [ - [adrp, x12, 0x2be6000], - [ldr, w12, [x12, 0xf04]] + [adrp, x12, $dr_target_optimal], + [ldr, w12, [x12, $dr_target_optimal]] ] - type: asm_a64 main_offset: 0x9BF484 instructions: [ [fcsel, s3, s4, s0, gt], - [adrp, x12, 0x2be6000], - [ldr, s0, [x12, 0xf04]], - [nop] + [adrp, x12, $dr_target_optimal], + [ldr, s0, [x12, $dr_target_optimal]], + [adrp, x12, $dr_target_good] ] - type: asm_a64 main_offset: 0x9BF4A8 instructions: [ - [ldr, s0, [x12, 0xf08]] + [ldr, s0, [x12, $dr_target_good]] ] - # Default values - - - type: bytes - main_offset: 0x2BE6F00 - value_type: float - value: [45, 32.01, 30] -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x2BE6F00] - value_type: float - value: ["1.35 * FRAMETIME_TARGET", "0.9603 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET"] diff --git a/SaltySD/plugins/FPSLocker/patches/010056E00853A000/746F0D697EEEE2DD.yaml b/SaltySD/plugins/FPSLocker/patches/010056E00853A000/746F0D697EEEE2DD.yaml index e22db50..d3b76aa 100644 --- a/SaltySD/plugins/FPSLocker/patches/010056E00853A000/746F0D697EEEE2DD.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010056E00853A000/746F0D697EEEE2DD.yaml @@ -1,12 +1,11 @@ # A Hat in Time 1.0.4 # BID: 746F0D697EEEE2DD -unsafeCheck: false - ALL_FPS: # MaxSmoothedFrameRate - type: evaluate_write address: [MAIN, 0x2265248, 0x71C] + address_unsafe: true value_type: float value: FPS_LOCK_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/0100582010AE0000/B3967105033ACC08.yaml b/SaltySD/plugins/FPSLocker/patches/0100582010AE0000/B3967105033ACC08.yaml index 5e261a4..9f0ea28 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100582010AE0000/B3967105033ACC08.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100582010AE0000/B3967105033ACC08.yaml @@ -1,8 +1,61 @@ # Crysis 2 Remastered 1.3.0 # BID: B3967105033ACC08 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 31.5 + evaluate: "0.945 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 32.5 + evaluate: "0.975 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - START + - + type: variable + name: dr_target3 + value_type: float + default_value: 33 + evaluate: "0.99 * FRAMETIME_TARGET" + - + type: variable + name: dr_target4 + value_type: float + default_value: 35 + evaluate: "0.99 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - END + # DON'T PUT ANYTHING BETWEEN - START + - + type: variable + name: dr_target5 + value_type: float + default_value: 32 + evaluate: "0.96 * FRAMETIME_TARGET" + - + type: variable + name: dr_target6 + value_type: float + default_value: 33.5 + evaluate: "0.96 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - END + # DON'T PUT ANYTHING BETWEEN - START + - + type: variable + name: dr_target7 + value_type: float + default_value: 28.75 + evaluate: "0.8625 * FRAMETIME_TARGET" + - + type: variable + name: dr_target8 + value_type: float + default_value: 29.75 + evaluate: "0.8625 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - END MASTER_WRITE: # Redirect Dynamic Resolution Timings to read always not from .text - @@ -22,63 +75,32 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x2EE9A38 instructions: [ - [adrp, x11, 0x453b000] + [adrp, x11, $dr_target1] ] - type: asm_a64 main_offset: 0x2EE9A40 instructions: [ - [adrp, x12, 0x453b000], - [ldr, s1, [x11, 0x300]], - [ldr, s2, [x12, 0x304]] + [adrp, x12, $dr_target2], + [ldr, s1, [x11, $dr_target1]], + [ldr, s2, [x12, $dr_target2]] ] - type: asm_a64 main_offset: 0x2EE9A50 instructions: [ - [adrp, x13, 0x453b000], - [add, x13, x13, 0x308] + [adrp, x13, $dr_target3], + [add, x13, x13, $dr_target3] ] - type: asm_a64 main_offset: 0x2EE9A7C instructions: [ - [adrp, x9, 0x453b000], - [add, x9, x9, 0x310], - [adrp, x11, 0x453b000], - [add, x11, x11, 0x318] + [adrp, x9, $dr_target5], + [add, x9, x9, $dr_target5], + [adrp, x11, $dr_target7], + [add, x11, x11, $dr_target7] ] -# Write default values - # MAIN + 0x333FAFC - - - type: bytes - main_offset: 0x453B300 - value_type: float - value: 31.5 - # MAIN + 0x333F844 - - - type: bytes - main_offset: 0x453B304 - value_type: float - value: 32.5 - # MAIN + 0x333E360 - - - type: bytes - main_offset: 0x453B308 - value_type: float - value: [33, 35] - # MAIN + 0x333E258 - - - type: bytes - main_offset: 0x453B310 - value_type: float - value: [32, 33.5] - # MAIN + 0x333E9F8 - - - type: bytes - main_offset: 0x453B318 - value_type: float - value: [28.75, 29.75] ALL_FPS: # sys_MaxFPS - @@ -88,40 +110,10 @@ ALL_FPS: value: FPS_LOCK_TARGET # Renderer thread delay - - type: write + type: evaluate_write address: [MAIN, 0x444A0D8] value_type: float - value: 0.01 - # MAIN + 0x333FAFC - - - type: evaluate_write - address: [MAIN, 0x453B300] - value_type: float - value: "0.945 * FRAMETIME_TARGET" - # MAIN + 0x333F844 - - - type: evaluate_write - address: [MAIN, 0x453B304] - value_type: float - value: "0.975 * FRAMETIME_TARGET" - # MAIN + 0x333E360 - - - type: evaluate_write - address: [MAIN, 0x453B308] - value_type: float - value: ["0.99 * FRAMETIME_TARGET", "0.99 * FRAMETIME_TARGET"] - # MAIN + 0x333E258 - - - type: evaluate_write - address: [MAIN, 0x453B310] - value_type: float - value: ["0.96 * FRAMETIME_TARGET", "0.96 * FRAMETIME_TARGET"] - # MAIN + 0x333E9F8 - - - type: evaluate_write - address: [MAIN, 0x453B318] - value_type: float - value: ["0.8625 * FRAMETIME_TARGET", "0.8625 * FRAMETIME_TARGET"] + value: "0.66 / FPS_TARGET" - type: block what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/36B692C0FA9F6F46.yaml b/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/36B692C0FA9F6F46.yaml index bb95d83..1b2e093 100644 --- a/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/36B692C0FA9F6F46.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/36B692C0FA9F6F46.yaml @@ -1,8 +1,19 @@ # WARRIORS: Abyss 1.4.0 # BID: 36B692C0FA9F6F46 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 50 + evaluate: "1.5 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 40 + evaluate: "1.2 * FRAMETIME_TARGET" MASTER_WRITE: # REF: 09 49 A8 52 21 01 27 1E 00 20 21 1E # Use FPS Target instead of vsync value for Dynamic Resolution max delta @@ -13,27 +24,21 @@ MASTER_WRITE: [adrp, x1, 0x1021000], [ldr, s1, [x1, 0xe10]] ] - # Redirect DR Targets to MAIN+0x1477F00 + # Redirect DR Targets - type: asm_a64 main_offset: 0x6E3B94 instructions: [ - [adrp, x9, 0x14bf000], - [ldr, s1, [x9, 0xf00]] + [adrp, x9, $dr_target1], + [ldr, s1, [x9, $dr_target1]] ] - type: asm_a64 main_offset: 0x6E3BA4 instructions: [ - [adrp, x9, 0x14bf000], - [ldr, s1, [x9, 0xf04]] + [adrp, x9, $dr_target2], + [ldr, s1, [x9, $dr_target2]] ] - # Default values - - - type: bytes - main_offset: 0x14BFF00 - value_type: float - value: [50, 40] ALL_FPS: # REF: 00 00 F0 42 78 00 00 00 00 00 F0 42 04 00 00 00 # FPS Lock @@ -68,9 +73,3 @@ ALL_FPS: address: [MAIN, 0x1021E18] value_type: float value: "FPS_TARGET" - - - type: evaluate_write - address: [MAIN, 0x14BFF00] - value_type: float - - value: ["1.5 * FRAMETIME_TARGET", "1.2 * FRAMETIME_TARGET"] diff --git a/SaltySD/plugins/FPSLocker/patches/01005EA01C0FC001/D91C67509C6AED8D.yaml b/SaltySD/plugins/FPSLocker/patches/01005EA01C0FC001/D91C67509C6AED8D.yaml index c3645be..0ceb09a 100644 --- a/SaltySD/plugins/FPSLocker/patches/01005EA01C0FC001/D91C67509C6AED8D.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01005EA01C0FC001/D91C67509C6AED8D.yaml @@ -1,8 +1,6 @@ # SONIC GENERATIONS 1.0.1/1.1.0 # BID: D91C67509C6AED8D -unsafeCheck: true - MASTER_WRITE: # NOP internal FPS Lock # REF: 00 00 23 1E E1 02 27 1E 00 08 21 1E @@ -20,11 +18,3 @@ MASTER_WRITE: instructions: [ [mov, w20, 2] ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x5226F00] - value_type: uint8 - value: 0 - diff --git a/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/3E961285846C72A5.yaml b/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/3E961285846C72A5.yaml index 6903b51..5e05f79 100644 --- a/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/3E961285846C72A5.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/3E961285846C72A5.yaml @@ -1,13 +1,12 @@ # Warhammer 40,000: Boltgun 1.0.0.7 # BID: 3E961285846C72A5 -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate to unlock framerate - type: write address: [MAIN, 0x63A69F8, 0x7A4] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/7C992B6A003C599F.yaml b/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/7C992B6A003C599F.yaml index fc18676..391628b 100644 --- a/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/7C992B6A003C599F.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/7C992B6A003C599F.yaml @@ -1,13 +1,12 @@ # Warhammer 40,000: Boltgun 1.0.0.3 # BID: 7C992B6A003C599F -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate to unlock framerate - type: write address: [MAIN, 0x710C9C8, 0x7A4] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/B8630C6EE3A22FE8.yaml b/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/B8630C6EE3A22FE8.yaml index 36e5535..1395d69 100644 --- a/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/B8630C6EE3A22FE8.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/B8630C6EE3A22FE8.yaml @@ -1,13 +1,12 @@ # Warhammer 40,000: Boltgun 1.0.0.6 # BID: B8630C6EE3A22FE8 -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate to unlock framerate - type: write address: [MAIN, 0x63A69F8, 0x7A4] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/010060700AC50000/E853C44FDF18B88F.yaml b/SaltySD/plugins/FPSLocker/patches/010060700AC50000/E853C44FDF18B88F.yaml index bb73ddd..50a5caa 100644 --- a/SaltySD/plugins/FPSLocker/patches/010060700AC50000/E853C44FDF18B88F.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010060700AC50000/E853C44FDF18B88F.yaml @@ -2,25 +2,24 @@ # BID: E853C44FDF18B88F # Credits to Hazerou for finding offsets for FPS lock and speed -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 0.0166666666 + evaluate: "0.5 / FPS_TARGET" MASTER_WRITE: # Redirect reading DR GPU time factor to MAIN + 0x4FC0E00 - type: asm_a64 main_offset: 0x470E80 instructions: [ - [adrp, x9, 0x4fc0000], - [ldr, s2, [x9, 0xe00]] + [adrp, x9, $dr_target], + [ldr, s2, [x9, $dr_target]] ] -# Default value (= 0.5 / FPS) - - - type: bytes - main_offset: 0x4FC0E00 - value_type: float - value: 0.0166666666 ALL_FPS: - # Internal Vsync (default value) + # Internal Vsync - type: evaluate_write address: [MAIN, 0x45A7410] @@ -32,10 +31,3 @@ ALL_FPS: address: [MAIN, 0x45A71F0] value_type: float value: FPS_TARGET - # DR GPU time factor - - - type: evaluate_write - address: [MAIN, 0x4FC0E00] - value_type: float - value: "0.5 / FPS_TARGET" - diff --git a/SaltySD/plugins/FPSLocker/patches/0100628004BCE000/81DA4F9E1E961CA6.yaml b/SaltySD/plugins/FPSLocker/patches/0100628004BCE000/81DA4F9E1E961CA6.yaml index 6530471..cc1faf9 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100628004BCE000/81DA4F9E1E961CA6.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100628004BCE000/81DA4F9E1E961CA6.yaml @@ -1,29 +1,20 @@ # Nights Of Azure 2: Bride of the New Moon 1.0.1 # BID: 81DA4F9E1E961CA6 -unsafeCheck: true - +DECLARATIONS: + - + type: code + name: tripleBuffer + instructions: [ + [mov, w22, 3], + [str, w22, [x1, 8]], + [b, 0xa305c0] + ] MASTER_WRITE: # Remove double buffer - type: asm_a64 main_offset: 0x7E4ED8 instructions: [ - [bl, 0xa31900] + [bl, _tripleBuffer()] ] - - - type: asm_a64 - main_offset: 0xA31900 - instructions: [ - [mov, w22, 3], - [str, w22, [x1, 8]], - [b, 0xa305c0] - ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x13E5400] - value_type: uint8 - value: 0 - diff --git a/SaltySD/plugins/FPSLocker/patches/010064C01A9BA000/1BA8D8FD3897F22F.yaml b/SaltySD/plugins/FPSLocker/patches/010064C01A9BA000/1BA8D8FD3897F22F.yaml new file mode 100644 index 0000000..ce2f05b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010064C01A9BA000/1BA8D8FD3897F22F.yaml @@ -0,0 +1,10 @@ +# Tamagotchi Plaza 1.0.4 +# BID: 1BA8D8FD3897F22F + +ALL_FPS: + # UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x683EB68, 0xB8, 0] + value_type: int32 + value: -1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100650018FE0000/7A450848CFDEC18E.yaml b/SaltySD/plugins/FPSLocker/patches/0100650018FE0000/7A450848CFDEC18E.yaml index 51a151c..7aa5975 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100650018FE0000/7A450848CFDEC18E.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100650018FE0000/7A450848CFDEC18E.yaml @@ -2,8 +2,6 @@ # BID: 7A450848CFDEC18E # Some prerendered cutscenes are still pushed at 30 FPS -unsafeCheck: true - MASTER_WRITE: # Block updating DR timings, REF: 00 01 27 1E 48 40 A8 52 - @@ -40,10 +38,10 @@ ALL_FPS: value: FPS_LOCK_TARGET # Renderer thread delay - - type: write + type: evaluate_write address: [MAIN, 0x5704028] value_type: float - value: 0.01 + value: "0.66 / FPS_TARGET" # DR timings - type: evaluate_write diff --git a/SaltySD/plugins/FPSLocker/patches/0100651014DBA000/789C2939A757C0CD.yaml b/SaltySD/plugins/FPSLocker/patches/0100651014DBA000/789C2939A757C0CD.yaml index 65ce71c..5b071a2 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100651014DBA000/789C2939A757C0CD.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100651014DBA000/789C2939A757C0CD.yaml @@ -1,8 +1,19 @@ # Sherlock Holmes: Crimes and Punishments 1.0.0 # BID: 789C2939A757C0CD -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 38 + evaluate: "1.14 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 32 + evaluate: "0.96 * FRAMETIME_TARGET" MASTER_WRITE: # Redirect Dynamic Resolution timings to MAIN + 0x23774F00 # 38.0 @@ -10,24 +21,18 @@ MASTER_WRITE: type: asm_a64 main_offset: 0xF57294 instructions: [ - [adrp, x9, 0x23774000], + [adrp, x9, $dr_target1], [fmul, s0, s0, s1], - [ldr, s1, [x9, 0xf00]] + [ldr, s1, [x9, $dr_target1]] ] # 32.0 - type: asm_a64 main_offset: 0xF572B8 instructions: [ - [ldr, s1, [x9, 0xf04]], - [nop] + [adrp, x9, $dr_target2], + [ldr, s1, [x9, $dr_target2]] ] - # Default values: - - - type: bytes - main_offset: 0x23774F00 - value_type: float - value: [38.0, 32.0] ALL_FPS: # UGameEngine::GetMaxTickRate() # Bool Lock FPS @@ -36,9 +41,3 @@ ALL_FPS: address: [MAIN, 0x2E61108] value_type: uint8 value: 0 - # Dynamic Resolution - - - type: evaluate_write - address: [MAIN, 0x23774F00] - value_type: float - value: ["(38.0 / (1000/30)) * FRAMETIME_TARGET", "(32.0 / (1000/30)) * FRAMETIME_TARGET"] diff --git a/SaltySD/plugins/FPSLocker/patches/0100670014482000/824B38A25986B2AB.yaml b/SaltySD/plugins/FPSLocker/patches/0100670014482000/824B38A25986B2AB.yaml index 15f4ddb..c20bc99 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100670014482000/824B38A25986B2AB.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100670014482000/824B38A25986B2AB.yaml @@ -2,30 +2,23 @@ # BID: 824B38A25986B2AB # Scenes exclusively 2D are tied to framerate, so at 60 FPS they are 2x faster. -unsafeCheck: true +DECLARATIONS: + - + type: variable + name: dr_scale + value_type: float + default_value: 1 + evaluate: "FPS_TARGET / 30" MASTER_WRITE: -# Patch code to multiply last frametime by float scale factor stored in MAIN+0x3B4D800 +# Patch code to multiply last frametime by float scale factor # To match it to Dynamic Resolution calculations - type: asm_a64 main_offset: 0xB40638 instructions: [ - [adrp, x9, 0x3b4d000], - [ldr, s0, [x9, 0x800]], + [adrp, x9, $dr_scale], + [ldr, s0, [x9, $dr_scale]], [fmul, s9, s8, s0], [nop] ] -# Write default dynamic resolution timing factor - - - type: bytes - main_offset: 0x3B4D800 - value_type: float - value: 1 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x3B4D800] - value_type: float - value: "FPS_TARGET / 30" - diff --git a/SaltySD/plugins/FPSLocker/patches/0100670014482001/2B59D6C677258A2A.yaml b/SaltySD/plugins/FPSLocker/patches/0100670014482001/2B59D6C677258A2A.yaml index 24be0c4..955d659 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100670014482001/2B59D6C677258A2A.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100670014482001/2B59D6C677258A2A.yaml @@ -2,17 +2,23 @@ # BID: 2B59D6C677258A2A # Scenes exclusively 2D are tied to framerate, so at 60 FPS they are 2x faster. -unsafeCheck: true +DECLARATIONS: + - + type: variable + name: dr_scale + value_type: float + default_value: 1 + evaluate: "FPS_TARGET / 30" MASTER_WRITE: -# Patch code to multiply last frametime by float scale factor stored in MAIN+0x4276B00 +# Patch code to multiply last frametime by float scale factor # To match it to Dynamic Resolution calculations - type: asm_a64 main_offset: 0xBDBE44 instructions: [ - [adrp, x8, 0x4276000], - [ldr, s0, [x8, 0xb00]] + [adrp, x8, $dr_scale], + [ldr, s0, [x8, $dr_scale]] ] - type: asm_a64 @@ -21,16 +27,3 @@ MASTER_WRITE: [fmul, s0, s8, s0], [nop] ] -# Write default dynamic resolution timing factor - - - type: bytes - main_offset: 0x4276B00 - value_type: float - value: 1 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x4276B00] - value_type: float - value: "FPS_TARGET / 30" - diff --git a/SaltySD/plugins/FPSLocker/patches/0100670014482002/0AE4D1770B196094.yaml b/SaltySD/plugins/FPSLocker/patches/0100670014482002/0AE4D1770B196094.yaml index c049e8e..5ca3dc6 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100670014482002/0AE4D1770B196094.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100670014482002/0AE4D1770B196094.yaml @@ -2,28 +2,20 @@ # BID: 0AE4D1770B196094 # Scenes exclusively 2D are tied to framerate, so at 60 FPS they are 2x faster. -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_scale + value_type: float + default_value: 1000 + evaluate: "30000 / FPS_TARGET" MASTER_WRITE: -# Patch code to divide last frametime by float scale factor stored in MAIN+0x4422800 +# Patch code to divide last frametime by float scale factor # To match it to Dynamic Resolution calculations - type: asm_a64 main_offset: 0xAD51A0 instructions: [ - [adrp, x8, 0x4422000], - [ldr, s1, [x8, 0x800]] + [adrp, x8, $dr_scale], + [ldr, s1, [x8, $dr_scale]] ] -# Write default dynamic resolution timing factor - - - type: bytes - main_offset: 0x4422800 - value_type: float - value: 1000 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x4422800] - value_type: float - value: "(FPS_TARGET / 30) * 1000" - diff --git a/SaltySD/plugins/FPSLocker/patches/010067B017588000/E5EFB5ABA3601B97.yaml b/SaltySD/plugins/FPSLocker/patches/010067B017588000/E5EFB5ABA3601B97.yaml index 6f1de13..c477970 100644 --- a/SaltySD/plugins/FPSLocker/patches/010067B017588000/E5EFB5ABA3601B97.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010067B017588000/E5EFB5ABA3601B97.yaml @@ -3,8 +3,13 @@ # Some things are still tied to framerate, but nothing game breaking it seems. # Game is using double buffer, trying to enable triple buffer results in crash. -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 0.0333333333 + evaluate: "1/FPS_TARGET" MASTER_WRITE: # Swap 30 FPS target with 60 - @@ -51,21 +56,15 @@ MASTER_WRITE: instructions: [ [mov, w21, 2] ] - # Redirect DR timing target to MAIN + 0x1C5DF00 + # Redirect DR timing target - type: asm_a64 main_offset: 0xA38B18 instructions: [ - [adrp, x1, 0x1c5d000], - [ldr, s0, [x1, 0xf00]] + [adrp, x1, $dr_target], + [ldr, s0, [x1, $dr_target]] ] ALL_FPS: - # DR timing = 1/FPS - - - type: evaluate_write - address: [MAIN, 0x1C5DF00] - value_type: float - value: "1 / FPS_TARGET" # vsync target - type: evaluate_write @@ -73,3 +72,4 @@ ALL_FPS: value_type: uint32 value: "VSYNC_TARGET - 1" + diff --git a/SaltySD/plugins/FPSLocker/patches/010071F0228CA000/DE26B43C3D21B3A3.yaml b/SaltySD/plugins/FPSLocker/patches/010071F0228CA000/DE26B43C3D21B3A3.yaml index d235e76..e155513 100644 --- a/SaltySD/plugins/FPSLocker/patches/010071F0228CA000/DE26B43C3D21B3A3.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010071F0228CA000/DE26B43C3D21B3A3.yaml @@ -1,13 +1,12 @@ # Labirynth Of The Demon King 1.81 # BID: DE26B43C3D21B3A3 -unsafeCheck: false - ALL_FPS: # Disable FixedFrameRate - type: write address: [MAIN, 0x59ED248, 0x7A4] + address_unsafe: true value_type: uint32 value: 7 # t.MaxFPS diff --git a/SaltySD/plugins/FPSLocker/patches/010072900AFF0000/FE757B10B45C3444.yaml b/SaltySD/plugins/FPSLocker/patches/010072900AFF0000/FE757B10B45C3444.yaml index 143fa54..5d6c314 100644 --- a/SaltySD/plugins/FPSLocker/patches/010072900AFF0000/FE757B10B45C3444.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010072900AFF0000/FE757B10B45C3444.yaml @@ -1,87 +1,74 @@ # Gear.Club Unlimited 2 1.7.2 # BID: FE757B10B45C3444 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: vsync_target + value_type: uint32 + default_value: 2 + evaluate: VSYNC_TARGET + - + type: variable + name: dr_target + value_type: float + default_value: 33 + evaluate: "1.1 * FPS_TARGET" + - + type: code + name: getVsyncTarget + instructions: [ + [adrp, x1, $vsync_target], + [ldr, w1, [x1, $vsync_target]], + [mov, w19, w1], + [ret] + ] + - + type: code + name: getDrTarget + instructions: [ + [adrp, x0, $dr_target], + [ldr, s0, [x0, $dr_target]], + [ret] + ] MASTER_WRITE: -# Edit Eden.Graphics.IGraphicsQualityProfile::set_VSyncCount to get interval from MAIN + 0x5FBAF20 +# Edit Eden.Graphics.IGraphicsQualityProfile::set_VSyncCount # If not edited, light is flickering at > 30 FPS - type: asm_a64 main_offset: 0x14B4990 instructions: [ - [adrp, x1, 0x5fba000], - [ldr, w1, [x1, 0xf20]], + [adrp, x1, $vsync_target], + [ldr, w1, [x1, $vsync_target]], [str, w1, [x0, 0x54]], [ret] ] -# Edit UnityEngine.QualitySettings::set_vSyncCount to get interval from MAIN + 0x5FBAF20 +# Edit UnityEngine.QualitySettings::set_vSyncCount # If not edited, light is flickering at > 30 FPS - type: asm_a64 main_offset: 0x1B46EE4 instructions: [ - [adrp, x0, 0x5fba000], - [ldr, w0, [x0, 0xf20]], + [adrp, x0, $vsync_target], + [ldr, w0, [x0, $vsync_target]], [ldp, x29, x30, [sp, 0x20]], [ldp, x20, x19, [sp, 0x10]], [add, sp, sp, 0x30], [br, x1] ] -# Edit Eden.Graphics.GraphicsQualityManager::SetTargetFrameRate to get interval from MAIN + 0x5FBAF20 +# Edit Eden.Graphics.GraphicsQualityManager::SetTargetFrameRate # If not edited, it locks to 30 FPS - type: asm_a64 main_offset: 0x14AB578 instructions: [ - [bl, 0x3445ce8] + [bl, _getVsyncTarget()] ] - - - type: asm_a64 - main_offset: 0x3445CE8 - instructions: [ - [adrp, x1, 0x5fba000], - [ldr, w1, [x1, 0xf20]], - [mov, w19, w1], - [ret] - ] -# Edit Eden.Graphics.DynamicResolutionScaler::UpdateScaling to get DR target timing from MAIN + 0x5FBAF28 +# Edit Eden.Graphics.DynamicResolutionScaler::UpdateScaling # If not edited, performance is much worse at > 30 FPS - type: asm_a64 main_offset: 0x14988BC instructions: [ - [bl, 0x3445cf8] + [bl, _getDrTarget()] ] - - - type: asm_a64 - main_offset: 0x3445CF8 - instructions: [ - [adrp, x0, 0x5fba000], - [ldr, s0, [x0, 0xf28]], - [ret] - ] -# Default values - - - type: bytes - main_offset: 0x5FBAF20 - value_type: uint32 - value: 2 - - - type: bytes - main_offset: 0x5FBAF28 - value_type: float - value: 33 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x5FBAF20] - value_type: uint32 - value: VSYNC_TARGET - - - type: evaluate_write - address: [MAIN, 0x5FBAF28] - value_type: float - value: "1.1 * FPS_TARGET" - - diff --git a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/42350FCC758887D1.yaml b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/42350FCC758887D1.yaml index 81eb566..2f040e9 100644 --- a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/42350FCC758887D1.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/42350FCC758887D1.yaml @@ -1,8 +1,6 @@ # F1 Manager 2024 1.4 # BID: 42350FCC758887D1 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/53C0F2107412F0E2.yaml b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/53C0F2107412F0E2.yaml index 2bbcd85..7880372 100644 --- a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/53C0F2107412F0E2.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/53C0F2107412F0E2.yaml @@ -1,8 +1,6 @@ # F1 Manager 2024 1.8 # BID: 53C0F2107412F0E2 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/645C3BE90D4ED3D5.yaml b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/645C3BE90D4ED3D5.yaml index a2c44ff..047b7b2 100644 --- a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/645C3BE90D4ED3D5.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/645C3BE90D4ED3D5.yaml @@ -1,8 +1,6 @@ # F1 Manager 2024 1.3 # BID: 645C3BE90D4ED3D5 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/A245DABD986CBC85.yaml b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/A245DABD986CBC85.yaml index 1549d64..78dd757 100644 --- a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/A245DABD986CBC85.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/A245DABD986CBC85.yaml @@ -1,8 +1,6 @@ # F1 Manager 2024 1.7 # BID: A245DABD986CBC85 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/CA23556FE5EF2EB1.yaml b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/CA23556FE5EF2EB1.yaml index 5e0a4cf..78bf1b1 100644 --- a/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/CA23556FE5EF2EB1.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010072E01CE0E000/CA23556FE5EF2EB1.yaml @@ -1,8 +1,6 @@ # F1 Manager 2024 1.5 # BID: CA23556FE5EF2EB1 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/010073601DF1A000/E8BF195297B63BA2.yaml b/SaltySD/plugins/FPSLocker/patches/010073601DF1A000/E8BF195297B63BA2.yaml index d5b047d..7981a88 100644 --- a/SaltySD/plugins/FPSLocker/patches/010073601DF1A000/E8BF195297B63BA2.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010073601DF1A000/E8BF195297B63BA2.yaml @@ -1,7 +1,13 @@ # Amber Isle 1.0.3 # BID: E8BF195297B63BA2 -unsafeCheck: true +DECLARATIONS: + - + type: variable + name: dr_target + value_type: double + default_value: 25.333333333333336 + evaluate: "FRAMETIME_TARGET * 0.76" MASTER_WRITE: # Redirect all hardcoded doubles in DynamicResolutionHandler::Update to MAIN+0x909EF00 @@ -10,48 +16,37 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x21FE1E4 instructions: [ - [adrp, x8, 0x909e000], - [ldr, d0, [x8, 0xf00]] + [adrp, x8, $dr_target], + [ldr, d0, [x8, $dr_target]] ] - type: asm_a64 main_offset: 0x21FE3E0 instructions: [ - [adrp, x8, 0x909e000], - [ldr, d1, [x8, 0xf00]] + [adrp, x8, $dr_target], + [ldr, d1, [x8, $dr_target]] ] - type: asm_a64 main_offset: 0x21FE43C instructions: [ - [adrp, x8, 0x909e000], - [ldr, d1, [x8, 0xf00]] + [adrp, x8, $dr_target], + [ldr, d1, [x8, $dr_target]] ] - type: asm_a64 main_offset: 0x21FE7D4 instructions: [ - [adrp, x8, 0x909e000], - [ldr, d0, [x8, 0xf00]] + [adrp, x8, $dr_target], + [ldr, d0, [x8, $dr_target]] ] ## REF: c8 aa 8a f2 28 07 f8 f2 - type: asm_a64 main_offset: 0x21fE550 instructions: [ - [adrp, x8, 0x909e000], - [ldr, d0, [x8, 0xf00]], + [adrp, x8, $dr_target], + [ldr, d0, [x8, $dr_target]], [fneg, d0, d0] ] - # default value - - - type: bytes - main_offset: 0x909EF00 - value_type: double - value: 25.333333333333336 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x909EF00] - value_type: double - value: "FRAMETIME_TARGET * 0.76" + diff --git a/SaltySD/plugins/FPSLocker/patches/010073C01B7FE000/F294A4EBE966E8A9.yaml b/SaltySD/plugins/FPSLocker/patches/010073C01B7FE000/F294A4EBE966E8A9.yaml index c52bc7c..87f9f6e 100644 --- a/SaltySD/plugins/FPSLocker/patches/010073C01B7FE000/F294A4EBE966E8A9.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010073C01B7FE000/F294A4EBE966E8A9.yaml @@ -1,8 +1,6 @@ -# The Smurfs 2: The Prisoner of the Green Stone 1.03.03 +# The Smurfs 2: The Prisoner of the Green Stone 1.03.03/1.04 # BID: F294A4EBE966E8A9 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/955DF07AA5F4497B.yaml b/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/955DF07AA5F4497B.yaml index 43323e1..f916dde 100644 --- a/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/955DF07AA5F4497B.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/955DF07AA5F4497B.yaml @@ -1,13 +1,12 @@ # Redemption Reapers 1.4.0 # BID: 955DF07AA5F4497B -unsafeCheck: true - ALL_FPS: # Disable bUseFixedFrameRate to untie game speed from framerate - type: write address: [MAIN, 0x751C478, 0x7A4] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: @@ -30,3 +29,4 @@ ALL_FPS: - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/010074F013262000/82D187FE9EF9BE92.yaml b/SaltySD/plugins/FPSLocker/patches/010074F013262000/82D187FE9EF9BE92.yaml index 4541462..5f88380 100644 --- a/SaltySD/plugins/FPSLocker/patches/010074F013262000/82D187FE9EF9BE92.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010074F013262000/82D187FE9EF9BE92.yaml @@ -1,41 +1,42 @@ # Xenoblade Chronicles 3 2.2.0/2.2.1 # BID: 82D187FE9EF9BE92 -unsafeCheck: false - +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 0.0166666666 + evaluate: "(1 / FPS_TARGET) / VSYNC_TARGET" + - + type: const + name: default_frametime + value: 0x3d088889 + - + type: code + name: etherFix + instructions: [ + [ldr, x21, [x0]], + [mov, w8, $default_frametime], + [movk, w8, $default_frametime, 16], + [str, w8, [x21, 0x214]], + [ret] + ] MASTER_WRITE: - # Redirect DR frametime target reading to .bss code cave [MAIN, 0x236AB00] + # Redirect DR frametime target reading - type: asm_a64 main_offset: 0x124F518 instructions: [ - [adrp, x8, 0x236a000], - [ldr, s0, [x8, 0xb00]] + [adrp, x8, $dr_target], + [ldr, s0, [x8, $dr_target]] ] - # Original DR frametime target - - - type: bytes - main_offset: 0x236AB00 - value_type: float - value: - - 0.0166666666 # Fix crash when gathering big amount of ether for > 30 FPS - - # Code cave at 0x1295DA0 + - type: asm_a64 main_offset: 0x67360 instructions: [ - [bl, 0x1295da0] - ] - - # Push fixed 1/30 float to game speed pointer late enough to not affect it - type: asm_a64 - main_offset: 0x1295DA0 - instructions: [ - [ldr, x21, [x0]], - [fmov, s1, 1.0], - [fmov, s2, 30.0], - [fdiv, s1, s1, s2], - [str, s1, [x21, 0x214]], - [ret] + [bl, _etherFix()] ] ALL_FPS: # vsync @@ -44,16 +45,11 @@ ALL_FPS: address: [MAIN, 0x1B42DB0] value_type: int32 value: [VSYNC_TARGET, VSYNC_TARGET] - # DR Timing (relative to vsync) - - - type: evaluate_write - address: [MAIN, 0x236AB00] - value_type: float - value: "((1 / FPS_TARGET) / VSYNC_TARGET) * 0.78" # UI speed - type: evaluate_write address: [MAIN, 0x1BA1A90, 128] + address_unsafe: true value_type: float value: "1 / FPS_TARGET" - @@ -66,30 +62,28 @@ ALL_FPS: value_type: int32 value: [2, 2] - - type: evaluate_compare + type: compare compare_address: [MAIN, 0x1BA1A98] compare_type: "!=" compare_value_type: int8 compare_value: 0 - address: [MAIN, 0x236AB00] - value_type: float - value: "((1 / 30) / 2) * 0.78" - - - type: evaluate_compare - compare_address: [MAIN, 0x1BA1A98] - compare_type: "!=" - compare_value_type: int8 - compare_value: 0 - address: [MAIN, 0x1BA1A90, 128] - value_type: float - value: "1 / 30" + address: [VARIABLE, dr_target] + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + address_unsafe: true + value_type: float + value: 0.0333333333 - type: compare compare_address: [MAIN, 0x1BA1A98] compare_type: "!=" compare_value_type: int8 compare_value: 0 - address: [MAIN] value_type: refresh_rate value: 30 - diff --git a/SaltySD/plugins/FPSLocker/patches/010075101EF84000/109D974E180A5AA1.yaml b/SaltySD/plugins/FPSLocker/patches/010075101EF84000/109D974E180A5AA1.yaml index 7fd7e03..b861064 100644 --- a/SaltySD/plugins/FPSLocker/patches/010075101EF84000/109D974E180A5AA1.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010075101EF84000/109D974E180A5AA1.yaml @@ -1,13 +1,12 @@ # Stray 1.6.0 # BID: 109D974E180A5AA1 -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x5DC7368, 0x7A4] + address_unsafe: true value_type: int32 value: 7 # r.VSync diff --git a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/061A7341077C0974.yaml b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/061A7341077C0974.yaml index 8d38091..89e393c 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/061A7341077C0974.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/061A7341077C0974.yaml @@ -1,8 +1,6 @@ # FANTASY LIFE i: The Girl Who Steals Time 1.4.0 # BID: 061A7341077C0974 -unsafeCheck: true - ALL_FPS: # t.MaxFPS - @@ -18,4 +16,4 @@ ALL_FPS: value: [0, 0] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/66BC954F5323014C.yaml b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/66BC954F5323014C.yaml index 8e76498..749f7ec 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/66BC954F5323014C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/66BC954F5323014C.yaml @@ -1,13 +1,12 @@ # FANTASY LIFE i: The Girl Who Steals Time 1.2.1 # BID: 66BC954F5323014C -unsafeCheck: false - ALL_FPS: # Disable FixedFrameRate - type: write address: [MAIN, 0xACC63E0, 0xAA4] + address_unsafe: true value_type: uint32 value: 7 # t.MaxFPS diff --git a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/74BCAC96835DB9AE.yaml b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/74BCAC96835DB9AE.yaml new file mode 100644 index 0000000..8ae3651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/74BCAC96835DB9AE.yaml @@ -0,0 +1,19 @@ +# FANTASY LIFE i: The Girl Who Steals Time 1.5.0 +# BID: 74BCAC96835DB9AE + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0xAE6F938, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x9E4F728, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/9DBA6AA32721CAB9.yaml b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/9DBA6AA32721CAB9.yaml index fbe97c6..7d77a61 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/9DBA6AA32721CAB9.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/9DBA6AA32721CAB9.yaml @@ -1,13 +1,12 @@ # FANTASY LIFE i: The Girl Who Steals Time 1.3.0 # BID: 9DBA6AA32721CAB9 -unsafeCheck: false - ALL_FPS: # Disable FixedFrameRate - type: write address: [MAIN, 0xACF23E0, 0xAA4] + address_unsafe: true value_type: uint32 value: 7 # t.MaxFPS diff --git a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/A697413E1DA7851A.yaml b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/A697413E1DA7851A.yaml index a0925c2..dcd7b2b 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/A697413E1DA7851A.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/A697413E1DA7851A.yaml @@ -1,13 +1,12 @@ # FANTASY LIFE i: The Girl Who Steals Time 1.1.0 # BID: A697413E1DA7851A -unsafeCheck: false - ALL_FPS: # Disable FixedFrameRate - type: write address: [MAIN, 0xAB873E0, 0xAA4] + address_unsafe: true value_type: uint32 value: 7 # t.MaxFPS diff --git a/SaltySD/plugins/FPSLocker/patches/010077B00E046000/D2775FAFCF4835CB.yaml b/SaltySD/plugins/FPSLocker/patches/010077B00E046000/D2775FAFCF4835CB.yaml index 1e36520..f1e3f24 100644 --- a/SaltySD/plugins/FPSLocker/patches/010077B00E046000/D2775FAFCF4835CB.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010077B00E046000/D2775FAFCF4835CB.yaml @@ -1,13 +1,12 @@ # Spyro Reignited Trilogy 1.01 # BID: D2775FAFCF4835CB -unsafeCheck: false - ALL_FPS: # Disable bSmoothFrameRate and bUseFixedFrameRate to untie game speed from framerate - type: write address: [MAIN, 0x69DA1A8, 0x778] + address_unsafe: true value_type: uint32 # Default is 0x67, bSmoothFrameRate |= 0x20, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/010078D000F88000/56405C9D6C8C0A6A.yaml b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/56405C9D6C8C0A6A.yaml index 7bf45f5..a8a41f4 100644 --- a/SaltySD/plugins/FPSLocker/patches/010078D000F88000/56405C9D6C8C0A6A.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/56405C9D6C8C0A6A.yaml @@ -3,32 +3,34 @@ # Double buffer is hardcoded in class, getting triple buffer is hard. # Some graphical effects like aura have wrong speed outside of 15, 20, 30 and 60 FPS -unsafeCheck: false - ALL_FPS: # Search those in Edizon by searching for 1/60 in title menu, then 1/30 when FPS lock is applied. # FPS Lock - type: write address: [MAIN, 0x4AD6D78, 0x698] + address_unsafe: true value_type: float value: 0.0 # Unknown - type: write address: [MAIN, 0x4AD6D78, 0x6A4] + address_unsafe: true value_type: float value: 0.0 # Game Battle Speed Factor - type: evaluate_write address: [MAIN, 0x4AD6D78, 0x6B0] + address_unsafe: true value_type: uint32 value: VSYNC_TARGET # Cutscenes Speed Factor - type: evaluate_write address: [MAIN, 0x4AD6D78, 0x6B4] + address_unsafe: true value_type: uint32 value: VSYNC_TARGET # Target Speed @@ -43,5 +45,6 @@ ALL_FPS: - type: evaluate_write address: [MAIN, 0x24044B0, 0x754] + address_unsafe: true value_type: float value: "FPS_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/010078D000F88000/7640CE319C043D56.yaml b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/7640CE319C043D56.yaml index 045e1c1..ea6d498 100644 --- a/SaltySD/plugins/FPSLocker/patches/010078D000F88000/7640CE319C043D56.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/7640CE319C043D56.yaml @@ -3,32 +3,34 @@ # Double buffer is hardcoded in class, getting triple buffer is hard. # Some graphical effects like aura have wrong speed outside of 15, 20, 30 and 60 FPS -unsafeCheck: false - ALL_FPS: # Search those in Edizon by searching for 1/60 in title menu, then 1/30 when FPS lock is applied. # FPS Lock - type: write address: [MAIN, 0x4AC8AD8, 0x698] + address_unsafe: true value_type: float value: 0.0 # Unknown - type: write address: [MAIN, 0x4AC8AD8, 0x6A4] + address_unsafe: true value_type: float value: 0.0 # Game Battle Speed Factor - type: evaluate_write address: [MAIN, 0x4AC8AD8, 0x6B0] + address_unsafe: true value_type: uint32 value: VSYNC_TARGET # Cutscenes Speed Factor - type: evaluate_write address: [MAIN, 0x4AC8AD8, 0x6B4] + address_unsafe: true value_type: uint32 value: VSYNC_TARGET # Target Speed @@ -43,5 +45,6 @@ ALL_FPS: - type: evaluate_write address: [MAIN, 0x23D53C8, 0x1844] + address_unsafe: true value_type: float value: "FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010078D000F88000/8263E738648A23E3.yaml b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/8263E738648A23E3.yaml index 51b8758..7b4de42 100644 --- a/SaltySD/plugins/FPSLocker/patches/010078D000F88000/8263E738648A23E3.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/8263E738648A23E3.yaml @@ -3,32 +3,34 @@ # Double buffer is hardcoded in class, getting triple buffer is hard. # Some graphical effects like aura have wrong speed outside of 15, 20, 30 and 60 FPS -unsafeCheck: false - ALL_FPS: # Search those in Edizon by searching for 1/60 in title menu, then 1/30 when FPS lock is applied. # FPS Lock - type: write address: [MAIN, 0x4AE9D78, 0x698] + address_unsafe: true value_type: float value: 0.0 # Unknown - type: write address: [MAIN, 0x4AE9D78, 0x6A4] + address_unsafe: true value_type: float value: 0.0 # Game Battle Speed Factor - type: evaluate_write address: [MAIN, 0x4AE9D78, 0x6B0] + address_unsafe: true value_type: uint32 value: VSYNC_TARGET # Cutscenes Speed Factor - type: evaluate_write address: [MAIN, 0x4AE9D78, 0x6B4] + address_unsafe: true value_type: uint32 value: VSYNC_TARGET # Target Speed @@ -43,5 +45,6 @@ ALL_FPS: - type: evaluate_write address: [MAIN, 0x23F53C0, 0x1844] + address_unsafe: true value_type: float value: "FPS_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/010078D000F88000/82C912DDD4663022.yaml b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/82C912DDD4663022.yaml index ab9dcaa..cb0d503 100644 --- a/SaltySD/plugins/FPSLocker/patches/010078D000F88000/82C912DDD4663022.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/82C912DDD4663022.yaml @@ -3,32 +3,34 @@ # Double buffer is hardcoded in class, getting triple buffer is hard. # Some graphical effects like aura have wrong speed outside of 15, 20, 30 and 60 FPS -unsafeCheck: false - ALL_FPS: # Search those in Edizon by searching for 1/60 in title menu, then 1/30 when FPS lock is applied. # FPS Lock - type: write address: [MAIN, 0x4AC8AD8, 0x698] + address_unsafe: true value_type: float value: 0.0 # Unknown - type: write address: [MAIN, 0x4AC8AD8, 0x6A4] + address_unsafe: true value_type: float value: 0.0 # Game Battle Speed Factor - type: evaluate_write address: [MAIN, 0x4AC8AD8, 0x6B0] + address_unsafe: true value_type: uint32 value: VSYNC_TARGET # Cutscenes Speed Factor - type: evaluate_write address: [MAIN, 0x4AC8AD8, 0x6B4] + address_unsafe: true value_type: uint32 value: VSYNC_TARGET # Target Speed @@ -43,5 +45,6 @@ ALL_FPS: - type: evaluate_write address: [MAIN, 0x23D53C8, 0x1844] + address_unsafe: true value_type: float value: "FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010079C017F5E001/F47C697C2B59443B.yaml b/SaltySD/plugins/FPSLocker/patches/010079C017F5E001/F47C697C2B59443B.yaml index 9af86b5..2e92e3a 100644 --- a/SaltySD/plugins/FPSLocker/patches/010079C017F5E001/F47C697C2B59443B.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010079C017F5E001/F47C697C2B59443B.yaml @@ -1,8 +1,6 @@ # Lara Croft and the Temple of Osiris 1.1_65791 # BID: F47C697C2B59443B -unsafeCheck: true - MASTER_WRITE: # Disable internal FPS lock # EnableFramerateManager @@ -17,4 +15,4 @@ ALL_FPS: type: evaluate_write address: [MAIN, 0x41416F0, 0x28] value_type: float - value: FPS_TARGET \ No newline at end of file + value: FPS_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/010079C017F5E002/BD5CD5189BC90093.yaml b/SaltySD/plugins/FPSLocker/patches/010079C017F5E002/BD5CD5189BC90093.yaml index 28c5368..b805bcd 100644 --- a/SaltySD/plugins/FPSLocker/patches/010079C017F5E002/BD5CD5189BC90093.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010079C017F5E002/BD5CD5189BC90093.yaml @@ -1,12 +1,10 @@ # Lara Croft and the Guardian of Light 1.1_65791 # BID: BD5CD5189BC90093 -unsafeCheck: false - ALL_FPS: # DynamicResolutionScaling\FPSTarget - type: evaluate_write address: [MAIN, 0x1EAE7E8, 0x28] value_type: float - value: FPS_TARGET \ No newline at end of file + value: FPS_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/01007EF00011E000/DE0B6AC4EFC1DDA7.yaml b/SaltySD/plugins/FPSLocker/patches/01007EF00011E000/DE0B6AC4EFC1DDA7.yaml index c21cadd..d0e6cfc 100644 --- a/SaltySD/plugins/FPSLocker/patches/01007EF00011E000/DE0B6AC4EFC1DDA7.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01007EF00011E000/DE0B6AC4EFC1DDA7.yaml @@ -1,8 +1,80 @@ # The Legend of Zelda: Breath of the Wild 1.8.2 # BID: DE0B6AC4EFC1DDA7 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: game_speed + value_type: float + default_value: 1.0 + - + type: variable + name: min_delta + value_type: float + default_value: 1.0 + evaluate: 30 / FPS_TARGET + - + type: variable + name: dr_factor + value_type: float + default_value: 100.0 + evaluate: (FPS_TARGET / 30) * 100 + - + type: variable + name: frame_tick + value_type: uint64 + default_value: 0 + - + type: const + name: default_frame_nanoseconds + value: 33333333 + - + type: code + name: dynamicSpeed + instructions: [ + [stp, x29, x30, [sp, -16], "!"], + [mov, x29, sp], + [blr, x8], + [mrs, x2, cntpct_el0], + [adrp, x8, $frame_tick], + [ldr, x1, [x8, $frame_tick]], + [cmp, x1, xzr], + [str, x2, [x8, $frame_tick]], + [b.eq, :goto4], + [sub, x0, x2, x1], + [bl, _convertTickToTimeSpan()], + [ucvtf, s0, x0], + [mov, w0, $default_frame_nanoseconds], + [movk, w0, $default_frame_nanoseconds, 16], + [ucvtf, s1, w0], + [fdiv, s0, s0, s1], + [fmov, s1, 2.0], + [fcmp, s0, s1], + [b.lt, :goto2], + [fmov, s0, s1], + :goto2, [adrp, x8, $min_delta], + [ldr, s1, [x8, $min_delta]], + [fcmp, s0, s1], + [b.gt, :goto3], + [fmov, s0, s1], + :goto3, [adrp, x8, $game_speed], + [str, s0, [x8, $game_speed]], + :goto4, [ldp, x29, x30, [sp], 16], + [ret] + ] + - + type: variable + name: cutscene_state + value_type: uint8 + default_value: 1 + - + type: code + name: signalCutscene + instructions: [ + [adrp, x7, $cutscene_state], + [strb, w1, [x7, $cutscene_state]], + [b, 0xbf7f78] + ] MASTER_WRITE: # Remove double buffer ## REF: 61 F6 42 39 @@ -12,125 +84,64 @@ MASTER_WRITE: instructions: [ [mov, w1, 1] ] - # Change pointer of time factor for DR calculations to MAIN + 0x1D36FF4 + # Change pointer of time factor for DR calculations to $dr_factor ## REF: 01 01 27 1E 08 59 A8 52 03 08 21 1E, replace hardcoded 100.0 float - type: asm_a64 main_offset: 0x1153314 instructions: [ - [adrp, x8, 0x1d36000], + [adrp, x8, $dr_factor], [fmul, s3, s0, s1], - [ldr, s1, [x8, 0xff4]] + [ldr, s1, [x8, $dr_factor]] ] # Dynamic speed - ## Replace nvnQueuePresentTexture call to code cave at MAIN+0x148D964 + ## Replace nvnQueuePresentTexture call to code cave _dynamicSpeed() - type: asm_a64 main_offset: 0xD874FC instructions: [ - [b, 0x148d964] + [bl, _dynamicSpeed()] ] - ## Patch game speed function to use speed from MAIN+0x1D36FF0 + ## Patch game speed function to use speed from $game_speed - type: asm_a64 main_offset: 0x14092A8 instructions: [ - [b, 0x14092b4] + [b, +12] ] - type: asm_a64 main_offset: 0x14092CC instructions: [ - [adrp, x9, 0x1d36000], - [ldr, s1, [x9, 0xff0]] + [adrp, x9, $game_speed], + [ldr, s1, [x9, $game_speed]] ] - ## Patch UI speed function to use speeed from MAIN+0x1D36FF0 + ## Patch UI speed function to use speeed from $game_speed - type: asm_a64 main_offset: 0x116D0D8 instructions: [ - [adrp, x7, 0x1d36000] + [adrp, x7, $game_speed] ] - type: asm_a64 main_offset: 0x116D0E4 instructions: [ - [ldr, s0, [x7, 0xff0]] - ] - ## CODE CAVE - - - type: asm_a64 - main_offset: 0x148D964 - instructions: [ - [blr, x8], - [mrs, x2, cntpct_el0], - [adrp, x8, 0x1d36000], - [ldr, x1, [x8, 0xff8]], - [cmp, x1, xzr], - [b.ne, 0x148d984], - [str, x2, [x8, 0xff8]], - [b, 0xd87500], - [sub, x0, x2, x1], - [bl, 0x148c860], # BL nn::os::ConvertToTimeSpan(nn::os::Tick) - [ucvtf, s0, x0], - [mov, w0, 0xa055], - [movk, w0, 0x1fc, 16], - [ucvtf, s1, w0], - [fdiv, s0, s0, s1], - [fmov, s1, 2.0], - [fcmp, s0, s1], - [b.lt, 0x148d9b0], - [fmov, s0, s1], - [adrp, x8, 0x1d36000], - [ldr, s1, [x8, 0xfec]], - [fcmp, s0, s1], - [b.gt, 0x148d9c4], - [fmov, s0, s1], - [str, s0, [x8, 0xff0]], - [b, 0x148d97c], - [adrp, x0, 0x1d36000], - [ldr, w0, [x0, 0xff0]], - [ret], - [adrp, x7, 0x1d36000], - [str, w1, [x7, 0xfe8]], - [b, 0xbf7f78] + [ldr, s0, [x7, $game_speed]] ] # Signal Cutscenes playing - type: asm_a64 main_offset: 0xC00680 instructions: [ - [bl, 0x148d9d8] + [bl, _signalCutscene()] ] - type: asm_a64 main_offset: 0xC00E40 instructions: [ - [bl, 0x148d9d8] + [bl, _signalCutscene()] ] - # Default speed - - - type: bytes - main_offset: 0x1D36FF0 - value_type: float - value: 1.0 - - - type: bytes - main_offset: 0x1D36FEC - value_type: float - value: 1.0 - # Default cutscene state - - - type: bytes - main_offset: 0x1D36FE8 - value_type: uint8 - value: 1 - # Default DR factor - - - type: bytes - main_offset: 0x1D36FF4 - value_type: float - value: 100.0 ALL_FPS: # Scrolling speed ## REF: 68 16 41 B9 D8 22 D5 1A @@ -140,25 +151,11 @@ ALL_FPS: address: [MAIN, 0x1C4BA40] value_type: float value: "30 / FPS_TARGET" - # Min Delta - - - type: evaluate_write - address: [MAIN, 0x1D36FEC] - value_type: float - value: "30 / FPS_TARGET" - # DR factor - - - type: evaluate_write - address: [MAIN, 0x1D36FF4] - value_type: float - value: "(FPS_TARGET / 30) * 100" # Prerendered cutscenes must be played at 30 FPS - type: compare - compare_address: [MAIN, 0x1D36FE8] + compare_address: [VARIABLE, cutscene_state] compare_type: "==" - compare_value_type: uint8 compare_value: 0 - address: [MAIN] value_type: refresh_rate value: 30 diff --git a/SaltySD/plugins/FPSLocker/patches/0100803005D52000/62B7F19804BCB70E.yaml b/SaltySD/plugins/FPSLocker/patches/0100803005D52000/62B7F19804BCB70E.yaml index 98679be..8ae845a 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100803005D52000/62B7F19804BCB70E.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100803005D52000/62B7F19804BCB70E.yaml @@ -1,8 +1,6 @@ # ぎゃる☆がん2 1.0.4 # BID: 62B7F19804BCB70E -unsafeCheck: false - ALL_FPS: # r.VSync - @@ -20,6 +18,7 @@ ALL_FPS: - type: write address: [MAIN, 0x44E6030, 0x764] + address_unsafe: true value_type: float value: 0 - diff --git a/SaltySD/plugins/FPSLocker/patches/010082901D6F2000/FCA830BAE649B898.yaml b/SaltySD/plugins/FPSLocker/patches/010082901D6F2000/FCA830BAE649B898.yaml index e26edd2..dba0243 100644 --- a/SaltySD/plugins/FPSLocker/patches/010082901D6F2000/FCA830BAE649B898.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010082901D6F2000/FCA830BAE649B898.yaml @@ -1,35 +1,32 @@ # Neptunia Game Maker R:Evolution 1.00 # BID: FCA830BAE649B898 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 33.33 + evaluate: "TruncDec(FRAMETIME_TARGET, 2)" + - + type: variable + name: dr_target2 + value_type: float + default_value: 28.57 + evaluate: "TruncDec(1000 / (FPS_TARGET + 5), 2)" MASTER_WRITE: # Redirect DR timing range to MAIN + 0x878B800 - type: asm_a64 main_offset: 0x4451E88 instructions: [ - [adrp, x8, 0x878b000], - [ldr, w8, [x8, 0x800]] + [adrp, x8, $dr_target1], + [ldr, w8, [x8, $dr_target1]] ] - type: asm_a64 main_offset: 0x4451ED4 instructions: [ - [adrp, x8, 0x878b000], - [ldr, w8, [x8, 0x804]] + [adrp, x8, $dr_target2], + [ldr, w8, [x8, $dr_target2]] ] - # Default values - - - type: bytes - main_offset: 0x878B800 - value_type: float - value: [33.33, 28.57] -ALL_FPS: - # DR timing - - - type: evaluate_write - address: [MAIN, 0x878B800] - value_type: float - value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(1000 / (FPS_TARGET + 5), 2)"] - diff --git a/SaltySD/plugins/FPSLocker/patches/010082F015576000/8BFBF5B8A7098443.yaml b/SaltySD/plugins/FPSLocker/patches/010082F015576000/8BFBF5B8A7098443.yaml index eb227a6..e040790 100644 --- a/SaltySD/plugins/FPSLocker/patches/010082F015576000/8BFBF5B8A7098443.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010082F015576000/8BFBF5B8A7098443.yaml @@ -1,54 +1,41 @@ # 零 ~濡鴉ノ巫女~ 1.0.5 # BID: 8BFBF5B8A7098443 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: min_delta + value_type: float + default_value: 0.0333333333 + evaluate: "1 / FPS_TARGET" + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 33333333 + evaluate: "1000000000 / FPS_TARGET" MASTER_WRITE: - # Redirect min delta to MAIN + 0x1BC4FF0 + # Redirect min delta # REF: 00 D9 21 7E 28 19 20 1E - type: asm_a64 main_offset: 0x39ABF8 instructions: [ - [adrp, x27, 0x1bc4000], - [ldr, s8, [x27, 0xff0]] + [adrp, x27, $min_delta], + [ldr, s8, [x27, $min_delta]] ] - # Redirect FPS Lock to MAIN + 0x1BC4FF4 + # Redirect FPS Lock # REF: 69 AA 40 B9 0A 40 99 52 - type: asm_a64 main_offset: 0x39B2D8 instructions: [ - [adrp, x9, 0x1BC4000], - [ldr, w9, [x9, 0xff4]], + [adrp, x9, $fps_lock], + [ldr, w9, [x9, $fps_lock]], [nop], [nop] ] - # Default values - - - type: bytes - main_offset: 0x1BC4FF0 - value_type: float - value: 0.0333333333 - - - type: bytes - main_offset: 0x1BC4FF4 - value_type: uint32 - value: 33333333 ALL_FPS: - # Min delta - - - type: evaluate_write - address: [MAIN, 0x1BC4FF0] - value_type: float - value: "1 / FPS_TARGET" - # FPS Lock - - - type: evaluate_write - address: [MAIN, 0x1BC4FF4] - value_type: uint32 - value: "1000000000 / FPS_TARGET" - type: block what: timing - diff --git a/SaltySD/plugins/FPSLocker/patches/0100830004FB6000/40F973CE3B5EC8D7.yaml b/SaltySD/plugins/FPSLocker/patches/0100830004FB6000/40F973CE3B5EC8D7.yaml index 580cb12..5fc0986 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100830004FB6000/40F973CE3B5EC8D7.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100830004FB6000/40F973CE3B5EC8D7.yaml @@ -1,13 +1,12 @@ # LA Noire 1.2 # BID: 40F973CE3B5EC8D7 -unsafeCheck: false - ALL_FPS: # Game speed - type: evaluate_write address: [MAIN, 0x1A32900, 0xA0] + address_unsafe: true value_type: float value: "(FPS_TARGET * 2) / 1.001" # Frameskipping (otherwise you will get slowdowns at framedrops) diff --git a/SaltySD/plugins/FPSLocker/patches/0100853015E86000/D5C5F47DFABD0812.yaml b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/D5C5F47DFABD0812.yaml index 291cd17..775b95c 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100853015E86000/D5C5F47DFABD0812.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/D5C5F47DFABD0812.yaml @@ -1,28 +1,21 @@ # No Man's Sky 5.7.5 # BID: D5C5F47DFABD0812 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 30 + evaluate: FPS_TARGET MASTER_WRITE: - # Redirect DR frametime target to MAIN+0x47E0FF0 + # Redirect DR frametime target # REF: 08 4E A8 52 00 01 27 1E 48 8F A8 52, ADRP + ADD + LDR above that - type: asm_a64 main_offset: 0x1F9BC40 instructions: [ - [adrp, x9, 0x47e0000], - [ldr, s0, [x9, 0xff0]], + [adrp, x9, $dr_target], + [ldr, s0, [x9, $dr_target]], [nop] ] - # default value - - - type: bytes - main_offset: 0x47E0FF0 - value_type: float - value: 30 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x47E0FF0] - value_type: float - value: FPS_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/010085401A454000/7C724F497564C027.yaml b/SaltySD/plugins/FPSLocker/patches/010085401A454000/7C724F497564C027.yaml index 52a6935..03a26d3 100644 --- a/SaltySD/plugins/FPSLocker/patches/010085401A454000/7C724F497564C027.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010085401A454000/7C724F497564C027.yaml @@ -1,8 +1,6 @@ # Jujutsu Kaisen Cursed Clash EUR 1.4.0 # BID: 7C724F497564C027 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget - @@ -26,8 +24,10 @@ ALL_FPS: - type: write address: [MAIN, 0x849B7A8, 0x9C4] + address_unsafe: true value_type: uint32 value: 7 - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/010086C00AF7C000/C7DAB27F22ACD2ED.yaml b/SaltySD/plugins/FPSLocker/patches/010086C00AF7C000/C7DAB27F22ACD2ED.yaml index 942bd40..b83e77c 100644 --- a/SaltySD/plugins/FPSLocker/patches/010086C00AF7C000/C7DAB27F22ACD2ED.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010086C00AF7C000/C7DAB27F22ACD2ED.yaml @@ -3,8 +3,6 @@ # Game is using double buffer, nvnWindowBuilderSetTextures has hardcoded values. # So it's not possible to get stable FPS lock between 30 and 60 without changing refresh rate. -unsafeCheck: true - MASTER_WRITE: # Change main loop delay from 31.6 ms to 4.2 ms - @@ -26,10 +24,3 @@ MASTER_WRITE: [nop], [nop] ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x6AE8500] - value_type: uint8 - value: 0 diff --git a/SaltySD/plugins/FPSLocker/patches/01008C8012920000/8C93B930348C9787.yaml b/SaltySD/plugins/FPSLocker/patches/01008C8012920000/8C93B930348C9787.yaml index e3ab117..c0fba1e 100644 --- a/SaltySD/plugins/FPSLocker/patches/01008C8012920000/8C93B930348C9787.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01008C8012920000/8C93B930348C9787.yaml @@ -1,8 +1,37 @@ # Dying Light: Platinum Edition 1.0.5 # BID: 8C93B930348C9787 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_timing1 + value_type: float + default_value: 0.034 + evaluate: "1.02 / FPS_TARGET" + - + type: variable + name: dr_timing2 + value_type: float + default_value: 0.028 + evaluate: "0.84 / FPS_TARGET" + - + type: variable + name: dr_timing3 + value_type: float + default_value: 0.0289855 + evaluate: "0.87 / FPS_TARGET" + - + type: variable + name: dr_timing4 + value_type: float + default_value: 0.0263158 + evaluate: "0.79 / FPS_TARGET" + - + type: variable + name: dr_timing5 + value_type: float + default_value: 0.0324675 + evaluate: "0.974 / FPS_TARGET" MASTER_WRITE: # Disable Dynamic GPU Clocks - @@ -11,71 +40,35 @@ MASTER_WRITE: instructions: [ [nop] ] - # Redirect Dynamic Resolution Timings to MAIN+0x4113D00 + # Redirect Dynamic Resolution Timings - type: asm_a64 main_offset: 0x1DE89A8 instructions: [ - [adrp, x10, 0x4113000], - [ldr, w10, [x10, 0xd00]] + [adrp, x10, $dr_timing1], + [ldr, w10, [x10, $dr_timing1]] ] - type: asm_a64 main_offset: 0x1DE8A08 instructions: [ - [adrp, x10, 0x4113000], - [ldr, w10, [x10, 0xd04]] + [adrp, x10, $dr_timing2], + [ldr, w10, [x10, $dr_timing2]] ] - type: asm_a64 main_offset: 0x1DE80C8 instructions: [ - [adrp, x11, 0x4113000], - [ldr, w12, [x11, 0xd08]], - [ldr, w11, [x11, 0xd0c]], - [nop] + [adrp, x11, $dr_timing3], + [ldr, w12, [x11, $dr_timing3]], + [adrp, x11, $dr_timing4], + [ldr, w11, [x11, $dr_timing4]] ] - type: asm_a64 main_offset: 0x1DE80F8 instructions: [ - [adrp, x11, 0x4113000], - [ldr, w11, [x11, 0xd10]] + [adrp, x11, $dr_timing5], + [ldr, w11, [x11, $dr_timing5]] ] -# Write default values - # MAIN + 0x1DE89AC - - - type: bytes - main_offset: 0x4113D00 - value_type: float - value: 0.034 - # MAIN + 0x1DE8A0C - - - type: bytes - main_offset: 0x4113D04 - value_type: float - value: 0.028 - # MAIN + 0x1DE80D4 - - - type: bytes - main_offset: 0x4113D08 - value_type: float - value: 0.0289855 - # MAIN + 0x1DE80D0 - - - type: bytes - main_offset: 0x4113D0C - value_type: float - value: 0.0263158 - # MAIN + 0x1DE80D0 - - - type: bytes - main_offset: 0x4113D10 - value_type: float - value: 0.0324675 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x4113D00] - value_type: float - value: ["(1 / FPS_TARGET) * 1.02", "(1 / FPS_TARGET) * 0.84", "(1 / FPS_TARGET) * 0.87", "(1 / FPS_TARGET) * 0.79", "(1 / FPS_TARGET) * 0.974"] + diff --git a/SaltySD/plugins/FPSLocker/patches/01008CB0156BC000/7735C8DD89D145F2.yaml b/SaltySD/plugins/FPSLocker/patches/01008CB0156BC000/7735C8DD89D145F2.yaml index 8f915b3..8000a70 100644 --- a/SaltySD/plugins/FPSLocker/patches/01008CB0156BC000/7735C8DD89D145F2.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01008CB0156BC000/7735C8DD89D145F2.yaml @@ -2,90 +2,94 @@ # BID: 7735C8DD89D145F2 # "Beyond the Reverie" dream has broken text fade effects above 30 FPS. -unsafeCheck: true - +DECLARATIONS: + - + type: const + name: tick_frequency + value: 19200000 + - + type: variable + name: last_tick + value_type: uint64 + default_value: 0 + - + type: variable + name: actual_frametime + value_type: float + default_value: 0.033333333333 + - + type: variable + name: min_delta + value_type: float + default_value: 0.033333333333 + evaluate: "1/FPS_TARGET" + - + type: code + name: dynamicSpeed + instructions: [ + [adrp, x9, $min_delta], + [ldr, s1, [x9, $min_delta]], + [fmov, s3, 1.0], + [fmov, s2, 15.0], + [fdiv, s2, s3, s2], + [mrs, x8, cntpct_el0], + [adrp, x9, $last_tick], + [ldr, x10, [x9, $last_tick]], + [str, x8, [x9, $last_tick]], + [cmp, x10, xzr], + [b.eq, :goto3], + [sub, x10, x8, x10], + [ucvtf, s3, x10], + [mov, w9, $tick_frequency], + [movk, w9, $tick_frequency, 16], + [ucvtf, s4, w9], + [fdiv, s4, s3, s4], + [fcmp, s4, s1], + [b.hi, :goto1], + [fmov, s4, s1], + [b, :goto2], + :goto1, [fcmp, s4, s2], + [b.lt, :goto2], + [fmov, s4, s2], + :goto2, [adrp, x9, $actual_frametime], + [str, s4, [x9, $actual_frametime]], + :goto3, [mov, w8, 0x1af0], + [ret] + ] MASTER_WRITE: - # Force FPS lock to 60 + # Force FPS lock to 120 - type: asm_a64 main_offset: 0x81AB0 instructions: [ - [movk, w8, 0x3c88, 16] + [movk, w8, 0x3c08, 16] ] - # Force refreshing camera to 60 Hz + # Force refreshing camera to 120 Hz - type: asm_a64 main_offset: 0x81AE4 instructions: [ - [movk, w9, 0x3c88, 16] + [movk, w9, 0x3c08, 16] ] # Properly scale frametime for FPS drops - type: asm_a64 main_offset: 0x81AEC instructions: [ - [movk, w10, 0xbc88, 16] + [movk, w10, 0xbc08, 16] ] # Read actual frametime instead of hardcoded 1/30 - # Store actual frametime as float in seconds to MAIN+0x7A52478 - # It sets minimum delta to 1/60 and maximum delta to 1/15 - type: asm_a64 main_offset: 0x8192C instructions: [ - [b, 0xd68334] + [bl, _dynamicSpeed()] ] - - - type: asm_a64 - main_offset: 0xD682D0 - instructions: [ - [adrp, x9, 0xf06000], - [ldr, s1, [x9, 0xf00]], - [ldr, s2, [x9, 0xe08]], - [bl, 0xd667e0], - [adrp, x9, 0x7a52000], - [ldr, x10, [x9, 0x470]], - [str, x0, [x9, 0x470]], - [sub, x10, x0, x10], - [ucvtf, s3, x10], - [mov, w9, 0x7c00], - [movk, w9, 0x4b92, 16], - [fmov, s4, w9], - [fdiv, s4, s3, s4], - [adrp, x9, 0x7a52000], - [fcmp, s4, s1], - [b.hi, +12], - [fmov, s4, s1], - [b, +16], - [fcmp, s4, s2], - [b.lt, +8], - [fmov, s4, s2], - [str, s4, [x9, 0x478]], - [mov, w8, 0x1af0], - [mov, x0, x20], - [b, 0x81930], - [mov, x20, x0], - [b, -104] - ] - # Read actual frametime as float in seconds from MAIN+0x7A52478 + # Read actual frametime as float in seconds - type: asm_a64 main_offset: 0x81B50 instructions: [ - [adrp, x11, 0x7a52000], - [ldr, w11, [x11, 0x478]] + [adrp, x11, $actual_frametime], + [ldr, w11, [x11, $actual_frametime]] ] - # Default value - - - type: bytes - main_offset: 0x7A52478 - value_type: float - value: 0.033333333333 -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x7A52500] - value_type: uint8 - value: 0 - diff --git a/SaltySD/plugins/FPSLocker/patches/01008D4007A1E000/C3D46BB3C7059DB1.yaml b/SaltySD/plugins/FPSLocker/patches/01008D4007A1E000/C3D46BB3C7059DB1.yaml index 19b737c..230ad6e 100644 --- a/SaltySD/plugins/FPSLocker/patches/01008D4007A1E000/C3D46BB3C7059DB1.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01008D4007A1E000/C3D46BB3C7059DB1.yaml @@ -1,8 +1,6 @@ # Outlast 1.0.1 # BID: C3D46BB3C7059DB1 -unsafeCheck: true - MASTER_WRITE: # Remove double buffer - @@ -29,10 +27,3 @@ MASTER_WRITE: instructions: [ [mov, w1, 3] ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x36BF100] - value_type: uint8 - value: 0 diff --git a/SaltySD/plugins/FPSLocker/patches/01008E101E868000/42AD50169E847BA2.yaml b/SaltySD/plugins/FPSLocker/patches/01008E101E868000/42AD50169E847BA2.yaml index 14ce64d..7ae17be 100644 --- a/SaltySD/plugins/FPSLocker/patches/01008E101E868000/42AD50169E847BA2.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01008E101E868000/42AD50169E847BA2.yaml @@ -1,8 +1,6 @@ # Bum Simulator 1.0.2 # BID: 42AD50169E847BA2 -unsafeCheck: false - ALL_FPS: # t.MaxFPS - diff --git a/SaltySD/plugins/FPSLocker/patches/01008E101E868000/CE6953FB28A66265.yaml b/SaltySD/plugins/FPSLocker/patches/01008E101E868000/CE6953FB28A66265.yaml new file mode 100644 index 0000000..5b68031 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01008E101E868000/CE6953FB28A66265.yaml @@ -0,0 +1,19 @@ +# Bum Simulator 1.0.3 +# BID: CE6953FB28A66265 + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x5C858B8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x5489408, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01008F600F2D0000/EB57CF3434044523.yaml b/SaltySD/plugins/FPSLocker/patches/01008F600F2D0000/EB57CF3434044523.yaml index 63d0f67..9b49e0f 100644 --- a/SaltySD/plugins/FPSLocker/patches/01008F600F2D0000/EB57CF3434044523.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01008F600F2D0000/EB57CF3434044523.yaml @@ -2,13 +2,12 @@ # BID: EB57CF3434044523 # Game stores textures inside fixed size class, so it's hard to get triple buffer -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate and bSmoothFrameRate - type: write address: [MAIN, 0x54C75F0, 0x770] + address_unsafe: true value_type: uint32 value: 7 # t.MaxFPS diff --git a/SaltySD/plugins/FPSLocker/patches/010091B01A438000/A735894277FF90F3.yaml b/SaltySD/plugins/FPSLocker/patches/010091B01A438000/A735894277FF90F3.yaml index 3fa0c35..600cebe 100644 --- a/SaltySD/plugins/FPSLocker/patches/010091B01A438000/A735894277FF90F3.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010091B01A438000/A735894277FF90F3.yaml @@ -1,53 +1,41 @@ # 零 ~月蝕的假面~ 1.0.3 # BID: A735894277FF90F3 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: min_delta + value_type: float + default_value: 0.0333333333 + evaluate: "1 / FPS_TARGET" + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 33333333 + evaluate: "1000000000 / FPS_TARGET" MASTER_WRITE: - # Redirect min delta to MAIN + 0x1FE0FF0 + # Redirect min delta # REF: 00 D9 21 7E 28 19 20 1E - type: asm_a64 main_offset: 0x16D9B4 instructions: [ - [adrp, x27, 0x1fe0000], - [ldr, s8, [x27, 0xff0]] + [adrp, x27, $min_delta], + [ldr, s8, [x27, $min_delta]] ] - # Redirect FPS Lock to MAIN + 0x1FE0FF4 + # Redirect FPS Lock # REF: 69 B2 40 B9 0A 40 99 52 - type: asm_a64 main_offset: 0x16DDD0 instructions: [ - [adrp, x9, 0x1fe0000], - [ldr, w9, [x9, 0xff4]], + [adrp, x9, $fps_lock], + [ldr, w9, [x9, $fps_lock]], [nop], [nop] ] - # Default values - - - type: bytes - main_offset: 0x1FE0FF0 - value_type: float - value: 0.0333333333 - - - type: bytes - main_offset: 0x1FE0FF4 - value_type: uint32 - value: 33333333 ALL_FPS: - # Min delta - - - type: evaluate_write - address: [MAIN, 0x1FE0FF0] - value_type: float - value: "1 / FPS_TARGET" - # FPS Lock - - - type: evaluate_write - address: [MAIN, 0x1FE0FF4] - value_type: uint32 - value: "1000000000 / FPS_TARGET" - type: block what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100926016012000/30997D8F7566EBB5.yaml b/SaltySD/plugins/FPSLocker/patches/0100926016012000/30997D8F7566EBB5.yaml index 38a61b9..295fb4a 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100926016012000/30997D8F7566EBB5.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100926016012000/30997D8F7566EBB5.yaml @@ -1,12 +1,11 @@ # PowerWash Simulator 1.10.0 # BID: 30997D8F7566EBB5 -unsafeCheck: false - ALL_FPS: # FuturLab.SingletonMonoBehaviour_TypeInfo (don't block FPSlocker internal lock because game's lock is kinda shit) - type: evaluate_write address: [MAIN, 0x6043ED0, 0xB8, 0, 0x28] + address_unsafe: true value_type: int32 value: FPS_LOCK_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100926016012000/561B0F485E699E4E.yaml b/SaltySD/plugins/FPSLocker/patches/0100926016012000/561B0F485E699E4E.yaml index ca77963..c6a5c89 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100926016012000/561B0F485E699E4E.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100926016012000/561B0F485E699E4E.yaml @@ -1,12 +1,11 @@ # PowerWash Simulator 1.11.0 # BID: 561B0F485E699E4E -unsafeCheck: false - ALL_FPS: # FuturLab.SingletonMonoBehaviour_TypeInfo (don't block FPSlocker internal lock because game's lock is kinda shit) - type: evaluate_write address: [MAIN, 0x606A350, 0xB8, 0, 0x28] + address_unsafe: true value_type: int32 value: FPS_LOCK_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100926016012000/7FF42DE6AA57290B.yaml b/SaltySD/plugins/FPSLocker/patches/0100926016012000/7FF42DE6AA57290B.yaml index c4174cb..32c0c7c 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100926016012000/7FF42DE6AA57290B.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100926016012000/7FF42DE6AA57290B.yaml @@ -1,12 +1,11 @@ # PowerWash Simulator 1.9.1 # BID: 7FF42DE6AA57290B -unsafeCheck: false - ALL_FPS: # FuturLab.SingletonMonoBehaviour_TypeInfo (don't block FPSlocker internal lock because game's lock is kinda shit) - type: evaluate_write address: [MAIN, 0x5FA0BD8, 0xB8, 0, 0x28] + address_unsafe: true value_type: int32 value: FPS_LOCK_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100926016012000/8EACFE3E9E92B0FE.yaml b/SaltySD/plugins/FPSLocker/patches/0100926016012000/8EACFE3E9E92B0FE.yaml index b11f77e..3cc5bfd 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100926016012000/8EACFE3E9E92B0FE.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100926016012000/8EACFE3E9E92B0FE.yaml @@ -1,12 +1,11 @@ # PowerWash Simulator 1.7.0 # BID: 8EACFE3E9E92B0FE -unsafeCheck: false - ALL_FPS: # FuturLab.SingletonMonoBehaviour_TypeInfo (don't block FPSlocker internal lock because game's lock is kinda shit) - type: evaluate_write address: [MAIN, 0x5F1DC68, 0xB8, 0, 0x28] + address_unsafe: true value_type: int32 value: FPS_LOCK_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/0100926016012000/B2395B882C2BCB24.yaml b/SaltySD/plugins/FPSLocker/patches/0100926016012000/B2395B882C2BCB24.yaml index ef88a53..f499e0f 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100926016012000/B2395B882C2BCB24.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100926016012000/B2395B882C2BCB24.yaml @@ -1,12 +1,11 @@ # PowerWash Simulator 1.9.2 # BID: B2395B882C2BCB24 -unsafeCheck: false - ALL_FPS: # FuturLab.SingletonMonoBehaviour_TypeInfo (don't block FPSlocker internal lock because game's lock is kinda shit) - type: evaluate_write address: [MAIN, 0x5FA0BD8, 0xB8, 0, 0x28] + address_unsafe: true value_type: int32 value: FPS_LOCK_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010097000BC10000/FB4239AA962B429B.yaml b/SaltySD/plugins/FPSLocker/patches/010097000BC10000/FB4239AA962B429B.yaml index 59681c3..7d552aa 100644 --- a/SaltySD/plugins/FPSLocker/patches/010097000BC10000/FB4239AA962B429B.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010097000BC10000/FB4239AA962B429B.yaml @@ -1,45 +1,44 @@ # resident evil 0 1.0.0 # BID: FB4239AA962B429B -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: cutscene_flag + value_type: uint32 + default_value: 0 + - + type: code + name: signalCutscene + instructions: [ + [add, x29, sp, 0x10], + [adrp, x8, $cutscene_flag], + [mov, w1, 1], + [str, w1, [x8, $cutscene_flag]], + [ret] + ] + - + type: code + name: designalCutscene + instructions: [ + [mov, w3, wzr], + [adrp, x4, $cutscene_flag], + [str, w3, [x4, $cutscene_flag]], + [ret] + ] MASTER_WRITE: # Detect prerendered cutscenes - type: asm_a64 - main_offset: 0x9F2540 + main_offset: 0x9F2548 instructions: [ - [b, 0xa05fa8] - ] - - - type: asm_a64 - main_offset: 0xA05FA8 - instructions: [ - [adrp, x8, 0x1bc2000], - [mov, w1, 1], - [str, w1, [x8, 0xff0]], - [str, x19, [sp, -0x20], "!"], - [mov, x19, x0], - [mov, w0, 0xca00], - [movk, w0, 0x3b9a, 16], - [svc, 0xb], - [mov, x0, x19], - [b, 0x9f2544] + [bl, _signalCutscene()] ] - type: asm_a64 main_offset: 0x9F26EC instructions: [ - [b, 0xa05fd0] - ] - - - type: asm_a64 - main_offset: 0xA05FD0 - instructions: [ - [mov, w3, wzr], - [adrp, x4, 0x1bc2000], - [str, w3, [x4, 0xff0]], - [b, 0x9fcc10] + [b, _designalCutscene()] ] ALL_FPS: # Internal FPS Lock @@ -51,10 +50,7 @@ ALL_FPS: - type: compare compare_type: "==" - compare_value_type: uint32 compare_value: 1 - compare_address: [MAIN, 0x1BC2FF0] - address: [MAIN] + compare_address: [VARIABLE, cutscene_flag] value_type: refresh_rate - value: 30 diff --git a/SaltySD/plugins/FPSLocker/patches/0100982019374000/9DD9149968A0B8D3.yaml b/SaltySD/plugins/FPSLocker/patches/0100982019374000/9DD9149968A0B8D3.yaml deleted file mode 100644 index 5bf4556..0000000 --- a/SaltySD/plugins/FPSLocker/patches/0100982019374000/9DD9149968A0B8D3.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Thirsty Suitors NS27619.127559 -# BID: 9DD9149968A0B8D3 - -# Values found by referencing DynamicResolution::DetermineResolutionScale function - -unsafeCheck: false - -ALL_FPS: - # Dynamic resolution targets (max ms, optimal ms, min ms, crit ms) - # max ms = 0.925 * (1000/FPS) - # optimal ms = 0.9 * (1000/FPS) - # min ms = 0.875 * (1000/FPS) - # crit ms = 0.85 * (1000/FPS) - - - type: evaluate_write - address: [MAIN, 0x4E1BF70, 0x7B0, 0x7F0, 0x20, 0x30] - value_type: float - value: ["0.925 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET", "0.875 * FRAMETIME_TARGET", "0.85 * FRAMETIME_TARGET"] diff --git a/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/693314C08EA157F3.yaml b/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/693314C08EA157F3.yaml index ed1cec3..e38d04d 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/693314C08EA157F3.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/693314C08EA157F3.yaml @@ -3,6 +3,13 @@ unsafeCheck: true +DECLARATIONS: + - + type: variable + name: dr_target + value_type: double + default_value: 28.57142857142857 + evaluate: "1000 / (FPS_TARGET + 5)" MASTER_WRITE: # Redirect updating various deltas to read frametime target from UnityEngine.Application::targetFrameRate, REF: 08 10 91 52 08 A1 A7 72 - @@ -25,13 +32,19 @@ MASTER_WRITE: [fmov, s0, 1.0], [fdiv, s0, s0, s1] ] - # Redirect Dynamic Resolution GPU Timing target in DynamicResolutionScaler::Update to MAIN+0x5ACEF08 + # Default value + - + type: bytes + main_offset: 0x5659068 + value_type: uint32 + value: 30 + # Redirect Dynamic Resolution GPU Timing target in DynamicResolutionScaler::Update - type: asm_a64 main_offset: 0x389C824 instructions: [ - [adrp, x8, 0x5ace000], - [ldr, x8, [x8, 0xf08]], + [adrp, x8, $dr_target], + [ldr, x8, [x8, $dr_target]], [nop], [nop] ] @@ -39,8 +52,8 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x389C8A4 instructions: [ - [adrp, x8, 0x5ace000], - [ldr, x8, [x8, 0xf08]], + [adrp, x8, $dr_target], + [ldr, x8, [x8, $dr_target]], [ldr, s0, [x19, 0x28]], [nop], [nop] @@ -49,22 +62,11 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x389C918 instructions: [ - [adrp, x8, 0x5ace000], - [ldr, x8, [x8, 0xf08]], + [adrp, x8, $dr_target], + [ldr, x8, [x8, $dr_target]], [nop], [nop] ] - # Default values - - - type: bytes - main_offset: 0x5659068 - value_type: uint32 - value: 30 - - - type: bytes - main_offset: 0x5ACEF08 - value_type: double - value: 28.57142857142857 ALL_FPS: # UnityEngine.Application::targetFrameRate - @@ -72,10 +74,4 @@ ALL_FPS: address: [MAIN, 0x5659068] value_type: uint32 value: FPS_TARGET - # GPU Timing Target - - - type: evaluate_write - address: [MAIN, 0x5ACEF08] - value_type: double - value: "1000 / (FPS_TARGET + 5)" diff --git a/SaltySD/plugins/FPSLocker/patches/0100A2902051A000/3D6E4BDE905836BC.yaml b/SaltySD/plugins/FPSLocker/patches/0100A2902051A000/3D6E4BDE905836BC.yaml new file mode 100644 index 0000000..a9d3db8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A2902051A000/3D6E4BDE905836BC.yaml @@ -0,0 +1,25 @@ +# Poppy Playtime: Chapter 4 1.2 +# BID: 3D6E4BDE905836BC + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x7F07990, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x8EC3E30, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x8EFF150, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100A6301214E000/8C08B9719E085F91.yaml b/SaltySD/plugins/FPSLocker/patches/0100A6301214E000/8C08B9719E085F91.yaml index 3450a4c..239d4d3 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100A6301214E000/8C08B9719E085F91.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100A6301214E000/8C08B9719E085F91.yaml @@ -3,13 +3,12 @@ # Game has many things hardcoded to vSyncCount, so if game can't remain FPS target that is rounded up to 60/30/20/15, some elements are slowed down. # Thanks to ~systemdev for figuring out basic of patching this game. -unsafeCheck: false - ALL_FPS: # UnityEngine.QualitySettings::vSyncCount - type: evaluate_write address: [MAIN, 0x65ABCA0, 0x30, 0x68] + address_unsafe: true value_type: uint32 value: VSYNC_TARGET # Internal vSyncCount @@ -22,5 +21,6 @@ ALL_FPS: - type: evaluate_write address: [MAIN, 0x6157F28, 0xB8, 0, 0x20] + address_unsafe: true value_type: float value: "(30 / FPS_TARGET) * 0.14" diff --git a/SaltySD/plugins/FPSLocker/patches/0100A9001C042000/3565E26E8827C846.yaml b/SaltySD/plugins/FPSLocker/patches/0100A9001C042000/3565E26E8827C846.yaml index 04bd755..ee0fdcf 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100A9001C042000/3565E26E8827C846.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100A9001C042000/3565E26E8827C846.yaml @@ -1,35 +1,33 @@ # Neptunia: Sisters VS Sisters 1.0.0 # BID: 3565E26E8827C846 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 33.33 + evaluate: "TruncDec(FRAMETIME_TARGET, 2)" + - + type: variable + name: dr_target2 + value_type: float + default_value: 28.57 + evaluate: "TruncDec(1000 / (FPS_TARGET + 5), 2)" MASTER_WRITE: - # Redirect DR timing range to MAIN + 0x86B9F00 + # Redirect DR timing range - type: asm_a64 main_offset: 0x3DC5E90 instructions: [ - [adrp, x8, 0x86b9000], - [ldr, w8, [x8, 0xf00]] + [adrp, x8, $dr_target1], + [ldr, w8, [x8, $dr_target1]] ] - type: asm_a64 main_offset: 0x3DC5EFC instructions: [ - [adrp, x8, 0x86b9000], - [ldr, w8, [x8, 0xf04]] + [adrp, x8, $dr_target2], + [ldr, w8, [x8, $dr_target2]] ] - # Default values - - - type: bytes - main_offset: 0x86B9F00 - value_type: float - value: [33.33, 28.57] -ALL_FPS: - # DR timing - - - type: evaluate_write - address: [MAIN, 0x86B9F00] - value_type: float - value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(1000 / (FPS_TARGET + 5), 2)"] diff --git a/SaltySD/plugins/FPSLocker/patches/0100B04011742000/C9A3DD7702075ECD.yaml b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/C9A3DD7702075ECD.yaml index 28cf44f..6c57c67 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100B04011742000/C9A3DD7702075ECD.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/C9A3DD7702075ECD.yaml @@ -1,13 +1,12 @@ # Monster Hunter Rise 16.0.2 # BID: C9A3DD7702075ECD -unsafeCheck: false - ALL_FPS: # Internal FPS lock - type: evaluate_write address: [MAIN, 0x1295B3F0, 0x434] + address_unsafe: true value_type: float value: FPS_LOCK_TARGET - diff --git a/SaltySD/plugins/FPSLocker/patches/0100B16009C10000/490D681909609015.yaml b/SaltySD/plugins/FPSLocker/patches/0100B16009C10000/490D681909609015.yaml index 53d5e6b..55f72a9 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100B16009C10000/490D681909609015.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100B16009C10000/490D681909609015.yaml @@ -1,13 +1,12 @@ -# SSINNER: Sacrifice for Redemption 1.1.0319 +# SINNER: Sacrifice for Redemption 1.1.0319 # BID: 490D681909609015 -unsafeCheck: true - ALL_FPS: # Disable bSmoothFrameRate and bUseFixedFrameRate to untie game speed from framerate - type: write address: [MAIN, 0x5CCE320, 0x750] + address_unsafe: true value_type: uint32 # Default is 0x67, bSmoothFrameRate |= 0x20, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/0100B2002330E000/637F8C946F7C512D.yaml b/SaltySD/plugins/FPSLocker/patches/0100B2002330E000/637F8C946F7C512D.yaml new file mode 100644 index 0000000..b88774f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B2002330E000/637F8C946F7C512D.yaml @@ -0,0 +1,25 @@ +# Mandragora: Whispers of the Witch Tree JPN 1.5.3.135819 +# BID: 637F8C946F7C512D + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x7CA62C8, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x84723A8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x8497A90, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml b/SaltySD/plugins/FPSLocker/patches/0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml index 42cb969..59542f0 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml @@ -1,13 +1,12 @@ # Dusk Diver 1.0.6 # BID: FAD1AF4EDC6DB267 -unsafeCheck: true - ALL_FPS: # Disable bSmoothFrameRate and bUseFixedFrameRate to untie game speed from framerate and unlock FPS - type: write address: [MAIN, 0x5379338, 0x780] + address_unsafe: true value_type: uint32 # Default is 0x67, bSmoothFrameRate |= 0x20, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: @@ -30,3 +29,4 @@ ALL_FPS: - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/0100B7C01D480000/0100B7C01D480000/E8EA74BE6221F2E4.yaml b/SaltySD/plugins/FPSLocker/patches/0100B7C01D480000/E8EA74BE6221F2E4.yaml similarity index 100% rename from SaltySD/plugins/FPSLocker/patches/0100B7C01D480000/0100B7C01D480000/E8EA74BE6221F2E4.yaml rename to SaltySD/plugins/FPSLocker/patches/0100B7C01D480000/E8EA74BE6221F2E4.yaml diff --git a/SaltySD/plugins/FPSLocker/patches/0100B8901AE88000/8AF36A929664A94D.yaml b/SaltySD/plugins/FPSLocker/patches/0100B8901AE88000/8AF36A929664A94D.yaml index 3f4b134..b6970a6 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100B8901AE88000/8AF36A929664A94D.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100B8901AE88000/8AF36A929664A94D.yaml @@ -1,8 +1,6 @@ # Daydream: Forgotten Sorrow 1.0.1 # BID: 8AF36A929664A94D -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/0100B8E016F76000/992787E2B5425994.yaml b/SaltySD/plugins/FPSLocker/patches/0100B8E016F76000/992787E2B5425994.yaml index 4a9b72c..3c8e329 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100B8E016F76000/992787E2B5425994.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100B8E016F76000/992787E2B5425994.yaml @@ -3,47 +3,53 @@ unsafeCheck: true +DECLARATIONS: + - + type: variable + name: dr_target_bad + value_type: float + default_value: 45 + evaluate: "1.35 * FRAMETIME_TARGET" + - + type: variable + name: dr_target_optimal + value_type: float + default_value: 32.01 + evaluate: "0.9603 * FRAMETIME_TARGET" + - + type: variable + name: dr_target_good + value_type: float + default_value: 30 + evaluate: "0.9 * FRAMETIME_TARGET" MASTER_WRITE: # Redirect DR timings to MAIN + 0x2BE8F00, [Bad, Optimal, Good] - type: asm_a64 main_offset: 0x9C07A4 instructions: [ - [adrp, x12, 0x2be8000], - [ldr, s3, [x12, 0xf00]] + [adrp, x12, $dr_target_bad], + [ldr, s3, [x12, $dr_target_bad]] ] - type: asm_a64 main_offset: 0x9C07F4 instructions: [ - [adrp, x12, 0x2be8000], - [ldr, w12, [x12, 0xf04]] + [adrp, x12, $dr_target_optimal], + [ldr, w12, [x12, $dr_target_optimal]] ] - type: asm_a64 main_offset: 0x9C0844 instructions: [ [fcsel, s3, s4, s0, gt], - [adrp, x12, 0x2be8000], - [ldr, s0, [x12, 0xf04]], - [nop] + [adrp, x12, $dr_target_optimal], + [ldr, s0, [x12, $dr_target_optimal]], + [adrp, x12, $dr_target_good] ] - type: asm_a64 main_offset: 0x9C0868 instructions: [ - [ldr, s0, [x12, 0xf08]] + [ldr, s0, [x12, $dr_target_good]] ] - # Default values - - - type: bytes - main_offset: 0x2BE8F00 - value_type: float - value: [45, 32.01, 30] -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x2BE8F00] - value_type: float - value: ["1.35 * FRAMETIME_TARGET", "0.9603 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET"] - diff --git a/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/007EA5E2E2541C6F.yaml b/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/007EA5E2E2541C6F.yaml index bdaded5..05706cc 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/007EA5E2E2541C6F.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/007EA5E2E2541C6F.yaml @@ -1,44 +1,42 @@ # FAIRY TAIL 2 1.4.2 # BID: 007EA5E2E2541C6F -unsafeCheck: false - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 0.043478 + evaluate: "1 / FPS_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 0.037037 + evaluate: "1 / (FPS_TARGET + 5)" MASTER_WRITE: - # Redirect Dynamic Resolution target to MAIN+0x2C53F00 + # Redirect Dynamic Resolution target # REF: 6A C8 82 52 - type: asm_a64 main_offset: 0x138238C instructions: [ - [adrp, x10, 0x2c53000], - [ldr, w10, [x10, 0xf00]] + [adrp, x10, $dr_target1], + [ldr, w10, [x10, $dr_target1]] ] - type: asm_a64 main_offset: 0x13823A8 instructions: [ - [adrp, x10, 0x2c53000], - [ldr, w10, [x10, 0xf04]] - ] - # Default values - - - type: bytes - main_offset: 0x2C53F00 - value_type: float - value: [0.043478, 0.037037] + [adrp, x10, $dr_target2], + [ldr, w10, [x10, $dr_target2]] + ] ALL_FPS: # FPS Lock # REF: 1F 00 00 71 C8 03 80 52, first ADRP+ADD above it - type: evaluate_write address: [MAIN, 0x2C0B558, 0x170, 0x18C] + address_unsafe: true value_type: int32 - value: FPS_LOCK_TARGET - # Dynamic Resolution Target - # Game proritizes resolution over framerate, I changed it to prefer framerate - - - type: evaluate_write - address: [MAIN, 0x2C53F00] - value_type: float - - value: ["1 / FPS_TARGET", "1 / (FPS_TARGET + 5)"] + value: FPS_LOCK_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/A588F7BB864AAD5F.yaml b/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/A588F7BB864AAD5F.yaml index 069e075..0e15ce6 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/A588F7BB864AAD5F.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/A588F7BB864AAD5F.yaml @@ -1,8 +1,6 @@ # FAIRY TAIL 2 1.4.1 # BID: A588F7BB864AAD5F -unsafeCheck: false - MASTER_WRITE: # Redirect Dynamic Resolution target to MAIN+0x2C53F00 # REF: 6AC88252 @@ -32,6 +30,7 @@ ALL_FPS: - type: evaluate_write address: [MAIN, 0x2C0B558, 0x170, 0x18C] + address_unsafe: true value_type: int32 value: FPS_LOCK_TARGET # Dynamic Resolution Target diff --git a/SaltySD/plugins/FPSLocker/patches/0100BD601EC3E000/5AF163DEF288F098.yaml b/SaltySD/plugins/FPSLocker/patches/0100BD601EC3E000/5AF163DEF288F098.yaml index 8b3af5e..699ace7 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100BD601EC3E000/5AF163DEF288F098.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100BD601EC3E000/5AF163DEF288F098.yaml @@ -1,13 +1,12 @@ # Poppy Playtime: Chapter 3 1.0.0.2 # BID: 5AF163DEF288F098 -unsafeCheck: true - ALL_FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x778C438, 0xAA4] + address_unsafe: true value_type: int32 value: 6 # r.VSync @@ -30,4 +29,4 @@ ALL_FPS: value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100BEB015604000/B38D51E0391187EC.yaml b/SaltySD/plugins/FPSLocker/patches/0100BEB015604000/B38D51E0391187EC.yaml index 065dd68..3d6029e 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100BEB015604000/B38D51E0391187EC.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100BEB015604000/B38D51E0391187EC.yaml @@ -2,54 +2,41 @@ # FATAL FRAME: MAIDEN OF BLACK WATER 1.0.4 # BID: B38D51E0391187EC -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: min_delta + value_type: float + default_value: 0.0333333333 + evaluate: "1 / FPS_TARGET" + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 33333333 + evaluate: "1000000000 / FPS_TARGET" MASTER_WRITE: - # Redirect min delta to MAIN + 0x1BC4FF0 + # Redirect min delta # REF: 00 D9 21 7E 28 19 20 1E - type: asm_a64 main_offset: 0x39ABF8 instructions: [ - [adrp, x27, 0x1bc4000], - [ldr, s8, [x27, 0xff0]] + [adrp, x27, $min_delta], + [ldr, s8, [x27, $min_delta]] ] - # Redirect FPS Lock to MAIN + 0x1BC4FF4 + # Redirect FPS Lock # REF: 69 AA 40 B9 0A 40 99 52 - type: asm_a64 main_offset: 0x39B2D8 instructions: [ - [adrp, x9, 0x1bc4000], - [ldr, w9, [x9, 0xff4]], + [adrp, x9, $fps_lock], + [ldr, w9, [x9, $fps_lock]], [nop], [nop] ] - # Default values - - - type: bytes - main_offset: 0x1BC4FF0 - value_type: float - value: 0.0333333333 - - - type: bytes - main_offset: 0x1BC4FF4 - value_type: uint32 - value: 33333333 ALL_FPS: - # Min delta - - - type: evaluate_write - address: [MAIN, 0x1BC4FF0] - value_type: float - value: "1 / FPS_TARGET" - # FPS Lock - - - type: evaluate_write - address: [MAIN, 0x1BC4FF4] - value_type: uint32 - value: "1000000000 / FPS_TARGET" - type: block what: timing - diff --git a/SaltySD/plugins/FPSLocker/patches/0100C09014530000/D92F465FE9920BB6.yaml b/SaltySD/plugins/FPSLocker/patches/0100C09014530000/D92F465FE9920BB6.yaml index 5587979..5484693 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100C09014530000/D92F465FE9920BB6.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100C09014530000/D92F465FE9920BB6.yaml @@ -1,29 +1,22 @@ # Boomerang X 1.0.2 # BID: D92F465FE9920BB6 -unsafeCheck: true +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 28 + evaluate: FPS_TARGET MASTER_WRITE: - # Patch `DynamicResolution.Settings$$get_TargetFPS` to redirect reading targetFPS to unused .bss region [MAIN, 0x5E9AFF0] + # Patch `DynamicResolution.Settings$$get_TargetFPS` to redirect reading targetFPS - type: asm_a64 main_offset: 0x3821020 instructions: [ - [adrp, x0, 0x5e9a000], - [ldr, s0, [x0, 0xff0]], + [adrp, x0, $dr_target], + [ldr, s0, [x0, $dr_target]], [ret] ] - # Write default value of `DynamicResolution.Settings$$get_TargetFPS` to redirected address - - - type: bytes - main_offset: 0x5E9AFF0 - value_type: float - value: 28 -ALL_FPS: - # DynamicResolution.Settings$$get_TargetFPS - - - type: evaluate_write - address: [MAIN, 0x5E9AFF0] - value_type: float - value: FPS_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/0100C1101EE5A000/950FB0C3D58D6A7B.yaml b/SaltySD/plugins/FPSLocker/patches/0100C1101EE5A000/950FB0C3D58D6A7B.yaml index 1f62fcd..b01de64 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100C1101EE5A000/950FB0C3D58D6A7B.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100C1101EE5A000/950FB0C3D58D6A7B.yaml @@ -1,8 +1,6 @@ -# High On Life 1.0.3 +# High On Life 1.0.3/1.0.4 # BID: 950FB0C3D58D6A7B -unsafeCheck: true - ALL_FPS: # r.VSync - diff --git a/SaltySD/plugins/FPSLocker/patches/0100C6C010AE4000/FE211DBFAD6EA549.yaml b/SaltySD/plugins/FPSLocker/patches/0100C6C010AE4000/FE211DBFAD6EA549.yaml index d6cd145..381a29f 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100C6C010AE4000/FE211DBFAD6EA549.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100C6C010AE4000/FE211DBFAD6EA549.yaml @@ -1,8 +1,6 @@ # Clive 'N' Wrench 1.0.6 # BID: FE211DBFAD6EA549 -unsafeCheck: false - ALL_FPS: # Dynamic Resolution GPU Frame Timing target in ms = 0.9 * (1000/FPS) # It was derived by hooking `PSH.DynamicResolutionManager$$ScaleResolutionToAchieveFrameRate` before its first use @@ -11,5 +9,6 @@ ALL_FPS: - type: evaluate_write address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + address_unsafe: true value_type: double value: "0.9 * FRAMETIME_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/0100CA3014ADE000/372AB37327DB2C31.yaml b/SaltySD/plugins/FPSLocker/patches/0100CA3014ADE000/372AB37327DB2C31.yaml index 75ab540..470b311 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100CA3014ADE000/372AB37327DB2C31.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100CA3014ADE000/372AB37327DB2C31.yaml @@ -1,7 +1,13 @@ # Umurangi Generation 1.6.6.0 # BID: 372AB37327DB2C31 -unsafeCheck: true +DECLARATIONS: + - + type: variable + name: fps_lock + value_type: float + default_value: 0.03333333333 + evaluate: "1 / FPS_TARGET" MASTER_WRITE: # Read FPS Lock from MAIN+0x49FCFF0 @@ -11,20 +17,11 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x2DF1E60 instructions: [ - [adrp, x8, 0x49fc000], - [ldr, s1, [x8, 0xff0]], + [adrp, x8, $fps_lock], + [ldr, s1, [x8, $fps_lock]], [nop] ] - ## Default value - - - type: bytes - main_offset: 0x49FCFF0 - value_type: float - value: 0.03333333333 ALL_FPS: - # FPS Lock - - type: evaluate_write - address: [MAIN, 0x49FCFF0] - value_type: float - value: "1 / FPS_TARGET" + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100CA800F9B2000/A1E1EFBA68B846A9.yaml b/SaltySD/plugins/FPSLocker/patches/0100CA800F9B2000/A1E1EFBA68B846A9.yaml index 4fbdece..e3f1ec3 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100CA800F9B2000/A1E1EFBA68B846A9.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100CA800F9B2000/A1E1EFBA68B846A9.yaml @@ -1,8 +1,6 @@ # Sherlock Holmes The Awakened 1.0.1 # BID: A1E1EFBA68B846A9 -unsafeCheck: true - ALL_FPS: # t.MaxFPS - diff --git a/SaltySD/plugins/FPSLocker/patches/0100CD3010AE2000/53EA0196A4AEB260.yaml b/SaltySD/plugins/FPSLocker/patches/0100CD3010AE2000/53EA0196A4AEB260.yaml index f45ffb3..21b1068 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100CD3010AE2000/53EA0196A4AEB260.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100CD3010AE2000/53EA0196A4AEB260.yaml @@ -1,8 +1,45 @@ # Crysis 3 Remastered 1.3.0 # BID: 53EA0196A4AEB260 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 28.5 + evaluate: "0.855 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 33.5 + evaluate: "1.005 * FRAMETIME_TARGET" + - + type: variable + name: dr_target3 + value_type: float + default_value: 30.5 + evaluate: "0.915 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - START + - + type: variable + name: dr_target4 + value_type: float + default_value: 32.5 + evaluate: "0.975 * FRAMETIME_TARGET" + - + type: variable + name: dr_target5 + value_type: float + default_value: 31.5 + evaluate: "0.945 * FRAMETIME_TARGET" + - + type: variable + name: dr_target6 + value_type: float + default_value: 33.25 + evaluate: "0.945 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - END MASTER_WRITE: # Redirect Dynamic Resolution Timings to read always not from .text - @@ -23,50 +60,20 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x136A520 instructions: [ - [adrp, x8, 0x3608000], - [ldr, s0, [x8, 0xe00]], - [ldr, s1, [x8, 0xe04]], - [ldr, s2, [x8, 0xe08]], - [nop], - [nop] + [adrp, x8, $dr_target1], + [ldr, s0, [x8, $dr_target1]], + [adrp, x8, $dr_target2], + [ldr, s1, [x8, $dr_target2]], + [adrp, x8, $dr_target3], + [ldr, s2, [x8, $dr_target3]] ] - type: asm_a64 main_offset: 0x136A554 instructions: [ - [adrp, x9, 0x3608000], - [add, x9, x9, 0xe0c] + [adrp, x9, $dr_target4], + [add, x9, x9, $dr_target4] ] -# Write default values - - - type: bytes - main_offset: 0x3443CA4 - value_type: float - value: 28.5 - # MAIN + 0x22EA494 - - - type: bytes - main_offset: 0x3608E00 - value_type: float - value: 33.5 - # MAIN + 0x22EAE14 - - - type: bytes - main_offset: 0x3608E04 - value_type: float - value: 30.5 - # MAIN + 0x22EAB58 - - - type: bytes - main_offset: 0x3608E08 - value_type: float - value: 32.5 - # MAIN + 0x22E9E48 - - - type: bytes - main_offset: 0x3608E0C - value_type: float - value: [31.5, 33.25] ALL_FPS: # sys_MaxFPS - @@ -74,42 +81,12 @@ ALL_FPS: address: [MAIN, 0x34382D8] value_type: int32 value: FPS_LOCK_TARGET - # Renderer thread delay (default value) + # Renderer thread delay - - type: write + type: evaluate_write address: [MAIN, 0x3466BB0] value_type: float - value: 0.01 - - - type: evaluate_write - address: [MAIN, 0x3443CA4] - value_type: float - value: "0.855 * FRAMETIME_TARGET" - # MAIN + 0x22EA494 - - - type: evaluate_write - address: [MAIN, 0x3608E00] - value_type: float - value: "1.005 * FRAMETIME_TARGET" - # MAIN + 0x22EAE14 - - - type: evaluate_write - address: [MAIN, 0x3608E04] - value_type: float - value: "0.915 * FRAMETIME_TARGET" - # MAIN + 0x22EAB58 - - - type: evaluate_write - address: [MAIN, 0x3608E08] - value_type: float - value: "0.975 * FRAMETIME_TARGET" - # MAIN + 0x22E9E48 - - - type: evaluate_write - address: [MAIN, 0x3608E0C] - value_type: float - value: ["0.945 * FRAMETIME_TARGET", "0.945 * FRAMETIME_TARGET"] + value: "0.66 / FPS_TARGET" - type: block what: timing - diff --git a/SaltySD/plugins/FPSLocker/patches/0100CD4012DCA000/B067B077906C6208.yaml b/SaltySD/plugins/FPSLocker/patches/0100CD4012DCA000/B067B077906C6208.yaml index b48a0f1..fe074bb 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100CD4012DCA000/B067B077906C6208.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100CD4012DCA000/B067B077906C6208.yaml @@ -4,60 +4,61 @@ unsafeCheck: true +DECLARATIONS: + # DON'T PUT ANYTHING BETWEEN - START + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 30 + evaluate: FPS_LOCK_TARGET + - + type: variable + name: fps_lock2 + value_type: uint32 + default_value: 60 + evaluate: FPS_LOCK_TARGET + # DON'T PUT ANYTHING BETWEEN - END + - + type: variable + name: game_speed + value_type: float + default_value: 0.0333333333 + evaluate: "1/FPS_TARGET" MASTER_WRITE: # Redirect adjusting game speed to FPS Lock stored in MAIN + 0x2B92800, REF: 20 79 68 BC 01 10 2E 1E 00 D8 21 7E - type: asm_a64 main_offset: 0xB8ED98 instructions: [ - [adrp, x9, 0x2b92000], - [add, x9, x9, 0x800] + [adrp, x9, $fps_lock], + [add, x9, x9, $fps_lock] ] # Redirect FPS Lock to MAIN + 0x2B92800, REF: C8 32 40 B9 E8 C2 00 B9 - type: asm_a64 main_offset: 0x89668C instructions: [ - [adrp, x8, 0x2b92000], - [ldr, w8, [x8, 0x800]] + [adrp, x8, $fps_lock], + [ldr, w8, [x8, $fps_lock]] ] # Redirect game speed to MAIN + 0x2B92808, REF: 00 28 21 1E 00 A0 00 BD C0 03 5F D6 - type: asm_a64 main_offset: 0x11139A0 instructions: [ - [adrp, x8, 0x2b92000], + [adrp, x8, $game_speed], [ldr, s0, [x0, 0xa0]], - [ldr, s1, [x8, 0x808]] + [ldr, s1, [x8, $game_speed]] ] - # Default FPS Targets - - - type: bytes - main_offset: 0x2B92800 - value_type: uint32 - value: [30, 60] - - - type: bytes - main_offset: 0x2B92808 - value_type: float - value: 0.0333333333 ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x2B92800] - value_type: uint32 - value: FPS_LOCK_TARGET - # Adjust max delta for menus, 0 - 30 FPS, 1 - 60 FPS, REF: 20 79 68 BC 01 10 2E 1E 00 D8 21 7E type: evaluate_write address: [MAIN, 0x254EA80] value_type: uint32 value: "FPS_TARGET / 60" - - - type: write - address: [MAIN, 0x2B92808] - value_type: float - value: "1 / FPS_TARGET" - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/0100CF401A98E000/5ECFB8F85105FE3C.yaml b/SaltySD/plugins/FPSLocker/patches/0100CF401A98E000/5ECFB8F85105FE3C.yaml index 517f339..465c620 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100CF401A98E000/5ECFB8F85105FE3C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100CF401A98E000/5ECFB8F85105FE3C.yaml @@ -1,34 +1,28 @@ # Contra: Operation Galuga 1.0.882291 # BID: 5ECFB8F85105FE3C -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 33.333333 + evaluate: FRAMETIME_TARGET + - + type: code + name: drAdjust + instructions: [ + [adrp, x8, $dr_target], + [ldr, s0, [x8, $dr_target]], + [str, s0, [x19, 0x3c]], + [ret] + ] + MASTER_WRITE: # Redirect DR Timing target to MAIN + 0x6D91A00, REF: 61 36 40 BD 60 3E 40 BD - type: asm_a64 main_offset: 0x3534598 instructions: [ - [bl, 0x487b144] + [bl, _drAdjust()] ] - - - type: asm_a64 - main_offset: 0x487B144 - instructions: [ - [adrp, x8, 0x6d91000], - [ldr, s0, [x8, 0xa00]], - [str, s0, [x19, 0x3c]], - [ret] - ] - # Default value - - - type: bytes - main_offset: 0x6D91A00 - value_type: float - value: 33.3333333333 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x6D91A00] - value_type: float - value: FRAMETIME_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/0100D210177C6000/9510D677DCCE4447.yaml b/SaltySD/plugins/FPSLocker/patches/0100D210177C6000/9510D677DCCE4447.yaml index 0094bde..44ab6be 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100D210177C6000/9510D677DCCE4447.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100D210177C6000/9510D677DCCE4447.yaml @@ -1,12 +1,11 @@ # Oddworld Soulstorm 1.1.3 # BID: 9510D677DCCE4447 -unsafeCheck: false - ALL_FPS: # Dynamic Resolution frame time target in ms cutted to 1 decimal - type: evaluate_write address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + address_unsafe: true value_type: float value: "TruncDec(FRAMETIME_TARGET, 1)" diff --git a/SaltySD/plugins/FPSLocker/patches/0100D3C010DE8000/59159483CF88330F.yaml b/SaltySD/plugins/FPSLocker/patches/0100D3C010DE8000/59159483CF88330F.yaml index 466a99f..ff4d0e1 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100D3C010DE8000/59159483CF88330F.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100D3C010DE8000/59159483CF88330F.yaml @@ -2,63 +2,51 @@ # BID: 59159483CF88330F # Button polling is 2x more sensitive to holding any button -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 33333333 + evaluate: "FRAMETIME_TARGET * 930000" + - + type: variable + name: frame_time + value_type: float + default_value: 0.0333333333 + - + type: code + name: dynamicSpeed + instructions: [ + [str, x0, [x19, 8]], + [fcvt, s4, d0], + [adrp, x8, $frame_time], + [str, s4, [x8, $frame_time]], + [ret] + ] MASTER_WRITE: - # Move loading FPS lock time to MAIN+0x3AF0800 + # Move loading FPS lock time - type: asm_a64 main_offset: 0x5F02F8 instructions: [ - [adrp, x9, 0x3af0000], - [ldr, w9, [x9, 0x800]] + [adrp, x9, $fps_lock], + [ldr, w9, [x9, $fps_lock]] ] - # Default value - - - type: bytes - main_offset: 0x3AF0800 - value_type: uint32 - value: 33333333 - # Write game's loop time as float to MAIN+0x3AF0804 + # Write game's loop time as float - type: asm_a64 main_offset: 0x5F0348 instructions: [ - [b, 0x5f00b4] + [bl, _dynamicSpeed()] ] - - - type: asm_a64 - main_offset: 0x5F00B4 - instructions: [ - [str, x0, [x19, 8]], - [fcvt, s4, d0], - [b, 0x5f02d4] - ] - - - type: asm_a64 - main_offset: 0x5F02D4 - instructions: [ - [adrp, x8, 0x3af0000], - [str, s4, [x8, 0x804]], - [b, 0x5f034c] - ] - - # Read lowest timing float factor from MAIN+0x3AF0804 + - # Read lowest timing float factor type: asm_a64 main_offset: 0x65548 instructions: [ - [adrp, x8, 0x3af0000], + [adrp, x8, $frame_time], [fminnm, s0, s0, s2], - [ldr, s2, [x8, 0x804]] + [ldr, s2, [x8, $frame_time]] ] - - # Default value - type: bytes - main_offset: 0x3AF0804 - value_type: float - value: 0.0333333333 -ALL_FPS: - - - type: write - address: [MAIN, 0x3AF0800] - value_type: uint32 - value: 11111111 + diff --git a/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/89349071D2B0BFF7.yaml b/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/89349071D2B0BFF7.yaml new file mode 100644 index 0000000..9f52539 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/89349071D2B0BFF7.yaml @@ -0,0 +1,16 @@ +# Caravan SandWitch 1.0.7 +# BID: 89349071D2B0BFF7 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x7A4B210, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7A84920, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/5D63D46226DB106F.yaml b/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/5D63D46226DB106F.yaml index 05c7754..bf8b697 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/5D63D46226DB106F.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/5D63D46226DB106F.yaml @@ -1,13 +1,12 @@ # Twilight Monk 1.0.0 # BID: 5D63D46226DB106F -unsafeCheck: false - ALL_FPS: # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS - type: write address: [MAIN, 0x5DBD688, 0x7A4] + address_unsafe: true value_type: uint32 # Default is 0x46, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: diff --git a/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/6D560144F6B09A98.yaml b/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/6D560144F6B09A98.yaml new file mode 100644 index 0000000..aa0e830 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/6D560144F6B09A98.yaml @@ -0,0 +1,36 @@ +# Twilight Monk 1.4.0 +# BID: 6D560144F6B09A98 + +ALL_FPS: + # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS + - + type: write + address: [MAIN, 0x5E09268, 0x7A4] + address_unsafe: true + value_type: uint32 + # Default is 0x46, bUseFixedFrameRate |= 0x40 + # By writing 6 we are making sure that other flags are maintained: + # bAllowMultiThreadedAnimationUpdate |= 4 + # bOptimizeAnimBlueprintMemberVariableAccess |= 2 + value: 6 + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x5DDBEC8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x5E09B88, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: evaluate_write + address: [MAIN, 0x560DA68, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/E9A189C0CA87A30C.yaml b/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/E9A189C0CA87A30C.yaml index b92d2ca..92695db 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/E9A189C0CA87A30C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/E9A189C0CA87A30C.yaml @@ -1,16 +1,15 @@ # Twilight Monk 1.3.0 # BID: E9A189C0CA87A30C -unsafeCheck: true - ALL_FPS: # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS - type: write address: [MAIN, 0x5E04268, 0x7A4] + address_unsafe: true value_type: uint32 # Default is 0x46, bUseFixedFrameRate |= 0x40 - # By writing 7 we are making sure that other flags are maintained: + # By writing 6 we are making sure that other flags are maintained: # bAllowMultiThreadedAnimationUpdate |= 4 # bOptimizeAnimBlueprintMemberVariableAccess |= 2 value: 6 @@ -34,4 +33,4 @@ ALL_FPS: value: [0, 0] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100D9601A994000/28ED06F94D767478.yaml b/SaltySD/plugins/FPSLocker/patches/0100D9601A994000/28ED06F94D767478.yaml index 4cf5b22..f73aa36 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100D9601A994000/28ED06F94D767478.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100D9601A994000/28ED06F94D767478.yaml @@ -1,8 +1,6 @@ # ONE PIECE ODYSSEY Deluxe Edition US/EU/JP 1.0.0 # BID: 28ED06F94D767478 -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/0100DAE019110000/0248DC99035AD28A.yaml b/SaltySD/plugins/FPSLocker/patches/0100DAE019110000/0248DC99035AD28A.yaml index ab548fe..79f4bad 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100DAE019110000/0248DC99035AD28A.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100DAE019110000/0248DC99035AD28A.yaml @@ -1,54 +1,41 @@ # PROJECT ZERO: Mask of the Lunar Eclipse West 1.0.3 # BID: 0248DC99035AD28A -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: min_delta + value_type: float + default_value: 0.0333333333 + evaluate: "1 / FPS_TARGET" + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 33333333 + evaluate: "1000000000 / FPS_TARGET" MASTER_WRITE: - # Redirect min delta to MAIN + 0x1FE0FF0 + # Redirect min delta # REF: 00 D9 21 7E 28 19 20 1E - type: asm_a64 main_offset: 0x16D9B4 instructions: [ - [adrp, x27, 0x1fe0000], - [ldr, s8, [x27, 0xff0]] + [adrp, x27, $min_delta], + [ldr, s8, [x27, $min_delta]] ] - # Redirect FPS Lock to MAIN + 0x1FE0FF4 + # Redirect FPS Lock # REF: 69 B2 40 B9 0A 40 99 52 - type: asm_a64 main_offset: 0x16DDD0 instructions: [ - [adrp, x9, 0x1fe0000], - [ldr, w9, [x9, 0xff4]], + [adrp, x9, $fps_lock], + [ldr, w9, [x9, $fps_lock]], [nop], [nop] ] - # Default values - - - type: bytes - main_offset: 0x1FE0FF0 - value_type: float - value: 0.0333333333 - - - type: bytes - main_offset: 0x1FE0FF4 - value_type: uint32 - value: 33333333 ALL_FPS: - # Min delta - - - type: evaluate_write - address: [MAIN, 0x1FE0FF0] - value_type: float - value: "1 / FPS_TARGET" - # FPS Lock - - - type: evaluate_write - address: [MAIN, 0x1FE0FF4] - value_type: uint32 - value: "1000000000 / FPS_TARGET" - type: block what: timing - diff --git a/SaltySD/plugins/FPSLocker/patches/0100DCA0064A6000/79E5950FFA85ACF6.yaml b/SaltySD/plugins/FPSLocker/patches/0100DCA0064A6000/79E5950FFA85ACF6.yaml index 33ea598..f979776 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100DCA0064A6000/79E5950FFA85ACF6.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100DCA0064A6000/79E5950FFA85ACF6.yaml @@ -2,30 +2,28 @@ # BID: 79E5950FFA85ACF6 # Credits for finding FPS Lock goes to theboy181 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: fps_target + value_type: float + default_value: 33.333333 + evaluate: "1000 / FPS_LOCK_TARGET" MASTER_WRITE: # Redirect reading FPS Lock to MAIN+0x1D164DC - type: asm_a64 main_offset: 0x7A3E9C instructions: [ - [adrp, x12, 0x1d16000] + [adrp, x12, $fps_target] ] - # Default value - - type: bytes - main_offset: 0x1D164DC - value_type: float - value: 33.33333333 + type: asm_a64 + main_offset: 0x7A3EA8 + instructions: [ + [ldr, s0, [x12, $fps_target]] + ] ALL_FPS: - # FPS Lock in ms - - - type: evaluate_write - address: [MAIN, 0x1D164DC] - value_type: float - value: "1000 / FPS_LOCK_TARGET" - type: block what: timing - diff --git a/SaltySD/plugins/FPSLocker/patches/0100DE70085E8000/F18ACDA7A11CB287.yaml b/SaltySD/plugins/FPSLocker/patches/0100DE70085E8000/F18ACDA7A11CB287.yaml index 75b51e4..71a52ac 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100DE70085E8000/F18ACDA7A11CB287.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100DE70085E8000/F18ACDA7A11CB287.yaml @@ -1,8 +1,6 @@ # Outlast 2 1.0.0 # BID: F18ACDA7A11CB287 -unsafeCheck: true - MASTER_WRITE: # Remove double buffer - @@ -11,7 +9,6 @@ MASTER_WRITE: instructions: [ [cmp, x26, 3] ] - value: 0xF1000F5F - type: asm_a64 main_offset: 0xF45E64 @@ -30,10 +27,3 @@ MASTER_WRITE: instructions: [ [mov, w1, 3] ] -ALL_FPS: - # DUMMY - - - type: write - address: [MAIN, 0x408B900] - value_type: uint8 - value: 0 diff --git a/SaltySD/plugins/FPSLocker/patches/0100E2701A888000/8322528255D2CC63.yaml b/SaltySD/plugins/FPSLocker/patches/0100E2701A888000/8322528255D2CC63.yaml index cc70830..eb1903e 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100E2701A888000/8322528255D2CC63.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100E2701A888000/8322528255D2CC63.yaml @@ -2,8 +2,19 @@ # BID: 8322528255D2CC63 # To update dynamic resolution offsets look at fb::renderer::ResolutionScaler::update -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target_max + value_type: double + default_value: 34 + evaluate: "1.02 * FRAMETIME_TARGET" + - + type: variable + name: dr_target_min + value_type: double + default_value: 32 + evaluate: "0.96 * FRAMETIME_TARGET" MASTER_WRITE: # Change double buffer to triple buffer - @@ -13,57 +24,33 @@ MASTER_WRITE: [mov, w8, 3] ] # Allow changing dynamic resolution timings - # Max - changed address to MAIN + 0x7D05200 + # Max - type: asm_a64 main_offset: 0x25992CC instructions: [ - [adrp, x8, 0x7d05000], + [adrp, x8, $dr_target_max], [adrp, x22, 0x5ddf000], - [ldr, d2, [x8, 0x200]] + [ldr, d2, [x8, $dr_target_max]] ] # Min - changed address to MAIN + 0x7D05208 - type: asm_a64 main_offset: 0x2599344 instructions: [ - [adrp, x10, 0x7d05000], - [ldr, d5, [x10, 0x208]] + [adrp, x10, $dr_target_min], + [ldr, d5, [x10, $dr_target_min]] ] - type: asm_a64 main_offset: 0x2599380 instructions: [ - [adrp, x10, 0x7d05000] + [adrp, x10, $dr_target_min] ] - type: asm_a64 main_offset: 0x2599390 instructions: [ - [ldr, d6, [x10, 0x208]] + [ldr, d6, [x10, $dr_target_min]] ] - # Default values - - - type: bytes - main_offset: 0x7D05200 - value_type: double - value: 34.0 - - - type: bytes - main_offset: 0x7D05208 - value_type: double - value: 32.0 -ALL_FPS: - # Max Dynamic Resolution Timing - - - type: evaluate_write - address: [MAIN, 0x7D05200] - value_type: double - value: "1.02 * FRAMETIME_TARGET" - # Min Dynamic Resolution Timing - - - type: evaluate_write - address: [MAIN, 0x7D05208] - value_type: double - value: "0.96 * FRAMETIME_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/0100E5900F49A000/A8BA2A8F93AAE647.yaml b/SaltySD/plugins/FPSLocker/patches/0100E5900F49A000/A8BA2A8F93AAE647.yaml index c573c3c..036a23d 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100E5900F49A000/A8BA2A8F93AAE647.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100E5900F49A000/A8BA2A8F93AAE647.yaml @@ -1,28 +1,20 @@ # Othercide 1.3.0.5/1.3.1.0 # BID: A8BA2A8F93AAE647 -unsafeCheck: true +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 41 + evaluate: "0.97 * FRAMETIME_TARGET" MASTER_WRITE: - # Redirect DynamicResolutionManager$$Update Timing to be read from MAIN+0x72C6500 + # Redirect DynamicResolutionManager$$Update Timing - type: asm_a64 main_offset: 0x2B0188C instructions: [ - [adrp, x8, 0x72c6000], - [ldr, s1, [x8, 0x500]] + [adrp, x8, $dr_target], + [ldr, s1, [x8, $dr_target]] ] - # Write default value - - - type: bytes - main_offset: 0x72C6500 - value_type: float - value: 41 -ALL_FPS: - # Game's priority is resolution over framerate with factor 1.23, I am changing that to 0.97 - - - type: evaluate_write - address: [MAIN, 0x72C6500] - value_type: float - value: "0.97 * FRAMETIME_TARGET" - diff --git a/SaltySD/plugins/FPSLocker/patches/0100E6300AA3A000/AAC6FB02E03062EF.yaml b/SaltySD/plugins/FPSLocker/patches/0100E6300AA3A000/AAC6FB02E03062EF.yaml index 50ba91b..298e97c 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100E6300AA3A000/AAC6FB02E03062EF.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100E6300AA3A000/AAC6FB02E03062EF.yaml @@ -1,42 +1,23 @@ # Batman: The Enemy Within 1.0.3 # BID: AAC6FB02E03062EF -unsafeCheck: true - -MASTER_WRITE: -# Remove double buffer +DECLARATIONS: - - type: asm_a64 - main_offset: 0x64A8 - instructions: [ - [mov, w2, 3], - [madd, x1, x8, x2, x9] - ] - - - type: bytes - main_offset: 0xC526D0 - value_type: uint32 - value: 0x1887D70 - - - type: bytes - main_offset: 0x1751C50 - value_type: uint32 - value: 0x1887D70 - - - type: asm_a64 - main_offset: 0xC4EDE0 + type: code + name: tripleBuffer instructions: [ + [stp, x29, x30, [sp, -16], "!"], [ldr, x0, [x26, 0x10]], - [cbz, x0, +24], + [cbz, x0, :goto1], [adrp, x8, 0x1751000], [ldr, x8, [x8, 0x150]], [ldr, x8, [x8]], [blr, x8], - [b, +16], - [mov, w0, 0xc0], + [b, :goto2], + :goto1, [mov, w0, 0xc0], [bl, 0x72bb40], [str, x0, [x26, 0x10]], - [ldr, x22, [x27]], + :goto2, [ldr, x22, [x27]], [adrp, x27, 0x1750000], [ldr, x21, [x25]], [ldr, x27, [x27, 0xff8]], @@ -62,13 +43,34 @@ MASTER_WRITE: [mov, x1, x23], [blr, x8], [adrp, x22, 0x1751000], - [b, 0x5edc] + [ldp, x29, x30, [sp], 16], + [ret] ] + +MASTER_WRITE: +# Remove double buffer + - + type: asm_a64 + main_offset: 0x64A8 + instructions: [ + [mov, w2, 3], + [madd, x1, x8, x2, x9] + ] + - + type: bytes + main_offset: 0xC526D0 + value_type: uint32 + value: 0x1887D70 + - + type: bytes + main_offset: 0x1751C50 + value_type: uint32 + value: 0x1887D70 - type: asm_a64 main_offset: 0x5ED8 instructions: [ - [b, 0xc4ede0] + [bl, _tripleBuffer()] ] - type: asm_a64 @@ -82,10 +84,5 @@ MASTER_WRITE: instructions: [ [mov, x2, 0x1950000] ] -ALL_FPS: - # dummy - - - type: write - address: [MAIN, 0x1887F00] - value_type: uint8 - value: 0 + + diff --git a/SaltySD/plugins/FPSLocker/patches/0100E66010ADE000/45CE2B6625A35771.yaml b/SaltySD/plugins/FPSLocker/patches/0100E66010ADE000/45CE2B6625A35771.yaml index 80551dc..c32fbd3 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100E66010ADE000/45CE2B6625A35771.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100E66010ADE000/45CE2B6625A35771.yaml @@ -1,8 +1,55 @@ # Crysis Remastered 1.8.0 # BID: 45CE2B6625A35771 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 28.5 + evaluate: "0.855 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - START + - + type: variable + name: dr_target2 + value_type: float + default_value: 32 + evaluate: "0.96 * FRAMETIME_TARGET" + - + type: variable + name: dr_target3 + value_type: float + default_value: 33 + evaluate: "0.96 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - END + # DON'T PUT ANYTHING BETWEEN - START + - + type: variable + name: dr_target4 + value_type: float + default_value: 29.5 + evaluate: "0.885 * FRAMETIME_TARGET" + - + type: variable + name: dr_target5 + value_type: float + default_value: 32 + evaluate: "0.885 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - END + # DON'T PUT ANYTHING BETWEEN - START + - + type: variable + name: dr_target6 + value_type: float + default_value: 33.5 + evaluate: "1.005 * FRAMETIME_TARGET" + - + type: variable + name: dr_target7 + value_type: float + default_value: 36 + evaluate: "1.005 * FRAMETIME_TARGET" + # DON'T PUT ANYTHING BETWEEN - END MASTER_WRITE: # Redirect Dynamic Resolution Timings to read always not from .text - @@ -11,60 +58,35 @@ MASTER_WRITE: instructions: [ [fmov, s0, s1] ] -# Redirect Dynamic Resolution Timings readings to MAIN+0x3DFAE00 + # Redirect Dynamic Resolution Timings readings - type: asm_a64 main_offset: 0x27CE450 instructions: [ - [adrp, x13, 0x3dfa000], - [ldr, s1, [x13, 0xe00]] + [adrp, x13, $dr_target1], + [ldr, s1, [x13, $dr_target1]] ] - type: asm_a64 main_offset: 0x27CE484 instructions: [ - [adrp, x9, 0x3dfa000], - [add, x9, x9, 0xe04] + [adrp, x9, $dr_target2], + [add, x9, x9, $dr_target2] ] - type: asm_a64 main_offset: 0x27CE490 instructions: [ - [adrp, x10, 0x3dfa000], - [add, x10, x10, 0xe0c] + [adrp, x10, $dr_target4], + [add, x10, x10, $dr_target4] ] - type: asm_a64 main_offset: 0x27CE468 instructions: [ - [adrp, x8, 0x3dfa000], - [add, x8, x8, 0xe14] + [adrp, x8, $dr_target6], + [add, x8, x8, $dr_target6] ] -# Write default values - # MAIN + 0x2C11728 - - - type: bytes - main_offset: 0x3DFAE00 - value_type: float - value: 28.5 - # MAIN + 0x2C12B98 - - - type: bytes - main_offset: 0x3DFAE04 - value_type: float - value: [32, 33] - # MAIN + 0x2C13130 - - - type: bytes - main_offset: 0x3DFAE0C - value_type: float - value: [29.5, 32] - # MAIN + 0x2C12EF8 - - - type: bytes - main_offset: 0x3DFAE14 - value_type: float - value: [33.5, 36] ALL_FPS: # sys_MaxFPS - @@ -74,35 +96,10 @@ ALL_FPS: value: FPS_LOCK_TARGET # Renderer thread delay - - type: write + type: evaluate_write address: [MAIN, 0x3CCF6A0] value_type: float - value: 0.01 - # MAIN + 0x2C11728 - - - type: evaluate_write - address: [MAIN, 0x3DFAE00] - value_type: float - value: "0.855 * FRAMETIME_TARGET" - # MAIN + 0x2C12B98 - - - type: evaluate_write - address: [MAIN, 0x3DFAE04] - value_type: float - value: ["0.96 * FRAMETIME_TARGET", "0.96 * FRAMETIME_TARGET"] - # MAIN + 0x2C13130 - - - type: evaluate_write - address: [MAIN, 0x3DFAE0C] - value_type: float - value: ["0.885 * FRAMETIME_TARGET", "0.885 * FRAMETIME_TARGET"] - # MAIN + 0x2C12EF8 - - - type: evaluate_write - address: [MAIN, 0x3DFAE14] - value_type: float - value: ["1.005 * FRAMETIME_TARGET", "1.005 * FRAMETIME_TARGET"] + value: "0.66 * (1/FPS_TARGET)" - type: block what: timing - diff --git a/SaltySD/plugins/FPSLocker/patches/0100E9001A94C000/ACBD89C999804FD2.yaml b/SaltySD/plugins/FPSLocker/patches/0100E9001A94C000/ACBD89C999804FD2.yaml index dc64c21..04e89c1 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100E9001A94C000/ACBD89C999804FD2.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100E9001A94C000/ACBD89C999804FD2.yaml @@ -1,8 +1,6 @@ -# TinTin Reporter - Cigars of the Pharaoh 1.4.0 +# TinTin Reporter - Cigars of the Pharaoh 1.4.0/1.4.1 # BID: ACBD89C999804FD2 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget (default is 50 ms xD) - @@ -25,3 +23,4 @@ ALL_FPS: - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/0100E95004038000/F77F1559371C0EC6.yaml b/SaltySD/plugins/FPSLocker/patches/0100E95004038000/F77F1559371C0EC6.yaml index 1663d45..ae46218 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100E95004038000/F77F1559371C0EC6.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100E95004038000/F77F1559371C0EC6.yaml @@ -1,103 +1,125 @@ # Xenoblade Chronicles 2 2.1.0 # BID: F77F1559371C0EC6 -unsafeCheck: true - -MASTER_WRITE: - # Dynamic speed - # Jump before pushing frame to the end of .plt, which is 0x8B3900 (backup: MOV W8, #0x21A0) +DECLARATIONS: - - type: asm_a64 - main_offset: 0x700164 - instructions: [ - [b, 0x8b3900] - ] - # Game speed math, write data to unused .bss, tick at 0x15ECF00, game speed at tick at 0x15ECF08, take min delta from 0x15ECF10 + type: variable + name: last_tick + value_type: uint64 + default_value: 0 - - type: asm_a64 - main_offset: 0x8B3900 + type: variable + name: game_speed + value_type: float + default_value: 0.03333333333 + - + type: variable + name: min_delta + value_type: float + default_value: 0.03333333333 + evaluate: "1 / FPS_TARGET" + - + type: variable + name: max_delta + value_type: float + default_value: 30 + evaluate: "FPS_TARGET / 2" + - + type: variable + name: dr_target + value_type: float + default_value: 0.0166666666 + evaluate: "(1 / FPS_TARGET) / VSYNC_TARGET" + - + type: const + name: microseconds_in_sec + value: 1000000 + - + type: const + name: nano_in_micro + value: 1000 + - + type: code + name: dynamicSpeed instructions: [ - [bl, 0x8b2700], - [adrp, x2, 0x15ec000], - [ldr, x1, [x2, 0xf00]], - [str, x0, [x2, 0xf00]], - [cbnz, x1, +12], - [mov, w8, 0x21a0], - [b, 0x700168], + [stp, x29, x30, [sp, -16], "!"], + [mov, x29, sp], + [mrs, x0, cntpct_el0], + [adrp, x2, $last_tick], + [ldr, x1, [x2, $last_tick]], + [str, x0, [x2, $last_tick]], + [cbz, x1, :goto3], [sub, x0, x0, x1], - [bl, 0x8b2710], - [fmov, s2, 15.0], - [mov, w1, 1000], + [bl, _convertTickToTimeSpan()], + [adrp, x1, $max_delta], + [ldr, s2, [x1, $max_delta]], + [mov, w1, $nano_in_micro], [udiv, x0, x0, x1], - [scvtf, s0, x0], - [mov, w1, 0x2400], - [movk, w1, 0x4974, 16], - [fmov, s1, w1], - [b, +96], - [adrp, x0, 0xb8f000], + [ucvtf, s0, x0], + [mov, w1, $microseconds_in_sec], + [movk, w1, $microseconds_in_sec, 16], + [ucvtf, s1, w1], + [b, :goto2], + :goto4, [adrp, x0, 0xb8f000], [ldr, x0, [x0, 0xd0]], - [cbz, x0, -56], + [cbz, x0, :goto3], [str, s0, [x0, 0x78]], [str, s0, [x0, 0x7c]], [adrp, x0, 0xc22000], [ldr, x0, [x0, 0x2c8]], [str, s0, [x0, 0x80]], - [adrp, x0, 0x15ec000], - [str, s0, [x0, 0xf08]], - [b, -88], - [fmov, s1, 1.0], # + [adrp, x0, $game_speed], + [str, s0, [x0, $game_speed]], + [b, :goto3], + :goto5, [fmov, s1, 1.0], [fdiv, s2, s1, s2], [fcmp, s0, s2], - [b.lt, +12], + [b.lt, :goto6], [fmov, s0, s2], - [b, -64], - [adrp, x0, 0x15ec000], - [ldr, s2, [x0, 0xf10]], + [b, :goto4], + :goto6, [adrp, x0, $min_delta], + [ldr, s2, [x0, $min_delta]], [fcmp, s0, s2], - [b.hi, -80], + [b.hi, :goto4], [fmov, s0, s2], - [b, -88], - [fdiv, s0, s0, s1], - [b, -52] + [b, :goto4], + :goto2, [fdiv, s0, s0, s1], + [b, :goto5], + :goto3, [mov, w8, 0x21a0], + [ldp, x29, x30, [sp], 16], + [ret], ] - # Patch wind speed to take game speed from MAIN + 0x15ECF08 +MASTER_WRITE: + # Dynamic speed + # Jump before pushing frame + - + type: asm_a64 + main_offset: 0x700164 + instructions: [ + [bl, _dynamicSpeed()] + ] + # Patch wind speed to take game speed - type: asm_a64 main_offset: 0x747DD8 instructions: [ - [adrp, x8, 0x15ec000], - [ldr, s6, [x8, 0xf08]] + [adrp, x8, $game_speed], + [ldr, s6, [x8, $game_speed]] ] - # Redirect DR timing to MAIN + 0x15ECF18 + # Redirect DR timing - type: asm_a64 main_offset: 0x6AA14C instructions: [ - [adrp, x8, 0x15ec000], - [ldr, s0, [x8, 0xf18]] + [adrp, x8, $dr_target], + [ldr, s0, [x8, $dr_target]] ] - # Default values - - - type: bytes - main_offset: 0x15ECF08 - value_type: float - value: [0.0333333333, 0.0333333333, 0.0333333333, 0.0166666666] ALL_FPS: - type: evaluate_write address: [MAIN, 0xB74BF0] value_type: uint32 value: ["VSYNC_TARGET", "VSYNC_TARGET"] - - - type: evaluate_write - address: [MAIN, 0x15ECF10] - value_type: float - value: "1 / FPS_TARGET" - - - type: evaluate_write - address: [MAIN, 0x15ECF18] - value_type: float - value: "(1 / FPS_TARGET) / VSYNC_TARGET" # Cutscenes in 30 FPS - type: compare @@ -105,8 +127,23 @@ ALL_FPS: compare_value_type: uint8 compare_value: 1 compare_address: [MAIN, 0xBD7F40] - address: [MAIN] value_type: refresh_rate + value: 60 + - + type: compare + compare_type: "==" + compare_value_type: uint8 + compare_value: 1 + compare_address: [MAIN, 0xBD7F40] + address: [VARIABLE, min_delta] + value: 0.0333333333 + - + type: compare + compare_type: "==" + compare_value_type: uint8 + compare_value: 1 + compare_address: [MAIN, 0xBD7F40] + address: [VARIABLE, max_delta] value: 30 - type: compare @@ -114,16 +151,14 @@ ALL_FPS: compare_value_type: uint8 compare_value: 1 compare_address: [MAIN, 0xBD7F40] - address: [MAIN, 0x15ECF10] - value_type: float - value: 0.0333333333 + address: [MAIN, 0xB74BF0] + value_type: uint32 + value: [2, 2] - type: compare compare_type: "==" compare_value_type: uint8 compare_value: 1 compare_address: [MAIN, 0xBD7F40] - address: [MAIN, 0x15ECF18] - value_type: float - value: 0.0333333333 - + address: [VARIABLE, dr_target] + value: 0.0166666666 diff --git a/SaltySD/plugins/FPSLocker/patches/0100ED7012DB2000/1A971CC40B6D5B3F.yaml b/SaltySD/plugins/FPSLocker/patches/0100ED7012DB2000/1A971CC40B6D5B3F.yaml index 5742e09..100b7c2 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100ED7012DB2000/1A971CC40B6D5B3F.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100ED7012DB2000/1A971CC40B6D5B3F.yaml @@ -2,63 +2,59 @@ # BID: 1A971CC40B6D5B3F # Cursor speed is tied to framerate, main menu animations speed is not adjusted properly in range from 35 to 55 FPS -unsafeCheck: true - +DECLARATIONS: + # DON'T PUT ANYTHING BETWEEN - START + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 30 + evaluate: FPS_LOCK_TARGET + - + type: variable + name: fps_lock2 + value_type: uint32 + default_value: 60 + evaluate: FPS_LOCK_TARGET + # DON'T PUT ANYTHING BETWEEN - END + - + type: variable + name: game_speed + value_type: float + default_value: 0.0333333333 + evaluate: "1/FPS_TARGET" MASTER_WRITE: - # Redirect adjusting game speed to FPS Lock stored in MAIN + 0x2BFB700, REF: 20 79 68 BC 01 10 2E 1E 00 D8 21 7E + # Redirect adjusting game speed to FPS Lock, REF: 20 79 68 BC 01 10 2E 1E 00 D8 21 7E - type: asm_a64 main_offset: 0xB8F528 instructions: [ - [adrp, x9, 0x2bfb000], - [add, x9, x9, 0x700] + [adrp, x9, $fps_lock], + [add, x9, x9, $fps_lock] ] - # Redirect FPS Lock to MAIN + 0x2BFB700, REF: C8 32 40 B9 E8 C2 00 B9 + # Redirect FPS Lock, REF: C8 32 40 B9 E8 C2 00 B9 - type: asm_a64 main_offset: 0x8966BC instructions: [ - [adrp, x8, 0x2bfb000], - [ldr, w8, [x8, 0x700]] + [adrp, x8, $fps_lock], + [ldr, w8, [x8, $fps_lock]] ] - # Redirect game speed to MAIN + 0x2BFB708, REF: 00 28 21 1E 00 A0 00 BD C0 03 5F D6 + # Redirect game speed, REF: 00 28 21 1E 00 A0 00 BD C0 03 5F D6 - type: asm_a64 main_offset: 0x1109040 instructions: [ - [adrp, x8, 0x2bfb000], + [adrp, x8, $game_speed], [ldr, s0, [x0, 0xa0]], - [ldr, s1, [x8, 0x708]] + [ldr, s1, [x8, $game_speed]] ] - # Default FPS Targets - - - type: bytes - main_offset: 0x2BFB700 - value_type: uint32 - value: [30, 60] - # Default game speed - - - type: bytes - main_offset: 0x2BFB708 - value_type: float - value: 0.0333333333 ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x2BFB700] - value_type: uint32 - value: FPS_LOCK_TARGET - # Adjust min delta for menus, 0 - 30 FPS, 1 - 60 FPS, REF: 20 79 68 BC 01 10 2E 1E 00 D8 21 7E type: evaluate_write address: [MAIN, 0x254D2A0] value_type: uint32 value: "FPS_TARGET / 60" - - - type: evaluate_write - address: [MAIN, 0x2BFB708] - value_type: float - value: 1 / FPS_TARGET - type: block what: timing - diff --git a/SaltySD/plugins/FPSLocker/patches/0100F2600D710000/4CCD2F6D331DD104.yaml b/SaltySD/plugins/FPSLocker/patches/0100F2600D710000/4CCD2F6D331DD104.yaml index fbd657c..8ffcc1c 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F2600D710000/4CCD2F6D331DD104.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F2600D710000/4CCD2F6D331DD104.yaml @@ -1,48 +1,42 @@ # Contra: Rogue Corps 1.3.0 # BID: 4CCD2F6D331DD104 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: dr_factor + value_type: float + default_value: 1000000 + evaluate: "30000000 / FPS_TARGET" + - + type: code + name: fpsTarget + instructions: [ + [adrp, x8, 0xd94000], + [ldr, w8, [x8, 0x628]], + [ret] + ] MASTER_WRITE: - # Read FPS target from code cave at MAIN + 0xA13170 + # Read FPS target from code cave - type: asm_a64 main_offset: 0x2004 instructions: [ - [b, 0xa13170] + [bl, _fpsTarget()] ] - # CODE CAVE - read FPS target from MAIN + 0xD94628 - - - type: asm_a64 - main_offset: 0xA13170 - instructions: [ - [adrp, x8, 0xd94000], - [ldr, w8, [x8, 0x628]], - [b, 0x2008] - ] - # Redirect DR time factor to MAIN + 0x2ECAB38 + # Redirect DR time factor - type: asm_a64 main_offset: 0x2140 instructions: [ - [adrp, x8, 0x2eca000], - [ldr, s9, [x8, 0xb38]] + [adrp, x8, $dr_factor], + [ldr, s9, [x8, $dr_factor]] ] - # Default value - - - type: bytes - main_offset: 0x2ECAB38 - value_type: float - value: 1000000 ALL_FPS: - type: evaluate_write address: [MAIN, 0xD94628] value_type: uint32 value: FPS_TARGET - - - type: evaluate_write - address: [MAIN, 0x2ECAB38] - value_type: float - value: "(30 / FPS_TARGET) * 1000000" + diff --git a/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/5CB42B1CF25469FB.yaml b/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/5CB42B1CF25469FB.yaml index d54a121..96107b3 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/5CB42B1CF25469FB.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/5CB42B1CF25469FB.yaml @@ -4,8 +4,65 @@ Addons: - atmosphere/contents/0100F2C0115B6000/exefs/main.npdm -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: fps_target + value_type: float + default_value: 30 + evaluate: FPS_TARGET + - + type: variable + name: cutscene_flag + value_type: uint8 + default_value: 0 + - + type: variable + name: dr_factor + value_type: float + default_value: 0.001 + evaluate: 0.001 * (FPS_TARGET / 30) + - + type: const + name: nanoseconds_in_s + value: 1000000000 + - + type: code + name: cutscene_1 + instructions: [ + [stp, x29, x30, [sp, -16], "!"], + [mov, x29, sp], + [mov, w2, 1], + [adrp, x3, $cutscene_flag], + [strb, w2, [x3, $cutscene_flag]], + [bl, 0x5f888], #Jump to original BL + [ldp, x29, x30, [sp], 16], + [ret] + ] + - + type: code + name: cutscene_2 + instructions: [ + [adrp, x3, $cutscene_flag], + [strb, w0, [x3, $cutscene_flag]], + [b, _setUserInactivityDetectionTimeExtended()], + ] + - + type: code + name: blackBackgroundFix + instructions: [ + [fcmp, s1, 0.0], + [b.ne, :goto1], + [ldurh, w8, [x25, -6]], + [cmp, w8, 5], + [b.ne, :goto1], + [ldurh, w8, [x25, -8]], + [cmp, w8, 5], + [b.ne, :goto1], + [fmov, s8, 1.0], + :goto1, [fmadd, s9, s0, s8, s1], + [ret] + ] MASTER_WRITE: # Remove double buffer ## REF: A0 2A 40 F9 61 A2 40 39 @@ -17,20 +74,19 @@ MASTER_WRITE: ] # Code Injected, $x1 + 0xD8 - last frametime without compensation long ticks, $x0 + 0x50 - fps target used for calculation int, # $x0 + 0x24 - our fps target used for calculation but as float, originally is stored there 30 FPS int that seems to do nothing outside of this function - ## MAIN + 0x3ACCFFC = FPS target for reference ## REF: nvnWindowSetPresentInterval - type: asm_a64 main_offset: 0x2D4E68 instructions: [ - [adrp, x2, 0x3acc000], - [ldr, s9, [x2, 0xffc]], + [adrp, x2, $fps_target], + [ldr, s9, [x2, $fps_target]], [mov, x20, x0], [mov, x21, x1], [ldr, x0, [x1, 0xd8]], - [bl, 0x2ba4830], # BL nn::os::ConvertToTimeSpan(nn::os::Tick) - [mov, w2, 0xca00], - [movk, w2, 0x3b9a, 16], + [bl, _convertTickToTimeSpan()], + [mov, w2, $nanoseconds_in_s], + [movk, w2, $nanoseconds_in_s, 16], [scvtf, s2, w2], [scvtf, s1, x0], [fdiv, s1, s2, s1], @@ -75,14 +131,14 @@ MASTER_WRITE: instructions: [ [nop] ] - # When prerendered cutscene is active write flag to MAIN + 0x3ACCFFB + # When prerendered cutscene is active write flag to cutscene_flag ## REF: 68 52 40 79 08 01 19 32 68 52 00 79 ## BL to Code Cave 1 - type: asm_a64 main_offset: 0x2B238B4 instructions: [ - [bl, 0x2d4eb8] + [bl, _cutscene_1()] ] ## REF: 68 52 40 79 08 79 18 12 68 52 00 79, inside call ## B to Code Cave 2 @@ -90,35 +146,16 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x2B210CC instructions: [ - [b, 0x2d4ec8] + [b, _cutscene_2()] ] - ## CODE CAVE 1, offset +0x50 relative to start of previous code cave - - - type: asm_a64 - main_offset: 0x2D4EB8 - instructions: [ - [mov, w2, 1], - [adrp, x3, 0x3acc000], - [strb, w2, [x3, 0xffb]], - [b, 0x5f888] # Jump to original BL as B - ] - ## CODE CAVE 2, offset +0x10 relative to start of previous code cave - - - type: asm_a64 - main_offset: 0x2D4EC8 - instructions: [ - [adrp, x3, 0x3acc000], - [strb, w0, [x3, 0xffb]], - [b, 0x2ba5e80] # B nn::oe::SetUserInactivityDetectionTimeExtended(bool) - ] - # Adjust DR timing to factor from MAIN + 0x3ACCFF4 + # Adjust DR timing to factor from dr_factor # REF: 88 02 15 CB 00 01 23 9E - type: asm_a64 main_offset: 0xEED54 instructions: [ - [adrp, x8, 0x3acc000], - [ldr, s1, [x8, 0xff4]] + [adrp, x8, $dr_factor], + [ldr, s1, [x8, $dr_factor]] ] # Fix black background for D-pad menu ## REF: 21 03 5E BC @@ -126,62 +163,14 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x387390 instructions: [ - [b, 0x2d4ed4], # Jump to Code Cave 3 + [bl, _blackBackgroundFix()], # Jump to Code Cave 3 [fcmp, s0, 0.0] ] - ## CODE CAVE 3, offset +0xC relative to start of previous code cave - - - type: asm_a64 - main_offset: 0x2D4ED4 - instructions: [ - [fcmp, s1, 0.0], - [b.ne, +32], - [ldurh, w8, [x25, -6]], - [cmp, w8, 5], - [b.ne, +20], - [ldurh, w8, [x25, -8]], - [cmp, w8, 5], - [b.ne, +8], - [fmov, s8, 1.0], - [fmadd, s9, s0, s8, s1], - [b, 0x387394] # Go back - ] - # Default values - ## FPS Target - - - type: bytes - main_offset: 0x3ACCFFC - value_type: float - value: 30 - ## Cutscene flag - - - type: bytes - main_offset: 0x3ACCFFB - value_type: uint8 - value: 0 - ## Dynamic Resolution timing factor - - - type: bytes - main_offset: 0x3ACCFF4 - value_type: float - value: 0.001 ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x3ACCFFC] - value_type: float - value: FPS_TARGET - - - type: evaluate_write - address: [MAIN, 0x3ACCFF4] - value_type: float - value: "0.001 * (FPS_TARGET / 30)" - type: compare - compare_address: [MAIN, 0x3ACCFFB] - compare_value_type: uint8 + compare_address: [VARIABLE, cutscene_flag] compare_value: 1 compare_type: "==" - address: [MAIN] value_type: refresh_rate value: 30 diff --git a/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/9B4E43650501A4D4.yaml b/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/9B4E43650501A4D4.yaml index 23b1299..dd5f3ce 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/9B4E43650501A4D4.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/9B4E43650501A4D4.yaml @@ -175,3 +175,4 @@ ALL_FPS: address: [MAIN] value_type: refresh_rate value: 30 + diff --git a/SaltySD/plugins/FPSLocker/patches/0100F3200E7CA000/EAA0B789264F2A75.yaml b/SaltySD/plugins/FPSLocker/patches/0100F3200E7CA000/EAA0B789264F2A75.yaml index 4a46200..8117423 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F3200E7CA000/EAA0B789264F2A75.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F3200E7CA000/EAA0B789264F2A75.yaml @@ -1,36 +1,43 @@ # The Settlers: New Allies 1.0.7 # BID: EAA0B789264F2A75 -unsafeCheck: true - +DECLARATIONS: + - + type: variable + name: fps_lock + value_type: float + default_value: 30 + evaluate: FPS_LOCK_TARGET + - + type: variable + name: frametime_target + value_type: float + default_value: 0.0333333333 + evaluate: "1 / FPS_TARGET" + - + type: code + name: readVariables + instructions: [ + [adrp, x8, $fps_lock], + [ldr, s0, [x8, $fps_lock]], + [adrp, x8, $frametime_target], + [ldr, s8, [x8, $frametime_target]], + [ret] + ] MASTER_WRITE: - # Redirect FPS Lock to float MAIN+B75F200, frametime and DR target to float MAIN+B75F204 + # Redirect FPS Lock to fps_lock, frametime and DR target to frametime_target # REF: 08 14 40 BD 00 10 2E 1E 00 18 28 1E - type: asm_a64 - main_offset: 0x36A3F8 + main_offset: 0x36A400 instructions: [ - [adrp, x8, 0xb75f000], - [ldr, s0, [x8, 0x200]], - [ldr, s8, [x8, 0x204]] + [bl, _readVariables()] ] # REF: 00 14 40 BD 09 10 2E 1E (1 instruction before that) - type: asm_a64 main_offset: 0x34A0EB4 instructions: [ - [adrp, x0, 0xb75f000], - [ldr, s0, [x0, 0x204]] + [adrp, x0, $frametime_target], + [ldr, s0, [x0, $frametime_target]] ] - # Default values - - - type: bytes - main_offset: 0xB75F200 - value_type: float - value: [30, 0.0333333333] -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0xB75F200] - value_type: float - value: [FPS_LOCK_TARGET, "1 / FPS_TARGET"] diff --git a/SaltySD/plugins/FPSLocker/patches/0100F3400332C000/E3938FA78579C1CA.yaml b/SaltySD/plugins/FPSLocker/patches/0100F3400332C000/E3938FA78579C1CA.yaml index f899a34..f143741 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F3400332C000/E3938FA78579C1CA.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F3400332C000/E3938FA78579C1CA.yaml @@ -1,7 +1,94 @@ # Xenoblade2 2.0.2 # BID: E3938FA78579C1CA -unsafeCheck: true +DECLARATIONS: + - + type: variable + name: last_tick + value_type: uint64 + default_value: 0 + - + type: variable + name: game_speed + value_type: float + default_value: 0.03333333333 + - + type: variable + name: min_delta + value_type: float + default_value: 0.03333333333 + evaluate: "1 / FPS_TARGET" + - + type: variable + name: max_delta + value_type: float + default_value: 30 + evaluate: "FPS_TARGET / 2" + - + type: variable + name: dr_target + value_type: float + default_value: 0.0166666666 + evaluate: "(1 / FPS_TARGET) / VSYNC_TARGET" + - + type: const + name: microseconds_in_sec + value: 1000000 + - + type: const + name: milliseconds_in_sec + value: 1000 + - + type: code + name: dynamicSpeed + instructions: [ + [stp, x29, x30, [sp, -16], "!"], + [mov, x29, sp], + [mrs, x0, cntpct_el0], + [adrp, x2, $last_tick], + [ldr, x1, [x2, $last_tick]], + [str, x0, [x2, $last_tick]], + [cbz, x1, :goto3], + [sub, x0, x0, x1], + [bl, _convertTickToTimeSpan()], + [adrp, x1, $max_delta], + [ldr, s2, [x1, $max_delta], + [mov, w1, $milliseconds_in_sec], + [udiv, x0, x0, x1], + [ucvtf, s0, x0], + [mov, w1, $microseconds_in_sec], + [movk, w1, $microseconds_in_sec, 16], + [ucvtf, s1, w1], + [b, :goto2], + :goto4, [adrp, x0, 0xb8f000], + [ldr, x0, [x0, 0xd0]], + [cbz, x0, :goto3], + [str, s0, [x0, 0x78]], + [str, s0, [x0, 0x7c]], + [adrp, x0, 0xc22000], + [ldr, x0, [x0, 0x2c8]], + [str, s0, [x0, 0x80]], + [adrp, x0, $game_speed], + [str, s0, [x0, $game_speed]], + [b, :goto3], + :goto5, [fmov, s1, 1.0], + [fdiv, s2, s1, s2], + [fcmp, s0, s2], + [b.lt, :goto6], + [fmov, s0, s2], + [b, :goto4], + :goto6, [adrp, x0, $min_delta], + [ldr, s2, [x0, $min_delta]], + [fcmp, s0, s2], + [b.hi, :goto4], + [fmov, s0, s2], + [b, :goto4], + :goto2, [fdiv, s0, s0, s1], + [b, :goto5], + :goto3, [mov, w8, 0x21a0], + [ldp, x29, x30, [sp], 16], + [ret], + ] MASTER_WRITE: # Dynamic speed @@ -10,94 +97,30 @@ MASTER_WRITE: type: asm_a64 main_offset: 0x700050 instructions: [ - [b, 0x8b3448] - ] - # Game speed math, write data to unused .bss, tick at 0x15ECF00, game speed at 0x15ECF08, take min delta from 0x15ECF10 - - - type: asm_a64 - main_offset: 0x8B3448 - instructions: [ - [bl, 0x8b2258], - [adrp, x2, 0x15ec000], - [ldr, x1, [x2, 0xf00]], - [str, x0, [x2, 0xf00]], - [cbnz, x1, +12], - [mov, w8, 0x21a0], - [b, 0x700054], - [sub, x0, x0, x1], - [bl, 0x8b2268], - [fmov, s2, 15.0], - [mov, w1, 1000], - [udiv, x0, x0, x1], - [scvtf, s0, x0], - [mov, w1, 0x2400], - [movk, w1, 0x4974, 16], - [fmov, s1, w1], - [b, +96], - [adrp, x0, 0xb8f000], - [ldr, x0, [x0, 0xd0]], - [cbz, x0, -56], - [str, s0, [x0, 0x78]], - [str, s0, [x0, 0x7c]], - [adrp, x0, 0xc22000], - [ldr, x0, [x0, 0x2c8]], - [str, s0, [x0, 0x80]], - [adrp, x0, 0x15ec000], - [str, s0, [x0, 0xf08]], - [b, -88], - [fmov, s1, 1.0], - [fdiv, s2, s1, s2], - [fcmp, s0, s2], - [b.lt, +12], - [fmov, s0, s2], - [b, -64], - [adrp, x0, 0x15ec000], - [ldr, s2, [x0, 0xf10]], - [fcmp, s0, s2], - [b.hi, -80], - [fmov, s0, s2], - [b, -88], - [fdiv, s0, s0, s1], - [b, -52] + [bl, _dynamicSpeed()] ] # Patch wind speed to take game speed from MAIN + 0x15ECF08 - type: asm_a64 main_offset: 0x747CC4 instructions: [ - [adrp, x8, 0x15ec000], - [ldr, s6, [x8, 0xf08]] + [adrp, x8, $game_speed], + [ldr, s6, [x8, $game_speed]] ] # Redirect DR timing to MAIN + 0x15ECF18 - type: asm_a64 main_offset: 0x6AA038 instructions: [ - [adrp, x8, 0x15ec000], - [ldr, s0, [x8, 0xf18]] + [adrp, x8, $dr_target], + [ldr, s0, [x8, $dr_target]] ] - # Default values - - - type: bytes - main_offset: 0x15ECF08 - value_type: float - value: [0.0333333333, 0.0333333333, 0.0333333333, 0.0166666666, 0.0333333333] ALL_FPS: - type: evaluate_write address: [MAIN, 0xB74BC0] value_type: uint32 value: ["VSYNC_TARGET", "VSYNC_TARGET"] - - - type: evaluate_write - address: [MAIN, 0x15ECF10] - value_type: float - value: "1 / FPS_TARGET" - - - type: evaluate_write - address: [MAIN, 0x15ECF18] - value_type: float - value: "(1 / FPS_TARGET) / VSYNC_TARGET" # Cutscenes in 30 FPS - type: compare @@ -105,8 +128,23 @@ ALL_FPS: compare_value_type: uint8 compare_value: 1 compare_address: [MAIN, 0xBD7F40] - address: [MAIN] value_type: refresh_rate + value: 60 + - + type: compare + compare_type: "==" + compare_value_type: uint8 + compare_value: 1 + compare_address: [MAIN, 0xBD7F40] + address: [VARIABLE, min_delta] + value: 0.0333333333 + - + type: compare + compare_type: "==" + compare_value_type: uint8 + compare_value: 1 + compare_address: [MAIN, 0xBD7F40] + address: [VARIABLE, max_delta] value: 30 - type: compare @@ -114,16 +152,14 @@ ALL_FPS: compare_value_type: uint8 compare_value: 1 compare_address: [MAIN, 0xBD7F40] - address: [MAIN, 0x15ECF10] - value_type: float - value: 0.0333333333 + address: [MAIN, 0xB74BC0] + value_type: uint32 + value: [2, 2] - type: compare compare_type: "==" compare_value_type: uint8 compare_value: 1 compare_address: [MAIN, 0xBD7F40] - address: [MAIN, 0x15ECF18] - value_type: float - value: 0.0333333333 - + address: [VARIABLE, dr_target] + value: 0.0166666666 diff --git a/SaltySD/plugins/FPSLocker/patches/0100F4F014108000/2284DFB25F387719.yaml b/SaltySD/plugins/FPSLocker/patches/0100F4F014108000/2284DFB25F387719.yaml index 3b09e7e..da3ad0f 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F4F014108000/2284DFB25F387719.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F4F014108000/2284DFB25F387719.yaml @@ -1,13 +1,12 @@ # Mythic Ocean 1.0.1 # BID: 2284DFB25F387719 -unsafeCheck: true - ALL_FPS: # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS - type: write address: [MAIN, 0x63CEE78, 0x7A4] + address_unsafe: true value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: @@ -30,3 +29,4 @@ ALL_FPS: - type: block what: timing + diff --git a/SaltySD/plugins/FPSLocker/patches/0100F6701FED4000/EBB5459731354538.yaml b/SaltySD/plugins/FPSLocker/patches/0100F6701FED4000/EBB5459731354538.yaml new file mode 100644 index 0000000..8d65b3e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F6701FED4000/EBB5459731354538.yaml @@ -0,0 +1,10 @@ +# The Legend of Heroes: Trails through Daybreak II 1.0.2 +# BID: EBB5459731354538 + +ALL_FPS: + # REF: 88 01 80 52 C1 03 80 52 28 4D 28 9B 29 00 80 52, first ADRP + ADD below it + - + type: evaluate_write + address: [MAIN, 0x6E2998, 0x34] + value_type: uint32 + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100F8F00C4F2000/BC714E2D7D32AB41.yaml b/SaltySD/plugins/FPSLocker/patches/0100F8F00C4F2000/BC714E2D7D32AB41.yaml index 668edd3..e07d2f1 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F8F00C4F2000/BC714E2D7D32AB41.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F8F00C4F2000/BC714E2D7D32AB41.yaml @@ -2,12 +2,11 @@ # BID: BC714E2D7D32AB41 # Game stores textures inside fixed size class, so it's hard to get triple buffer -unsafeCheck: false - ALL_FPS: # Max time delta - type: evaluate_write address: [MAIN, 0x1225EC8, 0x1C] + address_unsafe: true value_type: float value: ["(1 / FPS_TARGET) - 0.0001"] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100FAD01861C000/D84426C8D6B8D947.yaml b/SaltySD/plugins/FPSLocker/patches/0100FAD01861C000/D84426C8D6B8D947.yaml index cfbc4f6..5568bab 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100FAD01861C000/D84426C8D6B8D947.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100FAD01861C000/D84426C8D6B8D947.yaml @@ -1,12 +1,11 @@ # Broken Roads 1.2.11059 # BID: D84426C8D6B8D947 -unsafeCheck: false - ALL_FPS: # Kittehface.Framework20.ResolutionScaler_TypeInfo - type: evaluate_write address: [MAIN, 0x688C058, 0xB8, 0x10] + address_unsafe: true value_type: float value: FRAMETIME_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100FBD00F5F6000/5EFAB20F5C1F0F68.yaml b/SaltySD/plugins/FPSLocker/patches/0100FBD00F5F6000/5EFAB20F5C1F0F68.yaml index ff30cac..cac4912 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100FBD00F5F6000/5EFAB20F5C1F0F68.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100FBD00F5F6000/5EFAB20F5C1F0F68.yaml @@ -2,8 +2,6 @@ # BID: 5EFAB20F5C1F0F68 # Game stores textures inside fixed size class, so it's hard to get triple buffer -unsafeCheck: false - ALL_FPS: # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimals - diff --git a/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/54551AEABF6E1F41.yaml b/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/54551AEABF6E1F41.yaml index b0c78e2..0ab0cd8 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/54551AEABF6E1F41.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/54551AEABF6E1F41.yaml @@ -1,27 +1,21 @@ # SnowRunner 1.0.40 # BID: 54551AEABF6E1F41 -# Just search for 0x42055555 - -unsafeCheck: true +# Just search for 0x42055555 in case of REF not working +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 33.333333 + evaluate: FRAMETIME_TARGET MASTER_WRITE: -# Redirect DR frametime target to MAIN+0x30A7F00 +# Redirect DR frametime target +## REF: 01 04 0C 5E 00 10 2E 1E - type: asm_a64 main_offset: 0x193CEA8 instructions: [ - [adrp, x10, 0x30a7000], - [ldr, s2, [x10, 0xf00]] + [adrp, x10, $dr_target], + [ldr, s2, [x10, $dr_target]] ] - # default value - - - type: bytes - main_offset: 0x30A7F00 - value_type: float - value: 33.3333333333 -ALL_FPS: - - - type: evaluate_write - address: [MAIN, 0x30A7F00] - value_type: float - value: FRAMETIME_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/B37F6B200EF31DFC.yaml b/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/B37F6B200EF31DFC.yaml new file mode 100644 index 0000000..ffd095d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/B37F6B200EF31DFC.yaml @@ -0,0 +1,21 @@ +# SnowRunner 1.0.41 +# BID: B37F6B200EF31DFC +# Just search for 0x42055555 in case of REF not working + +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 33.333333 + evaluate: FRAMETIME_TARGET +MASTER_WRITE: +# Redirect DR frametime target +## REF: 01 04 0C 5E 00 10 2E 1E + - + type: asm_a64 + main_offset: 0x1944014 + instructions: [ + [adrp, x10, $dr_target], + [ldr, s2, [x10, $dr_target]] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100FF500E34A000/92C78BB3DCBBC3F7.yaml b/SaltySD/plugins/FPSLocker/patches/0100FF500E34A000/92C78BB3DCBBC3F7.yaml index 17cdb3c..315b151 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100FF500E34A000/92C78BB3DCBBC3F7.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100FF500E34A000/92C78BB3DCBBC3F7.yaml @@ -1,8 +1,6 @@ # Xenoblade Chronicles 1.1.2 # BID: 92C78BB3DCBBC3F7 -unsafeCheck: false - ALL_FPS: - type: evaluate_write @@ -13,5 +11,6 @@ ALL_FPS: - type: evaluate_write address: [MAIN, 0x14016D8, 0x70] + address_unsafe: true value_type: float value: "1 / FPS_TARGET" diff --git a/SaltySD/saltysd_bootstrap.elf b/SaltySD/saltysd_bootstrap.elf index 756ba521cfd0037643857d719fdff2b1408a9467..e69f4f166993a2add13dcbcc85acbb846107e96c 100644 GIT binary patch delta 1649 zcmZ9MK}-`t6ozM^Xe$=CAZ&{u)nLS^*cgp?Ag&6^0kyFhP1LM~u2^ZewYx2?(SRob zHKD$PUWi=0NwhIB9MqVo@n-O%7d4uA@F0oaCGpM9t8Ce%`)2;{pZ9j&&UX4<)%+)E zxCX8$jhb+KxuGMTL_9r$pf#f&Dbf*I2WQz^@|GSPHrY>?Z#9vr$+ECpdlcsINZ zcaGIFiTOAEPh$@hy!%)!^Q%I4i@>&E zAN^yt!YMC&fsFSBX4gm`U$KEA>2HE$q%ez-7Y?aHa8rHu26*B;TWK0TU_ z#INd1(*{jbGp%UG(lnf9^n?~S;uZ`fL-0K5R}LpqrrsAdVhL_WmS_j29WnY}uz)V)D@-ujrJ%Wjr zRwPm#Rxj+#?UGz@KBwS4i{pBDm^+HA7IT&5rz=*qjw;f6*gMLd*GDUzKPsGaNcovA ze|f)&Zp2s(Uy#;0w?U_~0jUeTc_ly}sO@nRs(H6?qnUo~Jce_jx5Bbl+6)e(Gkvu5;MPYB7B%|b(|CGH#%`%*gu)7V&P(`30_TZllb87)Fq#r{`Nz(Wn4XVx+aM;saR_8$YG(k wz?I21SeWuRhDe#9w((b314~oe<@uAs8^TWU3&IDR;P|a(PZ!m=2Bpcif2RcMmH+?% delta 9928 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 BiCzEz diff --git a/SaltySD/saltysd_bootstrap32_3k.elf b/SaltySD/saltysd_bootstrap32_3k.elf index 88b44ced87b533d8536f692793f79d2301598006..baef19bce56a913906b9db3270afdb477e98e622 100644 GIT binary patch delta 177 zcmX?;wIq9jg0P7Z0|NsS1FH#x0s}LH27?%b=tg5*MG@ziH7X0_-{-%wx?8d({DR8- zH{4S;mnh!hS13-*DXA<@iBHPUFDWi5N-QuoiZ{;IOG!#+V94ceI5*kfa0{PadR}RK zN@`MRdQN6u_QZ)=n{|vT7+Dz%fVNGZXe2y&kFg-5!RB+uVT__%fMSe53xLFyIeV Iv<0LH0GL}JfdBvi diff --git a/SaltySD/saltysd_bootstrap32_5k.elf b/SaltySD/saltysd_bootstrap32_5k.elf index bc03cf9c35df8498c095bd3ff205153c5b42c096..57c8a22ca3ba6272be41e43b870c60de270c4552 100644 GIT binary patch delta 177 zcmX?;wIq9jg0P7Z0|NsS1FH#x0s}LH27?%b=tg5*MG*t9+fT|I^ZzJI|9g5$K%lvB z+l{o%C5m_W6^avcN-B#};*;|8ONvX15(|ut;!U&lQj*dc81CF(d2zD8;TAr<^t{se zl+>is^qkDR?1>Y#HtQHwFtRcj0BxH*(MWjm9%Dg9gU#oR!x%-k0L2)A7zP3i85k5M T8yX8wRxuS|EdcTkgR}qu<0>^H delta 115 zcmZ3IeI{#yf-s8_0|NsS1FH#x0s}LH27@Sr$VOvbMUiK-9rFY8W=^V!m1@6t{qp05 z8<>nXmnh!hpIm6TdEz9^%`rw5jI1(-K;4rM8VOH+V=TzXu=$^H7^5g7P>dOfVZa}# IXbVUY0Hr7&ssI20 diff --git a/SaltySD/saltysd_core.elf b/SaltySD/saltysd_core.elf index c086731d93c6d2ce793179b89d2ad378dc98eada..d0df4f002d03c61b6bd60d45cdf2489fb603897e 100644 GIT binary patch delta 49978 zcmc${eS8!}wl`kYGkJl41QJNd%e*AK28191G7w15Bp@OxLKFlg6A}YP)jPQ7%qXG4!u2YdL3r0vMGF!Lv~LS|($%VZg9vD3$9NP3C+OxCj; z4=W|TUCIr-)jl21e6mjU;;ATX)C*nt{M~rH-l2B|JeQdjDN7YsZ`UiVe#(6Al=ut1 z>;=Uv^(RY0W7HDY_@l+zsBq@rC$T2hl&3l!gSEZM**-;LAs&v4hAr`pZqAyV;lAqm zNvtkx>EGC9$!I)o$!y$_!RqR%-YHMZHawln-BBB3{?9E5s*ADIji8a(HaTkNOm#4O z>kT)R=1;AYSWPzzd*+!q!Tt0bZ_5vVAhA9tW;qa-+_qVCbjV7#SUNpx*sxsP$7hx(c)e-l0yNx&0cW*K(X1M6U(H zDYxjY1HBTBuz2-douSRdwKhG)?h7$Tg8C+))tnW4XW^=-S$dg;;P}Qz0ARU z#jPxkjS)h;;Erk#dWF49}~uMG$6VcPEa?YBcnmXdpz;7 z^6Q{{RM zEP{xeKj)3g5mv*uw4LLxSKRW{Syr=e3%gkIk%_kfG}_nvv4I+@wBGAFz}Yy0wb@xq zW&V_?7ZRg(j@#uHOBU0L`(|6$Bd>Y;rVj6l2!uWu#$ySg4He{L{_igH=zu+#BK}tr zYwsm{ZR~d??OxLHJ=%zLPay_RQ}sjc=yxeB`W^fLsx&c$sa}|stPj5?7G`RjCAE=Y zC@)aZjJ6{^D~%FN9;x!xa@1`h$HpQ|F4FA%`w#0VtC6Go7~3uFkl|=jg`;MU(PBV2 z;AmM;0=`pMP-%aMF94$7dq%3~X7Pr7_sdZSdI^uxC|o2sr4i;N+mpE%DUNQeK;#uJ zMxR2QCm66`Cs=m_#-t9saH0Y8cEEhCUK26c0c@3%3`B>eqq5h8DVJfg$xQe%ENs$~ ztsQk8W?i^X>JTxl)59F3Rb}L+H&w5XQ!&4!2B*kTMPj>BAl&NpIoj5YVZ5()IAe7G zG3qG{=-`cFR@wd0jVwBvL7SfLDDAK1XZE>ntom2NSY%)<5*Yq!sYv~h;ByW5Tm$YI zs~#r!d;>n;fUkFHn=&(9lhi+=Gz{HvFBA@?rg)7uC9XD`Ws8ln#YUOOq8-Z|c!gf~ z$5RVe>J^sN#Jq8^G(#L#;r!u@F2f)Pnh=_pBfbOA5of@Z%dntnxh%oN(>7$~NbCDR zeEqdxR-7b_f|N3}wygAw^+oDw>UM_F?F<%$upuTp3DPGTR5}Q?)|(BoM3Z={Y%;4{ zhIKF&z6_Jix{hugbrlm9ybKGPFu8m04nzb*qW9Vx*&{|}sQ*Dc=NLTam^^2y4Fn%# zzy}%d{pnh!Ez^~yK5wcC0f|syfuW}LDe6;ZS)ox@Xq4^0N?T^j%p0pd3JhHVNgZs# z^Nk^+NEyzeKBHXQWgFrXjtri?va@GDKUsKo1*4oiyPaJvoHT>Omf*14*X-XBw3N4! zPiwRA>q`Ky94@a8wb#rc(6@2=WXg{*>?Vq?N3(4JL3>(y=;nC1&Vx;2CJMx3>; zc|%NWp70D8dGYV&Ne$>?#<8xqgT%B^e#9Bdi5ij*g^71f8PM9-yY&$Y%g-_5Ny zmU2vDE54Cf*$-fS_t~-P@o5!%oXMnp2>(!7($K!&IqREN)m?j$s8OD&xtri&WB9*0zvWUBBtczfa(E%w-b`f*b-U%>QSd0vpl$j;LF|PGondwYk zpCKj6EusOktaRB`0c2LgG95d5BG^`DlD!1vd?{56k4p5NfYLC&j;zBUSq&l+e{~-@ zO4dV>Nq98E^_y6W7lVZGPGFvh4dbphi_{n%hVZ{Le53&%sl$(tbi2+EbGtBB8fgqs zS3Mug(REkJn`PKDJkc#tB1nMm(HIdsjtXs-evM&NK5>)W;_1Qqc)&gld8AftMTbasl_X zepl{xZ36*QwdO*sZMNHW0ZbHQxOtOVnWIXXNmjfqj+H$CO@3c4w}kgkiMC2?6ESlf zRzP&ZmULkSVbF!MDo9CS>Un54n#-bnQQjYa-m~R}b`0rL79T6KgXl(hCk4n}I1)+O z+lN=NKH+(+1^#u3+>@0Zue4u7>2NPr);3a(I;&)@_#zvXcNNN{u_~6FeLTr>)WfVF zIumoZI9cjxm{@8wSB};%zPtk0ozL6C`Pk7hj(NANg1i@c(uM}ZAkIKsKIGWMSbzMb zo|bwr)gvp1;up(rA zPcOa@D~bkxbD!wfST9GLI4R3L9=%8eg6@pPB2`;;xtoaHQ- z{t;Wn^V;S?G8U}n!#h`^Qg>9!+mFUc|6w#hHo(vb*?rqqHsRO5i+;>FE?L(2#?}%qwq?1=>(p41Ho_s%$tW3=FwZLCga*^eOpz~lwWOqycNP=#<_1kOh&C&R11 z`?4XLI3!N`c`&n;SlP|KqZqefXaK^&+Hilhc4}o|CAJ@{HV)XNF#FDNdEI!jlU#YQ zr;4$ClL*LW4C{M0c4FEFv-Y-;Eb7Kg7b|(BsI8K<2wZlR8Y_9UsBHp^io8tujYYAN z$BNpnH((0E9tUhw5iDQF3lr=Kzh|_*IdA6=hKpJBp=o*qvJNmgll395MiC2*O&MOQychGWXd48**xe8Qeww3j z-QF8o7Idn_5yUZsEUZZ0+yPO+(katr)rv)wyk?B;PU0Wa|;P!5D+$;8>_yJ$_qP{Z=dEAF%{uB!PJ6I zWiQ_CEZmD8c0&)bOPoh$UV-q)W5u?N5j<8f*7EW+#~$oVqf@L;xprNCl5c;alr#l7 zqIv)=KZBN6Ay0B#)2W3&OdC}Aw&3)JmbcORgPqD+?j9t>SDqlPaHp{{gsDfO=VArS z0-xyi+Jg8)Sc=GoZAw6NnFhGmGj3CO0`s-E73*6g;R$j(HnQ{D5WhMZOQJ!@Ev%(& zf~5WtV`8h+|1^b}q^B1!K1_MbFp~c}dH<5QeK)iWG~~SIg3Bth9Dezxp_Mzzujkuz6DHFbZUItw1I`&4RLSpqU`z{*QOWm9#}Ys z;tk^w311l*AjZVaGKf%5EQS$QB7Z^{ z;pKt+2aHo1E`&$p^1)8ywZ#~pxb7E> z(1uE}PDXg?QYG(vo+(JYvSy~cFiHMP;1VPYqgWf*S zlUeP|@|b1CHp~v>$!?ig+s!V0O=tPH{c$+1yaRo#w7x>s1s*w8V7*~oi#x)uQtH-ll72V|)Ox>aL zSOD+-a;(~hwWJpc&w&A~$HEs|426LS6uZM6B}48P{JM%;-Af zwt6AoKxCwp-kqpU2i0JKwsv%`Zxkz=N>dNUpwf?(ZR~Aq1;AyNqXRsjmC-6+V)BFD zX;rJKJs)txeX(r-9O`6ntlr7s7}Q~G$%Vky3?Dk^23=}xC|dL8Uub?5eONH<&cYMu zLmT?AfoN4us}!9e?^BMjVF#E%*x;|N&s1yYELgn&VMFN-5jM2S1#DLid^oLv;-}|q zBFnB~?D|^9ld7gwU8t&M7kuz$6$sdg-u597R*#${($XflXZae`{}%P3J!z__@B2&V zsmNN&_K>@@W6Q=3B5P5pKA-Jc|1YD_(wt458eCm9fUUlwK}c$wRc}zT=4>iu?7@3M zLm9z#E%?T0ST-0Je!>SAi#gDm$_hI->_sI<4=HK?=~#hpTE#`DgY|~7wa>V!OBi$LlrY%e@S?H*@`wN)Cg%njZsn|RC$5a==J5Xvc-K2JzlNr z(SaxQc>2O$bv?4Pv9fg7&%dDo8Wc>q&t+#ROV*u;m5roE9SB8X@a3g2Y8&=1SdjKP zdZQ7cT82SEjnT4W2Mq|=On89amd`s-G`7TStp1;RW7Q!1OB~k&|5Oj12t%kuqsyRi z+B7`nj80<#(MT7)rXKGxjkn?-G2Kuf-RjG@jgY`CMB_3!CT{`M$ zTKx1}VcQbUgMJ13-UzL2hm9|sw(!DUmM9Lh0FTx>n0ky^Ps6d6krN0*!@NhXu=fz0 zZ8(GNI`Fqx0nz*dHgB1lyUB{xDxxhcHZ7;apTx>w{ywpf2anw1iNy*CF%d{K7Pg78 zU^!j?SAp1p2U%hB$-0Eh&Ll>AcstQ3$x4QI5Ef*}iiLGq(exzuW4m(y5-S*JwImT^ zU!L`irFd|)6E0yNm{{M7jbVvQEoN~`Xb_5?VPJ7 znAP|Cx^@cVj5_6md9x1NJP$4o`|PUN39tU+dv2y5`sa?6gHMqk(KJH+Mn zSj$=UQCl;u>LS^0Hj~?hX~IcQ#l9^KBn7)2GzP+OwoSP;Hgg;)AL}B=(oKwkwbQEJ zurv8ha}1DY7=i%_8om|vG@w9);Tg%D)Ir1xQId_TAi`j~i}1wgevoDaj1@5(AkY${ zyP_>tHW@whqF1*A4^kZ!wqr{_d27ZTci51Q&B98%3gXpjt!K~nY9d&A)B-_sedBt}pkMo+`kF|+)zUOtZ) zB0XOKN5rMzZt&KOTg-Ix){L2Edfe8Go6Pj9TQjC39Y$}Rc#6hB<66D^^o4h}W|Sf= zr1|L947UkKdXkwQyftG2(mphL`T~d-niXbm%@|{*o400MgS5~s;3Lg6;KPv?bzj|@ zG1N>0KFGvDW4TC+o~Lcia3HOK;qTh7*tGUxE9Ce3p#tJ14~`$rgN5(080Hj1d3&j} z7^a0V#aS|9r!v6nuubBD4iUv2q3sg|k>DJ_(=~kugjtHQ?Spcz9C4hW%R(uQvr+y7 zc2NkIc0F>Kc4bz<%*jMfZ>~^YKa;|`PS~D_1AQIkRQ4$>h8aI<#XQ2t4n)ZQ$&~hWI1@XS z>$RcVWrB;NxU)cR5CILHk2r?NF5H$%4OKC-TCuQ>{ZR4cDH&gf;az2miJLw*=0S=y<2v?zVJUkiNe+T_@_&qK< zm;nDxxe&kQ;4l~U+uZS@cIj@y=HhhcK(x0AX`*$Yc5-yxdrMq$qI1(r%yQTX$7s=9 z#W}tv<-K7phXPUbVA$`pY&!9k^!iKBK8uSd2gJn_JIi^&p~OX*^5jf;Wy4Av8*GDx zgp>uz>aomX8^re}vBM57aVbnFScs&)4;zDky6LUjxG1p^UVo1Z(S6e`sC(dv$x({% zUmkR8X$z;Ias6-?@l}gMQ6b0h64y3Z2xnW5tQ$~&)`yKYI?HmR&(s(qpf@bRr7rgX z<|!V?{kSLR@It?4BcT-gs&}t`j(^V<#s^XI_j2P7J1;6l0V9a@3={5md)^X4;#7|IE2Ik~`7X4P%Pr?|{wQvn(q% zB2I%GeZ3urhPf(GA!r$7YqJb^fywS4x1GkWyMZht3?_jS-fU_F4PY_gqL7!yvUw;< zhD{rIRFBq)blT*AZ0Z@?O^i7p6G3xhTyzz1o`T|zPw=spU0C$J)Sb57`(c+grIAeV z_yp_-!DDp8?$9SAC(G=WE5R+6c+>03g^(CulQ?f}*FI{XUvRZBF96b>(U9Km} zCYS0s&rcqrCk{?-V(1wK5|0NoqlB;>ABwNWpXsf0;^u#k$hU61<4CN#T_#O;F zwy$|pOakWFJ<*XMyd2JU3zi~NQpIqQAiXvm?C-)>G$FO&a9cSaOl1m`ZA6x z$!9JLhz|UJNl0OfC66uw1TE#_9^e2lPs3;cghXzs7DCzv7gx*V-Yr`pCC(!OCLi*t%8UKKt#mMLU3LSPJe|f3 z@q)OMBVclJM_q?mH+UI_YaTkD@2s~kwKOxGSs-=9D1lUo3qfx%mDBnL^{k(Iz-zfJR z^l`Y=it?0N7A1uU!F#7fX%ks@XksjCvu{ZMWf6K!F?154Y>KdxXuQ858VW-gsU&<^ z)D9D`lc-7j-=%2(yrIu!IjlDNvD)Z|r%3%SMfZ*5>rCT=T=dI}o#c8B2Y=P;NB__G zq$mk@-yj!5eniKo@=gL2gbV?8G<2l`{MAsv2M{J{oDTdt@UB!O?xE$YG>bq1eoxhu z=yM$kcttoveHJN%nFHaw4OW#OMUX>Qqx2THC|4o$rO^23xmW<9Z&UgN?9U|e7MXBD z+Sr?}@hMoGoC}CsFyE%Ilug^PYQ_|Kgh*N#wxXzQh6_Z&_$Xj-%1i}9lXoL;5KZCs zaSO+)Fqy7i*G;AA?G6XD~TdvajQeRtsy5rSz zID(zvZdvzJ+E|+D=wx+WKabw0`aY@=;``~W>v<5{caIc?q$`yaZP|>z!-@^8<%0rRgM3w)De0TLKp}=ka%Jr5N;)e9*t*k%tsWG z2qF3A)U57EOj~DB72L24Te>&?W0sD9=%Y!KfslwqqT8w}O9>&d@e~dZi9!M)EWbI` z7mvi-EKXJKCWQFLFH3ZUIKa2Vk0~n&9@qE<&h)6F74X_{imI$9xV7;lPACbkyvU;I zC}SJ+JHN_W#F)ruVc>-=SwbMn<2sCC(1u5gdcIazM3V<2TiHwmajj;YLGU318IDdg z@Q9ITef9h+M&8>`&p&PE)Ajs*6TiQnf8EF{M*hDj?*qq<3?1S3Is(U*GOji>wmo1l z(r8qaGX-8-EarEzVpVw?H>Y6+x1s~|RzeU`2;=Ml2t`ga_#Xy2y)q;cV4bBfrKJ+4U3b?9%nh#J%y_(z2`UoX99PH3z|| z6BpR9=567$^Z-2F+e_P0mTe_1Yj2blCJM(l7%ytbx1?&xw`?3IqXdUxSViggki9+F zF1V>i(P+Ixw~x2o(TsRy=1?#u;LNH0`Ia%#U1zoUTW|CU27=CCWPtili+ly6gFdB0UD)EtUgCQ z2?FP;bq}~d_GBM75JV-%SYh|%84145gu^7gUUdmqZf4;U5{)W^s`cx7?|bHZ6*JiT!)ye`od;|4V3z2q3u8_AjoSJ11sq0{L? zC<<1hrc!7VMi|9;?St7FIfP2`6IEope$AiWFEG(+wC;0kKD`FLDx`=#6_Xm>DWO~B zdi7lO5%eayq!jOEO>St#zLKa{bGcqFaYw(Z9W(7%`{p}}ZI9uOirqf|OWRzVJ+asp z%XHdkqs%sAknQZNlWe%}s%@QHD{z`<49ag^4Q=T=d4jElZ=9a;Bd5f`@0(G!}d;W(D}ZP&^z{{m}*$ga8d zw_gi{6F@i_&=JB3Q-?+j-UaExDNzb2s4F60G$s0{&UtxC^lc;mGj^NiE!Wu{aJz#i zX_Ifa_gDbV=ssTsak%{U8s4UTb9>sA;N&}Mc+1bhO?T8}VMjL5mMKTW#d3?uW(hXP zFv26+)cI9>h4$L~K}jM{Qt`~tZk#`#-_Qj*M?i-Hnp;?`NGsmOF^-hTl02*Jvpk9W zGCb)xmCMIfRlu#V1Zxo+JsC~Z%U7!dijqfD7^5AUv)G5D3mR3pySdc$1#XfAvB%@1 zEwhd8hwj2|hJssRfE5rYYd_F?u4dzfW$Z zOF497fqH?LAAhC;56VanL%Qk#J6RoiI5=mN7kQlU;BZ@+xy{NqITG1}w5)a_y&Yv9 z?4s2p4IK-(E2oC2o9*jys!DNU;NYX9j>@wta$oDAa)U)n7V z$Dgz|oGM{0U*N_TO*!4bX?U2s;cKk4-B-)ee?Sxj{|CgtsSKL{ZJDfP+9(oBaqHJu zvVUnW0iDu@;y9dCX38xmf%63}Svp`mr%L3O$DjiC9`@UCMDZABzOuKmBx|!I=7kC{ z0-%TXHE)a82)e>aKe+RshubC%r?4JA{-o4!GGJ-I2~6M=*2G`h-DubYSV;rDrGh~z zR@t5`FbPqV;&ygPI&-~@{W6R!f9aVSt^rn`kvTQPWyM}KRVtBXm&MA)VKg`855c^L zhA|xdrI6p;^w5u)g6LHk7bmNFFqgy78R?2}s!(q$la^osUls(; z0?fP}IE6r>iX|Z20VEhsTgv55h=5V$5;QFE0`7b%MGJcqbG>N8+y!2R_l1~4pQ{y| zGEo`NlC`9Y3@KjL23NR-(S`@M1*06Ypkg*aN2l(xEZpd^LRsiSg-zBrRk%}Vn@rz} zV~yt#Hr4}vtRmY^JH7Yg?{9de=>nP!=IC^A6R3r7G8bgT15C*Y3-YM-I~QCX4+Hcw zhxXipWs=0Tq{`c-Q@i9Xa38hfRTDBY;w>c|ub#kw%$HpVX1)!`k|ilVyvL%yNmK%aDj@h! za1!s9nuJc;ap@O^L7Q^4W1a)TTk#eHX2vF#C_fZVz>yeUb0|S$9wtYfHP%_4Gpj#B zgJr);l*KOlUhFJW{cY&PD@=AB!CvG-?LlnC9Tbb)9M(;aT*%hNf^HZ$s zf-w~{<0pED$hR0$Q9zLL`O~3P3{*;+Qpo{bk^)|2Xvu-KQ(5i|SpL+FN7{J(SuYuc zcEh4xx02c=j5c~QDAE*(*&;nftI*LEtrqF6nk|~+#8B_+i>AbvLaMc^v`dTn&5)4v zcn4r!v%2c(?`W-Pd5KAOPe@(+M4UC_25fV&OIbVhq<@uDOebB=qmM#I@^rxy>z;SGxGhp01w&TuX4RaBuS zb@*U)x&hy2sJ4Agv%W=x8HR4_dO?qbNrL27MhhbZ_e0f5s3$~&t&=v|$&h+?-8%6z zInSpS0P!4R6xz@dm6fsB;-O8gcXwQU2HPY#Vw(g+^VFfheGywDfQ+3w^&faUb((Xy>Tpohj~xwTKjIs}U)wfZRpJTWv+)~aKjIAF zPq?pEmF@(`7KyPR@ipK>+W^0c;N2R(HntUTRXdXC+crW~`cMIOL`Lh&{I5{(RdA%L z^dope<5!sEy|B110e`zbUsW;)jt!DwI{XX3w=1Jm1riV&Bsf$f{F8v!%Gan$4#BZO zg8O;|KLL1U{b*GggzZG^(>I>5>jlSA;0YIK_9f}Q2vf$Gi=T)yn5GJuVRJ#b2Gp=L zCrV*+NzU>FZWwENeaWtGP=v9h*O%j8ZLF0H9}+7`{&308 zG4~9UeE6=wk)Wl#)hNMCpGkg z;eS^tiBo)>H$`#j;k9xf$Dj0CIkY_v^?w)-PX%}((&-jA()_hzloyX?zGzQuo1dFU zt}OjDcrH7B0Ebq%S+Ndj_nNU6M&l3f3aX=7%5Pb^{1AtepmpML>@m_iDPi=vZ8p_U zIlUiI&G+eS7e=f<1^Xhj*GMaAGON$nIQ0Ua=_TV-+=7i}0q($-RD>;-qYvO#PFNVN zh^cqkaR7TvN;{3WyUU)(P1NfB^nz3x29J*Gh{bl-#Iapl6WF(5yq`q4a(B#;7CCC- zd#mL=ZLo%yBo?h-$@X~Zt^%Cm%b?+vvM;=}Qr?4*k43F%a)V_#+Y>(f@JA&Uw#k7% zrj%c(q`&nO8(50mQrnL;5HSp-7DdttZRkUA)J?odc@?T zV3ruH1*0c0W)i@(*UxjnzBZio(prBg-GLx(gX2_TFlg`uRKtnmMESwCEnv1g zRvBQHSuoTeozjp4<|?d~P0lklAI*ZJlovZMZ0jyRczg>k4`W5*TvK_0_L*cny^k<` zY=pJFrVl{Xl;bKFAyh0ipB`<-M zJA6++yf~*H$R^ceD~R5jiZ&6}lS;qxLHvpbp*0!^LsTSo z64yqL>>`nq$WFc_M-wR^KmZ!Xj-c0XX<)$r3SuU)Q#~tGQOky?B-&auK=rJ^@%pU| z@`(42$Tz|khO_8&*aD3X8Ugg~>J(=D%$quNqwdRO-s#gRVYYbDEuSR#lwmM)t@ld^vsEZ-AyYkQYn zUAYQ*akJ+Yk1L2MklMgKYHSNlRoRdwo1J(^GY1m$OqJ1YN~4TUDmZ#u2YfePO|Jm{ z0?>1!juUm9s6#JnRbaF^5o@h`Mbd6so)4y!<(U&B<_p~gAo<_D&^-oaU0>*??rEPa zFBui-`Zl*=jY&+-aKE0aH#Ffd%$uM}h$!u=<=675V}&b6mqi#pp2Q$s zp@DEuwE~!g;RH6uM$~~Nh-eCuE?&)EBi!S9SmY-v$*)t4x^D;HQ=;#CegX}z%(BAY z6l%v-ZcM^7<0&F3-I357fj9m60+E9d3tc$CfkvmBj(=bAOJ zI}CqOHWg`ePAWhe#xLMyNMj(0^g->%>Y-LB+@%%YpFSkwVdK^ChIm!Mu%>e<(hYNr zS0w~cxQT(tOtF0kZLZM%fP>3XiiLRbbsLjKty z=M(Ozz206((x6__7-m*|6CS+@k<_mLxzs}cgVaLK_q0V1jKa5}Sdlskb<^RPINZCS z2NPB4nxDT886nO!LA5eGv@6tQwhX(S%2|K!7a_7qDCBwD+5M(T^kYg{3_v)7DMvAMbYRB<?+SUDL99mZ4KLDdEPqBgVUY97**n!!V0029@9 zXpnB!kgayupH(y*@dPcZ6G* zdC22R{4VuB&{~z>SVHM*wENfnTc#T#Bu65|cM&rbK2$}pf=G#GUw_M$<>xzN!{3r*v_r8S$4l0C)@Bc)Jn_xmD`|0_!eGODgKdZd?AQ=| z4X-Z<*{{|bYwt@9F?>A86)XLS;s;@Z^*yxFzq*Y#XutlImI6v42|Zl^Nl==hr=uU4 zKD~*it#CQ2;LDSwS~`gfs;A$fu&5(|lXxBgbp`DsC zB;d;I&UT%LYZ8`?8N^Z2Q=71HC_kqy+_*;cC=0qh3a3rAQlQ&&8`XSDo4QXyk3TYc zoEk1^Sp_Cm-B_?mIDb&w?TJ&h{PpSDdygd!p`p5ex5k9f`t21tG+2h&8B&Xm9 zB`u`d8*q+A@-e(Yh%Vku#FS6vSkP!P=USPW;2I9e#X}^g+qabB|ZW z*+Z@Sd#bS6&~7PNxHn9jP3hQ%fop5R&E@<3H^yT)H&x2opZuO)#1{N%lk*J>GFGZ( zs&^$5tPMN4$hT0LR;N15I=@$^{H#u|%{Q3E3pP(1DX6Ezhb3SQ>t$++V!yx-O~P@X z{t=I^O@6ldwnUvHcQlay6TT#Ovv%#z8hKUgXyixDBX~6VBi^;-&FNZIT?e0!*G;=h zh}`Id^9}8Io!bT5@2R%+iW|D`dz=L05DlXR;lWk7&n&kHCO&b~Rl1h8(fG^MJ)V%k z?N1FcJNfuiV~3fYWHM8EVlg_G(kLZjNs8ftcAHSgZ_4!aQ`b>dKSVzM>6z5CD~h)~ zeVbYQ^Y$f>h(j<{W8k==j^HY zJZ?$5IgmsHyGpddTYjT+d}zyXD~V3Kuw{UN>~uWeOR_dG|4?o83(j~U=8M|g7c$J` zLzk1!T~7Y~a`My5$sb>^#bXBYCtuQRTc?=GySIAMNwUHHeN+q@{|~>1mqZkV6|`SF zxOJD#Sxx;M>>goRAMC4rR^O0t5wdwcx3{)w+xB?4X27+vFM4zo)=%@jI8pxyTkypK z`h1_CCBrXZ4Z9FNmszoJ!rqslC*u+t;N^fTIEEzn?OkycTwDXrt$-Wts+juyb9=d? znV3Sp$3pDMUnnE^W3iZ4{nEtrbnu?Op|6S!9{&&f`>OOZIO03McIc&5rYt=#-x!Z5 z$6tL(d-~;DlluX+b$>sVToVaKyZG{A6ZP)x9s_mf>)R)C9?>GNZ0avwBd2{#2Zlu| zyc*rwl@R}+G*#R2>R=w(8G1E^V_kYt`*KHRcQEoj;^@}(eYIH)(?O-aVW6b+)81() z5IC0_Ztfjv?c)}a@9a2bW;zk`Hg3=x!0c7OotICkVilUDFb#Vxt0|SKb-el`mN%)lzTm@PAEB#)3H+1D!QE zXi8R+wcO?b0OI-~ebrU~U zOBStpOT}~%#*yIW$NT2Uy;Xj({1AeZ5BWvu5MHhv=s+MU6H#gz7V zdt-62Z%26|YoT%ludkLsH}ag)7TO-k#ccIo39OEA3AV#Xqn>s+cu!V@j)!ckxze6 z2$J)ypQv5Ge*mNfs?>aT#QmBrH8{~8e5+^@C{J9@Uh~c^)t=m6mK$=`(uaif&jQm7 z`sdSh>cvv=hc|dYtyYUa&@2VVYI_f)$74YL{f11fyv8U_v7;#=i#jJ zMyA*ZN3F5mnO3!S9IK;^ANrU9YdkP)}CJF`s(l5n`RX9{Q7( zRNx>$!umAlR8k8DMpMa2f?EXK0UY_HcGcV83~Cw`&+1Z>Wwp+OC9cF-UK@ERD>pO%6%+`re>}VC$2hjEsCNHE^fCmFXIhr8 zKT^C=TY9Kj0?EPe-qmfn3%uko^?vQycdtncN#WWf9EkKP!TfAiN8R%Twd3#Jo7@C= zAC4|NP+spz(#rqzHy*FK4i6r95`(rjh_|kBpdcZJqUK1A;S#PM_jMn-9+s+UzdC&E z3QP`6Dj}>kV41aMYLC75P6sAo5nX`^1-1DSIxy3;``(}Z%a|__CPD^-lM6e)eg7ri zfl35Bny;khlR8iz(OUkjIE>zOAa$WPU;Fm`w4KXCoc|0nm&kSNAeXGEA8G?rAjfK` zydeoPg(>JCNK0v)3^SySD<4duk9OUWVclWd(5t(FpVZbK8BC+%rjOF&g*XprZyniq z1>{-n-jDoOKS*SRUUW`k==rkt1Zu|4yZ-hf z&*;D<4V!F)H*od0I|qK&om;6~+w$iOE4cG&Hy>TYKh)kox;GO8zz?H$F?_F^!ED9a z5rd-IGg5o??|Dg{Bp0m?uo{>tRscIAe?P+~%t9^i$|RLtJeF97v>o4EsmFL$T0JfL zZqHj{l`Nx-;d|#{JB!}VSY5?RIFztWYL&Ec;T(F*3+K_}QT?$~e;f;TB_N{_13gS3B6qs(|)v1xUnyzh`jQxT;yWwlw zH1z~~2R^d!ngNkooFEh8_ERNzLoIGoF1Ggv;6o%O_`@>FUmGk6R9pFL+EAVx2xoI^ zU_cx%NC;8{%F+Vmar`mL_>pP;R~#Q;v4(7WN&;!!xWgLCexoEXp&PGH43$D~+vO2~ z6Ww@GkB}``(hdcMvJaL7hIQw|r-$sx_t0yjA={yn_LI0nXRn!W4_j8-iuaVX6Fi$O zu-R+yp^gpZ_To26+S@Wc4SSP(Hd~?3_B))_TJU=1i@@{9!|^60m(xS#XoDbcpav_f zu~E%(wD(hYUWU^5^wRos<@V<%cx`XsSsp40+?j-n)q?LQlX%vZoHi$M1zY|~-@t?( z{N?0OPH?nZtoZC}hOMOaY;K%^w~&nHXMcnk6?k!O#W?0rIajQh)PFG0ykyxRZE&K zq2m+7LNHB5C-vvi>O1T|C9SnhJf-J<^T2$2(HTAcM)iFA#7Idy!Jw-#)CfCI(f%EF zRx{5|jb}jt4<|irqq2$TYwX(|U2C^pXdaQx@8FK6STDKVc2Ot|7ogVKY^;nv`Ia*9uD9irD6R5WH z0aGL8SZ-5Y!m@viT2QK8uCRso;zMWPjTNpHPbw!oHpFK$g+?&?^e|cr9JBMRKFG;Y zqW}3YuPvOp*7o;+JCCO{I~@FWo&xkHd$P{FXr`$o@T8OXzm^Kh=^GM>rR`z6-tH)g zrGCXOjH5Evqg1SpMA}#>iF9fwc#qP+znt7rh|trevN;Pb688x2Rve-aJP`Nwm*G^q zD=XLL@SBT&p+JblyrLzVO~2f17b4An&Efrdhw=Q7%O@sL6%KQ?!%T|@@KTIY#>O{4 zI+%~K=$K&rKpwx^2QB$0WR=pO^Zya{P~_0lN2}-ACk)WjTb9ALhUn=U*w%#Mo#6R; zdVE2r^1{;g&z8-#6V35OI{cv}s3+@bM`>yMJka!7<_DGygmXOIA$!#Cs97 zLeAj$z?NZrD0Rf2oxId$!wCBGFn*iPd}?W6zjpld3X{Nd@d!TDM{Ks8W3TUp5xet+&rz0DQ`&wJ`l5C+6}|j(_>3*fP*z(S_-X`q zr;Ea5uZ_fqQhI4%_DJp&tlEtdTaVIqJA9S!&0tLoO*UUNV>c+- zHtJMttIO?n;M1Gqu?cH!mr5#Z$By}I)FrA%t=k}AyV31zquYOf0QHP6@Ab`}Vb3=D z+z#JmN1wxxTRmikLVGs)ON3%5%QoadeJ2?C!)&APBwzA<)c0%ic||Wmu%BcjsqYB& z1I_u|*)a@`4%}RdG(#(FYD>KJ4(w$V*=rKy2GRf<~HdF?5W}hkzj2p|JDTvq)mbNE5e75)Sm8FAtSDUD?

m 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 WW^Co`iWcXB1NYh5N;5ZiHrPLG2D0q{ diff --git a/SaltySD/saltysd_core32.elf b/SaltySD/saltysd_core32.elf index 3ce5f778083289fdcea3669878c54048afbbc607..479943b03d407d9bdfceb840456e1bef0bf2c251 100644 GIT binary patch delta 17835 zcmc(H4_s7L+W)zC1{?>Z%byStaa1%y(m~14$VMeYBOU%^W@MyP=BknDrmi)^9}Nu> zJt$NvqqXI_R_IW${>(-pGhb{;*>YQS@633W6j?I1Wm{I>@45FNqw8+(@AG>;hy*uxlAO7n?0{iAeZ%c_Q&(S zLEsaIcR(ba95Ot57s&S^g;=Z}cTZ2`eUPe0wa`d%dHoRjN=Rh-lS9bmHd3V!vPmvu zty zP;_R8SBP_XnVuP=G~F|SiDdNz5faJxS<-q>D7`y$=twi(gi(yUV<5TQ($jM(miPGt z`aA<#cCHS+%}+Q-H$*&Zt6mLJ#OfUhC7Q%4#Scod7un1Cw}XGkhyM=e4+npb4}T}; zhl5}4!>{E0D5#oi-UcIOdUGx7{qWM4vd!D*^MjU(D_7HVgTf=9=T+~7h)$tTmFHH| zpvdsZg}ityiW_~3pIA*Nqxex?oQUFge2UXo(`Aw2;zO(H`pBQez}2*1@EDP-rUwR( z6N|^u3xj8dbfpned|D(q4-v8mIB^=C8g)tBwTg}zGF+@&MKgvJ=sM#G?KfnkxO5f0 z25#;uIy}0-786fML|Bz#u-v6EAM52(#nAMyN02tj$*VNeJ_3!pLaP)OHjF=k^Hab- z@5489{`25B`S9a7|8ejS`S4>_5u56}6)4!_QxMG?Yy`jDhabWDTfn#b@IyF15Bw!Q z{6Nkx2Y;>)-=Fh$k~@eo#ixMqf_Krt?8E=b`NhzCbn^{nLMp!$Ny864JxRdT_hF<1 zFM=fwoy2GdT?8C+KOt$rZOMd$0Urmyr4j7_IVjr>9A+UT7q|>K9yo9coj)R49Pko- zWyBWRxYG2D>m|+nEFxFTA(tP#ztj^kY=~InIX_psth$+I`sjrEB*ij;5YFsxmevuj*+nzjD1TO>XS$oIY~{Wkg-G2 z1M53>oM$rhrX5Ousm#_Ig+xJ288R_@Jy6B1lfIG#;uwKMHvZ;@@d;H*$JC|n*kM&l zSI$XyNB&8-&b&#EaFi-h2wx(dRz%Y#*=62>kWKgA13NU7ol=CdJ3U<{W~V}r&e3#H zG#7f*dXlXG%%+PjbAckFK>`}+fQJDKz{DwbBgWF682A&;>-k;Go9xXcxbU@7wGOj|GN(Xo+axn1VtOk3%bY7u_^{kV9YU# z(Ig8I<0qks=`5zBP4aOC`Jik3dtY@{*5S z#%FS~AeY=I*QN>H)wxkfi-%Cg9Bsn0kn_z&LCW{Iq$0&;_D7IsVr4^& zBJi)&kv_+pA&|(!5=guHh| z3Hz){33RcXwO!F!d&{gP$Sq9xBVM)OdZQ93VMn60dtNm6TwtB*OeZd4WWLD~JxlVe zK2z8a!(1me|QTAkkN2vOqqLv6L!-2!aTVY!N}A z4>)PN;v!oWq53rsd9CzH)3B4s7O%>Gxz=;p<=CnaJM=GexQ*a7Jw`4I=8YaUr2FH& zh`CTkdPLq_r$k`rvUFibJ3V>a{T)(cpkoI*+@UbVe&y>Nslda6TyCIW%xG9Rzl72z`yPk@Xh%i5uwJM!a8G4L8!eMTaQ@>iZjOq+PItl z)jK6fTy_tUH(q=Z9{npz_NJ*Gaag{pSZfC2{TA*Kdfjtf5xB=!5qr-C1740Pb6c6{ zu`%=XH$fZeRr&M^a=APN%Rlo5nQ84Z!8H2l>juohEaulKqWsN8HkZ1{I>nFq zT>9oBi)U7*lMteaW!66JXq6(8LJYF`UY)G*S$MKCHNH*TZHkD-+F&YC8{aB!gIL^J zd*hZ_Cf_4iVHudU&oXv(FtwytDFp~<7R)~v$O5t1F=uX7N2+f`6PFgzNj#$4uKkZA z`j!Eme2ah{!UEd%GZB6ApSO?#p9ibx8g??xL z?Do6h((iIUQ!ZIPQ<~;!a@s6gZRjA&+a(aAYcU%E+6X4BRMAd!vFS)_C!$Z63;iKA+<`v7 zqmLwwupLJJ6$4IRF<=~u0dgB5>F%F+0x`NuJj+dgxloW$BA4HZ@o8djS)lBPmIM+$ zL|gkH@Q2xDHuiO{az0(;D|(mxyod$8%e-0Xg1mQlo84#=m{%nCgXs(MUZsCa8lcmW zM`^!_Lu?UW^v-1^$^psl-o)FKq76Ym#8klhVHRO4*nG?8T3JXG z$ptSI%FJ?SNWI*TWV$76>iLFwM=rGV#1O=ve z$l#_cB%tL=uR-#XwAk}QqQmlFBUTOaeu=t;?~xEYOx`TC*P*@IHm^wuBybHkX7cs6 zwsh}5Fqz!k*o4Mx;m;aZ=QX(xk#cu$W5e~v>E5m4`W)2H-V z*4B2D)*a}qx8r^Ns+2>fa?H3a1nkOk)2A1<`v^FBi_Y!;q4PyPZ4dLdHeZtk%0+S@ z;)$7^y?HW(kvzOXnZupeDlM4o*#VE z!+PZ&C?j9%QRC`+Y3KEzWFy$$oEB1$Z7FiB?A@pozlj_D5ZV>{QE1S(&0|mLiY3gUDk7&O9P}W%ka%M&vIowG_(5 zBQEtp?cd`1r^hfjYEk2*<9EleMmxkULJ^hsS=rKBoV3fnca;m!2Y zOTB5QLV4Mz9r9%4eUY{ox%3xM)LqVOhwM67JhKNwSoHp9WnY2AV6UmP>uKO|1|JM$X{QcIl_@+tDBtO6mID$kTxrDuO5X z)uZff|A{yE;Y|ZCvkSZ+xT!yRROprW!;L&uUi-D@nHe8LS~dtx z&3I1m-adaLPp$W7@O;{;^}YppFD@X)ST zNLhkoT0mzVmbHL9fE5r?C)!9uEzZ;yqXBR^a2jwfumqe4-25>z1#mfV({m6GNWrrK zkd0^8MpFi&G?P0cn6#K+^%#0d!5F2d0b??GpWVN@UDh zNjovy0Bpbxlb8Y4Ql*2uimc~wuK=IQOTwlu!9ySpTG?sctJsRLQyIbTjY zh^@EIyk6E@LzNEet604t!K0pFb$C-Cnsu>wiFN`f(aoa=+B&Qin4TQ&9LAMU6ABa5 zPX9MbkA;*ZoNVy9 zQl;^1Fvgi%+-bkZ&Z{$p`VEV%Qo3aAAzdTD0 zGH1%f)#%x*6Xdd}VKOz_ar}`lkANYB+wAUPP-<-&6;l`7XM*9`tSXqN;r8Vy_KZiA zwS-KHO(<6;L%$fo;*E#PiJ9W$1WuK9c}zls5}Qz@#M51=LxqX-Nb1-L5x*5l-D^lL zdvUC~5qsp{h$Lzc;&6jVvH-64;4VN6!^N;C@a-{l)QkzDaCJo{JfOYQ4Jz z&t;5{=i7`^I&U*h!^O^#EBb(XT<#nJ)Z>EZ2%!Fo5!eV^jy9EO6NU>Nc5`tCVcL{` zlFptvNVEua@yzH6p_7X|rl%T|J*IM{i%fIpBOWKhVc4E}hhw>tEWDvqnNBG+SO~MQ z7=m&PpTjf52N)1tpJQ}khq%Q+-7`nq7>A8FSU<#&aQyZ!k+zdDV!JI%+4T#{C+fhB z9Y&RSfhq>M6uLd^A=pD8S4HkIQANVVmJXf?jV|=0nAt)Y=aK;@uLKcz6Bh|=nCX$n z&X`WRyG&Eu9i}7hzvDpWjJe8RVW~(@-*{+n!b0`bafedPE=~~koe-@q#L*2dPn2#` zp)zq;{dLnAXu`uog(Woo;n3iTM~Fna+ZZo^Jb($%HD#$90qjN)$<*yy zSfxmIc-QW5hanQ!r8Ya?iA~t1#1Gr1h-Rur1&fFj-0Ke@4x2l4)_M;?IIu8iLI|+z zn=5Tox=bkug$8#5_EAM3TYyibzngW3P)*&l?g%QuDQ%S* zx0uL3orH$ZjvK;a;{-;`ZIFgDu5ZJDqa{Z@rnnQy^oiLIid_lx-PvP|jlt~JQ*C!{ zcKGep7&L6&XOYVy^-aid(Eiq;K}D$O)5!$uR3VA3wvO=YHsvcX(p}cjAaY}sqt-Eg zOpp0AA>9;+R}>Mn0mzM&bXfYmwj5lK3Ks3-5A_2TcpwJ`e8+N3HPRlF_8ee2s(b-8 z%5Z{c2GrmLaV=mjKo2E`Ia!n9m_&AG!lqJo3c%JSOqGXFz39g3 z2eT$*vg!+Yb({ekFW@;EA@vP#8GI2BkO0*?uwn(I0tldHJ5m{os-5Q;z2qDOZ2MsIza9-^W@hf)sli zg0ODFkY{&a9XO9+XEEQQ4%?C6hIf%U?>u-dG-2CdYMm1+p8A2VnKNrt9s1IfBBek2 z_z2GiJR9+R0MCJV4#4w=0knNi^tkuHN(L*8%X=HN1+;Z^!ZIcp3QF z=-32)Z^veIya;@DDiaHSZ^wz~cmeo{=peqY19vjyXM=BoLT2!L6-t6aa{_E=0H(oD zGfD<35-74AJeD?@GIIjS&%nyv71^Nu=Fx0_ZZ(@tht9x(KwH(_=ud0-ea|IM7Q# zCv$of=p4{VoE{E33p5L!=}hBjFjB#gc!fyN$)H(Gu<~%wX3%E6mZ@0?QzI;eYmVIr z;VnkG?XlsapNSrPEIKITQEj)xE4nEei7y&y(7Xxa(?&Xd-f%J7NEgo=C1x1u z7BEwc^u)a3{>hNnK7d|D`ERe%@W+SG`e}}K`^Ux?(_#egaXxw+j_0*gwM4f{)OI{f ztF2diF3%oXq>jngu*=Iqo?-*9#YERXK1y77m45K}aGMR6{|^NG`3n15LNFP;J!5Bk ztyo{N$#oUVI+3PQvCguZ*xqoH+$a?)O~_O0v8HRm$8T&K#Cltd-txg~d_g-*V-fQt zG;?7Va`;5hLPS+2au3pgcfqxu5trB(bj&%W)gXb`m7Xv#OAK(J$Q5Kkt69xkwA~?hYGgx#l zIsnuG&fJHFjXgb9oa$OI8`OQ?)02(6)I3ZzD*(C3;}#tKHU)sjrn?&_tFc&hw15|Z z)7%;ydqy1V>B)txX2>=Hw*lvF!(6(}2If|5KLA-^rU4uip)qJHp7VZ*btmxJawvv| z*^|J766L^ilW?p7e4OGa17&5A{n{RxMKGKy|Chwm&t}Np~6OkAZbK zR$#Zv?4rbgL-Am^v_?7&zomO6x?}!`k!g@nU}Bd~`5qQ@OhN&UdTXS5H(PVFFP7q| zdw%HfCx+&Gh^tTuG3U!Qq}~l{;W*7St$Q;p0$8z`20b}Ov?S2UPaY6#^!q16C&z$q z;4@`BRs?K*wwCqr!oaHoFWH9|0iF}Q*fKgbN0qlc=U})QpL;c9^{HF4hNu5q1( zKeOGPJw5cp`N1Po{|6q8WgfNN%A3$zhW?PKE!1!rUAPT_E_f?JiJZEIy(HB zbH)_BV8pXHk9dX}pIs*Atfy<9ohNpzbAJ8oD?(8DI?N7$L%G03bis3zL_-nX`COdX zSV&JiH(lIbNJAD+ACy%H^Jqso-rmuNY4uVCePQuEw&Y>R{$_`p)nE(TD9aYbB5hF* zdDu9`_=NuWn%l&-TN#Kb?Yoeh#-S$^w&*lrkAzoZatO9(ey-DKldXOgNDyg>s6&t! zn~+@y`oLUalT%PhkFTOwMJqmi#aXj1#Z>QSLPys-;RiR{;ZYW{%#$hRuap!Qj(iZt zs$d?%gcQ1ah=eZ!wm5XmY)>H=)f0EhDF zm%kV%=H*jy$t0na-nV45n3PW!FZsCt)iw+_98gzMVPz;yUYaNVzKwpcG&1}+3YsCS znILSXQdoYIT;E2|E!{c!EfisxUW)fA+6ErJ7P-_g3JZo2SiJzJ0t}1>5G*wGz||w^ z!DW-gm)q!%%c2LZRC~`-x1wvY`edEtffuE2-%_8K#N0OLyyqv0wk5A%fifSfp^?~4 z0;*%NlmfOwW*8s~!1~+=NCST@AmwF|Sb*o=fyE2>7Jwbl3<$#=Y%*3lFCox>NoTz@Pc;A1x%Z`ybu+t$VgfLM4crFk1f&dv!oXR8)@blvgtB;M zyfo0sfD}Oa?O2lx!P*j#G=%Q`)th2WI-S1u$MD#6Y_6f^c`IHGSM9~XF;O(*<%2;r zdD!#Lh8LiZInNpS%0bbuW~rX6pf9f*LA&j9#l)p_PW~*hdI^0uKSRt};`}N9su(mC zon-w&PXeJ__H*>7qE|%eIl5-u>&CK0deRz-RpcTXvi?m`e%ATH`sJd(Ap|Skr|GB- zZ;H*i^yr2O;@n*N(}rzg_d>d5<1umVLOSoYbH>UAdLjow%^*6pcN-|Wvk9b_tDAwj~dOWLI7uysqw&%{;n$m zb^}g-=TRXf_g+YE6-eDAJxRq_Pi&*#*2IbW2@nQPkg-0n4O^~ zOQNu_xtC6@Jr-1lZ`B$RkJSLjU}t#U2_b4xIAQ}IoGk+ABN15>;Z!^~Ch7^beiY`E z4pxehU9<2$NqSX5(zXJxH+v42T5H5r) zg7eIXgKjK~_Q9Yrf1-y!`@p{wHeK{B9!Js2W5xa!kTri)$+XXl{YzkN@<->lpHCM2 z(=2$0Z=BIzJR=xeCPQ;96|%l|zJ4M^@Na@?Q~uz5_rE?6{PoFtVn6MicXFc;(g~a9 zof61CoML6;`OH_&AHR$i{8M0)x+Z62({wSq2o~u6QXoa%o}NTz4LrBPBJrTJzof66 z+HJIhY#E9!CphCy@6?Slz?7}y^`r?<2}lAE!0~ZTkzC3+w{q)xN(|xJMYw=+=M2l$!-oj=+=wX#|6xh_yXc!rg*j9;;C? zahI@gnEHsyYf)LU-1VIS>G=3WT-;ecX=TxtSMkX%VW5y#`-fe^?7#t0_@{_%s2%|v zR-5pFFjx@UY9Ibk_=hM&)y_B|jGrl(DqikJ6I1QhZsA4UZLE8y23O&uf#P%VIuNym z@!}t%#meN`c@K$)6U6TKY9n737wEi`G3AUo)Jwr{YJ3=kBQu-yojQeOxAf6sWs< zjJdXMyI8Kb&6-H!F}U$jy7s%72KRfdAwc)K}&|G$>2 z?HX*n;1SXwd@7U+n}m(RIw4b-Ej%PVDBLULlN7-sBnwGGys(_yEhGqc33m!ZgoT9h z5(P8(cfy?s!t=r}gli;)WD2u{8A6J1zc5MIER+bZ3I)Q;!Ybh@AzOG<$PgYDQibmn z_t`&wokJcZwzJnpk+av>AHuOlvAi{0X% z0>r$RD%{oLgPUEWD5*ftPv{ z50|hc`6gZ&cxH`J1A>ZW=!c+yS0PVn?M@eJ7Eblq{S zCkAEO4?VM4C=~^`h$LoP?bK>z79wpqjH6E)n*aoH;xUCyzC{_Sc6r?U@nN*I`IJR<}$MFh|S8?3H@o|nDIo4B6 zo`K^)hFMrhoDs%x1jkVvXO(LW=W?9Q@ga^~95-;>!f_|ZNxQW6$sAiaP64*5Z^#*G z99ubFv|DSqgyTGpbAGMyb2(nbaVtKVW%AlM?%=qS<1UW7Io9tJY-$6;KCNNXAq_Wk z+`_TU@p+D0Id0>ae4@3}bKKCP(Z@M%k)FSu0<~@mh|LKcw<)q)~eyO&m9Ke1_u|j?Z)4%5g`w zCb*O1ZjQ+l8eh+`f#X1qcn`<>IIiZnhT~?AJ5`L`W7t})VIs$kYilReiE)8p zWcSX)r^@my^;L~Q{x8|qY_ld=_U|tV*w!RULsl&&r0%aU1b!`72uWOxSqO`)r2oPR zeZ^f(;%OWHDFnGwt3l4Zj!l~=T&HEwm6#%W%UeMgV~XgdJ3zb8K90BV0&Tz4Cy(F& zdj+P&-uimb$Nl=~z)iUBuoU8Yf(wvP!O+$xAPjU~Q6JsNI>cnwD=-4(O_)40BmVMc{`AB7S@GsE>ZNCMsHqhK=Vv{8Kuq<~(e@1xT| zC;BL81syh`ubgcDU1)9DDKShxKe-;qE_(=B>q6%F1WS{n*vB3qWRDXW2K>~6@MSGx z`eQ=Me~0n~gq;5n#|kJrei;7|0dQ9}hSo<|>YyF_6@eG^KIGPI-XC3I`bN|X_S%u( zh(q

pP8qZm!-~VYwd4)RGmeU(9`S;q%L%9zSkO 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 W@RK-mC?X)DVp;t66>1$*YW){p3lzlw diff --git a/atmosphere/contents/0000000000534C56/exefs.nsp b/atmosphere/contents/0000000000534C56/exefs.nsp index ac81c530f74b16983733ed6e4044113188c4ecb5..21b9f11ee945e4094e57c48aa29ca6398626ec88 100644 GIT binary patch delta 31293 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 K>)+UW{C@%Ye}A3; diff --git a/atmosphere/contents/010000000000bd00/exefs.nsp b/atmosphere/contents/010000000000bd00/exefs.nsp index bf607c0d3465b21a707a7552725ed8f19f091cb3..435568d126d688808d17fd6d3e3c5fad01818a3b 100644 GIT binary patch delta 39297 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 delta 99 zcmdnfDY&Oou%U&qg=q_O%LC>WHqz7EA21tAS~4>*FfuSOH24cK98l+EV91tX;OJ3c zV3>aK0rO@cpMk*uL`SB B9ESh^ diff --git a/config/sys-clk/config.ini b/config/sys-clk/config.ini index 6d21803..6dcec87 100644 --- a/config/sys-clk/config.ini +++ b/config/sys-clk/config.ini @@ -2,3 +2,4 @@ gpu_dvfs=2 reversenx_sync=1 uncapped_clocks=1 +gpu_dvfs_offset=0 diff --git a/switch/.overlays/FPSLocker.ovl b/switch/.overlays/FPSLocker.ovl index 9ce3f763e527438d5a5066584c30fe86127a5d36..981f32f3528b301855b0ace786aa79d4953e1317 100644 GIT binary patch delta 415726 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�Ef@ z-o5xj2Y7{Ho*o2RVz#+u)%;0@vpfBeg+F>RCJS=HJ=KkWugl*#V#?evX}s&_IYB!39`3=A{;H#4Ev_DnXphq^1+IZ z$y#+ihD3zkK#vI~bLc}rP7Da(hRoiT7RjpQ%CsC|-Yxoj06sjJ;luQgiT8;OUFZdz zsB4l{oR^}@Sw-LrdC~%sBwD;X0{-w4p^5i;Fjy<4vSo~jbp67-QoRDF8Mw;>^EG7M z1jQ1x0&)8a!4C3xdB^0e>SlbG+SK;>`~W8f5y*XD6_4u!NWGe8kSSPp=m->ND!afh z*HtFJ2wY#lu$6}+G|cH1NtLhOZOMlP%sTY&a#0R=-HU}uneH|9Zjx|8><$6r2i*(0 zKzfC}aleT@7xY6mel>DJ;R`s^EEfN)EhJLpHsiwJ#t^iJI}Nw7-+;A^ATy~!N{|ZN zutRTPEo|ByI!MF^d4T{&88=w`<75L;g;Nd&gYV?ubC_)KFx08@$dC=?m~^nG7&qGi zBhJgE40M5N9G+4OBx-Rh3Z=XOR7=BUQ)E*ESlE8MklGcpScv*7d6-!F2a9ZtIi3jl zML-M)3ooDPy6MbHFOD>&EaykN#fN+qzd7?^KEOEs`YjISJ1{%hCu7m>OyX)}==1O;~)Og}Eq%B%s?CHF;_-%Gtc6fYOSe z;i^`p6@D#cCij1}@6!>Zh6K}a0vPTs`~sb>AqIX-2s{NQjgk0&7s!($`VwLP*%d)2+c9t2W`mJblhUM z)KnF22uf9EgSQtf>6X@RYX_fKk+c1h4Gc#(wzv`6v2Ly5-EXl{Ey@LdCbh!^EEAN> zw5{jTrGZJR4xQT?@Yr?W{9AcrT!p*0=&;L{{} zK*{o?J?G_~h0ugCum>UVG_wqbQ=FLYhV7PHt?~sBLE;YJr{qu|Kgdn8tF707MD5Dx(zoc^T9Iq|BCG>5@v--2&u5e&Lf{|04 zj$Wrsq>S8{%$CXisig8UH1HJi(1BRJvJ4m$Cc!-;aK8o+j21YAL0~ErBZivWXUm8| zdjxw3A_kYg;6mMz+~h;rxE_F$vSb|%R(1u_TmIZOpN{@eeFgZA4|Ip4DIG!h!sjuS z0T5y)(NbXID0W%Rb~;lMUB8dx)cO*9b=;d0h$_SO)}nSpGF&tmI`JM(gf& zBo!j>68RgjZ^tIYjDi<3Q4cj#+NGQ7l~sK$9;(HN)YDP_31Mo>Kk@JCD5-H<1Td|< zrdu8=p{_??!Xy`{FC%;c@I3y`|F?o&sEHI^6#f2q`Ta86_n)TIBRX{HlV1Vz_>0$! z(#8091f=?qe}o;NM?^2^LS~@wGxvfBes@}b=b+%{@Ett6QTWCemEmWS*jP2@(?-M- zDm%q2lXOhB50^7>jv%NhK`Ijio-x%AElesM#l((r6z)|q?0+f#Z67`d0mQ4~YKOPL z2_Jt%Vj)JzMEyZA&*5cGm1&GcV2%8n$MhBRz{<_3V&;n&f7ZFCL^NG#mWqHi!Vi`Y}u80G6ou(-pTw+``I7+ZA+-p&Jenl?RY zRB;)1w5RY=IpYg_Zut)_GA?u>v|vJIYoQjY#NdX8IL{GD_={26T#7tMaaQDSY1-!UapExf87}8ZNdL~2YgU#`d(>It-y&xC$B9qF z`JUGp$()()@WLUT!Tbt5;d#wR@&DrKv!8}+5cp8CBL?`ZEa1nED%Q&|M)}auNf#Ea zz=nV$P%@20$d9fJ->Kcu6JQBE7S+VKLLxEw6jAc@ICD`Cp0!i#d)SSkAZSqIcOL` z=GfD1c(0Efo738396)DE?*$}Yhh#T(HBI%@9 zy_ug4LRdq4Ve^@vZGt&J2u(Ty)1EW9sBS$nl~}wUh{MF|8OBkDVE&A}1F-(5YBNIE z-!XFr3AMDQJaoL#A+3i%wXBEwLB-YyXW^F7B8irc*=6B7zepR7F8x7bbIK4;oLpb$axsAeTLW^(xLk_42^(P8inmJK(GZN zVt1ue`h?w^(-Je`UmVO!(L;cOq|_`u_uL*!&OLW@>$$K1kU9_0$Wn%AYhgq*p2Ti>Ui$$mLk(x#+hH>A`Va*f2vj?G6^6+)U@|X9`}*gN zqRNd7rQKvUY%@xeu~!p;%^+_xR4N&yG{%T!c}Qo=-SJqg25hpBNd-ksWT59^UO&?V zo5Rru%gQE6Z14=QTyMk1|GVD2R>))kkq{6#2p~iAys&?Ae#KfDfS^nu-YC2pQ~pAb69Lo8-)T;{ zbXR;Ip2c+P0>=XE2%Xa(?_QQ?8y#Uu8$&E2|W>SUjpSKQa?+S;AJcZ-YA(D5# zkOKA8XjrZJuwwX(UTz3Nc@)mY!Flv%vB$%ZTugT1?@|yUM_-J@->{%v7(9 zZJ;`Z$YUvJsg-RIvKukoPuT|79i>mEYU2`n8Y1_898CA6>suXKQyqHorOI9tYk%Gz zU=8*Dj_5OGW#$DIrnbI}&zWT*M+QMm7=y7m_0g0l!P2& z7UBvy3;S2+;J!7u<)Kxh0+acZ;{&6ca$^QCkJ*4xfQW45BCLY&Z3yuyK)&CNQdfP0*VIe^-U99H`mw2< zEzr)FYK+o#cvgDW@I&^Fz~3Oh(!=g{u=Q8N>oJ84{PrWV;waw1`1u27UExWQ#9!kd zlUqDC-X>XOX5-Y2g{Ofsk`lNHi>!H!l)zTMe=cs0fH~P`QKj6XO8Kc;;22o6mn<5o z*PyuJ&xlV%3>a_nh*>kcyWe@cscDVSFk(tT_Roc2&POU2o)uYVv|qMiAJ~@lTjZH7 z)87CWaSxC<3Iv!!RAB+-i$F7E2tkyCbhVzF;M^UH%a7`WHVn9>dXn<$c0 zjPgW?0D%`kf_$f-nMiOzqsiJNi?u{TAz&c)sCQ)sGa6O_8)AYxF!rtYRQq1WXa?|{ z(Y0y>@Vz>ICT|hoIP)f8M6D>d*rF1o&*7f%hrmL~4jVG30NY2X%3w)@g^bK!j@R@6 z`S2#P;p7>yQCMJhw$xi;vBOM?PpB;GgB^Ro4q`)Oh(rUBD7atqatH1LumnH>sn`&b zlt--D6WX4T*7Az(H0^`{<1u>KGvx3NSj8nt0FDaHve-626%m@FW!ruZ}rh}UY;WD{n_(hGKXMUK1H5*jOST0aYgf+{@t!AJ^ z1LTAHEOW&2hP&~Vxj!|vp&2r?AU>GU44Z%KplRT#kwFV<(0v6iIX1pZ8?e9=$@(6I4b4J~H3UW%(`yqrjL7(cF-QpS zd;!!r0AybWMMw=I+OETx5PR~JhT(0f&`e7PjP}7&4!8?a|7#%wwY2HPc8O<$ClNeH zu9Cc6yV#V022hB3YHl)0WBz)ZX}}tQbu$bYHN`*L$%P-Imm z^%vb(#E^9zj=zwiTyw8UQC&I}imU^X)UX^0!*V3-fRusPYmt?qu1EPS$!gm8vVH){ zdlFubve}9fG%yq_rFyzW0UZ=Dusw2N0~?D04~7euTMLs4_84;p7FEu%_PF7t;bDAf z!0`Bxzit2pf;uc4Js4%#%!N%?tK7o492j$93X@uxu2Ze$I&oo^{x3(iJXDM>47~VF zs1S>yeYtKdfVi7Pk9rk;SGu(Ou)>d6?^B zpzcI>?I3`n%Vu}gu%0gUjg~BQ#8XY|2^sf&gNs|FC-wsZVdJ&i;&l{=-c4o zV4krBdB#jV3W*5_?Kvsn#|S1JKxI~ob98M9|H%3hyS9h@Y#pek35TqAB!aA4HE z2S0m$8OA$89}W3s5bsg%_!#d9riwWdIW)?} z@NjG4cpw>e#=~Jvs@w|)g^Rz9?}xW16&;1Vu``+k*+Zk*abBR_Iijd;l|Hg4vtv5O zhmI*~a3)XNOQQtgO$R#~cX_I1iWg%g_%gWE({%-u&)-B}%iubH*jJv)o8KoWXD>vO6@I%4-pqr?`H zz2+eNg5~h#V2JFoA>&2HhvTpZsPLT*j*&k|dQ?UtSdfe@9`?pa!_P2goi2X{?NSH& zRk-zsT&6ZMgm0Yehzv?JLqwh1FO89%-*;PN?{oz-7$XuOwsmzF7jMWz4vI2h%3ew( z0g;{+*bxo=P8=}3U&y)v>yG=@*Z{Kw6~b{`71m>lP_opbi(<{h1wCZRR3P2dASK23 zM;|JUk>WG)xw48Ocdy)YB)keJ?*y!2`+^FFIN(_F~ZcUa+s_Ebx zcS^-K@`l+D`V5L^bXv$Smle_nE#G0VS)*Rf+jLsFRl{H8r8X+cqAV%diTV$ai>{+_ z8#oLsv|Uu|N}%XLQHW@mq(C9wryvoqE&#X(fKi|nP_=^*paRIjHo$tyQSB|J-JlE+ z$h?2U&OoM2YmAORr$d)y=t8d$Ss?fL{7Yn%6x!~oCLjbrEw20w0!rWr7y%+M!7=z9 z0Fg>6>h4R192SdBpb#;K|6xL<$VOmJ1Q1g0y8}YYXgavhkUHE;NE-B>$nw9EVmF5W zi!o^V%f}6&_`3p*6?@*rrua%Arb4(Rz!>MKGAoB}qO4W}vrCCMs~9)81lFbzWn)eK-uE zByb9NGf83PC`@2=nI9sAgow~~E+4cZ6A^LdBrR|};HbkYLGi>10JkoTqwN5yn`-FJ zq~sF-1*Oc8Og0yz659>7Abq6M zGwp#*e)JdtVhdQqQ-^y+rr zN>qC0jFF>sroltQP^5x?^*n!u3&h4Vroqp*AYvMPFCb!>N2bEpi)z*tC*jTaVQPV2 zRmW-G@ckg11k-G82;L&e%-UcZEQe}3I+ohqbfkUR#R9`>X0MNeD$Kz>2a1q7|FH6KEG(6SBD6Tn zU=ui|Vx?(SlvyOI4LSpG5cQ)VPpuWV*WPB5=P01XlouDBU0e!i5!?3@cmZ2Zbsy>VU#2tLzZ# zr{<1JBqgxE{ZYrHp2}oya#Wpjj-ffS(_B>bO!|ra5pF&1yn87JcX` z%Ms+!!wHptz~>#C%qAqyZEytN(99;JH_^PX6-`KA!js9dnvfvn^{BA3&(x?jdyuB% zmax!`VmfQaWpEOuzUs(W7hqIYG90>)rcJL!LLiK~OM1{u1TZ{03$>}s!o0EnM4Ra z7TXVSEd*?-MHL@%{51=0-7r|p-VO7T?Kyk0$#9OGbCdNq*;jyfeBnUaybgzllpSt8 z1DS|(v`86A4MW19&Es=KdxxTJdB{YwkHFpy6M5U-4P*A31sw<~p;^lBy3hiE{71vv zq2R)+&2AVr6;z>{S!OnAy)0Q+fiGwXsh^Jtse5Z7_%Zh7@tR}b49N_O>8$zIm(x9wr&_#ra1f}db*yO zr&aarhDrLPQJP|P!#oA@wje@HSv+gDD^V<~8LY|Ddg$TU288-WrX5HDG9duJd!eo{ zLZ#3mV=GiF-NGgX2XoDC7*-M|RPMqH6gKW1y|9V4_LQKxUpy6Pp>6lYkUa>G@%FF}F7ePon_5hhK z10oDz6k=aTpMBb5(KwuX1XjPbVHKRxKUTAe5rAc@1uIgj6D~=NEo8^^;!8E}xF2g( zAxCWE(zVsN!@?ova4RhvEas3^M8z=UIzwsIGU--7%k_a zm1Y)tc?t9`)53**0H8m&EZmo{aJ8^-O{Rqlqs_7oUCwAWoEDmkZI)KI~H_Oj1Y1w%xsH!$kb5e@w0cCbS#zP%*oa87tfF##UZ~M30Et znCV-Zt**OvAVoW)^Gm#$crG4HgOOowp1e=9+U@*tv6ww&VJ5dl%+EMpyWOXFJ|?dk z+k&mPdA1JFZih30?seMq;Eq@z?zMoR7DU_aFrYzc!O;b-z$P073$}N8mAlmnhjjwn zEf$~aa%4B8X-;#km(ut|`@3`4m}d2N&qZD3hg#%0zIeN7c*F*{R_|Gc=Oak|UtxIa z`*E%InnveebzoJnYkC0TlrGiay;$rrEI>%&%g8zMVm>7kI6^fY#(E3O>|f|f63drDC&q7zCzlmG0RJ%){kfV+pO0zkLddXfcv zx7XV3v`VMN+GXcjfL9%Oz-=o4JXN+5M#5eI@W0U|Tjp2*$bP+xjbqhZyy698x^H5v z%e*(wv>$yft_;$YD1fmZ^B4H8vK=0bSW_+Fz1nu~*$V#AI>Kt2?U`c>Kf4zmFC3RD zbiY?YgSf*npH4utFct|tcM+DynG9yxltBfnl`6f#R0m^4#_5dFRf8Eb8hbV|BGPeY z&x(A?^UTPHIan3>{0XH~)$V4dGrC#wyhRnZOfmW)5NtHtvk4t<-{PKBu$6HI0W=c? zW+jspi>AtTs|T+eqVEb&cb(?XHh}EF_>l}yiNzI&F<3okR+>QRDurRDz)T2riy}HG z!mx}KQ6U*AQfq4fWVUG$UfP04$Uqd-j3{Ues+zP5{f?}fZKF&qt8fE-ItD!|UNK_rmsfqT%8Fnsx1JC{-K@Gv0i^dKJT--e44o;t z1g0+**%v+@i>?GaNd7~;$&aBeR(0w4sxo+k%gSiD7JfHP`Mb}wAAM+wUR{Gx&x-sM zknckNT9vf;j^yu*0;KoW-8>Wo*!nOK`3-Af;{-HhD-ys=g^P(OD$Yliasg{Jak7gh zL$?w~Y!agl$YkmpjbJQoG(+uj(Fo>AG)o)h=vwh3aYPMZX@l7<8l~wts4`IcZJUKH zlUR-OVfhvy*T197%M6=N@0Wt{rIkEldd)oPY(mJ?+6z_^iCr)DF1E(?FsbNBp++2hj}(Dc9&E$f&KFrjju4MJ8H*nc5UJ)@y8>*g-W4w_5?pb|;; zejl>Kz^P|ajQ|WpwF*$|q$5T$RXv!F0uYOHO2zCi-HMlPWeXKwm>=7rR*n<3WC34B z3wRn{*oYyWY!YOBW)FUT9~5nTQ$(1+Y{z2MG*Z^yBY3io!Y&0ZTExNiSzQavwpsS< zab(M$B`A&5gY;;p?YPXJ@hCIQRyI>drGgE>itKI3psA)oH=9jCW);{*a!oaC0RKs4 zj(*YiEJ1QV6M4G@!HmW?Q86|y->|nH4_l2beOsx`AY6G#P z7O>fj!pAl{mFs14Sz-n|z{F+0os1Xs?qqzL>|g}MGsx)VtW82uioprjE&`&Zdg}}mRUwZ zbO^ZtDbgtYj?wFW0MsFfI(oTJ2tWwBO7prE|0VhQfX;Wc+iP714~8YNW~(yt%3&k9 z8E$lIli8Ek3_dd^@LY?K&sLz=`cu>5sgSR`U~C?04#gu;!40T0`k<{}3#XUM@j1KK z5VGxH$VTJAAeIK?C_W1zq#FzMVoNju@M9E%9RPlxnHL7Xw3rNfTb&N<|EZNFI9(Y! z*J@+>7ar7Lxk_RJ&XTfTVOxqBw(+D>c5;`@k_0jI)xK!{0E?(KA5DEuWv;jh5O-zB4Pz2`CO4C8Y%3~%N=^RtZ^4A)4J8Y@hr8d3<4 zM#D4=tLWGFG<(IRA{2A~Fl)M0d!!R!V^FfQhiQ!nO4_ZUglcK0#%v4IPIM^H&JYMA z|57<`Xq^?NktM9_n!cwwE-I$joZkZ=9T4eOpQrBY?G5(^s5@@F$p(-e7=dwZDolF- z5mPfrZ-DGAAp3g!PQ%zw*k(c;wTvK9&zOJ!8GVFpj0=eQcVvxj8Yzo6-;EO8QP9qx znA*`7Yx2G_!veB~ZP&4^f!cD9ke0J2Z@`*z)rS2YS<^ZIK)mBeHIGbDX1lw2#AE@R zM`VDy==dz)JvC|@roTZioI5Xf;p3HZ_5NzPtf0EA9ny8XDVTIjR6--B&~3AncUzeE zRmu(5cSb#MtCXupeE{Vn7}y7hxp4xe+=PQ>et?|}N8ymnhdF1Fvl>H$IjfM~7`JSm zkWsxK%0uU2v&IWhU*O3m>3ZP^9Jg#9z1kXQ9wO_j5lnEZ8n$a58sqRoxm_a~3SB*M z76(<(H>9ao{vo|1vZM@KxH{pY#(h1fTYe!uqw@ig-7looqF+chxDd+GIT`3om@-(1 zhUC^g!eRvhwf7uojooa})uK`F2%SZA)yM|6;d4o=dBV4!~k+h0A^$_?M#3?q;jvCt4;8!1~0O07FrU5RI5xXY6UWtlWXzS566XpD@Q;zLdxB? zF;H1AcY3EktIg#3a)xsV|AFC9u{s+Csf#h3=Ar-8s^sq&<#yd2o&bhHH-#{UZTY@O z=M}&B;yo?E=3cO?1va0g@4%3nKcZmKiWhQV25ZkD98O>E6xDyb{leL8j2CgNV>AX{ z)i@>;x-q9FG}sfFog(JA-9q2ucZs6kOh)^~Fb*a|VH5vXXkxR#%fn+lk@UsB*)@1k z7<1&(SNOIF7C@I=xaBv==65*OX?qu1B{5^nz<6X0S0=OoYmW8ef(}epNCm*`l$m4= zRyY?;QUZSu&xQSGbHceAn$}>;9r%#?&&IPhY$}guo7Rk2gkQy+E&N?JHNfrux#5tL z73_@-{)p*G_pDLByrA2CZvktop2uJXG`rO4PFv-CGA1ib)gn!JSV^w?f&L_Sd}Rg% zmwkIAc^j}RXNmtp;Z4fdszi@*PQyU{R1`@Oe{2+sQj3l)(yH6vgtbKQVNO>lG^Z=< zMh{6F43Uh2FkwMuP3l0>2W?oeJwpZ|Na1j6l|jf}`1S~b-o$gPDHd2U2+wJFFw&`K z4B}1{r9T{`S>qNEd~i|sBm^N?Of7tawP+f2-dr@Tk}V)yRMm{0i9WN|3PLyxd_v`w z_?-5okt~Ip4#t_Gt%#z6`*EtWd*lMgE%5%~6ghIC5m=lu4*mBSxgafAXnYaPYtsND z7xY2q$ORp?{=1J{(8a4-Gm21!9_g`g?832Vbdws5ZhDVhFoOwJTsS9EMmN@`liSCp zvj8pj3*t@NA7pT&sH}rj!Xlw^p&8jUqLim`E9UM_BXM0FUpd&$GrM3FPsbM zTWq#`3wp-%Etr|3Z^5m+3b`pDqVJ@`N#|m^wWS&sHgqBxG{`+2@c_Nza<2%KTk$|& z9;YgX9B|n7qa&WX1?q z6~zursd6wT(@7N(Nnx9R@v$8!YywfJYS0%-w~GJ~7`uZZ0Rp9TP=LWIHzqEsHX<%s zZgVbRdSN5XZTU7VsEk^{-@Cl6RvwWjV)ehE-p@oOcR&i5eNiQBnU-W{LbAEA-K(K6 z_FkA&C$moEGS{x zRaC?}LTnD$9ygkEAt*PDh*(i;g~7`0u_v@bWn&^D1|d`%yY%Ydq2%3sRZ}o4X?Ytu zqcsJ4?8rq`bktK-xuCKUPxr79*L{PGD}A$LPHozUh}-Fc@dU#e7P;tp`N0mlU3Y-w z^Q~7YIok| zE-w!%^ekxD$?mcpOrVXh7c*kc34qoA0ZKNbBeMnFn5{b6G1uaQC`m#7zhri6!^bbj zl9K~33t9~Ca(o8@yBbtl&G4NCNrv-`lv%Kd&342V!B{4c$qtNWLhp#SffLcYaGH=9 zxgfDF7#(8pT`FO_uD661JDsH7R2(+t1e~LnY|uXG@^TIUDX13bx>!$-O0EIJ!t?)J zc%W+7Phbmzs&QQ%RDnOQ4yr^fK*Eo9c`K}gDvS|11x3gSD411eO+dL78e-gvEli>)_d6Ag+8^_(eZKHyBlCz(-7pi zw8*P?R`~9`34`<$mRalvT%11JX{nnUAVjsJiZx;jrTTHNI2rqcy)VE8L&g0MMVb30FfwP@r(2KSLFWGzL@wrgPZS_fOLf)$+Xj#dG6Y7%t6I>_DB;WAAs|C< zYY$iIOQPMYQ7*gu4ggZ7)iGWzAVs{?5Lj$XYXeYb`{=q+K^*+3*y=9k(al>I}N zBr_7Oxv5L0Ub%tv*FVHPzxJ*ZEB#ZRK1Bz`x2tqB@=+41WI^o#xsV50tt1dZ+fDk4q1j-VKGb%5ukP zSV&%C52Is_(VAh=StSjmO@)pTeO4q$Zy8Wpar(d&2{Zq{&cc)hreikaqW!qbOT)r7 z2?%&<8>0p5(pOG~07+g907$eVVI>TtYDnW^0`#YT0IIo4@AA^b(e5fr^ps#)G*W<8 zt!M1svm$Y$*;KUJ53+OeB}qNt>pDvfPru*wL5A zpL}_NMTtgiMzj&SoE)ikEo)$;9DRwV!}Pa1y-4`VVM1#3C3`|;_R?w2`XTVq(U2Za(<_U#6DO%veN(p#;F(KvRL8fXSEMLgl zMC{#gp;0N;{FFL06Gx_oh{TkCKD1H!| zJz$5zhFCNJi>%F^UXEI#uo3`O5a#GhrrTorG;F~31eC(;g85W{>Wu?H+TAFG3kXgW z(2bqnW%8vyV14#3#MkWajh4cp0Sa@qIml8tkod1v!V$fa^lUzqrEpj*-$B=`e~fuV z)?EIM!moc=Y@l$5MTwZBJWd7))=?fOBGY&+QiNTNF)`U zH5v7~GYtm^;RXQ+d3Z3sCZldXq84~5Uwvkj`X_Zxe;q)$5%S1t6aoNtFZz+ML78ne z$K5dO;>a8R9$F2rsfk3~8~oravR1k!pLFRZM18!k7nCZ^1MBm;YHG{jUn5X4*s7PE5n zzA;r;a`$74r5!_0B6hXDdb$Cy<&#BSvO2F7U;s$E*%sE_NbA7b_pb0F&RWelOJPm7 zm{)W593nBUFRV)p*~LyLl;&AwF6e|ZtWuaW@1vU7J1y4A>;)Y{>4|QKCraMZHY0;! z52L;d)-UwH8hn-*lf{kOF%{vgE-#bFa7Ok1y-@(c#PNyv@bpHngGR`@-^f^XU1M@|#&2G35G>g-*D8ER@S2H)P#&dDb8{3E3B>A&M-0W#pS)`WQh;d-P<(WfHsij=s zY7f>oAPrw#gE+5(78o+au1YQ}>q+1aBdURbltayEqX3-rWdTr6Ao~W8H^f;jJ|iqv zuyNT2odnK}1_u=-FGI@4KO~mbZ&=v%C1Q%zxEDdjCS!5uvuu8`PJF+p;}0E2tWh6W zD0I~7gl$K)+(2t)e(nbDUoIR4p_0_iM<=B-XU@5Q1KVpmXHW!w1)x;RCaI@(Zn9ER z5iKKhtQDn54OU{Ab=MUyIsc73)NM6jhIljZa{DQ}pYV48X#l`x0QdzLx3rUIQvQUW zc>^dbYn(a8N?JQMQ368Xlp{VBEC!$$^LiOlySZjhI(-c0g4A)2t*}uH4YrOoYs4JU zriv4{*aVK{9J}_-x5&+Ok=zylh=F~uD;GWKILWbh7i11yxnDE7CM1L`RE)$XpcEBn z7n#PZN5C`ypyd{z;jOw?Y__*^UN*-p z1JOP-zi4LHuhT>lZ2;Xw%GRIpvpl2rp6MLZnWjy!&ZwcqAK6bza1XeJio$Ic6)#Y zgCzp3Yy^QPk7JT6v=!C?y8+Lr>CjWU^#i$oZdx~3GG#Pwv0=b7YSOY<2kZ6#cxB-# zuu*a2vPb3>39;wYbk&HA>)flwZ_RURJgM_vJ*TEas`V2;r`DZa-Tz}#|9hTO%R12M zCCTXr^mk4z7mMbez&W*CbY98?X!N8OTKtp%s%?|Jq-mA02?UD{^6`#)4s=qhqS+O5 zQj2F)Xcy$V%&xN#!6F1550#d+yJXV!LRd&wD;E-<`(HSzwMJ1_O1?Km*ZP6b4q(A^hD;~Y+fkHaI?>z-O*`TOg_wb%mm?F{iGAm<|1M8^ z;fM!oejJ1+kPNXm9^od(WLX=;7CUlwcftGS-32I}Gg1W~1cFd|Z01Jk}rLK?X#5 z2h9=R{k3WOrxsu2n5SlcTqxWKMNf5G0vj*o}(yb=V`hl7>t$VT9y7t|hG?T0* zO=uK5L#WBewwJzhNgn|gV;iZ_n~l06@2?R-qZ^)P+kF6Wdp2n5E20D zBq&Fg_-#`{7Sa!eCiB=jfl~(991>!7k?Iz8FltHqNTiPPYY9Ydk8tHGyfXwY(2bQ1 zeY(|-s?t*QNoak0=HF=b_ksfK0%5IH=4mVn7#0QW;m4&m)-XL{7x=R*3NSCDlQ)Eh zt_2e`dqIUfobm#1qO9TKbR(1t(G$4;24MPb@`aanQ>A`rgN%v3o`BWV8(y_ITU$vf z4g*jPdCXK2SW<{UkxJzjl~mhnES0dqDhZZkvULJB{4iFx35-f*QOBdy3K?Dk!>cct zzhfhy0*H5I5MTuuHOmf=q4x-e$TuZ4RH;T7lml?C+tD3789M+Q@MwT}Vk{ly&6PHb z{?JU*DD#=`|EJlcHxLw$w-FZyMqNm)hNb$b#yquJ9tQ&yF7cJqFX=s&0T*M z$Vtg3Db-%ard$@_)m=L-E2!diR+_}Ru6cRG*QOZEPVnWs@U|GvLWg`}; zq$ty~U}z|{OfhZ3K=$jhF&`4&>Jq@){L`R#XdGMmi$kL8G{k6+0+ZX7$t3}m<%ITK= zthH!=-WnIY9X)lP9>-SZy4DKTLE(N7X4XYbjm*uR#Th@tDIqT*$O01hV zT2VQ(b&Sec9<^7jR8Sr*o7;l&{T9~y>fy*(9m z!_GcecH$Qu=z??diU;J6C6U+!jp zCwK=ySdB`=OSmC%#wMdP*4(Jq+&_3!McqiIFttaHJd+{KwJn*Ce5x*APJd2D<|i;i zLnc$f8rAmHbyc^1lQncS37kDJ%gZ&{VLu!q_mO%Xd2H}Pc{Y7O*bN};x(=I8AFtnD zJ5WplC`oUg9+_w(eJ=oY@Ia0sSzx9SxUncwsqI#gQ>GCt3iW4$Mf|{`!q-UOr@}PA5L3p^z(V(qo zb0<%XGkHt3<{m(EZ}}N!15m8px19ulqoG>T4NGrXndF|%HfI%xC?`YNexZY{QY*GK|>T3W?fZ!;73}rj=4e%pt#?uWqR&+ zwU+Nvi`NrpzFx&MJx@q+t`Kn~KK2fJ9){|xgI@1*mxtynAb92@6GYDh!M|(w{IMTc zRsf18Io)m@`8eDq`%!?j-Y=(JSkz@L+Mi-kv{vBgtv#i3E#?4#0=>onfFc{&aY6gX z?aGvO-An+{sb+_TG&Qzqipkh!v^w{&j|Ly^ht{}=fzf+zEAz2h9 zdOFcAivliCfP!d0G1s%}?w$Q68%TB~h(CkVMb_9p(~Euu4@~h(X(c-(D6xF7hi#I1 z{}`pTxuj$lnU(3$^Qpwo#oDT1x~RgQoU z{|hmtNO;hwfZ$vpOqt}#nGd*OTfS30bjhBb&AJXlq)>nx)+@p-1>7F{c0v`WK5x_&O2Ea){0D%SGf8 z@a%=)oTA_PMbUa-UxyGyOZU&a5zPpp$r$k_#O83}m4Q4AJeY*%x8e7!i($m_KY20e z%-!w3Sws%P8_@7xex~z72R>|N5)2UU!~ZU~^E37Df0+e3c<_J2f`xsuKnD;0n=E)f zh{$k~f8H_Fc)v3Xk}ST&u%L9=F9)Aodgoo*;F-l|GZTR5+$pB5#?RRrWTPIZrUc>? zG&eeb>MS{ejV0tl4hu6x{7&J0`0UckyR=D;2hT43(G+c)0FxMDy@-2_j&Yl-+STZG1L_XV>8!N9Jb*THw&8 zA9`?CXa4pVuRY*M;_pXv{DB`(EV*E3{vRbkEejk00&;YbGZ0x47pUGQie|+DfFUB{ zx=93PimbraRA~DMC}Lc8pklBiUkF^(>&GB;JKPqDDWg)-ah2>vVw6UvT20YCLT&&J0suS_8F)*)*-6S z!Z|p&?sI$##T?IMoE(1|U*wlO$(~4}Q$#d;*^e)$`;*tY^Yhw*PO-TPUj{Wc6WBlE z^42#1=(X{tlhp>&_XPMYko-#|C3)2CeX!u^4r4Qc4I?Ko1OV4j`SJS;2hVnt5JUCH zr-wl~@xVXu!0i0=HZJ`04x@_vYhQjzpwu^VSkjL?7W~A!+=lm7>$Q&qJihfAyloRc z6QW~{qA?kB1wi`q6GrJ4{3FwgeSwmAB*icvXngV3_fH=AJ6K2~endci7ECE_djHho zA5@M?lfNU@T@RBQTIDQiOw=cR`#<5Eg@RL0F7 z4t3ioDl&>L=IfG{qD(gUoYKmr+PRKrPcHrUQtkY>)-L>I!kyaX=F-@(zA3~fcmG^_ zi=xK;T=U~bk_x(a!HmG#p80RRb<0fZm`xxhsohP5=Ed61k^ZSkoouw-i zomUR8KqH0ljW0@k46jAv7!`!7`SJTWAtJOJysPbKnrT1spuUhTJ??Q9S>Nk||8(n$~qh^S#PvZRwBI5LWc zxG(7tR1`-A+z|9OL`7wsp{2*GFiIn$bSsJ@E^!T_qrcHn6t~e4y0ee~?g2^I`v1OF z_a-+@2Xtn>kLTe@->vG@sZ(dGQ|D-z58jsDQUM@U^!2I^igM#47cOStqbfXf0U%s& zTzv7+mL^F3kMPb;to6d~j+Q-+F2Q%rg+=UeK_y`7TJDhxDi0FG(ccxQb#xh4l=SY3 z?0XVd&bqLoajL8JE&x)f#?SVHTUMbT-GK*J;ARt0v;$~)8z0^IP~yr$C2n^% zUaH5u^MlpMlf(w9po+`{a3S0$>pryLHAyqjeFV*PL7;d#j?9cj+#Hm&zwXj}JIA8h zW1KRr4%3x&r_vJVRJ>OwDb-mXPr>+A2bJ|%{gqaC4U%=%CIDn7P9VA ztT6{VZB8ZuIf924ye(*DdD8lt#MK~sYrTlyI9P@Ca{BWZKGPES(v~^ulWH7aFc!>H zPsJ}RrLTu)Ci$V5{CfP&TZ6o`8 z@H@Ya>=6&xNU~39Bl~}+JA92G`}+Xs|DhuRymP!a83P*B1zx5u?c`r)lK)`L?ceWA z1o`U;!|nmOzZa)$Ou(dG31~_Fx%f-+uffR9Ts_{)5o9S{#WKi_!=|3O47%^oMCZ+2 z-(69IcT)Q+fqB~!u@odWHtmbNz;APsT&<4*Bcma^AJdRH1B6ooV$0Fdn6)1M0+L^Z zQDg&pt_jMG9E@NFe&=Eo9D-zjgEe|)IuSWZI>1qH)Z}q^= z6i48LOC7$t^dj6S#&t=+qbQ^Ku|?u+bTZawEC3c^ZCU_q0ssWQ#st0y*NY*$?QIb- zwkv_tEuHI)4vY8J3ml~EjWZD%e#I%C(s-wTuK(rbrJmdkbL&8S6{)UMm4)${IUdv( zpQX+zM$k&pvPBtAMLBbo;@GW5B4u2shZejg)+m2l-&^;@lok=cy(<1@J12UV-DP~T zP<`Oy_d%Nt;2m{KiUNL+&>GNQE%-*Ap#}z_k2-_*U9D^4pij=qJ)-@5v@hCp7kaHe zxPZ>P%Xs5<_3u5l)@wd0M_kn#&Nm*oL%m!3)A>e*uHK;5`27guYqy@pn$UZdUL zU|d(FrfH3XU%I4b55Y*d=VxG!t^;mVl$b~Z!ua$ zzQ3jFso)N{j{@-EHl9z68?H_0Yq;-H2RKjy(eU@y`l>GDk-OBvIucC5ydJ{TY{)C6 z(WroVJsj7GDy91dn%5x&kcO%fya&NTQ*VG}1obRZ|)&4*PyO%Vqa zoFfrA)D}vT8oZ(qxq_a;EMhR8LB@4=t7!w2N04u1_E~{naK9LedpQ*Mq(QI-pn9w@ zR^P3r==-0=z7F>9fd5h|5uZXIE(G^s+t#iiaJ2rZWmTs_<1~^ z2Z^=-PP`>bbv9V}{#qpVnFr-!feZIs)z0Dc3OqI!EMa!B5d+RpGdEZI&$@i$~gYW+lrASFH&xkK2ZTI* zym8$2SMDu6l0uZ8-9YvZ1D zwWkI*+WM}+E?OwkCjb(EAoLQb2v!f*>@)zgXPN}&7EFl_OX&#Y@rGGq!J^{G)pE zfatzhsGj|0VWUs>rys^Q52q-jZv;)y({t8zhmSjzt`ueCYDnKjkiIh^jpHDV>+t+8 zNM|=BarVNvObwDa%ap{fWu6RGQO|tSl*FX=@N~8Mn^P5E&2jB*S(2S?-KnJ+jveap zS3rNt{D~v2s|2 zZZP8VB;_aaKY&(UuBfw}2@qm_#cN&rc^u1j?KH2cr?DNpr;88Wakvmna9ECVeTIzFBs-~yL#e9i>&8_d+lmV_ARg1icIt;n7Uj`}@-M9?6BQ{{lL>>3RcY2t^d? z1j6M`eIZnm;GG8t$UePSAW{-nkOk4^=_7-H{UhKVgg!#OggJ&a=p>lp=lp3>C&_X; z)X$79uc`g@3VcF!hWy@r5`O2#d#N@_p5G_9X}s#&`=rzY+~niB$@78uup1ol_Pd-vmAO9&;Q?GR+w=03^`PO`qr_<}l2n&kcc;O28o9Ts*thBY~`GjITU z!jo79DHrB7Bwv)5rDW{(P&arM_bQF_T&<~&|)a%BJ zud4&~Q+q3;og4n_=u`UD0+pa%iy@W`U-(D0(_S|0j9ZtiSzD}>7+JOpJs zlge*Xpx9)Og{-Tx$vVh5_avok?-Fc*0*qcnbRU!eq=`>|ytwWc&S~IW~!qEIU zJ$nIN&L~sR0mIQiMYe0cltL-*$d8UUw?^vl?c*M9jX1pFs?588H{GJSTvSrcq32NY``IIEleq$G6jI3y{_Vy^IK? zDvLEC)LBmRyiR6!H3kw&yda2513<;W0eD38+#mBUN`QK=wfX}&-`2g@MU?m2$7<|HssJ&?Q)QLxdOKw zRJuPZb3!ikSEm8_TCfP7m~c7NalDg-oevidI%Fv+!f6s-iTnA=Aug@49813IkOyIU zq+CdcLyRLVDgxC4W>D8iZ|SwFZycz>Wh2?|AR(YeKs;x7$qB>AiAOG2>oD%f)Y5b& zfiLWdgV#${kqG|r69KHFcR+kYHD@Yf%N;3F)mfvoMsht9BGV9OgnXJrQaQ3+tjTe; zdX&P?xomC{B1|e~FM=OX7bAepAX};i$AN6Ow8Nx(Er6J!zSg06trYd+J>Kz*^J4y0 zKcWpRK>r&6XQ1PJbFC8CgoqCHw7)W%Ca16oz%pmp*lC81em#9-)9(upK|Wy3k#wvz z_a5JcY`Cyr`goD9oS~G_ zG$5cJsQ$$^Kz}@~eWBIl#s+jL0R@Mmu%bz!49B9a1;4cjfB6G=0YuO1ji+?ZQoR6h z`f*3H)Orwo%W$=t1S;4n764i6B9pa7Myl0!l&HQxx6gmi|6hpmR&;3bee(P|Db2hV z&p!`9UD*y43Pxjahp|dxt&qJ?pWLQ+9f=N8OddTHnT|*= zFL!UJ7gPKW7X;G;)LIPhmsY7uMDx2r+l>1*(db3?!VaUwx10{aD``9iCyoJHdYrheA1J`y5kc1EF zz&XoQZQ@ov*zdcdnjRJ|(s<8K{Zkiepg_s{}Gc+bCI)75M3 zAvw{<9(bp@ZAz1>#gQP`BZCYsp&ut*1@o@?WYz76`@J3M$np10{N0Yf+wnJq9Jis( zUA>X3)Yhzn69ea?zDkW|#XqUosDwO?%*IPdgzKTT1rKeg#QaSwYzh+VXz(!8GdmUU zRV8^ZfFrO)PY*;K2?eVldHlwNQChC*H!AR_%e|Ju)QCi0M&{=)QNU_C)TZlqFRrST=C@8(KYf)TbZLfz{%z$a9;=9w8_@#cB zc6=5pP|B9SR?&ZA_*7-1=x?ee|71hAq9O62*;qCj%SK~Gin`QkHsZd>I6Gd=)!_wr zZ!|28%0w@la-Xl1<)A;A1S}@vgiX-Sxa^y&M5<)o$qJwarR3%|r!eA}7f|y(8RP$Evulr1(LIwcP8LSqT7+xx1cu+`st#k-k{+MHJ)X#TO(?_QHmKJ$-t&M^ zgx~l@S^s7a&xBB>CN%Xcgr=S;H1o*y(9$#e2aJ|ewf^J$(8b>cBV!LdmSeR}6`MUY zZbsB76v_RLIH7LS1FrxI^kkGjtoG4onN8OSKWBf@#o@?V>l-r@0-@bF7E^*9795X- zlTlD`B@6%_o#2c#W=;-ND3`Z1ERZ`zt3QvFCBTj*FxC*+F@Yd(Jmv5Y^pgw#cEX0Y{R2Az(D3xW#vCk6aj2llMo=lvrUX1=0uqQMgU+Vc>n!R=!)f)j7-E;_2U4q<yA>zM(8EWkr>h^!+JW#Y*RJT*X7DxhG;Ozr{4rgQOX zTw7{i-oH(S70he@KBe`p0S@1Fc+T}b-CW=Fr3+?5;nLkE5}p|&x#T*G&k_y((=q!o zL_>+s6b&{mnKT*iLM(hWK-pM{jyvO$XY3VRTc7-u=4%3%RKO*n{2Y@@`cdeXfP2pB z$R%$Dys^0C4BT(ylCUbtA(h+lHwE5_TNS-bhr3m|6gQH=I`Kfr$!DZYC#x-G1K3Lo z{T&0VO2C$FLP1FH7ZC5gW!cbDG+$stn)8W{NNX-h5b~7%*q`7k!Jg8FY`Gw z5C!LVD5Jv37r{5vCm5-8%%`y3hxorRxCieI8l?CTK+>DPM<7VmcQ4FRP#LJQRC965 z1K-tQSE90HzGVB_FtYk^qguT>6|CMS0?5L^!X%D};RQA~0l&8FOJ;I?dkEm@kM*va}?qNR2}zN3q!1E*m?eWN2r? zWoPtCTB;OCIlk#B znGBQS%J1qU`5EzK@iEG$Y2&p%hHI9V0RF)3H;YG5EFFzUkX22Ce$F|f475a02ueO3 zA|YsMy=}j5$Ge=vV*It9Ka1boG8I@Qk^I#}Ydka%o@U4a%9&)2)cY6n8TkcMusJX5 zNcxs4ITBt%rSub4y76t1mQ*qJUkIkE zOz?)gx$;6udS15T7?ul{y93+HS&Cz}3%ZmOdQ=6JT#|AG8#^w<;by`AQ*#40-`~Vq z0E*cod(Y(Bf^Ny{4{{V=hEY_krR)9B&BfQrrL}*0QFT9PPz{cZVPqVhWs-3y%kdX{ zqlVYu8x_}^Olc!FzcAIr+BhNwd_!5Ql)*+VRj@0`<>_=N!}eoI+LxoHkztwYLM7`D zuXzfl$XaI97&w*G9vW~$gObKtW}IGn4@o{pEU|IzVvsWWYD9T_uIkep3jAV3*9WF~Dc=t|hrc*F~*FtTfX5@8JG~09uyqhy204 zwFrlHT}%0s)lmRVgJ7}*&_XPdRJlmb`cm_yUfWUrM9Ut^omfO3K3$p}?kgaF-sdXM z*zJd=6y7R*abwW-xfD6jI3fp>*3ZC-EY)T^7AJghI3t4vOxvKDQ8Kz15-Q`NX89Vd(mrc zB#8i$tsdjy(MfjwBrFBHvfc#gR`je?JFOFx{dGt-&bp-#uLJoCb0RA;TnJpzy#kzJyqEk+# zAA?nWvhY7*RWUi$EgS?mRSk6jlT+!IzU;cFBdc17mn~N1f+b=%GVJ%mey7;W&)Y0t?%< zKoW2OyO4%h3L`H{UswoQ{)0JL*r`Mv52;R*W-Z^!c(us#In`8)6?Y>IY zw+K=Q#k`?)n%0)DKEH~fk0kV<#XygVoa^U{|3>YD|bwG0!8oHcv^H+3UVRn8o zzBw1)&}t4La>7z7%}xoI)NbNTc3jP3_@a4 zaWEZ#!s4SAY3{gX12pF|stF+wiA|8}N>6Ob7D~b&O%Zp?-M>)i#Z$nl;ZrRS@$WFz4CQ`z`xHD2!0Z4%+k~ zx*LSCGsK){SYY%{QYoWvmy(?Z&kml>-?aww3?hj&&u*ZW$t^4g@1q&1duf0)ks9p$U@M9MI#TN02+yxG;(tc8acE(V)O%z zkTyIgwA048lU3bE2+6mp9knSB-j{k z`!G9hJkfE8*02txX&nm!%dDnJeVgg65Z?d-n$;O*=ja$Fwe)Ok zW9XcVTFga(BkPoM99OwWDa@M&063`%VwS80|ME$4vAfgS=dv?D&G}g8Y&UGSTZncG z&~Ant*cnG1nT6ZVMz(FfL~9#LIhuaQ5b}9|=vXK{R>v>3cN`m~@fhCG=Ji!cSw|iH zvF3HzQGmF>n%AwrqN8Jt_J;P3B;~U4Em%uO8)2zMfYnD~F2_jj20x2Gz3 z|HA!Q0JIef;XA|}2&UeAz6#$xjOS0{em0c8|HBEyW6qz2x~N5oLuc?dEr6`WvN**Y zRsDkYH94JYGW%B$h}A)7l-WB9Wnw;bN%LaTDKtA{DaUI3=UY3HeL3fYlK0DBG1*q* zM?=lWW(RiEbR%jeVDhrC?_vD-f9gpSTXA-AKOEbPKskVYpMyBHx(`S47%y2!5ef?i z#t8NqpiscSd&5Ya-}+h++w%T?#@YW+)6PzYOZj;y8Z(O>UUzXxfhUe9Y%WCzJWgQ1 z`0ylMo>z`zZ+^t*JHQAlYbJUTN4dp~_wQKfTHh}f-1VL*t&VH4WpIu0w|}Um{rIfk ztN}QP23MJfF&6!TpHFi5JVw9w)l6f<9cq8$Qe92bl|lEFx^524We1*Tm9kmbDf7Se zr&8tn$Hl!G-s=Ue`LV^N&i5XZ@2ywL-g5%5e=jNZyX3vl9;NIaxEuV>E-m$}MkoN< ztGOE2DR-9EWUdz1e#BUKuDrL@{|EVe^$?{$w*69riy`TVp|oFcdJLLU8IHSP1jfGi z)dAf-vz4+EoRz7-A@7++_6O<^hf`6EsUN7vXZU9+qaOr%6S04uJqUg$hqBa{gUF>m z#(f{C!*yWuMqr}mN@ess{3SM0(U*JilmfRyDTpw9eGLqq&z~0ny5V(aMg;#250!?t zJu88J4G19TU$V5+b$(FX3vE%#hGJ%&Lvb%n-gA}XaK(7#I1bzi2dZ=MeWkjE*+n=? z$0Q*<2A5GEG1mOKsFO65X~>|(q$ zO}+%zZJFQpydoWq01yI1V0?S!Y}|nkmB0g~{sGmp@kcP#2})VbcMp`hZ+Su7b7PVi z+oasNvb1K_Msd%70W@U)hs#PmrSc`kgAU4lrOxB!3*i*mVUF41sYB%GXS8!4?jv03UG&|5&Qr_nL(1E6fPS=Q;P$Qg`Vq;$G-%z?i?HRJr9< z`Hma#UEnEoE|%k1Bw|WM43-%0bA4s^BRSsEdrMuvtdrkiW@jP1#(mabN<*Irr0cU? zXJTw?7nj!bG+(+Hjj!>QhUUsyS&cNq){HO3OxBq*Z83t=(%Wac9M8G6rp&~;dqz%H z=ylntXR)u;-BaFkPXQ3`VM6EW=He^^5Np~OrkdChp~smscmUXP?KVn1|N5I4k?R$u z?2O@fxAp!~_XYBv=RDBt%a4}UJZQdyww+tpdO7c z@~d8t+u^Oxm&bcFq*wa990@e@;gkkFd*Uw7D0$O5v&<9S63k**atG-8bD;8v1^{7=z!1Ng68GsCyR1GxgC@<=&^ovqcAB%-DEQpFBCd zRcOPL1{}{anI8hK{8!&o>i5fQCwBO2zG-KKMXj=(V&wl9WaTg$x}Oc5<}LMH{G#Yk zfsN>S>Aq6;_43+10|33YqO|5jd9Ch~4Oz=^eoqO|0uHJalezv0(T)qDf9{`w!_y?? zDFLXYe_T=OT-HmzuxU@E>`m&g-x$|@j>GPr&BphAwZVE3;t-r*o)LXOAY7N^-H))e z(01$~Ac8VNcM&v%5TY?7dKQ8kQFaW+(it`Bgsfs1os~JRa3RuKE<|)CCyri@yA1}OIdhb{$x^|1^8x^OH32mNKun5!?Zyg_7It6F%GlG=2VRW>5prphVB~tW`eN(>Bl%#e>-|-wp_iomrMBbz;-ONHDUTQZOHyu4HO{VT#@x@<-dfF* z#-IMJ4$%=PV-auNZzJ9fcH-4Ryn1Zn-4I2*8q`3dpkv^iSw;9%YXVkmyai#2{wZ^Wk?X>cCC$#eON8+s2<(^O5X~mV$k!+8* zgSD+ASQf3+033@}>~xX@6=~yIl z1vl|b7RZ345ybXnm|Lw&x%y-lyzp|l`kwp<$08s>+EOoo!SK5Q=VK3;UIVb}86+=A zqaS~k%F0*fecZ#QcrVE^KQnJytn}P8dH*Ba-?2Snd>Hk7M239+Zq)rHC~QOZY!mKV z!u`Z>#Go2ihci5VV0>8jhlX|Nd2{Y8tvh?Y(DQoWVVeL2#5bCaJrmW*9f;UsC+o!h zF5awOCl1WP!m>KaI(TXz>tF#+&?O=}2y{ZQ>Bv^~^?i7sy5h#js?t4hf^N~#VdOm3 zr(pAB)g6e4ze5eI(lq>a1o{AlZ{vfStRx21rn+oA;+gb&k`_VtR^j-@?u_z)sb?_Nn%XXS&q)pTt9I zf0)D4{x$+x&5x$wqZ1{4EHOLMOaLAkEIS$!b$^vP`fT$)+aM7lM#mQVRi%}W#(sJ^L5<{1$C)y1CGPd!7BNK9B~E04AFZA2!9QTAO|v=Vw@j93>m>?c1ZoV6YRfV=HA6TK26vf)E})5 zh9UyrcNRM^#)Q>@8E-enUQTa)U|bi54ypVBReSkJdCqH8Ijv=5H z=kk984ebYLVt*6KXa@y{vamjm3`yvAm$PPl| zr3_WlNk_SQpLQ~;{V&L<9As4f+sWw14z}wZ7fLenAcEP>vO+`J$*2a2JM8lnEkfrb zt7E5RgsegRdUw>sI+?;--!~3_qYk+YZcfY1p+I}GQ_)j)s3v!W%A%slfF>3dodJ*i zo@_})8J&P|#`{tgtAVF578w;yYA2(UKt^|)Dwk%G#H%Jr`~d}NNkSH>e1j-xp^BOJ zXPEDQVctj1J@LNTjvibK0Qtcscp$bdoJhzFtM1PrDRG@4ua}zFcvgCk^$e~SzI&&2 zJyc$MtZM{_@%cjQI!9jLifa)Dy#ys3)`Jn&EfP;}Z$@)#hY)2Di0F@k=s?0+8G_E{(dj6GxYe+}M=x6lZ`VR(wt z8qfEj>ao4>6qlGTH{N@~noqQK@O?4f{v8H<0bcs~XediQ4D#!AFv(*;{hdGk`e;w} z2nI?!VlU)C2;N+tC$e9+ij^fNYk>s51MHu7bNHrVfMq5z_W@!l^hcS*%&?MC=CdAn zW^X&^Kx9gKnYl_5qaJ1o3g{QS9GynbP&GPzOJKiG@a}QQHE|Xd^ohEw3v&V>* z^`}M@Bub0W$p1y5BerDIN2X($SXZCD)ecCCAM3G6{KJ z%8`rmPAK4umo3h4AuDvDm5Z`cJ)@dxy3fS)S%^zj?u=}tHeP{yoI+~k;m9KosEYq* z1=A|0R25UY1H*R9!zu=lGAiyzGEHJ6`O(fFJptsz{wn1kBn4Qb4V}J{{w*55(M0V^ zASZT9$pxrO7W+}=oG28}?zFSy(_=nbwND+983Y`p(lQfwLt_q@uO<(P35$5NG3FzI z!Pikk>c|m@uYT#YuamwaN^Ja*tyqayc-GcRGPxG?tl-~E&Q{f_8Ln3nl62-vf$|{o zr2N8c-Uyu-jqI0M=U^vHL#7baL}*5KdLOd>#$ykLXXf`Hezpkrn(;nz?ZPnXv%3hK z;4>tKufcOxg{VM&{wF6OisW!)vD2qrvOWN79-B=<61OxD6AF4(^mzqy5jeN0$WTf`2InO-}0y6W3+#_j0T z*p2Q3v~}l#OnFIHE2#LB5Bq=X=aAY;KCcdBvUL5M2Op?mOu`2!_ zfLgE>yA%hnzdY~X*U1#zZ>6buA!Mb@Qu^*zARodnVTN&{497%8dd&mxKwX%J)S5a| zZ|m5NXYOr>%)RY4b8jm>VatPU;cTaO6;f_zbL%_#cYy|Ainh9ydOOrj8MAsKfU3ed zTzKY~$uX6HA!Rn=+yDe}ebPpsCvEV5qjNEtN}f!&9gh#E|K4~eLrX70YM>g2nE?`d z&F!EJp~nF+2Vnoxru#C<;d=#?(hN*ew|fe|%?0SKtuhiawXEL2)8isgv?q&`33fMo znVM@{oT+u~bGPjSPB)H%diNRYmoaiGOY4%hvSTVhtAWO4YL@XyrZ(`5O~}4XI!#TI z0%crJ(*|qvvW=VLv>dI6ZmhudX(s?Lbr?A9;HJ%*x6Z%@ zxk)4>mJn8@%(K`>&c{kQA3feN_Qz=xwc>2!w0N}l%^k+&_X(+J05wY~l}-3TLcw+P}%P`2FZIt>n=lwd7@ zP4A_Q37-idLGf$zj6Wr48EKEbEeHj<*+D3nXg=#V)p#R8D^9FHgd9_G|M@oUWO)IJ zR+y+=p{4xYcp_07qfNNO*p{db%sfO|Ct8+cC@YcP63EAtGDgveEYSKHCnafp6U7}g zF)c|e=s6hfw?#*N?IXOVz4DIHwTt$NrgSm3bui`KL z#=a6{{0A>OgoB}32f%|6=b$GTi@R#QwcT09gIzI;ci(Qj(iO9M@pfZ>SD*u7A!(`F zFyqo>ZK(EamT`A7UOMx3BbW?Q8oI;yBw3pnKM7u(KE|R{Ej_Jhvkm$06Zx6Jmw#sz zchjaMA1qpLfn?0;s`WQEbklli?kwZ2ZfNwtLSqO1Ix-R*Msjz||6!xGt2S2K^Oo^p zA3*TO?tmaS%XqOnUVdYt@l|&~@Ye=I>!D5T`7%5J%u8;~@3bDa`CZaOJ4@3S8lU&T zmlNMM_V>^-w6Sj+XZO<5PVvSwu}EsL`AMbq?1qR@0oEn5zvJF*Z)v_~(Wsg8F`2_U**-=^^Vf@%ji<5nUAXgoS;aar#1ul%4$7%hu4#sh8viE8P7;;=pId8!m z{aKhyWsC7zZ|(T=8KN_UQ8+?GN}3#wYbhorO`2koH0egkXVPRXe2Jt<(je)w7Bp(3 zO=E0|R;2xHfN@(2=Hjdc#-k}9w(M_=Z7CqODVs=aS892KjXP4Yk_T_H5z|&lOpi=4 zo=MdfYm){Tr}RM^+ix?@@1spr>x^$wKrR2OA+=mN_0{8%h$?F8t^rcpasoeve83Qa zb@`~-d`7ptD2ZtUnT4JviD?7#_P>;-{cia9PFi}A=tK=KAM3lPQe z#yRO)5+`T_HR$qmIa{4S9$~bkYs)5LHh^g8E?7uHclkmv2s8qgFPX&#;R%+EVws&$ zH2>cCdta?I5emu%C@4l&Kct=i!vHPUxUiqrU(4@r+}sc7`*6Ooq93N-@Leu_JR2~X@_F#cDVRyYO|i-jKqylnKc+c+FA(KOrpaioCu~T|%91Nd;A?EA z4PV!1Y7^Qp`B9cO!T2##>zfe`XpvI_=Ne?>^v9wbHOMIKuU$i?`$m7Q-;iI0!-lEG z;r<YC2=(858fxFs?hGrX{(0 zBc2^fw6W{}GSO$lPwd21gb7zySy6~kh1Y<-HYXtp5h)h+z6gC88)#cCkk(u+5yW+b zKyOft#B4_*NXZ7e6xY!BBas1t&__bV%9XQ~ZL&ZPyd`IXomFW%QZ#7=Opp-Ly9hnq zKL{Erln-b~pHNTV)DL?4JQ6hOtYH|=T=-)US`&`+2!wR%>d06P8GOkt5utu&!JV=IfRxePP-{7K3f-!sa&e(d(H(v)jl zi1hV)5#sAtIeOJ!c?1_-t$zMjUgTzsEyh zppDGICa9K$0C^pLS1R~@3CeFdXl$&RTMG7a_?_H|VJQ@cr(+NfERl!{7o@-7j&Dgo!F zyC82R5KE*Ixh#fr4+3NbUXO3bYr2WoW*c6c02V1<#eb^9`@euX90SKKufZ{xctKw6 z^Dbj+E)J0S5y=~k9}73kj=QR>ob@oy;1Ms|vQ^)6SkzEqD0Ohq7woo5^^V8cx(PU2 zm+f*@ADrfypt_XmO~}G9a1V<3b@NOR1`En}itl)`Z5$5wCid(Z2;-1uxC$y_CQ@+} z8UqijX?kyR4RhzWhNSwma_(wS1W6K`p4Wskj>J?G5@`!e^;cxQoXrsLHVoZ}VopM1 zih-2?urhC?GKR#Esw(;@RGnLvU2|qZVJ~IQBFwzFKBoxLeCpCgTvNN1YUQAND=;T^ z>+12BloghgwM(OVg{>Ivni9AJs}@FFY&R)a|i`kqieUW#|%1R0j4Ai3KD*WWyvYyY=6 z-+(ojD$^f{Hj{-9+^?m+ulS9@k7+qN&{_?`o9zJ~^gX6{t!pLf+5;lwa{}guv&wp} z1_bLtWn4a^|AcKhdGAlfFY|XzKZGyB&0PjJH?Li|E`yt!?ZC~gmwjq-j`xXn<`@Tc zKZM_$XBG2I$|Z4zutL`I{tV^gFz5k|?Yomj@(L6eT#f1G zG?PdNnX8X|e2KO;c7qRvuIZ<7A&iWk@qs1af3-c~10lsPpk$FuKYSS4E0}(NG(!5h z(FFVv+qbtyeap=K9)uu<5N#?LJ3Lk)>}iLvr_F1>j>9%4Bk!=>Ohzu38!#Z2n_%Wo z&$Spi6a=3*mrW6e&8k+WTI;E7R8ZoF*t!^<*Evx2+1+s&Qi5p?&nGjMEncBNeTo!i zH9(cy-HzIBSwQUoXU0Em1Z=!hFR1w(@c1V+9%9tflH!T>JkCdWj}zKaM=` zyYdkZpFdL&biYzodWuESM%)f{P!E!c^ZQ6yERqcYcXpC>M_q@Y$yg-o+#P8nStssC zldK1NjzzLg{I-*7)bc$Ttesj;2GRw0=`JaYY0SkS8UX;vbP=4jf_*7* zz?u5~Yv%iVOlmp^$1%SjWq#j+>rEz~&BBELd`L&BP_UHM`0%$;&SPzq(;W@L$@?3> ze@1?P}axXh|rfyri$ub`|$2ta4KzQS*BEq)b!wsy_JpU9nyTc5DLF6QCfeg z(&dNLG-dItv|zz!;HL;ci!O~c_7!TH=jGKR*+z6C@bHuE1$zA8Biyx6aDubgHh|go z0e}~Y0qD%7gb@&Wjv@gg*aOBNf#v{NTaeYH%yIQ?R~RAwt_fq$qPZL;)i6SgC++{bI=PPDKSnwUduSK{W?kPJybyN5_&u6sCILd z-hP2GFj4F4>_sgd`Y*Jz5^CwkNhN(bw6iQI=~IkHd!V>b4wjOW$yI^7+4#LYO{VTZ zabr_c>=oc#U5IPTHF@5vkOQoB1+@IKRJyA<^nCMMR(KZg=A(`l-^~Xa@NP5SWdfzO z2Q}Zlc*mu9hC>yV9o&E$mMY32Q3bUp+BjHZyzxi1ud{o*(m9q&Crn=|olsuHu*MnB zoT#PcWc)8%(@#Wea=B#&*W#FuOGVvz@&RZc*=5q8D8oBM!gLb}73TFk^ZGJeSD3Wo zveC)~xF6ZvB_=O3t4s_DuxcL}nHv$2H=(B9o!I7l;roSKJxZUp+IsH(g1O~nQyT#h zlM%A0E13_O8yTWFP`TN7rdI8nFpf@)WkwTSA8pKw2Pffa71v~5JUEHNl5Nb3k)NAU z@&df;U#HV;0S_!9g{9ZxI9bFGp^|nUHm*;57$55y*~9quZI1VbOX6l@$)*Jll*D;I zof|Rsf%}Ggo*VcwRT+J&a7|#(c!*r;l|$Q4P}YI#lBvnfBvveu1r`o&c6dME3V!yy zji0?Ly%V3l%nhC)`Y_3^{G&Uvt0X(Dc*hQ_ta+LiTmulpmFETsriP7Bl(_ln3=_OB zhqQxdfz|>rn;h-6fu00tdMw!1zKo#Yo<-H6WYp$!6dlQL6WeR^6^%flsjcdK@?6g- z=_VrICAaw^RrRU1A{(Q7{bdE%V{7dihgSi?D0fck9k}KXAY+Fzwg_8~*`a>kJB^1A ztC@-75^m#H5348ZRXHwEG%U2WXg+29JLazH+xROt#?pce>aT@^HH>{m2J_3{e#9;f zKqg>L&QeZ-xx2btPQoP^XebHdkj`6(N-Ff9ptP?nW}E_7o#1}PpAV^NYA@r7Lu$^& zH<^TR59}>UwOr`b3<#(LkNN!pSS#c)Vpq}OC1HR9+uSH5h)5>{G2&%e8P4yN6hXN| zL|PKK0?2GT{!5Dn!D0&K*PG;JEIFJOJU9pPYnr5pn;?C4O5Xtz&Uph&*(8qqV%HOt z&ncK#vOY!fZ!gQVwMyL0}C!jztlqhHPEx&#AO|240^14l{AL?nCoXT zM9wvB339n+%m?QpfNPf-Kcv5-rWxLdnqs(;&{ax6JOEWcA3;|ie21hXRiZ1z_Mxj` z=t_t)bk%~c?nW1H<9U8BDGKSwf~aci>N)W(NDtp;MuExA7$HtE-NT~3JCoPH9z+`O zw+#ak69XJ|1Q>__0}*qyH5hGI;Fe@cMiBv{KmjCC_cHuhq--^{M!CDP z%)Yzw_4yH_$XwTVX6mYMFd7kR-jamCD6sU}C6fbtxqSf?)0f`7Mrr+1tLF1VHMckt zmoB-|CM517aWm$S>|79evGP+0Zd$rc!e}Fl@(}Nn1?)BH@HVtJ95h%r4f9OOu^_q! zPJ0aik&SuKNEmF4EbQ_Z;S@Fr_5keIP~z!uyTun!K@2BCJ3{BX@Y`@XwNZ|qJ2m6o zleNnRZpXsuY_ICnR^w-YG+z-bm-n*48!cWS5hU2Zin1pZ~P=bA(~YcyrP@kgh2#=y#>fc0971Z(*VM}l>} z)v5$*kpydEXJBnOuN^Fc7O6`9cqbx|c2%`kMcci`xcL$-S2qiu6{5gdAqt$8<8L|s z>iDZ$1%%d3;_jVzt0I#Wq5pQzwStWmvH(?!IIAp3DfF5}bs0<4vX^ z>!dxjVg|lZ@s7Ptnj5DFiBkpdl0cWgSJCT?ib={wD*FO1cgOUx!_ly4$fnX|_j;&9 z-89#AN*OycmVFM^IJ8J9qqfiD7;G_gm8Fr(axcfBMJpdIs?;Oi@5u6LPhSTux90_c zmNkjqmLIG=LX>42&js2yST(`abk`&n)HPd*IPxEFjvL|?D+1d10f?q&K7wfafx1Rt zxiI(1h57VGdAu%r9B|H#Y@H0%Wha$aC>!g>Dy{4GL5zv8F?0a^haIvH47rqQ_5s|x zWJ~OR?%fD3G7VbwRA|*DrdBQLA~SoAYOJ~(<$F8}O`2#s1( zWEQ}Vpx`R|06eh=Ffhgd&bUbqz;SciH0uTQtFUq$(Vt_YU+A%&OtBNF|5Y`T5cbJR zay1Lg0Y21mfTbA33{3|OVU)6z95lB=rFA?aU}DFx)M|(4y&HmE;|TGQ^glW#8Qfj~A{b zs99T>6PWBM48~0+G8y-n`}s9&4c5Ydc^zBCtSw>{fM)8|H=&3{)xGO3TrRj^@!(rWEQqPvd8?+8~79bAs~0(kYS5(1&+&_H(M zKTx>?baGfvT3?w1{~ogYQdZQjk_GT~fNmNVxLWC2aUuqpfSqLm#TQ5l>2r3ayNS;%<`TB^uLjDjn&7+xYY)Tm;3Rf;Tz2c2yP zM$TNxD^b4NBT9M8N-_0gb$FgJk{O_0aKHyBsqW}0dB84=h&32ELMF#!A1V$`O>H(m#V`V&`5*13Ad%CSK z9xCY(K&vp`k!VDH91x=&iz9$VONNs+2t0wJJh$p_p+KHqT>~E*iKP}AC9O~^0dk5> zC9VVE-31OLUI;0N5&@Vcv7IHI z2%^WXHAS{f5Urae`FQS7DTp?i9d{7fkUbih5BCBnhaUfDY)Sgq-yliLAxVvMAB5iI za+yjKPIwcEmLl|74@ru##LckJWChnyaPj?OFM);#r+B8z&e|12i7?^*zpfSwf{Nn2II4M1?U{?dMRiQnf$v2Ldas( z*7}Gec|hRo1YcmGKfxiR*tEXO#-}L)Z3v1g_9yvtbg@5n9QhS&+C}V{Y`SUXlmKZR z1^*_sRs2(ph_EGiNQ!+p&LDQH%4Go?S zQ9XG*OV5Q(Q7uc)#o0>FL0ls)Pn4cBl`jI>N#!|RK+@R?st579DXsxby)h-gdQXj@ z36`I$$EaxeHm*!WK}ckICg9+E^?0`t^g`P4%mn|NqKxgF9O79b+0@-Exy@ZWtMUeQ zHBxJ55DGaBC?3Vc!sEDw;c7{kSXL3UbW>5E0&AOdOO1x}YM)asUDPHvhFq(qfW26S z&FV7~16E-(st^sBN)|P1LTd2nqGt9P>|)L!bL6mVss{w8K66Td)rXsq3B2gfi~&j( z>%vm92u546z;&21p%P~O%7SJfczU8Ob)$(6EeC8Nc;KjRoCBU4t!`-eW}c~DkVldi z>!0H0)~K6IMQCqqLX5^fkLqw#jCZKt{Ha;$H|InFoX9@Lx~4-Ph587$!%tBSI%6~# z7X?^)jCXb(GQPh~OUrGJ8q|XXKpu`jgrt}XL(fEg(z5YdzX9@$gjZN7rU@ZPQPh(& zF27z&8+#K0gm|$4j^MoP^HH6!I?;dA$+#70)M~&+*Bi)Gk3rYb)w%vtdd}}AInvSS zIUChq|EKhPI*@BEs>pI|9>S72&IClLkD%!=#AFU=p3l1CS)2NZ{V+>W(nBC8t1{Qx ztDymz)mmwbKUaxsQ;V9>8Zk8NrCScE8U@a$ebCR%qbScj3pe%xSM_7VlrawvQN{>e z97(Il0x7@0N=B|w*y^>*i)1ksIvB2kI)_zRs-RLzwpmSu1sC)rC9eWS6D)(CTGXaI zXi%`iYsRa-`(lj#6Ldi3phLM@V1c85-+V?4Gyp5EQ!EUiP@)|JS43f8jtv7j$H2gK zCI;RbuZ*cKkQflDHBAhxh=lJix%2zyJjG2HMp^P~-Q1 zBB%BLm7tE6)7P6QKZcw}b*=x6p#Bf#w0@+ZKADh53F;aI3KaBd7u5A7Fo7XPsixTU zHc?TB+6A#naZT5bRVKCp#K?TF6=kTs2;pA~rs~q~JSji{M|s|`d`f__obvZr^891u zL71#dHXD3(rppNY_Y!o<&GFNQN`5Bz^Z1nn{*pmOp^|3L^bZ0ok0r@N92o- z;XSlWIKhCToQJE%!Gr?G z{1ZERlPhgB;5rHo9D<`5W_=qCTtpgZ?pX4VG~lq&z)3b5D8T(23-sS+#&04Ej-r7q zObycRq;nZsl^U<7g$`-gSzWAq%%vJi1rwnBUIzu3I?J2T!*?1*SF0&{795Ka)0BD* zd}J+DUSX`}N-yX^vt(RbWkB#GvJIM34KSyyig8D{@4&NYyi$FzoS+WQ5QJw4Jc`cG z#uAs_N|=OY17>xQrd4F}`UaR*6|Z+xW(X)5o&}_^Qvjr8qeNE+jAgV^J?7$Z!HXmp zkDeO*u*;FFhbK_lR*$)O8nJjHSUlmV#UtGPSUelyxW5C6VoKEFsbNwe+u~WqoHUlo zoA4j#ym}UT;ep!c&7Qm!NM~o74iBMqKFc?s-Di8|#WOBj>WGb)gLRNCBnMXRtJjrQ zk_E}+^&5)T6Wt+{Dza#U=qBo666w`DKm<*g{00yK34}xt86p#nzgUVT4VfVXkGZ6U zI~@eUnu8>sdL5Ofp~N@9N+sb?7Iko;1Gs44?<`CciKlS^K1PL*U_H!RLT(XF6NpCr zn07%o=8U;;b5|3rjaU=w|2^~>d-V2}!FwJI{33St{DJ)wS6a;2Be)TAKx?=ih z=773be2XWBjJpf`tyuqt$`#f!F61q#WW9alo_# zP18?)v>_)0HRwc~W22cD3ouKgi5jvzzgDMoYwa0p$UEhbkJ@r4Ll!MtL;m4hlLBl* zzJx=5%beABq!D@4j*c;e)_^z7VYc=0y;`c9}T-y0|9Ya_D|Vdde1vz=dmZEAbijfe(v zUS{}jY0vV5m>fia zWqP@D<+6^iG($dPr=|rQ^4_t=_qS++9lH}$BmGt_Tf2LvaoVlOl=Ap@#-qA6Fz%jr zB8Cx~ucc~t2aOfCY7-r=;MK4B>UlGb!+dq#cgEoP+9}%kLF3~2+CawxcwxbOyf9*> z@#uW*G;RNGA09&6koY&y}ynDdJE$&Rc8hHH%=vS0Io*+dSA?x4pPvF_i+G z;fRb>s}XXzY;BEk%5B<-U3+004VAo8Q~Dau4AatkY?h}fpn&l-g-p~VE)XkPgJ?lapaN&ThmUh|NB@5t+$n%eThg79e-S zRZkh8<8PwLq?py`WO;$EkkBW~_-e7%!WT? z5=jyej&KX_HT6rtM&nIE|bdoYz&^*yUU7dWs`c_^A1M zrS<+p=Bc9D*cP;+4d=;CukY7sKBTo96RIi}rHCZ)6?hRbFHV+kwhnBgtuQ()I>}Qi zqU80=JVvg51+Q|bgzff~!BWr{vJoWq+c*F+h{l)Qq z=s1uB6C&f}$sxvdi(Q#2N5OjWn<3H?$$!PQSQ3eGfwQr2YZE6S&l;A*JcNAmT^R=L zZ2%t7^^s@Jq44>m&Ya&V)Re9P@oi0Cq|3kobg_$|pT3@1K@S7Ca_CMj5iAjp&0_3L zK*C;!4!HnS1;lyDHNpG+CyC-gC&V^UD6e9;=5z0O0 zCc*Sk9JBq148cHKJvjB_z`a^T6*f3@$FSA-DBBmeay#NQSL2*GNsb@jxGJ=JS8I)< z{PXN2SL-HxsG;*>|7l(aI^|v(8)QSF!x5y~P=Zc0tSidwA|yQIw?6@BknJaI!&05r;Tj67OnorUBP9v%VeG)Pk%>*?x^l&h$( zHX%^M!x;?H#8Duza4Qizgg{Tl3ep^>B3UIbC>;t_N{21ta3i8OLnSEWhMG$I$O#Z> zE4&H0#}3jA!DwQTX8*1`;o22u)bWha9IVe8V8(?ZOp_j&VhocSO<`Q;;hFBU`i|jy z)~+iGgtdis94$PP*+z(OD?Ag#wEV!8J*G@;576X(zrE>9G|hce^(Xnww4p z=GmFO6GZEY7{@ZiWaKNY#xCsnAY9wlkqFjoJC@~$_nx^qc0ad1`744n-6&f@vhb|z zi2tV?(sIk}_ z0k8_{zAG@RLhoB=SNjK5)FI_k9gn4YFCqu)p2ykMu2O2~O1eyy^D5fKnIV!w4;`Zs zjDaGE+1T*$T_ZXPCM=P`gvayD28=}!Oo-C!dqMDnagSaBdYo%FJ30?0OxCJt@CZkY zBO`DXd3|Iy1X3o{hNX~!up~JpkwOS11{uQQuLRHcgXh!0VG(Nrz}*Eq0QKm!u_{3b z9U9;b<2ns7%m@%#8DfY|xn-@NwZ1+JA%->pc0j5fjwE&rG0c)7h7IH3%Yt@5P0MM9 z7(QbH#!(9M; zKd^U%b1fg<8oC|G=0N2l#PB0cF0&mNkq9xw2(1vqT^OM~#1Im#ECe8T0JTJMQ;E`Q z?SM1PumK&@NkCh?J#HZ*aG29eV0Az%;#WZBViy5Wu8Q)D)aRRV3jnAdz%)T|Y5*V% zHDs6}!wp5KVTBoL2!MWVsA1cVQhTVOM5zojglES@XQK(=P6U!MZh*898>Q0aWXI?N zV6-jV5P*w8fW{!7^!9i|IAA?E`cH~>fpCP32PY#Jn}chqW?}yy9dE@FtwTfNG#fZt z9SpZRU}?lo$(nh=6)4I9_Blno`hl7)6R0qBf_{!|ks7rL7Q=!dl$%I_M(7_)cK#wryUEn+049Y>N4fEnRS z$tfenC8td02u)7uhN3|(>AnYlQ*c5ORR;?baiGzSzc|=fbh~WZ|F%>&$N>+is_x6e z=@I8YF*5i+BP9t1AtZw%5bpOn1`R59tgY*awPr_x5Z^ReRseHC31>7pu79~8Vt7!S zIGlVTlu|IZ632W>T>nMDaFs4U{O1qtJ3yb~!KYO)H^A#LpCWvmxd{$}?}tlD=HrBL zwdDQUFtGvjg<72r3xINf?E6Jj-eSjZqa7+eLI$86%RO`p=!N(4DHnzzW{(8K8`Die zA$AC`tQtUMT<7K*moa?iat62NVrh%-iLsKM^l;|O7`{8;{IPdISk5)OU2b-3!8aB6 zEe#9;{Ej5@X>;^(ice1dPKlqCrq?G-VfF)X90fP{ntybFXH{c`N`Kryx$L! z>oeXD9H6xY1GV_3Zmq8QYCGc;0e|3CjLY7Mm1;3f#`{@Jlk$kjq!+x6X+jV-p#zI) z5=a^IXJQ#ZvU3~H)LRe7KsA}Bi|96)<_<8;CICVO7J+|laeoz0w#WSu#gtW+;1pYP zz+NYDf8z6V z?Hw59>9w$cESzVUI2Umgx+7k=2N-Eea!)ZIlCv>%)PHHmHEJn`>yb|~oP55Z0&SE&6Vd#((|&BI4Un>+W+J2&EumgmcH>b-IIlcHTwd|BvF=tAgc@@OcFLX z6bO0+Ap>{?L6lt~US>$x5y*i^%bJ0x*BKO1f)P*%a6tq`41x*@lY~uz5M;|F!2G^- z&Y5Hgfyev2@B8~BpULU9y1J^ms=B(n;0;{To^OJtiZk2jlmJ)(0E(bS)Ay5j9aITr z(bRS&lm#6Z<8UkKYs=AjF^-7teoe9{0-_v;pQ4}$lIXLpQ$=4AIx+Fsb|f%JSdd^S zhmcS&IEi+wYpp7Y|85JXipp%ti46+Y07a-lm2YCR2CJ4guX$vF5`eeI;-#&?u=mg~ zE&OU!rN(Gj_!UOm0Iek*QI*7K;DOR*h^q838Ul0Afe%Qckks&A#nwt1pMj*+ph`7* z|C}Yf9~#8g-y}p;F8iMu?T@Fb8Lc+$#3RlKkozhppfxi9B>u9T7EqPo$~gx{qo_*S zKBE1>Gs}GKq%fEXa;#3+uvAp5Gs}7--Q+U=69F4GcSjGyor7c`raO%~q&|O*U7eac zI@Md@QFc;XLG%`v`-J3L@&tAuz_q8*uxAhIOipig4~kgRvjPsrsg$CwhU(!ebw#vI@Lmxu!H&+T;87$@AiBF133X*VGSn>;$CI)g`pRu^IM$$q zxZk}T{)%O?2m+nBz!zMg9ImRxc>OsSJ~OcDWXqHHE|Fv!-Md8M9t%)^5$%s_OXP(| zu|)16%Q&*swhyoL9aJsj0yIwdpWT8+MEm1;5J29l*k~v&9#zajZ_$%3wgrWV&nMMb z$0(55yYh=(l|6MEqfDjNS)Ur^pQ)vMUzCBX>@d8;4Xc7>iDzMZ3HMkQYoQHT=n7C; zJse5fmkLM5M%gPhX?;4{*Io&dPy%Kv`6p+Ot6&#XUXC^QwukK;g*#BR60C= z3zGSCG*&%`2?~;>gY@SuCE!E{_ESNV9(h4V4FTm1kQyKxW%rnV)S1WRn+;bVnFRy{ zt-C22g4=r`_;DZtE7(19%W~#_6kPvL<(8#N{eDeD70HUb1lRvlxrJ@+S``E@!Btak zQ9KrjfpZX$WWteVTml=j6%Bxb%{2K{vZ}ZJ9OT^@h?)Ypj%dk|a0Z*S?Skg`g|@xR zlIu?WKNM_=TpQH)e<#;09$$gCV5_);kwCDS2UQC;kD70T)ilD(YI38jN2VES7)Rb} z{)(5p8HoeB!@pK>urBTYt~mGuab-knCImi`WoLt5>_y@3SOj}XdYccF z8b%BxBo;&UvAD@NQXFNvMCmSP8IIjj*e(pFp}?dAnDkaP-_l0recmk|WI~$e1TPYC zDgn#)x*+R>T4oZq@Dwex zO|_P3MHru|Wm>A$%yL}+P_!A>A_53I-gJMEnt6Sls%EZ_kUC9ERo#zC?_e5%V#WPf zWrC{iM`s%xAOxllVrs~haYl1xG`2u=E8bm%SbEfqAVMv;Q9^W`N6qkXqse$TH->wm zT8)gZMzuFLem3N8ZmdV#ILF<=Qq$_rCoE`c#%W+dQ8R#%Karm2``>Y+LO+^D@qKGu zHU&5mh7`TK6gFeSCYCA>Z4@x^V#eK6N~k0%y+4scbs@C{M7jkX(5a6a9aOdNQSOIp z%Do-sZ&X@H1qpV1fzc6>1P9(7qWLQ3i=;KJ*5}9KMI)%84lL#5$t5o!t>C1RlI=%o zDXru+Pd_W3+?JXjjZQwpHQ;eep0z-?C1tu4{z)>YNx81ok%sk&)KSgYZGRG3gy-MGhyF zlOrA!O_WUzx;og!BW!N=(nsh3P8bO$2&9kVrBu4&4$geqUWjna-3}fnLII(@k2uc~ zG-!^N@+i-WJbH?Z@^N+FCJB3)eqXvpgoHbgK}?EqM}Dl9sWd)JvNk8hR#2T*!wK+!oLU>^|;%!V~k+rm;C z%i2K~HOgB42mX$BC`&q~Vkb6T>S8K>ZK2+eNIOA9AFgfHv=gS$jty7SQ{G?5^P-(B zqMd2^D(w)B7+P7Xi6sA)lugjlYDmOlYFbS!bin0oil4mewH_@_nWYvb7_}MHeod3( zbHN4P-`hdy-rrwBxWOy|@gjr}tVrHDB{&i1$*ZCh?+vJnqHX_86rFe)qa}0pST9ZO z0}YTlOIt}Kd=xVQ_6qF?Q8a+F1o>XqCs-jnQZ?!5y+4M{cXfsO6eBuPgI`-A^1*u) zl0Zh{G3hkHn3d*5;euG~MG5!(1SH0NW zLhEve2eQcDK!1BxIDO_BUHiW+oGcEqM+yCrfb9PU4P<$M_*)VZJHDiJc!03}p8}y_ z;tdZF{}U$Q4!TE9(|zy%N0`un==V2(u-tF4U;rW(n`88cEt*8AURjc}t9%ZDR#Jq? z-rRrRO8?outE7L7F1Im+h#`9GWhHb>uY`_`phz!7fb~QgIZV!QePS-^jLi036|3W= zIz$DOaMmB8V|pcYjG=4dQLTeDf0f{Pph4on`)U7?S=$779#V428cOP%QL8Xv$RGP zAWS~8xiumnP-n(bF?bQ{)c{cA7HU9CiLV|N8yB%}!!b-X(QOHA;j{#_pv<;M#p1=R zQ`0>^LDS0A$-D4Nn?M_I#h2614;P~A_$mLu61F2C zuqWtejx#`>J-(M%wh}K8Is@`6SF*ZHS0?<|unu|z*=!P~s{h_v!$t?pM2IrcMfYps z!Wz~wq%0mS^wgWCm0@p-KuADq?bos_j=0VIeQQ}goxbc?aX|jhIqW?hFOv%LC$3|= zbbe*AuW=)abjby5e))(;y}6s^pZb6`s>=^Eo`3Z-yoSl=F)o5Pv$o--M_Kl*KxqqI zlUdHA5^v!Q^Bfc#vKa&wz680&{At`17VdZl|2uJQSt6<)%wyAdrH<$K*}`V?1}*TM z+?ya~YNRPrPkhOq;Vh<;Nc;+vcKhZ0iC?iaT_aOnxd$G9U)MmQ*HobFZX(v1ADISMlORacN0gKcHA0CN@cH$kN;rgly-FLB#ejU;1y5azFbr*Z2^+QWo zb`A?J#Tm9#TXBFaZNiP}_@!XkbzfjBI@si*N2TM+{&ggBiRibR#p`V}F_U+*X1cQF z|6z}`Yyh52-~CbfViw{N5cGRHeTN!o9f*Ke@TXGk+HORW7cCa8_pm7c!1yuov~8uBCpTTIwfz>TlYM;j~*UF6_m7hfNoYsC_KT6pLJQ zcUZ#ljNU&|BAAB*D%y^Wpgce`e7*8ElA1?QA+M3ARiLAr*t8FCuijXsHhFo`{hK^b zdG~3u2zi8InkVtdL)@=N;UaaGs%8f-ly?9{STX6rKP9=Y0(CTdJ0vMGzi$^9%o zKq8ApijkK-A_Bf;(^=(WG3Q(4Kc|)JSfktklsf?NJpK{U{Q!HC4Shr`IKY}F65SGs z(mU!$l6_B1<$oh*K2D(#4Yp!DRd2 z5lauE@2}qxI}QStmFc3(cX*;Q^BwWwcX$nTe=BkFI~K!c_Yrr#qw;3a`+IhSO)!e? zhp-I1Z4@I8q28Ij;^ZN=k8R#7KKub={`QbK^aFdI4O}Fe9%k#=f8HVgdc?7K)9981wt@h~h%lG^*lzEJ@H;!m;QU zgEZ)(>vKzd?bp5+@kiK`VKd)>lo<%V8bUFgjd2BVu;aJyMaB`fE$9=}by7XtDNI}V z_U}c%pIA&ggxGAN3yn=QA2@EKyypx#b|Mk$Bpn*V9BuOaZ;p^ZNfc{;Vjqr4XoXkV z>Pa2HLVH%cZXSzoYh9`1YFzqH-_ew>eOp*#^{FtVha%mCrx!itZUD}PNV5e<9j&pZ z&h;oC{}%+9jK2j)a-CLU<59MN#VinAj$sbM7Kp*eSX2MH3vieKyC|ZpW4#EbUm(^W z1Ey}y7su%L^OhpuXEuPJ!K;{QKeKWCTm19G&ujw!82_aF!UlycrzZwqz!r?3)S`YfkZP8inG6gG}dN|fZqY(u|=ZG z@2qKzp87%`)&%r1#N;Z$0iYE0SAzD29uzZvXJM@6yJGq8sM~#>*!DY%s{hzLhNlq7 z7vI>?VV)>P9v<)YImu$%B_NB!m38$gn>%9hP4RSQ%=UNlK}ngQvW1ds7ru$gnjI9+ zpJe@-Zl5M)o3S{=N{tmEwktptVz=kg`Ufu!+N+o=4x9weDh~+XQvhe_e35vHC9|SC z;`LK(82k2)ICP4QV4LoUc23qW3KXhbxeW@%fvfHmTv8a1zhlkBN++An!{@VQ&%O}K zCL9p0i&&H3GF(0^Tbn`YpjWt^q4J<+VptJ-Twit$%0x~PYs-9RVrhTaDUOw}MBiOF zh|}F)_?~91eGBk^6Mxa=H0#mCWROouKBdDEtr;gJ#KazM8Z#T!q=pGGA2`MG(`=f) z42z-&KEqnDcWt8k8MdH4HE@jS0@nvg{bT*bu`>`0o!=1y&SLHceIaI?g;+_niPz6z zKHj$pb`IZlwC_xtm~#%Itt>~)A7c|2&H*vMYTpBGqW5`rv~Jl=2(favJ4;Hbo8RmY z)?e4)CcbVa*OkNYav&5NG4}!+%J}~Lvlm#hj;)=PpLmfm9cwg4wEh#+^y)XF-=9GJ zbF;+6KiP+@(>EgO5}tD2GFz;@g!H=Kh~1Y!&hCBU27RB+6j7JiIOt&WF0&Ro|NPG{ zgMR(!*oMg&ATD2FTUtZ&Kdgh^^$-Lw>0EF<4&dV6WtmVHIqcjtwmnJ1SYH zfV47@_?srz(6anHl`Klfe9Q8qZeu!wGCu=vE>oPb1L$ay<+J>$ZmOEIXv;CaRL6E- z5@Q%oOw7N;vP;3d#3`ka;hVK@`ro<1hPwqS7)&7jKBVMgl2|9S1xa4*=Nx+P_@YisMu47_aeM(!i>}6 z-y}HhUuub7fj_OJ3_@6s03NB7qK~uyjz9w~XJG*E&)&T#P6qJqzP~hfivx{Cd?241 z^aU>DjWZ=}y%{aJF2_o@PX*wCd)_HH6m|hE^FbhyXM0))&>DUn}7h* z*OdJ!lIPatPcrbpk-Gdd7XDoRoO-;IF63g!gyxW;vnupT|q`L6;zStFSv zmAJu}Xq-y@Etog=#av}c1tK7XcW10zJQ>2H!oGx(-}vyuF>fwNX>t7$-q8eoGzk>b zLwI7NH?ERd8=hG5ES_HAp^0O~mJps2=6DrL!s3(`!|@t1A|+!+>`0pS(0Nfml!xgK ziibmaito0YZV??QUJvDCbZf=0p*&hA#Pv|#1`5!_Vf+YdJzZ3U@hIK1A~c-8z~a6Z zuZM%~*NCt28Fg+NO)V`tp{0gmL?J;fh$HoAnrI!tW7zz3(Jz9BMU{M|mYaql+c1zA z3}oceo-H7!XGHL*_=$hH#Yrr3v?VYpT_u+r3b{mJ62cvaz7pFac*{rLaf=Z!Bi5rC zz0O*gfH@y&@}(m~SSy+Q4f0<`9tpaSriq|P{tD}!E~ZEF5p4EX;$$RGWYfRGtM2^q zmlU+mj8w#27Oh(|@INWqIv_s*GHHa=P&VBVS)kiI|`PjLgCz3+68 zS%V}y)wAIRPm~q8QT!3}d1RapghBw?^TDgS5}?Zb2oWl%bUGMv1^Fe*lI-TX^z4qm zY?Z?7XHecMMc516?lRg{$dT$BGeg4dnIVz(ZdZU9xJ9O;9(5)jjpo0wmD5E)V?KZ# zeM<~$%;N*F^eUR;UlC$KV?N(wSc|A8e6}Gg8B1%9#7Zfq*NmmLF_uG?tIVI+h*FyTz2h2^(oT z6f*{=jmIR*P>JWto8nR|k75_zRBWw2B~f=G z@Nf?hn;rm!T?1mh2E?id0FnIwAQsgCqQ^HZUVIYA{g~xV@kJbOS9c;x6gR-MlNEn0 zj(5;2|Fw$ePdDgSOYPu>s(EjEv)a5D7x%JOtepmHOM>S<2z!X~?t`!zD1W&J{NCf|gaPI_89$-{T+Wy#D$PAqR5 zv!8mn57F$JsuIn%sVdQIegLE&KLFAXYCu{=G&rVh8CmAK~M?W#O)b`L%Lof8J^ush*E2lhQmMQOkvy43NS+1s^!YS&k9DG2_ z|9L>mU)N}v=!bneCI3cq-c%PB3c5W9qH)emwx4StDJzh9ifEU}+cEy8cqI{H{~uq9 zrHQ-?`(vs&ln7Pq)KqaJk+)_EQ$*92$Z!6o7|@b84ch^Xou#(?QtW57w(3j~i(B&e zm`%t#4Ng`1ip4L4_)MImrWMaMIsZ^g-dz{=A_~<6=KaYkFny+~z^u+!fq6s&CP4#c z)MOQy*YZ_hSS`RjGg$@Z8c=dSU>=_=cC_Y${0^&5RT0&OH__wC&1Rx&8$RE^Ux>QW ziI>{*N0_OtsB8nB@Q*JUw9q-cZ++-|$FjkfJ(aza$ z$u(TVo)?>Je7e)>ce`q;@T^g$Z*`~lEEJ+XG^R|I)M-*dM1bvqq< z%g`f8ADXpd=73Ak!OQUXmk!E5-pO16F&H0c`r7+$3_6*49c4tT$M}@`6M9Xv;7Rv- z*udpedx=jUdb@)82PBwe|;yZ(Qa4( zWWhL-3^B?6ZDM*##+X@kLk7-jCADjKNd$G{qhKpc@5YmLuZpj`@t9U+$)+yyaEvWZ z>MEZGmu(%d60^-0HxghwA;qL9dDsDo%=deochKEiW%vWCjOxw@=~Dg`3VjLIL#Bk^ zkxbS>V|G6)xvqh|-MQFn!L3hkX=SEU8Ei9dstf;YoYXpm1&1@^dc2mhy_EUIY7aDykRz4&=1nb+p(fPTEo^{tly-ob>Euh;y&Dk&#~ge|!^23ekH28T1rp{c z*q@Tlfh{vw$RUo&p*)-0W)~(jwf%)d2Fe*fJeLYvEy@w8XW6C-cZYb>ngOvA8|$oa zr*86N+0gPX;JNWsbF#?@jnl7_lhiV^NKE0Ky8j20S=<%oHym4)%g9$3;)um{%GVa+ z&KK}L*%-?_1G?$=n6n2iP{TK+uW*aCDLlqkYj1Z7r22Tb_$viwy%p$ajIBp9wJNZY zufq(+*?i$@jiQrR@Ck%EKE{-r{l&0e{Gmpnj(nIB-Rj{%%ix=seXgwq%~T(3eMv@qIzt zWpg!WnUXk+6>8s4&l889K%uvv;GJ2%me^KF>>huuCiwO527kp|(fUcg^ls?${vPx% zK)@07&rDLGAG1b<-l)N_d9D}qAzI>MC2<(LF-INE__dDth z(ph}%Rta-uttYE*v$I4O+`sNUI-_~1-fo5gCBAxwo7lfT6?dNDt@TREqy2baHtbU| zy&rEHo=O)QyWN|TC2Vp#QgAH~b_1;S^Yi=hMmpvgCk{Nzo5tA2k-7zEavPH?FF*bH|RDc+O_ z$F8wr<8zQb2R4cWsLzIt6BW<#n6T%yc6MV=|9kXfMfv{YMC<GYadIf%Edt{ie# zWio;!Lp`xQmB+CuS{q}uHp<4TZJZsOfBbnK@6#RJl|{lKIMO;GJ6V!RFoeQMvL(Y$ z_QmZ!Qr~%nPMz(q7LVigNnac>2a1&NOH60)$3>Ty;7FLZQY?OnKN4GJMMF|U)7IuF z3~7^S)=3?xachuiYvAMJ_)GkG_S{O*ZYXc-SB4ijwz|8CF+-8qYNgm+m3X3?s2B<# zsC$K&I?PjYV>hvJ7((2J{}P^d2Qz4d+X|5}+*7=?tJpRiZG^87VIw?=`?`vLBcPJH z_lS0rczk3kydYNQtGIbc^>V?*L#KJu#kfhlWw-!log;9K4c@#gs&8`Xv1ylS^An#= z;!(bHq|{mX|A$FD%z`pHJ(fw7iES(y-vrTp2qmKkzYGo_S_+(d>dJfH!*YP%e}kA1 z=-d%!P@cv1N>CBf-0o0ZTop!_SK%+>6T>W1`N*dWRyy~DD3J&=5gSm#6B1v<)^Gxs zw(8&!V1OsNz)udNIPy9EJlmB}M+u5Ag0x^O#q`NM)`I%v!Gb^VaGbS^l3h{4RF^)y-&LzOjg1|i`E1T`qTru4jA zgmNI7o)5lN;xAL)Grz0AjHR-vP-&2vf+}qN`IqH!r2*r)3l1Q>5%d;vVL@q34Gl55j>3uj z3)F(QnMqS;p56z7lvrD?PdT*rks?sR`+-xsB9$p1}o1^)6a+=vyA zHcE1VL5w~Q^-BPBv85~9IujM?==Sw!R0P@sYx&ucQRe6KhEx5r_d6Z3H=Sz~2>fJeut`5{+{D+iX3E&YE z=75adv@RJ$hwUR@r3_v56z+Hoqo-44=p21p?(V$deL4@I^mvFG5S}ScO1*g(AmNTn zO%!iGI*4=}^a8>Iz**!|=kyHxkwH?n1nh(pRxAn>cLQpFsS+N?R4Dfj;HHHV z>?nOq9pQh%#C!q-s8+C$>nDFedHAI%SqdO-J!Z1t`BCsIYzE@XA*7aoJyt2uHdfI2 z78;=ju47*5a4^mLG9@3!TTsV}hC(Hioop3JFa5ZMNei7L_3{=LeUK!g)7{X19>+0> z7|pl>W=emUbaO%AFa}~rKMg8G!{5-R1Lkxu{Q|;0^ovpK!teFW=j_mD7T!e1bRLTM zmsoEd1W+9ktBSC}Em-}yIZoYmoelLplsdK zkWi3D#VwP!>PAoQ+yl0qZ4e#}1|HjJz6qLrtsZA=1IUs7~R% zV&c(gM-!!tN_qV>f~bw)n%#%s;wW8ZJxi$pyMQ%$&qwJXTp^a?7peuoIt_r^*iiNG z-i1^z-m8V`eeVN=gmm|%*18EM$Xi;%=;#m;Od-T0Es3#GRH<_(cH0nXLfF0bGRqd$ z$vo1tzi@^yKp(n{sY=Y!7cY=6qo*Rx#h@C=2M!1i{46T z;YO5V9jr`}RJQb-pTE60xQ=}eq>}1T>uWy?s-%v8M8{`AkyNKR_zAn^Y<>O@U#}$?cg$i~2j0>PhATLH|HBtI8P)2)v3KQ3Y()X2obxvhMsU}To5hfM|s*eFx zZ9@G+q?0r$y5^>3EUQ|Y;OaaO>H_L0fnswb9is>kk|s2-xju3x<>8lzY&?JUbne{VK`Q7alK?ERw&J8sP`9NUEfJq)NY9rOH7JmjuGh zX7@@J1KN}N*CtggcT1Jlm{3)!JgrETos5@4S5c%2U8Z%HRKcB{GvM|jZEp0#%5tJi z`d%;_wc&gdwpx%@Rcvx2HfM2E!#ZHs7(?eD@&D=@?vBm` zE_VW&E7Zk0D@0kU=#|tc$9Zh*Q}h`K%i`DzCN8g58?x4|C$%BMaY`u^fkNSqh9DZU zo+&+!<`9)*=@+8u6lMViLn^t*DE-Ik#vL2cHhDKaZ62sC zF4Au;qgm_Kc)DjaTBD+>(GbThWi%#NhG#GZk#e;6V0_iV6l(n)#xG5cg&03nnH%D} zC`X1@hiTeq2!&xNw<|*(%`~r$9VkN@AB}Rm)_67s@+JOvvk+}+)V9ZZwcS@8jK$$; z^kuI```0p>^S^jaO@KO@9IeAO^oxa|2i9hCg|5K&Yjk!Ha+nBwUj1qUukRsn0Rqpd zLE)o5)F@owh7UxD{kEMbSuf8B?xZ_g=V$Y~V~f5PK%r-+mJu zNC#S#g<%9NUnuHlg8SOtu!qREpo5}LYXDsxMu%tPEU4UNB<{|mN+?JsH7yjhaQI;1 zcsIwLHwufymtVT`j(M@!Q2;q>Dbu9qq(-%+@h-zDHJ0*jONd=g{Q>vP&7L0lvqESxAS=u1%41M!uSs?YJ?Ir#JZjm zVd3!T)cZh*8e;R$h#mNDg4edI!iG#m)nP;5Bi&cDjo{I2%1AYG=!f^!q7*p^%cCYi+z9A>85kBj6ApGX< zD#FWt7k{AuJN>(ee}fmYxn>pHAN?+Z#sk~abH$kP*sZuxBDUc>%47ywz;6_!W2VTAyW4#V<2?9Bh8_U>OkY@sqnXP`tby zgmpd-5wB%pPoht`_%M^Vh%O_C89f?N9|wWp6vGiEXn6Qu@Uysp+v5?PDEW$Jv#>dS zs6b4g1?T9C>&2m2@Y?oB6F2C4Wr28dHgMf^y;wOL>2=e@?%Di`1^a}7a*wecI%fm; zw*{muwhiLJ&PDihDnWmNa(SkYJOz26Yp^!<7opjD%DsVfDo@|!@UgO%@))mnhBK`l zYoPox(w%PFU5H^i&%F1?0{g1T~j0Uw*wuYXnLfLbd1cvY_MxSs5WRpj)0s;X`! zzH0(~gUVn^F5;LL?dB0rS;^pCrt(zx_QQ~|iZZlk$8*(;&Xm4^(lsC3W;MMX(uL^^ z4~c3;CB{;Tuu=nEHZw^r(R7#?JfA{kjoeq{;y*TVr?@a5#CIE!?+ZY5B}2t43-H~2 zr`Wat#CX6a0u~~D(@@cFAs;X%5cfcq1oyYoF#-dRUP#;45?nDpO8Ou>1%5M3rE?FH zKgQN+@eq?M*OQjQ<$qHeAWKGlr5w`MYiZwk%AxL>@#4}#9^bBc8vNZ5GIX^oc~NFz z>(h#D@-xu4tYf=&F2TY-69Py%bqay;+E5(fA-oZv!=b<8K5pNoF68Xw?vQ!_!sEbWJiS&Mkp`bLhdj>E)0WX6$ zX-~zNly8j_ z^u>I7&>J;iIG7`Rm+<(Y5j9}nkt4b+0nDj2(l_OZiA#8=rpZb>p^6};4YRd5*yw6t z9bg#Sv2&8L(HG&E|B^VggeNv_U8C%RTFOp&NyKFFsGyh{{Y}piPi6tWMoJsFQA)$z zxEwJfi^l}{)F?kZM{LZ3aK15A9M8h`$sa>SeVKO&Iu0C@2%&|8;O&$n2FvL0hZ^ZE zbHp4O{q07&H;u&Ph;1_Z`=UmAP>#5Oc3#*}qa8nOj1}M#!pUgRp%r*pSEJnRwJP2! zMyll|QaMHbM#}YX-4R2U@^N90J__Iw*p<|n#d8J)Kn)d-n+HyOJ`kOPN<;gG%CM8SC)|<|>qA+RFzyBiX@!CaQHl)U5wB+mR zuxx|d-NA}3lgyG&XKlW z@e!An@hCq6x}!B(G|1*j%>SSmkPTLR$_K0$Aax+;WnDC)tnFm{6*Q7bH9ZAccmrEN z^#6?)Bvh# z7V=6U{3{!zt!}8-t0Sbm=P@!Eeu=PFJGjvP0pt@Ln+_;&B!cZ=gf@T}h;(Fn;K2U` z$Isu1u;sjI;_Wr4^8!2?z%sQ#Wxv$gb%skF$pun`U7_{?;+5q*rolku6>TtWHISZQ zts|B#=f)rz9lJ(SWo%pnxDUP)CznHkdi8*)FZh_SelKCi$4_!~3MA!68{b z$#@%SQaI7m2<`3#@VR&<#cVbiVbXPa1%Vj_PVvf0-Y)jWojalg{7?iEGfO&oFjhUv zr#c^C!1*hA>#k18NC%N=Ly`UfL!$zuDc?AwdZI=fJrWDpu|(FcoY9b zt$8ti6_04V4asM~1k`zPv}vnNVsaBtiT79W&J8+Zs6_ovGKrjxMCmFX7qkM^Tu%Xa zk$4dWnS&0BnAQB@h)wI0>&daBJ9IYDY?&XGry|f|S4KTCWHq17dcG*`yrPe4|M-iD z2?)0qZbRVd5$sG`TOR}$!q{GI{`tp}(AR?u)XtRbVH9U;M)LrZ? zZl@lEbq((v88kr3{^b=N4xp1#72+svii^-~QlpFF$2ELOST-t|+exm;3c-OkurOX; zB^Hm?$2|YU6C`rGR#F9wHxMgySkW1IO>Pij@g!-`N15vsbB8gy!ZkA8E1@SjjmXJmd3t48=v0KEV z_j!WFDM=l0!RQ2M4u)43mx(S=hB?7T!^Ez91vLDVAT6R0gP*nVDWIrg17h6hyAV%3 z0Y$XqPAF;~tfB}}8mR{I?gI28fI^^_e@b;i9kfwHR3;%-Yv&zFwEuudSw;@B+W=x? ztbVl7;}7T0m-W>Lc5Lf)#-syM&%0?U4j+AmS8 z5nTE$bua~63k_J*BwQ=-Hl}O!o*4Q19)CF(EJh5#lUmVkmQ zX%Ogi#oLm7bzPl3Ia6;}=GodB_lQ^rq`4(~np=lIW;f6EDW|zibNkpWpme{s@DYRR zRo7{-<87RqiBB<2+X~=I5|UiG*!dkHSuM(_Xt&9XvyN4eW6`4-DChq2G(bv#86cL< zV$CnFgjmM6b+44S{#&Lv`V}JWs?LBFvuXWMB~mAzpebN*C~P%o2g8M!$SQ2E*08<>t0aEjFaEaOdq2e z|5MG;^DC|w6{KpZs$L^Vf4gd{V_^j#ncF%#@>xA|HNEoiu6tV;j3FQvS$XwXCd`#;sN zzY@H&rUw0EQS+vM(dq*pXBqj-U4%b+HTEA+(EtngeuUqc2!AZ;F&g1d(#$XrJ`wn8 z5cKL4Nlpi$r|*eW2>k?P$63&}0x0O*L*JGPjFgD`R}lA!@j5%JLENz*?pP3aEQs5r z5I5ZTAnr8G^t$p!oG{HJ;Fx^71i(?4*mN}mI(%d_qm)V zBW~B3P_P__rB9oTJ@CI7|C3m<|B9Wi7;9l=iofi@C};!)Fk-@$`6VYdw$%`8O3X8p zd;x|4`8RwMozOIrLf;q{{yL)(N5kt>ozyA<_r=j}*O})*Xo1Mg^smkgR%0tpB2VHb z7i7k!)x3i|9Vi{VCt7B$NGzlL+d8|Ij#8VrT!Dw)C^#gI?paw6f&#ipJP;tUz%Bu} z4;Y)qu>}s1LR=(~FL??^LYv0pENhOC(qT}t(YoPu1+p`;|05^4PGyUV6{N7ev~Sut{SA$7xIl310Y-l zo+bfB(zWMJX_~1-2U!v9$i!R{ZxbLC9b~1&YL7~6?-6EbT5yYNFAPADMPR$nEANQP zgHYixO;V1O_xgTPlr?snrgDdrj+@%7#2wKVM+N4j_y+)x;tLfgzB36YnzITD?uo@8 zuVefKSH#l%RZ+Y$car=jP2E8PE?Ncdhzi^Uq+2m`bp`|Qk~b`tq# z63`|#HZqrC8E&R?ol!-76-U@0=}TB}k{I|gY&H^rljJk`TdakLVfv7?A|6xd0s(Z^3@LBHH`RK8e_NF<;37>m zH&^MR5>Hhs><0FV9o@AvQ8=!v?j#LL($5$)QDbF%9DI?S{~pKp#4a9s~>3#%6`BRW|e0*sKK8Ws%@v zCSH@kYd)Y6;xXd2#t-5%0I8{3iaaKoAx(=`E}9OaogPFlP$KGR9B756H5Hg9%n<6W zZ%TRXzG0RsapvDlMX?RPh8T6RzX<{&yQ>(Ii=>%H(apg!nuBFD2g~U4Q+oSNjN}Fa z_;MhxopXH3tt6`<;eLUkV1>Ls1!JK(!q$#8QRxTy#v6zNbaF9u6R&RxB6_JsA~vU4 zNVFE-$n=wsf@4XP*f5Y}4CF>B_D1jx6+iFJJ};#O@p+^L8E|2;HG;+w<|w}mVFyLs zvt)-`Q;g1U7Y!g))E($=!TO+|W+K-)$f2Ca+O6b|vbDtlC4@yPPn(*I9-6|jnrTHT zet1;2ju8kkniZEjLbI0m8|nE}68VYup}A|Ra4nJ1;_NJo4cu5XHq9>fSh#HEu#>r7 zwx&ZwV|7cz>NXGhT$fM{V_a{n0LHADdU;lgUamkusC6M&9JEX2iy>60&Uu(DD?_w8 znR=X)lCqMm4P@(v6ytFGA6L*oUWs7n980i$W?+cDAXw^@VM$=}EYMvAu0RkaI^{UJ z6|rDNh^bBEy3&t2OQ{tU)R~TN3Rpu>5~*}pL5);T0?iR{IitIDCV^`m%ZMPL z0><;HE|mjE?a|78MeTsa%dbkVFOcsfi!am9cv-EB$K3G5VqF>~UPMf#t$*^~%*D%x>C)B@QNAP{<>&UUDqn(^uq2c(!7Es;&;czW zw3L`gse!PaQOg6k&MtRs)2V~RCt9UqP5E3_p_*0VFO;>@X{=*T$PhP8whEt zx(v!zr}U7AfQ!=iG*&FC!5F|9a0M+55sI2K|G^f9C0D1KUq|ISXA@JR9j4K0VP357SmdwnH-X|_>Bt0h@l3+ zV#4iM0rE(Ed*+a|@7(k1`f{(uB+0JB)a#^a* zl>4cRsuo7EYQc`iK(Qadc7J(xN#{ffDOL{UO!2P5`jnM$2{%)=2}0pApnuW8)3 zbOhG%Vnk1!!l{EN02wg9^fV%09T*M0+~D->mgHi^7MFm$}q5i1?>kd#XG(j?!~7Epeajv!yN(9vm#R|@|j zK&TDst9Xf@{a5r?yrd5#5Dso+qN8H!2&3|JRHSwEF*+i$ruos_yoYu8-}^GKmr%y6 zh(BK=Ehc)zjaij%C=`%Fr}0gqmHf|R0Td}I&V%Ulhy@A&MnxHW(V?1QaUeLI5h*;(N7V^TuESr1zkLD6<>?mjH!ZNSI>;-+)4Cbav_x zJbXw?KY?Gf0z5aiLK*dcy^%cU%KzNQ_-|m0sMDgZp}1%kBOs!p2sz5|q+2O{l^U(? zoj#q?$C_NB3J`Eo0E3|bl(ZL{m+x;p$~~vFsg|jGcNvS~;TVNNkzNhqu-iQi4MQ0j zP?J$y0X?q*)UHS}@Z_kQ;7P3E#FMsA93cBowNLLOxQ>Y@C0uoD@>hBC7N$KJ3q-QP z0yTRNhohkz91RhUf1U$tf!eDa3z;fwwE?wCT=Dy4tWo5oP~b& zT%h;#!ajB)&Kw93C;57y%@TWhWX6U5n#=&bkj%J&=}~P+)oJBf{8wUX)x|_z{7D2~ zL>gGqBG0GQV=UB^Ns?;}2!;4`7NtP}D9?pXuBBNh4RW`9ndC~<(xy`y=KWTt1#3D1s0xrpRZ$2cdVts40w(Aw{UfchG&DqPNK%m4 zkU}+0Bvha%{=>TyD2)4&SAe{;h$ro@1W1HI=M;Xo14fY=@_4tY>fApI$XngogE*f9Ezn)x#d@}g^PDce#5Vl zmk|V$KE#oQZ>ztQcMQK%&=%JD!*R}7+1IukPkDSR*6u*eiD7}*y#ui&VG9rsibCC#FR`wD5me^@hNR@ zvTUNWxZ&0Tl>Z36Kf`ydb}*TKXj%~yas zKCCPIkj!@({2F$`R34UWvAE1sITTvxYze~?m%BM(jabp>zdn(&A(TEN52_hJ1JD7w z0?9~uIz29`2u6FC`~ImcJpdMZ9AZtRjuNEk#p|j*Xxr^C_g}=a8`0S;m{~dm zvbFeB%JvMfpkBkrvMq*;0VZ@5(hZl6;QgWBQF$a9R(7~?zq?uTlTB!Z=!ob;dQ{Oy zCz$DA1>E=;U1|Z&2%Axtc45CqeR4)D#FWr3>_D__j@QXko0?oY(7-7ijWoe14fUsE zk|Cw7M`F~cSa|9D04X&D$5S!dD^_f$s)ivEXt?8}Wr(3f1C!##j$J&$a`dADo^~wB zWK}>X&~yO503g`4v1bMhv0Is+To0gogI(lur&={o>3D<<|F1?J+7liOkO|!30Cx&{ zO8~eu1m)-k^f?1Sj+H`6ODq`kP8L?WpJp9}8D@GNL(nnCX2;m7hJi{%YU=k$`^aFjuIA8fHM>2GEbtNYzx}FE7Ig2BJ}d_RAWTLo^^s5S$+eVa z?}3tc1r-bc)W-|WV*q3#(#eW1V3LuhqYu7|Ff#HG&ByT>8vRXt&sEXwAcfM5RfvGg zKpK=il`jY_C(#)}OIjoCeZE@iPNn&aos44a9i{2@Q|a zI$DVD0sv+MU__{-X%ZG_sz@SfwA2X16y|6MVxmI*kSSi;%OCBX1m=lzN^*Q%)7G?x z4JY)BNa`{iyh8u4!;=FxJfHdHHBC4Xos)%&iHinK{zNM_q%pG?#`Iz0{9fEk@nxzA z+J}qLCOj+p?c*`6sQ^{F8YsE+1%Wa}a1^(smnrm)5`27=MfDBl6xUANn?wIgkTC7>y$WpL1bka>!y*TK zRK5rkT9lxZvr9zAex4ZRx~le{fc^)1goh3Eq^$;EY1*&1ufk1 z_(JM9+)=t;^hSoh47W6hH@@YeY;zed&PRCFt5?LvZ=n;6FA#;_V*P$&o(Ma@J4H?C zr-Iz$imHC&DkPY>!Hzv;;*|r4KYK$K%Maj|qEwWlz&z?@7kt5S&S3dxMJEV%%*KAz z=a@Glp^9h4g#);5=$u7#I>;XmFN?E=$aEbTJWlfGN(Cl&E)x?E0+`EXVmbZZKv3{O z0Cjz?xN{Id-F$|C3U%x)Q}_E-ph6u_l!<=d@h5wqM7{y)JDnj_fH8&2Ou5Q{$!S_2 z^#D|!22=((+1VaJ3SD955x!CH_blAn&*P%YBtw`SGuiY>Y}PKkpUmVtZ{l^uW%Iio zx-6o;=ZVRg0HPpJ%7ZL3_Gl5bto9Ji~ zX5f1aa{5l;_#T6tHdkEwo_7jM#~|qV5MfjWD#|e@OLRGelOSV}NB2LG7nRyp25AeI z|C~>VVe%>{KXj^xFy8Q4vGfpc+HxcMT&J`b>DYk(D_fdeo>hh9EZ|nOvfJr)QF4gK z#azXd(z;dvsbK!=j<^o&NJG`QsKz@*{13dD5wStBqm{6yO%(P-F`fUw#*aRw9=VUJGg3R5PSWN~tIO z4&$7hW`uDW>bPMEwYw3u(zLktZfxj=BHXI>{06GsuSB{H zuVlb=c6e|m?l{MeYkEOL#rVWImQ98fF1xWCQ8_k5*+J{Ru7i|XzDKWFoa*sQH#-06 zAu0R)#{>Q3V{Q1tSE+cyfSvegJ=8)i)tT# zFB-pMd~3V+n(^I38~;lf|LV+0^15zH-xI8iziRB0)Un6G!%l{FYhqdA6dLyijC=iJ z_zW@TVo)26ITvFtp)voZjQQkYeYh@HEIz^$d@`fu%0ltQ5k9`v&x*oWK%R5XjJsi^ zk)!1UP$|Vq4a9OnSJ4pHNlV0lpKwjuyT~K|M>z6|kw<1`*DcZN*$5J*7#bqu z8wwdmmJUaFB~7LGOg6+!X22{VERoOdQ4CJ;*?|I!;RK-ldrDsbY^muMlj~ui-l}*5 z^+t*eqY=D^-#EeywjKyGHehBEVP=(z8Ed?h_kr@=xrOcRFLpN2U^9j1imZtHmu(<@$6QXJSIfHZBGd+^dw4FXu}8D@=9M$jmS zRE=_MD#f&t>o>@In3)ZF+FwJuN?f5zS|!qUA`RMN76ajF-sUXL+bll)1<|ppL@>-sF`B-2 zccfLJGLy^GHT;@^-*cCN-?1uw3+hRExwt3Z6Y(^NLEbAW zJJiH)9c@Y4_@uZ~h~Srxo>Uo1m5m{qYz(SZHYVM4--Ay*@cC*DJlp^tazHx7WG0fy zAeM@eLohD@qW8nja;_XHyYkzhh7EnH?ldn5(_X z)dQibHdwqxko$B1gqXwigsS~)Nv2-*|U@Uz}H7-dZ2hbvK%#>ocl!iKkTl`wHnc=n~4#WlBeKWN#Y0C(K)y z5J!IF53}dvMa6G?SktM8)i^Yh*1G|{e}djC25Rp1ho!t%x8p@1-bGg-X8y**ADc{l zLwBiiqC*hS@Lt#YPDd0)I``N54)@Ti@H>exfv9+qcoO|4YW-dVz7)xYeutyqN)RIH z8ivMFUX$%&<4N?pQR%mRbLw|wmC#8o0_{-0@mjyr(eL0rQJTz&AekfDpTbyA#)-kF zaF^bxACwRU;XK8k4qJqdJ&U{=oDk_azfdGQagC3K@(>I?0+v5*A599BT*nu}*@eK# zy`XTSys0R2w+#{M_z`93yy{%7%s46o61tjB+(mXqsAE5snWSDTgPAfq_i!T}*z@#N zu#mM>I!fbVrAbHKsdOa(bvT$B15Mm~N|V>1sx1peeE=BNkMb~Mx4_DtkWxF0SISGK zJYbb#m_2N{W}$e!h|jD(Tw#TO(OV8SI;?0$;G)CCMMKWt5sww~jzPD9Yf{`v*4{*C zEw+gn#dtsjMnD#W5>AI!B(z0*F$ihvz!%$#`Rs^@zAEjLroI=AYys`-P*D7%1hl^q zDGKew{~7%!4#jlEMgY1o$4PlVZx#DWa9VNH?|3r_nrl%X5p$Y{C7kG^k~(&t5vyCD zL?gnVA5zF|I)cwknEn?|WBLchi5aIsa_=5eNj**L%z)0my9km4LW$(yUCf)eRj@Pg zEJSLZE$bsL{iqL1Sfq7^vmcvoCfAn-YYNQ`OC39uoUCKJ9~Mi_@FpxWPHa2_T6^-4 zxYR|TC_0?wPe+tv@Mb8Ksh}edtqoj&L$tRrStFi6L_5jMKd2O_uDVoXM^BUr)nr`} z@<~=-!(^(So=`_Omnp2AhZ zeg*Vlju2zd^Tv3?V%~ZFoc{Fk5Q7YF{pMYN649#NGI z6Ft8aG7ZQh_oed@DX-U;qW%S*Jn*LzP~;#;sst%mlY~mY-YR0Ngd7A9rT0ZT30N}H zM&c%L2-vK_yoEw_h;zt7oP)@{0IKsfhyxdRT0K}By6>?`hl7bDe-@oec}x$I`EfQb zQydc+eMyLwqy1Gnm~DsVKx-9g9>wh?*OwqXiu;^}@e@u62g^$NP`{q&c$SnXZkFP9 zP*2ZoF7g)a^H?$XA|K(m<~z3_-0r!^;~xhY(s)U3@v|~zn# z`vu9>8oMUcZ7RAXv{5>t%$hIa|K!~VHoOn27WAqeRkM&zsCp5Q8uv7lNk&BQ=69iL z^PgA~+Q*6=hxJjS>`&Z2Z2C?W(l1@&eWRY8r#4NVPIXI@u6YP|JTXt~xP*g?#l6Mx zOL()V%REtW2`?cWR%Q(mVZ1YA5eEF7Xy(^=01DUy*ayPu~$gT;`Es zsgYQofrA0~?Q>n14OubZgHmzlGIX*wf9lA)*U|a2X=^MTKxSMTvlwShKR`JXnbH~9 z?CB|Oy`65dlf#9aE$%%Hl~6e4B7AJ0U_U2oChADo-@}|kkbv}%mYmstcANViOB^KVnZ2EdgQUQKo$JIi@s3RQ75mb zUf#6|M-<5R!+uH{_Q{HPa8~DvJHhXhU;L4J7;JdA&#WtS=dMnb_@>GWhb4UH9+aa z))?i29fOb-4~)(9rOn1*M}K@nvoF;7tKZLP-*I@GobsR0zGouj%E>ziJ9=pe!%-Ih+U8IIBypvAvn;#Em$kj1}^V_)h`wva2xDkY9|I$UWs?pX`62$+ME~!HoT_G zez(4~Row}?i<~S9J((bqNK707uN6b{aALNLb9IpI*p)&0BXd3JNv^jPCL%9?nB!AS zht7nHWF`MAVOcX*l0Ag=zmV4T2%JTMe2@+JzK;Dxy3exu5 zgi) zo@hZxxK;dq6_0q?1fJ1}#ZTllIGAjR=b%ChH{;APl=)fktrx+cPiQ?2NPgd5eE~2@ zt6wRsACQjH2+ey$g~$UjD!zMCp=e~Ec#VukMFiYe8QK3w+M9q!StO7D@62=#63(2E zKr%@#2eQcF7aB;NVHcx2#81G6&2KY5y16aHG<-` z!XyNi6-5*ghb#Y2z3)3PAiDeg{qsC|=6$>S?XIq>uI{d`s!pw)b{%Hl!r|$n@CW)3 zhtPYG)(tc&)2k^SQ;d}*HrmAHwB80_3;@WwJsN-)$=mGgvIETqol318XJW2%?RYu| zFlC{6@t*L^Q)GCXqsnOTTN<6u*u2ZCQF?8iYIAsI%I=}TM*v2Kl$VcE!A=RM+t3ik zO|2b419BJ>IVG30PG;}YYWtgwr`BG&%03;3RLc&Zj;GcZF;$j!;)r5OgB*`z7)pe$7%a|2ex0m_+j#G4g#v^DA@ zGA2905fNIwM3;|f&JGR*&B7ejtVLy?ACUzq6b`2AL%+I4obTdU#&8Y5h#bh4@y?Na zYD&jWqN#cPTDy1DcPc&omjFfjn*b#?X2JvRK)mO2I@iRuP8f9OJbmk4rkmUAg|X9X zpP&vi6oRk=-zGrLK&DX;{k^2GpiUw8a(;!UEbA;HT)?9X>5K4ggg1px<(nTd?OkRM z`G2wu5W5CBOkrU7*ULP389$QKpIx&Qql<xucoXQReAt+r9ZWwKWbEYlZ=%<+4T4_g6Y&B8bj0}dFNg`QNeBp zDbe+%nC+IC?fUWv!DiN_YS%t$TvFA_G5K0kjCH9kr-Nd6do7L`$5!I9ff9gxsAdHi zIl64oaW$fvT@7F@dQ43=`7H?e05gdW;K}K~5T{6~O*F_RSVp(ty;-e#J0tUOnma3a zCuw3v+RSwe*sq5=Nws50ZRfe8^S=OV#n zRJ{L!{HE64k4SlkXBkaR7|T0^p^=N%`Kyg85rCrDm&_IX?m;+4#JGc#G+7{-vc~5| zn5Nd=y#=&7yWAzuO$fdaQ$Q2)=`q$pGVEkzoX4nIGMHrr>0(wUQhp>8rFU!Vcz4W# zvOtIGYeIuu^;nl0DI>Xc7(pql=V^v>9%o6Ay~3DP%(KN^ z^95H(4Xkj|q;JvZTK%wj7bQGwpfpI$k6_dJxP*kjgC5u&s5~ zaP2tg8tK}?hWg$^t`RY3dBg7<(zhLSjc~0cExXkA7wu7ZxH$Re~&c=BQ#V6uZJ|wb*|$ z#TsP(GjdE1FGRVgsUr3!A(b1CuFV8q_QF^69ODloC6~xt2C>B_S2ORyi(;T4L0^Rj zm%(plUG5z2C&l70J+@}d%}fJ?*b$a7^SoAGv7|eVOA5A%nXxeE6^>cb(EZHZKQi>B z(f~Iy<%T8?nG8d(!PKTlyz!~1d{;r*ZIrp6-xhwatD({&HI`X-(U zCYPCp3!U_$rLG=HFKo4fvH0v@EPr`XzqJ(ARv|m|wPi%f}X9 zCTK$}L~I8VIcMIBo(bJkA&Q5nJ;8k4PT6CON(oosdLn`E8yRrDYMggqXo9%E+7-9i`<* z%E%e^g_MzRci7+fU0rtM{Mb7FucmnIVnzo-nAFKaL(W;`S=OeORe!QBovwPcg%K-7 zySR2Uff1j1$aPZUr8F5K$^}`fN7DOj$R$EfgeVJN(D#tuxiJzU$3zqq5h_Ul7Ly{^ zjx;H9!e2&O6sd5T$xdI{(s^A>rLSPj1<-Pgq>Rm zpj3$47wjjuvxG`xg6D)lU`k;94S-`>0GOvLo%CZVYJgMM>5VBui(Ial60491Epnhm zPN1DmPE`w?w~f$CQdLH-e}qMg&WM1%R41m^xfCqnJ}Ma*j(EK>Rh@_g<3ggiH08x; zsUcUNo~BOfPg-oyHT}jR)wJ)d&SfG^scqa$h2r`Okp(tM`*o%f&aKn6X)3G3*twvP zb&%bN{vu8FD1qhbB5teu{n)o4V_FlHrxl-xWn7bEf=+kDPq#Y3FuhIWguL}$<&kqJ zBVLb4SLdWRUK(g0T!bfR00mkg5BJp8#2PZ6NLPInc3_6ykgm>C&BIahp53TYPWTs3 z0T&@^C6WXy{7^-w8Xw({^=1ds*f|SNI%e7RrGtCE7g*XpK>tY zYuP-eCKQA41{-tuW{xYDz)mcJ=f|0K8QvV-tBZ1v6wHa-t~XBdzB<=w)HhKoFwl54 z8h>4E{Ea*Ye>0!gw{-!3ivvgF@1-tkz=&x43C;w6f~#oU3Eq4(XyOdqi7(3$+@QIA<5?X_;!W zW1W5{Q!U9_0Kc_dz!G=SX*C?7g||-jhF4&%*`nLjeCyY@c2#K^H&CV-Y1WiH)-2N< zDcFLv`P8qU>#9bim6IP3?MebOuer=lseQw*o!wM!+PRX4E@6tPS4gW(=G*7|dT2LQ zmhT}?dc6BF`HpiRhEkPZ(zr{H87cD3y?*_2H#M{`(y=m1QdS<3lwE5Za8p=_RLzbY zV7`%~`gTa51(_!xD2mHYdT);E;rvUJ&dTL*yw`KOFjwVfg2B3|u~{iIm!!$qoSnUyPQ>J}OwJ4PDrYdWMrq%8}7oGOAmWG7=%ul{fvU0U{)?z&@%iqwg zpo*1&39CIABVe>}KpjR|9rCx8@iw%(y0iad!ypA?>ry7y$BhCBMZg(CUsKWCl8!D) z#@ks5HLweiy7cbujIZEeoz+84a$dAn-`Ydn#`Ws(!s5{;A8>`KIWxAPhrHxgoz+tf zOxp#Hs+mordExY1^|YQUcU-gNA<-jr6F|b3>kBiLW47(sAw*2S>0s|I3*&@?>L{n?>AIY9D!uU9P(0 zQRS|t9JH>JZ{@oyc%LWl7(dGUbSuBI#M{YypUQiLgR|Xvay_JVp{w|P>}G-X3%d_d zj>}f(#2t>RhjqD2C6^?xcT^qv6s^q9SiPR>;C3yndMg~kH$PynI2rxBGG;B~n0*cT zp$ky78pcf4%HtPOg{3~dt@;O-%62@i+bNajn5qXTmF&Nl${JAU z@1_D{QJ~CUk~nK>lK18{*z8LsM$1Hx;V=r#=g>qC{AxYlT^csJb2VtXQPjXqTvf3h z3q#$El?`$YXQO8JH))HH#P#;V&s)nj8+mjAyse7D`OmxBaT zHA%xYcEdt~4JFvR(75cff1z$xtM7#Tz!txf=~hz!}d`eJ2Em%5_?yRGH(yfp@!k7lfUjgHAxGKSK7(lt85U|2EMHFyIotsJRI^%_$6_?N zN`Kl;CC6O%j^Wv*gRv?z=JEBdI-pLST7M@#!3PBpq^>W`w8ZL8G5=t`)rY>ilf=Ev#dbJ{RG0=F6u3Cq6EI4ejs3KM{@A<1&qfZNgy9G|4h z09C$8b&t)scF5sHB;wpHRndgFJw%u*+z#nzbGFoVEO&oOzHqnkZL9wF zWN$c4*xL>A%0<71qA9}W^U>FMnOAaV9%1)4Q1*tMF z1!sb*&(d(|6GSyQQ|_u_uFnR!g3QlAa0HP7dffyOq}PL4oc)GC6D$ZK%?a)6-y;)$ zj)FL&FoKW>GLA*W-8Les*#sXRZ8jc+ZU!_prk4+?it3Y}{OP0ld`?f)xNlw9)crY_%ohNmsrzS|6BVW8|6o@awE z!y8!di)9dk%Yjtw05(BM9#?M(8U!6xRR1RBqa}q%3Gud!?$3m%{)}qpEUfBBLdkI& z>ih={-AqGg>UJrrSBi{&F%pcxyO(P8jS1?;*nl-fjGLj-b-P3+h9C5aiR!A-9Ng%9 zXaXaW-+Zrd`r+H?tvPx>N`GeY{=a74-%N%8<(peT?skKj&#vt>Xqipfo_J?Kp9#fX5 z=6^$@5x}mF0&I=|hA6v>{0OkulQx-mOTMS(&mGtyDBZmVx8;{?@qWE6-WzQ3?!!pg z7YnY$OuwP49??#v#g@tHEKiR(7yGk3R&$7W(NA_9V#)Va)FrARADVHI?^Pqt^3;2d zlJAxJ>{#W6!2fBdGM&pC^>eYRaCjw!WLSypZbuu{w(OR9pR-3>=VDjtf&Q;8d8nHLVw>3-;l2KndNzY1P`&`;X1DR{aAnAp5<4jph^a& zErj+a@@{_`%csnC1@fL{_a0~x1RTJ$#VngY8z4+XaZ#( zQ2s<-tJF_>Pg1t}TW*$&NYDWE6$v_kMvGbQ*%H)bx~k_b2|DodBh2@a4d`xoe0E7} zQ2P3H6hQwV|2f{h0P`@wWOr1lNr%34R{aww?x#mG78X|P(H&KOmqiq)m~q`vbH#U* zy}Z+9aYeiB))1_k3Vl?#HCfdRpwhVjBb5p< zBQx`2{bncCtKDT$*f`I`M0pp!cx=Y(qY!!vAS|{q@gtx}tJ!ozFcaMs>2jnyanvKN zuA?qtC6V1Ts3&BJQyFX@(t!xpEODBo+yi?48*_z^u!4!jtj z2`TE-Q?0w|U*6`Z>H(Z?ZrYB9|6$S=@z3eh;T=aheWgsa;RBz`s z!}Oz0HPm@Rp?<=lt{FXp%D?*O?<+r>iiaIj`G=H^uKZozeTN$u;p}18y=k!i+Nq|+ zO(Cz?J6#v`Qr$|@DSVqWr0iZ?2DTSFf(J?4&VTu6_DYvodnJQqh-|xrEv~a0aryKE zy;O1Ht~A^ed!XI-ZPU%YRH1Y2P@U0R4fW0$jB&x@Q{>8cvy4x+FC0&aa!DVXg%cO@6u{_Lm1nrUnBk!~%RY7p zX^#13%k6>*n@t!otbVImXgAG~Sf(|xuL%N=Rf;u~^ zj1;j?@U~+D`09{8fKo~<2E9eb$~jNyjVGW&YxF%fK%dZ8o#^;Z&+4zzo!1uVLno@V zVOLVMWk+sbv5Ph=hb_c(Y0^bBW?)>4CS+PEGk>O=k21m~pJEQ7`cC#f^i+5%8uU?dE;gi*<;z3h6u?Ie{y=>Q#s zZw{ZyEJllT!Sz-MZa?zYfG)c!6N0~X-xbj!rPq$5j2wH**`Ad7PRhUpM-0U?YDZnK zuN88l$<^0T(1ue zP&dn!W{nYTr99i(N`3D@)hEF#BZV`a(0aXgpz6_mmu#!&u2(^WD-lF^i?m_YTPdqu zmV%9}cy;0+b)LU&tx+XWLl{rk-6RE{Va7T99?A>KWEvSxv{KrLj=5IC&IK|FSnUV?+%&!TE~g+p&1q&g)$ z^Fgb`e8^w>zTP)T<&50bIvcgwZzc6j6KU;6PSxe4T_CLPZfV#%axzMuFUjz9LrBRI zZB2|}f2SuDsKQBie*xz)C}b5}zs$)^2u6xoN5k*ysAk{ zxiWp?#*8a_-up~PNUm;M^v(j*(N(+$`W2hg(_Dn&ExdOy^V0OmgH_k035S75uU!NX zGv3!T2CEWhx3&7Y!76R^94h_pJv41p+QRehL^hY^{PquXe&abQbQUwoAV=_GDjy>N zoMp|20n7(XuJGxELh2k`q{kJip}9K;z)AO()RePg@G?n=v7Z|<7`^2f7^AO2x|VWj zi)5Uod&9B{&vDC4ZG@dgdS9Wsz%fOa6{)cuE~1ENYfQW$ZJ#buIZ1DB#1#E?hVn(0 zm-0=I=}kpQ+cd^v1_|t3lUDdg!%Qw2r zqw-Tf&&TBr166TV8+w&>gxgUEJ*t0JBUOlrmYYd+IDP$%(P+k{BWPlHx!&YaLmhYO zWy4kaNY3Nzo4D+|x|mBukRLk9S>;Adad=$0x5TnjciZv!_V_#0SYqo0ebrEv;|S^C zP&Lt6kB{(Bb$!}pH19)LMIRuqovm*krt*hgAbAmCHOM+ZesQ*SAUT*B)1d8fl#xK^ zzpN8sC7~(OYHMceO~X`fzq-#kZFF_X7alj)nCo1@^l^8ydwnU-m!NtZ8OuKS&= zMmYB9rV%RrlB?)a2q}E5$^PYbS0_T0IqR~8IE@oZdzr@obh#1Le{he#9msEQ`cbbT zQe+7nE`AVVx6%q>+6o3T^?{SsDLuQt!XyGX!o?=mp~6JK4sjy1?{rrFeT|jr%k{M3 zP~j;Hv|Is=DfF<{0OD1s(3Nx_RJa)`OmKAxViMozDYZ=Dqd^PLv_T`{-m##4qEknx z$)mq`nN=;qAv?t}>nSYU1j0vc2;J=i>k}goP6WbSW97SybwQ^1|K5%PjA&3p-SlfC zR8Pl+7S!we12wbkVW=xCsQ*d2Ky7k4o;4QK`M*PG1nP1Ob&iF4sXlL{nmFQipq^*X zPv@Ad3JzxrTZqqLX6-ZASTwzZGBk<%v&*y4o|hiKM(-S{hRVEC7d7wHMdlq`REp0J z*cHfjSJq8pSt9<~H%mGc@yN<9D*akXr_W|+8z|J#25LV*iKC(LZ{h&G(Tna2tX}gO zTPvA-BJ2vkeBNlW>wbu9@&{?+FVQOs{EjI=LT30J>fUJ+G^EdcX z_)7eMTIu`C9Q#Ii+#itjpgo>X`U6_!+qAN1WQ}t#13?)hf=4(ku_m0{)?$95=?JYP z7PH_=j=EX_;``o4)f9=p$=!_29olihiA(=jtj;WMS=FjL+DNn<-_vRnZ6v;CBkW0G ze=tB$@bEoSmWmC|pX4Hvj{2Mul*!9YqRN0HiaWeYhTY_MfDAWo~Bu@#)803gn7Ed?}FScwy+(C8}G8YpF;klYn`C#$`+;D(9>( zH(+XVE|W>MwRFdK#a!Q;1IKL*9Cs2nbLLe*n7CX(6adDtwX81~f{Zt9gP3Rtoi+zg-WB={P1aH&3_AdG7J66?9&Hu zGnkE-g^n^^xfuFBye>&R-x}x4KT-ETMHT0Fps+dKt!bw&VnwvapH;Jec6QCsZ&b}b z2F9=R^^#Lm?%7izcuAs2!7lct9x1gaKA6bC z3+sI#YlmoJMRwYEXM#47_?u2-D9o31+jr(JEB#B-y~tFHc71Ky zoph8;ZS{ABR2O!$25P_;lmNM{ zMtI9{=(m4|zIn6C^)Fu8s%L{a5p)-Wp%AS93uD)ssMBj-xmwb^;V^?!cIo@ExGkfc z@KytuT)iGlF19e)a0^>aFezA;;qo2}Q1hg21SW!0Me1eNc4E;hl71QWvI0IcEM`j% zE>f101o4n=wt?{oFjOoNq9gvQRRYXnuX$gClaa7bOT%5Pune*jZXBa>9c6m=7&X{G zmYzxB!>E7ALcI^v%O15o4VdzpUd*8vVx1wqYJ$(29zy_JYpfg`-J3$IH`PVR@Qdlq zAa8izlK_C*o=`@DCYU3@%Y?4H{;&kj-v^)IrHU1Om)h3T<2>B0eUleW-@e@fdDj}` zlxc`mVt6+=4DU?_hBQrETsMhfy*JS|p!tOF_F9v|vW5ts*&(ZKK0879Y>RZ(-oWqh zTfOZ;hAAK)lT3Rn{j`;rMV?ITrlEvkZlxP50s{^+;T{-JW+PcKZArHI@LbtGb*Z%` z4LY_swx*QonEY|HVtK+CtlOkI~mCtj;a=RF@b<5mXv%7`z+f3WfRpjx-dKxp|I(WFclN!DQf4 zW96Dh*<{#^_tYg8sk~=Fs&lRBR%LlEZ*-ndy`KUTSuC)N0{4{GLY zuT`#W8*hx?t82!hre6kx*4RE8=dbj&80k0eT$u`FqUaF~!>6CJMBiX7(T&N*%D+WH z7C*seB7S{m31nF9!zayOU~&YX2xRoU(twGY;FV(Wyb$Iw878i44eEKEMh66QVHRPi z92lk>lb?%^Mt)A+e{T+u`d4=AIu}3Bvs_iA)|&7^T^a(qjp% z5K(%zNR%FUWKZ*P1Xde9k{M^u4qbKz5~~PuWSGl4=7c!74=!$w8(rgudP@?KdRIBC zHi@)C?jJzWvzL5fngHW`Dx^8Us>GZJ&M{WHAx&ge9Dj;M8XvzncR`x2wK9C=+D%LJ zOYjblAGJQwQs|Ay{<<~CM{T}fsv>GU&a^Ptopc#;rXnrSSDdEn9-iMXGUV!_hunb< z){vW95-s}Auw?%hSYJ>&q$kb`+8TE)>5Myu-BcNNsLxtJ=`C`F4s$@uF>^owj2_sb z-#SzE9RAIV)(+=!8&lO_DhW)<@H#LXKe;i+%8ws8GQ8d!YGY~`OssRpscvoy8W$VwWt>4xVkhWYehAoW5*ce#=CKhK9t|4p>=O@pc;@Zt$_^6It@aTAa8Joa7lR z>mEKb$m2Of7o1efmKD1&lM~<7ZNvg;g`WG!NH z{TG4XMc`NJ6h84HShwu(hOZ?}-v2FO`N`F-6;!@uC=58;s=uX-teh5gprTD zk&m`;cYs-;cqfXJ3BFpAN9D4_m}^$ZM9!r%GCRm+GqMbmxO)95H<5f1y8o1sRe?%j zCKh?r=QV|_%k!<@E+D;MCl#2zM>5YL=-*K&b$PmrM5Z#q$g5J;#0F(wH_WSbWEC$Y z6H*Ep4?xC4k^1@O>Bu(>m*x+R@C(#WNMa-SxIi}_=Z;Y^5`Y;ffuVOtX z0Cn`o!jKOgQ=z1dUrJLBR;?9g3Rv>1a>t>_gFB z`o#;>q|>MN`D0!ECFF^gMC7k1bYyR6o;Js^SpNML$$H|2>Xsgj4-;Gxok`uC`GrB* z9c)69$ih%|3AVPrQXjZbot(Co@M*AozKp&7*H|~6hM(8tE>gK!Z}63@{Hu|vedwO3 zgw5q9O4qGR^gS1$7QS9PCaUydyL!VWr;7};HxlPsBJ4X!XIX77i{=ltfhsaZ*ieks zC4^Dt1dcT;b@2o>x#x=Kt@YZKcGC?s{mn=0!zaq7l6^Th*y|q1Xtc+lD69I)Rr7`rrdM=@89N-<=*zaxVuH@B=-btd z*Rv+7iH?i(M-$ZzX>kB_?6KyQnR>#-Du3)=XcUO3ZW#S?tXVeGI@T1{k}hVcQ2s1Qe9YzyplpEhH_G+v?-mZe@0mExqVsfOctWxdBu4IDSM;kce+2jGjU!eG$HcLfMtyU#!{g+eh)0d{ zZdJ23&X9;!m#S+M@1TjfG?9bc#3?l=Y3Bz=`#;ud%PBRLI+i24#3{AGwkP4#)4YS; zbb)-Zhvfo!Uk^({iVNgOY8MyCHGB|#nt3B1b}mh@Tp)WID?uJ8!t< z0y&2WT+Wk4G8}O~EqTUrf&8u~>$782yQ8LCE|6bKUX)A__tU}CEp=|h{q$4H9P0wv zmom}rr@ifOj^_d?Lp-w0iyH1XaSCs`pC&MUnFGG{Z9VOB)wATB&mC0_uVcMtTYv4r za?P}0qjQCCII42^k63`s+mrp_(HF!ONdrHHO zN~hd`xywL39)QEm=gwp68xrG-25rDnl03}cus|+!{@BMfe{(+HT|Y5HO>s{8Tqn#_ z&z*2H#x;Cf@OOSU;CxUm6aI7fort|Z?Yu_%e4HeH)|K(FteHo zL*l^q#{}kkuZJNu$niZ2M!oC`b!Abblc6^Sz|gek3&#UcV=>$xxuM3PvOUeoM*a0P zEP2hz-g+#=M*oF#{(gP*q*-dLb4#Ay_!o84@hdAoPGvohu58*hs+0-KtZVWAwXTg= z{~rt3J$7ZKR%NFjx0jI~7Sk&O0VBOM^cCit8xCME|Rx3UPp*)~ZwVQ@%Cd1A zln&-V<~8^*i9n0oxAO~fKvqowXNf1fyD@7!=Zwt8odQm$M*^1}oMV}OMA$;k(2TqF z&TCaS|E?c1jf2HTMV3)r>}kd>qyx`lITI@OWj%+lTfEzs72=T5jhS}-yBL&WD?+S{ zMmg>D1$q-?gFYC@p&Z-|Xy$9pP%8&BrQLY=`NLlHiLHW6qk>~O(oV4yf zr!-v7?J~~ZT$jXefR8%y!SZ=%Pvs-#-0SQQ91QcE(D0y;m`edX)szuqBmw#g$_QXf zolgDDb?QX_uLNLt%&tT-d{lH1g<8xtHgReA=m*L~dSaHbdvg}$KBk-(U|J|6d8gPt z4wz+B?Ye}u8KWpCymKnM)8>XOuC{3#FUKW2OlG9oS_WM6Si*slKU$5xyu- zf<1Bcf+tghOa_6r;>DzQ&rzPFQD1PD*TEb1VOt}(Eyjxe7Cho!@2StfMHPDguZ`s# z)0qB#j`AjT`t0ad+Sskk|9@=dKekf)(fnQSFH3Y zMUaFk^^3Xs=37;U^PBth1GlRDfz{O9oXsY55VQ0!St1hMEE}y}MI;?ZDw!ZbqHJ1o z4E^)1s$VYCa%E1ad(eN#S(EKGJX4Y|Ou1Fn_)8p~7VWCJ@Dg3(S0yp4-7I&Hc!zZ; zr@e@G*rpy%z1bC$skiyn`Dw-EYy;ZRqEk3Ip(Pf=ce{02K=pLqSD|kXs9a~CT>WT3 z@WyW&{DoeNsagqx#DB=BxfD03 zsZK|*+;kA=uJ_Kxx^daXI%}RPQSktv>ta<`9hj$5lAg}NuM19l34_}v>gd%&KQT}B zOM8g)<~$4QznEC>T>I-3{oOn@I&FdE*?4Hqv+(dqwjMoS^~>5Y#aUI6i$OP@A5T%{TEV?l#{yTzQwO8-vCZqsB>F~n3}Vr@K!BBwSTz;8E)oiw1DzWL9NyS|_&4Zf-x4 zaa$)V*^o7c>qO!h;vdSp?>4W;i@%pyraLEI$YS$(yX8-6J|iTYffCPJoE~HWTAUGI zBxZOA=X_|I;E7q>ho3mAhQ7?gBOQ%V#K3zDW_ihHID&O#Jj8zmGBPvgS`rZ0hr(z|J;Y zJB+T}U<&6?4R}otP9L0O2EMx2SySHKv?26oKpC+ily8eo8$!np_POH)hAkZ&+=s&z zj~yJI)J zJkMpUWSQ4kZ4kwTF&xWAbTTKq6dZ4W`E0Id^+9RLlk^bQVGe+iycQ@fXnzf56La>f~XS@C3$d|ykdR44S@l)d#c)&qvYxii|@oRbt+}u zFt6N#>80TU`VcLjieQ0)8aNR z43zmQ4UY&VDIm}CJBos0AR|Mem^86*i{!88dACU_tNcXXBj_#1S4M_;d8|3i{qjv; z@`c3r;i}_UmmZa>7=UD6z z`o6Wmga>YxtLV%&otA9#SFr^l-Di09yS-F9e}xPk$RO%)ACZbD0K_O85OK@!EwG$T zWrY=a-pRAqPX7osQ6#;N=Uh591*AmB&JYA1obyVJ@LyyRY_1bxIBb6cK_h~Z+Y7_? zO3ECo<~S`eZt~v=w71&hG|L*624gi4&p5T;T@2It4AT`1(*RgvstCt`DL=f`5EB`u zG3GFpJV`f5cPg~kGEQajDv3V$&B-`53-Fu^bGyAbrjr-IXUFZ6aT>Ej#%c6wVAa8`t77`+5vI2%2|0h?a*^jlDCK=Z3sI!q54 z>EU$V>jnM9vffI1BmWhoNdQMdZH|mQ<~3P#^kN=d#Jp!f-!Ti+fXpY>9$wGa8Q$)} zgbB{7Qz;l<+)FQBpmN(0IJEY8cGygKpVjHL3siob&?z=FQSV-$a(eoyK?U+xV^g`x=@W6alX$g(~?Z6$nM;FeS)|C-;|dMx8)i2Ex4;^ zU*3I)%+T2<8J;Kb9kBAe^~$Gb+{tddJXh~rsK&NW>t@Lq$#<~vy^Rg;5G&95Lsz}& zHg&qgt@9VDp6yS1^N<$MtY-D3Me4SsiHvgg%&apBhXAOrOxDlct#Wf7?aGP+@V8?a z%{O)bVfqLG;`Z)FxD70bPv6}txqI<3pFc90m~@#)H$JJL$MUJZ`gWBH47c5`dJgOp z^+AZixR4LF4f58%kLZ)aEqNt1UkDMg#AA;0fU-@ut9}V|uTtQl`)PNmp`l|r4z?tnVyuCb`o=^hjFb;nSr&Zf?Hcc>91`BY_s@_Xt40^wL0 zy3rJJK%tv(%!mTfq)9;Q$w6xw$u6iT%6oDG@!zPn5cZMq8zx!y1-RA*Bt z>27sr(uoi_nnHI>GAWdCHPs%ULi)SARYv#ZW4^m;(jSv%#NSlU!TTY3q#+^A1$^-5 zr16IP=%(A%3DMN~_-{~WeNFKIQfcHyaI^hi^Ylf7&6}%vSnJdIe8;7JpBE z$Me1zb;KF+zT6ocVgH^gzueCJ0pHw#)6OmHcz3E`2JgPu;`(Z|h0NaP_+lOPULxD9 z;2z_EsrOL9QIs)ajdKVR7R$BEqUKrm)R2EWqT=(&EcsT=7#f#ZGQ@Vp3eyu`>t^~k z0VgC*1EStQ4RI-5Wyf5n-(IYG`(r+ER6VnniGyD$DP8Ev(l*A4#SMYqUD&8)ABe3- z+p&Hw7bfI*lY;@e`UzmkZ}=JOyNJS6pb!W`>?@?TV!JijpUYI8Q;lIRijQm-DvnzW zJ+n%6i60aJ>Fz3Z^@SHxMat>$0(6k|h=8+@I3N*l#At^|mFUD1QRZgU{tZy%_Z2{K zP+m5}bv0m()x49MolMkbhsWQqdW^1cg_q$A6{tYjD-)p1)U1!=>Hm(Ut=cgpP{wk< zQkcNR9Gkr2t7C3*Ot8|kJ34PFzBWd$zF(zgNdZTDHdi;s5NngDatP_BtFRWj%qXm? z&_Ca=a(HyDF&r)p!aSGMp)#zJPyjz*#6x2_{13}xm?(|3D44nS)V^?oJ&?}auU@Fgv0 zZ|h(;Dt3R(1KMm4f?U?OA8-c{?0@JaGySf1Gk+Q8wH#YGW#Sa zM>ee4LAnVH1o-wTJ>o%?Hf0On3GcpO^YH8Z{`zRExpHDH<_R!pea)_54DI=v9l?oG z_Y_C)@z3~W`?hogzsntF`zP~!n62AdY#pf3FF&ZJ6lQfn9n1RuT976IfIzM%@EqI0 z_`v$5PZ;5M$QM;y8Vgm!8(4pTtr1?+MUPvex}-NsH0`+)y3{Onw)bRLa-;*mmvqs$ zE@8^(lcHZ+qQ;)kP;L}%|0bbkFLtcEw;2t`0b?99UE*Wf(!1X&*pwcz)ET@xq8%1 zla1J!@1cS>-y2HmC*#xL#nRI3@$3>4IMIYVu8#3+WQP-SIr169=_}LXi$b*S{5!hNp~%T9K1C=m#HB6S|^f29UoO*N+_Uob?_X5|A4rdml`-Y*Lq+)iBkstU{%Y0?Laak34@xd&Wnt{y%JR z?r|Et<$rAOYrDbDls^kp2{$mqm5Im;fLa$^A_|CYk9A2PR_Dl#+a4QR)4(nyWJ_`A zpvqVO-`EaEj9j!V+BwI@D>r7w)%1b@f$4nuTCS^oTB0PL!niDT5t1OX=b`-zW zT826zP)5@p3CHZKE3Rh}p5^;i)D(d-b6|WMS7fp|#1}4+G4=};Z-M0>5I}ECeAd-q zpcujg1LkPZ3#&1<-yDlSFxfV*1h;V>nawzB1e-l5`Z!fReqnL_6D(^spJB|pgW!6r zmG|djez#Kn%b=>kFjlEtW0fo4ST(nov5Et(${y$&-Cew4d7kTZ2H%eLh6gL~#y0&w z3<41jdGYA^`mO(%x?Rnq`~=49(OJEF+%t-c*}XL@N_Y&Hcb4h!E-=>Nx!!rdNRKgci4< ztufdq?k7f%;9Nw$BEF)Vw7H1=0Pg|bs}qgE>o^6e2$+1l9zHIUyn_;pF~JzDnKI;E z40U`P9R4adiNzEWSAJVG!MZhOJq5DTYWJMJ z^D#BT-vtVV?(>E(yOC=e_+_D*AD9;#{D$`sNF4q)i%;N{Wna@vu3$ay-UF;Gs55}L z3;l>6eqW+?wll_0k7LH@Y|N@gmC2fTRypqigA7GMmce>?E--lawGIwA$9Z5~e_^CR z`oqHC>9wP1Sb#7)?`#vS=RMMqWzrF6Oz>(dasS2=vlj1K0i0h8@WkM=yuS(p;$S-q zNW+tYX`#Wl+4mbBvE-C?5!C1+fPS>%m^)!hM4vLGlo?@Be<>x zZ1iG!KiwKc?f3?7vspe)nK_Z00 zlm*-VU>2Ba*xg!i<#9SWg+hW21At+#!U%?pI}Fq_jE@wd2pcaX$rLacsXWK3JQzpa zp}qA!7}G`vGa?s-xq^vZAPMf(luUJ+dk! zd~{{ctda5FH)V3q33SsxKCZguZN=D03a&vs9H(Goq+sFa6pWY~G*DR1A2;&5Ho^O* z>?aElsIzJ1JpRR+paZQMC+m4nsN5N^)Ds>c`LsTw4;3g_+U3j4R3B{B4SZj*+~_1} zKt_Xd8(0c4^ZREh!;>ZD7qm?|cR^oc;Iow9Eajb!POXXkvszzYc58^M0o55P=L$?{ zC)+=%ayn2+u35Eu0B`L(+Db?JCyb@uC{RAbeaC{ zNtM-e8trQS! zaBs?v%I6cW9OuIr2vp?YFK@`SPPU^Dzr9XK}wMomj z3v%vKA1VB|v-QrWRL%vzGi#8ZyS?7}0DDz|CWQ7>ju8Z#oDA0YW?dy^yxu?=`tN$# zUL+m^$yI0TX*DXVbMilq^gf54KV-k_XLhL0Y0|GjqzboPAK|!o{q+ttBVjTdDId`t zK7Cb>`(70$d|1gzGw*9&)%SdlGUqkky}Z}G%6I|qt!+kf1*s=X0;=hhr&+x;Za}*t z8W@Qm`tAxuJX#nBlXy8An9zwvK_ved@?5A#LbDyg;Yi2^rijpF#5W?lVE}>*#VE`KDxWeSx=TDu?{@eLaHmK9Xb9+l@<&@jVPD7p%qXIPGL( z`~orqn7YiPpYD!^C)Y6QucL4^e8j{V_Kjl`nSy|kclsn|%mWuXxq1N+zSsX^iQ)J# zo0EpyJ;wMclr5m~`O7nO`ZJgdOv%tis3(&v#j`5DzEZVC{U1bS%yGb(K;88^__ z9vaG?K6r?mMrP57>;}0lqpIncMxJ8PDveZ8*(cB7zngVFL4iq_O(oY-$z*ICe<_U* zR)z$vqBQHlx+A5w?P%mR=o1;>_Hm?c7z5qD-X61zucukY^}90JN6NT+nPv8ka#r~| z7zNi+_p0Vz{@`q`50nT(5*jmvH%uh(SU*C(MPjg?DdFEl!IE53FXan)kB&N&$GiDG zN7a#Uyiwl_0qE4y%wTWQWR!?Jm+(lA?tZHW1bYldSJ=U>(9LO(Ov_?**w?PmSr{-^ zXrcLz;8k4CD96p9z085WOuPc*%=V6_2$K83?d!{X*ZeGcvl2G#j(Co=b}K z3Q#&QdNPnU!!!|SBT)WI#er0#;1vOYb%G2j&bN`YY&_<|4#fMq@b^C623I;Ub6-TAmsFa5aNc)>bxArX<{1 zwl=={8b?c}{_uGeoQ=e=Y)rn_6<&-qoxLxvXc}KMU0)hDg`F=qxRdug_-{>ggnxX+ zQ58d9yq$~!8NyO#3x)%7o=?k_Ic}5V9tO~Ci2SO-QF*cIl$Lyz+H|zKM-ND!F zLRJODV>z6e9ejyA7HnQ- zm~zjsHO~^vMUZe#1M-dm{E7S~7F*_31`d_1U9KVRUdqWSp1>vg36X0Zd$ej10&Yh&kaCa=3AFn)ann5+o&fCB>SO(98v*T|HP`Euhtv*j7!Wso_%y**d)E-MCM z!7JgmP=^w16j&F1*E+cAgpzu=OYe9=~zSH%s zE7ferc>VKAwc0WMl^0hLG01sylK%Q-wZwUDlD_^Gb(Z5?{mv_@m!qTJ`HHIGt?X4b zjGud6RVD3#4`H2V&WW??^rlzU2?YF0s8^rx^L0JJy%y<#uc>LyJ3HwmuW@MibXUFY zHI7~fr0T5K)tKZCqQ&W4>%fd}1<$kR89{yVYs#(v{<>=G9MefZ@w)0y*oTd;6T11f zSAKn6X$PfF>*twVj;phrSb?OCX=d`oROUe@ai_4%u*8kS|CKcI3$%HohMg8pDTJz||Y z->FCH2iB>9&O1Bk57uGSIDe$xwoc_HSe(!~xa(P+^tLL?TF2sS>qEsgGIGRfV-59* zy;94)j+$rM>3MHsO1P|@e(r6MUD`o!ds|I%Jg-OngHVXyCFvRefOzHY1o;G?1B6NK z^lPL!FIk`u{R29UJzI}`M_uXcw?M!4jw*9@S)kj$t5)dy-c#e8|C+Cx<@de$uMB)& zWjI_p?VXFyx**j#=Pcc?$(bR*;_B5oc;_>(-1z~PsF@Pu+&mt!JjQ~*O*FzBQHyVw ze*K@yts3P9@y-8K8R>X0G$fh394yFPo)Bjv)ofUF$B)!W{9 z#Bb0Wz6BBQC$vLvyp7L2(O4;dOcH?URmw~L>^Strk+_?)Wxv&>Rwz)N2nr^8(bCv4 z)haB?EFoRI&cgUqi~;snfNB{|9F@A^BXvgC0VJ7=9bC*R0v?QwWhoacMJjdgkJWhR zY4_<{KUTSe+u9{V4BVUQ@Z%b0`Ehvxa`0b|L@2l&{j=!zyt(N2^yeQ#rgy6KxJH#$ z?iCn^35>RX7u!66eJJVGsP4KFvEku$Cj~Q2f48BgYuP@0y!IV3-OIRC+KLBN+?`kh z1fwcJL`Izb#Lugvp7n{Ec)=dFMG{wGbz7@%2CIj@KrEyZ&$H@0W99Z+ET?OU025Cr zFjFJRuQ$su!(Hs3%#H`~o;`io5U)w*@hoe~NjmdekIO z#yx+~rP~wq&QDcZ<~+M=7eb!SE@v=}-;MK57I!?Iy&liMn+5hv?OU(BF(c_fKs(ks zll80X)rI~Ck@Ep@{B$`zJI!gSYwdT?UHE=B+snU^X21(uO&(z^lnMdFlelZG_e_g# zxDnDU^Dij_G51$U8F7W}T3aM#;D5Pn!fMCm$&q=7I-84(f#Fa1sJVy%0|uLM$BVez z_2EM+-5Z_}`FOt5Gfl7AfWY3Vf7+mu`x8et-D0&=4E9HE{FUJ))?dujmCWR3d}vtqx)S>?Ux^d|al78et>P@R<3CBWA+-)?SJuKF(b89QEb*aVjFRhGF}_=j!Zu z9~GKo_`=WC8HuO!=3-=5c-!dbKUV`LOF0R)n;dA3Y>laz3>BVJM%9)*qGA{H#Op zjyRlFv!a;!91f`VSahFetn4*M|GE(`&{y^FZ-@>#uuWuS*$$|-BXeL-}{dAjBchS9crEm2TM^RjVlp!sezzn?K7!^k(%Sozh> zy5E;HKf`R^*%Gf0t#_qmZi)vCgwn;*oGV)fGJ(rnCbz%zCEPw*fAyuBIPf89LUfks zQ{3C*%t&5S?B+!BeDW-kXO0!krFyWj@~)fpw6C}`tj-AKYt54**=qQ2@p{u&DlKo3 z-Ee0b>`X{VYnUlhf`ksWRuYdwr+>{QVuxIM=+|mOb}10-kf8w-5nhz%2rv2}fd2Mt z71w7!C=@DqLBn+5+BeKXLql(4W%rw-WVmkkjq2}Q^@twvjY=EaUm!B&woMURZucQw zD3XVpT?GLn;O5GQ=a01HHjrBKu0zd%4jrxVU^)8HZH2TfJgh*Z1~6O^Easx13OTDA7l%Fpj)1?R9iCdk6KN%5Jqn^ zBk@;%C*qb9!DznnYGWM{MTt9>yBvs1OD7IhoQwZN@}! z9NCr}%`oNYezLxjD&(p_WaYspkd+^KwPO#G31aks9w@J-N zJpA5ZXx*f)J5s>VY0avn^Wg$s%QM+PM9c2s=w_Ounu&Ve6!o07UfQENyV%ebKEBoWue6MwEQ@r6Mn=&%}h6rq^}Mf+0DyU#;j9h&tsmw z$bm$5yq@->>Y4E@4fM4e7%mNr z^dE(lWDKw^j0B@~o4FC#F|LRpW~5y`Zf_i2ph=rH-HcsOP7^+!4dNL1rXA6tcB1^g z2e}_8S>{U|l`IoXJ^5l+j6P|v>V6Un4UUv7E{qX3Mvh=|o;t;|HJy2lqnHYXH7zvD z#_TZwwe^C%>Qv|b_vw%KqMtwQA-!|2DoHDlQo6Wi8RmNmg|B#uJ|CyA45P4^{+sHX zf4pX-iPU4NH$wWY-%u2sZa2^h-lT!=T)%JNQnP`9cHP#gnCY(ChKTQpMtD8naLRNT zbn5;ftS0oiL3F-}7*YVJf%VBtQZBBzCI{f10zBXLlLd)(6sc4_Wgqcje+Pdo8aLoy zB5+9?a_tB{{M%eAs=Z|Px1vmG>A(Pt_v-z7)!?+*$3eo*SPRQn>{ng;I!v};*#se7 zT{%-lCoiPfg17kv$6!OR+^^2=GV(Zme=YWK-v=I0870#97&Zu(nx}a&_GuomDui`7 zJKGJul7)5TGNC~jZAWlovkZ8@=Kz;ej0@`T4yatSK5>R{RhD>gEhw1h#jBeO+P&PX zh!w$4rx6Tn4E~?qj(@%HuWcRe#aJfRPZv*06scGxcoRZPX z?G&3IKV(utxM&>*FAk#XRX4N^7BAP6$ag+bsqbu6xg9QIh=p*|yNp$kH28X}y2M%g z`286%xz0Ar?;jB}A}vRnhypeSU>}Z=YX@?tMCKOx1)pRJlE8{PpPL-AQ)Y;~ekyypXcda2=deZ|ZghO>&^Vk~Zcg=$Ch?{Bb5s zVm93Yn*!jgC^I?3j~`+tbgA364%O`w%@ZpCM3} z6X>Jw`bl+(O{S7Z6LjrQoL2)

f(%Wovt?PKMDd%PN@9LN~S6Nx6ko){e@gqKXVh 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�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 delta 370113 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

an-QenBNYwxk zPR7J%%Euxh76d=XF3u5nClKwNHuKdYHEtu53O_+UB7n6K@)P72bYGDMU*Urf84Q2n z8iSo%SJ`vPXXt*S9ezUbAMg{uFJLeMM8|~NI z#V(%_Jn#2vER{{(Tw?phtElpf+TB|zKOdzyGKD}8WE<7(z;uGhaSJ!!L5}M>C8MBfZyVTm81}av=62;pRX{7>Q9bGraOonr)P%KXBE&>q^}+nw zba09|v}*;ceHR4C?IE@AKg9LmlRX``ruWA zIW$z`PzN{^0EdX6PH^d>IHT55hs_8Y1R^4IB6SEv+Cp3-BE=u2@ZTbk+^mYei-HIY zCeD@#a7+8gVXmL*kVWJyk@AA{Ho`vcgTyP++fKg)yw}SiBvzkW@ou9k*(sj(c09u< zZa&eimW|tFDSzPX@8A4SfLWDt08eqm-c4({=321j%6XW zLBcL7hT+GgeX&My$Fdo%-GmQ$5E~Si=hud6Q}zBss<3w~3$5L?f`k5RSU;ExN42?< zD|*b8!i9F&?{?L8_iLD##s#@zMr|9Ws$&_X9n+NmoNOhbRs^lEENtDsm#^R)0n;*W51| zuwTNZl93{pOkj`v2N|*vWxDZF-SQaJCpUbsSo6)~k7G>8ticsSn(@Xm5+X1{%C(vh zQSu?axc>7YW=WRhw=zYR>_36^e*#nX;XMN*^6ne3YC$%MVix2=wsqw~)^x`$fhB3~ zdX&@S7Od}gBR9k%!LiHRZ7{$~ZgaPpSY0X7A0pS4K~C{d?w|l+Kw~v>Ac!x7pqS)y zEDYNRvI(V#Gn%w=h&AwXUaAsm%twfE0QD$rP@pOD4FWH;U3RaQ?7`bA!T#`8bzmaU zRdr1c8Zz%q)$$^G41u>Qv=Cx`P!8ZlROGsH0F(l#sVM_8Gb8+WO-P-jOn|^S;_ejBua9;6BsQZbl~-x(CnAZM91y8u z_b>+qIstyLk^&$CA4FM-ql1aFfVh0@z%fhrJuqe@r2t4UX|l^sVF42pOrYcl{Ddw; zWDT8X+PMUg%#NmXwPa;<$x;k}8r1Jsj5YLb7Yw{BR#5cM4ogESvZ;dA5)x5#4iP3X zfqG^mdyetcs%{ZOR&4$JawYR4BAV)!v9<@&-D5C7UBfydkli6KK%v}#K2xq`eGpGm*2f#JW_?y-rB%uLq8t_pgDXs`y1d20u1t>)fQR<@c~8?zSounxfK0~WA$;{in2bj7j3$ZF1C%qM6hU1;)y)+? zc?YEh^fbZl`(-6fupH~%6jCVR1ctc9idP7(WpxWNY#Q1>N@<9R@X%^4OKlO6Z{IlIBoFCBV^RhrVd)e~P$n zAeF978xeOTL?k3NqZSUNOE01zXyi0*2dn?Jt_bt+{u zYJ;KuHwc#g6T&DGwEqJ|Vvt69;fdTkxp@N3EI2-$SUw5rXx6k$XN5l4i)YZO)L2#yeSM41jr2#%=4(fXH~cZkuZ ziHHj(%uGAjfb$4aVcTxkLSp519H|2*=BDWbMAC^SE|S&tiC~`+pO7B_3p+Iy5_Lr7 zE@L-=WQsdMBt>SyM3VWXj)^FN-QG$NeD`nEj;qiyhrOD%Z=Wx54fyp#d5kS#mCULq z(nZRoBfGv{&!$tBy&0iFt3!pyM*xkRAsYmf1%5``wRVCagK6KudW%oZz@I`{TE3&Q z`VyXv&1k!3AhRBfWDerMEZWsW3t9?HQgffjnq{#o@mYrC7cwmCwG7L8%CLNm_>u&Y zGAzxI0}{*z#G6C_aqVMxGqREt_USRFlEZ+&9mQfXIk#O}9%Gl5$7lv;^#se>c(FSP z)>{y-(FE}r1-%eNB7l5_5_2M#y&H3@<1HfKI}l2Q5#}OcBm#-JOA#h>$oz;D9u84c zKRqeyO<1=O-XBC*Z=&*%r=pw`2^$eb1d#8bSXbwo7?g4nDVa$fll`VRb!|VP{{s-B z{^Hc-%_?j=jX0GsU@Nv(5(u&Vt|v@wTcN5nEh{5+xQ(#1wrD0Q%gV$?9Y1GdbU(Ig z=3SeTt#tI)o*ntLj(RMb71Hv7zG#-{HlckzFxYGnv8xaOREJRmAf?zm>u7`kxd&qx z3+7%ytcbST0ktOFrl3{@wB~4|r{wp1vY?oIs<%nGvo4ZFB5Nd9geewDQ6CUQQY(^#LO?}LKnV}( zsuPU=dTWlTO~Ww^Mt8NOHFCww+R9P1?G}5Wkx)b5;?5JA+7P>ZkORdU!bo)4^L_}+ z(+JD^mk8^|ew%{`BW`po6IH5w#ohStD$GkevMQ81-g&D!-^Bh84tKNP#M1rT_p&t> zWjlk^O}Fd8>ej%kTx>9LZqhd5qONUEiv6gYAA&-2>BU?|XmfcIb9wZq3^qR8(T4vf z%;#~mN z?NA?^Eprc^dS(;m<|A=imoAo&+qKU2dfW4(Skgjwz=O*_}M3LJj zqWW{!W^mL-?iw6CDuQ*4-P}s-GfzpGM5a-BRR9euYC@Shbgo=erVd1rzGEX}pS9ap zah3}Ce#-w4oC{vJRgzNe>LwN4(l(&{NUm3QNAy7}LDP{&Q-S$g4mI+LfE~&fw81#sEn7w+60f}B zAuXRa2f3tlL4_B=E{U+O>7TfyE|d}Ml3>bC!n7R&^dWa7Du9^q@Th;?9o?$U=@Af0 zTvMz%jKDGAr(kzfcBoT@9W33UyP{)3uE@t}u81h@8}SD@QjKcDM>1TI{9klMj|LI0 z65Wq0x>Q)X`CzB@5P~Wr#}bZ$g{R3)0r3+nbwi`e2o2~6h$c7H0Nm67?)K}Z#9m<~ z`6(r=1Z$6ir4(8cTgk<2-menSj2G8VYMtwIOmS^6{wdYKS}DLb={nKy-`cLz& z2F7Z-=>d(cw8=w>SF{Zt=A75FB8iM&_V4b!^{0LYVe;lo2G&)$fP3r^Jaa?s5Sg%*!GXS?P1=iov zIMfZ+i|JDc-McJ+&N(^Ys5GSf^JA%m~;niYg$lCreKl zh^)V!F{g|gS$x{1MRB*h04=hRi5Uml+9R34bw7? zzLrQ{N(>JDAJ*oI+!S#`$3#bgiOOJ-j%${lI`5H?*4CL!TBjxrA?mxp^ekEMhOC>v zmy?l05|y-!js|)|PRbD}yGoGr|7Va>N1XSeQSzabaWjHb#LeLFrfxx(HVw`RzR&kN*jo2 zeS0qn`my2Xe+KpcDCqy-;r>8B^2S}LADH*Qj{18-nU8^+l~x(b9$t{1lOU3+^~T8m-7Uu}HBOM4i~a36ZhW-UO3?v97b1YdQX)*> za!iIu)sp`ALN{o3py8k5WCbRR2ZQ$t%l0A+Z?pBi8Y z+N@}RrYi9U=KcXk!Mj%HI1FD2?oyWI7wDLpwXD@(M91m0;1NH%``a=fZ}IY_2kB7z zdH6O~ZBMwZ$i{Mx{9D$=?=^f^Q zMeb^R$>w2}Q1u}S>^2y2tg;dBr{Jqb35a#Gguo7r`qdKVE@#PAui{1Ok1$opsMj-B zy5qUOb-(sa)1=%NhB!JZ-cVjfZhDn>9N)|1bar7U9qsUaAr2Uc6@{EeKigS`bv>Ft z-*!Gnsc0VTpf`~(@F5O*6PeyzZn_?CZUc3;-h91#7h>PCPy}z(IrKUm>Pqj#q~Z7c zy~&QIy$0nSO41a1kJ5fQ7QM&Vb1%-b=XTONF?f%%9hzknG1qbhU#p&Jo9tP8qK)=#4TS?2SpRN{mgc+FVoQ<}PP-p#xZ5gAs3h;UhC6vF2~u z&6XPR=2t%U1DHP2uE#NJLjr4g4TAdN`n5G7;K1v)!48JsI1ENPGZk*!@5<_XaC<{6 z6I-4{!H?EIS@Q?Hi*n4B(4(S>h4{_diSJF?Aus}t`cTZMy>BP8v6-39MebA9)w3+M zyBeorWi1kW7XAoCyw0ZfAcCmBM{D?%AR<707x5pW-ddq&y>Y#eG0#D}) zdcnD&A`7h=218=<;+P=-bW$G6bR% z+bq?C>JmJqIH*pSizE<~f=-UZP_ey(9gUc-G0*~EnAJ^34HCiIzmuH|$6hg3{&Kk4 zmT@O`;Tgu_TX8i1-m(lE${dFQI{#BXhwA&*@HyTHb|%@LgEtgs#PVaItJqB|115 zc~z7xL)Z|ZeGQE|OT*{IlJRLV3lV^C^L|}FYRKX zWHRIAF)WUG4XII6QR!kP&KoIbJMq!P1bfBuR{CbhZhYE-;efB?XRyA^v57nmShOuJ zpKMz^b+Ua$`8)O%Q{SQWEs;<2XTnUMUs2IY8-ypLy}yEpT_Wtf3nvGOe2Sk|ayX@M zivJ$Wt-YeGwH1zpfztD^bdBZ0&I&Z_!{1Dn7^OGf1fr+|ydP<$kur=FJM6bv%tJ6G zoZ~o%BgbSO#OlZd6Sp!!0C7qTU|!Z0!@S}RR{bXC$FTHvIcdJ3qIE|jm@s|!=ArDM4OAhoxd7(S7qzGV|TNAk2qP!~t_;WyyS$!hG0bU{7F92qqlIPEDl( zWKL&-1r3Ix!Py!Ed5vHWe+2<&JAv3=X#{l8PEUx{bSevRqi376XWnmQ>r;Q1>%>n` z=m;O`p%Z@LCR*|%X(gHS;NEBp2mx`5Ed#fs3Si4@Mi!OF41Qk}7N%g!%3;gyfGyjk z*|I-SJJGCV_CeXIbKdrMoCmN2hp}RvoK9vt!Y7R;H?+GI>wGwAht8(i&!h37jIYXC zR6e;poSR!t2J$Pmblm`)8;Iwxn)lX-EdFdG2oxDRTZY4eL>770j^$|(=V*YXj=+xZ z;ULsK)7Fpabjq;&uxw&g;BnfQk7D8>e za&t*$i7Uc>ym^Mh9y8GpS$P|t(=>%JdmNp@_yk7%%1T3eDK_Sv$5#tC;WrJci4PeK z1H1n-v@_J$-To(k#yMmEU~>??NOfjprAGC~`nXo3wEpY5BsmY} z_%MP4xZHvmcq>@Bwy&i5-(-YhPurO!oAkst88M^qR;yVK%WfaT0$1N4dA=zy{55a; z>2Dt83}0R^-Q{~F?i+l~boJR)2WT>>jpDrRX^oQ%N+T&Y>88WOBU|uN3NWox8HvP1IfNtI(l+L zTme3W8a$9+Puu>ie~L1YdJN>VQ^O;zN7P0hx<+a{wa1Wujr753Wgtl4$4Kp`m4PVN zH-A?dH~N~M19@@k_LJXXAb*+@d_UDQW$O0%E#aJV&ps|`u@J_rzryTVaLS4of4Nw$ zYS>78`42ncbF>d9iDs#ie>@}+aK}W>_#qB8% zd&%HYv;rA)LIziH7UzwB8g#7PXSr-JM#n|zqw?XyQ2F4H z*~`Q(1nUOMF~fE$ox^rU&~Ml}{r9Zz@Ef*{4$PuXUclepEPV#|evGB;OjqY<+qvQ> z7bz|zCSV}!TXi4|T0(u$fWk1CJWQd*FVmUt4rN;K?wlQiV=#R*5E@t>EZ}a?%wPfO z_YYc|wi7*>6OQ(%F15u{*j#foi|pbIb6)#rE_wPC)Ya1q^tYqJt;DTI;q@q9eHar| z8Or8{#R~4cf3T$^Ax=l&>Y=Rlj7c@;hl?{Hm7kNuVQo7fK2Dd1Z{s5YJB*GKkcCmZ zlO2@5n}!Tj6OXU1BuBY(5uuJo1Y1c_>Ig)sNEAm3Y-h&ztkx85&-E+9H_%PNW_un2 z)Df}n6EHg`OWDr$s}RW+;$8(W)>5Q;yov>8;aepO5JVh?fCA6Ek0HjVgd#<*jfh-{ zfQut=G7t`_qt2)!8Ify~smM+BPnP1S5p;ZFj1V9~P6iPmYXr#XSVqUxSEU0@qQFuM8y>Tl4BhryrE#?teJ@HWVLhg)N}^Z9Kl6anYakQosPvKC_d{z0ySqBQt@Ww{2D(m76 z2P}ix1^}iFmX!lGmKg_bv|O|uV8+;u7S6CQ4QW_7S0B`1)+Xgp@j$-9oVY{geWIHM0=_rhnQ5Xx?8WY%=H z@Z~5FuL!R<#=!)mBW?MTiz}j5WZY6%mO)&ZGH^x4Az{(5ixr@pM7y_GANglujbyzd z*3OntE?FcY`WL16KOw~8zahmvh4=^w@d6JbY{WnRKn@(fx4SD$73&79glDm zoje_0H3}2auxQxwNG2U@&om2V$VH&24brL@*r9AGg_*Dt_3$$e>9Rmdd^0qS%z}(# zt(6DfWNATQSQ%+D<(_N^TB~D(4VaQDn}G$$YEq=rQSqhXf@q#T(o7H_k=i(1l0H|* z(OEc55WRGxn;@E}QOZ1pM3AyO8+p8m4Eu7Tr+rao<|xd=)%}}FI4}8 zW?qiNyikwIY5rlVeN)U!R;*jp?F)6L+81?Z%$j+jnW0$$p!AU0(M^nfZIRpAAUnN3 zgk|fjC3ECM+&LW|GRs4DrZdl;Yx3HsRl^vNYS9^syYa?$8BREIsrQPzZf?as*^RjQ ze+_Hz`0udxBe0g?P&eAzDu8t#BVHrJz`<%O?1r!%O*XovX&po3$%l|c%a~kUnkzbn z%_3>0IU|Wag0nM^Z7jrRpF**JS)EJZv}#{-ST==A|FKTmF|Xc+uxxrE`oG$V_+ukE ziIKPtg=LRGC$kjY3=f6}$|<0_Zk~j07DG2r1nK6{EEOJ%=>-p>pf>Q@qJj^;4RX&4 zJ{S}0J_-Hx_oKfjpntRb(O-Lz{t^L~(qF3Y*Yx+~7+6N4B-peo3Jd~tA*0TM_16}p zzeltB!h`4EDRSc^?Hr5La=uVZi5;F{0U{(1YyskWE|ewwmI?1a#WFJvrllxw;J1vu zPjJ9hkL(QKKoJb=vp{R58XPDB98i7}9KbmUzeD|>q5k=sQWQ9_nTx5~#c_W7Cpa!1 zxsD(>APwvcne8fp*XIX#4&y)3(Eub+3)|`k68H>A;4>hB@wop}Ab~+Z0&f8c3+<6n+xp*yWx$IrIbF-_xhmtpqLJ^#Be-UgMIIwA(R!ht?d`I4A)FI^HjF+X7iDI3%{=d+Rts<}KEn9@ zr3u{9d{Fo_AXpy0ra)f}SdH+d6kx%=7t2sv5p?|lUugpWV?cEQ%>kSoWn`%SsRx9& z35mZJ9#XZ74G{hG-G>6Bv1&&BlQqJXW$O}r zh9&^bMCPQ*vQm&JJ}?_uRUT*X3-IO?XIMZ?7Dgh1m`_2>To$vB;1)qI-)m}IlZTGX zOPTeG9Ln$-JOr&Q;2M4OA`e`%fNP70Yg{n3pR znDOaDOSmxLMpck>Tv+gYCYFu>gE4w*BhYFn=0?Ow@)2l*Vo=NZeF!@Vw1^7JWa|~7 zD#z#x8?O1zPy?4a^%KBlIw;w$g{-@4C{$%<^Ec7o$g|#GFl%uHvTt0Z{~5QeU?U5p zAK1uQZs05iTe$Nn19#=bMZdy(^IEt`$o0N7T69731h`yLJWLCY%(SkFe{)0m!GmY{ z_ZrXccD5MsZVK-&T7O-e1z9Xw0R0reeh%h|hFx|GbDZF#Jbu7md>gCf(?^kfyd~tV zVx(`0B|My$IYn4uJE5j?4}%M{joksn7QDh_M*v|#05QZ^YMP0q=psDVElM~(68D-2 zlky}?%8LmpCM=dDdl%igoUM#V_X7UK;k`v-7u!U^wUCnq)|$XhF9eKWB0l01M=-Gw z>UI*1dkoyZAKqkvC1BV2->^XCGdL9)No)c-KA50m8+rF}1aw=lCGfcBJVnbUc|yY= zeB~VTu*b2QP6Wjn@skz1sV@VT!bV15^snLbLbOV^iSf$!o0YQOzGd%OeTlNZK4nFJ z#H9+eoW4Y?y+p(2zGd%u@)Bi*;Ii-#G`df#oW%pU3=!XoI8$H?EY|`D>dcEkDkU@>IvShg5L@5faz=l6=ns>~X=xF?EQ7a$o zJ;aczAGMNgw5;@Q%)HDD8+o(ljMi*nk&b+aw)wL&zfnf|CdcnP1y#O}4cK>u zAbx6jPYw*p1@aRm#3e716r;G9eR=p)>+>*rABG4ypAN8>WJcRdc1H*~dtu&J zGefbNMHDlU8AdOp3;d-o*7)#kb0*9CP3-QMm*4;|CV!_~!=_yP0>qTU_V{2mIW!sr z-+>I^Tyj_xgR+#_E5hNp=E4!?Ww4gd%P2#yCN6l`u?DhR_&VV$s4JjeDe9H#6=&fS zgR9Iu7(GHMlyI0OsPnY@F*eDU$9B;CM6ombPle&jb>M(LcQ0VB z&iE3YQE^;qs{Lok&4jSG1Sb}&Fc0OJ2Y-inpwO8c$7PA9eyTifIS$c$y$Bh?ds)jm zT<;ALHi$?fd0(Sz<~UL+yj^}V|3EEg7$hPI91`o=|7K-XS~+$+l(#P0fc4j<_o1F2 za>IkJQg{zDo3p}#tfX0)VS{HSWR?;rG?tNh%2>pl-S@Le-s$RKB7+7)LP&}h1I5B% z9MOmFZ(XzMvyIQKirlyq`t%*Fd|qc*i|Yk-d|sFieS9Y|zVcOk`VGU_pwq+ZYsy!~ z#+P4YgUXSugb2;?bPOC+3Xgu@vtsw?M-75)yRYZy*{{^mM_iOQsH2a?=p+0Q2H$>9 z<+B+5GZ_7x4W$8-GWwIS3f-eGUcq72PpC)U6CyxU&Sn8bLDU#rSE+z+A(a8dh%l(n z;O{6H(@X}?R0})2&lQK;wM0pfL!f0Q zg5s;3F=;qZyci$dBxNbpTw8(a+UomrZTC!OR%2h+R&VLYwMERhMA@FMO;o&!yXX>y zSx-+u9_XH{FHzRqw`>Hs+AqO^URG2W?x^8W*Y_=4nusqugS+{T${M(_`u<#=_gb}H zFPB$eVAnfQ`^ZBd3MC0dJf$@3>RZ?jl-Hv$%Kj8zJi7vRjPP*+u5mJ~=L8=< znvmY#>r6ufZs)KGh?3pK^r?$T^sQqWgtL+P)3>q|-p#y4| zvB)_dbcDZA*q=I@I%%d(kVX6Ed)e8H4j7E_(c~gGoghP@G==447j@Tp3Z7<-^Zg_) z*|{~Di%vC9P`!%}@ABuvdzQg_?typ7cYcw~4Hd_ByN_3jVA3_`xzGr_2j}SnL|KT5 zIt=Go0Ov_gaU|mF0yxaW;AdVdoF;nM`&QT_a^?iONGdDobvnG`c_*mEoG7T5d?EQn zqL7DA-1@ijRxuJt(_sFrrgGIDI7Y+9ad3>MVJqa0uofG>^hu82j4c(xq?fJY(ytxL z2JId8#~MgtyakTY!VFQP!M=PrMi{WAryv}ttDu5R_{H7>v)`%=tlYuFG3q1xF> z9BpK#rKdo^tDCivkz*vNe1$r)Bak}sMHZxr2xk$rMS3%tLa)kaaj*3^CEi6N-Va0^cs0bCtgTp zmSHqSTQ>q2&u2HaPtJiYs??mJQ$O0l*Ri5Mb zI)wJS5UbvfSe4ps5QmuFkD8XTOG}|uVoj;DP)QhxOB)8}Wi%jT^g|F45m_MO{IUJF z18ja>Xv^rm{6+)>FTW81!O`^b9XR$@TaHr+xYhJc)T#_5DwHKXl>l0R!e;~<28tkH z*u}qs0OES(yRvmXbey~40d+>>KiQ39)LqT^eO1UCQPkZ8h|V5^H5TDSnjw>9&q?L}0e?oFSbmRbMkGU1 z{~I($#8j@ty))|6QwLt)_O*cMunEN$;CRN2qstjrOow_YADMhxo>(=WO<Y{`@1TY)6|(gte(33wdj|GMpDd?z8gkc<6LzA7ZCf-$K9)Uh0*12T1koPr zP1xo`d7;JV$b!5BI$iGc#c@N6g?sz=%0EF#y=Ql%+B1XXQu2nD=qV}G7y++@-l<35 zJ5<~Cl#Z`u9y?! zJUf`nOnMd{qE!qQHmG4h8_;3Nw-=qGhj6B7Y!~xu#ou(^IE2f}j2g+5(v8?RN2Muh zt46m(PFZKC^?lj-!VoSgGV6eB9Sc^x)T#Uy%lE0j=_}o|;97OM^S9W($EnD zcgYl<_yQekVaFpFAnEBxAXGC29p8LSqyX`qpD-0P=77Xv7Q(F^zFc@hn1V zG{W!3c^&yIqH6Y{dnS*H;O36Pj)J_uv89XP55S52&saW1zBT@AGRmIf>?-RoKcXK63V?Hu{YWrtM0+1%(4wzdh)^gEEw*4VYoLrIWre8 z9ycQ)i5)z&agpe?VH;mj5WSeGxLgd@sL*TlyOG|=XU3|cMR!bIiycJD2FS0lF$MII zbt|%bShEQ`i0~$XbrbEn#9sJKNXME-cGEli4=TOzLC!BtT&i=cnTrltOx{ExDl?qE zO{)>bR)(a14f*4yA#pH`#oH5Gvu)|lvu1918i7!@GAf-!O@Hnhge*y#^GXXhJg$hI z!)j8Jf~;NY1?N!&2!3kIkdQ;s! zOY5Qcng3YRzzy)1y((J)3OA&p4gDVX3-#VNP|)D|voJlh`<6CX*IVjqWG>ckSs>qS z{Zl~P@Fm!2iXEFFN9ATZDr!c6k6L)lLzpnh`l?xzGi| zip%94gTUlyt>4*rIgE^jAv_|T{3&JIHc=+z8-(DXr4YXrCJt3!JSi@dcW|h$GokSo zS>eGS!2^$T&~Pq&ekr+Re44qx>c6(gJHEwv4>}uW|57FWRe({Q4V3unj}46*6*f3+ z!?oBU!#tBOZ~R@SbuDx_$GLsNMdBr6lnJmor|DR>%&SVk- z?e~5C{VbU~cg}gvbDsTq&U5rL{a!yjqvgy0aJVY{QjvwtwK$l=!x!NK)Ryo&oZP9K zVQvUNU_^QR4EH|BJ1>{9^wd~xh&wN#)JpOamtIbVxs7+Ls+pYRrI&q?!pRKH|FtPj zgn0Qn-q};#D>xCw%2~Md@)68gQ`!yH$MQ=nNjT2 zgE5Z<`0yWYT#E2?$ti%B2m9{)B<3_;njdYLhrXKY<;@STVDNKRKJ+MxF;?Ul**I0o zNwPxg7JABXv~YAWF2EGusf#b)!hsE54)GkmzbV%kmyhnWHRw*uZ0Z?*Kuq~bYup@M zNEg2VVn+T30pk zHpRK?fx(|j566nsH393;orjnqz^~$OVDUoyhTS~U-6Q7j8Q&7Pl9yY~DSl`h05YJv z5i~D5WugG0S27TW0%9P5AOO6KP)w*M*Aq{Tzqjg9;s4@20`&d)i7g7hVYb>Lo0p66 ztV)xocW?l z5`j(JIdWO<#BftS8VV2G6@Y+>c&3T_!j5US%Jz*hqPf7<94w+~CEBMx;3v(V`x2y( zNIqyntU-^VYCuiYXJOSuF`K+LV#Qo}Re@Embm{B;Fs|ZsF1XV? zd8O|U8TJv9-oqwth{Mo&nsPP8p!gIx%&ex+!+#Zj=P~p%8~|QHb08pf1)h_7SZj;3 zJJHTY*7A+yn?)XBjmO>qHEaa_P(Oq&oc%)e7`P53@&vB<3|j_^z*exnjvdy20HcLH zy+k1xFF9o~*d`v;s}D@c>ugj;Q2CO#z^r6(SfslZef&1G!#WZR`5bvz9Pis7>mjb! zs6gRT7EWHlBn~z}n2?&#$J8zg7x<&!V}fQ3v=0-oWS5-pMY%7V9Au!5rvhir%W<~+ zj%kMIqxCqToT?zk6#G}Ys5X+63LUWzi`efaxG>}F?q+gKHVaAWzj z^K~~3+@Qd|TI?TDx6;4C{2tw;u(L$@HvorvshA`MN0E?2VnnAh&Aqi)f|&Yq7qWRc8+AM zY(V@5@~t223FL`(UPIL5z{` zgcQIXtyQ(=_>G-yu*EMuNkF`%fanJx76X6{n6Re0D*%z|g^fv~UZ@fm#!AZC##qfq z;s~A)R|Z(|oZmt`0fPo?7NjO2E&vq|84@LP5&tGfP`{DgNO1bPLIa%891Bc&9LKT4 zV>)f9%0W-fTA+IebaMA4Q(~a}*e-mA>>}&Nzyaa!@EM#H11E&Rl3{QLwu_!aepEJ4SOZjsAz1P+^Gzi5)RR7s5&bJl%zlERJ{*>Y z4`)jAq2G9savuD;aE&PrOH6K9I_72CDs=2{WooXyet5ZwvxiXn$ zrmMZDQvD2*`8{crDp`oMpp>eO-?XVzT{^WY*RwM3>KvQg;MS>u70ECRQZNXeiusdt zD(2Sn&WXR5tW$g7x#r}ONkASr(ny#+c2u)6b?P_}XInb8>v*eZ@@(s6AB<@?TbKPS zS*ONzCxCV7&a|qt?mWLscVabd>CRzTMF(|fU|6#5+;pCtLg-F0MQhz@DC7<5ovb_m zfZwLmofYE`pgaGJ!)?@^lCGuhYz7mzr8~>JNZna})qkiv8~#(>DVl^scLI=u(Vdr_ z*PiYK+NnDU+`;Hh@4*1$)}8mMJ$LKQl4!?uXT{QFCOk=vM@{6znM%W$6xT#yEG&Qp z+L{v=#9w|?S+}yWv=7hYoH)1@C&n4^=l_m5QKeH!e2tK+dC;q;53-7Kr&urhQ}pUN zn*{^f!ap#eP{XiZsXhFd#H~*a1sKKI7Z7KU6~F?3+{6hTtcKUYW`>$QFaWxk(J3xq z!$aE!mU?uE0N74g0Yd?VfOxo76dh-^vIJfM#5BC9fQ3T7Y^bmRN=76D{Nb+>(t$VQ z5D~}|w_8RHi8AGfhnk3<8l%RVKI_?EnfG|;_%0$@-%uGBE zvMdFaD*#w*OVyOfur9%ExE8w>E*(#VvyV&U842t*_ye)xz?9g>(693XQ*5-!fw4H+ z&U(@uN3{EHOn`7^R1%S{Fd<0swYVgtpTcO&p)L$i3;0na#|1VnT8Y( z4QVIoq5TT>TN)27FTRrYJ+xc#UI(>IcyO|o8K|ac&qJFNeLac#1oSgyuv?V(XVYYz>r?;Fwf{$0GRxv=7>BrZ&1 z!Vp3psUBKam`I;=x7L#xWtd=K=#$(86Xt^nNs!uGb9rjE5Y(G609y@JAl}y%e#qPS z`#r|@UggCaor6DM3+S=$;6WJtT?6?^--RALz4yD|KnsT%=g9V-8<;|;`EvLu+h*c$ z+iU}EzGdrQwqwsz-hAG0bpETyJy|>Id2<*3g#*+0os1{=aVW;E>T(q-x6PEDAPLCV zvt|Eq9J;FVixr?PF5oU3kWdV? z<6;AsGaH@x%*Sw)})p7v|@BeJq0yOY-pc{KT zpONDAuK$FlwF5^`afvYNqdb8Do0b~OOHo$az&-0Cx4!S6PWbOFy${CjcXMIWYm?#PnY!aJVPYi;2Bz;_}7G z6PMp8C#E0!KV6MJ4C?*_wZgz|0|ULMNVG?xrs@!n(DB{uGh#2(zx8_h?DBQ7issP2 zwTwPh%VOjF@L#=%*Zy`HlC8EU`3|#^&Q_7~MR68QUPGpR(I}kWPFH%$^5K)B(plW_ z>od-4{QIBD_x(a}4mRtn%jO_39KAyNt@K&_p7R?2mH|r!Y*+$dXeKdOVlxO##ZitnaSU)g0%8$C4g@?H z>Jxzuuopvq`}cKP+W=Y7074}}HmP7o%o~_OI&sU5<5G#!i;&?79Ao-gb0SXH*q}^8 zLMRz|ApnG01I4HdfgwQi^uoi{+MQm!P~oU4+Irgjti7Re$ef*B}v3@(3HSQCty4Mv->^QgUB^ zkVtruKl(7qqxvwYf&QU}Vi965F|o5wGYJZyKKV5 zW)=SOdy*HhQ2|c{Dd@X8H@KMoKq(g>6=dUV8zgWp!jX7c6L?8Dv4S}Cpi9#jw474- zOWbJI+)tXze!T0(+7qrxVZLuxH$5Y6>Y8*W=A30lw{lJ!jt27q;kq=FVltv|6M`nf zNkPyh>~>6UH;P`{X0&ol&igxjLO2=WY`AxnVH5|KO_o`hI}$kw0*)YlX6QNvwFy*J zAb{Uc+A|nICXSum=^q-tW-n(`C!8sCM$Ft)!%c#gc@XG z_Tg@9ZW}p#pRm`38#nVM<9R9IbSS$}0V9YGVt+kp!Xt@p&kS5HM_>SSLxCB6fGAw2 zF!-ahU@p2J2v2Ol=o)xsoJ)9LTdSsc!9U%`)NKa_4 z3oInu`pWDecK&SzILQ^siOsy%J_0%?*@kV(icOlEH2WjL4e6iL35TM)&C*n0Q(I9p3Sfm^c^DHKA6V+ghgL=&c~sd9@(aMiA$m zOydYz8ca|$f@_$hh?Ev=K%(L`qc;SoGM`qX1r%6K+-TASIl)`tC@1K-&{G+ttPgrB zk3px$nmP$vU+a1rAR@zpt*@)c73DVML`%JAZK?%wai$Sn+(jz;u&_81hQ6g%-BMrR zy0mTj+9kWut_idu>0)4r01!BCQ{4GT0myCzQHKHIMQyUSVz>*SI@o2grs-?_gJtZL zImh!+c|^;BYHS}^yg}4Xz_j-CnHcgQfTqoXkKc^FOgnlH(rdJODSZf;w2i5xYz#?RT5QY^$806hnIev<6fvbbuY#(CP%)SPL zbQ=)E^fc+zO)^w30Yxgj3Mjk^cWU@fz*A-d6wrUJyYdKeCM>uRK+~Rs4zybe%`(a_t`dhxgWI9sHsSm) zzpV9Sk3MrWy1IN48%wH3clptz`stu{QaZ&0<(DQj$|xZ&m<>*mQ{sk15S@0CXvRQ9 z*-_rSMu((IQT+vAF=+S~iE>gtg(PA^AT%i`DLlPOSSBdngWHultqmg(q6;<1eoRYq zEFnDSW5p1f6rTGP)-OFC_fBbu$`Rh#4+t-U;M72+3eG5>}|G$9b2oa~37hM))G+7U`ZMyLo30byW+zz~oU07ObAmLxz4!TC`N zK<3*LAdRg90b!FWiL!$SB2hDOr2>LmRsz#wE-VFBj8Jm(DvOfdS>w?VH_8?@8Zg?* zUHpD~gWgL5u?)aSh%lTXOQdi&a3rc?D4F6MIk}EgX^hy5 zWt@sML^h9s(`-^NDV8fd5V4R}cp>n?(hBK;3Qb&V@||}AX@T7gF{dpw8Hu5@AMFbj zUvrgrwm}Qqfo9&+MpSok(ZUXH0cc@oJG9^v5!(bURGqCt`#S_N$Qv{@Eo=uZ%zZvV z3)FZ7sy$i|SI7Yn0!aX=@p$23n?Tv%X+lMLEnESL-Ls{TX$z=GC|1NssvAqB1rnkL zE{}my+$6$@+oA(S9RSw)gEU6$KbyxSNm-1av3DFFO!CXNe-Wrx=2X3(2wVBRNuw>HP@OFt&N#ilSCF?R| z1x-mq_8zfH<0Wmvo1ZEZ9$wzJ0LnfX8-61^myOzsQ6`jjB;1B;g;KfNyL%}W2;AUH zKVrY9m)#*7ek;6}t!ccM)|0XXS+4vHOxl(SpT9){P~)+s_d*+fJJ8Wl8-6RcVXL;` z+rfn4GT{R__(5T3{b-fNlc0>-BE~AD-MuF#q}|?k5Wk|Nn@3-6KUy2PkWR!ho^D(Tl&X0%-GfBDhLdB*k< zqui)CV$?&9{@klgTRmZ|tF$N5*d#Z4ciPsyCk62gt!$s20C@-8 zlE{6AT|`6^2$G6`i$R}tiAv{$YDo_usiM4t07_Fw7BYtffDpo(G}1wsbB`esv@|_5 zrl_E4?`mMZ0KlsN&;nUwNats%0j72``atX?n=v*9b4O~nsuDmgat>t2SSnDn0|Td( z@&^#|cKOYTa8V3WK6a2&{s^_tTFS5fN=bPHYPh8b5b}0Xq^2BFp8H8V=76fk6{wk* z3dH9U2+Gy=12wjcS8c`0DOe9YX+p|xIje0cANfQ}`GktgU(occ94i=$hgLe z42TqlU&U6zG$lvW!49Hr#CR|>(T$%Q(MHIPI#`XgopdHz+e6ToxK9pl#}c5Dv5h*I z52!6fjl^^qU(zO;J1~ak>TTFW3TXPh1SGGY+(JFEwh(mEstRoQ4jKj|Fl1ZNEqI_k zfcH;K=)tjXORN8Ld{5;$7J87?L#dv^o37uCz;6<|GduLm?zVMj;EVl5HM~zyn+<-2 z1qRfhf;J!M{KqYLKPf|za{ePctDW;7-xwlKWLIorN-Y6|R{@c9{-c2Pr|SI2rGqOk zz&qMmi_G6&#EO$95FD#aitA(jo0Rhw!{=eRO*4$HUNxYB2=qklcUBn#z4WyrGm-0S z#t#=L6!Oek`CpRb-#oK63WIRZqIkCvgEr!G+>U``b%ARO-ofu_x)=bY3YlO!U#tXR zZH2J>70t++3+040kI)4diFynEm{z`~a+W^0>n>>ZYf9&pfV$?Q1(zylN>4RM-#t?j zdTeolH2m#FD70wWU&I;4v=dlFIdjsZ`EMtDzV6y$ZJk zQQgf1g)`7*$y5z)>Y!gb{c2ZS7jZQ5N1kT+XD> z5}jxeTANXvxWAlmFHclNwgdh$!x;oDHby!4l&bKX=c0!%JxrSx2{FJZFliyRP$FS| z$+LbU%mkpe17P~cG+4HJ+X*wJi8B2n0iYd+P*;@_x(M5malc@85lU^Oxc%T5?1Wec z!c2W|NS^77@T%n6fgNWkC!FGztJiU`R18o-9izs6tWj#-BGcsidiGzgGu9@6 zq1=z`mRa()3g-Ra?H5_{Vh^(9yZ4J4sQ~(BxKs1x?aZm?`zrp9gG6;U^i_Ys!YlB+ zevvF)VHtY(1{6u~sMTVGOKg||Z@@gL&X^Fa^`sQDY?Q?;MJPiuvSZ`sK)Z5_HvNPI zHLyubys5zXY>k;M>{F6JtVxEvwGHA<{W9c9`-5T6)Lb)5Esl{d zhGIB36Nw@O`y)>1awp_23=9zvGD*5v{C@|qMAYjR0T}!fLgt3bKoE~GB0gTG)ar^n8c zMDIVUAaEVqatI-I!h(~`20Mi%Rb!VJ`6$QzG9I5C; zAVdL{r+m^pxcL-3ZlLZ!Wh>)2j9hau61YUcOQ`^kafUXaGk3NWQ45n`G=@@R4DqnQ zKxz6B0B!aWfN})@rQ5OJ#ro4C*Dl~odq6Zcihunq41`4-d_}64sF~^Iyxn2MChLT zpY6;|a^S*ys)Y~e{Rk8vMYB9KScTte|HqH6TCNjeJd2VzW1I!W_BC8WdgVN(#uH(N zF<|+x&x4zZDqF<(Z8kMa}t?N~hoX+4dk_s6~Dn?1KRDj#p zF!yKUu!44o7q%wYQ=tvdN6ICU(@%JR_b9Bi)StSRv0jKOi9Y+pp6H>ebsG9%6F=4QK{Rb2G<4sJ2s9qz{Zlo|43`k zN)*!lU<|{HEu)HdvpBb`SZ$fs#;0J+D1eFqpauZ+1wVuBV;;mbSfo~h2P7uCl7~)A zpe5~gF6zkExs+1F&$RAtO-!qCy`&~4X1v-YrZlv)RngMcHfYICrtSnW4RR4vDs|_h z=Lua-t+uu0BwY@XCNPzX`3nH2Udi z9Sr*Ec!{WA8|XjZP7*E&^#7?Hfac;lXRQPYOgi+(l^_VQJq{T`7I9Ev@)VSh+bD@b zq>|X4#&etnbG#40Frms7$zG&B_1P=xaaO-ZVUWbB4LMipexCnIHApHjp8RS5Gz*rWjTqYeIV=D3T?Qv=j*&0T$UEJYYyD37s~_s8QI=E6FT#3j!CA z?E&~$ifJYRO%P;1Y?CNk*^FP==Qi-ZO8+451bu2P0&7K|TB8Y7b%G(Xh!hlH z8%0nZK0+BkK^X(EF?EnJo=UW_N0cV*9ihC~MNp|nC?o4y;w2O5k5KX^9a%C#PD;(t z**Zl>cDnc5?;S|1WWWR@k1pK0Qm!I#r*9R zYQ@HhGBxSdJt{H|r34{@2W>Nke|oYw??-BMHuof1Iv7u(&*YC8sErtB@`h9ERH zgHSdLp@BW4*+k-b9mMphlKHZ3u2YBtg({jt1lL@&vYu!;k&ZTAEUVPwvYy&5N!Fi& z0D&?dblu3;rzwGfIIxiQ%5=)PEEXpwJ*hU=;@T0Dma9oq<-8R0NcV8U<53$&wh8|u zIVkW~HF;7Pt<;tLoIRwn8>qd0i;8;x4UXZ*$}#*Lj^S49{o>!O4X@-u0b?y$wgz=N z45KakD(3j?i(}(>RI3N}1ECRdY%>EWrrnk<1FxkbBimf94l?t%?%X7cL+Pn7CmCy! zC$gALuERFdT(fBiR0)(P%%JEeH75RM zbAi=Zt!_3j2h9ck{_8~J0G=J4=J7Xvjaw}lmE@RfQ_{s>f-~eXE1Q8G*`D!xwBhIe z=*~M9*~gWrJ_@qhm8cdv;f0Y2`4LX}J!SlE2psZ1LvPLC|8stjoE3LMY@m(R7G$;0 z!B%7?QZH?E%~Gij3C(i$cwq{dti|Gna%EJOqfCTmIjbz1E|pam+APer&-#Y)Nvul~ZEtu&gSQ;e>jRA5C#e0t`SRu-vo?LFaNaIuA#IDPMpEJE*M^ z<)v(9gB|#VH7G4CKmsw0Ir=_{M<`h zM7*nco)WN{^ZJw)qurnz!VQL z$;73D`29DDjegB9jXf$5QYbeZ`da2(9#%8z+^I0?Ax)@Fs2Sp9c}Z)k)cYG&`dPEh z{^<#}VQ~SK1&#Xrn_7y(h&r%UAm?qA1=f;Zc&3T`lC-xfp-Z3$P_YU#7GK&Lm;ukwqjR)R$Ty=&)5XbxW0{C6@*; zu1C|PH`~r6s)+8z?L#Sm+;nY1f@zGA;ty4VJxB>gC!H}aO~t7!lq$j6bK)q$=D7C! zk7~~~8!^H}vxv=8$+pC@s8XZ5K>!%4;9hG})E%t#Dk0)UiCikRYKfL=7rk4MkZ9a{ z9jwh?)}o8hY#ptQPpbDmu8l62!lS*F4~NlDucKs9ve)sf0-)_YtT0}@UvW4pM82=vfc5E>6Mp9Z@=0ZwP_=u9JeN>c75u`L7C zs#(&Y1r%kxPRce5EDZ<|fV5(r2Mv-TIuwB7vOP4#1rVhrf$?`FDZ68uWVa*&OWEV$ zZS3(U_-%c)^u0M*_#NeYzmLWIlfL(_)B4_ze-^VHW9NQRX?8CXa};Jo757ruWC}Y1 zbvrPS*s}zN=v&j>(c8sirQEJOwOv)Pk|@}il+^(sMj$WZX8;*{AN$`32tUCCu;h!Z zN+#jJFM9DQ)=Uh6{M;5`t52vm<=FdiPNAHP%L^bPlLjOLZX%yti~35AP_iFC5dgLj7U;^ zZ2=h95p6-31Ym;Do;(16Io~CYr)w-F6rN;N%x#O%bulLA-V#09eIg;m3DP7&2Dla= z4q7X~=tXS>7Pq1agZrShIBsY|7%ayAwRh0^eHX;(fb}c0-F?_P&`UPhI8gPwt+V>t z8PyFoSiCDL-vND6(I8ws_y*ZOX;g{UH$>OJ($53!Na6D zt7W#@H+gXUT&s5PH$rpre5|(2{{+qX6f`U`iO`D;yDa$tX`MRZO8?)BV3O#w+*V^> zSj<{;>P*E3b(e=eKg!A7CtT}r!gcOy^iYLGe#bN%G)%2LZKXQf05A_*#SmOa0Cb;l z{nQPh4c(p&!qvFQk3y%t5{9h+V5Zfu9-4odX2mN}gPn>6-`B2Z%sg;U#wzP3-5#w&-lVPl zyGN~H zWb5uDoC~&?lR7Omj56o3E#~Px2)N_Sv@!??Da>>(d;?k zF^Wzb;)LG8O_o!JIRALZ9Ab?d;_QCM%+3lEkg7?+h9}`;s=xn^zn!c9Y2Iah6n5YT zWLw2KPQT6g^*K4tq|Nx8x79gkvpLnu%W)psY>u{`3_EXaHqYX+Rv6)a!Rs-?tN&YP zK4*4XkrT*rR_!n+;;*XyuYSD4++aH2Z!!Pa1&K28 zgeL{RSnXK5%?IZ^^QBc**B{BvW%-pAh7n!Um32yFP|s0|V9)B+&hFjj+da2_Zk4@^TBR_~IQ;Pp=dJI|JFQ30aDM*1d7G8} zrSsSCfweV*o$cS7XIURNIpcpYpSCU@?0ofudEC(}2q*?!Vfar8@?P1Y`0vAtnB!Gf zf%0F+_pbRzD+fP$*DP{Q{?Xii*jt}jWvq|NYI26wo0nThf8pF;Z}ziZ81(AX_2%)W zHE)pf(H`@-{%I%ppxnvcYYrXyD_jSfhq`wEXrrj4XXf&y7}4Jwp%PsA$>+X4&RL7B zVa}4h=AbUPx|3IpIu(1(ex6e*ea?oxxDx$)BQPWw8vzg014Gb4T-`q+7&``^yNJ)5 z4S%;_xH~?VlCO>Kl6XWo&P+Gb?|>dl#bi#hz^Za2el4 zasRNR(DE7gYK2QPavh4Xqk0*mYWf$C8rt7^ ztHB)JZPTY#**2u7Yn{RS%z<`E*W#P~UHv!vPcn*_TF)&og0UlwA6DZ+8SpFnk9Mv;tW#g-(|xAbj$uQ|MuTthuiXbkN8O0- zS~aB!_#v|Q2}GkqRbv9r73e!EdqGM(4|L%f&2|Nzc_Es{HSu;@GM>i^M0e%OKy-Dc zvA%YU5xs68_z_e=Bo9*v2d|FiRpUhZna)cM<^*fjr_MJG=IGoCT=ova3GSO_1kVHK zczfXHdf=0^P=Rji7vfn2u{hGgmlG4TP~w~!HTw_l3Xt~9l3RZRw#1%_t;bcLglL_! zBx>eh%HGaXQS$_=&!^5uQCzjUq$l$C_)ToF5hcm!-@S_q#reB21B~@DRM;nU1Xe>s zhs&?WitanwD9Z%Tg`ea0^^@DTPHx{%pIBu#Sm?FxtysA3>n`I(`~u)_Bgug*kk_gN znH*KAX=CEf*x1!4kR}I(wxX{@9u(#hB(^AY*EE_ZbrBzsV*9)iTD=TvQByL5J@w#( zec*yxJTJjC{7kO6AK%5R3wm{_oD4z3>VinG8I@ryw{{)=!$!TGEjMZ_elK>KOT-va zjInHeD~_^%_}Na7xh`A4z{4@H9+VSsU`C}tr6DiA<7D-Crg0gBH=-BV{xf^p#sJ4#)g&(mDfA4!s{(U?Cc8>k6b!Nemrfe4Cw2$-EomRiDC7^A16CXHNPqhZw ztNR&6IaJ^fQoMkg!ecDHZJ3u4oC2v$EfHOl5u6HX9f9QDH;a;52@sGD1#iUDwURRg za2&S=%qf|)Z|KGeX4zhF3I(>mJ2=YjR~eoGf%gV~hkrd;c4*By(AT0fE2DUEDY(C! z_g3Ld4VysS(oIS1H5s`(K~_>~XGv)d5@`lWZES|XUUb2zZ40HquIXov3co;>9I%Vk z)Dc|evTZ(su4n~P2Y-mt_4$t>%;)>@%=z(FtDha{E~R-@FQcdoqJt8s9MU{OX^!|g z3LeHoGNJv*#9$3H4yC!4@T;d{f1wWVgDTuNub{FI;EK+lUMZ#ez$B@DFXsISTgvx8 zvLKPMt$9;TTXkseGrE3ue&yctr&TsBIu-jSMY`a#Wt}TqAX93VomLqJqME^&cMtHC zy$S-W2Uhn0qtB8Uk%-rPG8pMBFS1wc8EX{Crl*4!8Ed_Z&9&6kPtrB^^r{SW$-s{w zT28pa8s^Oktr?0|t%yjLy2c}AL_FPs4bC-JSOdL7_FkW_5-_l4bD*xl=WuYS!Op6T6?D!mr#cir`ykl7)5+q;#_=$ zHNt)u3X&hIMu6nOgVO*t6IZ*&$y1EvLE4yXZl8mbg~nxb8v_2U@$PrSu6OxfF5bHk zzoE1^4+jW+@Gk`~Pmvis1Bp1Y6RgaY%da}z&Yx_orvMXRotX^BI~e;qjK$xZz01&U zxo_wXc;@X2Ej@|s-WPJCPiQTk?OoF)=3z(fsPB`Kp~nNdWl(AfOVIA?bzgx|R?tX3>Y z#%d&wQo3(wDG(Xy{wr9WeM3a%v=;#w{@z)gK}V+$yM)ODg)7=X)T01+Uu{M(+}S^> zrl&nh0Gxr}1S)I+a4i~p(59|ggC07xtItr>eO@vd9SdL=Cy~*>P=7ol8I{}x;IG2X zQI8m7`7i9pYc`FQzh@!#;dn2Cii(`xgO8+b>HDiute0&uPa|~lN3TQV(c9}SO zfNlTI+)x7@Rf|=cr$ID?XDifHGB4_Z_N=0B{{dhlsf&-O=a*o>>f{Eezlh*A09C za(|FQ>5j27;Zg@y;kh$HsEaum{NH4ODgj&^U;xRmwHrW@=mmfRgZ&3r5-4JifDwbl zoW>%7sImbC^C3L1?!)Wk_#plB~&3LRhK!Hn?@V!Eja(hw;R{YMT7)|_d^c; zrI{#1`sb2=7kp@yQGZ4LDtZx1VoV{zNOfPipPKk+Vu3%M^WU-t+LF$=m1K%ID;{7= z$rR(TU^2pNC0`==%+Ak$hD-@V>NdsbK}q#7s~_Tp>ise5{eR)EbCu5|j z|6oi4VI`-eAWVt+mKR#<%&vSF_W0*R68h^H0H9R>^`=`5bZSVex9ng~VE0?-fr0!(o9cp+Tgyh#`!-cLx+OUUB3VD&zl%`y6qYf_ zqbLBQaC8gCn=%vajYzz1(;}B!L2d_4ZG%iy@=#_&O+>K?(KblhB%yc!>=1|pVP_jA zj3AmzOSh|{hmmNDBUJ~ac6)-6$*5H9Bnd_ygK!DPgH|1s+Jua%BXTlO1RGbNC`DzM zU%>4IhA8|f_}m#(t>b6{P`6PilBTHN4x~PCXI57Q7Pr|7qDht}f@EwL-$A-FAg zZEJ3QKH1hRU#o0QNOTGr3;)s9{Pw4`LMFKH1FP(R*K`gBAY)ej)-7Y~iiNhvobQLX zPaAVn9{67wwXu2T1{$`vW3mXWa$@SeVMf_N2Kdrg{$F8|fei@kDM1ssA2J0(#<*9? zn84jq#+Wd=DZq@^5tO&F_e9Y=V1dGhrn@#q15Rs!^L2HXU|u(4RF0W9YCE^0_bG}72j(cqIS008BH z7SlJmO-GoFROuf+h7=Wk>%aZvO1%&Q+a8cUPu@q1x&I#_Tipl)Cx#5m2r3D%#^1nB zTE8#A_k8w_>lxo$rf<1gYKHm<&ZJyWQifL7o zXb8PqL2%ETQKqF=PXQygqyHd;q+m2>f<{0a+u^M>!7gp0Ke0GtZ3_(UW{BroTsnc< z;?@bTo`g6Tg~B$NfGm?CWcpg-?eM(v-;h#Iqm+`40J(t?8WX?>CkMcAQtjAqa_wSN zVe+?um1K^A{6AQh`LA*e<-Z#xi%ybavK^NBuX0S1{CBfVJ^;}y6Xlks zC2|{7zIxGrm&)(Pp<=h{-KqdcQN5v0@!Zy`w~ARvSMW@$URZlcVV*xfmr%WoQ)$(E zRT^6$^_!raiwzt6t>Y;;MI+RK1m$EHXx_-rYGy*#N3u z@c(m_F(>y=Qq@+SYK$deE_o^@)N1%bs8yv^gIJ-^soHjkRQO!mGdrhu*6eABDdiZ} zXvUSoi1wxW4%;y2qxLPvs3k_;sC|&p2gy1~oHJq7p(!AnE|d0nPE+WL8z2a_YN#0i za|guS!LZ1w(&PCEndtYi5FZo~l@C4kGO#7FiMxWuHqCulZ4;bxY!h14!TK4gP?w(u zb%B`)AT$8Gfx6FcHAZcM6_kbTI&{q0IFkD4p`p%=xrP%`e8rKifle1j%(0cTco$H2 z>wicCuO7leY+;4CXyEOXl~f(wv6ZYIENS2zEM#WK7h+FIXHMO52rEflNLk84kk^S5 zv!%UWnv|*7cy6E$&Yzv z*$!}tn=O~aek9k}+e(e-(=fZ}KxoTXI}6RQ@o8#NMbo*Y<#RKv-yJAeWn7@;6vUii zV#fv!s;q+z$OA`I<^9sEnqD&f2*xiNL{%l=?86})P(RG!8k`-|LDX?rwFnp}+mJx= zY){J~I1i|3-E_ayn$jlB5H=wL7aC9kMZ=T;{rHGvajM{C6Wwm#Mi0O|`?aEh{~MV4 zo2?*oL)8YV+QihZ**`Nb>*8K_pPz^ht^KZ(^*t)|lre#G@sIpI6#h9>BS2z0~w zY9bK@#kedV)8pPR#)bcvPG46X*LvXX82B@&>rGJCD={zu_2Jy09`I%bXxi~m$CL_a z9mac|`hPVBWSI^J^ur9(173mwQ>_;x4PZZDpgb5aIWS(lYMcN}aXn5^JAm0n8pvue z;2Z#!55OoW2v`N$%jyCB?F{I{iO1BH)?&PyG2UE^_qiIc3O)tKlluQyy;4{7!`HR- zK)W!Ijp)Z*?Clsm5Yl-Xucw3M24aO<*RW5(ES>qpN@-%b(~$tTiG=Ccj7l*Om1Qkq$3jkP7pr-eTz{xR*S+_ zKbTmA_zfg7h28pxUG|Lf>VqRAKT&7UxJf_(98TId|{{k?wh0)#u=lMaY?4iSiJ6cAS&fI#iGf|+hiJbj2j_!WV^*ES|>=0w|!sJel;;}C%; zZ+mjgZFg+)OAc}JOf;Ahi)c%Hv&n3_Sh9QNGY)a`DebOYF5EuQiaM~nZ)5kLsHEX)z z970AghMYxYzY_;9u^uGZFUB$mKZzUtdGiwTF*2 zikAHDB`dS5AC8^@*nhVfRk=C%nl*_wO%>R&QBUXKP<*M&-y_GM{JmOL!m-9ZmL)6U z{s{xTx)ah@142EXMLez7>`J!tZ^XM7s^bvv!nk9Gp|r0mt}W=CTlw(Xxji#S zixPd5`(}QRNFU0aYBMho$058%_O1Y{YEkY~GY=hUP+41t%3AnKqO!LC-%zAF562`> zU0b&ZX{u7^6%$o)4M!N`jAM;)4FwrNE~;X(u27Km{Li=+6wXP%pbws5fj<_+#i#=R zXJM0bF=LKKH6JUnu^2`wiGX@6Y9|_rU_oB7pwGUOixG?9VGC8Wwe5Z9=GUyzqI8cF z#8w(nPI9A~;Imya#EPvpQ41Gdh9gfogr4rMeXik38%adIHZDPW4OnY~r;{_Qlhrr-N=0s|J2dZor{@~% zkWnDn#(!!u`TR86#SeHV9Y5rNd?MXvW2FOd1_{97Or9o{oiLpl+$Pzd&<2&{zHixO z5ihDP2cqgSGhbF+$|6QtblE>qbeRv2$35BGn2Zze1j#Uo4Q3We?2&COcnG#CasuW$ z26GKla~dbHF?G$We>&!B6$i8PO2NuXzs1l^akehcYMcy^t}?Z?6Gq;h;um z3*>qO%GdA?&l*)gz<7lbgsr1}`jS(H3u zuo6I755gpqe%ixR_K6EHictbafSCW(WsRK7S0GE|r=qq!uUBA7I^bd+9AK~kU2Dh& zgy?B$z~*DpF^Ut(z=s1{sAU=#E3j@7G97N?G?zRtaM5oV<#0*#tE9}3O=t&Q&?)y) z!Sx7+P#Ii^L3kc&3*ei8+3cF<~yx6qO7P za&@eFCN`!TRa5e+swQtb4nemrS(W0Qs{Sh<`0Ieqd5GfWWICf)qp+=DdM-%knvuB7 z&D+EOV+4AqreNAlO8`O!4E?8YIAR-y44-dq-~kDePXwe%X%oSwEP-H)6{D(lIsSvh zi#=d&n1$8}PXJdWMIkXkiX_9cL5AyG_*;i}?Eg39mDoha3Lvgm+>V7oOxsvdR)`{+ z&57y$hdhtRUVDTTr zsu_*>-GX2mNPUZI>n7uS9P|klL858iB+Rp2?=ZZh70u7_9u&;ag@$PWBY)K0Q}#>o zLS`reZ8MFcQ87BduK^qU9q;@J6Kl+80Mi$N)LHe===|&%m{eeK&DuwU)$dfYheEjt zc#dWEs}wzqA#a)>ZyM*r1_182Va7TbIV~gb9AysVa8?(%nQ!tamGlKvJXOM$#-g1u zjG)zF)RBU*e#wm&+@|CU<+}hgjf9o+xwQH#vYZRXTm8;j ziBp0%y=4Udgp>LuZ~1cros4lgo?nlGq@G`b__4411*3}5;kp8`W)Fnfys9Zdm}4tS z@SEFkSU9^6II3hu)N_SDdSSNn)_AM1Z*)G6yy5%oosiyudQ~p^6gbCCum*PW@&r4= z`$yTvQTG)3udjsVW6bx*jH0eM;8*e1{e{NvC&japb8(41R7LoSrG>tCpAgRsy!SI4 zKP-9IDfBIp?^SF!irzg2(bgaCDy%Tpi1&PjMp0mCSz$>p`A*em7<)}(9CL&*2!gIp zXsEE+`i8#w0j>eMC=_)!#sPAt%S3DN;U!4^7oZiuMLlrVz&UB6HNt~)C(ij3t)sI8 z7Z~Fn0&2U!s?IseFWT>w4K;!b4s#xzXdPn%lh*IA^9ez-9F)eCZgUjY%&-+}j67KVTJoOl+v5epoJofx^i(BCg4-#Z=7-eltl zBF{i$M&EFW%ry^`7V?>$gQQ69^S@unMM{a?H*{Nfql}9jyEitL`#``x1yFlq11n=Y zjOY{yK%?@(!ivEg#3bSSume4eqN;BnEG)Up^SRfScTt(VWHVG;jW zQ5Yzc?^IpMO1M8Lo@B*H(BD)z|{=MAJFbXOv=HQ)K@|}|T`0V;VzYje?*UF33_A)N4c-bkw!0P8b zGRYd)MLfaz#WyBd$Jso>9Qa~cVTE6kTouOVj#Rv`yfCmDWhf-q3HY3OdtueU)#7uw z3Ojbm-Gvob%I_nG%juUY>dH~mPvG>Sdkc+w{wRLuI|FO`IevTgGkO=l86j1Th(!#1<@|`d!+*ngq7+xs9&*^H*!8OUO>LUm5#+};b6b3&1gBaW> z23Ft#groNrmYge}`CkPczV>)w)kEr?SMYiBeTBZcFNxpev-P2i3O4tUW7G1_S!0TW zY?h4{Ccb%|U=%I_D#}Ltx?C_S4=AUfF+D>tXV47$H{6FGbpi$`W@w@Cgsxd(1}*&F zsPF{8=I^1$ZpX2#9|3%ocUfUzjFdLU`H&X>1g6GUF0AfdT3EZ__X5C@ZLy*rWQ;xM zdry{vYO>X5#LRcBR_ANur>}6{v&vKa(S?v1-YHg&eKX+lUj!-kyd+g08FvLf|3iMJ zR5M)P&uv1w)rFKLLnTtE)=CP2@U>41*s4I$B|l=lljKerXJZZbK3eEoA-~Uwig9ej z7W#%76n{O4K?40C_AZmO92kS`|1HF1h5GzAklL3CS~vGeU^Ho6f|vvaMu6i?3KjMfFNyX6@J_KN4_=OUi}xm2$9XBVKuc~gN>!|HMSb^{H=`xZ?)7`-4NFs zf>U*}!ZwD!C5+!0IE&j1%S^P>;CXszQO5A%u|9}T#O%be+}H^S*`ddY_{{z%WAM3` zIfD=6`P@uAKy!$#lgzR(ERI-dr`+%aOl}`hNx&JOg45ZR$io`79&>DjP#GlETkFO1iQ!kEuvu;kB1(SW}=U!86Z%Q;29ZtsHW02fKz z0z=RJ4e2gj_qKD^6V~txe9)!Q>Q3TX>yqB4axo z5@!#mJcpJOg#KX4^TLtx`Mr2v3-|NOlLX}+tn9C6|sJ(2E0u@pQfIlgStd= z)Qxz)=9=3JYtLG{@Llx|C(ys2-c2!#`i@+^>h3R>)Wxduiy;QN|v5HbMIT0ogk*JZ=rRY)N1u z1b^3Gtg^C7V|=)JdM@J+wIH~8BslOC&f;&l7({oG-?W1fOg7IjgZU>03Q2Y0`KV3- zgs%GX{+M^4pBc^4rYHa?8TM zp2`RDye~Jj+tR{{hu;)Z(Pz=Zy}z*JH~x*{!Q4$!6l&_2+f#1%7EI(O@8=Ga&;O3+ zBn0DiB>^8&67Y8kGKl<_B%sK8Fxzn`67bwMNTcM#WYT!~s03+LZA_AYU!gr#TN3cH zGNb6c-z7=FeP5@SfZzUENx;_<5-{+M4zfuC4Y;5Pz<5t50iOdn=_KH@4;n>9E2RW{ zrwthX^k*RfZU6IaOThf;2?pW(fmea_%?Qo z=A);jYW?}(_;lhBwn38Ce{YzJ=2s`t{Ey}B(EPQa`RkHszIz+=W-6NZJ1&}kFPY}c zTu=mP=B3g48v#x_n!oHe2xnW;{O3E<^WDFy1qruq5|VOK?Pm?7pZ1NRWq0totGeno&P0b@ZO3P@U4d^0N+4|qp$}ipa*)5 zMw;DAn1F$Yl8Iq}Ya4t)=gqUA8>a*9=?KZUB6$ltyMF7xKV=IGn1Rd=okWT{_iQA< zGlF|o8PO+TxNU^tw(~Bd=$CVi^+b0`1`lkXnj5>+i0&=NrFhH{g}WinfG;D%JR&k2 zMhI%bNyrsl>W`u=WhgAth~}{&_1tF{=sUTzevzZ_9$o+yQ4 zCy+Z~nNqPc|796InE)HOBRydq4Z@mbjh<8iA`C#ogSa-+q^!k2d!fW>R@PuZS`#!a zO*oF!{Mx+iG)bD582~Z@Gn5_JnE3LoiWTwJ3T7Ghzh#yEn{p7=$%f9xzqAFu@i3es zuQZA_yllKo>mv%Fy_e-ql*s6_t7;ug@9yVR=HU)R<7NJxSxHm87J1gl8g!ps2aE%* z+Bb}Xs5D;;m_4oS_OAdyEik+imIzA_AQOdqvmLa}@Ka6cK-l8W{f{HaE1Z}WZYO3g zf>hd(*$R=iH6hY){11&B6OIi0mbfEB18;@sGXy^dPSAtK$W4#>I~fy7vJo>j{6FTX zoMz3A&bj41tETMPMZ(?(PYZEb!&tr0FqUM8>xpYrM+6?hDLph-9B-Bd7O)s(qn2SU52J%*4ZJ8s-}vsxx4AO>NJ70vyA8D49Yi}dNgVH7$$dasIsrhECne~x@2;GLCMlVhq)GZb z-i{_gn)tja&Q~)N{^Nk{>6vZVTTaibt>I?{eq#vNyXx*_5%j7Hg7EDrB1rj;HU9%G zvK)*CS7*n`o-+SZXTh(nsdjk8qlMvB&n{#X$af2VYvXh8*Tmg>I3`8{lOg*2Wo&){j`M};%E#;>?UjnJcaZX8jUZDKOad<8n8fQ*p2u|!s z;^;Pm6f05#6y)(3h%DAYB6HK2;BC7j%zXgfw$M1~PsT+bPaoh53WmVRN-&_GUbdyY0Uu7|O9{Z>RiM*Jo>VPP6qCCi38 zT|oHGOD`K<0yJqY%u%o~M@tLy?{(=xsIHP;6%$x)8A17=<4Q}|gAw#Yx$rbhvfH2s zO7ANzyh+i+g^C`!94YA}M?Kf{lcAiPfp{*`J=wBf;Y_fx_&g+Fi%Y#d>`)?PSoGw$Qge-7N14Z8+M}!Lx6&hRs(xEQYPJtlAW)y5c!Uc zhXqD-AEcUoF;W221TQbei&u+S1{x`2FuwO~n)hzRd(!PoyjPp%y#;vhGZ%0i?^8R? zix+V~;m#!n{AZf?=HR_7IJ!O*Ceiwgm4l602nho;r#x1)8V$eLI=ce@x?5-e?T(l; zR$+4XVHy<(oxZ|JsCQiG%Eu&^YGClr+BEM>#5*5hWyl!8LdsG(q+iJ#656NB98&j6 z4AcHAv!@F88Oz2@SEQL~pXn*<=6Yvdt9J&3cH^DjOK|j(g9v61ajMd<%D&D zTi;U=2z+a>o z>PUQ7qb)4A(*PK&c<~I( zgWuWlA8rS3$Aa_8Y+3wUP5c9X=$@blmOWMh_)W@p*QEeckM+BMON&!hu5_)urwUZr z#Xh|f9*%55xeA^Z{DD5eEgd1{c|~hMx}^QpFj?q(-lwVDh$2~lKWc^a?XKUFCc|U4ricuXWYxq!ktjhP^1F|(SrOZje zn*OU}egHVBuITtTt+FDu)g#*kcUTLkz>TnpBpKMBM@cSBgQpqi;fjkQMPUrMxqlwS zcka)90kr$`XK5iRoo5}_eI9tWftgS{5;YH$u?w#&IPa3;GG)7 zSYM15dIo;Oj^Ss=P~8PjR(w}ZcX{Z!?Fs=Fl>?Xy_F z2yuS)-DSu@bfHEauBd=H(kPmXQpP7y(zv9zxqK+@GQhMi8Amt^uC#{bAvdzAm$cr{ zVLr+Z_q4VXX~7{XEr_>=zdypq8I`zv|Ax z1_1dyni%N7k6?EMery<+K2*1`G>m2%*|*0acqzbP1ixYaucALZ9=88d!VN98ZQ<6A z$MLAz#r|k{XXBbts6W^XxlnH-2!kJAsOr$W`lL))=QGx$QaLntzg1R`*hD?!ATWPq zU`57Nb^?gpur{gs%D@dam9A02A1P1rH-t|?aq$?Z^Dj`K?;C0q)pf?TfPvf~%&Zr0 zHzoyPuD>|1Di>yYW~lry#B#o)&|QsX=`yaOdMK*6%F!5~=rxQ{BGbzE zKN*Tr_F*6@^gw03x$bn$Ogt#U`EIq9VP*DkK3HuH?Scwaaid7n8f%pE;saLaZv9x5 z%8N&wF;7}YJHHQDT`%SVV%9sahId#3)57?@aW+Ccmsg<#g?r)0UPyD9XAJs=mJd{2 zZb(3AlgxdHd5)|UHPQ&A?ae%*^7Sv{b+Rj1C;O!Hbp^}=J$d)l)=BmnCBFJ}Gsab* zU?+?^otS0JFTwVlewb0T2{j23)Fi|#lwkG5Jkt%Z2fiOHLs_Y4rpVW*4x>i923xt> z1Jq(`iMrJ&(Z5whh*)mj58dve6{q8Y79h)?vPSiKQdIe6vY1*(`K`cH9Mr*hJAz>? z>=>)F8RmO#6vBL9{ng!#^>a~0mSg0z>BsU2P`Ux{2SCCAb%mmc6{H9SDyqnGgK45RZX8gSgrQ(8C^YKGs;NT`+6QB4b{GJuu2lsmvZ`lehIT(P@ zjp-o|XEfpOMe6Sc{OwnT^IcK4Is=*%+#>{M1SU#H!YvXz-F>6D#t8KDM1eYa}B?U~1UTHnn38Hbcv-wKv=utd5 zwhIR~)J;1)t%kqh13}r;gG-?UsB9{acZMvmhFe{-ozoUrL#>k^axTZ`NhQq)A0zxl z#O?&C)HgIScmBG-nreMCz&Y$HjAuUN9FKn| zorv-3F-EGE@q1QFm#a90}oa?W###?iL=RALnHDsXq2BZX$v=R%0LH=tnvf?*q))&@*hZb5{ zUBm;7;9Y3t_Bsc;eMx(7mE$ez&DWjJ7Fr)z;jYf}iy&&h7a?~>vYQe+8sqW5m}^(j zBnhVkgtdPH+69CQJi&$;V1)utE<^iayGLahGS~1=4YJ1lp(Bj(KY21x>*NUzZq8pD z#m?+2z}-oGa8E9d_Irm(P9ex`(R$U8Ztbfhf zeycUwIrchhq*ajRoO2ysT2SWPd>zQ@iiq>Xb=K63Yte+IuXFZoR{wt2z2?IE`^5Xe z&`7Uy#g3_p8n2**JDs`nez(%^_mx&a`B!_EgcSW|oLL@S1CfqK2S-W#oxqo)2WLJ{+#bMGzI(dW>vMJk5fxuj@;U5j)KFO0$G7u^?n(FJY5 zIU*7z&km6&NrWWK8W1UovkHYaAWo;ttyaEuT0iIKw_-1@dC*yKE2!4B#S-3T=-<($jHN7afc#EW_!v{OJ-DWMdKI!XNHpcKg=nS_pM)%L;7>BzaC0L1N zhvAQvNT33c;$kyB4kaq&t|(Ele3bLhQme4bCSX1XnE!4m>Yk@8!$oc*ORYiHJAItf zN`b#0S2&lK0)LI4IA1NZMs!1ec8dD_>z&U^t!cymf?o?m4z7YYC4p;r;E!Ab6;(8M z41_L((ig`#({8th_xo(UYrDw&`0l=e&TaVagqhe%Ax*(%O)t=|85H{HCmbs!%59(= zTk*6DY2V!?SxFFlmpfee%Dcmw631lu-PRPR>JBR_I~CA;p9JpeW1JuF0M}h~j5G93 z>vD?S`|q>{i~!#p7>BoxbpCN?G7fW{l4Vww^?Igr^D>~X?g8iVWk8?#DbaVl^}{-+ z=UvvML8;(G@+3GPf=`^&Z?}B?wybN7tvjqY@Z6h#CD1+FA5 zo8T2>4+ZjjKWAxALyO+ez2DdGkGztcGiT5hXf(ZosPliRd#xj&6PzbU#Mtfjlw4ypBP8{%~aZp=ga&7 z>LLE{da-ZECP$V~B*DDMFIb`er=2;Z7X_^0KAuCL2-k%nh5TZ9ip6vV!LB66NQ5cd z^ZN4kT&S@n40jF+#RU1H5KkWKXB3xi;fc$DEdhHW z+NZj37?lZ2k^Bav!V+~r!DUt}P>&K&{T@LgT*1>3dmeHT5O7rVt`&Hi01HDUq}i9T z)z4EVatUxRDGjzurN~u-~S#mr?NXZC5U$EBbXkPXc#XOi7C`aap8I>)Q{vCDMXQ1APrBDpnZl{$m zXQI6uUhRDV?;Iy!D|K@e|9z4eX=?0{ThSZF4`Ck^fGt1vGHw`y-exuwMB&f>4e>ZF zz=$T=J|di(YSU@Ii{#(5^=|BNfi6blzidgMCRar|j$go4}k(ibk`dcr^LU+w$0^`Xtw zzY8v(+dyKqd$&oId$%q6k5@Bw(6^V>bo}7}-AT?ra`+8{NyGa;CrV;jYyR0v(I^U0 zicF!Gk7%nY%M@rY%8gJZQ}!w{rLqlXs>%~D3UH7QF#e|O<5T3yF0^YFXphIKY&=e7 zWgYyTPQFAyeq7SY7o_u`gxruXR$0Kfprlb@O5TlaLY%W}7i7yWO|~>tWJ@c(yD8jR zuQ6l`XiRqdwIDVQQ)CNNr^b>UUm@Aj*P$8ISJ7URFA+$YF|JuJg_oOYwM%hqR&C@C&(NZ03n%EgtwIRGUrgEYG6&iz#EQ!kb zQ3?Rr=~)l;{bcFI_}A;j=#k2AdJdHjWO8 z=-o3n4hp?F!l$%iIao1oj`>sXuEaiZN}>zsEiAhWGsW5TEid`Hfw=@Za5d7o1R)O3 zLYP(Q8c2dWbWM(;Yr?8^4Y|4k!WCV!NfpI|WL?u|C3bJJ4hivhxVvJP0uFF@g$@Zp zW)(nDu~FI4m{l5}w;D+ZUV;p9L4JIr?Eb1%L%+I2ccW_6kVUEiI*e2URE@0r9+Fjq z^(_q^b$7fN@Ko)vbnt|$@Km6EhenEKHj*0A!M0!POP$*c^rg*<=16mEg=aKzf!~oe zI-vJ5^m-}nznokm`csMcdn-aaU7(#rBtIfKNr4vSAY3}HqVt^jKh!QiKl>-_YtYss z=<5#20pi!B266u;7@y?rlNY!H;vw4-2C$K)mA!=7Q)-fr{tyd8X`(vJIq}dS6|1HA z{XaxP*8%8HrfYv;@EsEX$I}EfdY_63kV##R607O1*BTbRY%W|C?riqwv~@qE9L$~f`YWaoufJGK zWu2Qce%gUu+YF3V*RDqpjR)`9c6S7NWKpx+V}v)1Ddt8X<6!T@_jsnPPCKOKGa8`{XHBSUbjXd zYZ@Yvp~ln-s5ZF*YWOpF`;@Fgx?^iDpXZ^dabuk5YQ<1p&;rD4r242<-yaR?E{0l^ z9+{%3NTt~5DYP}JRqGD@KIh<}(CT8SLj~iKvM$gx*fyFGW=jYbe2bxWtuBUIh8M;4 zaD0otr(yZ%d94`ghq#8i8h?ySBNeL@Lwz6DuH+!e3<^b+q3#A$D|U$re4pUnrSp(n zv~_KZXYksqfD=vGRNdt_%I?{y7DL6}lsY`|vX@tm8s_lep<~eJ$FWs>Cxr%!a$Zdl zwpkd=w~YZryz(pAS78v>D2Ccq>E|ro?TZtQ;^oae5s6~@=5|E+KA(PDO;-9f$^}nj z@m6z;^Za>I<2C!%Ojr5c3BY*dfYSH=&1w>w=ate6=9e`4MVWjKAqx{XqQI0WBgF_4 zHO%?A4k<`uPy;D$`J|+Ya}n_14ju-Hfm)`(MXyB=`S^VXJ4n6#vf_I$4~avq%c9L< z;nj_P_A*qp*jcl9scfQFkN}2m8KosFhSST z=F%dLLPhwdA{PcA7OPFQ4zZa>LxeY1*NfVX7sz3430m#aJk%~dioEbxHP>-uSRze} zSs9RefLLi`Q@nVC+NETUh6SlP;ywlmYV}KZDdOx&Ojc%DI=iQUhde3J9*NT7r^JZl zJf&1AG2KucGas6V#KmBBBGGav&ttR9oBuU8V{=)iQVwzARr<#xW8Pn0G-* zOe7_NB8f0V_^~EpY*#vbB(NxzD0N$gZslU6YS%Y+(SgaI79-USp>}^8L(%yf6=u4f zWveQosZ|N0fyp1H6(Thun1x;=_)rCe=0$)I=mY=(Lcl$UX;5vY6PN<@rd2+h)sj4s z?9+<0-NezWwo|XFrNm+!HwXtPv*|@CqZ0s-a^;@{o7%$6o>R!CC|A}5z_SCYfzC-Z ztHnpFD{H<|pV+{PLVKWX@^cYHR9;gqt%>xDa`90BMB1IsX9=*fT8odyI0#!BK!h;@ zhOkE1vVrk@*t-U(G|YQLMQ)&p+)dT$E#V;MXc5svjq)x}0Luo+E9q?7^QRlD+o3bW1nhgeA3YyDpDV4{3Ip=r!T%tXtlVUTj_ z(o$A?YWVn_Vu+Pks}{PiYZZz1AHbXm7lTxJKuq{6uDRgU{~mIH&ZDow4N{K(B*7p1 zT`YW9eWru%nPa$SrFpp0Yl`U;!L^I&UvOPRrU|d*=#c5r#B@F2(pRnQ>4LUUS0BiA zNEM(u11N~^2w8rU&eF^9M*C%bVvPo({|ymdR9D?m9}#ZDUR<7#xuyvJ2LSgK;hZK3 z5pJU_H>&6^o2ULpIU&<@q|<@2nk?Y$7c`ulJ5lMB#QGvUtQYG=cyaKri1madMXX06 zzKpC7S*(*&0LwXzmaqoXBNH<6@m4tviQ$wofGXFk%yu`fF9N+#=SvVWsR?P4fy6Jw z=tR0C7fB3i0$YK9HkM^MDfN4M?@dQL7i9@R< z4-E|K0zginLk&7vChD+5f?5+tnoJ}>?uH$bKqoMuR(mu|rHMUANdt{xwf6vOC@Gy@ zCi-d&S|Yv1xI-?I#t5sHi!=#h?~`}Y7zCI_L>wW>#@~a08kmvwBG}9 z-B(t&*@TpkKF?FCwQ{VnW)ttG394qHVk;|VVc#;`&;(8qjPcq8&bgOr+J&3&_JM2{ zLb#Jmft@M)-aPwcnbMyDpx<)*R6A28NzoDr4U!^wC69zi5e!8VA_;g6k0g|-1j#0# zjR^%4F-sCA<%4t;&#NYCGrDAk-9nA2tr^36VB`0;UDoIb>QC3D%kw68oqN zdTNlasHme;9%s@K?hZB3e5572bgB9^V;3IL8RdO0vkWr3{PEQq&ig-`{sOiVvSn&=k< za9@QjLZx?Fli-K0J_5?rboX?MBFD8Kb=RofR3BEVKsyV)J)s#yJHT67$A!3Q0!_df zR8>^8IsUJP)2FK3VjVO>bWm$m<%k$ZC7GO1KBu65sn&F57Lxl?q0w6~oNq$r-mReM z7xffor{dCAu{2aq^wy;ZH=n{zXg$>u1xht+l8h%nG?TMR#sdg>LjoXZJg*fLNfk?c zi-~>(Z0OkJ{~4E9we7&&*`y|y+Z)aEL>K%m$wY2{J=7LB}~L(e$6NP7@vLXlwmfIfp9X+(FdV|0h)a*NNKN_%2kP zG420I)pZc{3cP8eSDzOH4LP;y&))*8)u##XVb-QTBS@v`+$x9js?}#Ro%+1zTg4=A z>p-ngs82JzDnos0g&wEKd9_sNdPLA`{nD8nsn1W)xBC+LR^i~dp{P%py>q?%DwPTa zt(9e|H7MUwYfxIM73CX&s6{MmO1uT36~HV)PDEeR`vNp&yjm(WAK0qW%E&)Y#O%sc zh}i{Vm$foBGo+O*Q>q7h8OSS#R<2po455&6tU4_-dSO_=;3N0Gyr}F*0eIAEwEI7 zg0<@6B);nS_LRGz?Jr`jfe+ToTKEDCL06l*&fQu;+v`BvOaH~%fBR>XAVqhFXUAvl zj|J3RdlQ`O+S+SquWb_Rla)z4i%ATrV-i;KWBi$A^xB`z;x9~Mlg}iOhMy*3{d3Q$ zy2b8_SY@bd#!MwoW_wJ1S2AoRe= z{saIdZ%|>{X-;6BGt64Ur)k3mb)ve)zSz)Xf=u?miizJR-zi6`F@Y_4ZN5x0>-Csu za2HItcPf~mB_hBG12l7OCq_$h0vjV*mc1%4C$OiH%a2-BkMN&aON1H9P)^0@zQe1g zB9458+T^<#t~6ijJ`ee> zmHO1mu$5y#c@qq!r0I?K)P8HKTSeOz-B;DGb&4jzPNCyNP`5jvZr5uaLegm+zJ9k3 z5&q;0=t=bV0s32y{?4oYnPD_({k@F-+y#*TCl8|SKpadpu_3tFdH47Qu`}|w?pf% zpFGo={s>c`(vMZp9bBD5M_Q@R46P%aerX*&P+Lcc9P$O|Ec#JOeWtgj7bIj;40{i) zpElL~^s2J^Ebs~Xc61sYdDT*%ebtWir9PvoJ5ox00=;MOj8^J%EuJCDKcjNOPJCmp zv7a{3bYiBt{sgmpQg(+TRLTX$IOJz2vH~o8c#>Y8C=MBU?+S^^?{6QW<&Q7eNXPK%-(OOJaQ8fo^@}CS)+gg0(I{>Xke|53H`X9{T9iIUP(G1r8 z4?2FiwvLmKPT@a6No_bEUt7m?4EW!6+^4pV@Bbfke6LT(iG*XV2Ben-e}4+W4X0T> z`>ol6;}#R_XPWW1HjB-yctwO_l8z(f`#3_rwIpg)=|1U|kzEK=8b)DC-6%{6v1cvd zQjn7(9`KIB{SY}M2~r!c7$JWl!jtyPuW5Cbf1^F#)9s3OEYSWD4D4&VP^Gw{dxXJb z;h-VkVMxuW zrLWNArQ=G}lB)-Kl46ypB{*N*yOaZw%ZSo;hYWLEZx&#`j<#bFWk)aEoXJ9a#8);$ z`iqJV2!=kT1V~pvIg*D79w6SbSZo~a`4Xu>dqd7CI@XOSW_bWz=e;O3 zAv)jnqSCqdq(1uE&rXAg>Io1HR>}PAXZO@Tj%y?Tr5Gi&ie@UyYhGCMSbVAu38oio zN5WbS2|5@T%~fDzk18;JtA`P%Nj@;f54?$sAJzfnyBn1dE7xq526JkzeFlJ}^%W3e z%PKxu%LH0YRVGj|Ref8aSwIKGn<=qZ1bw24VLESnu8vil zv5}7~MaGiy93||EN{|W&yV9^N;KWSNO!d@>P@o+df>%ULj6$w3;nIad$8;2|%*BSo zm18a?J4NI>JJCK)M~bQV7#Vt0E>5d7*v*zNM{j7mRad1_5>YvhkCLOJyiem)BrMwDT7saP zqe|e77pH9A3AhepFDH>s%97F#5o?--(bwf=>Po?onU3p?ZLgLw3rM##>FPB1U9jqq@c3GJc*kz(OIGP2d8DPtWwNM^DkKfeUAoc%A{FnD! z&(tL9cYs!nvjy1hwb8`ExhiMthq0g9f!A5iC{(RXY5Pw^<2``u`I)dYq1 zZ3x=Y(|39>4s3ABY-kH784*cFIHFKN0rVOlo!Sov1?XvBqxY9V?`PnNA(}r8nx_-v zlR0!S8z7$=2Vt{ADmNB9Kp_SCSOzYAX?UOkOtHTN5>6Sem1mKCO)$tE!5&w{Z9UuWl zfGSaP`Er!pb}P=b39^%G{NL4-!B0`ZCDz^zJ(yRvxl{+2N(?L*>B_St! zseqSWR78t|Heh(xdKu!LTxv&fL5ai1n~+$87a(COFip8WFj&0eG$M_u4Q6lx=%|_+ z2ta=z{ti$)&KI?q7)?M!Elos4ZGR<84D=CEC6#W`sF5g4PmOX89Z;Y~k=L{Qs}@;@ zT7EP}jIt7?$w8SadT+=i2=oGq7{o)K(or5!+>P@An`xmbWsRQd2I{CT5QY;`9RcD? zb-60lA$*50qehXcs39L7QQnz?nv{222UI+O62fqdL%IQL>;j62cl6YEf~c<<))dP^ z>Y`Vpz$HSOV!62;UfEXjlXcjALNO^VVq8KKktHcJQew1jH9Z#jJmx$q!YcYohKckQ z5Op`0iol*-uv&1oAj&`?p=?rB(3fO0cECMN1Cb+6`@I_1X{E_})wEI@+`k8hwX))^ zhh-<&7Xj9jGY~2UY|}hs<*V|vZn+iV1D~~~gdIS%p0#D+(+sbt&-UA_$sSt$GhI;+ zG)wUOT7d8sWKYV`1kh)999{ z%}!uJL&(H|c0?RIzVQyGH78fQH_K2;!D_VjBrnUYDiY%%lbTLKEFTCX9+XPdM%6gZ#vAhavh6bK$_oT3OEOPe zoRgq(3M)LLYFGqadNd*@X{@OaqAJ>`O6mg927%NDMHbSCr?5U+gy9)z*!3Jo6(AbC zC7@_n(FQo0$&@XxhmW*h0K!?<)}n!FO3N6V|IkypR&rMcp{OkBQx}Ub^L?8tz!G&oBYK zs$9BWQI%G`u8cyXsj8Vx0*{QXS8{lj_pqJQ`Nf#C3Jzf|9gxW}-L5J7UUliJ0@&TNd)WwD%BQd>m3Oegu z%Yy-ERN(XA8eG#ToHP_|uY9%BsGVYrDT>_ZN>&8YnhY8WBuZLJ5uOFV?=wF1n$L6^ z;s5(SBToBYju^9vj$sik?Zct@|8F?-#%+a5{)|I+Ec@>`bUbiW#i7t2#G!}Pv57-x zLoU6kW2uoN^IT9={lii)XP424$ze_9HI2reH>A$NjeDUfwQ z^C3$?wi+OpovF@T%GKG2{M8hocRkbZz2V46AyP*oN^FW~v@c%Dpe<=y3B^%>_s z;@xGwuI_i2O)mM}<*~-s?|gMR8XX|v)D-c!$p5)SY#p5qAx&?8TS!>z-u@n(!!r+y zPN|3zHD5Sfoi5WPXMMsO!-xbFv^Rz?K^yH-l0WTe%)2Ak35&la@TY$g6U5##`C?pX z{4+HJonh)>;kvv^W6V`~l@jV9 zm7AJZsp5EM+B_^D0Z?_jH*)ZSug^S0K|15Yd zZ-MUsRWVV%p?1n2427(i@%*i0V)ET@H{|AjiH$;1!<3ADb$9i_zr<)tg&OIf4qseZ ztdj7@6vLMu7F(Fz$k9avP43hyc`(VgD+zz-?R3{JEOS;p`R#Ol5;02p6Mr+!@gLF3 zHEbvn8&PUiBdXMB=M+i~E?Xrkg#bsgvk(BeyrIfD#X5Mxvy^;Vn`V$V^HImuT}TXu zwqwc1`1f08VE`@nOzbpz$(b4JhZKD zsT-#PBr7{2Hnu*#1_^3IsqAZ3S}uS9vnZ)#X&(yaslXg40ht?fUym{oa^kTzWQ;^O zdt!40cYbyL9%z^ZtXMDf39{K=%{39uO1N;egkxlgP?{d(@VQ^kTJGJYW+rQ;SSngW z%4n|LGa!t-ieu$JD#uy{I8SAJ9&_!h`#oF!O&MN79fZ3y{MVS4vWzVTb5~^Im6J509i_Y_yDSJxjy#%A$hJJui#8C^%--oLCF^MB;j>VT z4CXnc1_3a>76AHS&_OBy%kf)K-Vsrxhx|t;JsP$=4b3!FZ9W~%Em%Sg4C?Ccj|X4D z$?QeULlngsq7gBT7m6WU=#vyG+p8``d(NN3Hppu5@G_L-s=!>dZZg=yVhf!*V2zg|f>OP>3AYXX83u zJBNFgXrWZTXHxFHfO}2mmH=Pb(or*Q9A_J}f=rGn;vGQW71`J_`zNj>7FPnF8$#8uj26aqKD46j;(Hp4Ar(#e8@I>!?@< z`BlI6B(QNouqZBw$h*^hEANuXI)xV}qK6)mdFBPADkl({p|`w5md}b48kHEEu?7aI z_)ubCNz3MJrGe!OjY@Xj!*&<~^5dUnX=t*zC14BS$f0^|r=g^65^G$ay>Uw{$x2~O z4eYU7BG2i}+C^;NFBaYmMq(j|o9iq(=_XDKN21xL&LF6W9NaBuk2u`8Yr$`NE9*8g zX2+zlne4lpVhK-U3s}glO0jT;AZ(>hZd8gTZ608cGVx+NKFbVB``%Kr)6B*g8Vg4I=>eF*ZNz?=Zc?K4?c)pdiPcAdYJ#rA5=6K;E{`F=DX+k-_J!isay(RP8I%a-H^ zaEC8_ki8qw1g+L52J)<)?7rmdi}9Yi7`R6@ZOL(06_hR?82|*0+?49p?vset*7?8ei&HhY|+qe`A zVFisWKX>^dmS$MYlY6n40E`X!oX?9MV*Qm~dpyKa#g`ZJxeu}EzF)Is@n4#z1So7563gMo@NxH6t?E}g&q)uy@Ti)41W1qigK;5*0LnT z|1h36)$)8yEzcX(=U4Ow!2XMQm)Rs%&Vb#Na$nabO=4kb3n?DteEB>;WA9;ke5TDq~#Yb6^`0&d-`B9b_dMKSib`tp&FvRUG~#rzQ6 zZ?3kh=hN;fwCfA`Jijkr+L!efC->z?`mz>DM7TtwSCLurV5Xm40N;~XS|8eDrYj(* zwRjVeimQcpN$uX zE#g=EvlQ{zqda*4ixWp=@xBA7{bPK^0CrV;uoGW85PG10C%$DMo+~Zm$%EK#abX$1 zItX)q{VN_fm<<)LE#lJ$vkl_tuXywjkVNJ}-g^k{r!M4EhCtNhFXEv?asS#L{=rc6 z_sdKC2z~$f62CnZbMCc>w;#q@MDN?9Se6k`YULmeD)Di8nZIMt9zJCl>utPe5yZ?O z@YN_X0w{bT%vrpL9~j0y3eCl{E_x2em>Ws9Ufjdi4rg)gvDvsl+c6XAa%{)s^!yNH z=leixBiSph(dXK4m(jkX5C45Qdux12OI9c}5ITK={%lAk^gjOE>IXBTkiNY*0IwE(tZAG3!S?`;q%{eB>xLkd;&)*u&da_@U<^KF=_MrICOFU%^8!1`}`Kx1C7xCAZ`Mxn2H(c(($RjPx6z%_# zl12;>#~wElaA!m05$f}I^MMwS)w~;gu?42a_?bfC92h&Y`SlQNJuIPn0pDj~(c<{s z{Hz7jKCplXWrIYA?dB=jAdTM(_{eNPIO}D;IGeSIdk5$!#~8L|cy<)_yx4zcVY~|T z*KRl8m(7gg>_UEuo(-MPgT}JxhQag2LIY+^nkjHTZ$FkL8WuYF8 zx0&-2{!^@`1*<&?L%H%mWiY*V;6G7W4qkj_$Ezl0}LaZ#{b_6Lx?0Y;< zMFpt8eR(`O2RQrg3qCXl;G`_zvvOFbxXr^q%VDF%*F8M$2{u-o@8R>FV11)Oq5D+| z-LH2TobAQWKEYoq=b0{(AS|F?XNADRHsR;d1O_!{r>ED-ae`v2M* zzT#Q-WBvSV5Mn=hy%z-5wPeO~Y=9x;F#cT=yV{LN;S9@$AAX)aE*{=lk}{EH8pJ76 zN@h)BqCwo2%jZr8H9fGCubm9kH@ESfli6Eh&`v&n3Y#a6$mPFJ!FAUT9y%4|d~gTv zITimuvhwj$*>f<$ewxZ!8>ABP1<-FmIlK>MQy@>D&bB4H@W%kdt2qQP8C?c^SR)8w z>_*5DwoVk&>~MY=%(esH%;kwQSk`@Lo`ojVlpc}r=$DXDkVX3ilffR-LtRA3pvWHl z)fp@)fQAXjn7d}M$3y8)6LdlwJxZrNcpz{8Hwe@~vE;ztSg0s2`Hi2N#rBEAe&Zj^ zW~bz*L-6#*Ic$~q#a!O~Mb;&ndWk_VmYjxmR}RijD;nC5+vauqTONP)Mb=(^NWepT zUt}}IjpumJxiCy$K3DSYTsGPuwmZig+E_|ZhjSqD8D>wrb0vLkEZQI*Ia@M57t0yi z61jEC3*->ZfwV1ewz*_?9zA;g?3=dk& z=87wp@WqQkhclLN|0Pg6&n+oQUIIoF+s)!jUtt{@lr^&6Ah0?*6|$;N`zOz^5!@(?eHaF%rxfrPpHMe2o`w9rx!q zma&wuE9jE+d?;w7Uk}?rQsP_MqmC^GN~1@MS0pTTbzfH#-T;Ko9h)UdEr zEF>XERGd45_bp_4zf!?uenC*ot%UsG)Zwt^K90O14RUFK4a%vFgRxPmJW)(e1p(S92C^T#03i-G5Kq zjKx{4ul#Ns*c|lKG=P82SyJP+muMp#kyOzSp-`+zQXB5Kl4TjYkAn_bn$;RII$yZZ zB5v$w88e%Y^Au6cP(0Q`t-ykRtNy^6&chVchiv9^XjeA+5@P~16< z_g)Pq4B=0%X2Zm7CH%A1;FHIBgEeee^z3Ow3Z$i)oHL=cl^b?M0_>@2)A-yq5RdHO>0 zpai2zc=GGe9SuwP$k*8ekIBn4q>Gnh3HFns8;IXznY)4fW)Nayg+_Ms&EtEpy+|?P zzhD;R#QL;5A_IeB=F3A2j$^<bR6$Kd%OMS|{6==5!M#o9Cw+WGsGEz#m0Q)+jVOm~zgd;CJ%CVp1 zA{;3V@f;1tZEM+2;_YdC+Kr_ED{XTen7eIqQkxl`r+-a|8}Z5{i)Np!D{ z{oXUUN4m^HGSr;Pzw6D~@!vMG2yConAbQ*dhzC?4QdA(?-UWzOcL5^72Z&{TSR%jm z1`80wrgHx`S^N6_Xi*+w_7Ir7$D44?$iL>i$sP$QpHg!Q^mJGw#UJp)lxlwf@79~$ zEAF16AZ$CHstaKs(!Dwm_MXpZGQz%j3q7w;dtP>zo)_Jv=UktjF^|@5rs^h8wOxj# zP0kFU0O$NE_UxUKU9e!Uuz|IUdyGb?gJ_0KQHZ9m3h6_4fz*5#NYi{Ets+E$X75EwwzY(a#%`ed%Y#WQBf~ z5j=G;+#7*3&wsEM2IEYu!)XwWYhkA2 zbci5ppv#l^yv;DYpPs@$*bK4%+ZJBF8GEHir|`IUVY+2a;XU8Qwy$IopZ+fHf3k&d zz;$CH`Z`5@1!Or+seQdZiU0C0ON^uSJ^@aZ$BM@{gm`YCBD7waR1)`3*4<$I6rlP7 zld1x#qRA8P$U%tS&Cn~@Yy6OVv`-!~a7B)n4!}9T4 zSW^krUZVMuE$n46u@g7G&yoW~LCDV(n)5#I!-RbCJ-+sR=*cJEh!X zvG23{#Im*u{Hux;_-(}s{9jGH6aF60EAYRMd$qxT-}4Imt0pS&H&o%zo2bA)eWC*Y z(|Eov_+8J{4*zoxJ z$F;IAbiVr|+VD9av1tt(_n2u#xsL|H!eD0X!Mz{BnG)TjWYov3ox!kxzw!y|WeDJh zK4F>7PyMPK;oO@2kv!;a3=)rl_n@=A`0S)kyM4+QP^amFG~tyXcvhSA;NN|UP9uAi zwE2t$8q)GZ@JudbK+gTbfDI`^VBkT2ODC@YTOv+6E+_aH*ubsBid<0=ItlQ;j!M0 zIIO{0U46ApLu!Nby&i#Z87JVa9NI?zxp{g{)rR#*YrPX z0{{JUm^`5qc+eLtIx`rv=@yCuk&P6-8|G|d5ugRg74XIs0jqW`83Y_}JCGn0T}%+l zE>dpS=(b|vuMKF9QO;&<`BPu8BxyRWXyF%dp-rqb6k0@cnyH?ULM?*Pny|5>5#RR( zYhm4sCtxgI1IFi2KzvqT#k){V-K5~Y$I9uiD%95K3bv?ye}A>ICH}WJKVXa z5i4Xx3l21EQFIaMElM+iS$7u2gho3zdkux=8{UqI=GO78#i&5U}v!(SLC$@0qp&fJt~fN@#sAebG==B{2px4j6vMF2VyQS zh#%U69rK((p7<5qO_k5^r@mrI)=5}RnhM25lw&GHc@uDYPRFeWF&z)$AW+u9eg^Au zwL-H09rROy>mdINv@_||*2|CML%S3D+?xGK)%na1KwDvEq@9eW^AWG3v$T^2P3ncYxopCiu7J@wwl!S8GDQ^{+u6p+f)O^9uC)Rw~fH zK2L!@LJ$4l)QcDADbSBp|Nk&g2YtGFv2-3^x}ObdQ`Xsjh2);q-+^6Xu^^<{DcI&Z z6O-^_tp|Z(X_i+dhr<8gGqc#($@_lKk|p_y?R(Zsyy)Oxf6rP(oN<8Uz24%?vi5e1 zlcF?89Hx~79AJ$NV#8;6^g%eMrDw?cf-@SGp0@@e%_A`bsK(tERlKpYKgg0p{}?A0 zk`o1s2o5wlpL?3GJqQ`|f`jio$dW>T#(hfr=$4%^k$2k7(56swoquM_`11FAs z9sZZVdrf10fooAbPkbx2YG#7tlPVwhw`MW=|k;Z{&L+^cAMFA&e zu(lEf`?nK#+#xu7KbpW7AA%+K&QpBLAvWE5$|#~X1f-ZKbXpS#JmLGfBsk`8Zx4mE znXm{+>P_Ih@KCYPW)M1!3=<2@`2H{$?2T{#CV0&g`}bS3cf6AxA%+WRTMuo^ZhJdc z-o}d`Rou5-=Dui1v8MIJ!Z~O&F-#0DJb;eq;n*g8%VE}9%Fit8%#R;tkqz>RGAxT_ zN+{;iPdIuU@eWV^2`tt39X|3WxGCOvn(zDxvswK#!iHG8>W9N?JWP8c!PI~U|AbSw zdTJlH-&Xn5`-)EYYt!xT~0iLs*n;U}2_UC&ADJK9g-Cv-{)aC85`%11>|+ z#ZOaFip3wfa)BZ$>_bBRNGe}^9Dap=E$6=+XZOVy+t88F$Xxmf8bjJ7Sqwr)>f9D; zE?t+(5!WzO+`634bFp>-#e%74X+bLgh%V+Y=b>)x;>1+m+YJ|L&T_uH>SAUpzwL(Y z*=;!=TduW?N#(1{@p$BNezEG}waz@L0>;RtLjF<(TISP02Rif5D%ccpPa$uAg0&9F zH{qhAGmRe2=bT`J#iBxvdg5wxYiAyG5`Ewl=c$w0#gU!)+LNq(LGjbEtn{E*@ZHlH z?58)xg0OK9ibGo!j2zcKto0KL(G!L!1a2E{uN&7oEZXP#TeyC7TvN7mtXNPv?(wjz zIn~d(AQtA~{)A@|n*XZ1PW?@L0~RZ+VN~&~jOz+t(l_UjBtABUVG4 z_Y3cRonh!k_m`BSSw7WFpDo=EY%GrZv% zHniz?7AREce{w~d-PNwhuW;R;=dNKfV#Zj-8@U(n3v1p;m;}YX-pH3wh5fMVjchZP z+TyJaoj3A>4SeKHmXzEKSu@9CTADku0#nz!BV%x1b4TV|_?DaC^Q+lB`W8t2xebat za_j~UPvQe%@>)3Vk=I3DqqpwiH*T?Z@`@zi#)?dH^XG4CD>Cg!R_kl37Z@wD_BK|; zeT?tB4dfj;#?RhnZ5jaigzOEX*r%79Cwg%z*Uepx@E5#5c)VLdc%++`qk&l8y*yMp zAm)uxkiFlWbw%Y=V6PnV-Hjv>sd!a|o+CdnFrV*>`AZ0*`c1|BN?K4ne^q{7@dGzo&)*WI zq{MvWNbte@{wmDxGT0Yc`9)FcDL!xEU6?dhJXyroGAT(sQpCSzQkOXBvI|7~3C%S| zFxunrn-~EldJmjriBTQl7q*FrgMi;xF6soIFTHI!hc`II+Ca^1|g{rd)&_$q<_pTQB3fOJ1QfcK{U<~l$mg0 zGqfFNFB#A&-i=~fedrt4HS3n`qHr#7qA(cp$8Pru;UN0%}I?Eww7T~H;(P&V^B`4z_z+5 z6u*Cfp%5W-ii|-4wAtn@@k}`PEM^N#Bn>wToo)cwZCK?ix4he^Uf&pIIA=lh?+|!M ze#A-CPv|oPUXShA7H)WTC6a?!&7L51YH5c~S(Cl4yllBsM4icI%t#Y*9kH+z}b_pv4$e0|?f(3=je1r0crDj|B^z-_!x{kqW>yv~iCm03)5R zD*#Z1s2FE=%$5edNkG&x@T+wU{C8X@46FkkK<(DRzycirt2GR$gU?lG?_$;%=P=A( zK*%KlfbTS*DycRgCf5PP1YEbCH%u-<9DZfX3=d6cF<}wxN8CbKG`k?7hbaT zRS|)Bg||M<8fikn^{Y39Qg~d@u9t4A zkLz&_*FE9dTs2+PhsAwgR9of6R2R8Z9n)-!>l&_Y*AZZ?Tkuvo03OhAtqz``8~jGU zT2XDigVMt50HPtT6RvYFD*!YBxhv*!v@<{lL@dn`01(*|29RmW=}jS)h?EKLCjvw= z0HwZ;tM>p3g6zVhRNA~V9_8^TzJX<0zHgx;wL|vVGdQOi*=HE zqy?{pcsq?Yq*|%oP#FfGI9?67QD76|-CtxN6u!I!A|a{gwo*p`;4pQ70SU@tbkIaF zJBZ1_+~02#g(a?Ll6{*PvzLUt%Nyc&2le|%z$2H!;7$*~R|RQyB~L&_P{?WY@w7Uj zC+Qp1okQQ4L^i&!P+?0Tdr@Ibr}anAezU-}1&wEEd& zp&BYTN_N`ED0iEjD+AGw6`Jg=qzdDh_ZTF*q7sH@|AkY$1 z%K_Szg##QFz=tP*hqCic$#bCS2r1P&e>R1eNa>`IIVjD|7tpvJ51O!i0Ls1E9Ju2qZzJC|8A_O!7oIk72^D;6O)r zxgG5qqnv}(zUaOyhsw_h&J^5N2rI@Jq7fD%>=eSX5@j(^R;)@{!H!m_K1q~iL-Ox! zEkRjhfYBU{vSOUOX=boEKc{bCdnbKkHf8v}lGmq-vhGG$79<05fjlbs@;_MPD*9qo z^hHZ#F=_PGpo+eF!J$j^WdiMG1^_sst*Lt2dh`z3vSQXm7TL}3q%9lhRTxkkZOy1j zTjirP+Ug_I)^?GdbKzm4Ei=CLwB<7K=@;SECFLBL01q_!Cjn3aTe=sdnCx7gNdL{A z@)?3GD75?gUsvwaJ=a7exFB5s!;SiS2k%ws`yz2I_q9yzi`VGO>iJaP*)qf~ptCtH zZzop;v-hTD1JPs83Yv-l{X{$0LpW%b!v_Nt33VB5auX>fM5HVo6*1bx*#)#lP9?hD znfk)>+Y$wPNBllcNMTlRsM_%oUB^Xg$6BZJ<$J_QO`MPSRg}aAh=5!&i*2#?%iqbn znaQq*bx7^>nlF*Uf@e&7yh| zBejmv??i19YM+C2ecr21!a7fzMNzDMmwp!h$}G;}7>dw#hQ8q(Fv?3owV$G$>AJxN z>n9$tl%3$@ckU8j|gDodfC z#H;#A1Syj!RR=7gZ}2KOMnX5G2WD#3u&wUj>C0D zO|Y~8{62P^h*Pw`fzBxXb_M9C8=f1CXGjGN#J6_sf_jbe-&T~);t}%k=%G1g=hjjOK9IoupH4cOYNo~hcTPxZw)Y`^4|Bbdyss@qLLg~32 z$v&HA3{IMfZ!-R#MN}w78(DClzI)x48#4Q3xuIyEs5Ts{HjGgleuQtEyeBr=lT2Rj z2f8_d&lvnp0S0-jBsFi<2oBD4csys}TQsX%*IfbjOWZJ>vri7S9Hy(Vm32wJA@=$@?^BS z@o~u>FMs>>JU{zP+=JsC!TC75gZZVkn~Lkyp8mVB$+yjGZGT?ZPqwJ`BLvvT;kqjT z5?&qS346CYA09)ERD1sVCTQw*LT6c)fD4ynAlm5?r)*op=LSlNMorFatGXBEe0vT5 zK!5Ke`5u{WO`NON@ZSTarkJ@Uz<$3B(U2;L?!|xK*|fwp4Pv)88&`lmL4I~n)w4}& zc{Wn_><&rAgc;$Z@O%IjFr-veG_2*}db)?J2M)9&J`~UPse0C%e<#p4aE(rt%NFAs zCuQVovXRYIpzLHaJB+}MHFP6Nxv^2X(T%QeqU({$_4k$QDY(vyo{++$@23_MsD<&I zDIHx-RazvC;NycNM6sqZKmI;`i5ouSH-bQXhBdrzFo^E-a6Ua4|DXSie;o{B+_#!X z*T?m(!+B-w;^UoSc$)R8Q z+#j-<-)V97BPpeYQSL|C_|Re0hE+I33b73|P3V-GAs?be zI$s&ae`zEowGe&UF0G~Q%wasau@oJ85xCI9F?SUo*%a48%uGaKl`+Q zauxrqF`SlP59enaOYOx^hx52lsY~d)^7Ga3c3H*8hhn^qKG)l>;wwTi-U{khMdLReOEMqo=bSRJVfvqb=Q8!HT}DZbey#f z&%eJj(*6Przp2<7(y^Aoyy`&4)VC285$2q9+E56o(V0Bqev(*d@_IWKp*`t;I{J>c z2x;+82x*3K0{=K%x+m`5FF?Ull_UeSD>YCqSWty`olts3;J3r2=l}w`Q&}XBZz5%g z^}pa_n}8Mj31Gb-p(AaV8le-}=Z!;_1akvB?Qkj}^RB|Opx;;F@9g{~|DcI9C8*0# zklPfz>vfv9H^R5R77)8;lW>Yq#8;jooMMOa4MwT`!0n%l;p6?qLhmLNk%2++8r+p5 zF*BILNpKu@^q~KJxKD6w{al74X+6PV0UR(K7iw_eH^FgqH*XOkwMa6o#52Q?As1Mt zKB(;{YQHG{+zEB3JnoI6y|W*m9wEhr48uM5CUdEY4wB4x6C?tL$#M+r$)SgFC=B2n zyZP@CQnL8m=R7V_8gEP-1|1wAcv6DNx>4lEX3p0}LZ$`|;};{r?~6H4ijt;_&vL#Y zN=gpyKLiK@#sy&fXq1#7Ht^@SqoioDFXz$GQk?MvV96{f zPn^svoHDjBmu40TjUVIgIBA)293HZ?N3vC!^r!}QwDZz(p8UHMH}qjR+vL^nEO>@f zyG+{0Vq*{WU5NG-%f-S%knKw<1@uE37cg*n5K%xl`fB1lf;O%`X3sFRp=S>*=QrY| zrs2iV;{&De9y5uC4fu_Bx%lyaORei`wD<2w1T&V!O7{jQpkKGbtDM`UdqOuiRZwkF zQ9b!{zRxBl#!Lfd{|wusMav)=(QQTyQV?AVL>~guRYXHHRU;Y*&X3&HfzMbVWwiVZ zjR?7fWFQ!!&&l>ofbPx`?bodJ93^OcZKueOFOXUr50P&O5e9^W!($Ebl!QB{{le$Y zla?BD(UC9G>&r+_vQDOZK8U_qs33Zwis*4@dQ_c;{Y)lq`Sd`Q?zJK;sU6vl~%OOm`MIL`Z{4Eb<` z=HxOmIxj(14HJY5 ze>g!(s21v~&nOYWxx$fOwqA$Wn5bOui&S;>RwUX*-q67CV7c`(+$K?+7je8%4$ z>=zwjJRvy@^Zl+{5miL|MhGK8TbUrWei&gf9g)Rsa?xr`0Od%_klh*+nM@NQWC=KD z^yEqQuhFSYDgoFs0ui1i%Bh;|E1X9H5m)(up;DNsEQ#ihXeGcQ0*0&b8dZX5;>V@P zB7^VmASIYa4R90zm}8jtam+gqWh_5vsHD9w+F(eV&Kq}>!mN{UMz8D&RO7!u(UQ@a z>rgOS*-m+rS85T2j^;4i0W)j`0htu$fO20$BBU$WuPy`FdHA1Wj`wwv0?q_s ze0?DU@bfBMdIvpitWP1|i%9PbanjY3*g!h;G!D760?V*CoFi^ z-IXV$S@4_gIdP8wu`=Vi^@u%4ppJm3aCAgSvVaI3KoVtRtnFwME!E0k|T( z5w6CefERJ4IUjLhD}gIalrO(y9``)qvA&XQ!({t_?~Ttv=9+C;!oZBd}TKK>JF(8`f><&CqrUrBrySoL<98~jFs(g3Wv&f#7js*Y(#%$F35-slep z76PguB#K{S?d>yx(KKt8zg@f+hu!o_p3ok_7)>3Xsc{bShp%6SLjak9X>jDyf~5Es zSQ^B@bKt2gA|nj?1ZLs_4c^?S@f+0Et8@*=&g(#*szi(**DY1Rq;BF_skp~XNSfj& z1e>2-FJ;ob%#pZIa@epwrj1A{G;xr_)D~&fuqU&oL){Dz2Co^YkP+^unE>D#Fbqi{ z(uK{h2{TO<1_*>OXG1I>aWJ<8OX1cM%wI-6yk#8$GO>yc?DQ3k*vd_U9I6TG-ulW8 z+Eyr3zh|04^}-AsLChhlk3l$SpuPN`7%|Ha_Fy8811W_@6Q>90@v^|QG_%&{P^hl3>cN$>|{zsxI;(17o2Ek%fz%=~m~DZ%>w zQ7(14C{G$2dBd1hk5@4!+PutAIF`j~`*8YQtyA>nQ+rewV)G*?JCD_F*qf+a-UhQv7tQ$)dTl+hv9 zAuJJgG%6kq?9As1c1}bPc9>(nj2s;Eo&a`MEhEeTOFlZx1|8-BKf!QUbsMopjFW1J z5ycS&lGo@E6m&K)S>|sp1<7}83GWZF%HN4Uk3w2j5UVIV#0X-Qqh?R#abU|@#VcK_ zc!jCF^5?8Fss^jHN)-mjq}|CX3Xph@LdPm80G5ETlGo5iCRT-la#ufvYeoZdlDTGR z=}S?d2S^xFNHRT~6Fg|o zKqe0955h2!!_gyPCTQ<^Dl^%DytP1{rxN-G$g@la83AdUxM_tmVcC|(x4EgJWUqlD zBBAKYy|7^+ZXh*bO9$9HtvoI{t^w$Eu+i4RMq39PZ5^bi>m|SIHj#w_Q|xM z$=aDBG%Vg;#JdEea~d2IGGL zOb++ck2`Ejl(uw^Ozp>^eU#Q7_FE<>F;nPbw{6Nw%fRmhy!2Iyz{qvhFh_21xWgPK zq|9q3+80z9?5nIezl#hoV>=_B6M6`P*W>NLc*N7SN)ZNM2Z`m*#{U4}k6bV?nM)=n zq^-g;0?6t^becXPHI+o9Z30UpZNIKUD6JBeAWO0YPWM%$iZ4IAaoy_LOKY!s;0`Je z9K{XNLbPwYmf65Q6yJw3aqa=@K;b7W)tGA8YCu{~jh{&45Kkq8muw5O5T88;{1We& z&lR~!B6S7GRTZh>HTDH0Q?Ek(oWCF5FLs0{yWtkLbl~0FNvT#PsU}&kinxq&zL}4S zVbZ%HQsw;?nMGKYb+|5{)`PA?VVMveQaB9p<4Sr4b5579;~Lr{K3H~O6N_BM+a}a@ zDcVKJZ72bKfa8W0G*lk&kb_7iDi|&jG#ITma7P3d0`(oJ!hqJkB1b6gjP?~sYMqJ!h;&Hyo3Z*8pxIZduEomNKoKxX zt;+6)_OmO|DeZU!7$o<>pFwUtqPfskUarZ+>8B;^b7P!Vh(s$yq7@?13Xw?0z6B!j zCPbnI6WFPW#8zE|!P8OckW_Xf0G9%;uU6ye#|lf5G}gmE*Dhl&Jqj6vUCLu%me-)o zCIU#9Zx?dR5%SJN+odR*Zlv0U5u)uBttVFRL^1(10ZJQ@!x0*0W1OF~^jbNg7(0>u zv=jLdZ&PTy5L&thP9|3HoWd&-gdwV5A+g3p?a|pvMDQK!jM-R@gfDGu;kZQ{E7aiXzlGgP?MBJLG)T8H6}N zy)y_8eqg*~hrAvDDMuzz=gby_x#cMWyALpV8`WQ1T(=&KXa46B;fO0oDARFdK=}$m zWeQ)Ir>ah!;nWuaXBTzEqM3`%>-Nzip&6m4;bpQ5 z!C?I+7Zs*9`hJV4$yPLs!jCZl9E-U4tUg@m7jQErgcnHds?dV@aA zbpLbS$OI}_T-NCs7pn}k3#2kYh2NlZ9hDhL1L+6ui=}%b^3sI(@oBJiM&-Ge?_4B^ zE8mPx&Amzc_0En6$gDiU#x&X!Y{*pooiqs%;1_YD^~cevqbb}QJ!!1)zbJ67T|v-V zMPV5wjLu_jj*O~7qWm-B*8~Vw><5$)jBMw>iJ=t{V|CiS^?=NYg=f5O=z$x5$q+kLuq5<*Zb5@7H0r^4*LZrnoCo_>2Wsbf}X;mpp z>0CzoUCP+XT?jBD_*kbZF#&ZwvAfE15Y~=s?XJQI^KC+YgHFOr5rS4|k-MlbE8`VO zTR_@k%^$hVoIfNY=D3Os*+FG#h?!GfTyp`fx!wh+5-lPuUKolHrL21a*hw1}0M?c- z06aw9_#>c*0+POgveKrkh{Fl~%+M-nkcOne!&DOVNQctdUt8$xN6OSP3Ta>$Wmeer z1&e~YCfX681bfHMg*gGNV6cvQKGW`z8XVloGMW7DkBb+)in;P_$uM<(dA+@!Ioznt zD=YToC2579vq_e(ZD(FX6(i9rKS6-4wd!O1H}f2X4J5saZ|1!EApdWqtz}{nb9D<= zY)J^#qi_}Div~l(F|@jZ_yp>Vkw!;HV1+6ki3`e-6!G)wt zntV&TZ+Sv+0ck#3h)>606r4x8K+^Zm>XnhWo_zg|Ix^D8E4koTN4dz8?%8sBO%0vL z_e*@|vN6Q|uwa(CHF;NiU8NgWGl>%>;X4E~H*CpJvqqsqa*MpcjjI6H1XePnid1$= zxyrv>BN_pETdi!H8(_^{m5z>aoRl?wpd=yq!>tx@liqZc7wLh?yGdVmmFrJ#>IhI> z5dCPY>Y?Q$KxbO$r>C{@=+SX6Nd29+I9@1vMuTJV@jV%}iQY({E8_J7Vy*HJEwE~XCdhLN3D6%Lg*4kVtpym#>X(tn#)`hX2st_|3CZ=4L6 zKOQm{7A}EolOuJ{oTJgH>yG$8Ta9yf9gkUX>JKh~d&K|{m4X8x1ZeSN+=-XE3!%s) za?+$70eB7d8hddoWIX4IUK~r|d=^G9`Z#pI34H>RL~I0Gq2h;_qsRDPVMG5Zzl*$q z$udWWvUD4*!%7CL)a2nI3C^wk8V)hAhf~s|B9vPsVs7z)N&NdZVLPNqb z1G=9d*YN{_doE-VRDh}QLbXu+WZgGRf`XtFIk{q38nEmA&90|`y;|`ys%U>wCob`G zw97tVm(|(93K>kfALXNLmC~UW7$z^S*F43t%GDsQR;#n{ zP2O#kCs0?Sl87d>skE?|9*p*thuo5_hulipu@HntM*G)}^zvY!@Pb)98o0uRTm{io zu*)<-G@aT+4CyCYk~Bw>YX6*(rv5d?=UXyBK-!a}Edz)=023A|gwbK8+J3e%YNpqw;3C;01G?GwEo>Gnr|R8=o)uZ@X*L+C z?@B6(Jj0E8`K_^*2l6cpA`E40)r12 zzPw$%GL~D`Z{4Dfk2QLvuy#AJ6PckUXLdDEbvv&XBi&oRb32Hv82jyHOwSGj#1&G+U} z#svGB6&%4EepGYD15DpN>JIsTeT@o@2dG5^aUKs)i%p=|0|Dv?W4D0n5?cAA8g;HQ z{_N@GyAr(SZAlXtSErz(qu|mJ{Kk|d9KpLV1XbHWeS8jsL{i+3@MW3BGeVc#tv){2 zaCZe&or5_ycwfjZ+sreuj^Oc|j2EJ-?i$hNN7ZJ6QBb_;M}($ity)L_JG!H`NUozf z+G@eB{0Se_YdbRsxarjC!RPJH_x)gFllAo?GcbWc9(+wbI)OnR2&f$sjKOJ##^M(Q zfR<8FJmIrKxZ)L@XB71No;-<>Bnn1p+Z<#dC3vOXemaAD+aBDEbJX(ljGldeq|Y^G zdzqo{`F*snHxk<>Wy=I^bB+GK^f~p}d4@Y@G*~g+YT%EbBU&B+JK;-^0>Svhuc^)x zjb6BAqc9&hR1*TmSw?&_ahRzx>V^cT@xK8FvVenqWs4qMeLSJ^(dByZV26~-`W5Q> ziN;0!?`9ktjxb4dC0=b(UYuTZ+7n->++#YgVLA9qsMP8R-r_cRjA4?|J!dadY{_DQ zZ7Tup;A56Gl*{YY=e(vSPBL;c0OAl09$Bqng%~Ebsj@8WQkq&h$>^g`Q7=wH3I4z~ z4rGssZrL^>t+Rye5ds>gyTdCS!5X_W7w+~G>Fn^iL{R`-?HsMT^J}W$eC!i-Mldpo zWm@83*GtD%(Ao6lyv3uL^uL3yz?-Zw~> z@uHR7`glS@@KPCX$tZKYC&s$i8mqe?re2dPV%9J_FwC{0Udv>R4Um|Oah>SbWQ?L; zdq#ac&6%#RQnyVu@||@V!NyP3)02&br+r~ch_$As+2Ps3wkK+bUzq^$$eF?(Vk%fj zyY)_0JjE#R*URLfF-Rv*G(K`ly!uW@xg2GM$$cf0%4*rqK`s`MdoKB+Q&~&SV$_3!^mMY;2vM)*WfqbbjlKLzMtQJZ@}FvQ*+JH|Y;%GEHW3 zsX3GC&;>?2e@A-?A=$0dS0srwrfhrh=%5Eu6|xm_J!q0^=APNe^ruoP9^;(0v{b=P z1HJ>dGAQx)6bZFqvCINa3#2E4B`e(<=>f(Af~ge=evddF3FHs+{~E!_3JW6@U_=*; z++$(Hm#bC3`${uL#@X(GVL2vci#ZUC+;3w94t**{w(M+)wu_k4vp~r`am2mKBJO{X zF2rqN#;fEP{?3o>LD*P}a z96osp@6?&y;=xEp9seLXaH!mepg|7m_3e=s-Pm`2&mZDfng zt%zU>r{ZrR_>&7v@#8*7{o~*$Z(PMEMMCoc_LzL z#3!LW5Qs#8cu}PaFE!53ImFCJUmDW)Uj-&Owz!A{FqE9XQLVky7-dY@AtQL%NF6?% zw&b4siOrgg+YLUZk}m6;O>6Jc6)8b;)8=3pw^^%!GmIXN?JhNahB33}EuUB(OV8Tf zyXbx--5;4^+i7|rPi|B@W*Eba@V_grdEum|;!HI2~ zEnK>Oopc#FBi?Is1~^-Sa0az%CL^BdQm@Z6raKxxHjU)UJIk1mb^w55duz-_9$2Z? z&NA}+-%DOG&T}YCMC28Z*y~rKdcw~6E_5mMw?hyC^)$=tT|!qVY0hJt$svaVe8KoF|Mk1=sL$(nNd}2EdddTPp6TM))FXFugzfzq>*AS0dzUfwZ&FATvXU_Mz>ad-3HaO zlpB5vzEw}mML@i{Slw1?q~$NBMVWTfBAU?CW@sHuisO>@UN6)CYAMtIMXuUW3e`RG zkwx(DK`+voi_T`y*-;Q`N|9`7t_^C=Tu$-btj>n_r4vguwnarqUudp}-T6(hfJ4QQ zyDeWF9?4bh=RtcDKT_*A83n3*o-rZA2L!k?M5aPlG1}X+0-f26 zIY#!JbMRjl&Ub;7f(n~UWrx0{R2Q4uokPBG+~1ho*nN}F$(QZ(2b*ZTQU+umfp9EN zni2YNg<5jCk&`u$JX3}df`WKrvdvp7)cVVf*)0=C^c^E#z5Qi}#N-%l)FnpMv@483 zxx<<7o0#4a{C_ZEXz*8XB)qo5G!3*<&s||;wlY7wsp`WkjBK7<*nNd@e$qcE2s{s|6I=a2sEn&7P!<+)Fvgx@bAd>k(Q_EW(y3I-+$Q%^-VL48ha_6wqav za>vt&62mL+%ILwD+Ohs2)m5M1Y001PU0;e;jhH>@x4I-#W93WIGE6r?-4)oj7W+|g zMXLGE(2+W)N?2$VwYfJ83Q&dSSE-2$jkI?2vC+&zP_M<+VT)R{(CC_%avnwM+6I@| z|DQp-TK`;8WH#zT(M7*8L9M6i$R48s2)(K3LKD8lijsk90-(%(eO(ZfvqE#}jy1kj z_obQNF3t#|tnn&+k&*5JSm%jAvA<_K1AWbeFJlSs-erD& z#)yb&TrKI> zw6bN7$}X>iF*(P)fZH^xx*!z1?e0H|3QrCeC{5WV+@$rWmO*t1rI>?j6HNHVJ4yth zy~P#%gGE>;a&N_A0JTI{B;Ne>PQuG0=;rHbgtcmI+S7K|O+abT+6-ys$8XQ8&RlGC z)qU!`#YQgwuHm2G*Fn(HI^=qRTewK+x1*)5M>8(y6c6L;H#P^H6qbFhIC}%tG17&c z;zx7^d9|jb1}kTulaUq2jZ8)*Wcu$7RvRB)hjWI|ak{9^MNG%udI;WoA&mCNp|P|CSL^e_|C_Xx6_en#&i?_tFMzzGD1H-kNTJT;pIu5*qYI5EnUEZS7$&l z6qeDRkA+Dp>cWB9Knm>SW`zT#%u_Vp$Xvw?!BX#8b5v=ehs=(_(0cXr z4REC`oO$w5Va^GN!51$C2KLA!V)VWA1)07E2F@#HFG%_x(j_g(e@T~mUaX(mK&^Uq z+1QAWHpB*8l+$rYCW8{99whWuH;$=pXX>lInq#H+w^*}3^aH!q>F9if8)yNdh|qvs zztR?Z4>zpCnGgf9YoT^n1m*=x;4BVS7QZjC8+r%~icv{cjdb|&$6EPF{<^nylt1&c zUT&@)S7360RU<1(R*tNyD-eCc124ueiUyViET{r3HIt{fvVwYBttQ5AHX8Z~c4Y$U z>l)n33J?*SzWZm80CM2-vZcZ0P-1Jh-B%DjW9E{W2brn01~*E z{>6bz$iNjy@?67U>N&Xyecr{a9|F^|@}w`JQ88BKo3oi7>cnhXo10KcM(8QhYxA{2 zyFI_zpk$1u6Cs0<{J+q|7Qs@nPh;N5-D|NOWqf5ffqz(^7G<-9YOW z8W=|d5+W8~pp)x*yAk=QZE&vC<^K`*Vm<#G_{-O{dn_NI^w3c1`?*K9Cww3}^(#iS zo;gQ&+uEJ$xqEIhGX47>rw2oOse<^P67Xs_D%s6UaQ$ixcc=65^EHC2$*<+!!5Wt2 z?QM;F0{^-7GuM3IVa@i%sNE5rx*H{uHR%~<{ZFails>ugFzK79?-kXpwWLG0(WmR* z(Q03!c?UKlm`;b`u>?7i^J8s#P?W~ZNoshtjzeGIfv6D0GqRC!2bLkejCaazs9CusoK8XwQim z8$1^u4q1NZnEx|FWBD%wFoB1X1>?7w7@u4z*bX2HRG8Q@{Gro8R}>$OE!*Uvml-Nz z{zT9B0FHa7Hgb)Pc0qXnwI&>t!5N_@JXA#=*oU^7)Y!^g@|zG3+=LiVaRBN&AOkn$Um3=PsxL_vWD3|`ahwS z%f2wrt~d4tb@#2t0RJ$t6*Gm;@_#q%U4D0)ByBi@AJSL-20|Q)Ai2UB+=+=z(tj1h zdQ8A%8Gj||)Du6F_?bD^o*8XlbfXgHHr5*ve$j-HEB8-DFLYbzRm1;m^htPXwos^RU+R#)~fOXtG`k00ca}-iIt3=RI-VZr(1xSCEui^Ng&~Db-y1o zmEb%|;OEWg3zJwLc?5;hh^#uR0zr~DbwnX7gi?e#7dI7aJ!;*8b7Vck2Rq&XPi5OQ zy+>u6g`y>|jihr;UrWYC>S}$_?02G5YhV_603hvE@WxJFc-F|FvjWWm4#7{-^VQHWRMR)q?Jfl1M&|xSUk?<_C21zdH61TJ0*ir#lBkEvpz3EOreD z7I$3ssE$4_^sOUx^a$?uGLE^xHhPR*&e#5=aut+=dzMLEsrNYF%jKJcjC?l0ZNGaY!Kil~W?8B>KiXJ42O-;B| z4?g%0_|UB8K`bLbJdIi z9y1O;OsIq_Xsi}D%>6W={UtEjU!1&XZfEZ;MfjHquv+&^JesZzHh;S=@vwDUzY9wu zT6esq)3hN0;-5d5*m1Cr$nF7o3JN#A`S{Sh-5$YFu}9qL(x#?B zLB8eqnrXH-Q))OW1PmRNWiMMm`LMifXj2mLJ?h1o4R?H98&cbbk#nG4 z#<73)Ltf9C9%|w~Bd5xOd;DtLo+x?~H;G03Uq@E9h@5NY;3hetQBDiFQTmthU<~6VxYC z*H7if&l&N*i5Ut>nKTJm2~A$ZDA?@xntsbRM&?$rAG1GhyQf1@D{?L{W#V`zVv zw4Z3#3m{M07?Z^$7!hp9-~^pVChZ0q4`#Q+$6znZ*oR^9HuD??x&>NLRX%G0BX} zxMJfui>^MRypTpM`5IL5W?Y-Y+d0lDFC(Eeu2Jbc*07U?rO~>pZX7BIl7`Qq(d#H5 z1Nw6YAUl%!(`w^Si9UFj&4KlRYF7d0eM_BQVO&=tH$Nr!e`BrQY>TyC*s9~;TAQ`X zqwSYLe$s7^$dAb5CNH$JOcUV3y}{-!G0?p0|j? zF=qMmh?AKmQkTgrHODE;a!cD_->)3y9`a9Omg=o_M(*kCWU472T=M#d(6SFYevmYd z`2{grP66LH@)X$@s`ZlyQN2y{Ymr#CA>VdYKUD*qo8>#VQ2VtK*-g4=OYg#(Z{l~X z-oa!?`MG?{MGhCs;vL14z4u>SeIqZ%nX4!ZIS?}z*8CNWDArID4N2p^xW;#q zR>=2xbbL(mVRRk&_Qo?hXhIm>qokk8=z{AlMi-sm+|NIxowW0D0))O7%en(uC2^f@ zp+LHH!f1kwMi#QH#{i=#y=u0(Cf{IGA22H6fGmrxD+6lSQ$|6TTPa`4x{YlEvUZ{A@fG*mY=baALF@&Mxz8h?hSgzGm!b`|WQ0lJ>kLR0su`lpN(HTOQJ z%YQ$0V(j2l9(F+bv4xKt=<5T%zXFG%@)RBxppOdr7)>87@vtiy-iMSw)K!bDq)q^y z{spK~pg`dBwGAX~`!2<(>`w!mo;JGZm#8nEHhK-ZCT?JtwlJu4%CEa>@k#h8R%bqA zq)Z3`qtNgdac~M-jKS)ps>K!;H?u|H3{yUahY($wZ1J^c4A+^1F>XBd5zl@mY9~qO z*&plWt@x`LjIjF|5*05?h8wlu-&N~pjl6^^i8 zvNSCrcmw9M@)o4Uui9ABq7OZdB`v0g4yx9bM%SJnip)fhvN=~Q$H))O-WNAd?@~2u zn;Ktfj8kj>g5&Bf8ux^$aDtXfoWZBQgpgAM+rAlMM|_auBB9^*|HU}d(f1kE^GTjpaZg2Vs}ifY8>^RF8>&k0G*&vY2CEan|wGy0clUS}|2{-1`jlFJ<79CR9~q3!}35h9GES{=EIIGsCgVzSU>*qx|ecN;y5nVYSe&x$5-)X!=#qe&PFo zI>V7@8Ay|!FiI8iQH$Phc*Kn`+)CYdw{byw**x^ve`$nNu_gxc2^|r|WY9_-yxZUb zM0f1~m4AXJ9bwXB%mdUL z_h8Z-I6&>X$0+Sr%Vo0^?N|4n=+vg2W4Xw{41kTL)LFWs74ab@6kRK`Ev+_D-Sk(( zHCiwi)OqnpJHz`La%N3Er2+%A*W&Sa&2|fa>zEkv4T#|{`jp!KSMb;C6#OOJYn(YM z9)E%}!JptN9(RH_A03)F19yVMX56KzJMT3{cP*O_0&ma9LHxgw*l@4VfgmyEKH~!8 zjY1oV=^ObaNQ_Lf5E(<*s{1ghu0B(}a-T6v-=xy+Hy+K|4Z@qI!Ak#fjv4FZyIJ1I zlkk!zmdBzc>f`&3w5)F^(|~hPead*VO!s8+(c{fqqK@Bhj7ob~CJiOTXPhgnfDx&o z^OvZ}WdtvORq`;!pcufclNL&$Zt)UzcbPG{;BVx~i1%XyFr8vpO1+mz8V}#1aEjH* zU!oF&#xS=p&Z$m*>+opn)^c{J7U#Q_>er^kboG9=(LMPZ+FrvlAgrw#ayy|iBflRv zqmugUP?>K%sjelxIVx#vSq^5kZN^z87L|0SNT5D6{WaiPn#L29eH-hmE z7xxBPpMQejGFA+>;$*g=keKF0uWvSgN}No5Myd{NNwDH%4mg8rvTn;?Ar>cd^V?RO z%#WB+-++^YlU{tI1Sc)sqx^2hycH+2Ed&q8OASswd|aukgT`qc?x0H2I=|Rx$ph6sb z{P_VRt(8WaaLD9U#-LWUPCmR&HFlNJtrZ%jy~W`iwSbQ~+diXN{3()X%39oMp+i%& z$lP_7eNRsFKAu~v;8-RM-`YIVLw~&i+@Y>CVYT^S42&k+9V0kRg#B%W)&022xV!%( zz?T&{51)>ww49*n%TmiV5ZGK(IxJCG-J~{^F56FJT{*1ni~j24a$}}r(OatDgT@_M ze#oz3)!F6}#M7>kEj(8Do5kvmhm4$(KPHMUIM$5b{vskk zj4lozJg%B`bqQb0fryF%^VFf|jBdrP8uaod@9X6*?rdtJue*Ysf0Z8miL`(5H~VbV zTUS`>Esbk;^1{8yK=Y_4KqMroi=H=%lFQP#vD5=a%lQpz?eoT9$MV7I>*tMO-UVl3 z;#xJPQVL5M9~!6C7=~Qj-_(+^w=q33y-fEcF&dd0Evf_i;83NezF_3fDGQ&i)o60` zE8xObV4kNUQ5!7eor>rYB~O~~60nq2P~eI8bMJP_8AV&fSwx=2MFbJEM3>Ohq=%2A z9LUpydvHnHuD*J~7~MGpG@DT=rOO<1j_)~G6|6S~47;&jFK>DeZ6Id=>F(cr?*PZ) z&U$bKz3xS0W#NW1a6iJ}BF>2{kE!)bAz^GNZYb$_ z@=PHH*Q7r5DiOF~lx3=S6)t|ANfA?ZEqlsBN;spbqG8@;3)#0`Z`Cjeg$#9VFbPct=a%3 zFB@YWK(zE_uIeC!c#=MXNTLn)bbVkjl2^e1yXI0c=iI21e^{V zV2aVxROlsRW{<`IBHD)6Y zvi}6Jh(&SXV6#Hg7OAH<8U-`ol)SjzXBCWP>>@h^s~j~T2O*U(G`9bq7-LBfjiO9= zg*S4(T_z-DAcSV0)~wK=MXKK`_;CI03^nl;BQ32Lbxf-bn3gC8vg73~Qn$RqCB(l_ z-^>F^4KT1+Adyas)Z4EZx1@W~lEii}`EBoDYSODlpEfR8E$m($e^bj}HF|U})55KT z%eEOojfm&+I<|0}hmeUyC4C{aQAw*0Uo|fDSG=v2ySeSpn%c@O#^8+49nIghxxtJ1 z4h$};F)!vm!ONplG)oV7Id5)q)M�IWTtF>{q_OUH1ykE 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

9YaYxDWeb(4fVTHB$0IyyxnOvK- zAq&o0?7Ip4LarE~jB}$2zYIWfw)(D1CowD$NN&-n>u|E=pp-3OxZC3fRxQ% zTG7^wIvp&{$qaRNWU#o|{n^CWy}}J^9L?B%8Ewn~Xwc3qkAMbrYB83&F+Ulv2{wkC zY1Q^N7XnNSbsJt4Y{jS>x2L3y_J_5juIm+nCoMyISg|&O2xsj(gGPWP_WyGPZ~vDO zyoEZ9;LxB^38-UluWYl79T=7UO?^~e){~`8Z&5@Q733=T|#fL=3=aMq*?PVd)(CS)xQ10WW?IulYcN(TC8p#K!84}Q>{@LIq|jOQ2{ z@}Z&pKkGD?g2gICZ!It3dm?jUPJ0BSn|BvWL(;aq8L%1SMim|gAE;#E6s$EH<%WXF zwZ>6KM0{CQ0Uxzoy7snzV4ZwTy69}L3)nOfx*a|Ul>3X87MbP~q*1xV?0kkY5p!t2t`f=OORo>uwj!eRicdm0k0aSiN7 zBn#f?Gf=Pi8Ax*%45e>&gFLoK*=Kg<)pbFS`WiaaIY@ERr)nVrENf08)2vruSz>)O?tq_#HDP~Q8l1l^AsjcC4Ay5&Rx?h*-2vj!$L<9|j%&D#O z>bhT_Uq{d&=zIg)q!W-+UzDjfTF zDk-j^8h8Y!^85gJ{E&#>9C~=V`#C7u0F&i8Qt86Y>mUgTfe2hA+6g2SdRKfCHBb@A zDj_98V1iWzjm*A}kSY)Cm7t_S2na2)Gq!P)-IKu0R5OdY_Lkfd3yY8x{NpnbiUjsv2x9MWPzr7@71+%p6*0H668B2G2gbahZ z6Qd)9A>)9Mix7*r>ztP5GpsES;M@WoA3A{#Jb!`|>+(4TTR7;42=p*G%3)|VPhkIR znh#|iP5v;m|E;*`#94?Ih`Tr{^tn-R72wtj(GYE_avDQR#Av=o?=N6vsWTR}DWeUA z=P*yFwuaTYSKibXGRFSh6>#YjHANqucP&knYW^BS?3y?at24#I$r(7GhlYy@WSF?_ zY4f!q(>&1poWuN_26!%D=!7W$(b%Elw3O?e_wD^<=PMowA{MS#$f))H+v0Tzo?;*X z$z!ry9x!2oxuGu9d%`mJ%Hf5CY3INJi15$625g&;;89l)+mJa#bL3u)IpTSB6>CSM zv-x#h6X(|z&w;uQL2?>trG!v~IOo6!*7M)pERAygbNv8^dW|$nBC@V7-Dwr&FsXi%$+Y0Uz zu@FuYVc0+{#PD>D;DcoMN-6u?Fc(|GkkVwsLl?u4c844gfmI~eR3dBwt%~GBzuc6^ zZw%j+*QA2YA5M=dBsTAkA5}QCJi!d1JoPXes+-&&>)Jp?Dg63<2%RK@bKWBKo8KEy zUWN&w1k__L&Fr@RRQFK8=6f`;5Q=}Hm?44|M6>T_qJ=o8<#z*uyuDUYic)=4+iNvrr!p#I*_B-4y)n}Y-FORZeW}1I6!`S3hTK*sP%ey zT{pmf3g~3F3E5|`@O53;(zb4(4ryk`fj%VkNQ#~Y-Fyu+VzI*^^aQhGI9t*MmnBq# zNHR&O&Z0dVt4$64PSl7SmgTa5ji#u=%;J~i8WC+kMIa)vOu)61=cEBI1qas7LSIUQ zvPP$qxtMsj!>;2{G1!Ye-?VWV%kZ#E*ELxI2&?|&Pj@f7!)yGVo>Qzjb;*#2^k4yQgkZee8B`a5ECb+Obq%P@Vi$5n#$F~HD$fx zdf*t~?#_U4#BgQ&KDWpzV8fe)o+x?qFf+Dr&S$Uz-V zAq1&}5uYC8)em$T26vQ_Fp$flVl*v<`OON^NOb6|K5Tzz|>=ws7Mtp71XN_VGTmG@Kn zi|S8o3IF>HDb;oEQ8tQ|!;Z4=DDy)k5aU}%?U5_M0*vi%uUWIR2rwbuqvBb+8pt9A zyas(BC41N8Ul|toO%jSsDj5veWCSAyQ&!l96ih}-9h1?>)9xE=oRDn?yA(0Tv(TOx#tZl(J%4?21>lgYrgm?!25iKB zyK(LiIpM7MKMY;T%E#R+O>hmNG0%b9YpTW{8pzHe1tOZodT6aIF_m!e3GyBgI;3tZ zX$$$_)T^cJ!PBuJMd){(l0t}$CVI#y>wrW!UW#0)B&qJ?G`a3HqK#i~M*T^sPUOgT z=R<;my1w2Fi3~|gc+~-sK(5txhywCpoyiV|svJ{b8vFfHt0(Q_gfW0&LN zQ&iPyI&@##Nx+fZZ4ji9$4fC@#-c1o1>4JTrIFLo8zI_MN@Ha%qbKFEbiU zb>s$YCFp%Iu)7$U+H)Sbt*w$7qSzIOlB1arXEYs3uIUw=?yCGXwdn!dA&izX(<@}r zW=)UOyqRo7T%m%_9mSv&bk3rb+|*XAIR#1j8q9fcSdmc| z(S0j~WKab)F4{F3((Lhvrz39MS_x)}5o(~^0k`1et5@thIVzCZ0FaWosDSMN zep6XMnT))1kbGNW#m#d}I9rJgEwv;E00A}U6&G%hkFa@Uz;;wCgR`PcoS3+1Oh$N6 zSwfP+2%QU5pkw=oz;`=Ou#t+`oecYV$43p$2?!r>HBlYqcj$6{jM0%rOknL&3D z+!Y0aueOZ1h=4)U_u+X`n>K37i{d1T*F1H@00ki~e#$V{bmD*n4F!!-V;d47EYX-z zW=kl$N5*eW+|Dqb_kIWUutYfDZVK39V5}(^1arSszWA!BOyD&`*9dM*mBau)opYZzZ(gNXD0%xvSK`@%yC-Ir8UX8!CF z;hEs{kI{8rA$kxs;lLOQYzQoTqXLr8y+^%3-mmsZgno$Kj|l8NHYB>N9W#SK#--)3 z;RRM-Kw22t^rWFt7CIS4jNBe%2?4@p12ix{)HPyKU9eb5D?5z+;!c4Fkrw8cr0g#6 zRkC)7Kb--uqUj_Hh$KJFX8fSpbcAEJP){?+FoUEOw1nyC(jK8JV)j7n_b+U!Ts#cMKc;(Wn3<;c znT#0C&X0zUHF##b1btR(aV7ktZ;W?gx(=*f*ks3af{kD*Ma|q$?*iy65%*!Rj{sJY z1@`U-SepZVHk?X_-94eOV;Vy)t(LEujl5PgeTUhYsaOD(L>)FoRP^hn?Y(`PR40g- zg6QVTN2P{qxDuYF0LL;gmodOGQ?OGAp9em!%l9wQ%acU)wEKY^#vFN(#9PsoEC&CJzCPNh5YBpzsjz6ergD(IB7I1}HdvKVh}P>ZEv0vAfV` z`wsmk9}>kT$T;f^E`YLn=)w}L;ap0D;_cSg7x@e$9pm zeYSrKZFU`UO~-wMuPj zM=Xm}9P%M(y4%P&ur=WEY6>riW>R-ZVm(PXGY6K@r#f3w&>$s0=HoYYR=^dB0Inuv z0ysYkD>SQQFr4cRMKU6jp2|0x!tP;rk{$`)hzS6n?($n?Bnsb4SF# zvP6#m`s==|uGe7SgP2JBB!X%OL8%D#Liu!N=&T2-m2T)Vuglt$Rt{$rG|ggD1Sl!N zY=K5$2c^&`mTH&}4dp`(geT-8J?8>OldG-vXrGNRo3L2{udyy-abzu%TZYKSgt^qcwi+%}X>%N8 z&fc>iOGuN7_krC*M#QJkN-LD{OwSNu#B_l*eAEGc1op5I5~aK4vp%?KmW`#&*<2}a zs~0S&5H3B~rd&2?s!$8&M!0-`8!7>pa9%RZC**5G;f9+g{7u>J6if|730|w zkYp8UET&9`g^V!EAxVfIoe8>AYTrfYQmP7+s49poS`G#u_q%;ATl=H2g`{^W(J2tL zPxAx0e;_Id#KO0<@&{K zD&B>dbGAgnbe|PlNQQ*qhMMAgrHpt2O&39rp!&Sg!m2J3Spiek6U5y_C+nqaoKsCB z{RrWpX3TvY=o-Ej(%~HVO${2xZnnSA#;YEd z5?z+R_mRriBp@%39C9SzYu^C?QOBY&xCTv=pR#9FU9F?0TyY5$FWZD_GDacq2XOaQ;38u^j#AKeJ6G_g-TD2isDZ!BuK` zv(Gl=&9&2M@Rd-TYK#DK6O@jUd-oLs)yPpsnKUk#boLE`P5r1Z%N{1j8&q!rK2X{W zI$#lyDyu=XC@U;t>UwBLOFK~cWuwOw? zr=c^F?Rp$^L>#0YoZ)0Cpn1KXCPdyO1>$rYSQ<;m$m|FLQjQSZ&z_>o()kUafb*Nk zmPkZajad3BugFEJAlM(A772)mfb~JVSyi>i3X^r2P1G1f$RwSEg$G*f<24N_sz{tN z)3s2d%QYoB6|+zTDp;Wxtzi!Q->APjo| zQ@USVdx5+J)u~2LZQQfT?lpH^A`LwhYIs2m-*^h4hm%lF*tZX93O6a)1h`HB?g9Y! z%_C5{C(3o*(<17oV5i%`+{j+nXX^yOPK=s^&_jM5C7yLpb6r78XYXYSi9FPSCN(|ht zN_3)20~vv8GVBdPj4y(cNO+0l=LqoNKAShl>>Vf*zGxf?kTckI$PwNU?#0Ws(81{k03%L+k4dA`p!9-XCaHfXxY z3L_{`S{d0YtaV`%PPCui0akGw<|rj&d3O*}8=V#prp*|(kx1CYOjA69ENE(NMO9zs z1EkCMvGbLiu>U|6`1#^nr4f@&bK!;yPD1lDgC+!JazrV(l937PzTnJG{@!XS*+uAk z3i>Wtz+C|RDWIhKRCu<4D7F6}W}jpqODx^G5v(>5asp|p6t_SUE+-?q zfQ`gmc5hl`c)i0QhOdJ*Z6ppcWx*DcySVqA}SM6Hh7mynFT~#UIcIv;e)*y&T%r}|RyY`Ww+}junM1lbUWKv-` zq^-UaX#mj4iSEn6%@9^e18*>ZH?XC|8w{l;m{7$=;su6M$0L0(U;tB_7XZEbHXTZ?nT6=$r0^+u=Jy zEMmYc{%b%EJOrB+MAnBhaq1#W;con|0&0fgiYZCt?_Vj&E~TvR7x59VGyE6vk**@9 zc~L4bp$al8H78laoTj33oF0xfaOC5rxQYEy@apoRW^1ha9BEozhNyZ{^1nk2C47-+ z{@M^@4)ub1P%|8Xqj#9gRuc(qb%IO8!=AYp*n!mZ?-nDzij5&Ng~TJd*b&){hB}Z{ zZpEahp24~B@Q7`}N64By0jWg^C}%-!-9f(lE!O=|!U<)TtEGKel#z~=%RR{3M?6+- zO2}k6CtxKcB4xejEJ#do3rqy|g`CJGzrpU^_?>$hq^7{D++}07 z<*2AZ1%-o3@OwQPbHSg~QpO)#1YaXmrYbAIUrGK(#56REQAK32oNOsQ?(;Nts1h-d zWxt$K`?By~=CLhCMmN4M$n3-1O!!4t!Xg3kKxFF31s=o}&uLN?B^J{3Dp+S&K<*07 zF^V}J4}va3V}s*dYEgK$2_Ai7I@Ag8cC0jn&!-4Nz;S1vjoj)a2uufAmc57B_CqiA z4G+e>P`0B?TwS;WDkHdZ45oJg=Un4Aj<3pVDh_2DVANi4A>uBSC=&zK#}`K#2h6-k zn-<{Gt%Jx#)pNTL*WQHFd@@&Q%ZPJx4^){`gCD6yC z_Jf`M6QCpagF=iR?uX^*MJ0Ms42w?z=quS!4;dqs04HUbjK?zs`qm318At1WzJ
C<}?wa5u;Gi&|sDo4rW59AcT;Pkfnd+2guAj z9}EZ|Ou)fq$U`k-2;hRsMJIHO4wh067Wu z_d+Qc3q*Ivv7j!2oueoUc^0DiLMf~w_(Il!l#0S5%Sd}Y2{qR)T7UZIVqM}K#ugM7 zAQj;a*`&k~Eo%{YLskowG5T*67meOG#G}yS1?17tNbTB7v0CbjTArwZ_hEpS3=aaBZ@Kzh7<+7!eoz7e7huur zF!CR0`4m|7_t;qCz*hmDVr0$};H+2AWmK z3xH!63oP@a51pET(_HW&V$Y{2kU<~#56i9rGm*#f+1E&uUCF`0K-JTN82OofT7JLA zdWptUu~$%t#7sl9D7qDRM+3EQp#dA6wNv|uJNKLj)O=*10sGkbWmR*3D#?Yh0gFb# zwI*7<&^{Yiv<;QJ;4wtaJ9*7)=;Ow_72NPPZ2_liZxdN{NsLJ~xe z`LQWj1jiElY{W=_mT<6#nJprlPW*thqAsj4+mEuB=oV#KlLG}I=<1V8+o2;JotqcEGr9<6X}%mmgZ^MjI;^pQ?T_&0zW0xB+tF)`kdEc zJd8(X!9Lh>WN46)5rz9?WRS!z1VH|Zdk`lsXG0F?bk8eiGyNJnA=_O7)*>b!Ei*gT@s@9q26;cD9G}ZSn*@8rq@_-C0mu;*`dUIhG)qxLSjDRfH01J zotgjimqE843?&Mkn7;4T+z}O;rKcz1lb3EX_z2meH$wGvYbF9XC<2q@C{2LMvg%@Q zzn@aLsCTIOLa&y>pm)lJsN@*R)Mv=lhr1cQqWCkz>NHA252c|0F4Q3?Qq&>ux4oLP zlM)>%ILU(9*yJan5FT|-OLRmQy5`y(EEEif^2qeqn0 zf+g8ec8Ss0v=o6OxVHveTBm#aeT-Ug5x>btKz;~X0HeT3wj6UvK7&vO2sK6>p=hZI zZUX8gK~PJ>9h3<279dH9b(H+!J{fk8zAT7*&Hy8M?HMR2C<$&_6m49ef!qRW&A@jje?Wfn-&kpI!UoM|Sa<5;hruo_In==!Qx%fqO} zwIUrRDBF;sC0kI)44w}7Ag~q*JtySAmLQt*G8AAsHW$71rXXqan?dMJ@%{S&yDxe( z6>P#Hu-dW?IGu~&f^Gl27f$I7np1j9u+D-yTF*ux6^xO(%Qe{GPBcgkCwHi~pY__P zBjhWx_@;W4rS_%!a-nf3xM4v`Gtre5`$v#DKp#|>VxqyYXav>xm;-FK5uH7VeIZ;( z3b21NfW-pJ4pKBOBNgR%FF!R8vfwn}-);~VrnB(KV_4f&jNbxiiB@sIq%TzN53Xu3 zVaqn;M;fp?4?$fsgSp4BkmVsLmJ~ex35epoi)GSiD&Q4keoujDsw(hm5l699`4AWl zN3@m`^B}X;f*Y+H&3MwC*jrd`MWaZkzw~QUf8CW9o?JgtlDvdTcPpykF z(ssiT^B1@(M|*9tAcftC$@>1)n+fn~3!f+<$~W58hAr?l2lO^PLnL9iw4iA)$@mSC zu6jx^39&(1HbP74zA0r*4hWU5;9@1BqtCwp?SO;0-wVs`LWV*6K|NuL!rqi+FnGzx zH!uM!;DWPbYA7tas}U)1=!6eYu)-ZrTGjCw4ASIkPOgPYMQJpGF}m;@(AVVEF=irA zEZr(3K1s1uosBW`WQcD+MsGr3fQ>* zf(uxPsR64DVFI7Ljn|h+$u0*bL$lw#$jJiZ42On5NxB3RZ2@4=dc6lI8(RHQ@=AbK zQug3bhJ}z*&ms446Oyg9j3ts;kimagjRQYV!M5{Z9;&gb#D4_o22o3|AQv2ACUJRT zso*l(wR9&$21&idauh2j7S@0n_V!e^XaVR4E;1}hA+Oa!bb{Q^DVT?fH$fKvM|}MB zMRKdV3yyq^U7;`-m_E*3JA=yypu;_R1GDA6A69aq`5(Rfkp*BQ{h&Zk6u7GtXos*h zunv+;DTd=h9UV5mko;Odd#?Z?g=3O3Zod>nxf_6YQ(jSB9in%>`JMTdaj zXDU8M2VtwT3>PX{!a@T!R9}V-)>B|-)V6_Hn%Xugco>u)8Fnkn^umIp(Wju3yFTi* znSlR_5%`~|XVQNKc$0@gi}Js$i4IL(5yx;p0EHe`)9(TM%eay;un7xeP-fxyk+BJ` zg<@D&@8T;iSVrE-%vRCNo-=*9x((ewf)wa(buP2HA61`AaWCqweFH)RSdeR)RO)+( z*;IJjDVRcm8aCS6mWl+1kN{#cA&hqRX8o^Ji=F=qlUy`hFuGu>1vcwo?)6}Fb-!SA z#7T*n83A`Mq2(OGSvy`|6;7@rEg%9hAZ&Xl+mCGh6gjc1b}M9!TwkEc8Yso|4Pu%X zp{v5(;8YG`{mGEL5oPTM^u*sS_^>-2Fo#|9?26UdMTd~hQrm0u2c9kPx9=|_VWv=o zHJCV3>&0k*JStayFC{Fcc1U+7e;oA{|h?RkU$=!Sy++&_CJh+%G#ykl))z8AP`m+dFrvmBzxvke$ zOUBRHK+;{{$lHwDw}GgIk6}DGbNC;7f06TDQSItQ(l?7QS}r)1>fZjO?{$d- zN#Bm=du?+l=^N6th8z>m;Wt7@2ejWv9LH}8dN+TjWjt$aYJ(fe9srOJL!{ zs|db)18AJ)@Td@OUJDJ2O$8G^4#yTEX5G6mDdeLhIz-IKd>*4Qz?n*`U~Yrlp=h1( zY%kw=2XqQ`0aV-aKqfIp;ub|TC$}Rt~OzIKya;Um6daFy6c$J@o_r&%#7I zIwU&220YdGCv}bTLa%0dyHusS<&VI4jKl>y)V~QvFzn0OcuzowDae^l9Um0roC?vX z#SdlG>3FLIeCyy(7fVS~^Y7JN7eo}az=ryF7~@%nzMKry6x0aerCopM zwPhf8Ek#gDl^$*`ky57$*4)o?T*TA<8_(GUoDGS4oj(ro2xQEq4=?jSNcu~HrcaQ&B^|^| zdWD5~vx^yfkMxUnWI-b@7AY6(52sU%$jJ$-%fe~PmHm6#)3VpLaa9*U`S)4 z#|6LrlT)x|4ZvK2k9o2B;Zg5#SIA`nLIGg!egyDC)f67(x|S(t^{@FzCVtLSyMDaPb@W*i;AzV|nz1(=JCW8*6n33?*pc=$~V)tkXka}lhsT?Tu~ zg%A6#g3lY?{Qa04T1sri@?io|t)n+f0VIxs!$N~K7a`SbD-^?{3Oq^RxXq6W+KPsw zLR8_=E3txxtt$}x+sjy{4)&vho}6_QDe@N~QeM5MH;XdO85SR0z@T3>u}s&oVQ7@* z%czGgHfZIsQ_tXmv-1(S0qED^Q0_dImjgU-x`F;g=|s`A-Vk7PZi}0@M!VgA~^zcULi}e;HQRP}>j$6Xa> z-UcMKW<=)jgJ zRp#~TONVEHRb~ckH#}7{{Qxv~Usz1M6-LYrqgC@dXjzmyLx}-IUSmLBMIxqf4yFm< zrD=-zS!cgvF-_{!KxV<6wzf(zvm!WkPvcySf@H8`*I4FU2d*VAMx#Lx4-NuQ0Kf_f zvuubuo#t)_B;+xCyanty9~i#_I_M7Qphq#%!|5%_hoOTWgX9!cLR{V1wlx>zjk(^g zO?8-=L8TFq0!um$S09v&uK3J&^E@axzeQK)0Bu{La}W)7e;-J?QCgjyj`ZV7q#xHH z;mLAsuk8dxXeYSRb}T;F51TJKCTkOV|iZ=BXWWue^ZjO}QS@pt>fUQ97&B_IxTmZckq+)}9O%xgb`W{f5GQyw5^ThCd@hn@w zz?R|P4U$j+wves3nM~%@SM_CLZP4>6YFc+KULKs`t>8Chb^9^echJG2nCP;KS^Swt zq~Z581MU1AAi;N1$!h;}3ZYuW7 zQ{iZEPxY{+IPt>$mjZ*owhVUr0&z8E;ECoiusnuN{|LqQg*DP7S3baB1jWf`g-K-c zVpYTfY?daJo&W)FM@(xAoCA;GB}$$mM(sypmVzxjZ}sa6svnLo+M2T*P$&Z7vk5xi zT?r^q;uY;1%8AvHGK=3=V=y8)#b^UbELpbALFA3WLyh7jy#>njSV529TQGU5v#Iq^q6lLg%4j=!~0u%}~c3X1%v; zaa5rRJ$@A*Oeu_h{-^*1*)&kZ+oJFQzUPQ}+g>7fp*j zStr#GpcaLWjJ#MV)bTIZOQ!zw3lMoI82y>PDek0ZN#+@q(qiK^*w%xWS4x$le+w5M zlh&FqBjW-);P#x##Y#Gf?P*4MLx^Tgv;}GCECerxzUNczTVrcc_F~KPow(BB)}d$Y z0K-o0nba2^mqu7_MS@KyzN;GGO~nZWzrR)Op$$Cg`EA&^x9ZaXuVA6go)fT`$yg7s zWYaip!)M9t<+nVJ-M9aM$9VbUlF3-{DbRes)F4)#;(yzZy`bax=li8KLK^>#PueK< zeWH)`l1~~fo)7-Oz)j+D?T6J|jgcOorswW=VzkW2vZz;d5TP~-97*j*4_ZFqZ#GMl zHI0z=9Y6F*fGZd+ZIMj7vO&vp7&l7Wm>W-nHG`vsm zdI!B5Iu(STy$jFLGokO|9&bA!(>rvMT8D_pLoo z;LwrB@&6e9EAj6}J)5QWtVeknc0sr9ncvgCl=W!OcUgLTHrAs(gG|mXi&4Lb_1N?I zv*Bu;()Wh74 zRO6I?NJ9i{`A(aZiH&)OvG2Y9OEvJ)ccs6}uL#uw2;zG#d?_V0=C?@yBg}ePsJ0BD zxCGKvQBJ`9PF#^6q+Gi$g489iXAaL5; z5qzb;WxJ8Tbwv6>=;VKUU;0#dt?>{4lG220b`Om80LqCNn-5nSXZ!jHSZ_GP?H8>h zv!2H459g3evEw)q zxIR@$X2m3H)ARzK`7>mt9a08IFx8(#Uf~u{G-HvT&h@P6hppWFKRAm3(Ud5D{C}jI zz@xAEL>jZGRmTg0RdT&zH+r5K)Y>CxEnaV}l}_$be0pnHc;*$fhF-MNdstLnub3hm zw|*jhC!h^`EZ_W@G!|{V`I)pt#u?azP_aDW-_o|=FMAx{|8L2ShkZkN-sh5^UK`pt z;R~rt`@+!1g#Soa3PuMG=5Czxl@t&JT>a7>0jeLX0(Yu{`CL`$OZOD3=^iUfZyeeo z#fzirFdwpV)ZwB`HQ2 z{%@h$jZeITE5=!++)n$HCGvCoqsH(Td!!qU4WDe8ytBJU!rNOTbpfTghc*8AlN4)= zt|Ey*A648V8WRGNGhDI|`|v06jbZY?jJJVpHr^gCs|Kyey%F+@L+OeBPx*%P`H}Kt zQBTL%z<0JL_R-Cep0KTh8254;}=o#JA&TMOGD%=gJ>Gr*cL1Q z#UT1e@>PlQJ88FK`fe@4HW>z3f)Ld>U-0}f5&9ku>ZpK{qIhLqI806*zDcO|hO<5E zkpm*Igd^JY`G@n3!{o&yT5*(slbMn|dBC?~mh1_=d2yJ0i_t9Vq*A2gmfgAq*hN1Ik57e_kWi@M{-k&*8#)h5! z4Y;Qbl>Ji&%BDeO^=hhj5fZgB`&9!Eu|Z|;l!1Dr-}E=&ojg!h2bH~74%GW64V3MJ z%KnK1^={XoAL^j8-8}G+_lkkCFJqvr4l4U54AlF_50veL%KmW!^=hyTqXVN)AGqO5 z8z|ccmz9BfHmKff8dN{1>`fV{Hw`L##}29=>zUaPQv2wE8{Sa^WgM;9|BOF*pzKZN z6GzFZ!i)TdQF01SXjwT*P8MF}PvTedjwivIaDE7}B^dGNuZOoF1v{X+U*rcy$!U1$ zZSF0DxuVdG5`cDC?HbMSE*UzCdP^hK;@2X=wbV>u&(RUO! z6k*NL&_9R61{+cT7{0R|-`PUn!*{Jn{r@Mvw+`>Dn`-I#Q#N0aAx|9nu24NJ9fuhq z8JBzwq~tl`S<|EM@@F#SQMbM*R8PVi^hIikb{FiySN!M|ohsX3?@jbv4AyTA_Nu?9 z{t=#^q42CvfE9^vXt0C|W4JuaK`A-Kv;|ds>3uSv~msrbN!KkWJBe zULT*L#`1$#$gc|T@-nl09vTpijQZ_FxrDT$t9aW)c^^GYXHt)Z9&6@&l6*tlVc245 zkd9;R$Ynjnhxrea|9qvK9gmjGK_ z>h18aO-8-e2VXkBh&HFI6Fe!wdt(N_1CBK^_^l+=v*4cn=+VUwl1&zn>`&g--Y-s(Ii}S>om_&~8=Z@+|oYL8#(qvt@2ml)|t{mTbX{+pc1^2+?&TH?u^?UQt_9^exo>T0lO{Z?e_VBSea$0Qb<>Mln z9$DWRHNOrh#q)CHObpkT$sfr96KPP~SL=G4cNX8BBb#uKWj210BdY|Q*qQPKxnaF` zL5^b2ZOol1cL|vdz^RXFTGD1X!tFiGKf|+SHLG^RRByi9(v&+V+(|Aq8YSIdhG&_Y z!*9D*&d2w*T`NzF)^2oARN9-vzqnQ&J*+|T=U{-t>z7{7s=o$NVn(ZY^lW(o&CFCj zeYX5SV#7$^H5!EN_-=w3Jnt^)>W(6wjtcXQ=Q=!bne|1nn{EBdo|k}AW( zoX&4nL0G1l{8?3=n(Usb4PnP3Ry|YWE5nJf0P5-d3sp`Rs$Q_j3!@uomqza9pNdRe342Kje_ z{-yhGlzn{M*Iyqrx+M%V%O6VC+%!$eApvJ$r||jo{MCtM5b|m0l>4X9-SvaHf8zya))kl-Cx?cSAdg zw&MdyPC1Uxu*-RWtXpyS_94$!7``QmmKosh)j<*feft7A&-m8SuIq5hf!2S zk!m!oK8xS$fcDkOs~qy5q8eco{}9LuzMRPOm&ucbZ2r(P`9(YuTP#l=cBRL@4qE~P zDXi{^`nP?Pcww43B zf!}_&j1$)|+KUI0JwLp`>+gmZ`38UQZm5R`_&0aUTW;1r8s-V$xcN)#m}f*n&8ByM z4sbP$?fD~o&}sN^vCrVKW5)N5V0-BKPSUIF;o#)M>Y+(+z|73xGqq0!!=X<4;Myvc zm!yS0J^~(}B>evcA7(!X_ELQhn2q8G`rIR5o221}-Qdw$GZ{SN@xWoXfxmW-JWe0C zD)BGwk;e?BS9AQL=jT=7b@aM)FIaa~^%j{=L@Bo6B}grL1{+vFV+`ZB-7Dv4FDX9B zlZ6|5Q;mGI6cr`Jy@A2G^Kp&IL_7J#e#KjltrfSEk9{w z^xoyCA(Q96MPQFJNO&=u(RjB9om3cj`c~TG6?@X_jwbxr4 zGyW*MMS8Eb@nsH*r8Zl6{-5MsTB-57Kgr%;<%^r;l+g{!XY+g5CD(I~b%q}M-=v-= z5q<`AtFTWKZ`&*{(La#!lALF(QgHn1eJ{!5Cp;olwua5sv3yD$3Z`vYH7v0hP*)8(;Vg6{(fjc42;#k)AY2g^v$og+~@%OgK3&&vn zuwka!^dG1%JwTa<;}9Rh?eDR^>tpSaseJiXITt)`+g8~*);+`%wo$DM$15-4m5X?V zC20hU5e((iwvk#9%S*S(X3-wY`8KfFUHtGiIhV8rX}f%{#DL)pJ$q!kJa*JB9D9FG z_dk+|A#q~|_5#KYe9v}yQ4~Fm1h{(Ui{()}WGlXQ!wz|R>egtF80_;n&=fspfGh9> zI9ez46lNOQxO0d6dm&B69l1Th)BA`}*NfweCHy{Rf<;y+)+M6+q&Sr4?vj@YJNcGf z^7RQC0|L&0Q^x^P!|GWb7whC3;A$md8s3g=(PH2QNd@ZQvtbk;i215UQ`iwqP(6uw7I# z=4Dv@Pw>s7bFBheNhQM@b>E}zr#v$Elk4a0;CH_wFB#py-nRCB{(A70V=l=`Z6xk10Ic~vgcCh|Du`vgQ3O(Yo`%pT7TugOnO)u$!i z^M~75b*(sdDl7?SR_q^>KYq zPc)FxBR^`@YlN%#TMhCI4E(zW`QW665xXrtJ*CFFkwC#5$fBQDVWpaD$QA8Ta@|45 z%Ae-LszN)=AI*>dRi5m!C!#$l1Gj=rNGwb112*}lx)W4~Q=YXtpI+xjoj)>I=hy4L zK%Hqwu#OGW-u;B$4b_?Sx(`vOjznk?@nt3G_~uoAlSdZdgh(3nAw0kmf*1}J1JOa8qRS#t1?>|-XTfl8_s%s zX9IifNG~}7QU&d?hSdOtIA}U?0H~9cu%fjat^Xk_K?6Y$Kx-h zUG2FB^Li_+RR3|o>ENwGuw79S}8#y;pfo;9asKpb{WId{LC=P#&xP@qlUL>(8i{UN^G6Ir!+0 z;>aU(GBG|-m9#IcCjoFn!p-Q$rbi-zcZ{_%c! zKPIEvC-3|fB=Vc(i6g26)tMs*AX)&2n6d&w5Y?;s#%4KvOqJd0%<)lL0`4;0VaRD< zz+;#7>Ksa5NaX%z`9{pzRR`pEak+Frem<-rks7W#D8D{Z3mk?3{5@QhuD{Eqm%%VO zBu`fwtoWvNmfG|G5%wnFQB+y{XjLVUzPADavTvk23xNpy|Nnb0 z-b z$+f@QVatgPK<^0JlewjyNO+v;jwF#45iUscV&BmyLfpy}nJBP1sD7b!djsb3Z&o(^|dMedu zd`dNWB|FxK3)7@xf8W=rHhDTJC8xP)#eYHA4orvUz`a@|(f$90#=*>Z=D)V`c&J`j zPn&97Tfj<*cz^C%`su&6yy=0I`ZRc$rTXtdc!v@5)TUT)3y42cnSg$?9zIJ^kK1() zq?&+^C;3++?**TQj5CROy?CUj_@6-Z4#dBcB=mrx>2vg z**&=NQ`WgD;dP@3Ms zL5a`4usyA=q5HqIZRz4gpamSt8Q^8$n-VGrj@W05W?{{3r!imI z3MT-%-LL^tA|P==%m)tMY$FP3T`o;?JB$l?N)s zkG`@w*;ymWe|({`#o^4O^sjAqCc;61YneKEUp_`I$^Y35diraKajU80ep>+#bC^o@ zLn-cs1*^b99G{hr^rBh&Z56=VmrEP=V~VgW!W4Y~s_Ng{3FT4M0oxNO<>^8D4zRYx z5z43510a91C@o^k(wx1hDq_1zEg>TUmBNzXhY^T;aWMNepHg39AnT_`f<9g87n7D&otZmNmp+p30>RU*qaVD!~Em!O-m2iu7zdu z*da6*Cg)+>AZ=SLH5|4*kMpPS8`~!wtph5vSmUQQJBj)3(JA?eZ63-%1Drum9z$i9lT}ZzdI(atEy7tHJW~VqQix?x^i`Heelwz{@T|E>CnY z{X1JMG$_>bn5|zT5VE#nynlfN^Rq-b^Ub4l%P|})!0MQ-FoT<7cQi++5EGr?zx)3C zR?ffQxe{9oy+3Z-hk~~6ZTa{q{@#|3pV8mjp3tpoQ100K1W$dBA+vA}^`Y_~ZSO$^ zbi$V3FTfMSU2Q+Gzs8zm5_br|SyRsLO-tafaS#O69H>brY;Sc2+k3h`>e(~EEM-G~ z%0FrAo_W36v;lrJ2ctB@Wm=h&{q}A7lxolu zAYX99$5JV9Y6@PtC4*{)C@rQ3e8jnXz0(bk`!7O1BmezKK!MO#B~ zc<~sw&aSE$P)}v2u=twj&QrEpEz*x(KV|#7W*lqz(DW$XqPq9e9 zcIA?LLu*{VQu^q$tOFW8Q<*i#;St`+KKO&Lfpsv19kWQ=0g48ZUx&4_qeuyrF;Ypm^!9Cf-t))6-Gn#jalKpt%zqD3hRv zymWoEC~r>&i*6?0;iZ2?i{$p?GVrlndXAU&qBPj1&K*R4CSU;q((i#V!ywk=9Cj^p=R{zrPO zdr0LGJnvAd41wCc*4b!njOeb-sG_Yg!d@6yf}F+YTQ|dvLGVu06O)DG-nm* zHc^K0blJqY7+8U}afgNqQ4}A*HrmY?G9T1hZ)-VlH9aUq?}^vIpaB;UC^9OCm^&@q zzx1KSE)_qP#1)--~lnf(z${zR3Y6y6gokqZEj4X4N~;gYO83E6a}zbU63MO zy@t|s(PIE4qZ7>Ib^s!fm;)yB{Dc}rV2DqFb0N@z`f#a-11?6=&6;vP)%Q4utD zwJvJ=pij(n_%M)+|5F&9JED}Ou-@R|VP< zJLARJURLLQHO4F#G&(SOUBm&>;UBOanjj`cn|S*YL_aN5O?whVLFW}}6KjYR@Lg;w z&=Uop`&gqzi6Uc=*BskWjgb!U5LQbuXI2`V1e1`4%edU6dDy!l&|cDHm>y0PS@GUx zbkH38h&A@R$J1+xA~OZt2wP**{bz;%&X=vFAshw@bbmi4iaZ{53uwWgfEFf+(cBN% z{E|d3bqYP5B(kl9U7TC)27FQG>U={5GC0 zq=+)B`HECg6&J1#RhyC^^UFskQ)8;=Z)OKyO%?8_=+78lMyBwkRQ^Y8N=En**v!Ul zsk2v31nD&U^+~44kM{1(h5{^8+@Zcj>u#0Fw5+>GCG`=5B(CBd-3#`>ziD5DuUXmqp z6RyC(ovyFNCk#Bh_qOM}ktMFtvQ}ZwqG@8bxMdVvLk~iHJ=q5#_?bT7l)yd+IGoW&7j%Q!DHdS3zwM|fK#S1} zjImHsW0cK|26f31Q&revbHrHnFZ7=rk&+AoHv_wXSyN_FA4k7U?7zGz3QzD{k;M$%%sfHNGIyZXJh2z6V{Z@SPbMv2{2SSu^09Izk=9f6vw_u)0&CWh zs(OkHX0AI1r}h*hRS0=c_Y%Wmy<3x%ljeqV$I$6sphw<@1m&dSiJ>_K;z>a3(pxM* zMPCdp?JfGN4+h`tjZ-i;P!Ey+*J!0=$=M+wAK*BhHsdfr z(qt&tmta4`K#O@d`9aSWwHNp9BJ1dc=@6!+J|d;UTW`n3bli$|*C~}*aB^GXa#`)T zZN^MMfiBa_jwqjFkk*|UQ^xH&JUAiy2uG5+tv#_u|K4qL*Gbvb`$5{@gM z5MZBb%$--U3s%mfi#VM7im|!gdc|fu3b3z0i4sYIr4F3LcFZz&*=!~xX=7i}6T=d* z(H@xkqdAZCB2k=ZmTE_QnKgp}8e1fCq8TtPC}L{IPiuHA3P5s2T@aw^0=idJZ8U+(?Rvnh5PjVcrDa@14?y5F(u4js*ewzzh9HYfQZ494K-CYUV((IT`vUEF!3TSRIq#e*}^ZHiMUnt3(mXxU0lh zz0FCDbTU9_w!rVpur)XC?zpdU_co^Ch#T@NZXP_KbX@9kccNLQMxv!2qK zvIYs4+DLVSL~SBS2GcJOR2SUq&074<{*Cn7ATg(FTUPtv$2U^hU~y-aIZ*b_Mols7 z9AHGbRWr@g*>E{K8~*^xGca(fk}_Zh2F~mzkF>8deLGk<$ABo7nB*S;oBf(?(e4IC zJI3M-=%M#?V=vZGN0yf&wc-V>t_v+6DhjkvS9*P@$mr^|wG3(bHeT8C z4Se@@@I)USD*C7%N*X5m^$X9>?rMAtsC=Gbj3Hg%U00fdNZW(=`P;e}|HX4_ZS=== z;3DX*VWN)~xtul*6IZ6J1EXYakykFeNMAUOx(pXpi69as*!OAviLft3z~7o#?%~+Z zuW+Gd!^MJXFgtAhO7r(ZA$PH|Y5GJM>a&M4o4U!w$h4wCLBl}0D4SZr=$Yv-1l5cX znU)Y7NvHY|B6lo2@z}BrGb@TKJ9IOCIH)c-P(7aeX|-;JhTCMK{Km`X2S zCf-X3I{=2gB%8;B$p%8z*vNwO8U{>@gA_X%2W z+SZLmj1prZ;6@T?%_xjI@JOV0M~Uh#5Mbl6vNBksi2DnP6hB(Pq}J5fjcP}WyHFDD z5nD%#ieeag;?2SNH`-8BoLjyEd46Jhj8TJ_IZs5bU40tqGhQ2E_1Kv}`In1qbu^8< zT-=PNeaZCt<-(m4Rzk@JzVF)P`Kq<#-j_zS+^afYF^3_NjG;;O|GR+(Um*seWyoF) zSKtT@Lyt#muMicNK_k}>!q1Siz}Blc@f=>XIx-zs(6Ee5h6(pnFJ+h_4NyjX(`v4t z^Kgh@PTT>#X4V+tj19YLT`fz}6vN@ppgChiMr?RVZ)MZ4T1-6JUO7he@4*WK>ra7D zgPlhbZSTByd{1Yxs%i-J=8IN@X^ zMn{@BPQclugc`<)2Q_;M#f%sIwRQcdYCMEM2!nIRi?Sq)IFI&j%(VUUiDgz#vMD%T z49j2^!TV2&!?@M7eeEi%Ao`>;!oU5-6n{9&6hz{6VQoJ5>1?dg8?5Hogj*? zLO*#0euUD1_=jE46KT9Lc}KA?{0_Y5;`vEn;Jz2!T#Uj}{>Lm|EW2E7T4#FtrTe#x zr0!RVOgPlq)2QYuF(EggfmAx$hON4#l{`PTmL?!=9k!2)^U(R=RU%{$oL--4;4ld6 zZH_l`b%b)qiIo6TK9CDI+?nuvhe8089=uviW9c)Vk|&D7nE{sQOodx0#h8ljkB?EB zh9R~D7HdEWr5ii#N)tP$;27gtCb_NKJ(4#J>o3?P_~UITlYugksm_-4ldUul9c7qS z+bOhhA~?x~^wUI4o|8v6%nhi?Wi=31qPcjm7BE^DxWHP+5+o& zQgMl37T!wG^X|que73=bvLz^caZsVz=k#i%_eJ`p7;T>_X8sPRXqrf2UwKwxX405x zqS|~baQN)BavEr5pfaip#a$x?s;=P3Ys3XLo)L1poGt5`2O8^norMO{)af8JfksT% z4CE-0B3eA1`C4`ydvUth-4)lU4zE;=?JK&$^;tE3_5@eB#Y&Y~g8VvB0+D7~op`jP zvyTC=bh=J-&yKJQK!U$(w9>Q)B=ys_MP~K|fb-k%lL|0z04&`Vy&8kv z$DGuosx_(4Gghcxhat79>c*#7{KdfdEl?Rw<9vs+2c4QDmUV@slxqaJHdtgITNJ!E z3Ddc;Cw+F4xC!<#XHVln6bP*!x`l&>T?FCFq3Jh^o__(Zi3OK7whg7nqp^3^4{2H6 z*62FyOZLr$RCAtUWJ}75uo6yU>TUb0EKTB19$sjj4#oRQ;ohu9z?O z^|@VbTBIpU?I)&JWc5TWOV}GgVZAPUKVuP!Mm}>Gk0Uk#S6zBLU46SK(v*Jm(Cy+i z^>%XIA?B;Y=oS7MLIrn<;X3+rq8WmU!`Uym@J<2O?D_QT0A(_^ z()0Hem`%Qg^K?s&v*l6D(jg20-;?LvuYj+}dO%zrw}{0B2uRr3;0$fF@By%j^XQ)s zh<^64;w&-F!B*-9{RjfWo=YLPOX$Z3M9L8GswKw%+DZ{hv5og)JH8U*2=bh*t);)G zB^w8k2H&g_4+|ZaJt&G2!aO&R;q_vNLM62HLGe6aYQ)sqE2!on9G78-vz#_QBzi?R zaotZI5?`55!A%c~!|G@aR(A!eGB=!tTG!zj`aW#=mh*VF!PI~yJ1!4v@gYR3edxm0 z+m-;xk_kgv;AAkahw8hHMLSQn-B^s%FL?M7F-?tbt@5>DO3@R`@2ZsU`EB^kSl`sJj7me-#ZhpxEU3qIm|CF6PrShR8_cL1YsE zJE5}684JG57EB&Y`wgt_!6a9}1T>gjE5rx@dSr#T!m9q&3Xx(xomnArttb0RQ5|j0 zi+d%wD)T9{5)A_76Le-JdT%!EX%eZLZ(wjullWMT#>|Cj-YVf%m(j``~!xU3cBJS zqDrj@KJpJSybaY){)y2t8%bE({xo5&IM}@nzfvsnB_QaaI)OTnYKw%|(0HHdk)%}{ z*o?ra+JFf-;ZrsdWkM5oq^3M3b95C=7A zXyTp}&*1gdC!ruLqy0~cn|ZjC3-}hu_@_h|K7w!*s}J0?2R(%W{At#}Zq}-3=hLQM z751CsPlF!{kbR?IueEs_p;y5vw~_UJS2?SK!HuE|D{tR>MwIihUxTk8gEPdbhDk;B z0nZArEv$m=fI@(FJ`0wul-~D?JUfoY!Nwin;aj2Bxe*^?bo22DRSrg!^C<2)RysE=R{w%KdpEUbiAHkdrn+qb{WX1 zl=Zxr1ZQbbMaUlBy|_KX+WqG&HXbKuWpL&5Vx9&r-J?*K^WDSv11c za;_k_>SdhUY5^VFgq>dy%-$?+(c(P3aFjvDV*J+I2hrM~Ieif>KB_t!4xtk=aP6bZd9mg8sa8=?kF zh50^&;Gs9f;M8K(ycB_%-UM$~V@R7~@SS4%;SDUkV(R=K?1Ew{_>XWv<>7(%(0@d( z!+RK8oUJC7sx<|l`s##l4k!3;{T}ha_@r(6j~Igqba!H9j<=~fmgUdz-nu~sc4v5V zqn%p+BdTYbC0MW9UTWC?TIo+E4b~p>NYyds_D<#~>M1x*e`+n|^lhB(w9-2u-FMPT z*C3JbosG3`!X{cwZ@wv#$DzZ&Vyi3Aw*7)%?l6oO6-=^*A}<1~4zyU6o{r8+kU|qY zcY;yef~G1D#Twm!;#1e(Q z+bZai5+B_7p0G!y1R4@LoIJQ8=2=!wJlhku=E8qn?XqihV5g{4dj(y);Ag_>hR(s5 z4Y0un52&{AO58 z)y8(A^pC}0bxLr`$0DdAHWJ0}5w~gfZuHO|@hg6V4WB?Yjsw_d3r6k5d8$qg_Wg{R z2QO5g6!nEE#5%hL%fAr1s%nT41wc`B?n_Y`hhB!6PsQ2C0H|gkR1};@^Y)=t+-F3> z|557r#Znnxfp0O(KlzmyYCV1bmDrdOPTA1SU?<{VYomW^q`1bn)&D5SSdkcw@b$!GR>nf8`9zVapCV{STER@l<|5*l|kQ zaY}l+(ewk*Z(L2Q55R(lvpgcUQvGJxmCi@R<{r3q!VdhuzyJzrAFjte70ba$^Z$%# z#WaUq&^&*3P+XxwC!XI7ouj80jcEpB?c%j{Z?nkLd`YyS8QRBCGJV#J6R9zUq7I3= zBzuZ+;Si2u%~|=CwL7rp5@_Kekv7nogqDUp%NFh57QXY$kB2O2)*KvPvT?kv9$PT# zx;gLSbn|3zCeufUV0ZB)(y2qhCXz_$hec)%W8+eK8|yIhuFu_P%)&~7@iqXNK%o|& zdRU|lHx>E`{w+wK2jFhr(*JAaD?UIj+nlMFkawW7a#H-Sb;7HFmy(lW3R`#JY{T3` zZ4^(hA4Z4kQs~FSqGtnkMzUeFp*$B*S(qAzUtk4gZEph@cwLj)uySS?52EZV$Y;!0 zWOul$&6Yh#e*@{vRyk2uflh(zYIoJ0fg0Q_vjAl_qD*`Kx~NVl@cA9>U8W7+2xkLK ztSQEUCzM+YIVM6IsOZnHKXaH_V03~5r8+{X##I>k0|?*jgBZ@~hw&jFGY_WUE0Fg9 z(l&%r3=WQ9J}arlF+5)%h`RE?XoT$s{93@Tx4IdqM;nmDQ;ix_W`Ilh-<}HGtp+RG z(pec;*4}_Gg;pLBGY3L_nF!xad`HKbXgmjVAukdRTKU_;x1V9*$DfDDelTt_WQUWj z(@FkoFd{#+ML+yjl&YOkhU>JIp`}Mf8mC=Sk6u11_NT$o0ZwK9LsAke92ct#a{qvbIipp$smIQqi~g8LJCB0}3IuK6 z3mt5vVo#*xAH?ST_R&5H$%7l@Zq{STyL{;YXY+rvfxVMcgQtD~_0;Szo}3U@syETC zCqz#*C%F2AxI1Qow*hm9&hy#`D44r8XkI|`Mtxp?#syly&;ZGJ4^c^vj&ZiU38wC^ z$VaPQF3&#K>^b=wFs7vVd!B|025Zp{+r>Q?mQ@$T zbX0R+fMn*S_b!Nc)NJ~DE6l}L(ub|$Z>o3mG-*>~65tfvr1hdXsvNGtLHuP^-mfXW zXn-cOHKjLA)MR%F-S8b)B&=$0(BwePS4giTU32!NeVTN2_KmOPDP<*@%h#KFN69kP zL3L5GsKH)fOoUkF!ngfqql2tMgL?RuqB_nR$u+z*y-1j_|~>qe3Ds z11Buq=fEw7f~&W%gK-2m?3f#U8s)GbmyW*_rYGN6fVT1ha}3hiv5vY#%Tz4{oT6m` zdnEiB_$v;Y9W8UXOUt8WOWX`>Sw_;NAxdAO4)XGRPBatX?#!7}_qEcdme!I#7A_*a zqfE`oiFGdP$Fpn&faLH-wb@@fT5Wcd_^?3qnr_AzBr5N zvyL*)dQtiXqhjQJn$B68qV06}s)9>}JgHjw@E};MOT&8cl?T&f<#(F(<{3zOoZQk@ zZUF6!ljF2dKg#MN|HaW*KI$Tqv`8s^+eNO2f|{0gm1cC9on2*W^bkIuk9L*oG*2Qe z?Ix#a&i?dmH`&L^Nr{*J*swP$UiQ^|188BqyjBC^`{J>1pe1aL=Y>*6RS7cFI_sw; z$X@Ka{7`~)B`L5hqVG>4^zqv~Ks;#flHh>^iKCP$6s07|8(~gvOp;T$#V|#ZWDWC2 zgD59i{${1+rpRZkr*Mi)W+fghR}j~KOp*Vv(m7m#^|UEfj^?2VJCquVNt1ucGG9D3 zCMNYv1wGx2x&pbS4$rPgH=3I!VI!`)77=zBt`AO|Y4U|)6Ir-ZUs$Jww$^IXz%{AUyTMlT%K%0#V;FsEIt)HX~*biyMKgOy1WqV9gP}Y zZNhwqL+Y7wORfVE1Kw-;V_oBSXMZ`|j>hWI5HkhbgCoB;W?X~xv-Iynwk#SuK$Zi& zhX=^N>Zp-}objy5$|#Y9^i3sld4+dAZpJa2F2J0yC3TAhD}d23!XLHL3wUR>>Zk83 zj8`D4GpHxW z$W9f=0YN^H@O2g)*=dD#{qDXvOZrv{jSpTfTfd&1%AXk7VWE17j? zR>{Rc=4h3in&LeT)h$a!d}liyE9)L~*jd|=rdCT1>2g=Kd?+(us$|+2-0NUZj=(g3 zaMti=tIe?;BpXoji9zy3{EQwfajDe0GXP^-n>QSo%Srs^qEhh5!Sb+-+TW@K zm;Ob zE|*uSv9#@SIW-YhE7qOd4*ocjg*(EU(sEd*{#VEsV!eE&86Pt>SnYWH3hC|SHH|5D zn{oO*#D4eW*iy(hM#4SV5wg+FF>*F+RApmjz6>S6XAL66%MO|~R{jejYZC@)OD~wJoaT{yZvSI&+o$ULOLAZVFMMIQsEwIV9eN1Z=thC%SxH3>M{TC(2=$ zlFUYyiWr9BP`c7{lVx|Ly+2ug zzz0tpt(hWUxCCFbXNh#fR9P5TYqqOG_DS&1@Wcl43@L&8l87@ zFw9xk$ZWNe9=S%2x+12nmslj+%kgvn&tCf9v3j{5z4`G^APHaR_6bvfcrnJH+e7bv7OK}ys+&C_(f~(xv85|Dc zzzpyVp#(ZTLk{kU!^-7JqN+Msra`ivUnkdhs<6DznM?b;g0kynQK~1==m=&k8voE% z7@y$#8WDV}Y)1vnu9v+vD2k|F_RvC!w6z{1UP1foWqyacYU4vea;6-ElqoZ17LKcX zthe{Aw_`J9QSXjzBe&QZxyGB#k;4XSUmr>SFSg_B223r6UMKUrgwb=XLJmj@^dm{M z@H!b76ka@K$QIS+*F-!jF}~2m}WlyKMH_9ZngdV(6_Q?n{yqt;Z7Dg~K0AF{5 z^OH;IZa6&M>7yILm9;8#>PE~IetXZBJ=Ag6;CfEC!cLXs zKVJrGGt$jIV|v!kmTBEfaO(`tgt!{NfDiuw=8<-sd3ao*3=B=CarUiN zIt>Va$g?9)$uOee!toRG+0nQ?AN?&b>$}s9! z+McXn`OR`HTc;krMK10dIDNm5_VXCl#lc=1MY`2;2dq%;u+2?I)?t@p@j zT>@Jb<)j1QUfc2My-?=1r9w5=o;rP@v|nbGbze+HB*X_+X8~KDO0;0*hyIw4(5=Mx z{_sgoUTgt}J%`?1C|zp*puAVcscL^pyHDm|V-3Df{sl@K+{<2ipS%fN7jAo>yHEO{ z>a*t>?|lnu0F$j{5kV*ez;YqL^+@o9W>ic>0dPYFXtv?ZHQqq^2rf!oO!MR#L8M_Q ze^2w}8ZRNu$8r4H>xOcT7r3p9X?=inB-eNbiEbE5E*4bsj15Q&!KiaF&7Mai8szBe zfD6%U@wEmMwa|~P_{Jh!FTesYg=j||d(cAteCvcekZ-0dx%5$ktm}-R-lswEtnT!n z8jplC5{HO5fS`q(%4-1E(=SfZyB_(g7V1G;7s+K^A(rJD7CWD1sJzanH9{_E%nwo{ z)&o{zXt8`bHc$@}uGvH=hZ>g1+mZ3}5{P^btQCjd5ghRV*p=vH=G$&~P#&1%b-)$w zAKzdkU^xllD+q{ww23u600NOA&sf!-2eYC*<&wNezOlSLkHg7anrH7xYafzq=7e_S z^@rqtqJi>>;JpvaC^gkv5BJYz?kt@Cm}L3j&uivC_E$MijgDvJVwXy%S&7Cjl|!Qw zIPI~evX<@GsOc=ELrWp`dL8bbw0s#DQy|-mzFj8stXf_ECexAT>qSL>lO8VDn_m8# z%*^65LCgJEh1w7~Uzspw{RuQEyhYSk{ zIka)P*=D3KwJwJ~!PA$$&pZj!_E5o=k&xxyht@C_t<>=;u9UlY%i-*4b>8ZBv(d77t?o@)Z1P)P4L z$&uFlI{Q%iqcYQa@f8Pa9tCHfV@-XLu_y>#44cRIwU(ZnKkV7wcsBFk4;Wn4UJZ_h z`&P-m>Te`Tw#0&vA;wG_1&Vu2z7w6u-0kO&p=-T^!ygBeUSb0A4KQ}cDhcLuWPtGz zo|U%0-xj`Ne*CBH4vHUY!7v?OEr-Bp-eV0|ngSZWMmpfJ8;hoNfXOY{kD>9>O;5<5t=gtrG6KdpOM-L% zAyt*9BuuyeQ|88H1JDqY+LSQe3~u}<T%|bahj5jT+OrtZ_Bh zU@AM^C$qaC{Y$JBvksnrB1bVaFAfNi8aEU0$(K{S_~w_<-j=&ZR106xX9x?|$@MZ+ zVz?LwoEZ7*p>D)R-?(1x)|yL#3pdDJs^yEtxA(_9C6A~*sqAT42{tHFO7owVp)O%l z8xtyHC|-tAyHU>MNaHYsV5Ppe5xh-4?cFFRxQZd{vsBi z9!GwGFC^=c{RrBkWc7FZl`UB?iUM4Bcms+XT8bGrVSE$sSir4+JQ0>`v{^JB~ z6JA+xb)Yy-FYNzI7Uc8t6}3lj$MaADbULjxxxlKZn1pL`sPDhze}O87_1wSY12HOQ zmt!_R^rD10fZl#lRv~0W02}FO3FQamehniX^KW@eXDsCG7;_<`qXTI1zvX4ApuRb6 z3(jF2G#6Zo{~%&?(BXeWp9d-&_Y#D404{u4mO5a9P~g@+W461Z<_tbl3IViXw!MN! zo@dQ|iW*;*_y$rr)ohX(bm(o-m2TPuK%R1)k_adC;G-U%#Fvy~2Qb*$UznxA1hJQZe4=4+2BP0bMR%`{*LcZgfjc7xgYk}kNN zf`$%*>&rnU?#dFF=h2-L9Br9Z!K_2VNEEPP>bHgOn$iH)TfhZmn781v8&LKzcnq%d z64C&R`Kyb=!gnPE1_F_YTI4;SXz0R}&NMc$-l1{8O>!H2g2 z#RIeLdfSgyaPj8vd3X&mjla zyd_0nQ{sO{t+vN4E;*Z}B!Ovbz<=bVQrc}|I?NDpt z$lkeK&Q61qR@(EeG`VeP7(-S)I@|+;W8Rh}_&5|s3>N&pCI-vjk?W$(onNv;=C|d! zt#f474xA%a<}>fgq6BYpq{LJ%a)hN4kglfYL3I3Gd08*7iX4}cw$q`cEmfjYmkx|d z+xg}R5NPoKyeTGgTnMHw)83P}swe2f_vFNMA}<8HpEqw@vU&G8X^ zhTGk=OZHN`2lwxiKd8~aa!U9^IZXXAnDi0Useov&p_;G>J5)pS!}3b2A(D?ed34g(Y83A^RJ(aj9`lihN(nHJ351GXZ`sTnVC#8PXU z5pxMSRoeK8oW~6#^z^3^_ZVFG*2Sn#C2pIa&c;{#K81+`{ALU-|5Wyyh9<(yJaGtw zR#-~ib-&*MpK)k7Z*4CwpBoKzQ7ye7yt?tr-Wm!naG%8>4Oz^WH{<=Y--jXq8`wR( zw#A8GhD#ZHWqN}5bX}CeS5lQT^()E&?sT(8qxOPr1*_PBmhY846Br-k4D6*0DjD15 zG_ED?+$&4$W)7#CHP=TOJ<$*&prRBmOj6coGUc)W{8*TU@VcN%=h7}^?doQ9Ck3UQ zzqD??yL@;{>Mw{F(AHh|$V;KE*_;B%DTjI+ zrVq!y;VmXEjc5tll^fABcYE44s~#IIE~c%w(%7ZpVp^S*#<3~d2k_8;!F8TMWYg!U z@8?jCp63Ca`8hO20am&#{ah9zT86>_d*l6Yps+7h*^C{B)hiI&OxnA6-|ogY|C8ZO z2pxh?QY%t(u@H14GTzxTv zOfcpHQ&w#M+y;Ty-lZ$7eYXFNLyuS5U;k9DZG9T;<#_8n-Bz}>LD^D<@+L;+&mWL{&&Sz`P8|S`7pCHf zoQR)?BhnEAhQ%xth(M5+g{6X16ggP6z!eG2-C)YtaK=Z`Wf`f8+*HlaE z#~M5y#SbF%;X#?sU#dKQ5E243`g$`IGGQ9q43YX6-O>yTy1fgnY?kBj8Hgjza!!Bn zQXl=t8to<>vNKd#Z0Xqn-v}7;Pqtt$aCqg15u6f3fZY!D(IE+qVOJ_Tj57+p2GbAA zNoeHN!}62#J)oBJo4c51ykEfvCxQuy0>>~T)Ri`VBMa0_+Wn2ZKKd=Ds?|s2v~Ile z%+R`sJs?krrp zDC4MUHJx`*oM=8h6!Y7W(c~+@$07Hc(D5?rxO^%Wd-#OIiH}%u zhtD6ELt_?kiYJ>!d@m0(hyOo09Y4$d2lH5fLjRLhjsP=@Ahjp>wz#8>Ba9TmKL=rI zOh6ewVBH1ivL9rYRT>n^d#M7DONY+4ZZbG{sc-1twhfSX`4=>x?V`VU`c_&J`D**RZezX2%?6P&~*mThChX~B#Z zi2fPj-xk(BJ3SXS%Q1e;-z)HH#3Y0rp+uT^R!-{*-V2utG(bnVF0KiuBYE5wes77h zLUAWi@Enu_v8cUl9m0m32em=TWSV^cwYMIg7i3V;`Y>RW2B<*JQ@}4=b&~b z)=CnzsGi*%3zLmV{H3EGn(_HqydRCy{cL_U`|w1ov^(3|YKOw^j6*V%Zcaeht|c!W zi}y}w=>^>Ww&S_Id>d{CjXf_D9_^x!QoWB()BC`A^wFjIO`W`Z(=3xR_JubXt?G~B zxxi%iT|#hv2mJvx`csgR;Q5aF zcs8#)Gikg{UuKFT1ui%4QQP!f8^p|11QPC!I9~dV(c75rc!Z9#U3tS!8-?!0lhZ*} zQh%ZWWuYpCjRz|OEOvr_AnbMXBXAo9>Ek?yJ%yQD$jAx)G_%%$|NR|9{Beb18x_!7$97fO)jNF>VW{ z8%}=*>E9z=zX&XpPSa!c6t^`Y?u?6|cLVf*OF@S$5CMQVbSb)a`^7r%piT}@eM(V{ zY*+{RDgpPGgV}x-t3!4*mq@5P#dXqgL7lq^D;d>v(sS)ro|1JD+H>dOp>IxYvfpLL zb$pa!sS(|A+v&wldJ2}JJBxO9V#p>eUlv7m)^n!;7OZHvrr$o0_go4q@_YL2NN0Q4 zrb~Mif?lU>Sx!QaI-(aAY2}OW8ZGXu56wk;>ClCCH%>r%1-BKyJ^ZJIXzxzPJL?&Y zF*r9*W-u;JAE{|Ga)ML4>hG)Se(Djg--!rX|A^O%)XRe(#OtdeOsUQanvhyH7?#S_Og7?wZ zBz$yW-mu?%+m!Qe_>H?Y4xMM|o;rR>$CC8{>Q~e~MR!Gi#-L`Vm;gRZ(R;^#Wd*-E zoWtLp(+o2|HdW8EdD+2I302a7RDGFxz~`Gz+x2Xg{?i@$gWCE*w85c|P7H5`SIs1l zQI2+TdL;rh0)t?5wr;2#ZisU92fNz`SszD3D3Vjhql`pgvKbduKF5)ol2b`lxq4bE z&W@o2aM1^c+0`ITE1zKwG~WM!jc&=+t5h5LbM6e=~m9&DSZQyjbLQ##vQ@7)!~ z{Y`N5WbY&9;Z}B}vO;}S9+L0G>@q8V;1=~(JABU>wHfFJJK?jVed`DGbfJEwgfPXF z54L(z`{+*tp=bK&OA&|9rBZoc{RE7kJ&W{AHNAt{q&gdS4~g^r#36+rPEsZ?^MJt% zkh@r)p+%L@_F~iSO+aYulCcKdpg`t&+7_!++zz? zynp>JO6#wut9z)dzh2&9agh<-fo|)sZ&deE+5mm71Ih$GTX^6G#9GD`Cwesm9&DVJ zw1@ly^h$<4K=0Sh9%USRt?iR9n&P#Ga9^WDADItRK5ux8Eto^@MVdcmm(m0^-tox6 z)(J~NF2I}z=&=(0N_=y+$?V6865WWya)*MYWG~EXNW?w%Qk}1}zgnu}8xAzOOfNK< zamMk~9DH^S1Btt!hHu+|rMK&}qD-Hzs`OKto|hMHfO~3WI~=I&+@}OTEEBl!>@E#tAugnlo>a_Ru%vr7y4tU|%x z3&D|ou<>DA8Ae12MH!6PzfguX%}keBhzv1exaOiLi&k$#`F3;DHVgxYMRIUwI$3cf zEpJU4iEoQxa1cJ5=b))lXJ@Znm3kI_zPEm22byn%*3W3`=O*iCnf3F$^|NcBUe4bn zO{A16eHJsFeQ0r&o(ovdROxH*Gql>A3s1E^0&nkC>!aYk?kS?=L3(CfGtf8HI@}Fs zG}R8${}yA?9_+Et2I(_#{RGxH@DsA_nQU=hL}*3S!&slZq3 zTB!!xz=R1#d`yi#FdjRBH4;pDUbl9Im!7E6`=#wxnjBDh@)#^e=-H5#zSM!srHCd@ z-`40o*c&R&sV7|xory@j7f57SdY$xZ4N%2YPZ$3en2cNfy`{AqfHS$xSbK>m&XH4KFG zH+p}Ves#2uE9VZ^Z)8WQ<-_$v3oxWWd?$OjUL3ui3!E6P_lA)T%Gsk;iHnkJa)<#P4zlZ1BwX~(Ga%RO^e1D10 zrK25`3Fb`RJ4UZ8|4?aK9F?%tBRL2&e}^i??}0s`AzG>Y3V9KI__J)6;vW5S?R-c-LMifoi%;~J$FfoQ!d(BvV_5WMms4MjqSU&r&)E`Pj^%7hd zZvng3ViEwjQ~pNxjMLMsmG#&-y`L89Ks(3jf3=np0&u3#yz%;FR)IIh>vs%@bTkNL zh0nL~W&q82|MK%-A942aU22nG!UAFPa^uWaG8aadtMo$hPS87O9wP!<_(x0Fu_y=3i5Ki|heJtY#CiyCTCNG6B?Yc^@)HU3S2ch6I zhXPkYEHSeRuf~ek==!VmS>W|QyjstL{}VKyr>|ylB?=4K1+8|`MExc895qkW`>Ts7 zagzRo`d@l!l3t_kqMs(|a{%Gm$yh}y{e80jxFfKGDH$l*5~al0h!{hlny{3@vsQX` zKf@SZHbw6l{S-glJ_W4&*R+3%-W@Q1o1(9VyyVeo%~ZX6H&9@loq=XkLO24IH106(D_I>ka) zmjIps>NRIM)z|6!)nCa~uP;vXbjJ4tGmUQ+w-R@%Zrex;WoH~6sMm4vD~|GK>TuNQ zL*-1`BfL#I}2*Iw{AI=;IAHtQ*#94s*Hy_Q^FE{z6>-1?bRKU-B78F`$2Gi%|@-BR&Zzjfx>m0fcGz(UNF2UZ{>pj&3Z#^QB z@_;rDH+6hoho>venx$93f5~U%toj1O4BpKFcfm!kDO=b$!{m}dJM7))U6i(i@$YKn zqw&+}tQYZ&<2%G$>MbtihMDOG{rWg~PQdBtItqDUU>o_0?Q1*i5C+m)vB0j-o#t#n)0Ccm7G$|!gR<(a|1w5+k62H&W!1HT=) zQNOD5drFfQ50`ylqlDlJKU*KDzKy_QdPDcOu`Hn4)$DEFvxVlgd3n>b-+1~Qz3D1+ zG{LB9M9zEw!Ep6VX{CKUSteOX^k@96G)>3*J%GlL4j$@&wc*^dyZ0ZUVW?C6y#NPm z6~fw0`o0O?nfKbp^U3XUCL8t8$t^;}lvS9%TULS72GM2;1dlpYH5~v?xJrtRD!4|M zLhb@>DX`-syYmY!X~vyQ18&wU_^UK5FtKk^JT16cccI6x-K=M}N&iX`9k^M~;LqH! zY{jZF6!j#Mev96>KZcs|Z|_S#^zCb;alhI}s`S#n0ot5f^voI;Bo|&8+=J^dPlqu; zE_<mFCpdh|L|Op8jR z_*?ZWz%A6>s?SY#TX&M{JlHkeYFo4};oa_L-7sh8`&;!v8XTZ|-v&Mrj?Uw6gNg+~ zHrL*!_t#)J-E*5>*VmqDNK~H2tDO;oj%@ei*1aM|khQY#Ewegd&j{Af2SL|-nKbKm z{U+dKeqZMVGeis3%l02aUtG!rnLkJd#TF;y)XeQ<^)G$T!3-Dy1`s%h_~!sW=^c z*zIm`jG9RA>9|$E;za*a6u$Qmb5r zK6AUP?gDD3sK;G;PH%u?8|5C&x$4isfpka@_X57vBLDQA&BMT5{-d#dDvW<^W zC6~$@ksivX`HlK5T<=h${x8j)Ln{~S6EeJe;hl?;C!i8%ZJ0kEQxrl?#a&5JOQ3ZE z<<4KCmuZn~n!ZGztk%(%C3??+Xy6qLC09QMubb@{Uh~!*etkH)uw*+g7Qo48Z7HfZ^jmb$mJ*@UX1 z>=LFet+=!#lyyB;wc=8=lr4(hScywpZK?aZ)c-waPa^H-^Z)+#_1f1nXXcsv%rnnC z^UO2Rj%xI1Cg{gEi=ys)OMI1=KL=d|J<*C$iuQOLYnPjuyd3j3wh&%z>m5X*Q!V z?`UaSqw#C-MJXc&#+$@b8+~{O0q#~J(39So;ED&KPxpo=WE)ZK7iKS|AQT75vE&ZA6>6;G#)-a|PxSN?lq z;}ETJcTd5Q1nQ%e&6Y+B-xDn`=B^L*PY_yFou;OqhNah*;YbEQcMV~$Aj}FzQj6_L zaQp^8)f-ugc9W{L*CdOj6wRN2Kw>Y{3vp!7j8!=ig6zu^x-m*JzZbX#vvdnPX^Yut%2U-uv4s+ z-Q1dvTP8L%7Bk%W%f$Rzbt-M6)# z@=33LB#sVn;vB0_RB4ntWQF(=*aClgs8lqA^xzcRYI?G4*0i~`gKAib`2$@;wZkg$ z1s)HyuUsvLV@tAoHDoFn>8r8V%cSBOG0%iU53T6dHR68o{GJXp?qhK@xDNZrSUh1n z@nh`$oT~W~$PfW{uZ8pw-o`R98+s*O%Rnx`_rjoYnRwl3A8f#xe!1vjwc}~G_2T$e zb~KYcr&Lp!M013cFMz6z#@PM&IQdYxMmO!gmAMnGS`TrJGs?ozMjP146`Q6}W}aqk zKudr&;;S@^ZbBGwmTF@HCtDEDo!J1Yj?!n+#~ZZ$4pa=2J{2t}>7-9_z=R`)Pet5H zR-11WMLr6%TyRXd0zMIkw``r@!LG;+eKup!98TJA6E?uudu)PW9A^hk@n=5>hrifL z12SgL zExx$)VTJfw69{oD*Wup1%sI?BmBRv!azY+&HacdkrHl58?<31r`^2p{pN9snmFIh@ z*$2d{{^2LF{7e#3w1=VRw#8vl74kUAIjlLf>k%=&Gdrv=6;d7XP{pW#8zwCr1?~>t z72`$bC?qfJh7H_6p{y9}k+Y2V=Dr=1KHkR!ALNh zR@xh>24nd|_)~HeeGLq^YB?%q^04Ai_>EZ9coM=&AVl_XoXZN+ue(3uN~)j`#L}XT zkBRRY3z%!?F^H4jp+6rJ6VY1oaWNs76_tZBY{J&UfD5j@#T==K+YMPbH3DXYK9CM~%GUFpD6;>#x1C=-P=dgPSYG*Sz}621yE zsR(~)aZ)qP0szT9u{f0~---1VAb~L3`UqU{2|g&5CVeNiXKA`QFaZ<46Pwn2toTlB zQS)*9J27gY4=v3x7bKslrXdt{WF~mq1!!T=4f}c8L~EHWy5_( z*nHN?%xtBwI#;)IO}zv1T&x|cI{vFIYsF>tW%13x-3vUeZO!R)$ORGBnYRk*blwFV zp8&4CAU2P6vzsSF8sc?MFdr7!{elS`YW4S3-RjS|N`ZM(i))1|rV_OQ>{%&}tmEd8 zhYfkqpgPj4^tlEkSnXIPibAfFv!&OZvEM|GpxK?)%JvSNGQ0Mok+V^|N%&?pgIN@> z_4Pd0u?}2`4LO(Mis;13_H=!B5(%3G>o18B4G_GmIv9h3p)-{8m#~#_a?|o?1{R*~BEL1&z1tiZGZ2A?#Z7sO(uh^Yv!FzrcJL_|6xzmgQ!Ez%x84+Ihoh;B(d7I1 ziW^|>Z%ks%9>BROUeBX_Z;7+gom}H=?_RVj+lE#k1=fLO?R{6Atk)hV*8_1_iJWTB z3gk?c+oIEGx5BmmHXG>a^y+QV5&*lixF3cFNxCDZvqc{rGwv>$*3LTSv%8|xXNiP8 zj>XWX-m5{|>P5S0XomZuGr+!9z+eQ*XZOW^dP>0$(Z%*;q&Xd~>XiJnl&(IkLF@c? zbxMo>7RRCxNX77&^&>0KlAgp@oF$Y%7aW09;mJc^SrvgG2Ugap0_jzqgRe>_1!B|- z@}q%__Mvq%65GGfjHC;1D#cpCDj(@jo-%D^3kT91=TCZ%U?J5Loa^4rTN>ay=!phr zsu2WCgDAMQ6s#E`^I3=vE@VXsgfP%Hmo(XvFvVoq4XI zNj`$XaI~}^f>^>o6aLJP-4y#TB6~K^mG`fB;N+9d@K4m^Rp$|NIM3DTU$_;pN@j+C zq>c+?IV3Td)g~LGkY}UtO}`f0**q%NAq{EA0J2*PEz(0L`$AQOLT9U#o(?3lW40ms z;^+)*G9+B{Q7Rsjp#YNs3th4;I)fI9q)7*sPkpoo-}>DXMWplwJ4Cq%^WlsEF9qUW zFf>I-i17-w$23dej7ZvtvIL?rMTUPp=fv>lWjCT{2xY9WafJLwT*Yd^`rxokml5(# zBi6G;m^v|-h}PlQT5zQ&+OhHt&w!2{>0)B7jGm(NB$BO-11mB*DUoJPP>7qN1-#Gx zb)WtDM1Ml-_Caa`naKWpn%Xpk%;b&mbkhy>NoxTm`LRA(Qiycj(H>u~YfA{+Y&87; zE+O}POUTSNH6y~e9J3`vk6W{Z0Ji{mERTPOF-`Wn^R*L4$E6ZT;)*<13-ohX~WdN&i6BN+as=Wn2*bA)IU}^fg3BZDlRO zVMjJwSyy#@va-hKyRuO>8SmB#onHI0o7Z2suSL9mpGV)zXdOT>UU`6)D zV=QEKz4-tO#5W|6mR%BKG9qQDgZHIi_)Y@T7F54Y=8{e zgL$l=759+@zL6uO4roF)nzo}2wiS1zVgzaE&l)7SJB^PZk@bo@ z{&Rr>&Jf@0I9;Yxrj_w^mTG1~f$VdU%wu~eT z>cX2b0M3#2_`NjR^0M9^8W>EylDp_oy>t{_Bc#=z;1D*MM5%2Wl2tRt>sHraclu}hN48<(a7x1l@)3h ziy;GHM8$Q8eiTP0*30SikB+ZES~1N@JN^(I(41^x#N5dq=AMsd(Xqyg0zohF?eJe9cForUE*GId1fCUjoG)38`NGWV}Cv`|mvQpy*SV>evYw|MROKWUf=07%6kVs%dm8o@#5sW$i_nvyt9U6n@ zlKW}(aOS(1aSC*f?;DDGtn>V?pz-ZZNyC`ZeAg5_TvofMJZ#~H{~-9YOzFb}lBlrc z3h)x_@HY)DxYB&up$$3O*!ei$XL?`_Ec91r{tnA*OFoTBB$?q`dM{SKdz>i>})>y=9@2W z^?Wn~cO~%9YxXET-Rdw-|E)CA=!PV<&g$y)XhA~~DHc^nMI}^8eyq!g91lS;bpXwTHK_;e2tc8^;XXCBS2OL?MqSM6Pfc^niUotpMg)1%Uhi zEI@#-0Q7$qK#yBf0N_rpE>P$|o~m4O+3t%3i{R;s+KR1BkIL3~wcq zP9g|p0K0D0hYO=`W)hdd$%UyIS)>l%3P#AGc*=Eee;NBhZ0u7}e!KBrzH0?kh$R!( zkHf0A8flLJFFDRa(tA0fOJ!&KA_3P}*q*t7gSEvAS&qx0d|4q#f(P`G;am>QE?bM3 zMsL1rmT)i4i~@MjLM-K%p@mRk)T@b@Y%gweEYGPI79L&qG7trlBIIV8d4r2lJhBAq7#5Yidowg#Ry zIR6z^JvKi!Hs_qH!m_=?Y}{W~W}Dt9%wzp9%M;+pfpB}otv653<_z;zh0)(SlNLeF zSRltjEeJ|z&Q+cO8k0*}f_2KzCCPEllhAHpv-pzdzj^QqgfSkb-Ua%61ZhAka*3ZH z_|ZeTq;FkZdP56vx+n~&v}G59TmD6rGR^M-VzLYO{=1NIyi9-WLSO^R3Y4U-Bo0{* z=}MmVx1&8>#k8mkO^`4GNwMVCJAPSQoqp{Np1#ap|tZZMe;7wvOhy|*zJWc$xT|X`+KjV`eD0KfbzEB#GN4EQ-p2;J#jP?>l z9hOg?uFl+m%+($FMADNu)QgcumO*H5Vl~;>MU$v>_08TSTgTYnhhc1IMd(X%eQ6Kr zOJHY#m413(l4!C&UTm0#a&PHN_WHc1_9JtAnH&0(wt+?9q%^TpI?e1)7MV&IXN45c z^d~Q9AB&?E+IawJVN3$ENyiT$%}qAo2%aFiVgT7}VhKdyW8gsYjuyh<TrzuplaFU{s+a%| zi$7zTti_7M62SG_fkIS)b!P{zeklAbj68(VYlBHNpF!&lA?uLEXG4fXX61e~eYdvn zM7;(NC4c+Mg-#gu94Rx+1i}b>D9@7@{*7JyJh@YYT{sMFI1AXb7`BzXs$+kqr>!oq zf?=&eKU6@TG2x{CdO(pv8x1FK`D;y>PCpq=j@4jIA3=&t#lXt3DXL*4`G#ky;x=z} ziPdv2kO(bRHybyGQAl+*Fb)EL;3$yjLiDja8cLAWvM5IGJR*2d_%V{Dh1=?CWYAiN z@us!>D}4SQfB3^)gU{9T;bX%Y1$T`JkByiBCN~NNp}&tNDTVf2 z*Trxj5oNiv7-n`{0RMyVXMW7`O=pa`e;fpEO3 zUZIvD6vxa6DAyx?{=Xtxb6vY?MP%_xZzCT3m+SG${#U$SxvmZWif6uwc<^5k&NbF* zxC9Z=v+mBedJZe=6D&dO6`T$)k!FRZxvmlcv)eXiuOA%4yWFqtn zR#xLw)TL)$CQW>qLS6U4%cQNZEQzm>p?X>B(#5ZUabeAqjb^aejr7M?NLxl^Ab6=u zgU6A$)^%$bp)seQFhbP@VFEU`Qu_)Fwcv3igWpY8jU&;GnBR2pz4t z^v8+hI>O;PK8gGk9B$atdqU^1B3q4EM6lBrWs5Gch=X+W5KDR zQcgdNi;r=St~-w2FBy#S2OojyL(dwflY2-UZU1;WVJ9+Z_^cVE!k3}p4YJPY9>KL! zH@!h_F)PAcTe`N8l=H>3kBzheD7KMLggdX&_#!e}IQ6Q!rHE|c`BXY=CTYqKQ{S3N z0!8-Tc`9AJfIQ!J{S&i>tPcd3dBatjd7$Sq{FC^Ip`@Ti=#f2oQ zp|fN{n&V#CS2x~^|K&y~$miX^v%MJ3FsQJQWV8x);BdriU68$#sdnGR!%iSMb}Q_1 zn%@(=HXLIY_`@P3{P^Y6-%i?E?EFx{`!i-*A-bFeL}6LsEy3-XJ2J7T(`kg&L^@@3 zov8i&i;+&XlV)`@i#lm9P%s0aEb&=%qn$J{}SG`;Qg8 zIJSI}L32MBGs?zrqEQfmtFIM=hrgB%Y8=I7dwIKnw`6RKm>*YxS{u1CR&#A^+xfaV zE%9vhqQV?6ml)a?%^V+tnN+v}sG$1lp+(pm^XuuKOUVd+2JJ&h8ouUI(i2~&DH#L1 z|2glGVF0V%BU9lS{yrH9FyVbN9pKOR3FXV_><@4VFoOmzBQg9mny?I0XBvHe8R-V_ z$ujWz)949=)tv_27HH4mVAa(U!(iMr)qgqiKnfE+By%&Y=>A|!ea94mpLYvY$#h#}s;)-_}>v)Q?DiFsQ?E331^H64Bnt?j?kjZ!NM<2b;`n{fU?ZHz4X1tKZH@Ed+MdvK_>C94++I$l-hyKlYWFBp_o#1h@ z$?jpY0xG-m^u6Zt=CIfB(v)N1KZqc)LX`fvmJ91(VXN}krsz?!DIbd6bCR`HI9 zg-Q!`B5k&j{KT8-`OTz}G0ib;B8}cedPBQz(k4=bi`71h186d~JFmoc<=7M&=p<7R zrN~KMG_tOsSDjkqzb8Nuk9_O%(-Yh~LH&C(fjwyrF>))3L@whes5x870Y1#v+Is2S z+K^q%JG`&bi0xY0QD)7TGt?S{g>nma#r@o?bnbQ%-*qBp9b+2{`b=(LsTj)k%3P}d zeTZTjaN9>RSp(9rfuJ<>=koc0;uH7%xN!!oJ40vf@5I7*tj)vb(EHoLc+{s`caY}; zP;F~8=V(V8s?ZOz*utBds;EA+QldD^#5qZPqBiHVA3{J!&NOdG``A}6iGJi zw1LfD4rO4M9RD6qzjl$e;&=?0M!0)~AX+g^2~q94h{(gN1+KC(Uj8=nW+SO8i*xmR ziEjCfydXkm;HSx3Jf~^&ZtVBn6N@|0{M}@zzZNu!Zr)9f)bXJ5xIgcp^sUdyj%Y0? z2-U*gxh)5gT7Q_wV9YoBE=8}bq|bdp%=|d|<`>wMkE5S_0r7=h{pAZ%m&fP*JtPYt zqk^<-!U~6nePAyw9y%ZKGm#QY#f)eB4xggM6(j+V*K7tR|Bm`|1*zie%sJ(|WR*(4 z+J}Yib?V(mS_*ehs?GM35eEKcb?!letL@|IM~6t~)-OZT3Hs5j!Pqhuj7IwsjW&V# zV<}|cEUW^4FTYIX!(<-+GX3B%2{&HBoh)_dVRF@g<;c>Bu02ZPQR)*%v0{#+ncrY_ zT}EergC%z?E&m2|;v<@Kj2z;}(7@wZzsJx4$H_{gGZ?l{9vp}KU<{3Llg|KtaFb7i zojEuUzMzOLJdp5I;_BoFW7H46B`Xaf&eGx(&C=&IjLRLnp{TcbGR^-E0yO8RdsFDz z??`0Rl=geP+^5VM1sk-iSHB+0m6X6Z{6c^3+m{g$sOr`4$Q6N4p(oFhy~2+})TQ5( zK>tQsXFh~QG>k3AmtfdBn|e|mu{)okpPeVohl0EBTEi>>yG9!&a+)>)ogA0$=n77b z#f-ML*LLpU4{#*dUfa=Y{-r*Di*}R)b+I}g@~zJ6jE9}YY!}j1@d9}o>Q_0x45dRV z32v;E!1J?8GK~*$R_}qEJ{)c&#wv zgKX@STqY^P=seo_GI_zsnwD<3OePxbi=)$M%oWncl%@$#U!i(B#mJMyaU?&iJ22c+F0Tv`K71LdE3hBlRp4n2_JkgP$7f!X{)ftcmZg^em*oetHKyR=>@Hv zZdT4S{!&xEb2cI+m1a1sSnJH}5EyPIIMe*02*&(vY?{H{mkBBaUw8pX!w0w6aVB() z0;KQ}>+)O;Zu*4$EUqRxgP->XUJSzb|4O$4=fgSRV3gNo2Kb)@F8=qvYPXdN<|wP@2nwHAwlxs;O(^Libr zm60Vv&4E&b78#D5<38z55{`<;fbtX}1v8Ut>4y*O{+_L}JslP(HStBXA!7XuM|^ce zh>Td{Pv$b{`amhl$Udk$P_i^)`Rx5>!HJ@$H{M{jkoM*sx=|o|Zg8Fq+ESDnw)`&y z8KP{owfC5>P%74r3&TLdYJ zn15H2e&gSzm9mt|2DBSZu0|?SBBUu}R%WPugQWS)c_Blssw;KGy9EV-5CNfI;)12$ zAvywjXowWf*PqXoG{)qH<@6Kpfq`PTlJe)PUF%EF;bGnv4(F+BL!~gjt`iJ`rqIk* z?bEEY++osGXsZtIKzlZn8W}n`D(U8iQYhgW16k_ls9;F*8%ohU42w6EK#{G$t!jvh zbf99m)XCHZt+kWun8HNDcG%A!n@uoWH|@Yaw}9Ucl+bTOmkgVHPf%og8S~PG2lZ9QX*IKkq6) z2DJw#OY~3^sj06M@o}?>6qU3WshIUtR)S{&R*hWIS^hY*jh?Cxk9VQoFU3VnKMB z=eSnVVV|o*Ysv0&9d9jF_*{z+QR-Wd?+T3& zP#eL9{Tpr%J?cW`w$i{R1F&fLR%TNtaHryG5fjq`10v4zU^KV{$|-h0+YEG0+G^9oT6Q-37totA^7vZ-O2{LAt`Q3)!`Fz?nQ;IU%MD=S60XkwNWDcPgugRQ|l&?-4JOKK6?=ZUoR z5ZdlacZ>HhYs2MPQYYMm{UJ+A5-fO4(;_wCpQ6nyQcLj}uH;HgP8n-f-8xz1XNa+;&hqdyWNWz_X0+Q(T8>agz8GrY+Ik`P6tcLU{m3De6VDLpE;2B z9U|rOZffl%h0qN{q=789Ni_|X%mz3uB5gTL!o6zFW1^#mNw~|+S!8wLFbO6TDnxa$ zRm$M`9`sm&6w3EdFBeD?{rK*5@F*z@;Db@pV!peYFdEd9T~>@!$BmVS;&FoZhB$is z6{H5?y-e@EA~olo)I3fKjkL3EHrqFtX9$fJPUJ$^wu=3kxv^yv)dAzAQa{{0yE{pW zGUb5;9oXBFMoyNpO}UKet>~nVnk*UE-Lx@Nq&5J{eBg)=JeVT2glF7TtP3pmF~lA- zRr;>xquVs;LsL(Lj6ulNY0~$mr|{8YZ%g&aYtmUmV|xya+(iBMb{}@bEV~Zpn#PuA z9%P`DsC(X!W-zLU-p(on0hH}gvtWwO!Z~ z%*M51!ux;445AliO9Q)ypvsJsU@u#s;Pxk@7$9ZJNGJS)-J4Xu5W!_OR z)W~to9H$VZp}BLtn_1bJVgyhZzzrEoN^O1XImojF|57dQFqU^1A5Oo2M{3zvE8nba zuU76{T#wcVJN&_3&y~#7Tq^mIqfctIjrN|4N!XjdF<0s<3{9aY=1P@(4Bb9YIxbwp zQ=aps*M+c0RCrhV$QRlDWRU$tH@}O>uhF01l^zI#lj#o&q;kHE`qo0pmPF+wU zMezI|>ZePjWxSBtPVGUZu10F$WWl~?Gjg_?Ha%npDtQ?+^ zUM?L59!v{qc%>goo$+b$eJ=e7JRqww&HYHa#S66k3Mn%D#2=67Bpgpe=>#IM2J!65 z;|hUme{>X`utLf-6=7kBvdUClA+;4g_?G^*LTV3^8(S)s2rqt1ca=(mjWb!IVJnfm z<{G+E8U-fR60cDXYFi2F>{%(9Kqh}#DRl@0|JqUu`k5B3l!B|ny5sTL095EYXEkc& z_kGxWAGBf>ma=Il=!Df^mmAR~t0i16r$4WjrVDdZ>EJceKE8l9`B;h(dZp5wkEQ>h zlp8(<8FkX1K9&XoB!439=9B4PpGX6Rh`Y4MS}9YI@6x$|FvIuNTHxNG-nCMPfT}x> zDYHsNt!}>Y+Cl3izG1~@4{2|aE6FkhUtI;B)cm&P9^cV+qJ+L$CdKgc=#nyNtME!X zWbD##sed};s%X`fH{LjzLtW+4Fd-vd4PP%M@WP*Iw8sW%fUseRx@v>;5)Yx8v{CBI z526JdQBI(5l#=)q^^c8M!ubnoCno}NXv%MsLg~8A5)l@s(jA+nc$_g@*bLM$wEh<9 z5Vk%)ZvhiUkI_3@q%Zt}Q@N5}G<&nuhW@e@W1eFPbmq^~F56I=Gb!|wZBj;~?w1}> zPZr)HIr@-#VB9#DeZ#iG0DNEDD7B!m+ogtnko*R?XwG&iLr6JF-`p-u7VTj9VJ4}8 z<0BXSd%F}KA|nPSl063^Aa-*IBMmI&4yn2D_y`@aL&`IDyZJcOQGhA9Lo(I3a}O=v zERMTc3Lz=B1YQmQCx)LNPyJOX(-^7aTUBYiVEx9|^9Fibm0k*Udu9rb5tdGlTr3y@ zTQu;j##Q|ckCyFmBt#EMi#o4BOV*wxs8d-_6kX}^F6zxb;*bl(LSUx~t=ZaKm* z=J4jaOG*!4p3Idnn>RVImB4m+7utZi1=iAJTJDmf>qQ+wD;baqgD60gBlMh021UC$A?+kA?06%G4U&BufV?w#94a;!`1+VFVs=F-A9ZW-c1cZxcqbAGhEIZ;+Tu@ zf5wGjJ3a2n?dpzw(u=&{ZA&8#ND;&YL%!rJOkLYkn;a7t+u%%#xCCrfv8)K{sMx3Lkzm%ed6CQg1 zODVkGE*&R(br=pAZ6^+SXtRS-gs{g$yB?H!O7Lb$u%I#z{fGsv^w2L3N?pU-;4YY_ zr3HuIp}sC-cAwB0Ew0gsLsC0ojY9hzk_HqmP#!^!WAPqA$6dgRbP%wVv9q2~$EalRlnTeQSW?(U4h|JC*E;0KUJGmhx}XufCD`wv!IBq6!Xn&we)Kpllr8I>*usDL+x) zSL}NzHd{m4*yRt>ykkx z5+Dbxoe$HMZY*;96X+ec6ff*dz@u1Fv*-jZ&#-dKmnhF_-jNB&(r&K#2bX7jNniRF zB>G+Y?zd9D(aP2a&$m)~1Lop(V}FHJ*5=ROV`Qewb2Q{VG&X}B`z*jYGZMR~I81lp+vr)@ zW!czUGor;M=G^ZN!o|^|(~>Go+)OjhNFNAKZ>FcuNG}>4&vGHCwmBcI?B)oLj&U+r z#BpgJ_RTfdwk2#Q&b}Gb$=!R(^_+t%seaO&<;{N8@wIZ`TGXbqQhlj*q^Ie(XQf8% z`ajFT_$60vftf@W%+#h>nrTS06g=1k9AJRFd$SHh8qX#_8* z?SGUMUihM=+T$nq3(ifda83#r>Sb&~-(w6yhV)n2pO5>cZlVbu?5f@BSdVm4z_MBcH4!u&I?>ukgKkAPZ@e3f!?hr4;9b8;B11P-)H zBIZoQtj4H@TJ?i4NUJd|7cm8KzxAS2BwYQJ4!$G}7fyUizqlkdg;qSwi0PR1DSugN zR@ce>j?+~vXKa*@z@D9^UzV7$zyp`1EZG^=>IpA-fPQ;fiX-u`4#aZDPA|bJ0DZcj$ zxDzMc{fpGsmDpLCZMkF`u{_F?dI`1oTS5PIxL*wb7XOCSPR&*j5-X^A<H=_to!RXbYhmfB6f*wgvv3cmuv1h5v9!XaA@+P7@ehf()b8SzP_X+yUKFh~%58(}OvqLJ&p{F~esXL>_;RnV#EbG~ z$Sc{SK%Od(5sRapTK(iW+;RirJU_XUxDN}aZJw{@C;j9lCg#CH$N9@`O?%mLItOjy zFF(^VIO+*iFWk+8Y2mL9&*A#TqZ+@WAy|W4f$gUr*&K~D$-RYJW_5x|hQP1NtWF7F zj#Xy$^*Zuze#W~ItX0FPO_7x#G$m_Bq5KkJx7f?m6$)aXicoJTav(44jZps%f>i;b zFhcdOC(HiAk;b$^n7m3@)l=OSCZ`&NQ;q12Mskj@zY$GsEWZ)!tiZAuWy39LPiqHf z!_ETVR%m`&xmVZ&#>pd4!!wQL=L%6nHzQY8E}=amRqWdwphKd=ARUJ2FieMyb!gUM ztPY#&u$2xIb(pNfbRBj~DD-7$(LHi?*j#&y&`{{6y4u|T{s>6{w9IeB#IvlUV zNjjXS!x^BJtj3H~X%M7JgCJEJ1gX*>NR$eQl&wV zDh+~EX%M7JgM}bf%)v;N20^Mc2vVg%kSYy=RA~^TN`oL(8U(4*AV`%4L8>$eQl&wV zDh+~EX%M7JgCJE57BW)B9E?6ut{n|BM4J z6Pv}$GmY)SVCB<%#So(QYALVg!<@ENZ5)fHb0wex&TOu$7l(D*a=1h)wwB{euviWy z|5bElYdKWGjB*w{?7}oc2z)$!KUGfS8>`=@$}0q6QV5;UUhZQY7UDzpw3jPPjH|(E3tgKbzY%`O z!j&+UGu+DG#!RSHKuQFSUGH8C&Fml#5Mj6j+*2Tg;ce-P4st_bi$&elK^`seutb|F zckvNwhS$#i0->@Y#u?Rt9yEM{fNEqDV>$&wQ?U`VkI9!STL_G8-#a}W-Im^zh- zFZ*i>Sa-1Jpig!K+L!12y)hvO*G#JHTUUpEm?gI}+s`1JoiJ8k7h?~1deDHU5kL5G z7kVvAPBOG{T%k=Z@|0w44M;L{_4Y-rtauv5Z1BfzG2a`cJ+Sd)`)c8F7w;-Oi0}gT z>&B`!^teTCi6l1DM;5tLqc)D=4LI*&>>6&}f4uE?wqhW=5Xc6W(f-+To8WQv*rp@2 zoT(MaXwhQ@xOAE=ui!h=v>bVfu?fQI=9xi>J37nFdAtbGB3JGl^!Y?zeJi)(3F>TM zSh^}^S}`*yR;|dD-F(#0y3A;G@VxCp@E8wH9*YBQu6-Q0-M3W^D{n6a3L!r!M)p)6sICa`wHtM%yN zDlrF!EB3FGC$k-~wiOB>G7va3_Wf9E>7+b)2LC(#D^Knm_T#Hioy2Bovus)a~f;pWQ_JafGcq{tJRlJeT>@PPp zVimluZs;#J_cz9Z{?W5Tp?Nd*rk(kK8fLqCQ>-gN!S32HiJQZrj-H zi7_~$U@E;u4$A%h<7Ce$sLSze=iG!U&&eq)WjwC%oP5|A$6O)L%ZWZ$_vhtFT4rj+ z^Kuq%ut(acV3kMm26dDbMJ6}L`kEq!#q$i8lf$au!=x$~^bj^ISg6`+gq$pdCqlcF z9XYSWuGboEdCkgoPh(vcKc2q+0_q$-o__FxoGG*$tN!qU{FJGQGb|q)%p=3o@tjw( z*D}{GkMQ&A?q@CIb5Vo;|a5o%J zzw>2DaI@63Lo4WH^O(psRE-(4fo!l(GQvwf%JJgOVpl5Mrw72jMR26SefN&VTPSm0 z%mY_pJpQm&JRhYogDsl)ya7fuOD9YkY%F7W@*+$0Z?P-|5$UZda&zG|6mY8CRTy=f zzBpCxgsm!G2v|Bs8{woBXtll}0}7(or^+U5v{7;n%&Eu3Z9|VbX}~mjtPpdXPMIdZ zBA9N|%hTimK{zg;>bH%KbfmD6R> zkof2YAJJhd%J=_MtqGwUV?tx0G3+IMEMB&uug_-PPjAW{Bzs96f9 zK5Rb{`u7aHJX))nT2Uwm2&PnEK#W5RcabQe)eH1Sk(`RBLs}HeEn!B#f3X}Xh%eA7 z#d0S9K;2#}8+c*YNOjjtIfEC*j8yN;l0T{=tRF^~E`ZN1`t1TlSTmB|Sbzoc{gGX6Ms>jL_xL+;v&hfh=x$OB$>*W5#MpsdNcne6U#C7!p!`{RL3 zkC;t#>mo4Fd>ysT3FTWs*zyO>SSqIqYyMCp9?SCt`sh8mFUU^s_d#Q$M$k9kM_{87 zbO(dd2;Aq9GmI#Ko3{EuPGX1e5*_h@93_~B;gXM>C(Qeup8i07H^6E0;~ed)0_m7# z@-*O?1Jx_b#J&BsXW0X46>^G*2)&%ua4vN4LoOFCbtT*quBO65&Wxc;XPe1 z5Vr~CThJn9l6AaT6E!kW?OZNTm-s++k19XIixrrWMhwL8b%8Y0C8yxr?irUH%nR!- zs>655zZp#ogG0Q&d*rqLyi6Z_DHrmxI{hF>GB45nhvbC-eGkiL1KhW9^p=AfC4D8& zhZ@C!Kzi+KIfdT)3Jj7vW4}ZTzm~_=1Z*Sjn}*G*HtETg-A1++cBksk<%xyj8EP?c{n zuJPIJgqGgg6S9h84?Br3neI6$|11>rQ$IQ-PvC{!Kht`r<>7+Zi%vN$XNEn14vs!b zwN-|#FbAOkgcU|xiTK+B-)Ag};w<=c<=IBgyJ!CX zPT3qcFUw}@7&(LcYjh;nuL7dD3y2zZE8825nLdm&Ud;hjiv?|B{_5Bt<(~v$X>Z!& zoIKc<%er&&J>w-7xaPe4hak^t!QPeg)<<`4FK$6sRLY-(&+77MC5Fc14sS+e&e7e| zhel@3??Q)F$+5hf&Z?5%kt-t{^w#5TW=si=i=>S%$~kg$q$Bi(?$;_(9dl9cX8?Z1 z6*;ttI|}9~IKtH%j**oWWO;PHVPS*?hJ9FB>8&dmF>ZC%FY-7;6X&e%xQz%@ZiX>< z#o2;~=j#+kSaUU0ryBG-ra5d+hx{S0_5<8`LvG0Xvvt7|NzdGrf2(#Mx+NEo=ezsX zyeb$xr^&ZvOHj{hA5eef?WD7AgBG=f@4snLLU&&;7fS)8hEvqixg%SIc|GZrJ928+ z8$Gql3!BY2?W@2FgU54@Xz3ofBX>+3jnIAYl zebnoN;f|8H3F)A38<-9^y7?g1!A&OCX z)+jXlR(&Zz8Ez8#cU6xmibjy8->gG}>ndq}fsX0Hfi%Ca@&Haoe)8)nLnR+Q+Z3tb zXgH8QHY+LoO*JJ-0o~d7wb~KA5dD91I*Jts%{hsz(?8ppdvx&m*c5yv=CWHB@X&sbS&^lB{c2s^6__H)SOPL<% zO7U%?)D-n#mU4`5&>0@=+60e#jcnDW^|+AC6k49GL<=b?^jJ2k+dM@Ta+DVhLbG)G zQWqsbh)$;;bWu`clX3FP_Cze=S77G$VMs8BX)hZZ&TRG|iJji+qQuJ4409%S5@5XI zl4-N9%5cFyna=I1TnN#kfbFp}bZ#UDuMHQVx+#~0VM*$X-Id{NPx94MN`Av=SonnQ zr>mMPXS0gY%mcJ-4<%9vNmBdtP~PN?I~b)r)l+f$!RGs0y_Gb;z9iYFP4Kig{4oK{R!{7g^2*?}6p_GKME0kX`c&nts*4Eope zN+aR(wyHc#$u#ia&}W7#5l!9PEelMx8_HHPYTPf!I|)0UQn^Q{zo-sgp$U~@3ul8MEdT3wQEgZAF13Bo@qs2c|q9=`k45l zGF<>g-7s277sj=umq#mkVMAIX%D=WiQ`%IME+ZZJA0?J_1rlerc-JucRq`Lj(lSZ+ zVK4Wg1A`G#6Ba0gNXiu(NsmAEmz#+)^Fzk^%$s`{|M~N=qRqf$kfl z#0#IstACDBX8Q@9ThS@6Ds!W{x8_3FeTUAV^lU7#L%E{Ziq~KTxa@MIP=-Uv2}(<2 z3eae;SCv>{YdoDYLCG_&Xu(Pi#kvWK6}8Nss00fWA*pp!zs*78b`@cr|L)pn_>Ha9q%ub+PkoT;ypF z(!h-|?Ko0%dpbUGLsrVPCw(}XPu%9VPuzGHr3R<8LyfzT<7!1NjjsvdaM_?H0-iy6 z;;xl}rRfuYOY9T3$9Hb36$p3yYT}mG^0#C${{Ua9xp;bfiqfDE&0T|RsZ{{n0;}=o zYPn%K`iXxnH?CII_?Mwm}1vUPqwcM6k?$TN< zWvS)HyE!#+ZMEFyS_QSV8}U05nlM#~ z$+Xt$k&0GNf^D_j=34I3mQQfZE$PCkN&~^#g6;uqXRg(w6>(4SY_;6xT5eA>dJXY# z-#Blw5?aXB8bB4b2T)9{q-wdjTJDPICpgwxZgVYnX;dwoT5gNatxlV!bQ6dj-EP-5 z|D{>#k=K=u{6D>dXDCLYUTrMLN*D-ug+|R#LRHI~$^*WBb$o4o%Wh@sa|vhZ)cvc} zn2xn6kc6s9Mal+TL95Q^O0hzO*y>L$+J&yRKI#KJ{e$AvE>h@Qip}sO=88E=TSN3V z*dVLg&pGfwQzs^6Vk_Ze#n$O@ql!+2Mq8)t!Rn29Sh7P-;OK{mVchHp2t;}|7C$<6 zp|UeItqG&;Ts&L-Z-MGrYN!ER85pQiX}JbU=yHL+E8zSCxQ)2}*!T zEJp8GVTur4y|+XWc*tlUELD~_baOv-(?lW6Ui%#!DlLUAHikx>R7ncdf)~Jxqiv`9 z1uuP1Ne^db;Lc`y&DflrLs{{yp-qZW`@E-YgrykBfKYb>{bITDk}xft#($_> z7Ba)tdLJnfd}A${k=fqT5#XjFdTGjYA*F?S5>KyCa)tTfbkPbWleL#yJ+(slk?mca ztCdiI!>g4zfa|NVT74cy8>~?V3!j9k6V@m>2BB{m-LY2rLijk8PFaVBpAf3%lqqxZ z4zT*odgV`nhmyiZWvKA_S{lAddERgM+Q;-O`o<<@s_;&IdS{ceR9I1;E^sR4!le2% zW3$p48-UT9m1KjkEJXcio5CBAM5(ISh2)QEyPe9L!r)-KWvB9iFfN$pxs*?YF2U*@ zm-3td*0$enWw|iB9=)+!IcS314ED$by61D{wVIEtFO{XK44Y?Ba-d-@2Jg>GqfMs6@s7s3vDqV%3Ao}$|rC8Xi(7Z$7;EvO84k^Qg=?YCa ztn?9HRA}*GB}eG5(1VA;7W7c)jl)W&kfG3aU*Wrr0_`!S2s{0wfoj!PP>|uV&>m6l zh~UBk9Uo8Sy!0LQ@=-8a#!+m{X+kJrRb4uGI(EsLS8PxDlt9DWP`(e!lZ`altqcly z?jv^F5u=aEZ|F7z3Lk$&kGYkERt4~`-U?}MY=x#&3vueJ*mSUXo&H=1%Oso$s<7+#421I0kJ$O;<75N=A*$mCrIC^UPW|+pV&a9x z2h<(sm24TB(~uB7_(MqqQQN-A7JjchkS1Nj#_ALLpKD5IVMztucujd;`0ytxUsrlS zar)WoN{5IcOCQtKZ(0_!2dOJ#{P1j27&LM4zB5{D(ob~Db){?gmJjhd8c3G4H@B@m z7uIt+9<*Z{%;n#y_5M;Cv#na2+e%$O!Tr6Ob6-i|jky?#bkYMQ8kha(1EovIN*LYc znsF(YJ6pUaY$P>=>kpK8AT)ZYv=(MxqCFmBqK&&mKY54|Huw^~|4@ncrDT5eB&AfO zR2uf*DM60_m+&58J~g7ZA1U*MdlzZ(-`Lfhzeq3tt>g(uF4EM;N=9UVlRNWgPM6~KkbI$ z?2Ai!1VszCcQ1J*sF^VF;*zC7Il>RSm;4ZPnGb>vYtR+Y(J~>ZrEugpJuL)9gzv|7 z)r&20OAgm=A$P0Cb}sBF@XO_@YzTthydQ0C3|b-le{`JwIn z_&XH%dbq!ydqDOCO}dg*t!09ySmD+GjdXLW95<$pqed~69G)Umyu@GE`=y-TRU?N# zAEDD~&2@aap(aO7zT#vvZFJK3irJ+cCyk%t!)AKd zNwe9zs@X~dD1#)t!l4}B_v3HE@snV0f?tKMD5V9?n)Om#dCr<(=WO_J3*CiJN_yF0 zGX2L{GgYy@l&(8#c6b=Rv(ikNvR8&J8h%td2|x9v&}D!7cPs6ls0mbrm(o#u&RB$= zEy(mA<68pP7DCIQ@fF@j!v3l80P0Hz=3$X%xF?vK2c^Ydt1u@Jvbs zBcnzWq>P5D&CzIda%Bw5N>`1WT(S269n)%}m0W=2ENJ2tXG&;`pjkYhD@@iDCjOMx ztGEhZF3t`Zz!>wlH4>N%hY=}wav1K+Y5GR z(TMZqlX#{U*Pi+DK)(`SuR{16Q@r(H63aS$iU!{+=ku(X zqPb-nF47k6#n(uGPr^kn-~33{>aVk={wW$C#c%&6kEt5|E#$PR8b6jNu_&eOrolFp006M+;AEVs$si&?|pLdyBi*FP=qxM2^=9f3{ssD`#k?+pG5`!c1DbQT7at<2?0VjE|;r#qFm#l4xi> zuIv%X#|_+4lcb2*Z{@^TBi7B=LM0{w_A+G=tLFH_X(0DsQ1|o#rik_|4K} zxHTf5+z6PyAp0K~jl4 z_W$*FLK91uGVlmJG+X2D=dQmNf$Tg2^YI0YajN>>=H;UQ6ZG8C$lx{B`=Z2HUkVSFbP zYKHyI_Ur7k?ccTk#=gg1rTW8Zm6NM;ro$T!UpWLiUQ_!xggX^E?Q;Cs@uH)`=?;g- zCh)0pG0dcI!d-5xO?p<-E+@6irUoy7u`pnX zjyBxkdY0PPLj|pO4Wi=pu2DrBT+1gtw(Ze-w%iwya^JlVa!j;oz3Vh;-{9&;88EI@ z$GcjJTpqgTfo+=}-m>M<`_kDa@RDm36uuzB)peuu!g-w1qsb55yLcWgz3OVf*PXt* z>iRu3SX|wy(&Fk%yRNyasLSG-%2~!!mX}=BweiP{W5>&4hfo@m;n$?PU7xL+$D;KY6zm zmk;8h!T%ooHG<*dLp<2Z%Zn6<~Q>}9*~f;>CZOLozPyX}fzw4+?R;uq}p zKW|s^oSoeQx#QV$XWG6${ax!17hGgvPKraN&)OZxu~VElZ%(tx_2%=NZSouQdBy$k zhI1|Cb!ZQ zWSeo`yi8JI=JT>plvWM~m-YqSlvS&})gCjAENx*ot*h0}vG0MS5f1p=Ow~ID<@6vs z%-+G>)}fw}g75|~V{kWFYqj@eas5;S7(zyjm^Fgw!G_upvo^4VaSU%_l4XGT*+x9J z!%|*mT0Fw^KyF~wq21P2_78K>A5@pwhZm^G`muJd6C1?CAZAH7UHVwN#J&`cPB`9H z2y^f}olMpYkg~MfngA_Z=b|~ND3b?4c5t*yyXnC??M?RX7)l1=c(o33#=$oRApZ7l zy7#Dd)s5VGD*)2MyZMe4?FovjLz7AbA;zfeSv& zC3`~HL1WpP@PgH*RfYqRrOOP3F-0qvQFQT&@cmIG%k6F=`M7-BuG? zI)Wx0bS`s>C~!16gcqud?88ZQFA_e(jhR!A8tqs<+L4UlIf$$LnQm*0BODPf`E~~v zl+9mO5M-LSqA;-NCJHFNF=D@e$=m~er8n3;D33$<^X8$x!qF%G4_W;`gsZL#3FYQ> zTk|>7ICT6EGp2G+H~oHGJI#s55g&m3z1{R@qjuTEa)5MzZ0feA(27sB!F2YR_I{PS z8mIpnMSiL+$0g+F?`iE*egtXw#!O7+7{w zL_vV*Mk5TRg0c&jkLW%{p?}fb$kX53J*p_0Tj>83RDqmX)amb$KB5VBkY&lT%@}DO z6(em>haJq7m%ShlFL+*VdQQHqFh^eWtlU7)$cvwr@6VQ(WF6R5`jlOp+Hs@^rQrr= zjwo^*&_>o=vKpm&6>x7^|G z4Ey9u)&x`nDyUr=oXKN0-{7f5t@^7totm5_WPoF(^-keYvRkVD+p(Nr!cxhNJlBqT7l2s=)?H)Ak)n%)~3t~(wBMPI7R)kYj@$x(N zM=H|KM$*Zzv@>Tqjw)8Cg#D4SBt+AQX!Ji`vbIhj#}@4@y5*$yR+S$Tt?!^6C$+m( zbW$rS;F^Nb}&1`ty?24Koeuyc~Hm zltqLWgqy-5Xle11JBn^E)Ei1}+aIbZ6?@#M?pCg3Gq&O|%aQ4!l~F>WzUcP-p(VG; zau96~(!fhUtRWaSkVXU2h$>qio>dTOS{8vQ zJ_KP~Hsz4$*h4*D@+dSEiSg{$m)w3}DVr!V#4ew}J`xQ=+8F{0%b~~GA&#B2<&@St zs|LIZJj1ESYQ90tU^^OqLfKv61shFw8fbm-9TEHEO4el*Z77U?xODA-Sni2or@vn( zcE+Jo4rA{`WV|rGXhQ^>ZRUQ-=IK&jGoU}({13#IuI27|`ui-=p55rCr@s&9)t9ZO z=EIHgEew6tCKP9e6!JNUzho><$`|xlE2oJWZSZJRBvBlAh@u?~v9(n#b6rrFeE z#mhm&gTwfNc_#H(8<>Q-7!Nv@ImFr)2-xP9MZv#5iH;-9L^i?TAUu*Q@gYlV$*9$LYY9-!#&v>qP)(3-92d^UeQKGp76 z^KGSF-)Wa-#XzT|_E^*S95zdf<0nR4+NHw3?x7xQlkFTiAK75(5BCgTUogX$eq?Fm zSS48MD8_lK2TK7D6XV7j!MuBgE|;sksuyE_}>Fo^Du2`#mM1~P8XWiV^!Mx zIq?9n5U|WqOb=E8#)Eg-Wvj zUOP=y4TI$EokN98V5d4;U|IWE)+`?zGlbRRNgv79T3) zYCR383;rQHX!B|9HdWGeRAqMU>C@UoxvCM-_q;%h+qBUtw;3p&7io8!c9F^moxGb) zv}wIn8PN5+sk=?PJ+KElXAk-eCxnA@ti--nIaoUb9KrZ=2TOg0_MFu&P#K|XUZE3b zwO*=pXiYx-c2?`FDu*`Z)0A^sFNa2G-CmR^J#r2UX5%@nyUGIAyqC6}LmqV4{xQ(%f*xxGae$YAX|Sm%po{0QST2X|D4;3lk$xj|kBJtu z?u2eGq{Q=D50zRclbH)?7i&Lg=OQXQkGv;A2NRt>uU%|k4&6aL^q$sjG6k5m8i!_( zwqn!^Jza~8Px}Ub0wXrJWEYxKgoiJ+?RW;E0hspm3G>9Hosq=VO}2C(dR=;#k9r8M?`moEOGU8=%^AF`zP$^Qc4cAky4^9en3L3>eU zfe!eNw*3g3P*hEED;@b!yU!^Eakar+b+(7>8@2NtxoX_zpm@&F>UQk{-x%n+c3VSU zA&sZewxP=a+f?{x{Dkj{&AltWcQXZ}hTIaD*Wd#4ne1={()Qf!_`O8uJ@n*loQx6!esfYkpc z#^!H=HvZmYtwY{MwfhH#+C3^-RtKA|-^r^(>*dJqcDQT0+3l@T&qZ!}DH49F0O+Vb z+S-A>o&p_nh1>oVM{Y5>Y}M)-3!sP9 z+PU-HZbJ4Z_gdAXrf)y6O!r=EkDQ~EmK&j9@gBX_bZJ=2@6@{6r-4;?^wN8s+BpuT zaJWzJwdT{_|7xeXF8_{qAW&zrCXQ`-FTL_#?DzG<(GJJL{~{wkfyjub=rc>)%rXMB zN??wCCLAF%dg&83t%9Qtj^8ciPkx;<8&K3PMb`tSVeo zbhE-(ypV#E+Rj9vQ4eh}hBMpRc4irWhMj4Pq2S_$xWe1XpD}0J9_P=MXWGK~6VY=1 zn;=4;>a}KabCy=HbW6APW|amLMtU}F@5Y3a0v+=Vo$S``xoHqO_c?S$Cow>a;-G)o zTtk7M>4rkzqB#cgDW1LGyJXe@UFl4_6}0vOru5=Vn9}2JMvdjuN0$&^6?8~39uR_7 zF2Znpkhb(_SG(jP$^^LG-{`d(HFUg3>*rDO)c##-ik_AiJ|mATeeyu2B44~ni9C0f z279z#`u)2~o;r|O`sBgq&w743ZGBJNp1^wnkU)QLuTN5NTI+iMM`&-%393(gl$AXTy>E?%5ah6!U_xE3m& zu=PxvxE)!FaJk2Nt^FKsme%eTIjIsH&qO$_Is>~q&V-Tiver%21+$P7wDq!ffukPD z`C$-i{(`*wutCU8Fct3jZ@8tcn*dqfN?X{A$4m9CFg;7%m$i|qIB27p7WZ?xLN|5L zzJBduRTp%~uk>xd*5AQ%F)k%Kd#!q!a7DZFUXDE-sQq%U)z1wMYz5jK3@y7YyfCEb zmdJv|rdw%I@y+{#OBRM7SWr4&QGrG_vQx@qsNGJ*|1kcoWmz-gt+Vf=SFdPSQF)(M zndNgE1}&GqF>`VVSSnaBLhzx%Ukq3=7|vBZm?eQVf+RWgQDxA+L~6jY#~C((RgGh2u(okwd%%?1J}W-N zgR4oo1alskUP5AZx`QQvWsQabfVtxg^yD=5cnJU}|9`tS9XA z!Ggi6Ic%5Go5KW0%ZxtCVzU}JG&5~Jt#AbC`sh>msQTeB&Y}y~w2@o6aT{*OiFhM}+=6Wz z1mT4$LxI|4zln!#>5hkD{fHLtKx86ZCtilxj$jBU&TqKTG09V4D1{L>Eh=DFegg$w z$Hhw{bdsN>JD_!QX&ZB;9(kBcd#+=F77X1GK*z3Y1I4=ssc@&v>yxgBS4-*KXE5o?Z>9;?zxb%Z|UP>;57}S!WmACg|YK4e)wlV%VH#dqwV}T z4=wPIiyb?7b$}U1F{}<{7O)sFahuvUjc)pvcG|=kc=|;k)9WzW(VV}vv+=O!3Vhs< z0h)JLpR@yDTY?&FNpqCNl0QW>YUeoV0Gc?O_y3^jEy4_sE;uX*&6(tbPlhM-{=4Yp z->7sQv`+&4###^Em_UwJ=p^XiyUE{*>%|J__D!^nc_XwjiS}5viHrS~VJO&)lja2y z4vsq%tnyx4L9UewD%zIYc=#v4-!Hk)S6HvAgRD<3d`4KUa*o6#bYJ0V!P|*@LkOHP zTl(ntPqjA%>HyLJ4EOg*TRFBz4a9Xl+90=bUJjdJQ+_}B$^~Cl1KX!itX%L`bwZm{ zXeYRX+j8Xofj(;~{WU1KdrYa7sdMjO&3y~AKJS*7!Ai5O&ryYyg+(xa&F%7&G zJSmkHDTHmRD9o;*57A+T;6Eb+y8a>9+e(3Fw>+@ihx@D+>cwqq`F@&eC(N11J{|B0 zdc4nCM=S7MbMcBfbOkE$nXx0K5v&nRk05+-^(BM#jAI#Kp3jc8%L9u7 z*q~%5l|L7MJ)mFiSi=^uxN)olEE`OZFnn-W3s}`S=8OTYZCqF#nDWKZX(0Vzz@RY@ ztrsi-OwTFc;6xI@a>v=Ffz^y-IbiKz0b)ogY%$p2I93JbzGU}U!v?_MajX^0IEv{J zaVJ>nZo2Rn7TP>u1+2pK_!2F)7Z#|Jq1#0rNagl|QdJ5NpGSx7h3LR8X!Xlu&rG%& ziH>3ch|moz>1Cdu{2dI?vORs)Ci=rcn1vtFnB*uV32Plyt5vI(If-MR873inX|)<- zpLz{yQ_>E>(E5FNF9NMq3zMhbGjt6ot{sx#*$U5c_7w0#T7t7G7c8cLPN@YCRV8$) ziMm-gu`VPR2k1`dfFcTHtu|sFCtA(g54xUcn*#=2BeYuy6*&ml(1q?fK+iY|{;CRS zSs5K+-3qOHm40HaT#JmBlhz4g1EAHf(PGwd&@HdgW+!2hDjz!dbt-d0TGh~Q6?BYs z3v`@K_duI$S`&-&v*{pcw>KnvBXpcir$L)+I-l)rx|;3Zw8hW%Hr>PaHmz9)dz%h| zc6-YfKXjZ;r$L+EqFob_&wRFji^?XVlIo%TD(U1zVJUt$9&3-c$;Acd7z&;H4n?~N z;i??y_G;SaA}m%lLTA5EUXxIsozTti(|`-gM{@_tIzAJGUNWUmqCsC?FA(yOBd8ss4f+U+Q9(+JV3YG|KN=$HnRv~mMF zLOtu~iGHZYc(^nF*=Oyf&$hdHEZ?udceZulIpF$ZebyvstV#3b2eoCc2CPSIkN0SR zD>*D|lx%||2!Hip8OP|PtKc8WHa&26d^)y+DtQgjFqXN4d5&TgFbMz)X&@ItD05_Y zE8NE8>^>Bpc_%t+y18GDh&O;E0H2k`lPY-Igl`f*IX z5kuHG<_VTDig5x#U?#lm+fDFZ9S?1We+M`pyuM21c=r7v-Rs9H#-3?g%b!n(SeA->bRbhbZR9mY*s6+4!06LSd#3Qn0-fGXC#MJ=;+A*~+_Fp5 z4YxOxc#>wY%1eD#nQfWJJ)j57)I+{g(W5=@Mvv>G*s181259{i+BsDS&&q?YylN|0 z+m*v=+k)5=aa6(I-O^{R;)D{U1@n+U7j83$hd(!bKA5$G^@D|oM5^R|Fdcqbv7MO_ zx3v#?lug@wfo^jb98_+J2y~62-34D?J+$dhbXzuDVKcm6$`QA~B={!}Qjt4OBo{j1 zFFMA$8d_FsI4GqX>fcw zO}N#*6^?4{W&8pkeEQ)q3YY0dcDN-WcW|uq5SG}-!_hqDGQHw~sI%elnRc0KJrH#j z9PZOE)6eW^gCldsWtucyn5$CXgIUX)mQF`DgP?0>)0XL&Rg$1v{i%p~E_A?+bc}f& z>zk;1I;QI$wpmENo`Bo5+o@=V5b0P2-I;aSn(aszXCU29xC8JLa9$Yc zgOZVly|l#(`HY7y-A8-8gar=y%nw|~Ezf^@2{)=5;mm%Gu6v;$cR;7TP98IHI&Sx& z{9dQ%nc%_DEpO0j9dsPD?jN*G$4wkM_-#6@69QF@Y*R%SbV#lXy6#<4%@VvFxjDLT zLAH)a;X|M^Ka|3!L+95@;VaqZV<~(KwA&{f-q&LgI``ORs}b?=5rjX@{kV`hMv=3S zt^r!pKs#q4&*`i`qrr-TDLGrwZ-96^oW1 zX*Fv-bVobw@DUW~Rt zX}OHMF5+XMO}>IoRR=a`p>Eh`wL|CpdD$8zM?f4r9Q1=V3|_V-F~Gr0{SeOaugliD zQFfkSb$?$Te)yj4g23FYXkr`?2Qvd$I~X^4KA6RGe6s#5Ym|s2m$mDhv23t( zu+erVuxc>%D7#9qDlp|JRu5JQ7BGsnfHe-YEGgj*!1iG%F$>t>IOejh{sA5e63$`13b~#`{<5)3R0NCh+tH46Wu?8^1 zsIZ)=Rxmvn1>GV9ZFPPa6`~xQq7E!>918|Bj$=_^G2>VQm>$f}cB(pjrit-U_pO3g zmI*o={upz3$`J2@4m~@}jiUzsE$|WBy#+O|j)d|QiSQt&hEF0ybZsVx{_+di>>c+!kP zka#d3mwsyoeH9|i&-&VKyE~q5w7Gy+$a@)|oeNLhSHX3hQv{3LB7cy?!k>qT8CK#hwD0Hz89S#-( z#U*h%+!|lnce79?ZbNxKiqp8E-^yw6!6RD`STb0SROaGiS&AQ}wF3Ja;os_yic-K~ zdnAgtsD~;y4gSG5^$$P2#3M=$SO{3A6ozjM(kp&~N1$o!%_AYrs1&eFuoRl#j0Xt3LIf9;39Mm0 zEeH{O7l;{vyJbQD@D#+X4J={dNN?fR-UXJikiu_8LAyPM`d>)r77Ee>7NKw#2h&#g z`6fdL-Hi6dm1vY!d)sXV#(BztzkU%NTP%1_%!a!f?%{0@xslM3#>lzv+*ct!Fm(FAwT(tc|iR*9%6X>}M=;BJ~)IHhRv z{m8-aVtnT)hb#@|EePvVN?R5RTPLQ%ZFn4IS=Mh2p~<%iD}0u5o}8A8|M4s;wx)SU zmJiNI4UCPi(XQJBZwE7U<^xs@rX0mWz^caC z#emg~V@Y6*V58GW2WzP97o_Ja5UBxwxq!|e)9NrG+@S^9^iOX4;sZYKhT&w@yD-WB z6R#b_enbLvH{(A5{oF^ZS$(3)Rqag-2i-wa*c*-sBIb(=<2QG(i|AEdk! zYeA(LDIV!UEj%YKj88?OL=4d7e~{w}i+V{YrR9>OlmAK~g%tdl= z{Jc__m1Tg#sJt?!JH&&XZi*1eAjly&5CDXx{*bL4)#GCEPT< z9}c7I$k}iN>fMOc^$LBxN|<3E07nKKmsbh%=Ox3@0&8bj@xk3c1FRWrXlUUg&jV{i zpmnQJ9=t5M{ga8$wZ-fCgKz3wGk>j+oq*VV#W`wTd`+^*2=Yp}Oa2S?uI zE0ncHxW`_HQ;3@avo*q<4%u+zOub^o`%O1u#7r~_TKj6SVD~HZxDope{cyCv@rhBG zal8A=Xmr!A3@;sY$XozeB^Y-@JYh9-iyhBSOV1MPfsL?foOXq#u0@O{ICLIY=&rTG z%?>Sam^`jn4Rm+DFqNv;;)Xy!Sc3;0U5n-)ya&Oj)Ah9&5K^EMrc+=nu5AaQqwwqO zvBEwF(<{j0tSi=HJ_o#MdY#~|Y61)OrakL~jUImaC<X!kjEBo19CcrOOIIpnfl z@Fm?HIGJRCavLx*FafmVJ#cqm1EdW)^#&@t183^K56#4nF5H0*9R*$G$FcaUGN8Ns zXz6;SS`KZPOIy~XG+Ln>=28jt40Qn-jsHlq^TQc>f;E8|>7EZzv)9*S`4$D%14dHQpVA<24Pe3JSSy%u9P0#21>^JK zgToGj<$?u?L}HpE4FBW8`hYbgUAbYnGjre&K=UX=jyML)l0-{4V!MIe8E^;O!){+y z1$5Fqv~{DfInbFf5Ntta{T)VRcpKOy&O;_x$~cw}mOPGC zfF+HKuMR9>oLw_meEO9&V-jfxj2maz4`v+4)caAOqgX03=m{2;PCq3GTch)!GakEQ zEe9Ve1U!(l0*h1(7t%w;)v)P@O_F3IUQY8Wmi>8@X@P(64l24EtxjEn0@y*P?nWz) zfmT0G+C=oGJm{#$=|rLsNZE<#c8vh}kJIi%UVR+ETqk-iP=!EyX3*b>sO@BEV+Q$e z61)O)p-VHymUJmtF_@AwhJy!^YA{m#H9*>E`5^z zhMtiCUH9Zj^VK1aG_Y1MX^J6ZlAv@jf%SmZNf!fYNrIBqpS;C#(NfM^3 z)CVy|Jw>OIkWK(}{8QAIgiGRh=;o)!=06pz3Cs;?@)3Z)Y_Qg+DDob`Kd>6wXV-{7 zx2{I8pizv^xeY9I7nR*3c!$f%&;v&Ka~L`QWre!HRd0Vl#%4ROq%{ zv|uyts?|f+WzjR6u{`gDHfN3GsUP76!8)_(_-3JRWB;odPM;m|=lIp-80JPXK3`8T z%P0mU4ky9jvYe4}@`N)AZ17ofNyZ8<1==}>0+R(V|2*g@*rvlqW{|cRA`6tfT_ZML zKBsEfROHZ(WDKS4&~DFNvFd347C{gP7ujo!=tMFve4(43qrPO}c~u>B^YgUpKH;z` z*A{?6D1RYQ? zvb^9^GlTgRT%lK&;QB`w=cZH*iiD2eFL=-QsX${y2=N4A&4n2PW(JFc=0lIa7%)H6 z6+FmO5sC? zKOZpTe){bJbe1US`u*gx6*Z9#tt+9$TZPRkGjvob9omY981NQ4R2lVc#eACtT~kKB z4+@JsN};1(9Z4@3aaV)Iy-GVCAz^X>ED6kl?CcF!O8!iotp)=p5#BC_&M(FByY4Pp4R^xV{64+= zFlyMj3Z;02zI_;TgAv;B0ZmC0eo}?JgOnQR?=+!A)dro~NM(;8cglCMRBNP@k07ic zG%jwtAHiIb0v+%<1#ZVMRScc^IVElv5*-Gii@&&Ht&oQ3w(YnV5%M1TWfT3qT__7T zL;HPsWz7BI9ddmwqx>S~K~l zW0)~P=fl5KdSMYt#7ET%rvHjc(ouSz?_)?jML(tE{z(#a&8aKadTG;O>0>z8Qm~M( zY4c+!gC^+AuW8R?!XgLd5ya7Q1>dX@*VXNh2^v)pSVapBJSJ>ZBNiS=#rw z5bNMmgBE`tR~6DujUog7DPYZJ3d}%jEr+i7fwp8IpJr(Fk5}-5rdcP@^6N5C5AGkr z_D8yqf%6N6&S)pa6S#yfhIalBB|d>RVTNw&phHg}KDUpMnTvFec|3IJU*xqD4};V| zYg`6~c8vDz6uhVRgY|%^5rhvT{?xUoFP8!OdZ)0;J^_w+%>d1QQn<-JAC3w*Hav;z zwR$)@;dquEop6M@4$yl~3OC#P)L|Zj4GEP zZGb+=6wcZ=e~e*c>Hrly1s~_5Xl?ET^xad!tm(mU=-mf~U-!U89R*f3ZGa~2LfYwU z;4whA?Gk3GO5q6cq|Lj~?OLEaJgI0G3a+1xX3)`HD16-~Xmm5^;w}_cJam8;d1aw{ zS3sA~qODn|><;K`Z#tX>drdtSao%(~3zJd^wAqLL&O!%DfzI@$z--u8vc7?~Webb$ z>ws?X8yMam)F8(eFweOI!^?k9Fz0_FuV69Ic+yy091eX?m%{|WKL!3u_Q%0fiXJQ( zEKcgEo=*$TOH;r~!G@+B9qcl}>cF@{hZd*e3LTF!^QNsHxEwYexCDC|ov8!5Ctv_m z9){e>bo^;St8zOAqd+?MG|oE|x+$<$@r>Xh_fPl~j@SX|yYOMdi-+`~#X}{+Wy1zH z$|Ii@-t-7)K;>>2+sgD{IU7ioBdqo?LF?lOhDQyZ48031G@iEQpz@lbE%CH32OB>9 z(3(33hM!7_gRS~AEdB4KQ#nFxU=noW#)095As1viSPNJPG#@o_EHoDF{0lIA)c|Q;PJm|`YDHb}q9@;N$z?#hw<6TjT zgSxVr;&;cSdD;yBT=>UJ{^Fj3SP{JKjfxP%{R?@#Y6&vuG_K`2xCHKNg^ zQ}+u(^o$H>^Wy{3vmA(v&mj-2E@J>|i6@eU*^bVf>8pl5P<@cJAbY-jDaxq?Ej zayx-K$)s~H3j0)5&>=6<_T9n`mERX=h%Zz3ZY=bZp&MQ%|CeySdC>8DDE1|c%JtC2 zdj@bnO&mRoU&5ND1FUBc9exS*qi#YzU!hYkVI)mqT|j|(h$A1`WTN$Xn6vAlEvA9t zbq$=d7W`8dQc<38BCzz|sK-MC!*6imdaDLAfw@8R;e)?Mu<}E+`(?C+F6fksk#-ft zMkmohD(J+^LZCx1wEiu00%;wg*@IC(iTx|dcaN|rs}#EOA0v4Z(*&yl!{8(y%o@Rx z4v)2K14{)%zaF;h0&{(oJcpnBN>230V1x1htU55~2Qn2PWP!3k}Hf?!Dh+f|Vo%0@=2sj^X zr)%?xP3ms3ujuu*fTu{ofzSEt~1^X9C9;(>La$ zY1BdIy-&OHF&Pa)yC0$B`Mf0h3i03xM#Q5^g--c^7VH%k*;hiFKfvUZB+O7X!{Jv$ z`}SfGwm|3A(6PN(MFgF~mB)tz!}}&Ym>R%>J|xF|c)~3i+6e!lLgCL0uo$pRXg-+b zfz^R=cs`hwgEfM=i$r2IU@c%n?U3!7z|3Gn^~%f)*7o5*))>Pczz!I;jEYeCH4^%0 zY=d$Ks{$JxVE|a=IHm`y02`f|II!yB_?%G^NGt`g{v!%3KyjBshtyJ0f#C1Rek~k{ z=nhoz&k<|t=wtz^LJwV0M=BH67p2fqAJb-&u+ziy8&qBWNa>{_jv%m{dKxg{hDbTI z+o!ap5Notf=&n!c-9o|N!~I({>V}aL_CvS;Fg&o?SBP4Tht6yuuOg&Z16_Wcb{1iM z)el|WJTSaE4?sBecUT8C)2Skiz#-68r|9n@Oxroo#;+-waCKD;UGX(WV`=@EM}o$| z3}yinFI}gq21O?wCv2Dcw4%kf3}6>R+*ni;3mzT`V0B;`B*{k*{?fo|TJQ}>6lDc; z&^NTT7^?>}bjmk$s2H1x#_wTsnx^bWHZq~xPGh#G-pOuLmzKiW3FrSc2XImiu<Vj_ik&cw$x=VKk z<6QfIH6QWt!KV=n*4|Fn;jc=8#_BQf0B%(^L+AcN`wnnFgEs#{#|{YF98%lRZ+^$1 zK=*9J4Kywy3 z!*5NNqRvyH>;9kx2Zc9P?&nay-E`p~au)+#cZsxR!UC@x=$=ahRz1QF9eg&W;O;%N zxeRC90&VCW8H#wO=m69A(%~|cnDcqeV7>G$Y*l(_JfEd{Rfts;LnmCO#8I|RTP@)uXb`%fZc>O+{?;=!7+*gqufax_DCPPl5-IZ)sQ?X=oY z58=y6DxY>Vw28Fz9l@KND+KktH~^!|)iHxf3RnWz&?LlVnF$u}a+TgLL!Of=u&Gx8 zQVpwYDFfLRf~UP1%mS;|D}>FI?gOUNTpeBor+|fkg=(&nwL-Yh zz5))J>s5O24dHHk^-nk-?N$2v4Llzj1V^%Pm9D;l>xc~Yal1;lzlpm@m2eEg@$j3t z7-)qfd-7E}zz*5Z2s1^>wNox)_5-K~xb&v*oP7-(+3r{A$+v{h=4E!k*K2G+=#U|GwDPn>M97jW9C)d#lf&5kn=xKISF9#I`aMp zuOFc+brky#;TaFNi)h`mMv5ejvkB(xP2K-MA1sCTn~h@RdKW0;Fj`D1eTmwfB0_<1ZMjXBA!l01K%M=)ASGvIf1r( zgs@%E?swCXkAyylj>{MYH($lh5YBZnt)A=VNX@lq(4J^W@%PeCwP+f7&>{CxY#kzM zgwDT@cGqFp?SgK)4?iM=4x+n)p)`dq)}dfqp|ML^@-dp2YyegED4qCNNc2dC);xAq z`tB`E0`QjsmiZVhJ&MYygzkEbwjIUhSv$00$JL>iMAaWfo}8~@0NO#{9>vg}4Be1P z{-2=0E1+ARqOG4`o6KNAhk214>(MMypu1kAzbjWKmSbib-A4A-^&{c)B`WW(E2kl9;>zHst zmGdW7$ECH=p9=nRhnhiT?9Ho~U&LpC^BV+D-!8C_w`>vrf4&9m{1^Mvw+({7S17c) z5-kyl4;@B`IB;Vnd3=UeQ3;)ZXTv{3jdwveiFz@0eI}?Kg8xQyKYSHW#)(Z?a~wCE zQ@~OWQ{Zt7KW6Brx36NJ5r?0;;~0M2tcbjd&K(yP_{TukRb7?#84S`bbMf*vTAJ{6 z$V?h+I;v>nzp#cd{)_J$1L)pifSw7R@DAn841gWSFK4>dtBNnIMdO)@k_5spYyB)U)@Jn`TjSrPO?8oqi6xE_=t)= z$4+fObOZcH59w-!oY%>xK1YKMf;QCB0PA?@s#@|o!H?%d_t$YRz;uf{0w-_>x*ja! zV|wNUM*J>l%g0x(T_jJzPHxi)6qAn~ex2kK`t1bjAOqU-I4%7G3&k#IyyfG_7ibvx z2_sqV3Hs>^q-TKEd_j&)+%Ta7zQ9jj2|FA*po30cwK~)MY@Aa=li=y$IYBN{e~J9q zD%}sCL0}bM(m)eBRRVNnGkO0TJ-!&)^DF!;7E00#9de2eF?UzVWu>R+!oOi}fNnoU zjwjLJOQEB_q0J{TqjW)AzM&&0VdHKumxX>y7g!sh@uR$sUkaNYs-T-%uVT;gvqoVG zz4WDUr^-hyml;pfZ(s5#1D$z>0-K?$pxxVQw>JyBWLQm;9FsqgWDwZv56M!ii?*&ecuXG?4!U+VKC`C;ST!>I9gng#CKSMHN##0E@PO=QoVVt`luzs+3PJE>_FyMq-*vXkQ!arCu5{6kam>z8CBsiW7 zuo#VnZg0ichl=4Sg=14IoW^*ra#?}WWVftP!MO;9e<%EhnhEE^2-X3{6Vgx}4b>t0 zr@_A;{$hW$y;Nf85qOR>AO1O$ExcBdYJ*_~V73I|!ZHtkbzqs3aZ;y+IWs%p2%2JR zIiiU)B@Tk8OhH3EEzF%BAfWlcNNF=j!>1ms0tWVHgoo^F;3%JJp(oD>bLV%!QSCm` zkT@R}u&PmvPZB>CEUN@F(%MuE+n3JZ(k~ROX@t#e6DHcHf_1uEXknWW=1>EN&dXwT z=a+-wnbkH-z0UaA_f9YRwhbd(Fm(A$y55G-CkY#7h1up-KHX+;Jogm+hwW+lLAWdD&~c8_XDV9d4fGr97-)+hY0pEaL$~x>i!i&R3-G_!jZPejinyUvXGuJ3*K8hpc`%;@fWKPtbQDGo`$|Lj_JT^#<5_q z>QRiFU=&!@&E)cf;JZE@I_;LR>E(i@j$@@@DdSi*Sn?Pl5U~hKM2ttZXPJt zTSpo$r|kz8dMkA!ZB-m}&~4;#0o$CJ(CQ^4`QUQN2g6!_J^WR5(4|Xh*9AN-(gAJM zkHjmM5m?M9CN}Zum|FDo?FG!kq0oNer1%kWB|`^AkUz9T9&~4f1<$dI>xq;fv7V>{ zD>cxrAB8O{A5YZXGWzXD)MFB~GD@n)9O$5^k+v6%{1$@+L{Vb9u)wzkItTtbaEvG7 zt)FGMeZtQL@wxSg{`65h^5Z@O!*~>3XvcL_2z0^<`kQ$YbcapnLZ?Pcyc)XSrrV%1 zS5n!3U@!AR{$l9Ff6!iop>?>L0QX3Mu3R-zwpA}>{d@#!Z3mwJy?DN1v zjHAbZ8jyTgmGiw`f%1RG7|;neXq3hPXC3NqEq(hl&NCRgXDwa-8M#Y_maQZI4)8o^ zbsWWZU>(u|ZQ4LC7cu(uLpN-oqaA2-x>=ZK%b%<%Mi zyuL2}7hLgGfNAcct?*a1L7VTQvR`m96y=S4-7UqP3hkFj3oat=V(5fKN`!W3gw9Vy z8m_t4blYay{41}`pw-EAg&jg)*4N;C>GdM%M3Pokb$>D zJx7o_HuF7TrqofHce?>CVVqGESinPK$<9xOj(=$Enk5@78B8hWRhq<2U`b$U^jWQT z>f{Jq3h}y!J5~d{D&U28fc}VvRQfvxlrAvKHahYRjBSy)tU$3DV}|&=7MEo@AF)W!IIodL87|=l@P6<( zXg+wBY6a78$Et`v(+F<#eit?}HFGgzJSz3DVCeQo#W`A)0G*po-hUv&InddU@yzM( zPy?;m!G-+v1@5JP;N;rDavrBQ*;eh3kt~Bwu?~Vx-$?_k6 zBOwZo!ThlaCV;8;js)V!)4+VdMrSMsENC1n1`7q_g!tf=S_Kx*@hRZ2Jq*vUn!^-D zFZ2qosx}xT6i`_ËTl(vb!?Zuvc3UnxmJti;@I)z5YBFwiPnH65$){b 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 QZ