some ctex files consist of several webp files like hex code below (1st part of file was skipped because it would be to big to past here), can you adapt script to handle export and import of such files?:
CE 29 00 00 52 49 46 46 C6 29 00 00 57 45 42 50 56 50 38 4C B9 29 00 00 2F 77 80 10 00 0D 75 21 A2 FF 01 5F 92 24 AB B6 6D DB 96 79 94 52 6B 6D D0 07 4C A6 C3 CC 0C BF 27 07 27 05 27 C5 CC F0 B5 98 26 0C 98 A3 43 6B B5 94 08 97 B9 5A 5F 7B 65 41 93 6D DB AE DD 48 D2 5A FB BC 0F D0 48 13 A1 B5 16 FD AF 67 0F B2 05 91 B5 D0 5A 7B 3A 8D 00 FE BB 67 FB 92 24 C9 91 6C DB B6 44 CD 3D 32 B3 6A 8C 1A 13 6C 8C 71 03 CE F7 E9 7F 43 16 C6 60 0E 50 99 19 EE A6 1A 0A DB B6 6D 82 A6 7B D7 76 7F F8 0F FF E7 FF B7 BB EB BA D6 5C B4 92 F8 52 A1 52 48 A5 66 D4 36 EB BD DE 7E 99 97 D7 B1 EE EC AB E5 3C 0B 97 31 2A 8A 3A 76 95 41 6B 13 EB 58 57 54 83 C5 02 72 06 CA C8 56 10 94 DA 96 9C E4 50 89 C7 45 18 C5 54 48 1F 59 F6 AB 77 F7 FD E3 7C BA 9E D7 3C AE D7 83 5A 60 10 6A 8C C3 7D 2C 7B BC 79 F9 C3 A1 81 58 9D DE 7F C0 00 2E D0 06 6B 8B 6B 0B 80 D0 94 58 01 60 1B 13 9A 4A AC 4D C0 8D 67 88 9A 99 68 75 FE F8 47 15 00 84 12 00 00 00 00 00 00 00 00 00 00 B0 60 51 5B DA F3 39 5E 5F 4C 31 93 88 02 72 65 88 26 AF BA BC 1E 2F DE F6 0F 3F 5E AE 8F 3E 3D 6B CE A1 9E 80 85 24 BA 63 1B 9C A3 BC A0 D1 1A B1 B1 29 01 D9 02 9C 02 88 20 92 28 95 B4 70 B2 16 15 A9 71 69 8F AF 93 B7 2F BE 66 5F E7 71 9D 65 B7 0D 65 3D B7 40 AD 84 B3 55 22 30 96 43 69 C0 A0 16 06 00 00 18 A6 A1 04 58 D4 06 0A A2 46 8D 71 05 B0 49 25 E0 22 40 B9 11 2A 50 6B 8D 38 73 B6 73 15 01 80 3F E3 EA 39 BD B9 47 CE 54 A3 AA 6C 28 77 07 05 D5 CF 9E D7 8C 35 A4 42 45 15 CE EF FD FE CB F1 74 F9 EE 16 4E 77 89 A8 ED AB 3C 52 5D A3 1C D8 38 31 41 CA 54 94 11 C6 4A 48 A0 68 B1 0E D5 46 F5 0C 47 FB F0 78 F1 E1 F2 65 F6 75 D6 F5 6A 34 C6 B2 76 06 09 12 96 1A 9B 4A DC D4 40 F7 F0 B1 FB EC AD 12 1A 75 3C 3B 85 90 0A 48 0A 8B 9A C2 E2 94 49 09 75 19 C7 C6 06 17 E3 70 AB A8 91 05 08 C6 3C 8E 1F 9F B0 80 3F 97 B7 BB 3A CA DF F5 E3 8A 30 28 E1 D8 DD 36 A2 B0 B4 89 2E C8 7E 0D 9B 8C A2 BE 7B 5B EF BF 1C 0F 8F 9C 9E 90 E1 6E 04 22 52 03 06 21 1E 0F C5 B6 A3 1C 4C 2A 48 16 C6 C1 3A 74 6E 62 B4 8F 2E D1 FD 23 D7 F8 3A 1E D3 15 A9 2E 59 B7 22 34 E8 25 92 C2 B6 73 28 BA F0 E4 DC 7D 94 CD 76 DB 71 F8 98 95 F3 72 7D 43 A9 E5 72 3B 06 14 88 16 5A C8 16 B5 23 C3 74 ED D9 56 0D 54 17 51 CB 98 9C 68 40 96 2A 48 3F CA DC 51 00 20 78 B6 31 00 80 40 00 00 4E 58 C5 55 7C 0D DE FB 49 8E A8 DA 71 A5 9C 82 40 9B EE E7 89 94 6A B5 6A 47 AA 03 CE EF FB C3 A7 71 79 A4 6F B5 73 D2 0D A9 4B 6D BB 91 DE CE E0 09 97 4C FA 8C 85 3A 57 4A 8D D1 94 87 D7 3C 5D 79 8A 9F A6 67 08 24 4A AA 31 3B E9 A6 23 19 E3 12 E2 4A 02 A6 EB 32 67 76 27 3B 5A 87 8F 03 6C B1 29 52 1A 4C 5B 2D 84 F2 EC 02 D5 18 99 40 6A C8 F8 7E DE AF AE 22 81 84 04 7D C7 71 AF D3 77 B9 41 B1 A8 01 1C 64 61 32 CF BE 37 E0 4F 1C 00 41 41 E0 09 0B 70 0F F3 7B FC E4 94 A8 8C 4C 04 AA 6B 54 4A 90 63 28 90 C5 C1 26 67 88 5E CE DE EE FD F4 52 E7 BB AE AF 97 E5 79 57 37 A4 06 27 8A FA 8C C8 D8 2A A6 CA 4C F3 C3 E7 7A BC FA 32 FB EA 9E 21 AC A8 64 B5 6A A1 56 B4 B5 1A 50 1C 6C CA B6 BE E4 DC B3 D2 3D C9 B2 59 DF CB 62 3A 0D 74 29 2A 00 65 6D 02 A0 CA 08 69 01 00 03 C4 60 30 A9 24 5D 1F AE C7 C0 CB 19 90 7D 4C 93 E1 9A FD E1 7A 3F 6E 03 22 88 2D 35 94 68 89 4A EF C0 6D 2C E8 79 AB BA 68 40 40 51 18 71 11 54 6A 5E C3 A6 1D 63 AC 2A 42 65 64 4B 50 99 35 13 DA 71 86 9A B1 6D 96 DD 3F 7E DA E7 7B EE 2F C7 7A 1E 1B 0A AA 59 35 B5 87 91 3C 5E BE 66 EF 59 97 D9 39 51 71 A4 66 B1 3A B5 B5 56 67 AF D4 48 22 01 0A 5F 66 ED AC 69 BB EE CB F2 54 25 36 B4 4D 00 A8 00 1C 42 42 30 82 24 9E 7B F1 19 1F 6E A9 40 80 45 4E 0C C0 23 D7 65 6C 97 7D 75 F7 7B AE 67 B4 1D A5 DF 7F FA 6A 88 A5 64 E2 AB 75 E8 69 B0 40 50 AA 90 B6 AA 79 42 A0 00 10 00 88 00 80 11 A0 9E 85 60 D0 51 0E F8 6A DF 54 8D C9 98 94 B1 CA 01 A8 91 95 43 A5 2A 32 AA EB 50 71 B0 C6 AE 24 BA 5E 7C AC 37 5F E6 FD CB DA CE C8 D7 CB 61 93 33 1E 87 3D FB 9A BE CE 2E 23 62 1D 8E B5 B3 49 AF 3A 15 40 10 C8 B6 2B 93 AB 6B B2 13 17 5A 5A FD 04 63 70 30 B6 18 00 00 40 41 A9 A8 D8 4C CF 49 5F 3F 5E 0A 41 81 4D A9 00 22 1F EA F3 24 13 6B 83 31 6A EB B5 FA 6D 39 53 28 CD 76 5F AE D7 89 12 08 25 19 A9 AD 29 81 D0 00 2A 42 E0 CC B3 9F 17 11 00 02 00 40 40 81 E9 42 02 10 E0 BD 56 7E 0A AE A0 79 55 3E 8E 79 CD 76 9E 79 55 6C 57 40 E5 A8 94 8D 53 15 48 69 9F 16 C2 42 6F 19 AB E3 2F 3F E7 CF 3F AF C7 97 B3 77 8C AC 8A 51 6D 41 16 24 15 B8 55 11 89 54 C0 98 40 66 F6 D5 35 B2 AB AD 65 E9 68 D0 0A A0 EE 1C 83 30 06 1B 1A D5 00 00 68 11 94 DE ED C2 1C 2D 77 75 18 15 35 00 B1 81 08 26 D9 67 89 11 5B 06 AA 7A 38 8E 96 FB A3 96 4C 1B A2 05 44 71 53 61 1A 5A 34 95 B8 B1 08 55 88 0A 94 79 08 AB B2 DC BA 85 AA 7D 4E 2B C0 00 98 51 82 57 5B 6D F3 F4 E5 03 A0 7A BE 4C 6D 6B 3B AF 02 32 B2 20 16 4F 2F CD 71 46 CB 90 25 A2 C4 DA F0 D5 47 FD FC F3 C2 6A 75 07 47 2D 6C 1D BD 60 CA 38 50 5B 4F D7 65 CE E9 AE 2E 5B 7D AB 1F D0 14 62 00 50 01 21 20 35 88 01 0C 29 30 54 32 5D 03 6B D3 16 13 1B 3B 02 A1 8C A9 20 80 45 6E DB 3A C7 D6 C3 F4 C4 2A 71 57 2B 89 2B 5C 2F AF 67 CC 69 00 90 A8 51 D3 7A 45 B9 36 01 4C 54 20 42 95 A7 09 48 15 C4 02 11 D0 6D 03 06 84 EC 25 D1 E0 19 AD E8 B0 9E 57 EC 50 B7 55 3B 27 98 BA 22 CF 6C 8E 96 D1 51 B3 42 37 12 84 30 A3 A1 2E 97 1E AF 3C 5D AD 64 CF 5A 3A 9A A5 DA 68 9F 5E AA 06 33 7D CD 9A F4 4C AB EE 87 F5 06 52 C6 C6 C6 98 E2 A0 22 00 A9 01 A1 04 34 15 17 36 CE 50 BA EA 76 B4 3C 05 D8 D8 08 44 00 1A 88 35 A4 C5 A7 0E A4 74 E1 22 BB DD B6 C0 C0 F5 D3 D6 51 9D 8E 66 64 95 E0 A0 06 59 A1 D8 32 25 52 91 89 28 00 04 A1 3D E7 B1 DE 1F 00 90 2A 1B 90 19 94 68 66 08 5E CD 4E DD 7A 6F BE A4 1D 8C 99 05 12 8A DA D7 5C 48 73 2C 48 0A 23 23 13 62 99 61 84 87 4B 0F 57 AE E3 3D 3D 63 89 E4 C0 68 54 B2 2B 5D A6 68 21 91 56 F5 C6 70 BC 65 52 B1 49 05 27 D4 D4 90 4A 20 80 88 2D 48 E9 C2 45 D8 A8 08 19 5B 45 47 2C 10 88 8D 63 6F 0A DC 98 AE D9 D6 01 87 D6 61 27 C4 B0 4F 67 F3 21 F7 75 A5 C6 40 63 53 57 B8 BE F9 E3 5A 56 94 22 56 6A A2 04 25 14 E7 56 73 37 01 30 2A 86 A8 40 33 F7 5B 9D 2A 48 01 08 50 7B FA 68 C5 0B EE 12 48 2C DD 6C AD C5 D1 91 50 90 20 22 61 3C 8C 30 A2 87 2B F7 57 9E A6 1F AF 9D A3 BE D5 5B 2B F5 72 8F 90 68 46 FA 9A 4E 1B BA 55 BD 52 6D 81 D8 02 43 9C 40 2C 10 D5 26 0E 36 D6 19 A7 2E 6C 4C D5 0E D1 21 A4 A2 02 08 8C 20 36 D6 36 36 06 D7 C3 0C 93 72 64 6C 2D 55 90 A8 4B 3D CE 2E 34 F4 8A A7 6B 7E 5A F9 53 72 5C 9B F6 73 F5 6F C3 C7 97 CB FB 58 40 E3 06 31 80 B6 FB C3 D3 CB 1F CA 18 8C 40 51 00 31 D2 55 76 74 DC 26 A6 05 D3 AC B6 5E 36 E5 45 FE 49 10 15 C4 E4 65 2E 8D B4 C6 62 B1 8C A9 19 9E C6 97 E9 87 CB 8F B3 2B EA AD 4E 9D B8 F6 12 12 30 E2 61 17 2E DC 36 81 20 60 8C 49 25 60 23 D3 37 FC 83 45 80 4A C6 EC D9 8E 95 9A 19 03 80 88 88 D3 5A 50 AA D4 A0 68 A8 2B D8 A4 4C 3C AD 42 5B EB DC 6B AF 30 26 53 0F DC 1B 54 EC B8 40 4C F7 D6 F2 25 ED 8F 56 FF F5 55 D5 E5 30 4F F6 2F 7B FF B6 F7 CB 80 91 0D 95 A5 15 90 19 B1 D7 BA 96 41 0D 08 00 05 A2 1E 73 DF EE 8F 3F 89 C6 ED EF 10 08 92 76 77 EB A3 BC D0 40 66 9E F3 E1 0A BB DA 47 D7 F4 9E DE D3 97 49 40 A3 02 9D B9 F4 55 A8 90 3D 6B 77 4F 5D B8 97 65 85 52 85 58 5B 43 0C 60 80 02 B1 B1 A1 20 00 62 BD 67 EF 2E 2D CB 1E 4B D5 50 E9 87 79 0E 17 48 45 00 42 81 A8 0B 0A 0A 41 15 62 0B FB C8 3C A0 BE A8 A4 B9 4E 3F E2 2B A1 42 1B 11 F4 DD FE E4 1A FF F4 3F 7F D8 3F EF AE 5F 0D 8F 9B 35 B9 AE C6 6F 67 FF 31 FE D9 02 09 94 45 4D 6B 9D EF 6B 67 B4 7E 18 F3 67 44 95 00 04 A8 22 DA AF FB 4F 62 F5 4C B4 60 98 6E 4D B9 5B 3F 8E 7C C9 DC D5 A9 DE 7F F9 FD DE B3 87 BD 8F 85 5A AB 33 8F 1C 4B D5 51 DB 5C AF FD F4 F2 9C EC 34 CB D2 B6 FA C6 82 99 13 35 A8 20 6A 20 65 00 8A 85 E2 04 62 63 02 58 A5 7D 65 25 BD 9E 63 D9 0A D4 8B 64 E9 78 71 5E DE 3E 3E 3F 3C 1E AE 7C 5F 40 2A 66 B4 15 80 F4 73 50 40 6D FA AE 5A 3B A2 82 CC F8 C3 F4 23 A8 B4 1D AD AA A4 B2 FB 6F 3D 3F 7D F4 BF FC 7F FF 74 6A FD B7 BF FC 5D 47 55 44 4E 57 1E 6E 5D AA FE 63 F1 C0 77 84 04 51 A2 75 D8 EB BA 47 EF 38 3D 5F 68 DD A8 07 B2 0A 46 E6 2C 77 EB 34 3C 4B 00 61 A0 9C EA 49 A5 4E 7C FB C3 E7 CF BD A3 77 1C 38 1A A3 B7 82 D4 B5 AA DB 38 A3 E5 10 A8 6F 6C 80 1A 83 D1 16 80 22 50 25 00 28 36 36 18 2B 6A 03 04 52 66 CF 9E DB AA 8E E7 DA 17 49 80 90 0A A6 95 57 CF B7 1F 5E 7F BA D8 3A 03 4B 45 15 15 01 5C 04 AC D6 A9 E9 D4 DD 3D EF EE F9 FD CB FB 1B 3D 4B 6B F5 4A 20 92 86 5F 7F 3F FF C6 FA 07 7F F5 B7 77 F7 F8 C5 EF FD E5 FE B7 CE 70 5C D6 E0 6A D6 D0 6B 86 F6 6B 25 AA 9F EA AD D6 B1 9E EB DA 69 44 59 B6 B6 F3 5D CD 17 21 90 00 00 5A CB 64 9F F7 E3 FD 49 60 B8 19 48 25 4A E6 AA D6 C8 9F 7B FF 61 D9 79 DE 4B B3 84 6A 9E A9 4D 68 7A AB 2F 52 CB 5A 60 05 B6 06 03 80 15 00 81 D8 52 23 10 52 B1 32 29 52 34 05 6C C8 78 77 79 83 DA 7A E9 2B 4B EA B5 A2 A8 B1 08 1A 7A F5 F1 E1 FB D7 AF 20 D6 42 C6 76 A8 C1 14 11 B1 49 F4 D1 C7 F1 97 7E FE 10 FA EF FC FC F6 5F 3F 7F FE 30 B5 9D 8A 82 A4 59 98 BC F6 3F FE AB BF FB F8 EB F1 E6 C7 F7 FC 18 FC EF B1 FF D8 10 90 21 85 6B 08 34 5A BF 1C C7 FF BA 2E 9D AD 6A 95 51 EB 98 49 94 F5 BC 3E BE FC 01 00 8C 64 28 AA 82 B1 5F 8F 3F F9 7B 71 D0 DD DA D7 DC 82 B7 91 DF 89 BF 17 9F 1E 5E 3E 9B 56 6B 39 D5 18 51 64 A1 73 AC 22 11 08 00 03 60 6D 40 00 6A 35 66 03 28 81 0A C8 8A DA D8 A4 CC C4 DE B4 33 50 7D 47 20 88 A1 48 9A F5 48 95 54 94 32 87 53 2F 3F 6E 6F 35 62 A1 02 1B A8 1C C7 2A AA 4B F5 FA 9E 31 CB 71 34 FF EC ED F6 5F 3E 9F 28 81 36 08 F0 F5 BF 7C FC E4 97 B7 E5 5A 87 6F 17 FF 7C FC 78 7C 7F FA 1C 23 89 AE 5B B3 A0 50 F9 7D 37 67 74 1C CF A4 46 D4 6C A7 46 88 56 3F 6F 31 5F A2 43 C4 45 E0 68 3D 73 CF 9A 59 7D 8F 67 A6 0E 20 9A D6 55 79 A3 3F 38 47 69 38 05 30 EA DA D1 8A 4A AD 40 42 22 2A 42 08 15 80 82 50 53 23 56 95 00 06 00 02 12 20 14 9B 49 D7 2A 50 A7 4C 96 33 84 64 68 A8 45 86 2D 78 71 1F AF 3F 6E FD 8C EB F8 FD EB FB BB 97 E7 B7 73 BF A0 28 56 14 64 3B 33 75 EB B1 2C 15 FF FA F5 F1 F7 7E BE 15 CC A8 B7 FE F1 DB F1 3F 3F AD D9 42 51 17 F9 E2 EB CB 96 4E F8 CD 63 BD CF 7E F9 5A 6F 3E AD 1D AA 54 49 52 E0 82 C2 F8 B1 8F F7 71 3C 57 C8 9C 5D 76 85 6D 2B 65 3D 1F 2E 2F BF 07 1B 04 A8 B6 8A 65 E9 C8 DC 0F F7 77 26 B7 22 14 14 38 F0 93 6F F8 0F 15 AB 9D D3 02 55 2A 51 A1 82 EA 47 A2 84 90 58 40 AA 04 00 60 52 49 09 60 05 86 50 3B 00 20 35 A5 38 A2 15 25 70 86 7E 4A 10 6D 2C 47 A5 2B B9 CC 79 DA F1 E5 B7 8F EB 3D 4B 0D FD F2 E3 76 BE 8F D7 BD 7C C7 EA CC 34 DB 3D D2 04 3A EC 54 15 D5 D2 7A 2F BF 79 59 5F DC 07 32 46 6B EB 1F 7C 8C 9F 3D FA BD 09 46 D1 67 72 9F A4 FA E6 ED FA ED 6F 7F E5 B3 B7 30 AB 02 17 17 C0 04 62 78 F8 F5 F7 CF FE FD 07 E4 70 5E CA FD F8 7A D7 4A ED D6 1C 56 CB 79 AB F9 69 D9 21 15 AD A8 A2 63 DD E1 9C 20 28 E3 5B 22 CA EC 68 1A 1C 8F F7 51 4D 95 4B 05 4B 88 45 47 29 21 1B 47 5F 70 80 54 6B 25 04 42 00 9B 12 BA 2D 16 13 0A 85 A2 42 15 1D A8 D6 08 4A 1A 33 8A 6A 53 C6 69 32 7E B8 9E D7 EB 79 58 1D 96 4E 12 2D E5 74 8F 97 1F F3 EE 9E 47 35 A8 ED A8 51 4B 55 12 C8 A6 4C 53 2A BF 79 AC BF F2 3C 3E B9 A7 4A C2 B2 E3 6F 7C CC 0F E9 DF 5C FD 2E FE FF 9F 1E DF 3C 8F AF 9F B7 DD 7C F7 5B F7 87 1F 96 1A A3 D1 9A 85 E2 D3 06 03 E0 D7 BC FD AD BF BE D8 E9 8F C9 DB F8 FC BF FE 2E CE 28 57 A6 8B 75 FA F8 78 FF FA 5B 48 B4 A2 43 C8 51 DB 91 D3 C5 D9 7A 2D 6D 02 00 00 4C 20 9A DE AF 7B BA B5 A8 D3 16 08 09 51 F5 E7 6C 05 74 C9 73 ED EC 5B 42 00 60 2B 36 50 80 8D 49 6A 36 54 B1 12 B2 03 A4 DA 02 00 16 70 DF A1 62 85 31 29 BC 5F 4E 76 D9 42 A5 C3 F4 B4 AB 82 D5 71 DE 79 BE E7 AB 33 BF 9D 5D 01 D3 D0 54 15 51 57 02 31 01 7E F6 72 FE 95 E7 FC EC BE 4A A8 C5 38 77 FE CD FB F8 3F AF 8F 5F 5E EB DF 7D FB 38 C8 9B E8 E1 DA A3 19 65 EF 18 EB 42 45 AC 20 10 91 F6 64 5D 7D FD 37 FF 1E F7 C8 A5 75 96 1E D9 CB 7D 3B 9D EB BB 97 2F FD 7C E4 FA 1A AD 76 50 65 E3 28 76 D4 3C B7 E7 77 42 B7 49 40 42 26 0D 6C 44 C4 B6 1B 24 50 21 DA 1F 8F F5 E3 0A E8 C9 35 E7 C2 8C 4A 48 8B 05 50 63 A4 55 6C B5 7B 50 59 D4 80 D4 40 AC 8C CD 46 81 1A E5 84 CA 30 D3 D3 9D B1 1A 93 9C 36 54 4C AC 24 9A 6A 1D BA 0F 1D 77 CF 79 3E 73 85 69 A7 E9 5B 08 45 68 B0 32 20 E7 EA D3 7B 2C E8 71 F6 69 27 D2 9A 5E 2D E5 EF 7C 5C 7E F3 F2 1C C9 BB E9 1F AF FB B5 79 22 97 AD B1 4A 0A E2 46 CA 75 34 11 1D FE FD B5 FD C6 B9 9D B1 7D 7B 1D C9 65 7A A6 0F 7B 7C FA ED BB A7 59 A0 B4 00 55 42 28 10 20 44 CE 52 AA 7E EA 7C 4B CC 8A ED 31 63 84 56 E5 58 1B 15 2C 01 4B 65 47 4B 4A CF 0C 56 58 B1 A0 54 A8 62 D5 CE 6C 2B 18 28 83 1A 83 31 00 A2 86 4C 77 A8 B5 47 60 90 DD 4F 57 CF B1 6A 4B 54 9F BE CF 6F 3F 3D 66 92 B1 8D 40 A6 4F 17 D9 96 E3 CE F3 99 2F 76 7C 9F 3D DD EB CE 68 B2 0E 2B D0 60 FD 95 33 BF 7A 5E 04 13 DE 5E 6B 77 6D 2D 8C 48 B4 0E 1D AF CE 78 37 0B 74 25 E3 C9 58 46 55 1B 2B 48 20 46 F9 B1 97 4B C0 F9 DB CB 37 7F FD 2F 6F 7F E3 2F 5F FE DD BF EE E1 72 3D BF FA 76 FB E2 ED C3 25 44 55 70 79 FD E3 F9 BE AA 02 89 08 69 51 09 A8 3C DA B9 82 6E 66 87 40 00 25 2A AA EA 56 01 81 04 A8 7D D6 72 66 54 0D C5 13 8F C5 50 AB AF DA 19 38 54 4C 8C 05 40 09 18 62 81 B8 AE A4 31 CE 3D 0E 5B 3B BE CC 7E 7A 74 B4 8E A7 CE F7 F8 E2 ED F8 E2 ED 7A D8 F9 CB CF DF FE C7 4F 7F BD A6 AD 65 C2 04 36 AC F8 50 9D CE 78 79 8E 90 19 EF F1 BA A3 92 A4 0D E7 F2 D5 F3 10 18 2E 71 AB 52 0A 05 B1 9E B2 13 D4 25 4E 95 F5 38 63 80 1B 1B EA A6 14 D0 4D 16 61 73 FE F8 70 FE FA FD 25 FB CD A7 F3 EE D6 3F F8 C5 DB CB 7B 16 11 DD 4A 5A B1 13 62 05 80 00 C0 48 A5 72 17 12 00 36 10 B5 54 EC A0 DD B7 67 8A CA 6D 2B 35 28 B5 02 31 9D 97 DB 5D 51 45 AB 9D 4B 14 2C 91 4A 40 00 44 8D 10 48 D6 7A 46 A3 8E 67 B4 62 58 D1 B6 3A AE 5E DC 97 FF F1 E3 5F AE D7 3E 3D EB E3 E7 ED 8B 6F D7 8F DF 8F D6 02 59 FD E5 AF 6F 87 73 5C 66 57 56 73 37 1C 86 32 A8 15 B6 D6 61 EB AE F5 9E 5D F5 C4 09 A6 29 77 5B BD 9A 6A 40 54 A7 9D D3 8C 64 AD 4C 0D F3 68 F6 66 27 26 43 ED 74 9E 14 42 5C 1A 8E AB F2 EC 76 E8 AA E3 96 E3 CD 97 FB 67 DF AE 7F FB EF FE 35 18 E7 ED 94 14 09 B0 9C D9 EF D7 36 4F 10 00 08 10 5B A5 9C B3 34 08 80 00 10 00 0A 88 3A 95 51 0D 94 0A 5A 4C 6F 7D D9 CE 4B E9 D2 D1 AA 34 48 48 05 A8 48 20 15 55 A0 68 55 AD 56 E9 A4 2F D7 7A 71 C6 57 6F 97 BB 9D 94 D0 FF EF CB D7 6D EB 9F FD CF A7 D7 1F 47 DB 89 15 94 15 04 1D E9 AF DF 2F DF BD 3E F7 31 71 E8 86 8D 9A 5E F5 52 3A 7A B5 F3 FD 75 7F 00 EF 9C C5 A6 E0 71 F6 83 31 03 8D A4 DE A5 C3 4E 6C 5F F5 E3 F4 53 AC 1A 35 CD E3 F5 8C D7 49 89 A9 80 20 8D D4 72 FA EF B7 F1 9B EF 71 F5 DB DF FF F5 5F FD EF B7 7F F6 37 FF B2 73 80 C2 18 4C 4C 04 A7 E7 4B DF 8F 79 FD 09 00 00 2B 10 C4 05 98 F3 E8 E7 06 00 80 0D 00 05 82 F4 7A C4 05 02 A4 2E 69 93 B6 A0 B5 14 99 00 D6 84 86 5A E7 81 D1 3A DB 0E 51 A2 5A F5 E4 FB 4C 3A 15 8D 9B 1F B3 7F FD DD E3 9B B7 CB 61 F5 FB D7 E7 DD F3 F8 EB DF AE 41 15 8A 40 03 00 20 C0 C9 A7 F7 7C 9C 7E 98 9D 6D 08 06 13 38 48 C3 0D 5A 59 CA 19 C7 CE 3D DC 7B 66 D6 E3 E3 FD AA 0E A7 48 66 3C F5 B0 81 90 62 DF 4F 3F C5 26 58 82 56 74 AB 8E A5 04 A1 28 82 5A 88 BF F9 DB BF F9 D9 9F FE E1 EF FC EB DF FE D3 BF FF 3B 99 DE 08 D2 14 CC C8 B0 2E A7 33 0F CF 57 B6 B4 A8 20 00 A0 45 60 32 E7 7E F8 F8 51 00 82 00 2A 16 2C DA 6D 9D 19 51 97 A8 C1 82 CC EC 00 D4 C6 31 D8 98 C6 E8 E7 E8 3B 5A 2B 5A 50 A0 28 51 48 9D F6 65 D9 9C 4E 4E F7 58 5A 43 BF 79 5D BF F8 EE 49 79 7D F8 EB EF D3 A1 E2 58 15 71 29 0B 30 D8 D8 EE D5 6E DE CD 7A B8 F2 F2 AE AC 64 C0 10 29 35 98 0C 56 40 6B BD 3C 47 9A 95 7A FB 72 9E EF 63 D9 A2 5C 25 B3 AE D7 B9 C7 23 19 24 20 1A B0 90 D4 E9 DB F5 FE 57 4E 37 52 BD 01 68 0C A7 F7 E3 9B FF FF D2 9E D5 5B D3 5A 68 11 99 42 A9 26 D0 B4 66 DD 6C E7 16 BD D9 A0 54 54 99 94 CE 28 CD 98 47 66 53 A9 B1 00 20 00 0A 88 06 10 89 B5 23 6B 00 02 8A 56 9C 32 00 42 D1 EA AB 8C CA 44 4B 60 A9 B0 DE FB CB B7 CB A7 EF D7 E5 0C 10 80 62 9E 7F F8 EE 31 F1 57 1F 47 92 7D F6 8E 7B 25 AA 9A 4C B9 4E 55 76 25 8F D7 29 F3 FD CB F3 3E FD 18 0E 9B 26 94 DD 31 60 06 43 D1 05 22 02 A9 46 CD F2 70 3D 7A C7 E1 3E DC 9A C9 98 DE 73 16 D0 08 20 00 E0 46 72 FA F9 FA 87 DF FB 5C 8D EB 9E 78 9D 05 75 7E 5E DE FC 78 5F 8F 5E 7F 3D 52 CA 2A 19 51 B5 A6 4A 63 04 C4 6A BD 8F 7E 5E 35 5F D4 02 01 60 07 D3 69 D2 1E 79 5F CE AB 15 E4 66 28 9A 58 83 04 DA D4 08 30 14 BD 9E 2B 10 94 88 96 56 4A 54 AB 44 AB A1 F3 33 9F 7C CC 4F DE 2F BD 03 45 22 02 C1 90 FA F2 ED 05 3D E3 D4 43 3F 5D 7B 27 40 29 8B 4B 25 45 4C 3E 5C 6B BA DE 3D CE 77 D7 FE 71 FA EE 3E 3A 2A 74 31 0F E3 5D A7 36 4A 03 44 93 06 40 DC A4 7E 7A 9C D4 29 69 8C 0D 18 15 81 15 8D 25 8A 88 04 C5 5A 10 62 90 FC FE 57 BE FC DB BF FE 97 ED 39 BE FC C5 07 50 E9 CB 74 DF 59 32 85 52 90 D6 8C A2 97 D6 A3 28 0B C4 92 A3 D2 26 96 92 EB E3 7E F7 F6 23 04 00 C0 00 00 83 6E 11 01 02 A8 58 84 D2 2D 14 15 A5 74 99 32 87 53 87 33 4E 67 BC 78 D6 DD 99 DB 19 51 44 9C 06 00 8B 49 C6 63 F6 65 FA 31 FB C7 AB 67 92 E4 71 42 D3 50 34 BD 5A B6 5A 85 9A 72 89 3E 7D FF 20 73 7F AD 37 8F F5 E2 79 6C 3B AB 79 7C F8 7E F6 53 FA E1 3A 81 A0 2C 60 40 20 04 24 01 41 8A 24 B1 D0 08 10 13 80 C6 96 E1 FE F3 13 50 94 CD 14 9F 14 A1 F8 8B BF FD E9 EB 17 FF FD B1 EF 30 F9 EE F3 FB F9 DB 87 94 29 AE 4A 15 4C 35 92 52 46 CB FD A1 CD BB 8A 89 1A 08 A0 AA AD D2 67 69 21 00 B0 00 B7 22 15 16 6B 6D 6A 04 CC 34 4D 41 D3 5F 7E D4 EB F7 DB F1 8C D6 0A 14 45 00 54 B6 4D 99 32 D3 EC F1 3E DE ED A7 D9 43 4D 86 A9 75 75 DC D1 AB 5E 2D 5B 87 AD C3 8E 46 45 2D 62 31 2A CA 4D CE FA CD E7 AF 8F 59 6F 5E EE BD 87 61 D0 97 E9 31 3D EC 61 D6 BD 00 20 81 51 90 54 60 8A 95 89 01 88 86 62 85 00 20 95 A7 D7 75 FF D3 43 23 49 36 F3 D8 C5 29 93 D3 FF 5E 7F FE FB 7F F8 F2 5F BF FB EE F3 FD 82 DA 7D 4B C7 AE 4A 55 28 35 60 24 97 A4 6C A1 F5 7E 9B 8F 3F 2B 27 8A A2 0A 62 0C 18 C6 DC D7 F3 FA 4C 2A 41 50 60 55 54 88 40 8D D5 98 2D 84 4A CE AB EB 3A FB 7E 56 A8 32 49 CF C1 F4 88 67 48 92 52 C8 CA 8C 76 C6 61 8F E3 7D 1C CE D8 DC 5F 1C 37 E3 CA 08 90 71 C1 88 20 14 8A 55 51 85 3F 7B CE 5F BC 3E B3 89 96 21 75 9A 8C 53 0C 2A 2A 08 48 04 62 28 64 50 13 20 A8 60 E5 E2 42 30 04 75 7D 5D DF FD D6 17 5F 82 00 A8 71 82 9A EB 08 E0 7F FF 7F FF DF B7 3F FC 74 71 EA 8C 3C C7 AE 86 32 0C 95 D5 3E 5C 8C CA E1 9E 45 AC B6 E7 8F FB EB 6F 69 20 65 CF 24 13 15 C1 3E 77 55 15 A9 BE 05 2C BA 55 54 A0 A8 A9 80 E9 02 A2 4C F5 EE B1 DE 5F CF F3 B9 3C 66 BF 7B 3D F7 D0 76 B4 8E 75 67 DF D9 77 2C 1D EB CE ED CC 56 1D EF 11 28 36 71 3D 3E C9 D9 B5 4B 2A 6D 50 22 2E 15 01 D1 00 A5 80 42 D4 AF 76 6E E5 FD 15 56 6C 5B 50 4F B3 8A 1C CE D1 36 02 8A 88 81 82 44 8D 12 02 99 50 0C 33 51 69 68 69 3D 7E 7A 7E FF 3B 5F 3D 21 2A 54 8D 97 24 21 B6 28 6F 7E F5 CB 77 9F 9F CB B9 9C DE 5E 86 2A B9 66 4C 71 49 35 CD 25 C9 F1 B9 CC E4 F5 FB F7 97 79 7A A7 91 B3 8B 2E 5D 1A 02 89 6A 5C 67 66 C3 51 8E 68 03 00 10 8C 00 2C 55 AA 50 6A D4 A4 B6 8E 16 D4 25 FD EE 7A 1C F6 78 FF B2 82 CB 8B 8F B7 17 CF DB 7A 2E EB 4E 55 48 DB F4 6A A9 7A 95 F4 52 B5 97 CF AF DD 85 1E AC 7B 35 E9 AD B5 6D 05 0A D2 6A 99 52 80 1A 2B D5 86 80 6D 27 ED 29 BD 45 D9 C7 F7 D7 FD 74 BF F4 4A C4 94 44 8D 95 08 C5 16 50 60 92 06 08 B4 ED 04 20 F7 5F EE 6F 7E EB AE A8 10 81 63 AF E3 BD F8 2E 26 32 DE D6 F0 5F FE E4 E7 FF EC AF FF F7 F1 DA D1 63 38 AA 99 90 AA 48 6A B1 97 26 43 C9 B6 75 D8 F9 34 F7 64 16 B6 29 0D 01 50 81 62 B5 CF 63 3B 1F 0D A6 84 01 00 C0 43 A0 A2 02 12 68 81 8C F4 7A 2E 26 36 D7 F1 FB EB CC E8 70 BF 9E 3E BE 3F 3F 8F 85 4A 3B 36 DB 8E 4C 1B 4A 5C 94 3E BE FE F4 4A D3 FC 28 DF 5E FD E8 FA FE B1 B7 1D 77 7B 39 3F E7 76 2E CB 6A 29 CD 74 3B B0 82 95 8B 8B A8 D3 99 97 E9 C7 EC 61 7F 78 B9 87 DE 76 04 40 41 20 00 50 D6 C8 2E DB 46 5B EB 8E 6D 0B 00 AC 4A DE FF F0 ED C3 6F DE E3 A5 68 7C 02 00 42 91 2A 08 10 A9 A6 6E 7E FC F2 E5 CD 77 EF E7 B7 D7 17 1F 33 E9 A7 CB EC 34 AE B8 EC 1C 63 20 65 1C B7 A6 51 D5 AA C4 B4 C1 A0 42 03 08 8D B9 53 00 4B 39 44 00 00 10 12 52 11 A0 DC A8 8C 2C 50 BA A2 18 E6 64 DD CB 61 6F 92 31 04 BB ED 21 8F 11 68 CD 68 3D CA EB F1 89 F7 B3 DD C2 80 A7 C1 26 93 C7 6B 0F BD B4 8E 7B 9C EF E3 74 8E C3 73 2E 3B 5A 6B 21 9D 34 12 BA 6C 1A 5A 41 1D 77 4E 72 F7 7C B1 2E 52 14 D8 40 B1 BA CE 1E B3 82 11 AB B6 63 DD 09 46 D1 00 33 FE E1 37 BF EE 3F AC 48 69 53 05 11 48 69 C8 C7 86 30 B2 6A F7 71 FC 7A 1D BF 7A FF E1 A7 BF 7C F6 DF 7F FB EE B1 5A 43 AF 33 DB 76 4D 8C CB 5D DA A2 06 B6 71 DF A2 97 C4 E0 D2 6E A4 00 20 9A 99 33 B3 A2 07 04 30 02 00 00 05 80 A8 04 02 6D 66 96 88 39 DB 4E 24 18 AD 63 B8 F6 79 B4 56 EC A5 9F A3 AF D0 EB 8E 20 F3 7A 7E C1 63 D3 45 3D 6D 3D 90 77 FA C7 E9 DF BE DC 63 8F 17 1F 6F 42 66 BF 9D 13 B3 56 A7 9D DB 99 7D C7 B2 D5 5B 21 85 07 2E 44 65 14 D4 E9 BE 3C 5C 8F 91 7D 3C 57 83 9B 34 D7 6B 11 6D E7 DA 0E BD B3 35 15 68 4C 4A 5D B3 DE FD C6 D7 F1 53 94 72 31 78 89 10 6F C5 77 96 98 A8 70 B2 BD 1F 9F FD CB DF 35 A6 AF 95 2F FB E3 FF FD 7E FB FA 96 B4 56 52 E0 D2 15 D2 1E 69 D5 08 24 75 E9 D6 9A 88 2C 37 6A 00 20 16 0B B0 5F F7 C3 F3 13 00 06 41 00 90 00 85 52 01 81 80 E9 2A 01 10 43 63 AA 95 9E 97 EB DB B2 B7 BE 47 DB D9 B6 D4 DA 4D 77 7D B4 AB AD 2E 3D 6A F5 94 BC 7D 79 BE BB F6 EF 5F BF 2D CF DB EB 8F B7 17 1F 2F BD 25 74 9D B3 EC CB B5 46 D6 9B 6B C1 EA D6 BA B3 81 9A 5D EF 02 50 0C 42 54 6A 0D ED 66 9F DD 5A E7 FB D6 CF 04 28 80 DC B1 C9 30 E5 E1 E5 BE E7 FC E4 3F 7E 7C F3 3B DF F6 EF 9F 12 3D CB 76 44 4B 0B 94 EB F3 D7 57 2E 61 7F F6 6F 7F F7 F9 7F FE DD 6F 7E FF D7 8D 7C F5 77 FF BE 32 C7 63 B5 AD 99 58 DB 40 97 49 F7 9C AD BA 0C C4 B8 70 5F BC 07 F3 C5 A2 42 23 B0 20 42 FB BC 0B 0C 00 04 00 20 20 94 1A 10 95 53 DA 9E AE 80 C6 D5 DD 65 F5 3D 54 2C 69 F6 39 D7 33 DB 1E 2A 7D 2F 39 8F 2F 3F 52 7B 79 EA 35 E5 E2 FA F0 F2 7C FB FA 78 F3 B8 AF CF D7 57 EF 6F AF 9E AF 87 BB BA 6C A7 1E AF 6D 80 DA 63 35 97 EB BC CC FD FE E5 71 9D D3 B4 54 AC A2 65 81 80 D6 33 9F 66 57 7C 38 C7 8B FB 35 2A 57 14 00 62 93 92 E6 69 D6 48 2F 7B 7D FD F1 B7 AD E3 F3 7F FE E1 E9 BB 87 C9 F2 3C FE F0 27 7F 3C FC E7 75 FF 71 1D 7E 71 5C 3F ED 17 FF FB 76 BC 5F 7F F9 C7 3F 3B 7E FD F8 F3 3F F8 C5 F5 CB FD B3 7F FB A7 99 31 D2 B1 1A D3 33 5D 36 18 5C F6 9C A4 67 99 C2 26 10 13 9B ED BC 3E 7C FA AD 8C AA 76 24 05 A1 04 35 ED E9 D9 7A 31 08 6E 13 0B 40 2A 2A 2A 40 D1 45 8B 2A 91 43 1D 42 20 50 B1 47 9E 8D 23 76 8C 79 FF E2 E7 AB CF 71 DD 1A D7 7A 7C 79 3E 3C 9E 6F 1F DF 2E F1 E9 FD E3 F9 FE F0 F2 F9 BA EE 58 5B 8D AC 9B E3 0D 8C 86 9E A6 D7 33 F6 74 A3 CC 7E FA F4 D7 EB E3 B9 94 4B F6 B7 8F F3 A2 04 5A 89 7A F5 7C 69 3B 2C 2E 06 8C 63 E3 94 91 3D 13 55 E5 38 DD 6F CB 5E 2C 98 F9 BA 8E 1F B7 FB EF BF 3D BD 3E 0F EF B7 C3 FB 55 CB B7 7F F0 C7 8F FE E3 C7 BB F7 EF DE FE CA 9F 5E FF CF A7 C3 F3 FA 97 FF E9 DF DE FF F4 97 78 CE 1C CB BD 34 E5 2E 77 DA B6 2B 2E BB F0 CC 2E 62 9C 09 05 52 60 2A CE 87 BC BE 9A D8 18 50 40 5B 01 FB F5 7E 7C 7E 0F 18 00 00 00 81 50 08 48 05 E5 66 CC 62 33 72 9E F7 87 56 04 42 22 96 8C 86 2B 5D C7 FB 78 18 7F 78 9C FB E3 F1 F8 78 BE 7B BD 3F 65 AF E7 FA EA ED 87 C3 B9 BD FC 78 39 AC 0E 5B 25 50 A6 82 01 63 E9 3E 1F 4D 75 77 F4 F4 38 EB F5 AF 73 9E C7 7B BE DE D9 B7 2E C9 65 9E 17 EB C1 DE C3 AE 5C 97 24 9D 7A 9A 3D 7B 26 AA 96 1E C7 FB 35 38 D4 51 BA EF B4 8C 79 16 7D FD 72 D7 D2 EE B9 7F 7A 3E FC F0 6D BD 2F 87 6F B7 4F FE E7 C7 F5 79 7B F1 F5 E3 F1 ED F5 F1 CB FB E1 E7 97 FE 3E F3 7A CC EB 19 CD 52 99 4E F7 CC B2 4E BB 74 D9 89 2B B1 86 D8 D2 89 29 93 7E 3E 6A E5 A4 42 5B 01 00 24 AA FD 7A 00 00 8D 89 00 6B 78 AA A0 B4 51 03 80 04 D3 75 F7 7C DB FA 32 7D 3C 3C BE 44 8F B6 A3 77 1A CA 2E 77 94 87 C7 FD 87 CF 7F 6E EA E1 7A EE 71 3F 97 F3 C7 DB F9 E3 75 DD EB DD F3 72 58 B5 55 19 B5 AA 55 C8 8C 02 33 CA 18 32 23 B6 1E 4C 53 9E 20 15 6F F5 B6 C7 87 2C 24 71 B1 AF E9 EB EC 91 2E 00 6D E7 DA F6 88 8E D6 91 1A 12 A8 EF 30 69 A7 8E CF 97 91 FD FA 3F FF 66 CC 39 1F FB E5 FF 7E EF B1 1F 7D F7 8B 4F EB C7 B5 3C 0F 6F B7 FE 9C EF BF FF CB 3E CF 7E 2E A7 6F 1F ED A9 8E 91 2D 56 65 CF EC B4 4B 97 5D DA C6 A4 0C 44 95 13 B5 7A 59 CF 38 7E FC ED E5 F5 4F 80 1B 1A 01 10 94 E9 99 67 DB 2B 02 18 A8 93 65 53 06 2B 5A 2A 00 CD C8 12 8A 8E E9 0E AA 58 7B 9E A6 85 02 51 29 15 AB 87 97 67 41 DF E3 78 7F EC 7B 1C EE DB 76 5E 0F F7 6C 54 31 D2 81 BD 9E 1A 49 AA 89 0A 17 E5 26 AA 6C FA B9 5C 7B 2C F3 F8 E1 DA 7F F3 ED E5 EE BE 3C 45 BF 7A FD FC ED EB FD A2 2F 59 45 96 1E EB B9 1D 3F 3E 45 AB 75 88 61 DA 4A 94 2A 95 D8 60 A9 D5 5B B4 D6 FB 06 39 3C 6F 8F AF DF EE DE 3F 5E AE 55 63 57 0F 8F AF DB 5E 4E EF D7 D4 A7 6F 2F 0F 5F 7E 3A BC BF 2E F7 45 A8 6C B0 B3 D3 9D F6 C8 2E BB 82 89 31 35 00 14 06 09 44 45 6B D9 E3 F8 F1 37 0F AF 7F AC E0 35 29 35 AA 80 7D DE 8F CF 1F 40 20 88 A1 12 51 AD D3 62 52 D8 00 B9 E4 2C B3 ED F5 7E BE D1 24 46 45 0B 28 22 04 1E B3 FA B9 AE 7B 2C 7B A8 A3 ED 5C 76 28 54 72 B5 5A 6B DD AE 50 66 48 AA 6B 22 52 C5 56 AC F6 90 D6 A7 3F FF ED CF 7E F8 CD 9B D9 FF F1 CB 4F 2B B5 C7 C3 AC E7 38 3D DF 92 8E CE E3 7D EB 7B 1C CE 14 B5 5F 2E 5C 7A C6 46 65 47 CB 74 54 EB B9 DA A8 D3 18 55 F6 F6 BC D8 9C 9E 97 99 4C B5 9C 9B E8 3D 5B 64 3D C7 8B AF DF A5 2E DB 04 49 63 D7 74 59 A7 9D 71 D1 D6 20 15 1B 0B 40 11 60 A9 8A AA AF FA B9 CE 79 A8 8A A2 85 26 AA 39 0F 88 01 02 00 B1 32 54 DB EA 26 1F 99 6D A3 EA B4 AF 8F D7 BB 6B 2A 1B 55 50 96 3D 7B 3B AF EB 1E 8D 59 3A ED 90 B2 CB BD 5F 2B 76 B6 9D D7 41 AD 24 A9 A6 5C A7 FA F6 0C 22 95 08 CA B8 FC B5 5F FE D3 F7 AF 9F BF FD EE B3 F1 B2 F3 70 2E C7 FB 76 BC AF D6 8F 51 B4 FA 8E B5 95 72 CD 19 AD 19 8F 38 60 24 51 0A 67 76 DB 51 49 DF 61 35 B3 7A 67 EF 04 2C 51 02 CF AC 40 63 5A 8D 4D 34 33 4E 8D B8 11 2E BD E7 74 9C 92 76 BA 53 5B A2 44 B1 B9 31 D6 04 1A 85 CF 22 16 53 30 DC 11 E7 46 2B D3 71 0A 00 80 14 00 00 44 00 50 14 24 E9 F5 1C 6D E7 F9 F9 61 9F B5 E7 9E 74 EF 00 55 38 DC AF CB 8E DE 59 04 24 34 5D 73 76 3F 23 3A 67 56 DB 11 1D D1 39 92 22 93 14 A9 68 8F A3 0A 00 4D 22 80 7C F4 F6 E9 AF FF E2 1F 1F AF 47 6F 2D 3B D5 A3 AD 20 0F 23 23 C8 44 28 2B 1C 6D 67 EB 88 AD 4C 0A 54 C6 3C E7 F4 7A 6E 23 CF 75 8F 06 A5 5B AF 99 73 A6 A3 25 E8 CD D4 46 8E C1 60 C4 64 E8 32 36 C2 63 76 BA 2D 06 1A 13 43 6A 8A 01 8C 2D 3B EC 02 2A 51 66 B6 FB 55 8C A8 02 89 12 43 45 CD B3 B9 00 35 4E 89 80 04 2A B1 99 9E 69 84 5A EB 70 DF 8C 67 3A 59 0E A7 FB A5 ED 68 1D 49 44 45 01 8C 47 56 DF A1 1D BD 43 9D 62 2E A7 46 48 E7 08 D3 2C 65 97 D6 42 F7 B2 A7 DA A6 4C 54 7D E7 DD C7 07 87 28 A6 C6 0C 9A 85 7A 48 E1 CE EC ED 3E 8C 46 D2 CE 88 55 6A 55 33 DD 76 60 65 CE B2 A3 DA AF 15 2D 6B 40 5B 15 8F 2C 21 E3 20 69 A6 1B DA 06 40 4C 32 BB B0 8C B5 CD D0 6E 5B 51 2B 05 86 2D 96 74 26 2E B1 2F 42 42 20 20 5A 41 89 11 1D A2 A2 B1 82 A0 69 01 00 96 30 A9 00 21 15 90 8A 60 64 B5 4A 68 06 91 68 AD E7 98 B3 DB AA 75 16 1A A6 55 02 44 C5 29 9A 91 25 46 EC 8C 8E BE 63 CC DA A7 E9 18 93 5D B6 72 9D 2C A7 AC 3B 9A 6A 9F 52 37 CE BE 7B CE 88 CA 2A 48 C1 1E 09 45 3D 51 51 D7 39 D5 99 E9 4C E6 10 25 93 4A 6A 5A A4 C8 7E ED B6 9A 74 28 63 6B 83 09 32 B2 10 6A 70 D0 D7 D8 1A 01 43 52 4F 23 70 31 B4 56 D1 99 66 1E A1 4D 0A 95 2A 54 6C 74 D5 62 48 84 84 00 90 C0 22 A2 A2 62 B0 B9 75 13 02 69 23 00 04 20 41 66 5B 86 69 45 60 29 BB EF 54 35 8D 21 2C 01 60 81 58 44 D2 A0 5C 7A 8F 65 E7 72 6A CE 56 6B D9 31 67 6F 1B AA 11 AC 7B 95 04 49 49 52 92 64 46 34 28 D5 D9 14 38 94 A4 B2 54 0C 1E B3 90 D8 14 D0 CC B1 B1 4D BA 82 A2 9A 6E C1 CC 52 95 09 34 24 DD 34 40 A5 65 0F 0D B6 12 29 93 69 F7 14 88 31 E3 E2 24 4F CA 4E A9 B1 02 54 44 15 54 76 EC C5 C5 8D 94 0D C4 18 5C A4 22 C0 02 38 D6 16 10 85 72 CB 01 02 60 CC 2E D2 00 64 80 56 AB 54 81 1A 15 AD 45 09 03 1E E8 B6 31 36 94 4C CF 91 73 3B 97 91 15 AD A5 73 CE DA 8E 61 CC B4 C8 08 AC 4A 25 0C 49 35 8D 3A 20 65 45 4D B2 EB 0C 98 4C EF C3 E1 A4 64 CE 53 4E 9A 7E E4 30 7D 0A 39 98 48 B1 51 C9 D9 E9 46 8C 8B 40 8C 0B 9C 2E 53 C6 F1 A4 CD CA AC CA C2 6D E3 56 EC 6B 7A C2 2E 44 51 03 A8 A9 0C 40 A8 D4 9C AE B4 5A AA DC 94 29 12 A8 E8 00 98 AD C3 62 22 E4 44 2B 15 00 24 78 36 A5 BB AD 83 8A 15 90 56 94 22 6A 00 9B 8E 54 1B 00 6F 23 D3 18 5B D1 14 9E AE 91 A5 56 EF 58 CF 31 B3 C7 B4 A8 39 5B 25 3A 54 8D B0 6E 8A 2A 9C 9A 96 4C 81 83 48 8D CB 9E 46 68 DA 4F 57 9F EE 61 9C 6C 48 BA AC D2 1D 60 76 61 07 E3 D8 2A 3D 6D 6B 48 19 1B 03 F5 1C 8F EC E9 33 3D 71 4B 1B 8C 0A 51 80 F4 1D 25 00 40 08 84 A2 DA 62 50 53 74 DA 50 42 51 F5 AD B2 A3 72 A4 3A 3A D3 6E 1D 15 62 01 63 00 90 C8 4F F9 DB 07 61 33 B3 B7 FB 0A CC 00 2A 50 63 03 EA 1B A8 4C 30 20 93 B6 2A 1A 45 41 C0 B6 67 96 5A D1 71 CD 39 92 75 09 C6 4C 47 45 D5 5B 39 6B 3D 4A 35 C6 33 0D 25 49 82 89 62 3B 6D 9B 29 10 EB CB 2C 20 59 82 7D 96 D5 98 2D 62 92 36 C4 D8 A2 2A D3 A5 2D D6 C3 3D B3 D2 67 B9 64 1B 4A 19 15 80 54 80 1B 5B 2C 00 62 28 31 29 DA 58 D2 48 48 CF 8A 12 05 25 A0 31 B1 52 A3 DE FA 79 ED 5C A3 AA 10 2B EB DB 1C DA 38 02 00 2B AD D2 05 99 C1 40 1D A8 30 8D AC 70 54 4D A3 C5 48 55 1A 90 0A 00 B1 00 A5 A1 68 5A 0F 93 5E B5 1D 99 1D E0 D6 B2 9A D9 73 BA 60 64 EF 93 68 09 52 03 51 A6 0E 7C 9D 1D 65 1F 54 5F AE 67 43 C3 0D B1 31 49 37 A4 C4 B8 0C 04 64 3D B3 77 CF 99 67 65 61 43 0C 85 4A A9 00 A0 5B 8D 23 35 14 83 A1 C4 B8 34 8D E2 56 5A D5 40 94 8A 40 00 A9 C8 84 02 A8 71 54 39 AF 39 0F 7B EB BD 08 6C A2 12 00 02 C0 11 A0 02 80 54 66 76 05 03 10 8C A2 21 A8 65 55 DD A5 30 6D CB 26 10 A2 06 B1 D0 08 2C 65 28 26 33 A7 51 6B 2D 3B A6 67 74 18 F5 AA E8 A4 6D 4A 17 67 30 80 D4 80 C0 A5 62 91 EB 9C 41 4D B7 05 1A 64 4D 6D 29 02 4E A9 64 DA E9 39 73 96 4F 67 63 5C 4A 15 05 01 54 54 A9 01 04 B7 8F 8E 52 52 B8 0C B5 74 6B 9A D5 4A 54 42 02 00 90 18 81 0D 34 2A AE AC 10 00 B3 5F 6B B8 8D 83 B2 18 8C 02 00 15 00 41 B4 72 40 A6 CB 35 28 90 D9 C6 82 D6 2A E3 48 26 56 99 A8 55 A0 62 13 15 00 00 34 20 C0 CA A4 74 B1 A7 1E 73 B6 5E 80 B6 55 68 9F AD 92 AE 99 6E 2D A1 B4 21 96 B6 35 B2 30 D6 D3 67 49 E9 C2 AD DA C7 7D B1 99 F6 CC DA 73 CE 3C ED 92 B6 32 2A 30 A8 71 A5 02 68 83 DC D8 21 04 40 2C 98 E9 13 D3 AB A5 6A A8 55 51 09 19 97 80 C0 00 85 86 62 00 D9 20 C7 E7 A7 E3 FD A9 9F 8B 65 BA F6 9C 95 18 04 16 01 00 20 20 2D 00 A2 05 32 D3 95 6A 95 9A 22 02 59 51 2A 01 54 81 5C 04 60 CB 1F 65 FB 76 63 B7 2B 2B 63 3C D3 E9 56 99 B3 29 05 81 7A 47 C6 42 02 E3 69 8C 97 9D 33 A7 89 CD 9E 44 19 69 20 9A 4B 1E 76 8D 79 9A 53 1A E3 52 D6 64 00 7F C4 D1 6D 8B 88 00 F4 4C 05 05 AA 0C 42 81 44 6C D2 8C 44 A5 48 AF 42 00 0A C8 08 62 64 D1 26 76 7E F6 F3 BF 6F F7 4B 99 A2 CB 6C E7 5A 3A 93 91 33 D3 60 81 1A 94 16 10 85 08 40 D1 D0 6D 5A A5 B0 00 4B 50 C1 C5 66 D9 31 75 AF 66 12 A5 00 B0 82 40 50 2E 06 88 1A 00 63 31 31 2E 36 94 14 24 45 65 D9 51 D8 02 C1 14 29 33 5C 23 2E 31 2E 7A A4 F7 39 33 CF CC 19 DD 32 A5 5C 15 00 2A 2E CF 6A 40 88 1A 00 04 FC 44 8E 67 7B 10 04 F4 BD CC 39 8D A8 8C 0C 26 86 19 D6 95 11 00 18 0C 19 A6 50 FD A5 5F FE CF 7A 5E 80 60 74 2E 26 45 17 3D B2 54 62 B5 CF 06 50 20 47 AA 9E 5D 11 AA DC 29 00 16 00 64 83 B4 95 09 A0 72 53 32 10 00 18 59 28 00 04 A2 62 52 89 AA 94 40 EE AE C4 05 19 59 14 1B 1B 88 89 D1 F5 EA 91 B5 E7 B9 E7 59 79 DA 25 63 28 2B 95 91 45 0D E8 B6 67 35 56 00 A0 12 45 08 00 0C 80 E1 A7 F0 EC 1C AD 8A 2D D9 36 A2 00 8B C0 8B 05 9B 96 11 24 87 41 0C 1F BF FD DD 7A 6E 10 00 00 09 35 C6 F7 AF BF FB 70 7D 3B ED 4B F4 88 4A 04 A4 06 0A 00 10 0A 80 D0 A4 4B 8D 15 10 4D 11 54 2B 61 0D D3 5B 73 12 A5 90 6A 21 35 46 42 6A 4A 59 54 83 20 22 56 C6 AA 6C CA D8 B8 B6 58 A5 0D 01 4A A5 1E 39 C7 3C 46 9E E9 29 03 18 0C 83 02 40 A5 67 9A C6 0A A4 D2 AA A8 64 01 2A 10 A1 67 A7 FC 63 CD 73 57 63 25 C6 ED 7E 41 41 80 02 0A D8 C4 61 10 03 EA AF FD CF FF 15 2D 00 81 00 D0 DB 4F BF F9 F1 F5 4F FB 5E 8A B6 8E 16 15 0A 0A 01 00 00 A1 A1 50 66 36 00 D5 4A 11 5B 0D C4 28 A2 02 50 81 8C 01 59 56 22 42 05 6A CA 80 00 2B 1A 11 8B C5 58 60 28 81 50 97 19 D3 23 8F 7D 9E E9 13 1D 4D 59 48 22 15 03 08 82 A8 49 4C 0B 45 03 A0 32 05 A8 11 B4 AA AD 00 00 00 00 E0 4F 5D 1B 47 40 B4 00 1A 11 23 C0 28 48 35 46 10 C0 C4 00 1C 9E AF 51 99 50 04 00 6A 64 7D 78 FD B3 00 3D D2 DB 5E 53 A3 7E 7A CA 1B 16 0D 54 00 90 2E 8B C0 06 88 A6 B7 40 53 2F AD 34 37 1C 6B A1 01 62 D9 47 41 40 00 04 B0 52 63 98 89 A1 D5 69 CF AC EB B5 47 EE 23 4F 68 61 2B AA A2 26 65 24 00 80 4C 4C 84 DA 4A C8 29 35 5A 8B 80 AC 28 00 80 4C F3 13 ED 6E FE 17 E4 1D 01 40 DB A8 B2 18 41 00 08 00 06 2C E0 02 C0 EA C5 FB 0F 65 40 02 00 A4 E6 FE FA 36 CF D1 E6 6C F4 70 25 BB 31 69 40 10 00 40 01 06 02 1B 20 6D 88 48 15 AB 5E 51 55 D2 4A 19 2B 35 C6 80 2D 47 55 AB B6 12 31 32 58 A9 31 D0 94 2A 31 7B CC 1A 79 8C 3C EC 12 B1 32 B8 9A 0C 90 80 72 53 F4 19 A7 81 18 83 D6 1D EB 61 DA 36 06 00 4A 2B 14 E5 8F 28 FC 33 A9 15 A0 C6 16 94 18 46 60 90 89 11 80 29 63 05 58 1C 59 66 96 6B 00 84 00 82 DD 15 BD E6 1E 2D E7 D4 10 11 15 36 08 45 C4 4A E5 D6 E4 76 D9 7D 87 89 50 B4 1C CA 2C AB 14 03 8D C1 96 90 51 A9 80 0A B7 21 86 B2 F7 EC 3D 8F 7D 9E 95 15 6C 80 AA 94 0B 00 08 84 4C 9E 1F C8 40 61 0B 5D C9 1E 2F 3B D6 3D CA 58 D4 08 A9 00 06 4B 14 D0 1F 71 FC 17 8D 00 D4 58 A9 81 8A 1D 39 0F 13 39 A8 21 10 90 E1 06 37 D5 63 9E 19 AB 01 09 40 20 E9 E9 0A 2D 14 F4 88 0F 7B 58 9E 5D 0A 44 60 80 20 98 39 7B 7B 5E 05 8D 72 E3 A4 AD D2 18 45 5D 01 01 44 8C 01 41 01 C4 78 66 EF 73 EE 79 CF 9C D8 80 91 51 B6 00 C0 05 B8 89 C2 4F B0 BD 91 45 D0 AA 61 43 68 C5 16 68 EA 56 F5 D6 73 08 3F 5B F2 A7 31 7F E2 2C 80 1A 2B 10 08 22 04 A2 50 43 00 8B C0 26 28 43 94 B6 4E 19 B3 BE FC C5 3F B7 CE 1B BB 7B 47 9F 87 8A 21 42 B2 4B 00 00 6C 0C 00 00 52 49 46 46 64 0C 00 00 57 45 42 50 56 50 38 4C 58 0C 00 00 2F 3B 00 08 00 0D 75 21 A2 FF 01 5B 92 6C 2B 92 24 9D 73 DF 73 F7 F0 80 2C A6 1E 66 C6 AF 59 CD 6C 97 7E 9B 99 99 23 22 23 DC DF BB F7 9E C1 3D 78 8C 24 5B B5 6D DB B6 22 B3 D4 D6 7B 1F 63 C1 66 46 FD 25 D8 8A 6C 0D 16 33 0E 68 AD 96 92 BE 24 DB 76 1B DB B6 AD 52 5B EF 00 C8 50 9C 5A CF 99 83 99 80 99 FF 7C AC 4F AD 57 44 90 00 7A 6F AD 86 82 80 00 10 71 E6 AF FF FB 03 5E B3 36 94 42 E1 AB 11 DF DE 9D C7 3A 5D 23 54 1A 5B 1F 51 E6 94 E4 B4 A5 90 43 6E 94 A1 CA 9B 4A 11 87 DA CD D7 DB 38 1D F7 CB BA F7 DA 8D A8 89 A9 D7 E3 FA 5B 85 F9 FA 02 41 64 AA 92 92 90 9C 42 AA A4 D2 99 CA 81 83 D8 FA 69 73 BD 41 41 00 00 00 00 00 70 42 56 0B 5B 9C 25 91 B5 0C FB EC 2B 36 3B BF FD 60 F5 A3 D9 1E 28 A3 88 45 52 4C FA 22 8A 41 31 D3 AA 5B 56 5C 0F 7F 7B F7 75 0D AF 61 F6 48 BB DB CF 52 2D 3E 42 67 D3 A3 24 08 08 12 A0 31 41 B5 A4 00 AE 99 2A 29 15 C0 C1 A8 44 51 3B 24 00 00 00 04 00 06 06 47 27 87 B6 57 C8 01 26 73 48 8D A4 C4 F6 3A 8F 4F 7D EE 28 BD A3 5C 55 B1 54 25 AD C8 C5 ED CA EB E1 D5 96 B5 49 0C C4 1D 3A 34 97 3A BB 87 EB 74 4E BB 26 A8 B0 99 82 22 0D 07 00 40 90 AE E3 F1 68 9C 29 88 E6 11 9C 16 00 14 E9 51 66 05 80 00 00 80 C0 91 74 6A 46 45 3F 9A 4D C6 8A AC 88 8A AC 35 CB B1 BC 99 F3 F8 DC 77 17 FB A9 B6 E2 76 CD DB 23 D7 3A B3 5C 51 25 F6 D5 2A B8 A6 AB 82 0C 26 B1 A6 CA F6 D0 3D 5C 49 A6 6A ED 4B A4 7D DD 69 F1 B6 A0 2B 54 A1 B9 39 5B E9 E5 DB C7 FF BB B9 6A EE 98 92 2D AD 4C A4 F7 F1 BA 41 10 13 2B 88 44 5A 62 E6 7A 79 DE B2 64 7D 66 C9 2B 64 FC EE 81 B2 8A C1 3C EC FA F0 29 E5 A2 18 13 63 71 87 25 AB D6 1A AE 11 64 92 35 22 30 40 92 40 52 90 B2 93 C1 44 C3 5E 3C 48 0A B1 30 66 77 4E D4 AC D8 E5 4A 4B 94 38 B1 68 21 4B 50 4A 1D C4 0C 92 4D 64 4E D1 A5 D5 C9 02 97 67 11 6A B2 48 E6 56 4B 55 92 7D 39 38 1D 3E DD 32 6E A3 20 A9 FA 3A 8B 1C CC 60 40 4E 15 33 52 E5 1E 04 C4 29 44 89 4A 19 83 0D 36 0A 17 28 D5 9C A2 0D 6A CE 9E AC 13 71 CB D4 88 ED 14 40 44 9C AD 6A 07 85 00 2A 7C D4 BE 30 41 8A B1 BB 29 41 86 65 D9 DB 93 82 22 CD BA EA 78 AB F3 E1 56 A6 55 51 71 CE B1 2B 91 69 20 19 B8 40 B8 40 45 95 33 43 15 4A 1B 5B 9A 0D 44 B6 9D AE B6 46 97 18 CF B4 22 29 E9 F2 4A 4D 95 FA E7 63 29 F0 A3 FA 4B 85 11 86 A2 F6 35 D7 7F 05 04 23 BA 77 00 40 04 68 65 CE 50 02 40 7D FD 71 5D 2A D7 72 5A 43 A2 42 B8 CC 33 94 A2 0A B2 50 32 52 25 81 38 6D 61 A9 56 9F 48 4D D3 8B 38 D5 E3 76 ED E8 0E 82 41 09 A4 55 F9 90 5E E3 63 E5 79 40 AC C7 FC C1 AD FF F0 ED 7A F8 4D DE 86 D3 8E F5 A3 99 6F 96 62 98 D8 F5 56 FB 5A 7C 32 02 E1 B5 03 03 01 40 27 06 91 7C 90 97 F7 3F BE 0F 09 03 8B 99 04 32 90 12 58 36 62 28 2C 00 D2 25 59 71 68 AE 9A 63 2F 35 54 64 F8 66 5F 3E BB FF BF 4D 10 81 60 B0 E8 6E C7 0F 5F 5F 3E BA DD 7B C7 B6 57 C9 37 7F BC FF F9 B3 2F DE FA EF BF 93 30 6A 28 CA 6F 63 D4 BA 7D 5B A7 59 2D 7D DE 6F ED F8 27 10 80 52 AF 7D EC AB 00 04 83 B4 80 07 D0 7A FC C7 D2 C6 09 A3 97 C1 80 20 49 32 52 C0 12 40 04 40 92 8E 11 4F BD 94 28 E4 C4 87 6B 19 BA 3D 79 7B 79 7F ED 89 80 0D D5 34 4E 3B A4 7E F1 BE BE F8 34 CE 10 E6 57 9F 7C C1 F1 F5 A5 7D F1 EF F7 40 EB 08 8E FA D4 1E 7D F5 45 1D D2 35 CC CA B9 16 9F 80 B1 7B 78 07 00 00 A4 D5 19 E2 7B A9 A2 76 12 D6 22 31 A5 1B C1 91 05 49 69 8B 4C 81 14 80 23 A4 59 A0 54 06 50 BD E6 3C FC F0 97 B7 8C BE 7C 7C BC F6 E1 FF CE 62 E8 80 64 A3 8B FC C1 31 9E F4 F2 B3 B3 7F 70 8C 4F 2A 17 E5 C3 5E CB 1F 27 A4 75 22 63 51 ED A3 A3 FD EE B1 FD F5 3A BE 6D 4A 6E F7 6D 39 FE 3E D0 4B 5A 6A 32 A4 04 0C BA C5 25 1D 56 F7 61 88 69 F5 EC 17 3F 46 75 26 00 8C 10 38 46 C4 04 40 32 28 0A 1B 5A CD EE D9 EA BC DB DB E8 B4 D1 FD 5E 9F 9E DB 9B F7 BB 49 42 E9 2A E8 EB 35 4F 35 F7 D3 9E ED E5 9B 75 7E 76 1B 4F DF AF 5F 1F E7 75 DA 32 4E 40 3C 9C B1 DD DB C3 2F BE 6F AE 61 E4 95 1F 7D FC A7 DA CD 46 59 96 07 B3 26 06 22 A2 06 68 EE 83 11 D1 78 5E 2C B1 E8 30 5A 6D 95 EE 65 02 84 70 2A 81 53 B5 CD 22 B8 DE 0F 8B 1F BE 2F D3 E8 F3 C7 49 E5 58 F3 90 7A 78 6D 5B A2 79 D6 69 C2 F7 C7 3F BC B6 63 55 57 0D F1 A1 FB 97 C7 F1 D1 E3 7E DE 5A 1B 44 55 1A C4 CD CB D3 E6 F5 2A DA D3 F7 E5 CE 79 79 E3 C3 0F AF C7 CD F9 44 C1 A0 3A CA 75 0B 25 30 68 16 88 5C 13 A8 A6 69 99 5B B6 65 44 82 57 5A B0 A8 A4 EF A6 DF DB CB BD DD A1 FA E0 71 FF E5 CF 4F 8F 5F AF 53 87 CC DF FE F8 77 D5 79 88 14 6E 46 0F 7A 79 FF 78 34 65 90 FB 89 86 6A B4 9A CD F8 E8 BA 55 75 FB 32 53 B7 28 A2 98 E9 EC E5 E1 07 67 FF E5 CF DB 84 4F A5 A1 17 EB 27 00 90 14 A9 21 15 B0 84 D4 2C 15 22 6D 40 B8 C6 2C 4E AA B2 A6 8F 59 EB 2C 25 0D B8 4E 1E 3A 56 8F DB 3A A6 F0 E7 9F DE 10 29 64 A5 5C F3 E8 9B 63 7C EF 6C 84 41 DE 84 BD 32 D3 2E 1A DF 1C E7 93 F7 97 16 2E 35 DA CA B3 A7 64 12 79 A1 50 82 C2 D3 CF BF 88 0F E7 1F 3E FF 62 75 74 CB F1 61 B7 E9 7C 19 FC 09 C4 20 DC EB 51 FA 02 CC 00 45 C9 B4 A9 34 EE D3 12 73 5F 09 65 1A A1 A6 ED 2F 3D 7B 5D 1E 9C 9B 05 95 CF C7 31 C7 A7 63 EF 38 14 21 BB F2 BC CE F7 EE F7 5F FF 7A DB 44 17 D1 6D 57 D5 5E E6 2C B7 95 1F 3F 7D 22 5A 3D 5C B6 60 41 C9 E9 7D 59 7E 3B 6A B9 0D 43 DA A3 9F 37 B7 BA DD 14 2E 31 B1 D9 B7 7E FF 4B 8D D2 76 D5 B2 3E 76 EF 5F 03 00 A0 D9 98 82 31 50 92 25 DC 5C B1 DF EB AE DB E1 6A D3 04 54 D7 E3 58 2B 2F 6B 9C 8B AE 82 54 47 F3 B4 A9 31 96 EF BC DC DA 1A EF DD 1F 73 AF A7 35 8E 6B 97 02 32 10 60 D1 10 84 CD 58 54 C8 92 97 A7 43 B8 8F 03 BE FE CD E7 6F 3F FD E6 9B FB 59 F6 A5 59 2E 5D CB A0 59 3F A1 EE 88 25 C2 23 9C 96 90 00 41 E0 44 BA 18 BB 67 2A C9 2C C9 CF EF 9F 09 24 98 56 D3 87 5E 77 7B B9 61 3E CA 48 44 10 86 00 24 5A 5C CF 3F 7F 7A 08 D5 A5 A6 8D 18 08 C0 89 89 CA E0 72 00 EC 2F FE F2 DE 9F 8A D5 97 31 AD A7 DF DF B6 2F AF 7D 2E B7 D5 3A BA 9A 6E CF BB D7 FD 45 7F FC 39 95 EE 64 D4 EB 3E F6 1B 53 00 2A 48 30 62 70 4F A1 CF 6F 77 A3 6D F7 57 8F 5F BE 18 A6 D5 68 8C C7 F1 7E DD 67 1F 1F DF EA E8 79 77 6F DB DD 46 5C 54 94 C7 30 45 DF D4 B8 D6 E8 3E F7 D7 93 C0 52 6E 42 69 23 43 35 E1 AB 3E FF FB 7B 7F 2E 09 5E C6 51 4A BD F6 B7 BF FE E5 FF BF CF D7 E5 6A 5C 34 0F 3A A7 F4 12 1C BC 0A B1 41 F7 8E 58 04 31 E8 16 31 22 72 8D 64 A6 48 B5 71 2E 6B D1 D5 86 71 17 FB F5 71 A3 F9 65 F9 D3 63 FF EC C8 71 62 9A 38 EC 75 B7 97 79 54 94 9C A8 B4 71 7A 9D 26 94 A9 75 A5 E4 71 F7 42 08 5F 6F E7 97 FF FC 8C BB 21 59 84 55 92 E6 5F AF DB B7 CB C7 BF FF CF BD EF BE 14 2D 3D 7B 65 F7 04 65 38 E8 AE 14 26 4A 8F F0 B0 AC 29 01 E0 20 02 E1 1A 10 82 9A F5 BA DE A7 BE 8E FB 32 F6 F2 F4 CA 4C FF 90 FE EE 07 EF 67 E9 FB 3F FE B8 EB BE D6 58 56 7E B5 B2 D7 E1 35 82 12 B2 34 25 56 9F 75 FA EE BA 70 04 65 AF 79 59 69 BD EC 7F 7C 49 E7 F2 C1 CE 44 3D FB 90 FE F8 AB EF 2F 1F 7F 1C BE FD 16 95 AD A6 34 DC 73 5D 23 99 49 95 EE AE 69 23 60 12 6D 3D 36 D7 1B 00 40 60 60 24 A6 84 A4 3A 0D 68 AD 87 D1 EE BE 6E 0B 7E E3 71 FF E2 71 AF FB FA E4 F5 CB 9B BD CD 4D CA 14 09 BE F6 DB FB 7F 67 F4 C5 3A 2F F2 DD 7D C5 84 AB BA CB 35 A5 20 CB FE BA 41 DA BF 5C 2E F7 FD F0 C3 6B 1E F9 F0 DB EF 97 A7 C7 F6 F5 BA FD E9 E5 7A 3B 87 64 AB 87 D7 E9 1A AD 66 28 05 89 30 17 E8 51 68 16 BA EF 00 C5 90 9A 0E 09 46 92 00 54 5C D6 87 A5 33 C8 FE EC F9 5F 50 20 ED E6 FD 8B BB EF 2F BB EE 88 9C 90 18 71 C8 5D B3 57 3E 3B 2F 8F AE CB 3B F7 CF 4B 1D 81 98 5E B2 4E F3 C6 04 30 69 75 DA FE E7 DB FD EF BF 80 02 D6 F8 DE EF 7F FF C5 F9 F1 B1 B9 2E 5E 07 C9 75 ED AB 77 AF 4C 52 14 08 4B 6C CF 2F AE F7 7F 71 06 15 B2 DD 67 E9 45 A9 50 01 04 82 B5 CE ED BE 2E 7E 74 9D 24 60 0F BD 6C FA 5A 67 1B B3 B8 B9 5A D3 B8 46 21 EF 5B 8C A7 F3 ED D2 4F FF 7C 7E 27 6D 7F 3D DF 7D FD 66 EC CB A6 D7 B5 B2 7B 7A 19 B1 0D C6 22 F0 3A 21 07 84 EC CA E9 5A BB 86 54 A9 6C 7E AC 6B 76 9F 02 62 01 31 10 66 E9 CB A5 9B 75 73 0F 61 80 00 40 4C 14 1A B5 97 6D BF AC 3E 84 C7 DE C6 D9 10 A5 E6 5A 8F 3A 5B 9D 6D BE FA D8 2D 8A 8B 5D E3 90 1E BD 7C DD 3D 20 6C 96 90 AF 16 45 C9 B2 D9 D7 90 13 B7 E3 B4 08 B2 D1 42 43 AE 24 5D 95 9E 92 BB 33 99 BD 8E AE 4C 4A 36 98 D0 00 90 60 A2 5C CF 85 A5 A4 59 02 00 A0 44 60 20 0A 4D 08 4B CC 7D 05 80 10 82 05 58 EB 84 DA B8 D7 79 6F 63 6F 19 6E CB 35 96 9A A5 C0 22 45 38 16 D1 EC F0 30 2C 04 1C CE 54 B5 35 84 A5 19 B6 6B 84 A7 C8 A5 2A 5D A2 BA 06 54 A9 4C 3F A4 4A 48 0C 18 FA 62 12 11 81 08 20 17 27 CA 00 44 20 84 87 28 4B A4 2C 05 42 8D 18 43 4A 91 D4 52 F7 B9 2F E3 6C 81 A6 6E 75 BA D2 4A 5C 70 10 12 EE 6A 4E 77 4D E3 56 D3 22 77 85 67 28 11 87 47 38 93 4C DC D7 6C DE 5D 47 78 A4 0A 69 92 41 01 84 A0 70 9D EE 61 69 A1 0C A6 EB 28 5C 44 41 05 44 20 00 10 87 D2 B2 08 89 2A 91 A8 B0 01 29 00 E1 79 3D F6 DA 9D 89 69 D6 32 0B 91 45 16 52 91 24 70 AB 74 15 54 C0 A9 0C CD 70 86 52 54 AA D6 DA BD 0E D7 E1 4E E0 54 20 30 16 09 91 22 29 A8 4A 6A 82 D1 07 11 B0 62 D0 86 7D 1B 73 49 9B 40 60 00 62 E8 1E E3 5C 19 18 13 24 03 01 33 16 00 07 B9 D6 C1 68 9C B5 CE 62 11 09 0B 80 50 01 79 CD AE E9 4E A9 44 A6 DC 7C B6 DA BD 8E D0 29 2A 15 08 0C 04 1B 03 24 5C 83 62 88 87 04 81 00 90 48 10 1A E7 B9 CE D6 91 28 61 02 81 11 24 40 AF 49 10 55 88 94 2D 12 08 24 21 26 80 92 22 EC EE B3 A4 1B 4A A8 13 69 44 2A EE 95 EE 6C 1E BD 8E D0 C3 7D 8A 12 12 00 94 60 C4 18 88 00 00 30 82 54 28 4A A1 2A C8 22 21 85 90 1F BF FC B6 3D 5F C3 0E C6 B2 8E 56 E7 7F 87 94 0C C5 44 89 8D 10 02 25 C1 58 20 49 31 53 02 61 77 5A 32 24 0B 29 42 73 5D 67 F3 BD FB 48 4F 81 0B 61 A0 32 50 C1 18 12 03 11 00 00 00 10 EA 34 79 08 00 19 84 53 34 D7 EE BC CD D7 2B 44 49 DC DE FE 7B 5A FB DC 4F 40 90 00 00 0C A1 01 04 C1 88 01 12 10 52 46 13 28 00 24 10 52 24 E9 AA 75 9D AD F6 EE 3D 34 24 84 14 3B 32 14 32 30 50 2F 00 35 AA 23 00 00 F0 DF 2C 01 0C 00 08 0B 8B 4A 98 AF E7 50 32 74 CF 6F EF FF CA E9 A1 E4 00 89 18 08 22 94 50 29 18 01 2C 2C 2C 45 4A 8C 25 09 48 AD 35 5B ED 5E 0F D7 21 2C 24 44 00 00 7A 59 29 88 3A 91 32 C0 46 12 0C FF 37 63 10 48 07 25 4C 08 4B 20 F3 E0 D7 EF 82 41 58 BD E7 2C F2 10 13 B8 03 00 00 52 49 46 46 B0 03 00 00 57 45 42 50 56 50 38 4C A3 03 00 00 2F 1D C0 03 00 0D 75 21 A2 FF 01 49 B6 ED 28 92 F3 25 45 54 42 E7 69 36 33 DB 33 6F C8 5B F6 BC 47 66 76 71 62 44 48 DA 06 C5 00 6C 14 49 92 24 BB BA 87 8E 31 FF 30 2E 21 E6 7B 18 A8 92 24 46 92 A4 48 52 66 D5 E0 31 83 2E A7 BF 1E 77 CF 8C 33 3D DD 5D 10 F1 E1 C3 8B F7 A2 3D 2E 1B E6 E3 28 B3 B9 0F A5 97 4E A9 21 94 4E C7 1C 8E 36 1D EA 34 FE E7 6A 96 43 12 E2 C5 D0 95 9E CA 55 C6 3C 42 D8 DC EF 09 04 08 A4 A1 43 74 34 67 05 C3 D4 E6 33 9B D9 86 3D 96 3D D2 96 10 85 E9 72 89 57 0F D4 37 8E B5 CF 96 EC A0 B2 B9 FA A8 A6 B2 D3 38 01 2E 17 8F 00 00 73 F8 E1 D9 22 31 0C 95 A1 F5 9E 7F CF B6 B4 47 C0 65 A9 6A 41 25 26 00 63 6A 5C 13 B6 86 89 B9 D0 A2 10 A3 D1 62 08 85 10 E0 28 EC 04 2D 73 00 46 7B 1A B9 B3 34 FA CD 4D C1 4C 51 01 C2 18 CA A6 EA 4A 9B D9 D8 0A 93 0A 55 B4 B1 F0 D6 CF 9E D9 DF A7 FD F8 CD 09 12 E7 49 A8 43 55 01 22 4A A9 06 BF 79 FB B3 B2 06 27 11 CE 70 26 81 4E 2F 71 04 D5 D4 6E E9 D7 FD 6F 0F 04 CB BB DB 32 94 FF AB 7C 0F D0 19 72 8C F0 54 AF 3E 5E 86 C8 B2 7D 27 42 D5 C4 13 41 8C 31 EE DF C3 D4 15 C6 60 05 E0 08 84 08 05 0A C4 D2 F5 DD 9F CB CF A7 3F 37 C7 22 96 FF 6D 2F E7 F4 B7 9A 3E 74 3A F8 68 B1 43 74 3D D7 FF 9C 1E F7 EF 5E 9B C0 08 90 50 B0 4E FD 6F B5 E6 F8 18 85 43 58 2A D6 C6 72 6A 9D CA 6F 5F E7 71 F4 A6 8F A7 8F A9 66 8C E1 FD A5 8B F2 72 E9 8F ED 58 AF E4 E0 F4 3E DE FB 73 7D EF EF C9 C7 57 EF 75 FC 72 19 40 40 08 A9 EC C4 8C 1C 62 C6 76 4E B7 AF 43 37 45 E4 27 96 12 FE 39 94 F5 56 4E D7 D4 31 0F B4 F5 68 1C F6 DD 8D 69 F7 88 27 DE FF 7E F9 F6 E7 BA 6F 3D BD 5E 6E 2F AF C6 28 2A E2 89 93 9C 54 FA E9 1C AE 6F 73 65 91 48 2A 44 F9 30 A2 32 6F CF 79 3D 5A CF 1C D4 04 3C 74 73 C2 10 79 F3 DC 9E 12 A7 FF 2D BB 81 5E E2 98 90 13 A5 A7 2E F5 E3 92 20 1C 55 5A 5F F5 D7 C1 EF FF F3 D4 2E B9 8B FF C7 7D FF 31 FC EA 3E 9D 2E AD CD ED 5E 9C 09 84 2A C4 92 4E B6 7E BF 3B D3 27 FE 9D 6C DD 32 97 91 02 1E B3 CC 90 46 10 84 21 85 66 4C 00 EB E3 EF 3B FF 9F 7C DB DB A6 E2 E1 BF B7 4E 9F 46 D9 0F 6B D7 D0 CB C9 62 C8 52 8C 6B ED FE AE C1 E3 D9 DF 8B D5 3F E7 FB 6D 9F C7 36 8E 23 CB 0B 82 89 5C 25 CE 75 A9 86 C0 25 43 FF 27 C8 A7 A7 5F 4E EE 17 B7 FE BF 25 0F 31 38 BF 9E FE BB 7C AD D6 54 CD 35 78 51 0A 00 C9 F0 E0 E3 93 43 19 34 C7 FE F0 A7 1F FF 8A 0C 20 FB CC F4 B7 A8 19 E0 48 06 90 A8 BC 3A 53 32 AB 6C 73 FC 7B 76 3D 0D D6 CA 68 FF 7B 76 71 22 73 99 23 53 75 20 C4 43 AA 9A D4 52 5B E2 B1 D4 61 6A 46 0F 1E C9 E7 31 33 10 12 61 A0 A8 73 C4 49 8A E7 EA 7D FF D9 1C 7F C7 35 55 6B 09 A6 91 49 96 CB 9C 96 D5 B2 7A 56 5D 6A 9F 47 CD 6C 0E 77 C2 98 A0 9B 6A A9 2D 78 A9 D6 29 03 6C 16 99 23 38 61 84 21 80 1C 7B E3 68 B5 66 8E 00 59 E4 53 D7 A5 4A AA 92 54 95 CD 49 0A 09 A9 0A 81 AD 42 06 95 E8 1E 17 E2 39 2B 38 84 A8 34 00 08 00 02 00 E8 4C 83 CF B5 A7 EE 49 65 A9 9A 54 55 A1 4C 0E 83 C9 21 00 80 C1 E2 D5 94 90 80 7C 72 7A BB EF B7 DF 53 6D 00 9C 01 00 00 52 49 46 46 94 01 00 00 57 45 42 50 56 50 38 4C 87 01 00 00 2F 0E C0 01 00 B7 E3 36 B6 6D 55 39 FB BC F9 B8 3B 05 B8 85 F4 9F D0 80 C5 1A 91 B9 5B 1B 68 DB B6 6D 8A 72 3A D6 6D 6C DB AA F2 AE 7C C1 DD DD A1 07 1A 60 68 80 FA C8 BC 01 2A 20 23 76 77 77 67 E6 3F 8A DF 5B 24 F8 53 7F 69 51 97 7A F0 03 99 20 30 FA 81 4C D0 BF B7 40 4F 7B 0A B4 D2 F9 9D 6A 89 0B 89 31 3A 34 90 64 16 D1 81 C6 A3 BE 88 15 64 49 16 9F DE 5E 1D 01 40 86 1F 20 01 06 9E 6D 00 88 02 02 14 01 9B 28 98 56 14 51 81 45 8C 9E 4D 98 93 BD 40 21 00 40 88 11 41 65 71 49 0E 78 48 B3 9A 57 27 C0 80 C8 20 98 62 57 53 53 04 14 81 11 04 FB 11 C9 BB B7 38 C5 B9 A3 14 06 03 A0 7F 77 46 44 06 2D 00 D3 68 08 99 55 51 96 01 8D 6F 77 79 01 D7 DA 92 12 3E CD 98 4D 96 C3 ED 0E E6 95 8C E5 29 D9 BF B3 98 B0 55 0D AD 72 96 AB EA C9 8A 66 11 CD E2 D5 08 14 D1 A1 18 AF F7 9B 0B 91 FD BA 9A 92 E2 7C DE AD C1 61 00 00 64 2A 6C 5E B6 5D CB B6 6D DB B6 AD 88 FE 87 25 1A 8E 84 26 23 17 57 CA A0 1B E3 B6 FE 72 D6 EB F8 E5 3C C4 CA 07 F5 09 8D 28 98 0E 38 36 6C D9 FC B3 2E 3B 73 66 9A B0 72 7E BC 6F C5 DD E0 F4 6B 66 DD E4 D6 E5 FF FA D6 B4 EA CC E1 3A D4 C5 20 A2 BD 7D DE A7 A5 7C 75 DC 50 89 4D 00 91 AC AF 8E FB 45 D7 27 A0 A2 4C 05 45 92 F2 78 0B 76 16 09 C6 31 8E 41 09 00 92 00 00 00 52 49 46 46 8A 00 00 00 57 45 42 50 56 50 38 4C 7D 00 00 00 2F 06 C0 00 00 DF C0 20 00 C0 32 B3 CD FE C9 56 C3 7F 0D C5 6D DB B8 31 B9 E4 DA EB 18 07 00 60 E4 6C 65 F7 6C FF 35 9A A5 A7 DD FC 47 FD 43 C8 8F 5A F9 B4 E1 AA FC 3A 11 AC 4F 27 52 82 92 3A 9A 3C 21 42 14 C2 C2 FA 10 24 4A 4A 91 0A C4 86 46 C4 08 B6 F1 CD 05 64 36 75 EB EA 41 31 F6 39 50 18 49 92 99 3A BC 6D 46 F4 3F 5A 2D 56 80 53 E3 E6 7D 82 7C 3F F9 65 28 CE AE 91 01 00 54 00 00 00 52 49 46 46 4C 00 00 00 57 45 42 50 56 50 38 4C 3F 00 00 00 2F 02 40 00 00 2F A0 A8 91 14 E6 0A E5 0B 1E F0 6F 0C 43 0A D2 36 60 71 F7 54 4C 4D DB 46 D0 D4 17 C5 E9 A8 1C FF F1 F8 CC 7F DC 6F BB 86 F5 7E EB 11 03 10 08 50 C6 8A 67 1E 88 E8 7F AC 07 00 26 00 00 00 52 49 46 46 1E 00 00 00 57 45 42 50 56 50 38 4C 11 00 00 00 2F 00 00 00 00 07 50 9B 82 54 AC FF 81 88 E8 7F 00 00

Your question suggests that you have .ctex files that internally include multiple images in WebP format, stored as binary blobs (like hex data), and you want to adapt an existing script to handle extracting and reinserting such images upon export and import — basically a unpack/pack workflow for these .ctex files containing multiple embedded .webp files.

General Approach
Detect WebP segments inside the container file (.ctex) at import.
A WebP file header signature is "RIFF" followed by a 4-byte size, then "WEBP".
Binary data containing one or more concatenated WebP images can be scanned to locate these header signatures.
Extract the image blobs from the container file into separate .webp files (export step).
Reimport:
Read extracted or new .webp files.
Concatenate their binary blobs back into the .ctex file at the positions or format expected.
Technical Details About WebP Files
WebP files have a distinctive header:
Bytes 0-3: ASCII "RIFF"
Bytes 4-7: file size (excluding first 8 bytes), little-endian uint32
Bytes 8-11: ASCII "WEBP"
Using this structure, you can scan the whole .ctex file binary for occurrences of "RIFF" + "WEBP" at the correct offsets, then parse file size to extract the full WebP image.
Here is a Python sample that you can adapt:

import os
import struct

def extract_webp_from_ctex(ctex_path, output_folder):
    with open(ctex_path, 'rb') as f:
        data = f.read()

    # Search for WebP headers: "RIFF....WEBP"
    webp_indices = []
    i = 0
    while i < len(data) - 12:
        if data[i:i+4] == b'RIFF' and data[i+8:i+12] == b'WEBP':
            # Read size (bytes 4-7, little-endian)
            size_bytes = data[i+4:i+8]
            size = struct.unpack('<I', size_bytes)[0]
            # Total length = size + 8 bytes header
            total_len = size + 8
            webp_indices.append((i, total_len))
            i += total_len
        else:
            i += 1

    print(f"Found {len(webp_indices)} WebP images in {ctex_path}")

    # Extract WebP binaries
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    for idx, (start, length) in enumerate(webp_indices):
        webp_data = data[start:start+length]
        output_file = os.path.join(output_folder, f'image_{idx+1}.webp')
        with open(output_file, 'wb') as out_f:
            out_f.write(webp_data)
        print(f'Extracted {output_file} (bytes {start}-{start+length})')

def import_webp_to_ctex(original_ctex_path, new_webp_folder, output_ctex_path):
    # This is tricky, as you need to know how to splice back images properly.
    # For demonstration:
    # - Read original ctex file data
    # - Detect image offsets as before
    # - Replace each found WebP blob by corresponding new WebP file bytes
    # - Save the recombined .ctex file
    
    with open(original_ctex_path, 'rb') as f:
        data = f.read()

    # Detect original WebP blobs as before
    webp_indices = []
    i = 0
    while i < len(data) - 12:
        if data[i:i+4] == b'RIFF' and data[i+8:i+12] == b'WEBP':
            size_bytes = data[i+4:i+8]
            size = struct.unpack('<I', size_bytes)[0]
            total_len = size + 8
            webp_indices.append((i, total_len))
            i += total_len
        else:
            i += 1

    print(f"Found {len(webp_indices)} WebP images in original file")

    # Read new webp images to insert
    new_webp_files = sorted(
        [f for f in os.listdir(new_webp_folder) if f.lower().endswith('.webp')]
    )
    if len(new_webp_files) != len(webp_indices):
        raise Exception("Number of new WebP files does not match original image count!")

    output_data = bytearray()
    last_index = 0

    for (start, length), new_webp_filename in zip(webp_indices, new_webp_files):
        # Append data between last_index and current image start (keep unchanged)
        output_data.extend(data[last_index:start])
        new_webp_path = os.path.join(new_webp_folder, new_webp_filename)

        with open(new_webp_path, 'rb') as nf:
            new_webp_data = nf.read()

        # Insert new image
        output_data.extend(new_webp_data)
        last_index = start + length

    # Append remaining data after last image
    output_data.extend(data[last_index:])

    with open(output_ctex_path, 'wb') as out_f:
        out_f.write(output_data)
    print(f"New .ctex saved as {output_ctex_path}")

# Example usage
# extract_webp_from_ctex('file.ctex', 'extracted_webp')
# import_webp_to_ctex('file.ctex', 'extracted_webp', 'file_modified.ctex')
Explanation
The function extract_webp_from_ctex scans the .ctex file for embedded WebP images and extracts each to individual files.
The function import_webp_to_ctex takes the original .ctex file and a folder with the new or edited .webp images, then creates a new .ctex file substituting the original images with the new ones.
You must ensure the number and order of WebP files you put back matches the original count, otherwise the file could get corrupted or unreadable.
Notes and Limitations
This approach assumes .ctex file structure is basically a binary blob containing multiple WebP files concatenated in some form.
If the .ctex format has some metadata about offsets or lengths in a separate section, you may also need to parse/update that metadata.
If .ctex format is more complex (like compressed or encrypted), this method will not work directly.
Backup your original .ctex before testing modifications.
For very large files, you may prefer streaming/buffered processing instead of reading the whole content in memory.
Please provide your existing script or more about your .ctex format if you'd like me to adapt the code specifically or handle other aspects.

here is script below where I need it:
import os
import struct
import sys
from tqdm import tqdm

Supported resource extensions
IMAGE_EXTENSIONS = ['.stex', '.ctex']
AUDIO_EXTENSIONS = ['.oggstr', '.mp3str']

Default extension map for audio resources
EXPORT_MAP = {
'.oggstr': '.ogg',
'.mp3str': '.mp3',
}

Signatures / headers for detection
PNG_SIGNATURE = b"\x89PNG\r\n\x1a\n"
IEND_CHUNK = b"IEND"
RIFF_SIGNATURE = b"RIFF"
WEBP_FOURCC = b"WEBP"

def log_info(msg):
print(f"\033[94m[INFO]\033[0m {msg}")

def log_warn(msg):
print(f"\033[93m[WARN]\033[0m {msg}")

def log_error(msg):
print(f"\033[91m[ERROR]\033[0m {msg}")

def read_binary_resource(path):
with open(path, "rb") as f:
return f.read()

def write_binary_resource(path, data):
with open(path, "wb") as f:
f.write(data)

PNG extraction / patching
def extract_png_from_stex(filepath, output_png_path):
data = read_binary_resource(filepath)
start_idx = data.find(PNG_SIGNATURE)
if start_idx == -1:
log_warn(f"PNG signature not found in {filepath}")
return False
iend_idx = data.find(IEND_CHUNK, start_idx)
if iend_idx == -1:
log_warn(f"IEND chunk not found in {filepath}")
return False
end_idx = iend_idx + 8
if end_idx > len(data):
log_warn(f"IEND chunk end exceeds file length in {filepath}")
return False
png_data = data[start_idx:end_idx]
with open(output_png_path, "wb") as f:
f.write(png_data)
log_info(f"Extracted PNG from {filepath} ({len(png_data)} bytes) -> {output_png_path}")
return True

def patch_png_in_stex(resource_path, new_png_path, output_resource_path):
data = bytearray(read_binary_resource(resource_path))
start_idx = data.find(PNG_SIGNATURE)
if start_idx == -1:
log_warn(f"PNG signature not found in {resource_path}")
return False
iend_idx = data.find(IEND_CHUNK, start_idx)
if iend_idx == -1:
log_warn(f"IEND chunk not found in {resource_path}")
return False
end_idx = iend_idx + 8
original_len = end_idx - start_idx
with open(new_png_path, "rb") as f:
new_png_data = f.read()
if len(new_png_data) > original_len:
log_error(f"Imported PNG {new_png_path} larger ({len(new_png_data)} bytes) than original ({original_len} bytes); skipping.")
return False
data[start_idx:start_idx + len(new_png_data)] = new_png_data
if len(new_png_data) < original_len:
pad_len = original_len - len(new_png_data)
data[start_idx + len(new_png_data):end_idx] = b'\x00' * pad_len
log_info(f"Padded new PNG with {pad_len} zero bytes")
write_binary_resource(output_resource_path, data)
log_info(f"Patched PNG in {resource_path} -> {output_resource_path}")
return True

WEBP extraction / patching
def extract_webp_from_stex(filepath, output_webp_path):
data = read_binary_resource(filepath)
start_idx = data.find(RIFF_SIGNATURE)
if start_idx == -1:
log_warn(f"RIFF signature not found in {filepath}")
return False
if data[start_idx + 8:start_idx + 12] != WEBP_FOURCC:
log_warn(f"WEBP fourcc not found after RIFF header in {filepath}")
return False
chunk_size_bytes = data[start_idx + 4:start_idx + 8]
chunk_size = struct.unpack("<I", chunk_size_bytes)[0]
end_idx = start_idx + 8 + chunk_size
if end_idx > len(data):
log_warn(f"Computed WEBP chunk size exceeds file length in {filepath}")
return False
webp_data = data[start_idx:end_idx]
with open(output_webp_path, "wb") as f:
f.write(webp_data)
log_info(f"Extracted WEBP from {filepath} ({len(webp_data)} bytes) -> {output_webp_path}")
return True

def patch_webp_in_stex(resource_path, new_webp_path, output_resource_path):
data = bytearray(read_binary_resource(resource_path))
start_idx = data.find(RIFF_SIGNATURE)
if start_idx == -1:
log_warn(f"RIFF signature not found in {resource_path}")
return False
if data[start_idx + 8:start_idx + 12] != WEBP_FOURCC:
log_warn(f"WEBP fourcc not found after RIFF header in {resource_path}")
return False
chunk_size = struct.unpack("<I", data[start_idx + 4:start_idx + 8])[0]
end_idx = start_idx + 8 + chunk_size
with open(new_webp_path, "rb") as f:
new_webp_data = f.read()
if len(new_webp_data) > (end_idx - start_idx):
log_error(f"New WEBP file {new_webp_path} larger than embedded data; skipping")
return False
data[start_idx:start_idx + len(new_webp_data)] = new_webp_data
if len(new_webp_data) < (end_idx - start_idx):
pad_len = (end_idx - start_idx) - len(new_webp_data)
data[start_idx + len(new_webp_data):end_idx] = b'\x00' * pad_len
log_info(f"Padded new WEBP data with {pad_len} zero bytes")
write_binary_resource(output_resource_path, data)
log_info(f"Patched WEBP data in {resource_path} -> {output_resource_path}")
return True

Audio extraction / patching
def find_audio_section(data):
signatures = [b"OggS", b"ID3", b"RIFF"]
positions = [data.find(sig) for sig in signatures if data.find(sig) != -1]
if not positions:
return None
start = min(positions)
length = len(data) - start
return start, length

def extract_audio_data(resource_path, output_path):
data = read_binary_resource(resource_path)
chunk = find_audio_section(data)
if chunk is None:
log_warn(f"No embedded audio signature found in {resource_path}")
return False
start, length = chunk
embedded = data[start:start + length]
with open(output_path, "wb") as f:
f.write(embedded)
log_info(f"Extracted audio data from {resource_path} ({length} bytes) -> {output_path}")
return True

def patch_audio_data(resource_path, new_audio_path, output_resource_path):
data = bytearray(read_binary_resource(resource_path))
chunk = find_audio_section(data)
if chunk is None:
log_warn(f"No embedded audio signature found in {resource_path}")
return False
start, length = chunk
with open(new_audio_path, "rb") as f:
new_data = f.read()
if len(new_data) > length:
log_error(f"New audio file {new_audio_path} larger than embedded data ({len(new_data)} > {length}), skipping")
return False
data[start:start + len(new_data)] = new_data
if len(new_data) < length:
pad_len = length - len(new_data)
data[start + len(new_data):start + length] = b'\x00' * pad_len
log_info(f"Padded new audio data with {pad_len} zero bytes")
write_binary_resource(output_resource_path, data)
log_info(f"Patched audio data in {resource_path} -> {output_resource_path}")
return True

Image extraction dispatch
def extract_embedded_image(resource_path, output_path):
data = read_binary_resource(resource_path)
if PNG_SIGNATURE in data:
return extract_png_from_stex(resource_path, output_path)
elif (RIFF_SIGNATURE in data) and (WEBP_FOURCC in data):
return extract_webp_from_stex(resource_path, output_path)
else:
log_warn(f"No known image signature (PNG/WEBP) found in {resource_path}")
return False

def patch_embedded_image(resource_path, new_image_path, output_resource_path):
ext = os.path.splitext(new_image_path)[1].lower()
if ext == ".png":
return patch_png_in_stex(resource_path, new_image_path, output_resource_path)
elif ext == ".webp":
return patch_webp_in_stex(resource_path, new_image_path, output_resource_path)
else:
log_warn(f"Unsupported image file extension for patching: {ext}")
return False

Unified extract and patch data
def extract_embedded_data(resource_path, output_path):
ext = os.path.splitext(resource_path)[1].lower()


if ext in IMAGE_EXTENSIONS:
    return extract_embedded_image(resource_path, output_path)
elif ext in AUDIO_EXTENSIONS:
    return extract_audio_data(resource_path, output_path)
else:
    log_warn(f"Unsupported resource type {ext} for extraction: {resource_path}")
    return False
def patch_embedded_data(resource_path, new_file_path, output_resource_path):
ext = os.path.splitext(resource_path)[1].lower()


if ext in IMAGE_EXTENSIONS:
    return patch_embedded_image(resource_path, new_file_path, output_resource_path)
elif ext in AUDIO_EXTENSIONS:
    return patch_audio_data(resource_path, new_file_path, output_resource_path)
else:
    log_warn(f"Unsupported resource type {ext} for patching: {resource_path}")
    return False
Bulk export
def export_folder(input_folder):
candidate_files = []
for root, _, files in os.walk(input_folder):
for file in files:
ext = os.path.splitext(file)[1].lower()
if ext in IMAGE_EXTENSIONS + AUDIO_EXTENSIONS:
candidate_files.append(os.path.join(root, file))


if not candidate_files:
    log_warn("No resources found for export.")
    return

log_info(f"Exporting {len(candidate_files)} files...")

for full_path in tqdm(candidate_files, unit="file"):
    root = os.path.dirname(full_path)
    filename = os.path.basename(full_path)
    name_no_ext, ext = os.path.splitext(filename)
    ext_lower = ext.lower()

    # Determine output extension based on actual embedded image signature or export map for audio
    output_ext = None
    if ext_lower in IMAGE_EXTENSIONS:
        data = read_binary_resource(full_path)
        if PNG_SIGNATURE in data:
            output_ext = ".png"
        elif RIFF_SIGNATURE in data and WEBP_FOURCC in data:
            output_ext = ".webp"
        else:
            log_warn(f"Unknown or unsupported embedded image format in {full_path}, defaulting to .png")
            output_ext = ".png"
    else:
        output_ext = EXPORT_MAP.get(ext_lower)

    if not output_ext:
        log_warn(f"Skipping unsupported extension {ext} in {full_path}")
        continue

    output_file = os.path.join(root, name_no_ext + output_ext)

    if os.path.exists(output_file):
        log_warn(f"Export file already exists, skipping: {output_file}")
        continue

    try:
        extract_embedded_data(full_path, output_file)
    except Exception as e:
        log_error(f"Error exporting {full_path}: {e}")
Bulk import
def import_folder(input_folder):
candidate_resources = []
for root, _, files in os.walk(input_folder):
for file in files:
ext = os.path.splitext(file)[1].lower()
if ext in IMAGE_EXTENSIONS + AUDIO_EXTENSIONS:
candidate_resources.append(os.path.join(root, file))


if not candidate_resources:
    log_warn("No resources found for import.")
    return

log_info(f"Importing {len(candidate_resources)} files...")

for resource_path in tqdm(candidate_resources, unit="file"):
    root = os.path.dirname(resource_path)
    filename = os.path.basename(resource_path)
    name_no_ext, ext = os.path.splitext(filename)
    ext_lower = ext.lower()

    if ext_lower in IMAGE_EXTENSIONS:
        expected_png = os.path.join(root, name_no_ext + ".png")
        expected_webp = os.path.join(root, name_no_ext + ".webp")

        new_file = None
        if os.path.exists(expected_png):
            new_file = expected_png
        elif os.path.exists(expected_webp):
            new_file = expected_webp
        else:
            log_warn(f"No imported image sidecar (.png or .webp) found for {resource_path}")
            continue

    elif ext_lower in AUDIO_EXTENSIONS:
        expected_audio = os.path.join(root, name_no_ext + EXPORT_MAP.get(ext_lower, ""))
        if not os.path.exists(expected_audio):
            log_warn(f"No imported audio sidecar found for {resource_path} at expected {expected_audio}")
            continue
        new_file = expected_audio

    else:
        continue

    try:
        if patch_embedded_data(resource_path, new_file, resource_path):
            os.remove(new_file)
            log_info(f"Removed imported file {new_file}")
        else:
            log_warn(f"Failed to patch {resource_path} with {new_file}; skipping delete")
    except Exception as e:
        log_error(f"Error patching {resource_path} with {new_file}: {e}")
def main():
import argparse


parser = argparse.ArgumentParser(description="Bulk export/import Godot resources keeping full original filenames, replacing extensions.")
parser.add_argument("mode", choices=["export", "import"], help="export or import mode")
parser.add_argument("folder", help="Directory to recursively process")

args = parser.parse_args()

if not os.path.isdir(args.folder):
    log_error(f"Folder {args.folder} does not exist or is not a directory")
    sys.exit(1)

if args.mode == "export":
    export_folder(args.folder)
elif args.mode == "import":
    import_folder(args.folder)
else:
    log_error("Unknown mode")
    sys.exit(1)
if name == "main":
main()

Thanks for sharing your full script! It currently supports extraction and patching of one PNG or one WebP per .stex or .ctex resource file, by scanning for the first matching signature.

Your need:
Your .ctex files may contain multiple WebP images embedded concatenated, and you want to extend your script code to:

Detect and extract multiple WebP images (not just the first one) from a .ctex file.
Patch multiple WebP images back into the .ctex file during import.
What needs to be changed?
For extract_webp_from_stex and patch_webp_in_stex, currently you:

Find only the first RIFF + WEBP
Extract/patch just one image
You want to:

Find all occurrences of WebP images
Extract all as separate files (probably image_1.webp, image_2.webp, etc.)
During patch/import, replace all WebP images in the same order with new images from a folder
Below is a modified version of the key functions and related changes that support multiple WebP images in .ctex:

def find_all_webp_images(data):
    """Find positions and lengths of all WebP images in data."""
    positions = []
    i = 0
    while i < len(data) - 12:
        if data[i:i+4] == RIFF_SIGNATURE and data[i+8:i+12] == WEBP_FOURCC:
            chunk_size = struct.unpack("<I", data[i+4:i+8])[0]
            total_len = 8 + chunk_size
            # Sanity check on size
            if i + total_len > len(data):
                # Probably invalid or truncated, stop
                break
            positions.append((i, total_len))
            i += total_len
        else:
            i += 1
    return positions


def extract_webp_from_ctex(filepath, output_folder):
    """Extract multiple WebP images from a .ctex file to output_folder."""
    data = read_binary_resource(filepath)
    webp_positions = find_all_webp_images(data)
    if not webp_positions:
        log_warn(f"No WebP images found in {filepath}")
        return False

    if not os.path.isdir(output_folder):
        os.makedirs(output_folder)

    for idx, (start, length) in enumerate(webp_positions, 1):
        webp_data = data[start:start+length]
        output_path = os.path.join(output_folder, f"{os.path.basename(filepath)}_image_{idx}.webp")
        with open(output_path, "wb") as f:
            f.write(webp_data)
        log_info(f"Extracted WebP #{idx} from {filepath} to {output_path}")

    return True


def patch_webp_in_ctex(resource_path, new_webp_folder, output_resource_path):
    """Patch multiple WebP images back into the .ctex file from new_webp_folder."""
    data = bytearray(read_binary_resource(resource_path))
    webp_positions = find_all_webp_images(data)
    if not webp_positions:
        log_warn(f"No WebP images found in {resource_path}")
        return False

    # Gather list of new images, sorted by name (assuming you name them like *_image_1.webp etc)
    new_webps = sorted(f for f in os.listdir(new_webp_folder) if f.lower().endswith('.webp'))
    if len(new_webps) != len(webp_positions):
        log_error(f"Number of new WebP files ({len(new_webps)}) does not match embedded WebP count ({len(webp_positions)}) in {resource_path}")
        return False

    for (start, length), new_filename in zip(webp_positions, new_webps):
        new_path = os.path.join(new_webp_folder, new_filename)
        with open(new_path, "rb") as f:
            new_data = f.read()
        if len(new_data) > length:
            log_warn(f"New WebP {new_path} is larger than original embedded ({len(new_data)} > {length}); skipping patch.")
            continue

        # Replace embedded data
        data[start:start+len(new_data)] = new_data
        # Pad with zeros if smaller
        if len(new_data) < length:
            pad_len = length - len(new_data)
            data[start+len(new_data):start+length] = b'\x00' * pad_len
            log_info(f"Padded new WebP {new_path} with {pad_len} zero bytes")

        log_info(f"Patched WebP {new_path} into {resource_path}")

    write_binary_resource(output_resource_path, data)
    log_info(f"Written patched .ctex file: {output_resource_path}")
    return True
How to integrate into your script:
Replace your current extract_webp_from_stex with extract_webp_from_ctex above.
Replace your current patch_webp_in_stex with patch_webp_in_ctex above.
Update your dispatch functions to call these functions for .ctex files instead of .stex if you want:
In your extract_embedded_image:


def extract_embedded_image(resource_path, output_path_or_folder):
    data = read_binary_resource(resource_path)
    ext = os.path.splitext(resource_path)[1].lower()
    if PNG_SIGNATURE in data:
        return extract_png_from_stex(resource_path, output_path_or_folder)  # expects single PNG path
    elif (RIFF_SIGNATURE in data) and (WEBP_FOURCC in data):
        if ext == '.ctex':
            return extract_webp_from_ctex(resource_path, output_path_or_folder)  # folder for multiple files
        else:
            return extract_webp_from_stex(resource_path, output_path_or_folder)  # single file
    else:
        log_warn(f"No known image signature (PNG/WEBP) found in {resource_path}")
        return False
Similarly for patch_embedded_image:


def patch_embedded_image(resource_path, new_image_path_or_folder, output_resource_path):
    ext = os.path.splitext(resource_path)[1].lower()
    if ext == '.ctex':
        # patch webp multiple images from folder
        return patch_webp_in_ctex(resource_path, new_image_path_or_folder, output_resource_path)
    else:
        ext_new = os.path.splitext(new_image_path_or_folder)[1].lower()
        if ext_new == ".png":
            return patch_png_in_stex(resource_path, new_image_path_or_folder, output_resource_path)
        elif ext_new == ".webp":
            return patch_webp_in_stex(resource_path, new_image_path_or_folder, output_resource_path)
        else:
            log_warn(f"Unsupported image file extension for patching: {ext_new}")
            return False
How this changes your usage pattern:
For .ctex files, export will output multiple webp files into a folder named after the .ctex file.
For .ctex files, import expects a folder with the corresponding numbered webp files to patch back.
You may want to modify your export_folder and import_folder to:

Create/read folders for .ctex files for these multiple extracted webp images.
Example skeleton in export_folder:


if ext_lower == '.ctex' and RIFF_SIGNATURE in data and WEBP_FOURCC in data:
    # export multiple webp images into folder
    output_dir = os.path.join(root, name_no_ext + "_webp_export")
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    extract_webp_from_ctex(full_path, output_dir)
else:
    # your standard export (single png/webp)
Similarly for import:


if ext_lower == '.ctex':
    input_dir = os.path.join(root, name_no_ext + "_webp_export")
    if not os.path.exists(input_dir):
        log_warn(f"No webp export folder for {resource_path}: {input_dir}")
        continue
    patch_webp_in_ctex(resource_path, input_dir, resource_path)
else:
    # your normal import
Summary
Added support for multiple WebP images discovery and extraction/patching inside .ctex
Switched export/import logic for .ctex to work on folders of webp files
Kept backward compatibility for regular .stex or single webp
If you want I can help you integrate those changes into your full script with exact diff/updates or even generate a full updated version. Just let me know!

yes

Sure! Below is a full updated version of your script extended to handle multiple WebP images inside .ctex files by exporting/importing a folder of .webp files per .ctex resource.

What changed?
Added find_all_webp_images() helper to find all WebP images.
Modified extract_webp_from_ctex() to extract all WebPs to a folder.
Modified patch_webp_in_ctex() to patch all WebPs from a folder.
Modified extract_embedded_image() and patch_embedded_image() to use .ctex multiple image logic.
Adjusted export_folder() and import_folder() to handle .ctex folders instead of single files.
Added clear info/warnings about folder usage for .ctex.

import os
import struct
import sys
from tqdm import tqdm

# Supported resource extensions
IMAGE_EXTENSIONS = ['.stex', '.ctex']
AUDIO_EXTENSIONS = ['.oggstr', '.mp3str']

# Default extension map for audio resources
EXPORT_MAP = {
    '.oggstr': '.ogg',
    '.mp3str': '.mp3',
}

# Signatures / headers for detection
PNG_SIGNATURE = b"\x89PNG\r\n\x1a\n"
IEND_CHUNK = b"IEND"
RIFF_SIGNATURE = b"RIFF"
WEBP_FOURCC = b"WEBP"


def log_info(msg):
    print(f"\033[94m[INFO]\033[0m {msg}")


def log_warn(msg):
    print(f"\033[93m[WARN]\033[0m {msg}")


def log_error(msg):
    print(f"\033[91m[ERROR]\033[0m {msg}")


def read_binary_resource(path):
    with open(path, "rb") as f:
        return f.read()


def write_binary_resource(path, data):
    with open(path, "wb") as f:
        f.write(data)


### PNG extraction / patching ###

def extract_png_from_stex(filepath, output_png_path):
    data = read_binary_resource(filepath)
    start_idx = data.find(PNG_SIGNATURE)
    if start_idx == -1:
        log_warn(f"PNG signature not found in {filepath}")
        return False
    iend_idx = data.find(IEND_CHUNK, start_idx)
    if iend_idx == -1:
        log_warn(f"IEND chunk not found in {filepath}")
        return False
    end_idx = iend_idx + 8
    if end_idx > len(data):
        log_warn(f"IEND chunk end exceeds file length in {filepath}")
        return False
    png_data = data[start_idx:end_idx]
    with open(output_png_path, "wb") as f:
        f.write(png_data)
    log_info(f"Extracted PNG from {filepath} ({len(png_data)} bytes) -> {output_png_path}")
    return True


def patch_png_in_stex(resource_path, new_png_path, output_resource_path):
    data = bytearray(read_binary_resource(resource_path))
    start_idx = data.find(PNG_SIGNATURE)
    if start_idx == -1:
        log_warn(f"PNG signature not found in {resource_path}")
        return False
    iend_idx = data.find(IEND_CHUNK, start_idx)
    if iend_idx == -1:
        log_warn(f"IEND chunk not found in {resource_path}")
        return False
    end_idx = iend_idx + 8
    original_len = end_idx - start_idx
    with open(new_png_path, "rb") as f:
        new_png_data = f.read()
    if len(new_png_data) > original_len:
        log_error(f"Imported PNG {new_png_path} larger ({len(new_png_data)} bytes) than original ({original_len} bytes); skipping.")
        return False
    data[start_idx:start_idx + len(new_png_data)] = new_png_data
    if len(new_png_data) < original_len:
        pad_len = original_len - len(new_png_data)
        data[start_idx + len(new_png_data):end_idx] = b'\x00' * pad_len
        log_info(f"Padded new PNG with {pad_len} zero bytes")
    write_binary_resource(output_resource_path, data)
    log_info(f"Patched PNG in {resource_path} -> {output_resource_path}")
    return True


### WEBP extraction / patching MULTIPLE for .ctex ###

def find_all_webp_images(data):
    """Find positions and lengths of all WebP images in data."""
    positions = []
    i = 0
    while i < len(data) - 12:
        if data[i:i+4] == RIFF_SIGNATURE and data[i+8:i+12] == WEBP_FOURCC:
            chunk_size = struct.unpack("<I", data[i+4:i+8])[0]
            total_len = 8 + chunk_size
            # Sanity check on size
            if i + total_len > len(data):
                # Might be corrupted or truncated; break out 
                break
            positions.append((i, total_len))
            i += total_len
        else:
            i += 1
    return positions


def extract_webp_from_ctex(filepath, output_folder):
    """Extract multiple WebP images from a .ctex file to output_folder."""
    data = read_binary_resource(filepath)
    webp_positions = find_all_webp_images(data)
    if not webp_positions:
        log_warn(f"No WebP images found in {filepath}")
        return False

    if not os.path.isdir(output_folder):
        os.makedirs(output_folder)

    for idx, (start, length) in enumerate(webp_positions, 1):
        webp_data = data[start:start+length]
        output_path = os.path.join(output_folder, f'image_{idx}.webp')
        with open(output_path, "wb") as f:
            f.write(webp_data)
        log_info(f"Extracted WebP #{idx} from {filepath} to {output_path}")

    return True


def patch_webp_in_ctex(resource_path, new_webp_folder, output_resource_path):
    """Patch multiple WebP images back into the .ctex file from new_webp_folder."""
    data = bytearray(read_binary_resource(resource_path))
    webp_positions = find_all_webp_images(data)
    if not webp_positions:
        log_warn(f"No WebP images found in {resource_path}")
        return False

    new_webps = sorted(f for f in os.listdir(new_webp_folder) if f.lower().endswith('.webp'))
    if len(new_webps) != len(webp_positions):
        log_error(f"Number of new WebP files ({len(new_webps)}) does not match embedded WebP count ({len(webp_positions)}) in {resource_path}")
        return False

    for (start, length), new_filename in zip(webp_positions, new_webps):
        new_path = os.path.join(new_webp_folder, new_filename)
        with open(new_path, "rb") as f:
            new_data = f.read()
        if len(new_data) > length:
            log_warn(f"New WebP {new_path} is larger than original embedded ({len(new_data)} > {length}); skipping patch.")
            continue

        # Replace existing image data with new data
        data[start:start+len(new_data)] = new_data
        if len(new_data) < length:
            pad_len = length - len(new_data)
            data[start+len(new_data):start+length] = b'\x00' * pad_len
            log_info(f"Padded new WebP {new_path} with {pad_len} zero bytes")

        log_info(f"Patched WebP {new_path} into {resource_path}")

    write_binary_resource(output_resource_path, data)
    log_info(f"Written patched .ctex file: {output_resource_path}")
    return True


# Keep previous single WebP extraction for `.stex` files:

def extract_webp_from_stex(filepath, output_webp_path):
    data = read_binary_resource(filepath)
    start_idx = data.find(RIFF_SIGNATURE)
    if start_idx == -1:
        log_warn(f"RIFF signature not found in {filepath}")
        return False
    if data[start_idx + 8:start_idx + 12] != WEBP_FOURCC:
        log_warn(f"WEBP fourcc not found after RIFF header in {filepath}")
        return False
    chunk_size_bytes = data[start_idx + 4:start_idx + 8]
    chunk_size = struct.unpack("<I", chunk_size_bytes)[0]
    end_idx = start_idx + 8 + chunk_size
    if end_idx > len(data):
        log_warn(f"Computed WEBP chunk size exceeds file length in {filepath}")
        return False
    webp_data = data[start_idx:end_idx]
    with open(output_webp_path, "wb") as f:
        f.write(webp_data)
    log_info(f"Extracted WEBP from {filepath} ({len(webp_data)} bytes) -> {output_webp_path}")
    return True


def patch_webp_in_stex(resource_path, new_webp_path, output_resource_path):
    data = bytearray(read_binary_resource(resource_path))
    start_idx = data.find(RIFF_SIGNATURE)
    if start_idx == -1:
        log_warn(f"RIFF signature not found in {resource_path}")
        return False
    if data[start_idx + 8:start_idx + 12] != WEBP_FOURCC:
        log_warn(f"WEBP fourcc not found after RIFF header in {resource_path}")
        return False
    chunk_size = struct.unpack("<I", data[start_idx + 4:start_idx + 8])[0]
    end_idx = start_idx + 8 + chunk_size
    with open(new_webp_path, "rb") as f:
        new_webp_data = f.read()
    if len(new_webp_data) > (end_idx - start_idx):
        log_error(f"New WEBP file {new_webp_path} larger than embedded data; skipping")
        return False
    data[start

Error