From 721776c30ed5fba1e52c0efc1b6e434ca10ad6bb Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Sun, 15 Dec 2024 18:01:20 +0100 Subject: [PATCH 01/18] Support for Vobsub subtitles --- .../text/DefaultSubtitleParserFactory.java | 6 + .../extractor/text/vobsub/VobsubParser.java | 342 ++++++++++++++++++ .../extractor/text/vobsub/package-info.java | 19 + 3 files changed, 367 insertions(+) create mode 100644 libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java create mode 100644 libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/package-info.java diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/DefaultSubtitleParserFactory.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/DefaultSubtitleParserFactory.java index b2a271956b..0f3d49a970 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/DefaultSubtitleParserFactory.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/DefaultSubtitleParserFactory.java @@ -22,6 +22,7 @@ import androidx.media3.common.MimeTypes; import androidx.media3.common.util.UnstableApi; import androidx.media3.extractor.text.dvb.DvbParser; import androidx.media3.extractor.text.pgs.PgsParser; +import androidx.media3.extractor.text.vobsub.VobsubParser; import androidx.media3.extractor.text.ssa.SsaParser; import androidx.media3.extractor.text.subrip.SubripParser; import androidx.media3.extractor.text.ttml.TtmlParser; @@ -58,6 +59,7 @@ public final class DefaultSubtitleParserFactory implements SubtitleParser.Factor || Objects.equals(mimeType, MimeTypes.APPLICATION_SUBRIP) || Objects.equals(mimeType, MimeTypes.APPLICATION_TX3G) || Objects.equals(mimeType, MimeTypes.APPLICATION_PGS) + || Objects.equals(mimeType, MimeTypes.APPLICATION_VOBSUB) || Objects.equals(mimeType, MimeTypes.APPLICATION_DVBSUBS) || Objects.equals(mimeType, MimeTypes.APPLICATION_TTML); } @@ -79,6 +81,8 @@ public final class DefaultSubtitleParserFactory implements SubtitleParser.Factor return Tx3gParser.CUE_REPLACEMENT_BEHAVIOR; case MimeTypes.APPLICATION_PGS: return PgsParser.CUE_REPLACEMENT_BEHAVIOR; + case MimeTypes.APPLICATION_VOBSUB: + return VobsubParser.CUE_REPLACEMENT_BEHAVIOR; case MimeTypes.APPLICATION_DVBSUBS: return DvbParser.CUE_REPLACEMENT_BEHAVIOR; case MimeTypes.APPLICATION_TTML: @@ -107,6 +111,8 @@ public final class DefaultSubtitleParserFactory implements SubtitleParser.Factor return new Tx3gParser(format.initializationData); case MimeTypes.APPLICATION_PGS: return new PgsParser(); + case MimeTypes.APPLICATION_VOBSUB: + return new VobsubParser(format.initializationData); case MimeTypes.APPLICATION_DVBSUBS: return new DvbParser(format.initializationData); case MimeTypes.APPLICATION_TTML: diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java new file mode 100644 index 0000000000..5e1f9e964f --- /dev/null +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -0,0 +1,342 @@ +package androidx.media3.extractor.text.vobsub; + + +import android.graphics.Bitmap; +import androidx.annotation.Nullable; +import androidx.media3.common.C; +import androidx.media3.common.Format; +import androidx.media3.common.Format.CueReplacementBehavior; +import androidx.media3.common.text.Cue; +import androidx.media3.common.util.Consumer; +import androidx.media3.common.util.ParsableBitArray; +import androidx.media3.common.util.ParsableByteArray; +import androidx.media3.common.util.UnstableApi; +import androidx.media3.common.util.Util; +import androidx.media3.extractor.text.CuesWithTiming; +import androidx.media3.extractor.text.SubtitleParser; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; +import java.util.zip.Inflater; + +// Much of this is taken from or very similar to PgsParser + +/** A {@link SubtitleParser} for Vobsub subtitles. */ +@UnstableApi +public final class VobsubParser implements SubtitleParser { + + /** + * The {@link CueReplacementBehavior} for consecutive {@link CuesWithTiming} emitted by this + * implementation. + */ + public static final @CueReplacementBehavior int CUE_REPLACEMENT_BEHAVIOR = + Format.CUE_REPLACEMENT_BEHAVIOR_REPLACE; + + private static final int DEFAULT_DURATION = 5000000; + + private static final int CMD_COLORS = 3; + private static final int CMD_ALPHA = 4; + private static final int CMD_AREA = 5; + private static final int CMD_OFFSETS = 6; + private static final int CMD_END = 255; + + private static final int INFLATE_HEADER = 0x78; + + private final ParsableByteArray buffer; + private final ParsableByteArray inflatedBuffer; + private final CueBuilder cueBuilder; + @Nullable private Inflater inflater; + + public VobsubParser(List initializationData) { + + buffer = new ParsableByteArray(); + inflatedBuffer = new ParsableByteArray(); + cueBuilder = new CueBuilder(); + cueBuilder.parseIdx(new String(initializationData.get(0), StandardCharsets.UTF_8)); + } + + @Override + public @CueReplacementBehavior int getCueReplacementBehavior() { + return CUE_REPLACEMENT_BEHAVIOR; + } + + @Override + public void parse( + byte[] data, + int offset, + int length, + OutputOptions outputOptions, + Consumer output) { + + buffer.reset(data, offset + length); + buffer.setPosition(offset); + maybeInflateData(buffer); + + cueBuilder.reset(); + ArrayList cues = new ArrayList<>(); + Cue cue = null; + + int blen = buffer.bytesLeft(); + if (blen >= 2) { + int len = buffer.readUnsignedShort(); + + if (len == blen) { + cueBuilder.parseSpu(buffer); + cue = cueBuilder.build(buffer); + } + } + if (cue != null) { + cues.add(cue); + } + output.accept( + new CuesWithTiming( + cues, /* startTimeUs= */ C.TIME_UNSET, /* durationUs= */ DEFAULT_DURATION)); + } + + // directly taken from PgsParser + + private void maybeInflateData(ParsableByteArray buffer) { + if (buffer.bytesLeft() > 0 && buffer.peekUnsignedByte() == INFLATE_HEADER) { + if (inflater == null) { + inflater = new Inflater(); + } + if (Util.inflate(buffer, inflatedBuffer, inflater)) { + buffer.reset(inflatedBuffer.getData(), inflatedBuffer.limit()); + } // else assume data is not compressed. + } + } + + private static final class CueBuilder { + + private boolean hasPlane; + private boolean hasColors; + private boolean hasPosition; + private boolean hasDataOffsets; + private int[] palette; + private int planeWidth; + private int planeHeight; + private int[] colors; + private int x0, y0, x1, y1, width, height; + private int dataOffset0, dataOffset1; + private int dataSize; + + public CueBuilder() { + hasPlane = false; + hasColors = false; + hasPosition = false; + hasDataOffsets = false; + palette = null; + colors = new int[4]; + } + + public void parseIdx(String idx) { + for (String line : idx.trim().split("\\r?\\n")) { + if (line.startsWith("palette: ")) { + String[] values = line.substring(9).split(","); + int l = values.length; + + palette = new int[l]; + + for (int i = 0; i < l; i++) { + palette[i] = parseColor(values[i].trim()); + } + } else if (line.startsWith("size: ")) { + String[] sizes = line.substring(6).trim().split("x"); + + if (sizes.length == 2) { + try { + planeWidth = Integer.parseInt(sizes[0]); + planeHeight = Integer.parseInt(sizes[1]); + hasPlane = true; + } catch (Exception e) { + } + } + } + } + } + + private int parseColor(String value) { + try { + return Integer.parseInt(value, 16); + } catch (Exception e) { + } + + return 0; + } + + public void parseSpu(ParsableByteArray buffer) { + + if (palette == null || !hasPlane) return; + + int pos = buffer.getPosition(); + + dataSize = buffer.readUnsignedShort(); + pos += dataSize; + buffer.setPosition(pos); + + int end = buffer.readUnsignedShort(); + parseControl(buffer, end); + } + + private void parseControl(ParsableByteArray buffer, int end) { + int t, d0, d1, d2; + + while (buffer.getPosition() < end && buffer.bytesLeft() > 0) { + t = buffer.readUnsignedByte(); + + switch (t) { + case CMD_COLORS: + if (buffer.bytesLeft() < 2) return; + + d0 = buffer.readUnsignedByte(); + d1 = buffer.readUnsignedByte(); + colors[3] = getColor(d0 >> 4); + colors[2] = getColor(d0 & 0xf); + colors[1] = getColor(d1 >> 4); + colors[0] = getColor(d1 & 0xf); + hasColors = true; + break; + + case CMD_ALPHA: + if (buffer.bytesLeft() < 2) return; + + d0 = buffer.readUnsignedByte(); + d1 = buffer.readUnsignedByte(); + + colors[3] = setAlpha(colors[3], (d0 >> 4)); + colors[2] = setAlpha(colors[2], (d0 & 0xf)); + colors[1] = setAlpha(colors[1], (d1 >> 4)); + colors[0] = setAlpha(colors[0], (d1 & 0xf)); + break; + + case CMD_AREA: + if (buffer.bytesLeft() < 6) return; + d0 = buffer.readUnsignedByte(); + d1 = buffer.readUnsignedByte(); + d2 = buffer.readUnsignedByte(); + x0 = (d0 << 4) | (d1 >> 4); + x1 = ((d1 & 0xf) << 8) | d2; + d0 = buffer.readUnsignedByte(); + d1 = buffer.readUnsignedByte(); + d2 = buffer.readUnsignedByte(); + y0 = (d0 << 4) | (d1 >> 4); + y1 = ((d1 & 0xf) << 8) | d2; + width = x1 - x0 + 1; + height = y1 - y0 + 1; + hasPosition = true; + break; + + case CMD_OFFSETS: + if (buffer.bytesLeft() < 4) return; + dataOffset0 = buffer.readUnsignedShort(); + dataOffset1 = buffer.readUnsignedShort(); + hasDataOffsets = true; + break; + + case CMD_END: + return; + } + } + } + + private int getColor(int index) { + if (index >= 0 && index < palette.length) return palette[index]; + return palette[0]; + } + + private int setAlpha(int color, int alpha) { + return ((color & 0x00ffffff) | ((alpha * 17) << 24)); + } + + public Cue build(ParsableByteArray buffer) { + if (palette == null + || !hasPlane + || !hasColors + || !hasPosition + || !hasDataOffsets + || width < 2 + || height < 2) { + return null; + } + int[] bitmapData = new int[width * height]; + ParsableBitArray bitBuffer = new ParsableBitArray(); + + buffer.setPosition(dataOffset0); + bitBuffer.reset(buffer); + parseRleData(bitmapData, bitBuffer, 0); + buffer.setPosition(dataOffset1); + bitBuffer.reset(buffer); + parseRleData(bitmapData, bitBuffer, 1); + + Bitmap bitmap = Bitmap.createBitmap(bitmapData, width, height, Bitmap.Config.ARGB_8888); + + return new Cue.Builder() + .setBitmap(bitmap) + .setPosition((float) x0 / planeWidth) + .setPositionAnchor(Cue.ANCHOR_TYPE_START) + .setLine((float) y0 / planeHeight, Cue.LINE_TYPE_FRACTION) + .setLineAnchor(Cue.ANCHOR_TYPE_START) + .setSize((float) width / planeWidth) + .setBitmapHeight((float) height / planeHeight) + .build(); + } + + private void parseRleData(int[] bitmapData, ParsableBitArray bitBuffer, int y) { + int x = 0; + int l = 0; + int i = y * width; + Run run = new Run(); + + while (true) { + parseRun(bitBuffer, run); + + l = run.length; + if (l > width - x) l = width - x; + + while (l > 0) { + bitmapData[i++] = run.color; + x++; + l--; + } + if (x >= width) { + y += 2; + if (y >= height) break; + x = 0; + i = y * width; + bitBuffer.byteAlign(); + } + } + } + + private void parseRun(ParsableBitArray bitBuffer, Run run) { + int v = 0; + int t = 1; + int b; + + while (v < t && t <= 0x40) { + if (bitBuffer.bitsLeft() < 4) { + run.color = 0; + run.length = 0; + return; + } + b = bitBuffer.readBits(4); + v = (v << 4) | b; + t <<= 2; + } + run.color = colors[v & 3]; + if (v < 4) run.length = width; + else run.length = (v >> 2); + } + + public void reset() { + hasColors = false; + hasPosition = false; + hasDataOffsets = false; + } + + private class Run { + public int color; + public int length; + } + } +} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/package-info.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/package-info.java new file mode 100644 index 0000000000..90813c0bed --- /dev/null +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/package-info.java @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@NonNullApi +package androidx.media3.extractor.text.vobsub; + +import androidx.media3.common.util.NonNullApi; From 7fbf511d301b199a5d8f15a685ad53bd58a95f6a Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Sun, 15 Dec 2024 18:06:06 +0100 Subject: [PATCH 02/18] Small fix --- .../androidx/media3/extractor/text/vobsub/VobsubParser.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index 5e1f9e964f..6d9bb5f2b5 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -211,6 +211,7 @@ public final class VobsubParser implements SubtitleParser { case CMD_AREA: if (buffer.bytesLeft() < 6) return; + d0 = buffer.readUnsignedByte(); d1 = buffer.readUnsignedByte(); d2 = buffer.readUnsignedByte(); @@ -228,6 +229,7 @@ public final class VobsubParser implements SubtitleParser { case CMD_OFFSETS: if (buffer.bytesLeft() < 4) return; + dataOffset0 = buffer.readUnsignedShort(); dataOffset1 = buffer.readUnsignedShort(); hasDataOffsets = true; From 27a6883768d93ee6a090158f97119435bc3c215c Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Sun, 15 Dec 2024 18:08:02 +0100 Subject: [PATCH 03/18] Another small fix --- .../media3/extractor/text/vobsub/VobsubParser.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index 6d9bb5f2b5..b0e4c89562 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -34,11 +34,11 @@ public final class VobsubParser implements SubtitleParser { private static final int DEFAULT_DURATION = 5000000; - private static final int CMD_COLORS = 3; - private static final int CMD_ALPHA = 4; - private static final int CMD_AREA = 5; + private static final int CMD_COLORS = 3; + private static final int CMD_ALPHA = 4; + private static final int CMD_AREA = 5; private static final int CMD_OFFSETS = 6; - private static final int CMD_END = 255; + private static final int CMD_END = 255; private static final int INFLATE_HEADER = 0x78; From 250bc86669b467a3f255537ff5e84b9304f43287 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Wed, 18 Dec 2024 21:15:31 +0100 Subject: [PATCH 04/18] Add comments about needing the size in the IDX file. --- .../media3/extractor/text/vobsub/VobsubParser.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index b0e4c89562..4e381bb215 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -141,6 +141,10 @@ public final class VobsubParser implements SubtitleParser { palette[i] = parseColor(values[i].trim()); } } else if (line.startsWith("size: ")) { + + // NOTE: we need this line to calculate the relative positions + // and size required by Cue.Builder() below. + String[] sizes = line.substring(6).trim().split("x"); if (sizes.length == 2) { @@ -166,6 +170,9 @@ public final class VobsubParser implements SubtitleParser { public void parseSpu(ParsableByteArray buffer) { + // Give up if don't have the color palette or the video size. + // (See also the NOTE above) + if (palette == null || !hasPlane) return; int pos = buffer.getPosition(); From 0254b2d16e319a574cb2f5036d15568604e6da4a Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Thu, 2 Jan 2025 21:15:08 +0100 Subject: [PATCH 05/18] Add Vobsub sample file --- .../exoplayer/e2etest/MkvPlaybackTest.java | 3 ++- .../assets/media/mkv/sample_with_vobsub.mkv | Bin 0 -> 113943 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 libraries/test_data/src/test/assets/media/mkv/sample_with_vobsub.mkv diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java index 0f1498dfa8..bb2df63c5d 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java @@ -51,7 +51,8 @@ public final class MkvPlaybackTest { "sample_with_null_terminated_srt.mkv", "sample_with_overlapping_srt.mkv", "sample_with_vtt_subtitles.mkv", - "sample_with_null_terminated_vtt_subtitles.mkv"); + "sample_with_null_terminated_vtt_subtitles.mkv", + "sample_with_vobsub.mkv"); } @ParameterizedRobolectricTestRunner.Parameter public String inputFile; diff --git a/libraries/test_data/src/test/assets/media/mkv/sample_with_vobsub.mkv b/libraries/test_data/src/test/assets/media/mkv/sample_with_vobsub.mkv new file mode 100644 index 0000000000000000000000000000000000000000..434e7e7eb38179dd2e8f4b27349c9eaef5c1baaa GIT binary patch literal 113943 zcmdqGV|XRs)-M{{c2wuUZF_RiLZLSbK`kN^-YWq)&E zpsxYkwT~>D>C)dDoZOcxD%%;QTp5fmS#G9W6_Ecg4nw8J`ir}g?Tr4?p{NX+D^~@A z6v}qSe6e`SonOiz;I5|gf5HI)DgBN5|L^#l&scA8Xa1)@^>Td>qL6^Bf3%FDn;9D; z9XlN(1B1HY|He8O#Xn!6rCMl$*g6TprJPmhW{E_E3toMGe(nGP{jEo^rZ@ORd9%Of zzmg7L4ghu@4tIZddX=m-Rv%?JQdtqWIe4FFbc`W=r;}b9T-(?(;VvO&2W;6O|K|7ZFtw3H#sI-&s(=xG&21KMQI;njl&j zB&47$5*E(L!py|>Rh;?g57EMSIaOI9Q6+tOF?}&5L0Qo+gFxmlRfcF`+<#O;nks)a zAsn2nEKKI3{i20w`pPPTDw4`7lETXR>PnI-l5*nuf(i;EVMVsqZnmaQ=B5BQ4h}j7 z040T>jSWB&AZ=&wPC*4=W1%&&bTJ=o7A?&BpJIpzs)*{VstAjOB{4BDvC=Xy(lRgs z7&*CEIk}iP%tr^ma{ljrDuUu)nN@$41`ttI`btS&4)CAE|5ej}6Z}(&`DngqVfeqz zzpli}LZn(Tk>Kqgj3*8f{N@IQBN z^4Df={I!`ga{k@T0VZxH&aOuPuP$X|?X`#3JJO|1Ny&D23i)t*JI(!(!|vGOCfCU;AvxO z<^o`1U|^(qc7`^d&ZfK!9$!d!FfuX&Y)yGB zOg#W!czw;-0S?ZdU#?$geJ2y%zwOAy@O1*%T6&n8=>Lt#_~oJRWN2q@%FD8xNa%BX#IGNhmSUP{rI6OE^j9tDa#*VhUU&~=?XyRpWXUfaONW;hoFf(*^(RXmR zwsiPw@vi`m4*K?HX3nNAytGUJ7YnB^kFP*X02_OIYeS1KPXFIRCV;bzrSVrX{}wO+ z?416&h_U6@mz2MWSlYRmI@uV08GXr(Y+RiTJ@t+4Z5<3J|! z{IziB!d{>9YE z)Y;<8-N{)0|0(yc-pQEP*vSlFYxD)|-?F|KUMA+RCxYYOVt5(o*uJI?e*^zR4Lx|- zIKKqWE~XB=EC5S~uT}c$h_6Nbie>2d)c}8&^KWZMjhKc91BtJj$LOS=)oc5pENl~s zAN4m!c5i=vwu@8Ag|s9^w3qn_Da~Vph@N6OkGsNy5Ig1@U(0qSwop3JCDtf-Ux#b2x* zZIq)YGCaL1#pBX9W#AV@?ncb+T2-4KEw|vj@1CmS_uMOgY+PR5R6rK1jN?*W@mL1* z%-;O&f7%0Eo8wGlJXg`>!%=#S{}RR7NtImut6^oeY{f2*q7di1cQ@xCl(o$)kgKZ0Yiq!U$Lt&Ut?` zpU=nAnz@a@O1Z%RH|;{>w_vQzkR8IbYZNuJiL;Oc5dWHm8ZS-*eT-BZ8nS$=<83Jd z9|92zLRWjHxZFh)(*f`--u%j^_hR4=@c0!QH;o;oC<3_ypnb$&?XCjqAvB1R=t4-K_p)qOQIB z8~1xJdZC9%*O6$LVFrq|$b;ryoEr&QN4W<0679j5ZlHU_P!iqJe+p1Q*7o*fCs6U- z`tBK=R+Q}sZ_L2PC{M-T457%d{;cml^y+o+VrtZY#*LS)vXFW85HKyD*jpRX8)#YS zrwl1eIy)RMEJVfE4Waka%Z|{Dadnb6mU{mF`7?4}Nc=;{5JB7Qcg1g?tWSBDxR)IY zk?rL&S~=3)0*{xyeO^n6pa`Z@U?aOn=xhs<#cg_3k<0$p^zh|6U478FnN4@;!BFDTAk_zdE_n;o3g#e1PeM{3E z;G^=f__HyHU@%P?`r!Ud9Iu0_Y$~#)H0=2Z8zxR~Y7^_ypTco9>yA0_`?nF707LfY zZ_>(kwQd?x%%^H&1?b=NFKl`3<&Z3>l^0%^eG3wgSWCd=RBKjsCd>FThUW&ud-oZ8 z`MBQ9Bx1tUs3|yo18j@Erzf7R5E6q&Kij@XNS~fqdJU8x6r`XlhNWiHqg8L`NQW@l z<#uDIpTLD0r*Wm(2)8}m4iR*GBIha9Tt)B; z4;tQMF$#+q{_w9O;o1=v28+5bsfR`+znGZ`BPzm>Tz5FmL+HV)Eo;eEbvUA8jdPe( zs)XF6DTZW%sbCB}m72J%G9j<~1cPkx0zAAVqtP*4g~wJae&}HJC&S-I8mWX~S($Di zt(aMi3UcqK@DLSC3(WX%Xt(qxVzew?=T}NE!}wxbJOSqtH@7VaDmOj5Nj~`O>4y%E zpl*Y_YT89P8I`p7m*}WR%@cSEuW)GvMC+-Ue*P|uBllhI+D+ zyJWrlzQHV<1J?;Q>duYrOH!Hv%P?X%genWJ-06!WuqDAj$kZ<3YRHhxYc#)w1AahaQm*nE z0bK)Sy`m3S1&|Lqi}^JGm<(OZaM{I8MFV28l^~kVFMY7Ob!QlDr|NvRa5O20Y&Bch z^=Yk%P3(JVw8whvCY}2MzBXLzE}zbWR(Q2p_V7_yLHE5tXW4xoFDGrETVpPP6HjnS z>m0@Tv{3kXooTU;r1Kya@pYIK@r5?`720av=wan|_9qW^ov@H6#Rdf~;ximAO#&m) zhnNj$Ah!6|Ai3}hm$Lgrhjd)r#-+yVG0NXtG$xdLl7gpFOFqUWl9>YRyrVhyHH8=>B$e za;1tiQ4VjW`=olsqI|}Q-0g4vfHID3>aC7t=QrzbPJh!_z}6)-I|*GyXVrBk3`)@k zex8a|;G3nOg?$tVIojL25I2Ttd6IY@tNM$jhVqR4tgPT0H8xRvI^$ytoI?L}DVu(_ zMMP$@ilajiKt3hP z9oRdY;ueTbxHsY=3>UMUoFvn*z%i&LyF6@K9luxNk5u#di^ShXctd=~cQm2Olh32@ zIZO$l-4Mm2^#Rw$IYJZI;OTkEukd0)%nLe+Xvn>p5U<%3%$x^aHtl#1LrFnOINxU( z{BA9~LF2WlkxgXLbiaX1d2Siw`XFQROvMQ6)JHov`+nfmA39#u*XReFg9SHJ&tqT& z{zl2`-%nBSZc2!Of$@z}lOdEN+%MRGUuc#~v4Op%F-~}P<5|66$1d0SG1hk*4~A<| zfSTx$w(HOmOtiD9haRI;Hm8clrfRDLp4Gd3jR_)~-(o(`aSs36AU;r=$f9t0+RPit z`h#Zqx3mr7qm3!kk_YM}*Ib+T2}Vb3D%zLG?EbYo2GT+p+QyrJk_UG1Pi(h_U!#F5 z4J-BaLGp`356RUn*nW)daT#hKn4%n03taUH-@ zT>b!2FF*Q&$LY=9Wn|qw_@iX1rxQ>$1g@|#hYVe?p%kqhGTEB!T-kV~^WzmT+3q#F zKTe0}vMog3))H0w0nox_60et+Aooe^XUmTT>n9tsR+z<8{g|d}HnII|>&u{e4q0%$ zbhhbr6snxGx;ZWHePs45$g^I7f4%%Z-1o3@xw|9XYp1|2s}g+#MSoyv!{=_vnwC|2 zcdx>=9YHzRL&y+WzI(#vvgd0o5U&!;M$@!rU(_6`6+t17`*LMt14SW~>$_O?d2UBg zLW5<_?pB&jeX@cScBtm6&;Jlh#k7bUT0Y(c70-E3IqJGF3D1W*Yx_$g#}&)Ei|Y3? ztYd)pjU#z2wp!nn9A6q##Zjdv^*u<)&oPyUGpPD+yDbdwjGYj2is_vf_%il)|*r24c%oC3VWH zJ=6j&LG?RKy8+%etZydOh!uBx*C8i5YifstWO*@%jpZ5FoY-17XS|Mm z@8ss$r4=6{AiA^S+|R5=Ge8swE}~!CVTfZni%a56XVN2?MOM;HPT}chHVLks2Iid zMd#*FZs$h-mUu9Nh!qYofjoxzrhSTT9M^G<8-^8+=knfq;>=V0i#=7<_pz6w`mn^y zC@5MG90u9R$KCqw?Wzg|s}vFwO`ABmwyhVsb<`+IBZ?)#jqXe`4-|65#L4&aXom^n8{RD}j@dvArFc#y}8T*)bsRxi%iZh@U2GSPA_F zR!^#}DoqQK!%n#nwZFF$g%~e9NTKWFSZ@Z*>5N4D&1F|41Mc_JDV1=+_f4xT?g=p` z!yT5pkGW~u><4Jrt2#_s>ehwpIJf0WP4{B7svyoIMCF+98r2721Vt5DZGSi#<8~=5 zCiI+ZR8cSJapB}#)DOM9)yxdy#ap(b?tJ7WNcJH^LHDZH4A4h8%q`e3iCnY^=hB@$ z>GbE#aj@EuEqN2NxBR?IU3&d;cn*#nG zXu@bluX)q0*r}<>WhKi|gHvsz4Y5*f5k`e(n+jHZ#7o-&Yd<0RKTKC^TafWEXZ_zW z4hX_`F5VtM*l<2H@1=l17yD((K`A6`dQ)ZRu0QyLy(1j-AhoycmCEuzwzrE$+3=Vo z5^*`8%HJL+L$YXcD`35orYXjzfh+!q0ulMjT4=)EWS1PRZ$t+PmTz*{pwvle1&>vk z=b&O5W&2K${<0pQ<^w+obh&6gPmaK$NfxYnquK+q>cxdfpU;Tky@m1KrKTru*2Qo8 zVWp1ZZ6WNQML^B~i&sbQVDYTGf}dxfqgpyGWbx^SPyXyn^8j;1odgRJieUJ*uz0ON zSo|1m39u$Sl0_oQFlY`tlWOH8b6n$ZL_j?~rVoSeuq3#0PC3XZWVH9u?(bH0C;W{e z-LHTWTK0m5#e_P@GjAMZ5Cl1x%p`S5y|+T-t*{hcV@dvpbt}I*bH;yo>^uF^b#$++ z1)sTWlHW$6K*P7_oaT^nZLVI>KFSLl z`l>z(UZ#4a=I{`fK;-g@5|f?*X)dG*ttM+^kRu}Y zC+u4hGeW;Sw<+b|k(Ql6oD?6Tj6Bkm1g#(qyq0VKC>~kUnhMC^F|AFZ3QPIViJmqN z2M3%i*RgIJ|!@x6Im(8tDq3E{~Nk-q=H% zy=JO)`@ClF6j;n`lNQFAmBy4$0J#`z-LwDs>9_Y7U*^LC4!+kUb~jL#811%&=&;yK z9x1$~$1DxoKJvLdZ0?S!+v37>ctzI$1cYdFCL{K0aQL|2@V?3lnZ=%!)6T>K{xC+K zJd7A8fAhM>1-uX}SrwS61aT#R7*D?$$r>v=E-1`k!a9~s+<9y^ny7&p0jUzfIA;3PzeX}W2Rn?O)%O2Rz8Q;cemG!&cvw!+s;dt$|gF95X| z33wa~(%0oDxH1ZkzDx8hL}DH5cBd&A^OO|vJ(b2Xxq zapN{ENjXQzQb;*q#C6BKEL*9wM|g(3&cg?19erHk+I^ zI#9HQ_LZ!DGU49nA5qM8*o=ekF_cG>;U+R0u!`RTVhC7BU;AO<-roea4qSMTr>&nm z0`)==!~B^VM3L0$|LC%P+*rXSgJROyc$tWW>SyJJ@R~-JC{eCg8%s`-j_>QJcLlr= z^4Pa$2T}tB(nn(E-E&vmb**Qr;ezm+T4hP-8QKdjfKxJlbg6o}mv_f-uf zPAC;Up84zzX~$4nft995FT07P10mnH|3-PtvfC3%(BCKe?GFUkGJF0Rn{N7UZOVp= zTm{>XIPv4raGsrzhfX#VS6l&LiyIXU17|q6?NL_w-KF_4f&yG;Tt8six$PI-a@@sJU%%D^vBmgYLD6^VP(w?m zX}5+8o@`m&iV`aw*O)aab9GHJ7g}~j0*%IU2aj9lD+w|GZ789-TSA5jml^WY)O+ha zuXIHz-)F%n{B4eb@Stj@q?e9npoeUd(OS{*;>3{mV8|Qo1kV4#6yZP-j12wkkG%$L zLF2x`9oSkaj81+8J=vrAHA2mODi2@CjR^R7x8=nI1O*9Q6Mak%ke3Iv{6}HY4}lQ$ zY7CYUI*lZ5ZtX2-HX6+GhZMFe;;Y@bKyHpCheL2LBc?WTrr1n31#PJcn76W0qrH|$OkK=(CgLfD%W*sqxlAO_|}W~!l4$w)G= z*C>AP-=DkKiS*DQaEf8m<%$2$3tQ0|%#9@9OgDU=-w`m3XVIZ6hAjQb~Rukl$ zG9*R%UDaS(ZT6@LISeOMwEf}6GsBZyU*hJP>}Nor(7m zw%drRC|ucmCVEV=f)_vGTQKCQV_?(a~7R?WXLPP*xw83N*+&2r`Ts$@5k9Y;yq>VR6Ry@jd+iI^?* zYJ7{KS^S8lyZ(S#XLujZvk1(pQRx=vNhC|umhI*Cv!MPuYwC|yvQzn0)@{aPj#kA{ zm7sF!n(RSKXl={W%`G=OBfgsAZEQR|604w$W0@_w_rpC%g+vd0kj05;nD2b4#1xbU zcen7p&~x<1s`D-;t&Dl+Mbh1<%nt~;(aMCV+DR|wseU-+6BX#io18u_Su-6AO|v1wmcobK=MRu=-kj{J za4PFjyIXMYKFND<*s4GJX2w6lDrg*!gE%)!gSf^fX8y=;Kq`>wwU|7S+wXkMW_O+7ygYevpKYs5hRwga&twkLbf40DoxPzW91|jY?!zl?l<^+xLo5gV>BQjsCJfg zqb4A`Zu`^2dFk!IVQ_`(H}SeKzs4A!h$zUiAlzzjJV#x30fWh@!%^19)@A9>O8%2< zkZ-RdMc*IQx67hW={}W#GkzF1&4r94&Hm6k;R}C9?5ED3dnJ7$5wL?sWu0)SWMlIm z;~gIOY=n|C?TlEz!!~=YaV0d$QU9su#i-C~q1|0EyY^WayK}0ocpfE~P;`00Jal9a zHbC<}>&_pGC*jXrD6#2@5GE#{uLTu+?(1Hr_x@Azo)a})O4 z0`N_JszXSo!XZLg9t{|)r`;bvvE-&kfkQprT{!l-nEXfRj{tq&|%?u(J`t}<9 z4QSN9oA+L3FX;ql7apY~R|^>8rMvzid?D6{eS=?NhF5$Q!DQJI%l=y%1(t599gKGb zsrDqf_8YPVjqBS>KG%OqC+reO%JP{q7ZUqVF^AWF;S% zNnCWVJ^A|mcc%tgAEP#L_co3+{6ub@zZeOYiTF-OB?x3Yx_qodnRNka9iq#Wa6*4d zP7L(9=As^tj%(lUR)h4bZrQmNpLmUgAUh!ckw%|L&9;Fbpa!8&J+lPUeXgC|(j0N@ z@v`etae1P^eD6=paGtrhTqrdrjWr#%!oTKTHm+O;^jbZv9nTJ}-8C)?Yw*?zS4z-{ zvNeQ6c%)NSgtlOZ@gh%jRb+O63*#NxVP%6Yk1asgDgXrO=iMGYfKrF%pyI2;eh|PgJetENSMP4 z)Qe{qtj$XuPerqD=sj~xG^GDK3oEV(5e>l$QS&fCFstyaII8(fUQDyUgbtSj z6HBU!#KxOIbN`n@IWdhqJOPknXyf!`2FXgc)bKO#zeT#Dyj6YE{uYxrEXU!g!PkDxg=8bT7 z10@gE6Su;m0ZFvJB4Iz>tir?Ik^uXL?$s4Vb9Ij_;K~1hlfAfEg1g5sKI;Tt)g4r)|5Fc%S8owf0&ZbZP z9+(401?ok>6Ov7udKX2v{W7O~WsKLDNQ$-AzbI(_hYor1utp!R^+{zh^m_+OSY`Je z5N$49J8nya6WVf4$AOuBiv6EOf%b5JOlW8kyzC%t=^p~~RDo+s7^mrt&OaJhzWzx^ zDXBHTcfu2Sq{hu6>wajoMKyz%4}Ek>En5KjP9wO2btZ190D>y)Z@cptUjQ8G#i%IuP-j(8IHKdM~bf@BJiyWWk<;1OH5 zUT~FY!?zKDJDhwAl@liU2rg~N-km+#n7_+r57|Uhl5FP`4{pFZ~DT~Nn(%;JDIXlfqU;h_635CzscW!YZ+EheF&&hm5xrLTP+6f$EaTCH%-*i`Oz3x| zh1PmHIvP&LUHX$~=y`~}hL$vI$c>aRXg!Wg{y-ig>$I)A~8)bm7s~=f5v86D`COE4J#F zs=VxF$j;Gpn{is8=vP597nM@;R&rd7rRPEK(Tibj3ZxGdG-S^76ST-L+sDrI8qZ{B zJX4~CY&&J2;pOox*ikENNh9;|-|xncO+_$IhCo-LY+>`^eckSO@mPNoXlsy>1ih5< zujW*-64s!3GA*(p0;%>UGBo3-*G)OO7x_dZ3?9mGtG}0}>#!#Q?Kh(Whmq&$8`U;| zXzc$ekm7L5I%#=?HBog{yx#6>zJu|AeTh36t7l#7GMHm?NS4Ij zR)uQ2XH21=ghK(exkC~j{O0M_OM4`VUu^O%8q3180iCEwU*$CK{rq89gk*s=LTi&8ZPW(c)h6i$;C zOmr^0LJ4J(HRl!0=PXa$wyq#H7Jgswnc~q^pR16NTx$q2EHNhj;jh^>PJOg9Q9J;e zgPWgLkYLvK*1a(P{IB_H3p_SZ$}_;r!y`(+n+eOkOdaLtsBR%5R6Cne?@ZnWVh`Uh zPzzo2c-8FJxwtxKAB7l3mC44Ms ztB+wSW-0&dKWw@iZ<}86v;-sz)a^xOd*AQ}?2_ zP)b=dT@yUqtxRjpA@ve<_xPNn(zb~)ke(XKFUy12-LKz7g1A-VkDg0FfRS@j$!Qh| ziy|p^?!Tp`z9aV4ZxRT&eP-+8aM)C&vb-PMzGaDsE#xQz)oqdjk zEmP(b_a=G@MGKV%905okM0oH$eD4YlW`rD0=aAXA<#xZqE%gr0$Yl9iKjup3y=-(J zpYY3+t2d!4s^N&x4}gig%|1iI&D`W7;hh1r5*?2oR%c0czkbb#%ZD+NgE^_Qe-FQ= z7Be5$xaflVMmD_dpt~e==eo@6Nf5g;Ttz*hx78Q}Iq~d3ymsK7fj*HB1#LGF$o(?1 z`xBRcv7yi0R$DXZgS<4y4enA0W568bPYp^-WP&LaBmyvXLDBI*95{ltj}OYMqN3tK z4Dm_RX^j;e{d}?R|d6_5L-AqjF(8v&9MLUBn=z?iigD4(HFZnt$Rk; zryHW9jk@PRO4C{AqQCX*lYCQfVi+c2W5tgx*r7w_CaDLXz&$*incqayl(wQq*oYwy z7_JSz+AAa|{myvOVA7s!N{4wWIO1Foxvis*&K7~()>Mn3r05=f<_`jtDo5RqD(#4& z3e{1HAGSLwl~@y^@F`tC^3n`97JFgAJ0-LV7AbYa_mG*XCHdIFKN=`G-R3 zQpviC`kJ+?3P-w2NOnQz@zk|Nx6oem^ed*>j#z-OXYnuF((|+K7(5}CLp?>=IFOU!#piT;23v<&7wzO?V5k&eRY2LPJ$08eGz*#hiwdudL*Sc*uWcQ3J;~jBd;V9 zj+i~GZJKc?Jg@7gP9%y{onkNDhGvvbG|a8JpiHP|B?=r1rBiTHTAg|Gcs<+iLSVp5 z?aKA$yznB-Fd#fqziR@uL=OSmQ|$`YXKK$azDv5YGfeMW>HWpYTpLI0wh#n*qOX)m z2Dem2ioKak^x9a%t#^5sm(ctyM4ifN9}xoRAHo{p;3GZhh9WQ_FypKCt;6+Y7{67G zcYgUq3a%@W1`HSxhDzWq8Kmfxj`xS(c&lZs& zJdnSU$d#)2H{c(*LWqxQcdBw>a&LKkwD4;5KqV!`L>}@k?x7LXD?dyB+$n>$HA)6z z&n(+HLacVbc)AOxPak*=1f+MG_gdqD0xkHFzbpjR1wH+Ufxyo?zj`amn@KM>=Lglw zNRDiUMUC30lsy_XuHE$^xGs`K$V9yijjG5FmeGXWX^Gk@qtTBR_hP3)2B|b09y(HD zLK~Ec65dp?GOh4@AI1Y8*u%8qhUuMt^yQ-ARFxqs_o8pmCajSAfJn&lDm*^|TlQ!U z=qv8)_~0h07S7K0RhR)0=Cl%Ts02$tx$yH}Ta(#$tWXy{%JvyBWaWBCsAC3f*Tr0@ z!Bw#mslHx%oMrjl>scsebFc3lWkBB$_p$|f*Q7ZcII{KJWzqTEvM)|h2|r8|9&W*% z9Ta`NhxIxj0HSThQfuQ$Gh@JXM#Xc^p5>TrSTS}sTmQ3*bOgBerlHciephoaQR?Ev z`F@}X+f&Pqe3BA08r(viqz-PT{M3{_~%Vu*6wBSQlPM|5@tUa-Kz(^dr}rk1>56nUoW zyM7VN2Q%-gLs|F^VWWB zU5M*W($ib$5O#w(xpWzRCU~L1rC}lH(CZc>j&X> z6b}YM2fEN02!K7ZJBw8;bq%7A^mP5!&bhGa3yRd_DziebHSj*TU!g%|)X#T*K{K-X zk?oRqV$qlVr(caLtC%q5;V=l1y-8Ifg{cpRg=QV@+7!-Z9%6*ND^B~c56D+BUiYF2 zqW3qRZg+fWG`_cfAlz%n4X>!^U~(a9i1-t+#mHPc0`22l=M#I3(NeIUi}y5Z!)``_ zNKMISGo`7yRW13__ZrR&1yhfqI&pC;Um`YG$A|PC5!w=&>9u84@kgk=l0`D$-xYo%f9$7ZJ8a z*R{u7L_j^nJV;MJUB0HMI6Kpx%&mf@5L6>7SU@)qt|b+k0y6|{v2-jgvuWVIvK%a< z0AMwM?^o6_oar<^Q7@oUu4p&@j4nw{g<3w=RxvdeF-kdpH%hvRV!gI{-+I1xwZ?ia z(14Em;4&G$O9uw0Ax$I}Y7~sT%40jUu4EyP4nN$U+r`%y&YOo2e)a+SM5tQ)#(B92 zt5hvw((7i2l~~p~v=Qqj|K_?5sQd203K5Cp*!xX$ErVFMsdJ*|2xN@Zv*9L%$QY3z4tZLRaPkM_tsS<#`ZMrd{wK9ZC*1ayOpEq zn*f^hYdqNPvq~vCU{97Sp|&( z93L1H;o%3$HZg;OJg3HUUn3Y(ft`is;;wg8Z9G%HLH#6SsvV(fHZ3HMKv}Yirow`z z67Mz!ON=9TpN~Q7B!8bxoqTfF(HmTTf;%vakte{yV8~L&9nCE9QuUrt-QUYNM`ZY8 zs+_Q=5I|Zm=o@`w$&T99`$=4%>vQt*)4f!UjTaY3&-u5GW2V*-bp6lYJ5UBM515dh zuiZ(97v4b~9BH6RP5gO%x9;mQ=mI)Wn-U@MLx@0nZFf@$LjAU-km%+rm9ak?UIp)- z5S}$Fu*}Gqr}V6Pm;D-Odh)+TtJkON6Y=*RpR@(!6jE8WxHD@z$Q; ze)Qjly^M3cpp=RD$uXMcX?eXa52Pm{CqhBc-KX5pvlFQ^kzvLW&y%$!f zTw=amQ{pgMwl1h|q318Wab$i@H5`nIe?IOBHxM8p(yeV#$8}%Ben^pcD*+dpEQp|z zHT?ia@0~ADx1PBb?z)l7o$qA7&8d_&@XRzI%^!#~0W0(mH#L-YLweDSyW4vUwdn9Z zmuLnxlosgIH*=cg95(f9c6uG)l+zHZsuU`jV|E;qNl@}Jd zNTa;e=O8Z0d*RP$i)QB$&FipclLtmP)$&F|6ZJ;~`9zey8H6WV@j>g< z7|10^Pyzq+vF>+nO3B%|SaPIF^Z-hMQi$T+vI!A5L~iifMS<>+4OQwMnr)?*IAL|F zX;h!R(Z25$-y4mkoaV|3f?c5tM=_R<;5b;~5`lMY`y0)>co^>GswmjJJ#tDqvO<41 zjig-_uLoyNiXSsqap`U*o8yTo@7nM66fyJ+E%37u`$w8r5`4--MGpz>e7Ns`pF)%w z5{PwOyV#|y9CXde>F8}9{^|&)2Is4BFDLUF<|S!TKCn>)e#weszIAZt$WMt;$^3lX zeG)GlKMV}4Y7XIwY1=|JM^v3_58Y8$py9L(%KrM~!XqprDyE+8CQ4=;g1Z`GOdr2h`bcdd z7R%m7k}O(aoLBcL!gPb<=^g#03lnGH#w@W4tKN}HU)<4@cj$!jj(8Y%bGVrs(mLDf zLgSi|;CdQtATZj)v}hQpnEv8w;Nu40*ysFiaMaDM~q?(c5iOVNs zl)QQ+GsZNT9O$B3o*T?v_8yF8K7*I9YIWSt(dMT1m?Up2_M!D4rzY5>L@;7zml$7p zdRcPWN~w0`Xi4EvQ?phwQCw+ znuWmczE6GpT86tzBqp*0SnyY;3x0v;RV(0HB~5P>JvAk-g=L#D0>48HuFQ>h9;4ns z*mVKizd6$bAGm+4@|D`b@|F~HOOlF$|A@Om?LU>O@Z~)l>v5m zylylT7xku{0yBs9${bSs_c2-{(9hC4Hug_Yqd8!ij66*A$b@O@mrA z_dgqLfjIJ-ODG0)gyzxa5v*h7yv8)=xgrWnfm&;BK45py29sR39PLto?`;-~gMV&G zyRZ^UQDUCqBI7FLlJ-?-bO+S*)W$uJLcVuLw)0ZhOl*^A)COOZn>62rO4%6kPPd9p zVpQlAULA%jW6v|Wkk#wKt6{Lkb0GMbfQp6_}CQKWxMfS$aX@;fq~KPgOshVfAkoor7ePP^tDcW zXp7lYss1p^aufM(DDA9W%7h7bpp*)#;q%#aWr-10AI31pz66H_$rZy@-BYlg0#I)P z{%L>vE7%3Xv@iY;qD|52yS|bBh7R$sAf1y{>0<6P{ts8F;5ojhD1z11n4wFmdl>Kc zIqHw8@7eN5BjfC;kZNZmog>H3LO+-1>JA1Rb{2@Us6b|1z*OO&bg6ZBd4m+u z-g(DKAJxXRqT)QjA$E!(Yu}2d7bk{Bx+TQXQtI|Q>a_Q~z_GFN5&)2pdZVO>7|Jn-5HJB~#UIntDCcm6d+lMVH|WdQ29-eY&k{!$f124 zgQ2^|T*I8wxR(RZRv(%7rkxf-;gb|Lq4-r6*8TuVd^pS=pjWSVQ5Dgd5&XNd&;P+s z$-kTsMqgdB{>1l=QP>gHv^X{v({zW_G2GHlmXgG9awB7ZYerm&e>P~})43nhS`=p1 z;}8BP9AAqoG`uUFh!QCK@NI+cYK%K=oErJ|oSL0gSXaxSz5fOrc?(+FZPB2vInGnn zym!|Df?MI8oj4_|)P?{nY0*b`oCvWg4788>HOfdV3q}iVL=PUHM$-k4^csP-u6UPHyTrA?x5^>{zvoNPDrSA4m0L z+??2RY`4cgcDsC8|;W3KnaP9A9Z)0t^Xrif4B;oqpo_(F{Zq-*~e?w+AEvCfJRFT{BsFG1~ z6afp=s?F8*J<5Harn47iVQmas)5Y(}vLQewKifln6A%^mDUoX7$E{Gb-Q7Dp`bkez+aIF-kgV-?lVOYZ^X{(bW{)y_*oULmk1Ln4w z2JTjok^=T2!xdwe*eiBwP<`Ew5TqDX_=Or9;d`e}!Bct6_~Nu$d3-`@T~-3e zY8pzKjV^rZW9)YiMsAl5UgqNkzm;^7gH@N(W!DVhkbTU$jP-Ds9w-GZ6{Gvkeqq>8 z2ZfK1*2&$LuNyKpgC{}<{W!jGEq`3df9v{_9enVZuHUeo61xtgx1*LqNryGHwFzSs z7xO|qo;Y9@ZyWOc8Y!{!FlgG?Im!>lvH0XPn6G&qsWqc6gY2zM` zOc_Y}E=%ssE-TLFyw+$CvkO|keYeY?_is(w%fV@@7|wSm)E&_YoUvx6;&R>xc>vuk zy0X4G%+lh@zp6W>8dOAP4%=Q*77(EK-i7;Jl?jV* zkN_FIxm}pyYitSEG~&6w_(WbWE5xbQ($jtoOuUpLd>=y(G3yG7ki{8riKyp(i6Doj zU6aaNe*^}Itchv{{%wgfZkd=^jPL0E0{4Q+gb6&f_q=dUWfLTwpS-0JI)cIcPNLMC zw6CuPd_nkL-DR)_uT!yP!ZLOL-naVgV6rfS8!(Bi62`M@bVJSn2FkkO7pKV7Ehhhb z`(pQ;^XFWDgu|HA(&qc(vJRlq?+S;RaD9=o5{xXA-<{k_+Ft&nbkAhP1DeDM75`tZ zU>j^7bhJ1QePv6`Zw=;WX{4RR5&Bm1R8l*UMEB#f=!_YFr5z4H>)l{}(iSfIPOW%< zQP6o-lxPmr{qG-kxb5}D9J8YjhmKK7jfuOR_sZe}z35MM4qOR&(E&6?{5JEA1Rb*_ zCC5v$&ouzqII0TLHVc?#yVTP~vQ8;`3;sm zm!szKb%f3<{LMLCDRf#Yy3D77@%pWeYxg@RrOh$eVyS=F(Bih$q;5tH#Sb47N8D*+ z^9031()(OF^80!!QTd`qo zaMgu_X*O<8pLDLxE~Dxo};;oMqvz;I1;!YU!3fR<}< z=zHFr+c7zKAbCWA4X3 z*MNp+K!qo-ef*(?U!c0#+@Tt_R~$o)8)qls>~zGbaWh%@=w5H(`Fn8DN55j>^y(0B zZhbw!Q4|0ozTJP-Fz-fwoiAud*le}cm$}L7KgmXi4fr0j|1ymrT`PY>UhvJB`8jiN z&gZKOK@Zk*ACzE)nyu?`sKIo?!}zb$necp6Z29F1CCYkkPxd8gz3$>)-X9mtGhV2{tu(77sGz}Rt#EevAf>apw?;Ygg>{@ATAZEG);i($ zyDAHf#D|5LL7>a&cIY04G-|?9O^-wIpcV9JWsC;QD(Ao= z_6wW(JH#_U>7j+qaUj-=pY3?KOpVU@!8*OqGd7_aISZGV%&G)mW*=2kaj~zpBC-*} znu^XNsBx;(K&n3n*g8hvjKhp+nYcw-y*xp*G*({=E924~z6lzN@r+Cn_x9Xyko33h z<N_15GzDj$KSi&!poPvxd3LdD^2ckw(FPe|;`*KG0M*dWI4|)6@YW!;P4N zBQuMI>tAOx=^K7U(|$`^H$?u)Cz+?QUfavCP;<2~?^z6lntqoz_^*7sdN%e7a)-l3 zOz56pcJ=hMC6KPsOQ7cK9r2#?tG7cBK~H~;YO^UY)}1>pGUO4(jKqH2cX8{p=Vjh* zJ{))q_o@sQY6R8nj%ppDQv1JQ9Q`n_gO+lQgAsrR*?|0f1z{@|qq6rv`y?JAwST{2 z3$rtfNk!YpL9l1r zdhw3Vovo!FMUXmr#;9QUW@YZJm7*9jVoH1=*A4X(9^AReT4@-+5|cm0Im72l?1i@b zvqEb52JLVc3P{~FK;lgd3<7w28542X=r(|%Im+Lz#R}IF9d7BNoV5Lt!>X_2I$=b@ zt1C91*v4;VoF-HZCsZqY3ZG+AM7r&VpCB=112CrG!L5Fu&1kku7ak=c==TjIPgluP z;fjVI$5a^ZgZ+eOsi1&2TMekw^Yd526?`t%%m{}2bmld#s~Ao8aSM4)J1wXLD&YC+ zo)`t~>^kIt8wSH2_bW@h)1ZC7kw zQT2p*1>UQ_ULKr^i`UAmY@_W&Jf~0nLoXNbfd1p79N^g)loP)ZXk8izX^aXSaKOb; z2L&BPZQw6I+Nqm^LI}G7Aw2Nbjmka!4g-<_^mYczSw!PAQ9aTs{JbEXNZmtlG zZNSZ8pmwo3pthNsUQZkJ73zv?jmmqP#aUjZPiFSE=yi;ZTGn)V+Rl!!~}x4U&$AmyIj3wZR+@ry%vLkhS>-lyNzDdQY(>;$wP z_Y#CbNjH$F>@D^E#RO@2u*8p_+wWA8{9#-BVW5dX&}0gpP3HN6xajH`ZYPJ@bZDQ$ zt%+i>M9^}V@@Ou)q3P6`#eiBb%`)O2FPmAIpuo7A+g?QZ?EVS# z?JgKhN_r2oy%5eFaE8h10BV(Hj}C@YF9BST0{F8bsDo_Ry?E#~Nsb^?yVu=f>K0w% zu$I4`xmDU?gjPXX)m93Fsup}Kiw4`K^RsA*q!t#9!lL)ppq2=h&w4a z6vp(@DtYAa-=!3@iOtv5<5TjW--F(JGFP>NZGH#UFt(Jk8uUn8J+J2jW2lBHJ@B#@ zW=uFATcp)u8-xrSixG6J+**#6bT8)|hmeD_8hg7!#Y#+5sRQC1>lm*%NnJWreHod_h)hZMf@tNXJlBMy6nrHQ!3)>k4Y zh?*h{hQuox*>4uOr_5}zK;2ec(WV0A+-TT>YQgWx@qjVEado4)uovO9h8etE+kX;2 zu={JnYzAIt%v8UN-!7ydLtZ7!4sxH46f*84MU0&pfhiM&tuafKJYL_eFEb`&mw`pd zdN#P0d&1cNCTU{T5DbD?b!Vq9#|qI#k=M4EMSv;1k|e$MMmfk)HGO0;4cYO~GEMDAdI|r5bwed$ z>aRkh-xvr%{4ZTeD?S3Q{zV9pR63DY?xV@4liNKx-+_*DDGz7g$E$)ni?jgbBsR;L z@P+H;bf)s3oMB7yawfU9lX^_(o3So539pE<7AeA*ja8JcB<)#MhxdGf zaam;JplwY2`giYbbC{-|7g^D8CgeGOM))MPN$h)sEn0_7Or@?LV{yO)J?Av#E||TJ z3Dv=mfsti{F4QOm*Ug1+Wt02THko`%eiZtt4B;&92?=@2RSECGa!Kr(R7b6?8sI&3 zu)CISMqM8q1GlX|d-RTJ7CNrdlR>8C@^C&~Tl09=$xoD?bMdi!X}zh0A$4YP zKMt0YO>=*^dL8^P!V3VZr?)BxKP9zyMY2FGX-DJvbmcC%r+zqM0X69uQIv}Hf#&Qml2t2z)^V-Vc8(ZP{NMWiCM1{`s{M1(?R;~{*4#c(>m z2ES7a~Jjb1$dAoMKxC^OK3%iOLK# zcy3#MS~w=z5XDTNsf16T4dzPnqQqyG>ddj1N`}?r9hymih=_|NJ#^sh7&q7fh(^vs zxQFpWG1$fs)&^DvuvBsCa4!^Opxv1Gl4ZvP_Gox4HxkBmb%+k{!Pxq0Q@Jy|-kida z`JYQTo4Y$DNPpn_$iApaSwHasEJ=R9J9t(f$b+8@C+Wf+8@K_S7(8UljjO>YR!}pu zZ%a?01_M7mk5Clh-=t^JE^-9F@&H}C^tn5KGo3R_h>R(!0_J=_#^m>);w# zU|`~_38H&zx)ZZRY%_tWy0q$n>^v7S!+oDTxR``*{*&WMD};)lwPH$hKH(!Avj8ta=Eai5jHRY3|N4%u zYTY+S{Eji}8~h=6R%3VmJkR?VkO7F(#Kc(h@K`#*Ft;%+R2Am9L<0r_;?5`|b-*!H zg5rQs4pJ#x-fl3bY6GzhS7+U1dD?rjsR^NH& zqllzc1pU$#5%nc7FckLUJG7=E=!=QRof431sFi!h4hT}1%{Dqft-rd?qVq>&_Xtf_ zve3S|g){PySbyH?0s_kK1b<>Fr^(`+uPWis)hswj-bB7oKT@={Fw#^VX5Q%%h&CjR z)`eFYBa+xDd^w-X3P4%Te1=+WUWjT;0aBC&?{^(Fzu`l`iDjp}e=;T@`jvXL;=ZzF z0diuo5T}KJZ8b-8IjsncVOi>1UFVzZ7lEhm`yqiC94>#JdlJ-q7%+DQp)9HwX3L?8HvPiO4Or%hEgmj-_c4k*Q>nKDgX$DuVeBMWD zIwb$FeAkUnjTf3R2XWXtZe_<5`;T#Nxk)}4QKM+{lVJQ0v7>+7tb4Bkitz^zChpJr zi;X6Vf2UQDRS>?Ue>a)>g#5@%OcSj$C<8G@*rpiqK6 zL4L-wK=ffc;B47>G5};n!;l%B@|)B2cXW_hnBItv zH3~4={%PzywCL^8e{7e&y0o`_Rx;Prs(RaPTw6^PA`?L$A!`OJoK8~<mN$uNED135}_;dkUwvAJ_~hu5N$)P5Aps6?7A@a;iX(YLNtnj*U#V+Dj_ z9h)&@+_A6RkeXdjzzCk4g_k(-AMg883fE*6_kInffm$i6<_Hap;(}pqHKAK| z^kDs%0%i#y6f^S03>qy?W#!J3kjB`ez*N#19Qs z#2I^VLEFjMTlIsluj@2ng;fU%)6=eSblKgNpjn)d6T`x?`d*e6sr0|uNYy!QG5y&4 z@*DgjpT(3g+W)skLdxA?oIiOaY!`d9mhu}#PiEazm=}lpe%aZk*SEXmAF95XQp#V! ztaNr-r2AU=OOP&~w1G&-=N_CvJFdRsv)PW#5({@`vvyMN*C6ka?t z2ok;$JLe127|a)t4WRDx^gfg6ks}s_u2K=Xt7|$s{k!+2q9EzdtT^SuU2l1*xr!BA zdyk>7QNRgfMA2}m;YQikjpj2+N^~p3+DB+La(HV1v{5KtTdDRbgX|a~K}@EZwJt$W z$9XXA{$z+Za8eQoOB7s5ARKNq#DABo2IVaCTdNcGE8&_R5Ua<5O(~irp{Ytf8^=wnE2KmOv2BXJ2i93`Tnny%V3bMbk(!8jN4+U3K_B_XFb z>wz+e8J3OaG|_TMHQvH6INk(4ZDjBl6Aj2y=%yJ3Rk1rmWg zHdzz`-F>-du7i?!IVSwyL7chHuHfdMXvna`JalNWFY**Jkl}Rv%4S~oo*tcKH|(5D zVPbj#pvl7QRHj-AtK1?n&rRdwlNuk)VQ?2|aIzb} zkql`<6}5O9vh>mh?~YTedew+N5cTtRsVmz4TkQX;gShGBY4hI_vReKxVLeCD1&TFk z>(kx*u?{w96v({s8J~6KzwrO(9UxEeI#yYpCaX#mSck#?3iHAJXBj_&$TPK6Yc&-7 zs&xB*2*t+6l7Bb-S~WLWN4FhmOTWUOIk;C_dd-6^;T2tOZYAIVpXze@Vtt7~-~-Ug z1PbDYMQtS%xfTE|ehKMf_yYT5cgc}76~QT{h!5ha!&?sodNTSe=)Sy^b3nw8Og#?Z zA~~)Ga>7x+hrHG&8>98;TFVXeO|Eqn&_CFlX=a+fP@<)S?5h)sna>{oKMES}Pyk%| zbwv{+x1pXPv=+r6m2<=Ttr7S&SBdsHZeC4hK1MC4bj0VUUj;?n4RxH$bF)2;$8eAlx~DON;FWLuo@^T zs6*pv%tyeozt_5XU)BAgIe4A2ItGq)u&CFax7;~vPcdaQr~Jb%$~9m@NVemztT^RB zQAliui!p1Z8B4%qhIQ{$?;h@u%Iq0P^U8`0v#`(?wWxHoCbo|KH|R<~aT)k6_HD z>QaEcnh{wXbFNvYw{$ZCkfDg{<#WhR8KMyRgJ`U{lEek#My@^sfXF9?Am?c3stX_1GY|ZI;^{mN^V}oa=i?hNgRFCq_H*DK5frSLR3~+cfTQN z{MNcq0GELd^>q%S!#VwDKO1%&86?n0Nvz6VJ@CvpbfdN^bb}>iB`(aWmWzUhhPad1xe**a*0EbFv{F>OVC+O89!ZD^Y*s1~yeXXljb)hBn)CbFUb< zExA7rNW*+(f5$N$i)-(yazKyQJyMq{X@&njI+FU&+~U#ZKW(Q5h0Yl3IV;(_brqx# zoTC%O%2S&$U^=0gCz&lDU#2cKOF)ND!S+UH2!rR#TIfcc@>>+7(z4^U55LMn^m-N? z=uBp;$nIp6ZG?Oz0iIWxU?1ppLk-6%ZV^~RBW4`%o}z85ZMtaMMSpRd(I2Q6pOXCa zRHWyHu6P7t=@Io##>=XT%SHVKKpzC#{%|p{Klq=pir_eKwY5c2du6<#Za%ps$v6t& zL-I?Q;z_yKSdws0111TtT>8GZN|A@U$Gb2H$Pgpyax@UIC0`TM8EPCNk!h4J!E<~m zYW3{r_p_P6dWHh35hL#=H-LJ=qb9xP&Bd`jMmBau_&Y6-E%H8VK1kud%7x+?`Ay^| zh6MBiNMCSHQ+oMXwYJYqnik7MV9ln$JB-(_9D{S%$%UzBK=*C19aN);^D`NuU-~>< z`B1^Y&S2plxv>@S5g3-+<}+R9%6m6i;$1juBr5I{J=3Q)(c7o-y0NtTj0y8gpWDxC z@7gH~DK`{4#m)|Ep8$@M+`0-hg@(@Q88p6tJ`%Q&MA-cqf)VnsQuNuVM695GJW=CV zWqd8m*Ae6uPHJsB>U;H-Roa+TyckUQg61b*N(n-FLLSD_(XeH5l}vq+Q&3mRbhy#B zK|WZB0Sy5JudD>c=z&>kc1+o?1SSU*^NXxEvmP_AY~=kUlRXC-7?%+Mh$Tt*L^`M+ zB2d!31{U<-R_qq37o@EPD`N$j76p0gHYXj%@wI2M0ygL2lu{n)#XbgX0xDUz9g(A) z9*Yf}SBa}M_ALpoE-7NxG@q8ufavLf`gxyXBPS8umY*<~UJs!Urn4a#McV z-4On!&h|SJZ8{AqT+|jCUN-Lnk6;&Rs{3waXgEPyve_u8;XGCq`oLhvFJsG%NDbuK zQpa^==+4N2+gG<;mVqaTrGG|eMgu{bhqCl+-wNzfskJbSWVpl(02u=-qhCUP$;W?K zkK4f*NZD|!+lc|{Zj2Kcn5`YzsIx|4nZM&u)WWr(5OfI#5`jPY&snpcNIKM=Mn3lz zI|iW)^Y_bHgP*2|`v6S_9$$k%HJ2hr38_=7+jijd5V9~&o<}#NHK7KncJaQubbR^9 zG|U7$(>giI|NeytEfbftH0@S9^x%g8Y@4?_w$th_ib9qk4B?>?grFSutS|hM+tr2} z4LlZo1L?1ZWoEBtBIbu5k6AI(9flQi6!k{dpFf9bx!Txv;zwmZw&IAou zxY*$&$Jm5IoU*c&<+TkC7OuFY&LY_H)m*)- z4ddz(4di=t-pvTV{^#WHzPKu1eW7v?M$J&xU$u!7vHg{u87{0h%Z<0-iyr*&5|YZw!7o%lIzLl0I%v z+hnjqSi3Q(0k-R~?3tsp57;Uy6^LXZw#f~YSQ0EFKuBdTIjKNLf(;6&Ru9eywINc% zZ_kVw55K>?I5KQRr5Nw6_?(InA8u{L$nIDuh;0sq=pV0VQuD7b4aqq0!5&l;Wxd~e z@o>Wkv!|_{mdXDT(Tk8qOjEY+z)g-<8A{(8${&Y(jou?DwGJ8LP-HV9lKS(;M5-j) zGYJDY7`dwM@7{&8S)=NQNt_knImbb7@~qMXb4J{65G?Ixt5yQPv9%6+AqT-9A;F`p z$%Cq6LYV6dA3~iIqXO3~5N|9}d}l2n!v)&?ZV!4=n9h(g8u5sVfq+F){Vj`vhq_nr zs*R?~cqzL{X|`cPF>DOS*|m4%S8d#D|O^L&_h?i8hPw1N2ee8*q(yCVPUQ7?n zo`5FqnR|eQ><(h*H*g!l+1Lb8z;H02Q5u0WCvxf_xa5x1!#AEM%g{5LZaIdf*xU7R z$P4jo%);h|o{@LSMGtNkAoflBys;;z`c*DCsB-oXFy%~lvbI>SHQu6+U6fy})%VnJ z6X@#B2<3L#Mj2Nf-7$|-CF|Aw3yFxsP$?C=&(~Zz{F>SzCHW+>3w)ATchx`He!%$b4vM9H21$ z@4OZr^vlTQU3nUfk(&#f_r(-DGH6e9n3o%4HxmxNR2ulQS-q1KAnPfj=DE`oQlPNA z`eik>#uWRvbVJOj3J915#yT8LGg$^+!2yb<%m-scAs=Q67<|~`q8?V_l2M7BYJH}}g&%fx}X;Av#ThLBF$LC*i z6ggo4B5gcu&-(&ZeYeiLfU5N(Z63(J`1pHRK>^XSM<27=YD#BJ250~D4BGg8h( zFbei<(?zNsIeH3g?vZBcQO&yBLB#vvwkqF*(oW2sNU~c))4(z3 z;GIJkGqnu#kxFM0uG(uK_ViN&Q#AtSu)9C}Zda+k*}gorO*nOi27SD4Smh-WOwfN$N#axAb=)}+(&;REra&M~7*wz_&aqcJnM1%(MJ)B7iHsbg z5iz9)umr@u#M;f!exTh%q#S3?zg<60xD+I>X5~HqkExDP=Qv5R-HD;02q_p{$S%?# zU}FD0>wqQBjECAtdf175gRxsfO_A1b$1hGWbCpfEu46BjoGG20oZ+)t9&8)SvopM( zRHmzH!fSL#Y>0}xF3q-nVJCxyVTzmM)Z{@_2g=Q%iPzL(4?5>IAaju5-;8>r=pEM7 zz^Kkc2&PAr(bDmoJCSI-txzw5Wl?Rc_nGv(p!fPO4V4mT<1c;*%bXem!l_g4fTD=1 zA5G4zmT4aEVrH_Vd;DvBK#pA$RE_(uQN7p$Mwfyqe1ws9{*j(M<*TK_U~>F=(Ph*& zHRGe$2^ckWLcG)AM@kMmH(<{WrXqj_HTU1>P_%>>?q>R>ku3omVReBB)>fEpq~+%; zJSIJZM8T?{n8e9IJ?Rxf-gN5`YbvO#tjM;XTvX&B>72R&FYPem{^&*1`frPbfx6LF znF-vHwCB%!RtW8(u6erGM4sSFcH+xMeuiS^I0xcDtcVs49 zB!yy)V3@SD_O8y>BZ{pEhJ;_c&w5p1(4kK>^CTuu$$M=}#PA*{2=$w`qbw)ca$a@U zSSzKSDoSAXaun1eN{aEi0LhqDt)W2F$oxD&h{Na9AS+O(h_eE~)RJgHq+>oMt zKony)6x?+rnzm*H6l{|iekx58pi8EmKoiZ>> z{&_AdCHc~cfW%u2eQ)-Q+=i2Q^=DLfdftBZGJ})bbnQ&(w!PNqaK8^oX{fx^E3z}q zmQ5VnvU{iYg(_(ief|5Ro^9_H-(mJEj}y`Vn$Q4oFJssAx%A!XMcl`}fbACKeUcc6l6ycXvr2R5a6iK*tOB#mFK|H?)S0)(l@*E+Wt zDz|XeT*3MCS%wi?MguQ!g%2mZW6sUr)**n8!@%obUnEV3EXvn3Xql}}O23GzF3c`( zs%Elt1e#b_m)e`i8b`N@E?{E+(|bsKF1mB3=Ut{4Ztaz?te8-C0~)&Q=;7W#Mwlpj zam=-F=V@}9+NP>L>P>G;b`-*~PX8=D=yLz2kc4cGtZQKOkzr8M$wwf$|L;f9BoA_NaFx+cA{?P!9^uRJoSHt0oS(^YD00CHLH7JBdov^uZg;h%SR_qWUw20X-#n zQfNk%aA9r-ZY>xAT+=5_kM80X4iFZ)JuPKg)M8%bf5x1U7v0+}`guq&3z~r!fu<_L z%)<&d7F@x#29ODg8a*BmKC^jet8qZ&p@q-!(NbkJ9yQMhPziqH}>X)-Z6w6hupk>+pOeX-H3ri-C!RLMfE+CDFGy|vkjR~$^<(yi!@NE z<;N;*z_jw{;UXXmwaSLMKZD#T(}QQpnexCd(%oBgP01A42fZROa4(T73rn|8y_sTc z^0014;ki1+kp|IRGX*8z7Jt8#s`=M_iin5E)7c2|GQcs5*9_3=3B(c>8wIqlMi|>h zXrPha{7j-Lc?%T3RY}i9d=El_gpF!a;X!5bj@&(6UtEBSr9~;ec#Sw3NMnAq{uR@bZYZ+N(xyRcLQ zN2LJCO$GNYkvf3<;k_urX6<1^~& z+z3+bzskSGGjedLmb9ckMTxFpyGp-0mwYkhh~wYU(#D$y!42Z2PY}fa(oJ{&`&YQ^ zLJt=#m~Lr~53{Y4S0QYQjVh+?#)N(if#$c9!snK1(z zs}A?(#dw8#rqhDpd*`Q% zuH)1IsXPGcD?Ll_9xq8di?(SR4QX<5l(CD5AF}gVQJ(Q#I9s9#Tm4#kB=lHzYOcbu z-Ig9_(Vh_sa47XITr?d$#%wnOrv^LLG(`HXk8;f|^j$Ao%JeoW8!KQLm*Db>kiIYX zl+tOGUe+;dN$^1=&Gj2#3k{}pzI=5nhLOHU)=5wlUg!gy5r?03>LYDgXx**Y_obAl9G4Ybug?ALScxRiYZE$#3TugGQ^ShrxhSYoM3Ch1?!M-(sxyA zo1M`PTHFv?SIm$=FqmQFyqwhZ(|fyZQ=m!32vp}C03hY< za<6>j%enJ{DaE5PPrE*}z|=+1kb5M&7(&@BV#Zvsu{M%g%}~Oo5?6^n^GEj+;N5?0 z`6d-qm9V@yiTc#iGQh{qJoU^bOlQD6u1wW#iXltcA z-YZII8hJ+0l8+SxwZQMh52#VG!h*MzVC^vxX6!5DxFEm9Q45>R$x#{_AK6ou&95Dk zTv?WW_GG!oF-Y+i_-Q+VpSOzjQ0@h6j6eLk%`&w)u}P^nYA!~sg*g8PTj7#t@yw*v ztpabxAb=mA8odmez%qjdh$)x1f&btV^6GJHl)N`z230fCwp#19IbNC$zAY&=H>)a~ zv5sq9Iahgv0vZxJ3>C(DN4a@`Yrka;CIksH>hxtIdhHsA>&JGg+oN@ejnqE3mDA5f zIzoMoRe)m`RuL9_-8p4^)Gfl|LpU0nJm-#uEk2=j!Z@^03=v1{u5tFED}EFZTGQ`2 z-pmB4GzA9KbfzPdf6&_fymmX(RB02g$pPn8=u(qBz)FCuDnevjDMs?kh5(z~?b~6V=&k_9xqxR4)wbkEm zlf{YhHpR{$wnFZK?jCMl`f&%X z$U5bgAYMIm-PC$SYdQR1m$GK_Aq$?w>q5pBj6Gr#34F2DbOS>2u+wTpXEa$E2|33J z*W)PiS$q+YR+**k?8WYFm;qq}n!Q*v=o6is{xaeC@BAz-y!5*$(10Y+xSeT`(GKbn@leVt+|Cl)HiLO(k@f&G;G6x z;}5MhqTTS|_`BQjX871E8*Dr7h-8986CNcnWf*<>3JUemDLRwz{!(>l zO*L%2dpn8rr~OpZsrKF{J-Ix_}J|_pW!tPtVyaO4f4wG;v~0B&V;w+lKw?D z-yrhl2yvfwYxlu8-9EuCg|52}&b(&q7ag%gHSi6uO4H`3N za+*3#{sO7vYYVL7F0@BXPehm!qe<{_QaLje&^Cno1DuZu+ryPh=?{4Sa)?lXLzU1I zJX`XSFUZ{{@o#^gIT|$%OA^$tF(8`s$p63Xf8_zVYv+I>CPaZg7bX#*vORm-N_bRM z7ctKcK6E^VZC|qSWySw`MeLNi6tn^+)F|$3Q6%Sv62Ckj&4P9c47%Pbi-tn=wum`D z7y!rvim40f`Kg+Joc#=t*tP^1zT-SPfM|aRs0nTRy!Kyo7{$gidZ^O6EkT_k6<|85 za7T5T-b+hWnR4@`mC-a7Bp~?h>Ze{rTX?7e1OV7oRa&`L->yoSgDhZh>S3{mqr-|` zfzDw2z8~Z(_AsZra`+FGQ^d2sE~i&`NK3#EMa7I5FQTy5u@_jBMm%f@UWxB!Afg+J zeGqxU`KktO$vX|B8loi;Y%Z2op*uN#M+SGsvJPs?v#+obLDTmH1B+;Be-^ zg%1yFOA31%jv$UVZe6}5m@iVVkg^T~OrTYvHcc=3vLVTXW9fd11!U6N*+dS6IEj!v z#3~XT5lSv+6l4`(EYsm7sscJe+wDhP-yKv1@f)+4Eu%nFt+U?>n9ng0v@o3Ss&@eV zNwd2Ow&xwy2cz~mib(uAAA3qvWXVpdM_-G{c_GnnR+H%xm$pcSS3T9a*O|C4&1J}m zXuJWuwlN-z5Ab)As7~0EDI{4SHIZXvtx*71!|wFS4hP5U#DI)1=Dy&pakAV=WQzoE zVQBSy-th#{=v<% z#=rE2>C*@9EOeLA08Lzf+~j5Jn*=Nmw+Rhjaov)1;$hOgjE01waDn$}z@V9+7>%hh zENYsjg@Qw53*dLG?d6^gpu5WYP-4Gpj(Y&K=#*w+n-zi(HF4rv@~xEaL3s+?5{=;D z-u0^-$aC`Q5Cem&diMau!Wa&Awu%0#Z7#td@Pb|_auD0kz9Ehd%$k~qjSO!p4&iEl za$Na~QH6$6XF{DqOM7s2p0FFYp|$_-ztqRB(v~Ca6yy1w5HlBCg!$~RE`!=wNYeLp zr&Ua}oou9-d_VHbsAL#WSE&_IEON#JTDXVHwXFEj%W87&-X#I;n?ODSgEE~QXPH&K z^~i*``56MtA6f_l5nudy)JUOg6!}!a3CUwuHH{J>er8umLA{>DmV?PfEls(7Lg>XX-XVHmX+XW=9GApMS$)ycQKpC}U{Aa=jCai`-sB*>(Y>P5G&Cnkis? zdOMKfinlgM1=n1SwTOAxqtD|M;^wMRWQS&54BdoC8JXE|BTTWdp(;K6Coh@>;;%i- z9Z9_}L#HrtRvtQp=g;C^Vq6(UPMozx9)PiAh56zuNHz+Z$V9{Ds2GNPgvgzG3g;${ zV(n;~4TiE4@Y%>_?3=(gcYc@iB4Pf})~b5X-rWxGz2tXLy3*pQ zYPJZ+JsAHeliNLF-=^A%Dm1n*BX1KQgR= z<0?Ax%urcPnk5ySf7N$v#l>GH0BG+kP6V^C0A^P;_{U-myo(>mVI9xO#%@gviM)a| zN|~rQ=7|Z9nbyx)#@pjmt+>RrL+f$}BynTycMJySJ*_PYW| zA-py}vK|9WCrKChX^mtO7Zo2EP=;z)L!*=Z{Q-dwQf>>95QG(j{>vft+u+6X{2Y%t zEh5ZFkL^=tixPMu{Kt~6d_x-jrAfgM`I48U!)}y1e@y%|s5 zv1_im5a=6kVMS|`eZmP8{~0^<>2u%j*SRkt@sF^jlM-p+|F=2lPNm_kLZtjyoE9a3 zu{h1ajS0+P>XJo%#?5}=^biPVR88JcK0-=Z;>U2bPm^n7&|yn!+-HjERI61r0?WZt)H;~WwL2O z&35h2S(yCY4*ssa+?`9t1x+`w{WY{G*u(2R>A18jDGI=Ssg4R8hIjUGP$DQ37$t^- z{+umz?sg|yS0b*XG}`-{?0>EXU9fD&sghN#e6uE#aMKWqT0_j3RT3w0UIxQB?hh4Z zFfD|cH;|TU%ohY(nNzY-H@HTQEBr&QZ`!yp&y`A|7dfbb-=zGFzqEg%-d2V^p;&mx z%x^6k^v{qMrt38W<4+)FEH#om^Qfdx!)FATG9Bx^QQsf*B{4-{cat7Plxku&A$v?> z(3Mn${$a6#afDMXiwX>Y$Q9_j))fhf+<8f1uqP9iSSdG}2Z81=UC$6W4*-iSMx`AJDPG_6p*qy4L+qYqeZq${Gr!-Ga=dZ1)oQs^PU|LtC@$i;m{?IkK4FVDG z?{MAJ0G$)0Tfd%*%Y3MRojV!9rT`x@c@AaSG&j!mxwUSpZSy&QA#-z+C&iBz{Rn`F z2_?0wT-ilU_3e#5g;4D)*B%$ISyxSQ+bfvZ!Gp+Xs+qM=k@Mr}ZH+zJ)~p7Q)qG~| zc6|`T7Zabo&UQ{IdV<{@u1-+7v59*}o7MP8%PHm93*nONWd zc{484guy|2*)T?wybQjLS#pEl9tNKEF>c1|-0aM-{Y#TMnrFo5F3f{_^TU}|URJW^c`dv-F8CsxnJu6Q0V)fwBvOI1FmH~=D!$|HC zriwlz!;g8-WoCV!BlOu#!X3l3bjk$|MDve-Po}z0_&WQ6PJ^|jH{r*n-RDQ13)&t& zn^a`0VALh7K^R1m`;i8n?AlXK{rdVm2WceXem%!8?0u1^l=@$It~5HobM4jedk}b8 zKh13B#Dz&NLmF|WZAU-$ZeE>HQc6pYAx5Tr)f=ushlPJ=1XTHDM{og+oQX7BxHXM)^M>+|G< z6{yQv^7BL}OQ5b@7q<~ECg|x18#gi>U*5XaIeT3DB&%BIVC>YL59xGt9!fHn%G`7G zUo$?F~zGov6_2^JHbdat=PJS9+^XNBa|~Lu$$uJ7v9-)^MEE>491wX&TB3p zdv}`i$|-sd4UN|n(*@Z)0%A||Kgv>eFy)=Jz2em8yRk88eNFR1@FmZMU7Urunx zH?*I7eG~e!D9@ssen5&{ef@Tbevb52(xkzr z=5wyexwjSFB&rSAZ>N!|)T&3w6kzbl!jkqCo zqH>+cyK@`$+Ga81rG)KMle#v9OH$T{BqQB~Hs7hUiC_LQ`_(k>&1BYjK|Ut$HUZ)Y zZ>I74dY3dvEZb`H19m7sOq^0j|M-6WZ8ze2dx@4&iR+cmRn_}O3W=z&b&1EZ>6@|I(+nIc^h|W34-3ynFDUD-XJ-stqBlqzmlU_~t)XS_3txD5x@l`O#bYcm z(m==j1Owk&tzH&Mxr!IkDT^zD2NSr0noe^K5NU|ya#&8T?D9Lx$!pu44ZruD@xg~p zs!T$9&CgLC_r}J%-f$Jz<|%t_g^g|I5IolNo>iByD9D#VK3I|WyRi>iJI`}BZv&aA z%P{b4TG_a~Y=Y3Oi?q>b>v~ew-2&I-a|=J5{esCZ3~WYw4?atqPElh#!0G6*{$yV8 z$v{$O;>BlW?}=Jh-F?@MN>3#V>eKhu6%|k^NLPpo`lxGu_l>!29P}vDYbKpf*VTmK2?c(Jv{;B5)?J{~ne_N*x@y4sz2~~SLXWZWTRMF z(%Iv@PxLCkypmKqqGY{YAKW37{qcs;CohkduxJBXJq5cGk5w!peo9<;I`zGWOW9I| zy&L&qAsy5`jcc_6$2@l#;;o>S@J!tRbdgo76~&QTjS*{S?k(sn9;VNC|W|U zFj)9hAMa6=l?@bup1lknTvcQ54C2k=c_E&;wkN7uL3jEwLr=E|h)Ta4 z)>I`N)C>4AE|nYKK3W%D{6K-OPVH9C-N%^Fuyn%*+s7Cs-sZ3!c8JOMoDSbH3n>2{ z;Ou_cw|83yJK#Bd+?rK6*z+nIvEQ**a~D2UY0USRKU<(FbW<5)I<1v2sE|wdMZC4I z=_r-{rytBOcrv@+$jIj@BiYLwW+`Kfdn6{K@$lTM_$<*h z$cc~Qt5C=#N9We%dNb0Z3BPA(!sQUBnJCGOwr_;F*Re7}(x;tONEavyEErDoeDzgX zq}a(mM`{&9$TPmbJBY~jz{6`HV!9c^9jui3sFr?<|nLeZ1@!soF8pjp=t!VQET}0mV%U~miX3SgzS1s*5h0d|HFHGLU(Y-ny~(Vry7jt@qF6|q z?zY?k*^j){4q3JVZ?;FR*ry593+Pi)WQh2cxC4T;! zbInryV?EJfZr{}B&#%3v;U~_kNMdSoXL8r(xwj9yOtjCb>;PKh!?369b@L`fAdAAf zV;)I&be)D_X?EbJs)!)oJpB_RF+^X+vz2$|EjXscCmIZBjaN-;5A|L1Wf@-Uv^}nt zaa;AaMTB;O{usndktm(T*FoOVP%XTF<0j2*wJ8=S2Gf)6emCBI;`p|YdHHf`?|PLm zS$YV6Y2xRlCu)(-a(T7ia4uhc^N3e|ZlKilam|VIIuXYAr*$`8 zMr=>+ogqs&2#6s6bEiv zchx+*Cf_b$s`}}mA;<0o||77fQ#~zYKm_A3&{acU~5?usg+k^8(w_ zy!nzR6Qp?$I%E=*rduItO*2pa`SVG2n-8oW8dc6Bg`>~7G^`hDU)oEtyGs!Fz7$t{ zCiwnX6bCj)?=hnL>ht6ZXG$GHZz+sw4ZEb`_itA+Q-`B9d^Gi&D=yO18ed!DTuJPa zx3HjTX|dw1e9|QAS%I+}wXwHzy8q_Y4nwWU4cfajY&;LXW$@-Izo&ISF)kLg*eNk7 ze27NLwDUtKHh)2cZ}%(Zg+f!u)rej`h{y=J(ksMiox{GRS*pi{T?hFFx&y~t9zWwxFztBFGPSj-c-CUJtCf@fFIaUmNJj1TVuSOgd;>oO;aTb=j zNW{CJhbYbIWSww^ypMF_!}*NN_8PN6heM*2=7JrSTn(2;i01dVr0l#XDjet?C2t-I zJ^Jayl?%?K!XeY@#%!A?tBURyn?jx_E!;aQ0J&aOQw}iMgByFRv=P zBi4Tqof!Nm^VN^Sfz19f%?+VyI^MRmSH$1=DecthI+il6h)(5Cvo2a?m`pf0w%;%{ zno~;uluyhOyePLgK{L{zm%=4=G;2{!>^uEouE@0*G=Cq(`5lr=-;(Lra%tmlt{fAo zS&iQO5bk*``|NcG$)XKARetwyDr2#{%@g6VPkeH-h$64HE=r`loNLt3?6_L*TZp+e z+;P`Y4U=K7^U9xkHB6g1##4KPgviH!b6PMY3+%U{e9I3ADQ3QI;CzoZ+b#nSg=IID2A)f zuTonlB^H8CA==b${Jj{U97?usCOqsRPNi4Q}50#+@t8)$+P!UjreNYpHHh_ zxvy+7y0Y7ura^u2j$ldN`<~24XLVBO)Khm#t#U@O_43kogF+{Qy&Uh)K+oInzA`j* z8l#$4cv#DBAn;I4LM(++yr~RLKX61L(7WBhXP2Ut_2n??)9TRXk&Hx(nyT;TCui$E zeXVskJo$9AUe$y!bL-h%BlXRY&c}K;Tu!5m-Xhvfa}u4du=vipcGWL46WP0&hATkv))H zT2a4{8l6dUkG3U#UqILM3wg#-6Ot;otfx|j3amGKyc0S{l?yXqe7pf2U8y7$OOVey>v8VD5E)Jh%zj`jd9yL%b zbB&+Ue4nr9bX~N&yX`x#ri#h)^YyDEovMDX+doosG`7)MXlnP?F_hOFe0a3e;`P-} zuQW1uI5jOx^FOq@&1uG?LlWHF5h_sw?>no{>8Y3HvgP%*+mE;ShP=F45EoQBf`Fs&m%Ng71TMgx`&AeF{-f8DdW=R$xWZv2`9? zE0L*l5Z)b_%T_FC@1yqp`h)A+I|+tH`SEqMl|tgHTgq47hkA%z5h;EAhOP3#lZ(kW zEmIZ-o~>^c3*0*@xXh>|CVVrMgTgBNMv9bu(2399mp){~AC@o-Q-1i7_jX4DX*9K8 zB)j5^qv6?=4AEy(OD&SZf_8?qR~O$je@mv#k6#Z`LOZaz8D7rmTZ_M+9~aD^t@C_D zJ+i4~m}=e6L>#$OpTwqQUlHwj^C{aMDlCI?fT`l@H}6|gljS>49+F%prw!oX$ex%J zUA}HJr60|gp3bTn%dcbP5#Q)kR(fnArAfs}QolybSgG**L!-CnEm~(uF+Q2s`Yy|M z_pw=L;Vm4XInYN|?8$sXMHwT3el+%%pW(;rlzHOB#10 zns~zl){g{SFz5<$BNBP^$>@cp9X}brZ@k2flZ06ry~nC%h%dXijpsYrlRnCmXDbv` z>kru|4bp333S^z$Uq6^De)rv)Aw4%ovEHJQ=Bsm#$HJ47s602dj*s*#*UqlLq-zj% zbPSNZlUKKSXXUB(VI({Hq*iyxy&Ly7-aeueeYwshMDfY9=)_b6_4zaCH0;^TIFd#Q;e zz3E{Lu@?b>Ztze&qkA_+;3VSKapy1rhm#cV#OuN|qB_QITz-fx`+~_PNzNbli8Yx`oS`L0Vtp7x$M_np1t`iYL%rkmC`Q zb_!V9NoW~X&2cQ~{9+{AnBDU9zQ=h{)0wj!tN!mYs!!5A$_{r~*!j!MdHys|Fpbg`F|48=1_JJDq)vQbAyuEKe2#oY|t%+LQb`S*`j~Z^YyJLc} zw*Sa4!{m{7)$IDzDUIT%uivOjcz5n-h-v32rdFNQGpfKAPHf#bvSafkvryVce0a-8 z-_-4O*(JuyQFaY3GrOlw9p$c;9qBkEwIJE-n9a+;mL&1Y<7$LU-kqq;^#bi{mzqn? z-F}tUeO<{%X#T)7JDJOr^yCdnx(pvd@9g+ppEbLoP3^*PwvP{z?;=jkm-I)AK+jX- zKlj;loJtpx+0wY%v(>+%#$nZZvG~@>^xCkiN7m$O1{IQ#I@!}#`f{YiRuviUC^3D~ zxunNa_bL$8Z(aU%9PJe#P~$+{8GZX^B8zp+7nS`hSBEW0TNf;xmxbk=k2GtV@j73z zpOU&ivj6?}r$wiqeB&lF&fM1Y&2p6O$Vf;w{-{B!acz3vAwgOhQsZLh%G&x(^@68z7>iNQr4t`B3me?rsO>vU ztVEjW;{?id>R2uOo7dut9;LXQ)1CbmT+O%YvlQ)f{0#ezqgExvueImz$FR7!9lmHb zBP;xsg=Mr>b-U_N@NISjPnzx5hFGr6t8z%6-PL)A{c-m(yUXJ@Xx)d5Lk*!AYP$tz znld-K;Sa)*C&L7^xpdvkMLzNeMpW+-MDIsaJX;7YyRBsxOWIQ1|MGC6Q{dA^OZtKg zB)N#?p<2hsk?m;@sj_W_#Fp%iaA}^Ps4bY@4XI4-`M6%LSc*v#^I1pTZUX;6i1D3b zIC+wS!iOUJ_cFCo)(a(X#uHu~c&;&g-*Wi<_i1upnoNRs$Grsk%hD+^^d2TIwvVpQ zCC<7Qju_~8SLvbdGigmIEM>Fan{mvJrr|qF^R^;CmV$p_hFrwsO>7nWO`}E=A`b6a zCl>8hR|2kSn!!Y}8osG(UI%tIg6pXGp4@i%G^K;SM>KX$d}EG|{Ec{$zYEia)rOWw zTzqj1DH|P^3(nSbp&(s(_QO8Tqbf#G`q)p&1~evZwHcB2Hcde-q+Pw0LUqz@8s)+t zJEP8)N*qm$I^C&b*lX3*f8s>9tVz`ZhhUp~ZxhdYF&imIj^16N#|`lpTED*+`r=vp z6ghUOXmZzLqTMA{P_(~6u5&{8Ybruwxo>#fdA0uOio}bV%0u>#d=E*D96xySdQBga z`-v#gI|d~wXwA`js#>;G(8=x6u+Q~^6_mYj^4Gf*g_gaq969)G%j-?biE4an48BjI z3-xPbx$mfy=yOoT8q|jRTpR4sV_SaR_inA!A?70at$+xA&9IT<@-F*xpY2=Ata9h$ z@ux|lwNA9Xy)%^k^&-cV_rrIS+8NQe=By|0aal#2n^z@Ap zF}HQeAuIM4y?sYc%*R)~UGh>~HzdmuNVC;4opW+WKP-S?|%2_AB;bLjz;a|d+eJ-4)($#mkUo#JKGQ4O>utxBC2#iX{;W>iK?jBI-xNFbS6! zKSBTCgrL!ovbc=Efh~2uMHZC%*AJ$NyjhhOLpwe;bgTMaF+YEa6#V&<2S<-QURNJj z-MZAjYqSs%&-AFbAt3nl2Ca~?YS4R`Garr2I3wqKSI0+4yb2=>&Cs2qqp3!^6!)jk zY8sqzQ%)g_LJ7od4O=~nqH#I28TRC@jfjml$;Fne>ER1JOA73$<4@X0Kb1PhgeAW_ zr+sF>L8f$8V10uy#ZYSI`YO32+krg&4KjlKsqACrV*-~iNFL9Pqd`^%-;?GzM)tV` zQ}tlBVX0Sj9laI9^(u`ehJC4BPuQ#eL~sUORi2-R-tDrr?v)S4Tm}AS-U#paO!@6s z4+|83ccZtQlXb7qjm~5%>NU>YF4x~@6u7ERY)a~*k4-#&|Ds8VNe6Z;^9ex*_=j-= z3kA1=Z)uAxS;jBtQHkq#L}qA63SYk^b;nLa{hnDtE+adUqkQ2ln+Kb=vr~L&zSkUe zM^UQ^%~J2K+X!(z&G^X5U_5`?`1mb#(}PRWHeN83LwFn_DUJ1*;tmPfigUOa_PqJsmxjbOMwhXY zjBgU632D^SF^ZIwyK(gXxl?XiYiWk9mwF%2c~U#h-|4FFW?CD?>Mi^6d}v9xq`3MN z?faUukMEPZlgyAPmreeD>9U7OQNAlbl9=YYPCu1rL1|9*(K2-PSFat`xbO``%-zlAdH4mlAw$ugTIo z*z=K`WIWq%*V)|YY>P#5p@iG59VF$1QY!r4ND+w7J)~A%y83kA{ws98b-C?TldQ;B zi4QM#l=!{Br;qg1)jAiJZ5sByyl!io8TgKyC9||O;?8md@yz=V2i156QQpcqChgE> z^tC2Rld2+!P&wOA-eW}c-P4s&~465ak@#LbX!WSe{o5yxzZ(| zbG+k()YEZC8Ls=62Pwta>(5)or?Osb+BgvFFtv95(gXUkY+YGW7nL#*jgQwNj~k}h zSubZE_qsz(_Ea@&8M)~ba7Fsrx=NM;b0&GbP{Jd#{7C8t>2cT0%dw|u6Z-qd0*kr% zGLAU5oxFx^KOIl$?sGzs!#HSD^Ipkm{^acZefsUK2D&kA75SGHS>})DchKjH&)=S+%ZAN`S9JD%e^GDc8a(fbF@zGshBh$IW zc8&u_DNeqRh33ZzNuCHSOBLoP54s1=v9P_->|ABp-PO$vh#~Y7naR%)B=$3ie?eC_ zS||spdEX0uZK{wSRT3~62%TXL;Y(v-Ve`Cd&2dgjLzU37PyWj#p%IElrv=KH7GH5r zDq>$>Y;U)YoIf=1wZo&6^SQ=tJAq)66b5GL#O1UMzqo$4=jYJ{wJI}=GFOCIKsUwr z<~`k`c~Xd=>U|r`+R|%k!Iz0I8dM$$+L!c!-g28CGfF9QNab*IbaY;b(<cAsQxq zyf5r0jQ2kmRyU}62SV)2REQ|$ar3WGC`>WRE6AmnBPChhk7C-ENPmG1KB-k!6CGhC- ztGCuZ?L0)eYK*}Z2N#;|omalULYh>h`?Bm6v5JQb(NJAYy@;dfyaR`zKa-Q?`jlA7 z1p7PYir~7Xs9yQHs~);zgNO94N4{Duzkas%)dy2qLGQ?Gfj8PBxs!@g1%@Brw47jh zILuzI>Q8!*^Tx)^yLX8Ow1LYzw~jukL(D!Vr6|9u@rtFdv&v%iRWz+Kn?TXA?z-1v zx(b?!*hdE6HX`R@$~c2*%&X1q$B67HWd`oQEI#`+#OEdwl^WV{1N(5{=#%U3XPSn) z#Mmqj5Z9S9FmlhtrE%W7yHvpSDVO2w7q-;qdj85~9k=1nYZ3>_iP1F`+|uW5zi4pF z-XE-ZY^=1O>e~H^cBU22Ntp*4@^w5| zv0(4@vT`e5m@SwlDZDX+iTFVIP_y2-&mX;otQ=18Xmgt1eG;k@@*!yHY3MkUH&OLk zN!*w62wmGQuYyf>M;EHD`s$kpeU#JO_FYJlTx@7K@`$NoG4ZM2p^}Qfou0ijpv8!_F`pSFu6s?%mWSjs6?V-a=vm@@f0SZNzvSuZ zk)Bld*|US5fz1lC@!NS;8Ty1~^5;o!SeKJi5uGY{pK;Tl>bQC*GgB?STE+Bu7;F5U z$}9&Hnv5lyu=e%@C3eG`xw5_+MAHw66`}D(oA8Z=3G;(%p_bPUY{VTA*vyFHh?34b z&f$fYy-n1&VqF@?$`N}svT@`@i9lbZ>Y1n<+Lfeyu>mSBHHNeJ~_)~?e z+v+Z>+t8);w;(qKr@`;wB`T2{@>3ahH4rIfrAZU}_lO#*~h8Fsd1P7d0QQ>!f(l#*T zm8J4gqyc*JwBloV@x#hz*tJwzLYc8y@Avz8bSTx2~|>4kGl6UX=R7x9TbwiARy_M*4o%I{OxQS z1>(hB?)WJ|4n>El0s0=Y5cY`Nx$})P#%yAwp0j<2zO{dyXn4x`QqgyZrQ}EgDdU$| z!~6CJEfLS3%wK-D9q-?xZy#(e?=j8EE8CX$d3f5*9F68&$WlPp$#M{Jd07l``FuJU z;y*9RG@+F-7klGQ zswjJK?ZnE%P`**#N|_kO)s4?{klq4j-TiZI2Yqs7XzD|w=P7sRB5zOJ8X>uz%)!si z=#ct>iDv$-F7wv0)+y|g^V$otS51D2B{AxNZ!fari5A`y^&;Ec-A+P8&x5#F zni3llhB!Q^Ra&&`yooZ0ywc8Qc|@IPq>Bmu>hbI`QYzvRt9UEf+&l0)o5jYpNp)yz zpV|$VQ)_nSWWH8&U#zV) zB^U0vQ+T1ECn?0g?GgczKt#i>)7K?1m(Z08MUR>aZr;_Tb{&h@|6Z~wN%5KGgnX|W zrr<_d>XqiOcF5zx@zS~C%%}ICu|9d-*}XDM*F&$agS4}1mI!}1-=C?dz%LD{Sn1Gk zOBm-ax;rzNKO0WnPpoHsvA{u~MfZUet8bF+eFdZ<7sfwys82#fBt_!Wlh5V-r5rDh zRBAib9ruZ{#7x+7paW_6)tukm#avI;WC}LLSc_yChp95ZCMAuolgn$PuEwxt3z}|w zMryc?3$LXIAGd4#y0YJD<_XGLlZ3SN`2nMSTW`{oo<|$#iAowIZPuQoCs;L?xzsAe zLUx{Uyh_D5N5^rRH1E}eigUh~BVNs!om;)E^Fdedd%bt<;RmJ!w;9|GBeu5hat~rC z?b8;csf?@ybBSXPbcFw?BcYdYOYAmIUCvp!cg8tO#htX|>Y|VBCH=N$xfsOL*POH? zH_j#B%hs~gh_X}W-FZO~Kz&#-iN_>nCixkyc>MF0^rz_vK0`67d)@*v`#vE19|(lc zXkK_Sd6V=+tF+k`1!e*@Sx@vIHX3a}~Myrf*F;v6@B4 z;&1ThFP|ppP;K(=As;^>?ps5`ozrCcY&nsY_EmCRswQeq#EfExBCn>V@lA*3$Ez9| zXZtlMsU#eipRx_h_9aO^|N1^hwC zScOW(hi%1bixhh2%Rasrkv~ru@}fUpt4j+%azF7gzU@e#p~@p(tzH_R^PQG{ zP!aq*=M?hs1?n1mo#}+Nj%j-a>}$4Nr8Ng;r{~*dw-a{fw?65A&0Y;te;1uh@<8B86OJMp+nO_vz#vHZg=~6G&#}a zEPL@+N;)^wY$c+N(pwW+Q+7vFKABDF-wVDPsi#ik#uNGB=C$hA`9|hSugSY+yZAlX zB%FmuxJA5QssDK6d+Ffq_1=tG8DjYyBaFG+)dPcq3^{x`wlf{1+M1HQJ?Ch;b5fVf zuG4JCv!q0Roo8y167g+2G`k!>^x;%aSMC_8b7)0$HDg8O2T9#ix(botS5O9IEQpi0 zmiA^6=2RSiVfkLPL~iXs9QR0(T5%)+!9}WowR(M|1m@toAD*E#SuQW^N<&g2OAZZm zif$*@Kep?LN&7bU;)Y7d*Y*GDE1~l~9ne>rW&*MoT=I!`#@cEL-*pj?1rRrL5GY~1clZpi?& zV!>Ket5kxL25UFl=;5h$lIpYP6%BrJ)c|va|FE3OcM∾f(@AVNRi4;_t-Y2`3>) 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 F{{uk31d9Lw literal 0 HcmV?d00001 From 3cd0e1ad3dea9a62bf1c5c35b4787c241596bc56 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Fri, 3 Jan 2025 20:54:59 +0100 Subject: [PATCH 06/18] Add maybeInflate() which inflates only if the source buffer starts with the INFLATE_HEADER --- .../androidx/media3/common/util/Util.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index 1b9e00935f..ad571c84c2 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -212,6 +212,8 @@ public final class Util { private static final String ISM_HLS_FORMAT_EXTENSION = "format=m3u8-aapl"; private static final String ISM_DASH_FORMAT_EXTENSION = "format=mpd-time-csf"; + private static final int INFLATE_HEADER = 0x78; + // Replacement map of ISO language codes used for normalization. @Nullable private static HashMap languageTagReplacementMap; @@ -3102,6 +3104,28 @@ public final class Util { } } + /** + * Uncompresses the data in {@code input} if it starts with {@code INFLATE_HEADER} + * ({@code 0x78}). + * + * @param input Wraps the compressed input data. + * @param output Wraps an output buffer to be used to store the uncompressed data. If {@code + * output.data} isn't big enough to hold the uncompressed data, a new array is created. If + * {@code true} is returned then the output's position will be set to 0 and its limit will be + * set to the length of the uncompressed data. + * @param inflater If not null, used to uncompressed the input. Otherwise a new {@link Inflater} + * is created. + * @return Whether the input is uncompressed successfully. + */ + @UnstableApi + public static boolean maybeInflate( + ParsableByteArray input, ParsableByteArray output, @Nullable Inflater inflater) { + if (input.bytesLeft() > 0 && input.peekUnsignedByte() == INFLATE_HEADER) { + return inflate(input, output, inflater); + } + return false; + } + /** * Returns whether the app is running on a TV device. * From f52d98eafdb5ad3cee79f0bbcca740fd5555f926 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Fri, 3 Jan 2025 20:55:59 +0100 Subject: [PATCH 07/18] Use Util.maybeInflate() --- .../media3/extractor/text/pgs/PgsParser.java | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java index 0e7ff2d1a7..0c196c3dae 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java @@ -49,8 +49,6 @@ public final class PgsParser implements SubtitleParser { private static final int SECTION_TYPE_IDENTIFIER = 0x16; private static final int SECTION_TYPE_END = 0x80; - private static final byte INFLATE_HEADER = 0x78; - private final ParsableByteArray buffer; private final ParsableByteArray inflatedBuffer; private final CueBuilder cueBuilder; @@ -76,7 +74,12 @@ public final class PgsParser implements SubtitleParser { Consumer output) { buffer.reset(data, /* limit= */ offset + length); buffer.setPosition(offset); - maybeInflateData(buffer); + if (inflater == null) { + inflater = new Inflater(); + } + if (Util.maybeInflate(buffer, inflatedBuffer, inflater)) { + buffer.reset(inflatedBuffer.getData(), inflatedBuffer.limit()); + } cueBuilder.reset(); ArrayList cues = new ArrayList<>(); while (buffer.bytesLeft() >= 3) { @@ -89,17 +92,6 @@ public final class PgsParser implements SubtitleParser { new CuesWithTiming(cues, /* startTimeUs= */ C.TIME_UNSET, /* durationUs= */ C.TIME_UNSET)); } - private void maybeInflateData(ParsableByteArray buffer) { - if (buffer.bytesLeft() > 0 && buffer.peekUnsignedByte() == INFLATE_HEADER) { - if (inflater == null) { - inflater = new Inflater(); - } - if (Util.inflate(buffer, inflatedBuffer, inflater)) { - buffer.reset(inflatedBuffer.getData(), inflatedBuffer.limit()); - } // else assume data is not compressed. - } - } - @Nullable private static Cue readNextSection(ParsableByteArray buffer, CueBuilder cueBuilder) { int limit = buffer.limit(); From 391b72e257e290f9047a12c4ca327589e6ce7453 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Fri, 3 Jan 2025 20:56:50 +0100 Subject: [PATCH 08/18] Various cleanup and improvements as suggested by mainainer. --- .../extractor/text/vobsub/VobsubParser.java | 258 +++++++++--------- 1 file changed, 135 insertions(+), 123 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index 4e381bb215..978ff2be55 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -1,5 +1,6 @@ package androidx.media3.extractor.text.vobsub; +import static java.lang.Math.min; import android.graphics.Bitmap; import androidx.annotation.Nullable; @@ -14,10 +15,13 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.extractor.text.CuesWithTiming; import androidx.media3.extractor.text.SubtitleParser; +import com.google.common.collect.ImmutableList; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.zip.Inflater; +import android.graphics.Rect; // Much of this is taken from or very similar to PgsParser @@ -34,14 +38,6 @@ public final class VobsubParser implements SubtitleParser { private static final int DEFAULT_DURATION = 5000000; - private static final int CMD_COLORS = 3; - private static final int CMD_ALPHA = 4; - private static final int CMD_AREA = 5; - private static final int CMD_OFFSETS = 6; - private static final int CMD_END = 255; - - private static final int INFLATE_HEADER = 0x78; - private final ParsableByteArray buffer; private final ParsableByteArray inflatedBuffer; private final CueBuilder cueBuilder; @@ -70,10 +66,13 @@ public final class VobsubParser implements SubtitleParser { buffer.reset(data, offset + length); buffer.setPosition(offset); - maybeInflateData(buffer); - + if (inflater == null) { + inflater = new Inflater(); + } + if (Util.maybeInflate(buffer, inflatedBuffer, inflater)) { + buffer.reset(inflatedBuffer.getData(), inflatedBuffer.limit()); + } cueBuilder.reset(); - ArrayList cues = new ArrayList<>(); Cue cue = null; int blen = buffer.bytesLeft(); @@ -85,59 +84,43 @@ public final class VobsubParser implements SubtitleParser { cue = cueBuilder.build(buffer); } } - if (cue != null) { - cues.add(cue); - } output.accept( - new CuesWithTiming( - cues, /* startTimeUs= */ C.TIME_UNSET, /* durationUs= */ DEFAULT_DURATION)); - } - - // directly taken from PgsParser - - private void maybeInflateData(ParsableByteArray buffer) { - if (buffer.bytesLeft() > 0 && buffer.peekUnsignedByte() == INFLATE_HEADER) { - if (inflater == null) { - inflater = new Inflater(); - } - if (Util.inflate(buffer, inflatedBuffer, inflater)) { - buffer.reset(inflatedBuffer.getData(), inflatedBuffer.limit()); - } // else assume data is not compressed. - } + new CuesWithTiming( + cue != null ? ImmutableList.of(cue) : ImmutableList.of(), + /* startTimeUs= */ C.TIME_UNSET, + /* durationUs= */ DEFAULT_DURATION)); } private static final class CueBuilder { + private static final int CMD_COLORS = 3; + private static final int CMD_ALPHA = 4; + private static final int CMD_AREA = 5; + private static final int CMD_OFFSETS = 6; + private static final int CMD_END = 255; + private boolean hasPlane; private boolean hasColors; - private boolean hasPosition; private boolean hasDataOffsets; private int[] palette; private int planeWidth; private int planeHeight; private int[] colors; - private int x0, y0, x1, y1, width, height; + private Rect boundingBox; private int dataOffset0, dataOffset1; private int dataSize; public CueBuilder() { - hasPlane = false; - hasColors = false; - hasPosition = false; - hasDataOffsets = false; - palette = null; colors = new int[4]; } public void parseIdx(String idx) { - for (String line : idx.trim().split("\\r?\\n")) { + for (String line : Util.split(idx.trim(), "\\r?\\n")) { if (line.startsWith("palette: ")) { - String[] values = line.substring(9).split(","); - int l = values.length; + String[] values = Util.split(line.substring("palette: ".length()), ","); + palette = new int[values.length]; - palette = new int[l]; - - for (int i = 0; i < l; i++) { + for (int i = 0; i < values.length; i++) { palette[i] = parseColor(values[i].trim()); } } else if (line.startsWith("size: ")) { @@ -145,32 +128,31 @@ public final class VobsubParser implements SubtitleParser { // NOTE: we need this line to calculate the relative positions // and size required by Cue.Builder() below. - String[] sizes = line.substring(6).trim().split("x"); + String[] sizes = Util.split(line.substring("size: ".length()).trim(), "x"); if (sizes.length == 2) { try { planeWidth = Integer.parseInt(sizes[0]); planeHeight = Integer.parseInt(sizes[1]); hasPlane = true; - } catch (Exception e) { + } catch (RuntimeException e) { } } } } } - private int parseColor(String value) { + private static int parseColor(String value) { try { return Integer.parseInt(value, 16); - } catch (Exception e) { + } catch (RuntimeException e) { + return 0; } - - return 0; } public void parseSpu(ParsableByteArray buffer) { - // Give up if don't have the color palette or the video size. + // Give up if we don't have the color palette or the video size. // (See also the NOTE above) if (palette == null || !hasPlane) return; @@ -186,60 +168,23 @@ public final class VobsubParser implements SubtitleParser { } private void parseControl(ParsableByteArray buffer, int end) { - int t, d0, d1, d2; while (buffer.getPosition() < end && buffer.bytesLeft() > 0) { - t = buffer.readUnsignedByte(); - - switch (t) { + switch (buffer.readUnsignedByte()) { case CMD_COLORS: - if (buffer.bytesLeft() < 2) return; - - d0 = buffer.readUnsignedByte(); - d1 = buffer.readUnsignedByte(); - colors[3] = getColor(d0 >> 4); - colors[2] = getColor(d0 & 0xf); - colors[1] = getColor(d1 >> 4); - colors[0] = getColor(d1 & 0xf); - hasColors = true; + if (!parseControlColors(buffer)) return; break; case CMD_ALPHA: - if (buffer.bytesLeft() < 2) return; - - d0 = buffer.readUnsignedByte(); - d1 = buffer.readUnsignedByte(); - - colors[3] = setAlpha(colors[3], (d0 >> 4)); - colors[2] = setAlpha(colors[2], (d0 & 0xf)); - colors[1] = setAlpha(colors[1], (d1 >> 4)); - colors[0] = setAlpha(colors[0], (d1 & 0xf)); + if (!parseControlAlpha(buffer)) return; break; case CMD_AREA: - if (buffer.bytesLeft() < 6) return; - - d0 = buffer.readUnsignedByte(); - d1 = buffer.readUnsignedByte(); - d2 = buffer.readUnsignedByte(); - x0 = (d0 << 4) | (d1 >> 4); - x1 = ((d1 & 0xf) << 8) | d2; - d0 = buffer.readUnsignedByte(); - d1 = buffer.readUnsignedByte(); - d2 = buffer.readUnsignedByte(); - y0 = (d0 << 4) | (d1 >> 4); - y1 = ((d1 & 0xf) << 8) | d2; - width = x1 - x0 + 1; - height = y1 - y0 + 1; - hasPosition = true; + if (!parseControlArea(buffer)) return; break; case CMD_OFFSETS: - if (buffer.bytesLeft() < 4) return; - - dataOffset0 = buffer.readUnsignedShort(); - dataOffset1 = buffer.readUnsignedShort(); - hasDataOffsets = true; + if (!parseControlOffsets(buffer)) return; break; case CMD_END: @@ -248,6 +193,67 @@ public final class VobsubParser implements SubtitleParser { } } + private boolean parseControlColors(ParsableByteArray buffer) { + if (buffer.bytesLeft() < 2) return false; + + int byte0 = buffer.readUnsignedByte(); + int byte1 = buffer.readUnsignedByte(); + + colors[3] = getColor(byte0 >> 4); + colors[2] = getColor(byte0 & 0xf); + colors[1] = getColor(byte1 >> 4); + colors[0] = getColor(byte1 & 0xf); + hasColors = true; + + return true; + } + + private boolean parseControlAlpha(ParsableByteArray buffer) { + if (buffer.bytesLeft() < 2) return false; + + int byte0 = buffer.readUnsignedByte(); + int byte1 = buffer.readUnsignedByte(); + + colors[3] = setAlpha(colors[3], (byte0 >> 4)); + colors[2] = setAlpha(colors[2], (byte0 & 0xf)); + colors[1] = setAlpha(colors[1], (byte1 >> 4)); + colors[0] = setAlpha(colors[0], (byte1 & 0xf)); + + return true; + } + + private boolean parseControlArea(ParsableByteArray buffer) { + if (buffer.bytesLeft() < 6) return false; + + int byte0 = buffer.readUnsignedByte(); + int byte1 = buffer.readUnsignedByte(); + int byte2 = buffer.readUnsignedByte(); + + int left = (byte0 << 4) | (byte1 >> 4); + int right = ((byte1 & 0xf) << 8) | byte2; + + int byte3 = buffer.readUnsignedByte(); + int byte4 = buffer.readUnsignedByte(); + int byte5 = buffer.readUnsignedByte(); + + int top = (byte3 << 4) | (byte4 >> 4); + int bottom = ((byte4 & 0xf) << 8) | byte5; + + boundingBox = new Rect(left, top, right + 1, bottom + 1); + + return true; + } + + private boolean parseControlOffsets(ParsableByteArray buffer) { + if (buffer.bytesLeft() < 4) return false; + + dataOffset0 = buffer.readUnsignedShort(); + dataOffset1 = buffer.readUnsignedShort(); + hasDataOffsets = true; + + return true; + } + private int getColor(int index) { if (index >= 0 && index < palette.length) return palette[index]; return palette[0]; @@ -261,85 +267,91 @@ public final class VobsubParser implements SubtitleParser { if (palette == null || !hasPlane || !hasColors - || !hasPosition + || boundingBox == null || !hasDataOffsets - || width < 2 - || height < 2) { + || boundingBox.width() < 2 + || boundingBox.height() < 2) { return null; } - int[] bitmapData = new int[width * height]; + int[] bitmapData = new int[boundingBox.width() * boundingBox.height()]; ParsableBitArray bitBuffer = new ParsableBitArray(); buffer.setPosition(dataOffset0); bitBuffer.reset(buffer); - parseRleData(bitmapData, bitBuffer, 0); + parseRleData(bitBuffer, 0, bitmapData); buffer.setPosition(dataOffset1); bitBuffer.reset(buffer); - parseRleData(bitmapData, bitBuffer, 1); + parseRleData(bitBuffer, 1, bitmapData); - Bitmap bitmap = Bitmap.createBitmap(bitmapData, width, height, Bitmap.Config.ARGB_8888); + Bitmap bitmap = Bitmap.createBitmap(bitmapData, boundingBox.width(), boundingBox.height(), Bitmap.Config.ARGB_8888); return new Cue.Builder() .setBitmap(bitmap) - .setPosition((float) x0 / planeWidth) + .setPosition((float) boundingBox.left / planeWidth) .setPositionAnchor(Cue.ANCHOR_TYPE_START) - .setLine((float) y0 / planeHeight, Cue.LINE_TYPE_FRACTION) + .setLine((float) boundingBox.top / planeHeight, Cue.LINE_TYPE_FRACTION) .setLineAnchor(Cue.ANCHOR_TYPE_START) - .setSize((float) width / planeWidth) - .setBitmapHeight((float) height / planeHeight) + .setSize((float) boundingBox.width() / planeWidth) + .setBitmapHeight((float) boundingBox.height() / planeHeight) .build(); } - private void parseRleData(int[] bitmapData, ParsableBitArray bitBuffer, int y) { + /** + * Parse run-length encoded data into the {@code bitmapData} array. The + * subtitle bitmap is encoded in two blocks of interlaced lines, {@code y} + * gives the index of the starting line (0 or 1). + * + * @param bitBuffer The RLE encoded data. + * @param y Index of the first line. + * @param bitmapData Output array. + */ + private void parseRleData(ParsableBitArray bitBuffer, int y, int[] bitmapData) { + int width = boundingBox.width(); + int height = boundingBox.height(); int x = 0; - int l = 0; - int i = y * width; + int outIndex = y * width; Run run = new Run(); while (true) { parseRun(bitBuffer, run); - l = run.length; - if (l > width - x) l = width - x; + int length = min(run.length, width - x); - while (l > 0) { - bitmapData[i++] = run.color; - x++; - l--; + if (length > 0) { + Arrays.fill(bitmapData, outIndex, outIndex + length, run.color); + outIndex += length; + x += length; } if (x >= width) { y += 2; if (y >= height) break; x = 0; - i = y * width; + outIndex = y * width; bitBuffer.byteAlign(); } } } private void parseRun(ParsableBitArray bitBuffer, Run run) { - int v = 0; - int t = 1; - int b; + int value = 0; + int test = 1; - while (v < t && t <= 0x40) { + while (value < test && test <= 0x40) { if (bitBuffer.bitsLeft() < 4) { run.color = 0; run.length = 0; return; } - b = bitBuffer.readBits(4); - v = (v << 4) | b; - t <<= 2; + value = (value << 4) | bitBuffer.readBits(4); + test <<= 2; } - run.color = colors[v & 3]; - if (v < 4) run.length = width; - else run.length = (v >> 2); + run.color = colors[value & 3]; + run.length = value < 4 ? boundingBox.width() : (value >> 2); } public void reset() { hasColors = false; - hasPosition = false; + boundingBox = null; hasDataOffsets = false; } From 8520c66fd8d88d97200501d6bb9a0579502026e9 Mon Sep 17 00:00:00 2001 From: Ian Baker Date: Mon, 6 Jan 2025 11:42:41 +0000 Subject: [PATCH 09/18] Add some nullness annotations, re-jig some logic and reformat --- .../androidx/media3/common/util/Util.java | 16 +- .../text/DefaultSubtitleParserFactory.java | 2 +- .../extractor/text/vobsub/VobsubParser.java | 155 +++++++++--------- 3 files changed, 87 insertions(+), 86 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index ad571c84c2..2691406d13 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -212,7 +212,7 @@ public final class Util { private static final String ISM_HLS_FORMAT_EXTENSION = "format=m3u8-aapl"; private static final String ISM_DASH_FORMAT_EXTENSION = "format=mpd-time-csf"; - private static final int INFLATE_HEADER = 0x78; + private static final int ZLIB_INFLATE_HEADER = 0x78; // Replacement map of ISO language codes used for normalization. @Nullable private static HashMap languageTagReplacementMap; @@ -3105,25 +3105,23 @@ public final class Util { } /** - * Uncompresses the data in {@code input} if it starts with {@code INFLATE_HEADER} - * ({@code 0x78}). + * Uncompresses the data in {@code input} if it starts with the zlib marker {@code 0x78}. * * @param input Wraps the compressed input data. * @param output Wraps an output buffer to be used to store the uncompressed data. If {@code * output.data} isn't big enough to hold the uncompressed data, a new array is created. If * {@code true} is returned then the output's position will be set to 0 and its limit will be * set to the length of the uncompressed data. - * @param inflater If not null, used to uncompressed the input. Otherwise a new {@link Inflater} - * is created. + * @param inflater If not null, used to uncompress the input. Otherwise a new {@link Inflater} is + * created. * @return Whether the input is uncompressed successfully. */ @UnstableApi public static boolean maybeInflate( ParsableByteArray input, ParsableByteArray output, @Nullable Inflater inflater) { - if (input.bytesLeft() > 0 && input.peekUnsignedByte() == INFLATE_HEADER) { - return inflate(input, output, inflater); - } - return false; + return input.bytesLeft() > 0 + && input.peekUnsignedByte() == ZLIB_INFLATE_HEADER + && inflate(input, output, inflater); } /** diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/DefaultSubtitleParserFactory.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/DefaultSubtitleParserFactory.java index 0f3d49a970..b2413e3be5 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/DefaultSubtitleParserFactory.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/DefaultSubtitleParserFactory.java @@ -22,11 +22,11 @@ import androidx.media3.common.MimeTypes; import androidx.media3.common.util.UnstableApi; import androidx.media3.extractor.text.dvb.DvbParser; import androidx.media3.extractor.text.pgs.PgsParser; -import androidx.media3.extractor.text.vobsub.VobsubParser; import androidx.media3.extractor.text.ssa.SsaParser; import androidx.media3.extractor.text.subrip.SubripParser; import androidx.media3.extractor.text.ttml.TtmlParser; import androidx.media3.extractor.text.tx3g.Tx3gParser; +import androidx.media3.extractor.text.vobsub.VobsubParser; import androidx.media3.extractor.text.webvtt.Mp4WebvttParser; import androidx.media3.extractor.text.webvtt.WebvttParser; import java.util.Objects; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index 978ff2be55..f6d7bca984 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -1,8 +1,10 @@ package androidx.media3.extractor.text.vobsub; import static java.lang.Math.min; +import static java.nio.charset.StandardCharsets.UTF_8; import android.graphics.Bitmap; +import android.graphics.Rect; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; @@ -16,12 +18,10 @@ import androidx.media3.common.util.Util; import androidx.media3.extractor.text.CuesWithTiming; import androidx.media3.extractor.text.SubtitleParser; import com.google.common.collect.ImmutableList; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.zip.Inflater; -import android.graphics.Rect; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; // Much of this is taken from or very similar to PgsParser @@ -36,19 +36,18 @@ public final class VobsubParser implements SubtitleParser { public static final @CueReplacementBehavior int CUE_REPLACEMENT_BEHAVIOR = Format.CUE_REPLACEMENT_BEHAVIOR_REPLACE; - private static final int DEFAULT_DURATION = 5000000; + private static final int DEFAULT_DURATION_US = 5_000_000; - private final ParsableByteArray buffer; - private final ParsableByteArray inflatedBuffer; + private final ParsableByteArray scratch; + private final ParsableByteArray inflatedScratch; private final CueBuilder cueBuilder; @Nullable private Inflater inflater; public VobsubParser(List initializationData) { - - buffer = new ParsableByteArray(); - inflatedBuffer = new ParsableByteArray(); + scratch = new ParsableByteArray(); + inflatedScratch = new ParsableByteArray(); cueBuilder = new CueBuilder(); - cueBuilder.parseIdx(new String(initializationData.get(0), StandardCharsets.UTF_8)); + cueBuilder.parseIdx(new String(initializationData.get(0), UTF_8)); } @Override @@ -63,52 +62,54 @@ public final class VobsubParser implements SubtitleParser { int length, OutputOptions outputOptions, Consumer output) { + scratch.reset(data, offset + length); + scratch.setPosition(offset); + @Nullable Cue cue = parse(); + output.accept( + new CuesWithTiming( + cue != null ? ImmutableList.of(cue) : ImmutableList.of(), + /* startTimeUs= */ C.TIME_UNSET, + /* durationUs= */ DEFAULT_DURATION_US)); + } - buffer.reset(data, offset + length); - buffer.setPosition(offset); + @Nullable + private Cue parse() { if (inflater == null) { inflater = new Inflater(); } - if (Util.maybeInflate(buffer, inflatedBuffer, inflater)) { - buffer.reset(inflatedBuffer.getData(), inflatedBuffer.limit()); + if (Util.maybeInflate(scratch, inflatedScratch, inflater)) { + scratch.reset(inflatedScratch.getData(), inflatedScratch.limit()); } cueBuilder.reset(); Cue cue = null; - int blen = buffer.bytesLeft(); - if (blen >= 2) { - int len = buffer.readUnsignedShort(); - - if (len == blen) { - cueBuilder.parseSpu(buffer); - cue = cueBuilder.build(buffer); - } + int bytesLeft = scratch.bytesLeft(); + if (bytesLeft < 2 || scratch.readUnsignedShort() != bytesLeft) { + return null; } - output.accept( - new CuesWithTiming( - cue != null ? ImmutableList.of(cue) : ImmutableList.of(), - /* startTimeUs= */ C.TIME_UNSET, - /* durationUs= */ DEFAULT_DURATION)); + cueBuilder.parseSpu(scratch); + return cueBuilder.build(scratch); } private static final class CueBuilder { - private static final int CMD_COLORS = 3; - private static final int CMD_ALPHA = 4; - private static final int CMD_AREA = 5; + private static final int CMD_COLORS = 3; + private static final int CMD_ALPHA = 4; + private static final int CMD_AREA = 5; private static final int CMD_OFFSETS = 6; - private static final int CMD_END = 255; + private static final int CMD_END = 255; + + private final int[] colors; private boolean hasPlane; private boolean hasColors; private boolean hasDataOffsets; - private int[] palette; + private int @MonotonicNonNull [] palette; private int planeWidth; private int planeHeight; - private int[] colors; - private Rect boundingBox; - private int dataOffset0, dataOffset1; - private int dataSize; + private @Nullable Rect boundingBox; + private int dataOffset0; + private int dataOffset1; public CueBuilder() { colors = new int[4]; @@ -124,10 +125,8 @@ public final class VobsubParser implements SubtitleParser { palette[i] = parseColor(values[i].trim()); } } else if (line.startsWith("size: ")) { - - // NOTE: we need this line to calculate the relative positions - // and size required by Cue.Builder() below. - + // We need this line to calculate the relative positions and size required when building + // the Cue below. String[] sizes = Util.split(line.substring("size: ".length()).trim(), "x"); if (sizes.length == 2) { @@ -151,42 +150,38 @@ public final class VobsubParser implements SubtitleParser { } public void parseSpu(ParsableByteArray buffer) { - - // Give up if we don't have the color palette or the video size. - // (See also the NOTE above) - - if (palette == null || !hasPlane) return; - - int pos = buffer.getPosition(); - - dataSize = buffer.readUnsignedShort(); - pos += dataSize; - buffer.setPosition(pos); - + if (palette == null || !hasPlane) { + // Give up if we don't have the color palette or the video size. + return; + } + buffer.skipBytes(buffer.readUnsignedShort()); int end = buffer.readUnsignedShort(); parseControl(buffer, end); } private void parseControl(ParsableByteArray buffer, int end) { - while (buffer.getPosition() < end && buffer.bytesLeft() > 0) { switch (buffer.readUnsignedByte()) { case CMD_COLORS: - if (!parseControlColors(buffer)) return; + if (!parseControlColors(buffer)) { + return; + } break; - case CMD_ALPHA: - if (!parseControlAlpha(buffer)) return; + if (!parseControlAlpha(buffer)) { + return; + } break; - case CMD_AREA: - if (!parseControlArea(buffer)) return; + if (!parseControlArea(buffer)) { + return; + } break; - case CMD_OFFSETS: - if (!parseControlOffsets(buffer)) return; + if (!parseControlOffsets(buffer)) { + return; + } break; - case CMD_END: return; } @@ -194,7 +189,9 @@ public final class VobsubParser implements SubtitleParser { } private boolean parseControlColors(ParsableByteArray buffer) { - if (buffer.bytesLeft() < 2) return false; + if (buffer.bytesLeft() < 2) { + return false; + } int byte0 = buffer.readUnsignedByte(); int byte1 = buffer.readUnsignedByte(); @@ -209,7 +206,9 @@ public final class VobsubParser implements SubtitleParser { } private boolean parseControlAlpha(ParsableByteArray buffer) { - if (buffer.bytesLeft() < 2) return false; + if (buffer.bytesLeft() < 2) { + return false; + } int byte0 = buffer.readUnsignedByte(); int byte1 = buffer.readUnsignedByte(); @@ -223,7 +222,9 @@ public final class VobsubParser implements SubtitleParser { } private boolean parseControlArea(ParsableByteArray buffer) { - if (buffer.bytesLeft() < 6) return false; + if (buffer.bytesLeft() < 6) { + return false; + } int byte0 = buffer.readUnsignedByte(); int byte1 = buffer.readUnsignedByte(); @@ -245,7 +246,9 @@ public final class VobsubParser implements SubtitleParser { } private boolean parseControlOffsets(ParsableByteArray buffer) { - if (buffer.bytesLeft() < 4) return false; + if (buffer.bytesLeft() < 4) { + return false; + } dataOffset0 = buffer.readUnsignedShort(); dataOffset1 = buffer.readUnsignedShort(); @@ -255,8 +258,7 @@ public final class VobsubParser implements SubtitleParser { } private int getColor(int index) { - if (index >= 0 && index < palette.length) return palette[index]; - return palette[0]; + return index >= 0 && index < palette.length ? palette[index] : palette[0]; } private int setAlpha(int color, int alpha) { @@ -283,7 +285,9 @@ public final class VobsubParser implements SubtitleParser { bitBuffer.reset(buffer); parseRleData(bitBuffer, 1, bitmapData); - Bitmap bitmap = Bitmap.createBitmap(bitmapData, boundingBox.width(), boundingBox.height(), Bitmap.Config.ARGB_8888); + Bitmap bitmap = + Bitmap.createBitmap( + bitmapData, boundingBox.width(), boundingBox.height(), Bitmap.Config.ARGB_8888); return new Cue.Builder() .setBitmap(bitmap) @@ -297,15 +301,15 @@ public final class VobsubParser implements SubtitleParser { } /** - * Parse run-length encoded data into the {@code bitmapData} array. The - * subtitle bitmap is encoded in two blocks of interlaced lines, {@code y} - * gives the index of the starting line (0 or 1). + * Parse run-length encoded data into the {@code bitmapData} array. The subtitle bitmap is + * encoded in two blocks of interlaced lines, {@code y} gives the index of the starting line (0 + * or 1). * * @param bitBuffer The RLE encoded data. * @param y Index of the first line. * @param bitmapData Output array. */ - private void parseRleData(ParsableBitArray bitBuffer, int y, int[] bitmapData) { + private void parseRleData(ParsableBitArray bitBuffer, int y, int[] bitmapData) { int width = boundingBox.width(); int height = boundingBox.height(); int x = 0; @@ -316,11 +320,10 @@ public final class VobsubParser implements SubtitleParser { parseRun(bitBuffer, run); int length = min(run.length, width - x); - if (length > 0) { - Arrays.fill(bitmapData, outIndex, outIndex + length, run.color); - outIndex += length; - x += length; + Arrays.fill(bitmapData, outIndex, outIndex + length, run.color); + outIndex += length; + x += length; } if (x >= width) { y += 2; From 671810235f9891178451e29ef87d4f00efdaea13 Mon Sep 17 00:00:00 2001 From: Ian Baker Date: Mon, 6 Jan 2025 15:08:38 +0000 Subject: [PATCH 10/18] Assorted nullness and control flow clean-ups --- .../extractor/text/vobsub/VobsubParser.java | 58 ++++++++++--------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index f6d7bca984..ba23c1c283 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -81,8 +81,6 @@ public final class VobsubParser implements SubtitleParser { scratch.reset(inflatedScratch.getData(), inflatedScratch.limit()); } cueBuilder.reset(); - Cue cue = null; - int bytesLeft = scratch.bytesLeft(); if (bytesLeft < 2 || scratch.readUnsignedShort() != bytesLeft) { return null; @@ -103,7 +101,6 @@ public final class VobsubParser implements SubtitleParser { private boolean hasPlane; private boolean hasColors; - private boolean hasDataOffsets; private int @MonotonicNonNull [] palette; private int planeWidth; private int planeHeight; @@ -113,6 +110,8 @@ public final class VobsubParser implements SubtitleParser { public CueBuilder() { colors = new int[4]; + dataOffset0 = C.INDEX_UNSET; + dataOffset1 = C.INDEX_UNSET; } public void parseIdx(String idx) { @@ -205,8 +204,12 @@ public final class VobsubParser implements SubtitleParser { return true; } + private int getColor(int index) { + return index >= 0 && index < palette.length ? palette[index] : palette[0]; + } + private boolean parseControlAlpha(ParsableByteArray buffer) { - if (buffer.bytesLeft() < 2) { + if (buffer.bytesLeft() < 2 || !hasColors) { return false; } @@ -221,6 +224,10 @@ public final class VobsubParser implements SubtitleParser { return true; } + private static int setAlpha(int color, int alpha) { + return ((color & 0x00ffffff) | ((alpha * 17) << 24)); + } + private boolean parseControlArea(ParsableByteArray buffer) { if (buffer.bytesLeft() < 6) { return false; @@ -252,38 +259,31 @@ public final class VobsubParser implements SubtitleParser { dataOffset0 = buffer.readUnsignedShort(); dataOffset1 = buffer.readUnsignedShort(); - hasDataOffsets = true; return true; } - private int getColor(int index) { - return index >= 0 && index < palette.length ? palette[index] : palette[0]; - } - - private int setAlpha(int color, int alpha) { - return ((color & 0x00ffffff) | ((alpha * 17) << 24)); - } - + @Nullable public Cue build(ParsableByteArray buffer) { if (palette == null || !hasPlane || !hasColors || boundingBox == null - || !hasDataOffsets + || dataOffset0 == C.INDEX_UNSET || dataOffset1 == C.INDEX_UNSET || boundingBox.width() < 2 || boundingBox.height() < 2) { return null; } + Rect boundingBox = this.boundingBox; int[] bitmapData = new int[boundingBox.width() * boundingBox.height()]; ParsableBitArray bitBuffer = new ParsableBitArray(); buffer.setPosition(dataOffset0); bitBuffer.reset(buffer); - parseRleData(bitBuffer, 0, bitmapData); + parseRleData(bitBuffer, /* evenInterlace= */ true, boundingBox, bitmapData); buffer.setPosition(dataOffset1); bitBuffer.reset(buffer); - parseRleData(bitBuffer, 1, bitmapData); + parseRleData(bitBuffer, /* evenInterlace= */ false,boundingBox, bitmapData); Bitmap bitmap = Bitmap.createBitmap( @@ -306,22 +306,23 @@ public final class VobsubParser implements SubtitleParser { * or 1). * * @param bitBuffer The RLE encoded data. - * @param y Index of the first line. + * @param evenInterlace Whether to decode the even or odd interlaced lines. * @param bitmapData Output array. */ - private void parseRleData(ParsableBitArray bitBuffer, int y, int[] bitmapData) { + private void parseRleData(ParsableBitArray bitBuffer, boolean evenInterlace, Rect boundingBox, int[] bitmapData) { int width = boundingBox.width(); int height = boundingBox.height(); int x = 0; + int y = evenInterlace ? 0 : 1; int outIndex = y * width; Run run = new Run(); while (true) { - parseRun(bitBuffer, run); + parseRun(bitBuffer, width, run); int length = min(run.length, width - x); if (length > 0) { - Arrays.fill(bitmapData, outIndex, outIndex + length, run.color); + Arrays.fill(bitmapData, outIndex, outIndex + length, colors[run.colorIndex]); outIndex += length; x += length; } @@ -335,31 +336,32 @@ public final class VobsubParser implements SubtitleParser { } } - private void parseRun(ParsableBitArray bitBuffer, Run run) { + private static void parseRun(ParsableBitArray bitBuffer, int width, Run output) { int value = 0; int test = 1; while (value < test && test <= 0x40) { if (bitBuffer.bitsLeft() < 4) { - run.color = 0; - run.length = 0; + output.colorIndex = C.INDEX_UNSET; + output.length = 0; return; } value = (value << 4) | bitBuffer.readBits(4); test <<= 2; } - run.color = colors[value & 3]; - run.length = value < 4 ? boundingBox.width() : (value >> 2); + output.colorIndex = value & 3; + output.length = value < 4 ? width : (value >> 2); } public void reset() { hasColors = false; boundingBox = null; - hasDataOffsets = false; + dataOffset0 = C.INDEX_UNSET; + dataOffset1 = C.INDEX_UNSET; } - private class Run { - public int color; + private static final class Run { + public int colorIndex; public int length; } } From 47a5166a1dc5958a6e5d0c4a7460d9f035b9b1ef Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Mon, 6 Jan 2025 21:56:48 +0100 Subject: [PATCH 11/18] Small fix for an off-by-two error. --- .../androidx/media3/extractor/text/vobsub/VobsubParser.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index ba23c1c283..0b3635564d 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -153,7 +153,7 @@ public final class VobsubParser implements SubtitleParser { // Give up if we don't have the color palette or the video size. return; } - buffer.skipBytes(buffer.readUnsignedShort()); + buffer.skipBytes(buffer.readUnsignedShort() - 2); int end = buffer.readUnsignedShort(); parseControl(buffer, end); } @@ -209,6 +209,7 @@ public final class VobsubParser implements SubtitleParser { } private boolean parseControlAlpha(ParsableByteArray buffer) { + if (buffer.bytesLeft() < 2 || !hasColors) { return false; } From 90c91fa5d79fe8251f8bbfc5cb64127d81fea648 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Fri, 10 Jan 2025 16:28:28 +0100 Subject: [PATCH 12/18] Fixed subtitle track length. --- .../assets/media/mkv/sample-with-vobsub.mkv | Bin 0 -> 113939 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 libraries/test_data/src/test/assets/media/mkv/sample-with-vobsub.mkv diff --git a/libraries/test_data/src/test/assets/media/mkv/sample-with-vobsub.mkv b/libraries/test_data/src/test/assets/media/mkv/sample-with-vobsub.mkv new file mode 100644 index 0000000000000000000000000000000000000000..a6722d08d1ace878a4cf4c5bed14cf40482a411e GIT binary patch literal 113939 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

mnSlt>tA=jIwMab$fkHY;lVfk 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 Date: Fri, 10 Jan 2025 15:45:20 +0000 Subject: [PATCH 13/18] Rename new fixed test file to old name, and add output dump --- .../exoplayer/e2etest/MkvPlaybackTest.java | 4 + .../assets/media/mkv/sample-with-vobsub.mkv | Bin 113939 -> 0 bytes .../assets/media/mkv/sample_with_vobsub.mkv | Bin 113943 -> 113939 bytes .../mkv/sample_with_vobsub.mkv.dump | 539 ++++++++++++++++++ 4 files changed, 543 insertions(+) delete mode 100644 libraries/test_data/src/test/assets/media/mkv/sample-with-vobsub.mkv create mode 100644 libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_vobsub.mkv.dump diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java index bb2df63c5d..7bd42ba864 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/MkvPlaybackTest.java @@ -15,6 +15,8 @@ */ package androidx.media3.exoplayer.e2etest; +import static org.robolectric.annotation.GraphicsMode.Mode.NATIVE; + import android.content.Context; import android.graphics.SurfaceTexture; import android.view.Surface; @@ -35,9 +37,11 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; +import org.robolectric.annotation.GraphicsMode; /** End-to-end tests using MKV samples. */ @RunWith(ParameterizedRobolectricTestRunner.class) +@GraphicsMode(NATIVE) public final class MkvPlaybackTest { @Parameters(name = "{0}") public static ImmutableList mediaSamples() { diff --git a/libraries/test_data/src/test/assets/media/mkv/sample-with-vobsub.mkv b/libraries/test_data/src/test/assets/media/mkv/sample-with-vobsub.mkv deleted file mode 100644 index a6722d08d1ace878a4cf4c5bed14cf40482a411e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113939 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

mnSlt>tA=jIwMab$fkHY;lVfk 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 diff --git a/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_vobsub.mkv.dump b/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_vobsub.mkv.dump new file mode 100644 index 0000000000..080e02f792 --- /dev/null +++ b/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_vobsub.mkv.dump @@ -0,0 +1,539 @@ +MediaCodecAdapter (exotest.audio.ac3): + inputBuffers: + count = 30 + input buffer #0: + timeUs = 1000000000000 + contents = length 416, hash 211F2286 + input buffer #1: + timeUs = 1000000034000 + contents = length 418, hash 77425A86 + input buffer #2: + timeUs = 1000000069000 + contents = length 418, hash A0FE5CA1 + input buffer #3: + timeUs = 1000000104000 + contents = length 418, hash 2309B066 + input buffer #4: + timeUs = 1000000139000 + contents = length 418, hash 928A653B + input buffer #5: + timeUs = 1000000173000 + contents = length 418, hash 3422F0CB + input buffer #6: + timeUs = 1000000208000 + contents = length 418, hash EFF43D5B + input buffer #7: + timeUs = 1000000243000 + contents = length 418, hash FC8093C7 + input buffer #8: + timeUs = 1000000279000 + contents = length 418, hash CCC08A16 + input buffer #9: + timeUs = 1000000313000 + contents = length 418, hash 2A6EE863 + input buffer #10: + timeUs = 1000000348000 + contents = length 418, hash D69A9251 + input buffer #11: + timeUs = 1000000383000 + contents = length 418, hash BCFB758D + input buffer #12: + timeUs = 1000000418000 + contents = length 418, hash 11B66799 + input buffer #13: + timeUs = 1000000452000 + contents = length 418, hash C824D392 + input buffer #14: + timeUs = 1000000487000 + contents = length 418, hash C167D872 + input buffer #15: + timeUs = 1000000522000 + contents = length 418, hash 4221C855 + input buffer #16: + timeUs = 1000000557000 + contents = length 418, hash 4D4FF934 + input buffer #17: + timeUs = 1000000591000 + contents = length 418, hash 984AA025 + input buffer #18: + timeUs = 1000000626000 + contents = length 418, hash BB788B46 + input buffer #19: + timeUs = 1000000661000 + contents = length 418, hash 9EFBFD97 + input buffer #20: + timeUs = 1000000696000 + contents = length 418, hash DF1A460C + input buffer #21: + timeUs = 1000000730000 + contents = length 418, hash 2BDB56A + input buffer #22: + timeUs = 1000000765000 + contents = length 418, hash CA230060 + input buffer #23: + timeUs = 1000000800000 + contents = length 418, hash D2F19F41 + input buffer #24: + timeUs = 1000000836000 + contents = length 418, hash AF392D79 + input buffer #25: + timeUs = 1000000870000 + contents = length 418, hash C5D7F2A3 + input buffer #26: + timeUs = 1000000905000 + contents = length 418, hash 733A35AE + input buffer #27: + timeUs = 1000000940000 + contents = length 418, hash DE46E5D3 + input buffer #28: + timeUs = 1000000975000 + contents = length 418, hash 56AB8D37 + input buffer #29: + timeUs = 0 + flags = 4 + contents = length 0, hash 1 + outputBuffers: + count = 29 + output buffer #0: + timeUs = 1000000000000 + size = 0 + rendered = false + output buffer #1: + timeUs = 1000000034000 + size = 0 + rendered = false + output buffer #2: + timeUs = 1000000069000 + size = 0 + rendered = false + output buffer #3: + timeUs = 1000000104000 + size = 0 + rendered = false + output buffer #4: + timeUs = 1000000139000 + size = 0 + rendered = false + output buffer #5: + timeUs = 1000000173000 + size = 0 + rendered = false + output buffer #6: + timeUs = 1000000208000 + size = 0 + rendered = false + output buffer #7: + timeUs = 1000000243000 + size = 0 + rendered = false + output buffer #8: + timeUs = 1000000279000 + size = 0 + rendered = false + output buffer #9: + timeUs = 1000000313000 + size = 0 + rendered = false + output buffer #10: + timeUs = 1000000348000 + size = 0 + rendered = false + output buffer #11: + timeUs = 1000000383000 + size = 0 + rendered = false + output buffer #12: + timeUs = 1000000418000 + size = 0 + rendered = false + output buffer #13: + timeUs = 1000000452000 + size = 0 + rendered = false + output buffer #14: + timeUs = 1000000487000 + size = 0 + rendered = false + output buffer #15: + timeUs = 1000000522000 + size = 0 + rendered = false + output buffer #16: + timeUs = 1000000557000 + size = 0 + rendered = false + output buffer #17: + timeUs = 1000000591000 + size = 0 + rendered = false + output buffer #18: + timeUs = 1000000626000 + size = 0 + rendered = false + output buffer #19: + timeUs = 1000000661000 + size = 0 + rendered = false + output buffer #20: + timeUs = 1000000696000 + size = 0 + rendered = false + output buffer #21: + timeUs = 1000000730000 + size = 0 + rendered = false + output buffer #22: + timeUs = 1000000765000 + size = 0 + rendered = false + output buffer #23: + timeUs = 1000000800000 + size = 0 + rendered = false + output buffer #24: + timeUs = 1000000836000 + size = 0 + rendered = false + output buffer #25: + timeUs = 1000000870000 + size = 0 + rendered = false + output buffer #26: + timeUs = 1000000905000 + size = 0 + rendered = false + output buffer #27: + timeUs = 1000000940000 + size = 0 + rendered = false + output buffer #28: + timeUs = 1000000975000 + size = 0 + rendered = false +MediaCodecAdapter (exotest.video.avc): + inputBuffers: + count = 31 + input buffer #0: + timeUs = 1000000000000 + contents = length 36517, hash B334DF25 + input buffer #1: + timeUs = 1000000003000 + contents = length 5341, hash 40B85E2 + input buffer #2: + timeUs = 1000000002000 + contents = length 596, hash 357B4D92 + input buffer #3: + timeUs = 1000000010000 + contents = length 7704, hash A39EDA06 + input buffer #4: + timeUs = 1000000007000 + contents = length 989, hash 2813C72D + input buffer #5: + timeUs = 1000000005000 + contents = length 721, hash C50D1C73 + input buffer #6: + timeUs = 1000000008000 + contents = length 519, hash 65FE1911 + input buffer #7: + timeUs = 1000000017000 + contents = length 6160, hash E1CAC0EC + input buffer #8: + timeUs = 1000000013000 + contents = length 953, hash 7160C661 + input buffer #9: + timeUs = 1000000012000 + contents = length 620, hash 7A7AE07C + input buffer #10: + timeUs = 1000000015000 + contents = length 405, hash 5CC7F4E7 + input buffer #11: + timeUs = 1000000022000 + contents = length 4852, hash 9DB6979D + input buffer #12: + timeUs = 1000000020000 + contents = length 547, hash E31A6979 + input buffer #13: + timeUs = 1000000018000 + contents = length 570, hash FEC40D00 + input buffer #14: + timeUs = 1000000028000 + contents = length 5525, hash 7C478F7E + input buffer #15: + timeUs = 1000000025000 + contents = length 1082, hash DA07059A + input buffer #16: + timeUs = 1000000023000 + contents = length 807, hash 93478E6B + input buffer #17: + timeUs = 1000000027000 + contents = length 744, hash 9A8E6026 + input buffer #18: + timeUs = 1000000035000 + contents = length 4732, hash C73B23C0 + input buffer #19: + timeUs = 1000000032000 + contents = length 1004, hash 8A19A228 + input buffer #20: + timeUs = 1000000030000 + contents = length 794, hash 8126022C + input buffer #21: + timeUs = 1000000033000 + contents = length 645, hash F08300E5 + input buffer #22: + timeUs = 1000000042000 + contents = length 2684, hash 727FE378 + input buffer #23: + timeUs = 1000000038000 + contents = length 787, hash 419A7821 + input buffer #24: + timeUs = 1000000037000 + contents = length 649, hash 5C159346 + input buffer #25: + timeUs = 1000000040000 + contents = length 509, hash F912D655 + input buffer #26: + timeUs = 1000000048000 + contents = length 1226, hash 29815C21 + input buffer #27: + timeUs = 1000000045000 + contents = length 898, hash D997AD0A + input buffer #28: + timeUs = 1000000043000 + contents = length 476, hash A0423645 + input buffer #29: + timeUs = 1000000047000 + contents = length 486, hash DDF32CBB + input buffer #30: + timeUs = 0 + flags = 4 + contents = length 0, hash 1 + outputBuffers: + count = 30 + output buffer #0: + timeUs = 1000000000000 + size = 36517 + rendered = true + output buffer #1: + timeUs = 1000000003000 + size = 5341 + rendered = true + output buffer #2: + timeUs = 1000000002000 + size = 596 + rendered = true + output buffer #3: + timeUs = 1000000010000 + size = 7704 + rendered = true + output buffer #4: + timeUs = 1000000007000 + size = 989 + rendered = true + output buffer #5: + timeUs = 1000000005000 + size = 721 + rendered = true + output buffer #6: + timeUs = 1000000008000 + size = 519 + rendered = true + output buffer #7: + timeUs = 1000000017000 + size = 6160 + rendered = true + output buffer #8: + timeUs = 1000000013000 + size = 953 + rendered = true + output buffer #9: + timeUs = 1000000012000 + size = 620 + rendered = true + output buffer #10: + timeUs = 1000000015000 + size = 405 + rendered = true + output buffer #11: + timeUs = 1000000022000 + size = 4852 + rendered = true + output buffer #12: + timeUs = 1000000020000 + size = 547 + rendered = true + output buffer #13: + timeUs = 1000000018000 + size = 570 + rendered = true + output buffer #14: + timeUs = 1000000028000 + size = 5525 + rendered = true + output buffer #15: + timeUs = 1000000025000 + size = 1082 + rendered = true + output buffer #16: + timeUs = 1000000023000 + size = 807 + rendered = true + output buffer #17: + timeUs = 1000000027000 + size = 744 + rendered = true + output buffer #18: + timeUs = 1000000035000 + size = 4732 + rendered = true + output buffer #19: + timeUs = 1000000032000 + size = 1004 + rendered = true + output buffer #20: + timeUs = 1000000030000 + size = 794 + rendered = true + output buffer #21: + timeUs = 1000000033000 + size = 645 + rendered = true + output buffer #22: + timeUs = 1000000042000 + size = 2684 + rendered = true + output buffer #23: + timeUs = 1000000038000 + size = 787 + rendered = true + output buffer #24: + timeUs = 1000000037000 + size = 649 + rendered = true + output buffer #25: + timeUs = 1000000040000 + size = 509 + rendered = true + output buffer #26: + timeUs = 1000000048000 + size = 1226 + rendered = true + output buffer #27: + timeUs = 1000000045000 + size = 898 + rendered = true + output buffer #28: + timeUs = 1000000043000 + size = 476 + rendered = true + output buffer #29: + timeUs = 1000000047000 + size = 486 + rendered = true +AudioSink: + buffer count = 29 + config: + pcmEncoding = 2 + channelCount = 1 + sampleRate = 44100 + buffer #0: + time = 1000000000000 + data = 1 + buffer #1: + time = 1000000034000 + data = 1 + buffer #2: + time = 1000000069000 + data = 1 + buffer #3: + time = 1000000104000 + data = 1 + buffer #4: + time = 1000000139000 + data = 1 + buffer #5: + time = 1000000173000 + data = 1 + buffer #6: + time = 1000000208000 + data = 1 + buffer #7: + time = 1000000243000 + data = 1 + buffer #8: + time = 1000000279000 + data = 1 + buffer #9: + time = 1000000313000 + data = 1 + buffer #10: + time = 1000000348000 + data = 1 + buffer #11: + time = 1000000383000 + data = 1 + buffer #12: + time = 1000000418000 + data = 1 + buffer #13: + time = 1000000452000 + data = 1 + buffer #14: + time = 1000000487000 + data = 1 + buffer #15: + time = 1000000522000 + data = 1 + buffer #16: + time = 1000000557000 + data = 1 + buffer #17: + time = 1000000591000 + data = 1 + buffer #18: + time = 1000000626000 + data = 1 + buffer #19: + time = 1000000661000 + data = 1 + buffer #20: + time = 1000000696000 + data = 1 + buffer #21: + time = 1000000730000 + data = 1 + buffer #22: + time = 1000000765000 + data = 1 + buffer #23: + time = 1000000800000 + data = 1 + buffer #24: + time = 1000000836000 + data = 1 + buffer #25: + time = 1000000870000 + data = 1 + buffer #26: + time = 1000000905000 + data = 1 + buffer #27: + time = 1000000940000 + data = 1 + buffer #28: + time = 1000000975000 + data = 1 +TextOutput: + Subtitle[0]: + presentationTimeUs = 0 + Cues = [] + Subtitle[1]: + presentationTimeUs = 0 + Cue[0]: + bitmap = length 296960, hash 6207E6E9 + line = 0.88611114 + lineType = 0 + lineAnchor = 0 + position = 0.0 + positionAnchor = 0 + size = 1.0 + bitmapHeight = 0.08055556 From ce0512845f215b3588d4d94725c90afc4e9f63c1 Mon Sep 17 00:00:00 2001 From: Ian Baker Date: Fri, 10 Jan 2025 15:57:14 +0000 Subject: [PATCH 14/18] Fix lint/style issues, and log exception --- .../extractor/text/vobsub/VobsubParser.java | 25 ++++++++++++++++--- .../extractor/text/vobsub/package-info.java | 2 +- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index 0b3635564d..ecc6b26aa7 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -1,3 +1,18 @@ +/* + * Copyright 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package androidx.media3.extractor.text.vobsub; import static java.lang.Math.min; @@ -11,6 +26,7 @@ import androidx.media3.common.Format; import androidx.media3.common.Format.CueReplacementBehavior; import androidx.media3.common.text.Cue; import androidx.media3.common.util.Consumer; +import androidx.media3.common.util.Log; import androidx.media3.common.util.ParsableBitArray; import androidx.media3.common.util.ParsableByteArray; import androidx.media3.common.util.UnstableApi; @@ -23,8 +39,6 @@ import java.util.List; import java.util.zip.Inflater; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; -// Much of this is taken from or very similar to PgsParser - /** A {@link SubtitleParser} for Vobsub subtitles. */ @UnstableApi public final class VobsubParser implements SubtitleParser { @@ -36,6 +50,7 @@ public final class VobsubParser implements SubtitleParser { public static final @CueReplacementBehavior int CUE_REPLACEMENT_BEHAVIOR = Format.CUE_REPLACEMENT_BEHAVIOR_REPLACE; + private static final String TAG = "VobsubParser"; private static final int DEFAULT_DURATION_US = 5_000_000; private final ParsableByteArray scratch; @@ -104,7 +119,7 @@ public final class VobsubParser implements SubtitleParser { private int @MonotonicNonNull [] palette; private int planeWidth; private int planeHeight; - private @Nullable Rect boundingBox; + @Nullable private Rect boundingBox; private int dataOffset0; private int dataOffset1; @@ -134,6 +149,7 @@ public final class VobsubParser implements SubtitleParser { planeHeight = Integer.parseInt(sizes[1]); hasPlane = true; } catch (RuntimeException e) { + Log.w(TAG, "Parsing IDX failed", e); } } } @@ -182,6 +198,7 @@ public final class VobsubParser implements SubtitleParser { } break; case CMD_END: + default: return; } } @@ -329,7 +346,7 @@ public final class VobsubParser implements SubtitleParser { } if (x >= width) { y += 2; - if (y >= height) break; + if (y >= height){ break;} x = 0; outIndex = y * width; bitBuffer.byteAlign(); diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/package-info.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/package-info.java index 90813c0bed..4bfb52af18 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/package-info.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 The Android Open Source Project + * Copyright 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From b2f9c1e252bd3098d35aeca416d61742142af7b3 Mon Sep 17 00:00:00 2001 From: Ian Baker Date: Fri, 10 Jan 2025 15:58:21 +0000 Subject: [PATCH 15/18] Reformat with google-java-format --- .../media3/extractor/text/vobsub/VobsubParser.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index ecc6b26aa7..ac07214862 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -242,7 +242,7 @@ public final class VobsubParser implements SubtitleParser { return true; } - private static int setAlpha(int color, int alpha) { + private static int setAlpha(int color, int alpha) { return ((color & 0x00ffffff) | ((alpha * 17) << 24)); } @@ -287,7 +287,8 @@ public final class VobsubParser implements SubtitleParser { || !hasPlane || !hasColors || boundingBox == null - || dataOffset0 == C.INDEX_UNSET || dataOffset1 == C.INDEX_UNSET + || dataOffset0 == C.INDEX_UNSET + || dataOffset1 == C.INDEX_UNSET || boundingBox.width() < 2 || boundingBox.height() < 2) { return null; @@ -301,7 +302,7 @@ public final class VobsubParser implements SubtitleParser { parseRleData(bitBuffer, /* evenInterlace= */ true, boundingBox, bitmapData); buffer.setPosition(dataOffset1); bitBuffer.reset(buffer); - parseRleData(bitBuffer, /* evenInterlace= */ false,boundingBox, bitmapData); + parseRleData(bitBuffer, /* evenInterlace= */ false, boundingBox, bitmapData); Bitmap bitmap = Bitmap.createBitmap( @@ -327,7 +328,8 @@ public final class VobsubParser implements SubtitleParser { * @param evenInterlace Whether to decode the even or odd interlaced lines. * @param bitmapData Output array. */ - private void parseRleData(ParsableBitArray bitBuffer, boolean evenInterlace, Rect boundingBox, int[] bitmapData) { + private void parseRleData( + ParsableBitArray bitBuffer, boolean evenInterlace, Rect boundingBox, int[] bitmapData) { int width = boundingBox.width(); int height = boundingBox.height(); int x = 0; @@ -346,7 +348,9 @@ public final class VobsubParser implements SubtitleParser { } if (x >= width) { y += 2; - if (y >= height){ break;} + if (y >= height) { + break; + } x = 0; outIndex = y * width; bitBuffer.byteAlign(); From 4744f082af82db4b17e894aff40ce391b09fdce1 Mon Sep 17 00:00:00 2001 From: Ian Baker Date: Fri, 10 Jan 2025 16:04:04 +0000 Subject: [PATCH 16/18] Add release note --- RELEASENOTES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 4b7e3bbda7..cd799b304a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -44,6 +44,8 @@ Previously we incorrectly parsed any number of decimal places but always assumed the value was in milliseconds, leading to incorrect timestamps ([#1997](https://github.com/androidx/media/issues/1997)). + * Add support for VobSub subtitles + ([#8260](https://github.com/google/ExoPlayer/issues/8260)). * Metadata: * Image: * DataSource: From 77790df5a2781b5350bda5b0ed4850e207556037 Mon Sep 17 00:00:00 2001 From: Ian Baker Date: Fri, 10 Jan 2025 17:17:28 +0000 Subject: [PATCH 17/18] Plumb palette through as a method parameter to satisfy nullness checker --- .../extractor/text/vobsub/VobsubParser.java | 19 ++++++++++--------- .../DefaultSubtitleParserFactoryTest.java | 3 +++ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java index ac07214862..b8cadd2a72 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/vobsub/VobsubParser.java @@ -169,16 +169,17 @@ public final class VobsubParser implements SubtitleParser { // Give up if we don't have the color palette or the video size. return; } + int[] palette = this.palette; buffer.skipBytes(buffer.readUnsignedShort() - 2); int end = buffer.readUnsignedShort(); - parseControl(buffer, end); + parseControl(palette, buffer, end); } - private void parseControl(ParsableByteArray buffer, int end) { + private void parseControl(int[] palette, ParsableByteArray buffer, int end) { while (buffer.getPosition() < end && buffer.bytesLeft() > 0) { switch (buffer.readUnsignedByte()) { case CMD_COLORS: - if (!parseControlColors(buffer)) { + if (!parseControlColors(palette, buffer)) { return; } break; @@ -204,7 +205,7 @@ public final class VobsubParser implements SubtitleParser { } } - private boolean parseControlColors(ParsableByteArray buffer) { + private boolean parseControlColors(int[] palette, ParsableByteArray buffer) { if (buffer.bytesLeft() < 2) { return false; } @@ -212,16 +213,16 @@ public final class VobsubParser implements SubtitleParser { int byte0 = buffer.readUnsignedByte(); int byte1 = buffer.readUnsignedByte(); - colors[3] = getColor(byte0 >> 4); - colors[2] = getColor(byte0 & 0xf); - colors[1] = getColor(byte1 >> 4); - colors[0] = getColor(byte1 & 0xf); + colors[3] = getColor(palette, byte0 >> 4); + colors[2] = getColor(palette, byte0 & 0xf); + colors[1] = getColor(palette, byte1 >> 4); + colors[0] = getColor(palette, byte1 & 0xf); hasColors = true; return true; } - private int getColor(int index) { + private static int getColor(int[] palette, int index) { return index >= 0 && index < palette.length ? palette[index] : palette[0]; } diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/text/DefaultSubtitleParserFactoryTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/text/DefaultSubtitleParserFactoryTest.java index 471214afac..b8bef9fc7f 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/text/DefaultSubtitleParserFactoryTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/text/DefaultSubtitleParserFactoryTest.java @@ -50,6 +50,9 @@ public class DefaultSubtitleParserFactoryTest { if (fieldValue.equals(MimeTypes.APPLICATION_DVBSUBS)) { formatBuilder.setInitializationData(ImmutableList.of(new byte[] {1, 2, 3, 4})); } + if (fieldValue.equals(MimeTypes.APPLICATION_VOBSUB)) { + formatBuilder.setInitializationData(ImmutableList.of(new byte[] {1, 2, 3, 4})); + } Format format = formatBuilder.build(); if (factory.supportsFormat(format)) { try { From 6291cfda86dde6beb9e116501b736794fde2d442 Mon Sep 17 00:00:00 2001 From: Ian Baker Date: Fri, 10 Jan 2025 17:35:38 +0000 Subject: [PATCH 18/18] Fix dump file to match @GraphicsMode(NATIVE) --- .../test/assets/playbackdumps/mkv/sample_with_vobsub.mkv.dump | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_vobsub.mkv.dump b/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_vobsub.mkv.dump index 080e02f792..2334374aa6 100644 --- a/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_vobsub.mkv.dump +++ b/libraries/test_data/src/test/assets/playbackdumps/mkv/sample_with_vobsub.mkv.dump @@ -529,7 +529,7 @@ TextOutput: Subtitle[1]: presentationTimeUs = 0 Cue[0]: - bitmap = length 296960, hash 6207E6E9 + bitmap = length 296960, hash 18F91C99 line = 0.88611114 lineType = 0 lineAnchor = 0