From 283c74875328a7a0c6588e756c0616457fcaea1e Mon Sep 17 00:00:00 2001 From: Trilarion Date: Mon, 13 Jul 2015 23:09:09 +0200 Subject: [PATCH] assembly of jorbis, vorbisspi and tritonus_share as well as moving to group com.github.trilarion --- .gitignore | 3 + LICENSE | 166 ++ README.md | 77 + build.gradle | 55 + precursors/README.md | 32 + precursors/VorbisSPI1.0.3_Documents.txt | 145 ++ precursors/example/Agogo.ogg | Bin 0 -> 153491 bytes precursors/example/PlayOggExample.java | 65 + precursors/example/jogg-0.0.7.jar | Bin 0 -> 6839 bytes precursors/example/jorbis-0.0.15.jar | Bin 0 -> 58917 bytes precursors/example/license.txt | 1 + precursors/example/tritonus_share.jar | Bin 0 -> 102723 bytes precursors/example/vorbisspi1.0.3.jar | Bin 0 -> 13798 bytes precursors/jorbis-0.0.17.zip | Bin 0 -> 115741 bytes precursors/tritonus-2015-04-01.zip | Bin 0 -> 1881022 bytes precursors/tritonus_share-0.3.6.jar | Bin 0 -> 105684 bytes precursors/vorbisspi1.0.3.zip | Bin 0 -> 254115 bytes .../vorbis/jcraft/JOrbisComment.java | 535 +++++++ .../trilarion/vorbis/jcraft/JOrbisPlayer.java | 1169 ++++++++++++++ .../trilarion/vorbis/jcraft/OggPlayer.java | 357 +++++ .../vorbis/jcraft/jorbis/ChainingExample.java | 57 + .../vorbis/jcraft/jorbis/DecodeExample.java | 318 ++++ src/examples/resources/Agogo.ogg | Bin 0 -> 153491 bytes src/examples/resources/license.txt | 1 + .../github/trilarion/jcraft/jogg/Buffer.java | 294 ++++ .../github/trilarion/jcraft/jogg/Packet.java | 47 + .../github/trilarion/jcraft/jogg/Page.java | 135 ++ .../trilarion/jcraft/jogg/StreamState.java | 526 +++++++ .../trilarion/jcraft/jogg/SyncState.java | 275 ++++ .../github/trilarion/jcraft/jorbis/Block.java | 129 ++ .../jcraft/jorbis/ChainingExample.java | 69 + .../trilarion/jcraft/jorbis/CodeBook.java | 478 ++++++ .../trilarion/jcraft/jorbis/Comment.java | 244 +++ .../jcraft/jorbis/DecodeExample.java | 327 ++++ .../github/trilarion/jcraft/jorbis/Drft.java | 1327 ++++++++++++++++ .../trilarion/jcraft/jorbis/DspState.java | 376 +++++ .../trilarion/jcraft/jorbis/Floor0.java | 335 ++++ .../trilarion/jcraft/jorbis/Floor1.java | 611 +++++++ .../trilarion/jcraft/jorbis/FuncFloor.java | 52 + .../trilarion/jcraft/jorbis/FuncMapping.java | 45 + .../trilarion/jcraft/jorbis/FuncResidue.java | 46 + .../trilarion/jcraft/jorbis/FuncTime.java | 45 + .../github/trilarion/jcraft/jorbis/Info.java | 470 ++++++ .../trilarion/jcraft/jorbis/InfoMode.java | 34 + .../jcraft/jorbis/JOrbisException.java | 40 + .../trilarion/jcraft/jorbis/Lookup.java | 152 ++ .../github/trilarion/jcraft/jorbis/Lpc.java | 188 +++ .../github/trilarion/jcraft/jorbis/Lsp.java | 107 ++ .../trilarion/jcraft/jorbis/Mapping0.java | 375 +++++ .../github/trilarion/jcraft/jorbis/Mdct.java | 250 +++ .../trilarion/jcraft/jorbis/PsyInfo.java | 74 + .../trilarion/jcraft/jorbis/PsyLook.java | 42 + .../trilarion/jcraft/jorbis/Residue0.java | 330 ++++ .../trilarion/jcraft/jorbis/Residue1.java | 45 + .../trilarion/jcraft/jorbis/Residue2.java | 41 + .../jcraft/jorbis/StaticCodeBook.java | 443 ++++++ .../github/trilarion/jcraft/jorbis/Time0.java | 52 + .../github/trilarion/jcraft/jorbis/Util.java | 30 + .../trilarion/jcraft/jorbis/VorbisFile.java | 1400 +++++++++++++++++ .../sampled/file/AiffAudioOutputStream.java | 213 +++ .../trilarion/sampled/file/AiffTool.java | 85 + .../sampled/file/AuAudioOutputStream.java | 134 ++ .../github/trilarion/sampled/file/AuTool.java | 97 ++ .../sampled/file/WaveAudioOutputStream.java | 218 +++ .../trilarion/sampled/file/WaveTool.java | 114 ++ .../com/github/trilarion/share/ArraySet.java | 89 ++ .../github/trilarion/share/GlobalInfo.java | 58 + .../trilarion/share/StringHashedSet.java | 114 ++ .../trilarion/share/TCircularBuffer.java | 268 ++++ .../com/github/trilarion/share/TDebug.java | 197 +++ .../com/github/trilarion/share/TNotifier.java | 140 ++ .../com/github/trilarion/share/TSettings.java | 73 + .../trilarion/share/midi/MidiUtils.java | 136 ++ .../share/midi/TDirectSynthesizer.java | 133 ++ .../trilarion/share/midi/TMidiChannel.java | 138 ++ .../trilarion/share/midi/TMidiDevice.java | 558 +++++++ .../trilarion/share/midi/TMidiFileFormat.java | 74 + .../share/midi/TPreloadingSequencer.java | 136 ++ .../trilarion/share/midi/TSequencer.java | 858 ++++++++++ .../github/trilarion/share/midi/package.html | 14 + .../com/github/trilarion/share/package.html | 10 + .../share/sampled/AudioFileTypes.java | 154 ++ .../share/sampled/AudioFormatSet.java | 159 ++ .../trilarion/share/sampled/AudioFormats.java | 131 ++ .../share/sampled/AudioSystemShadow.java | 115 ++ .../trilarion/share/sampled/AudioUtils.java | 343 ++++ .../trilarion/share/sampled/Encodings.java | 182 +++ .../share/sampled/FloatInputStream.java | 370 +++++ .../share/sampled/FloatSampleBuffer.java | 1181 ++++++++++++++ .../share/sampled/FloatSampleInput.java | 1 + .../share/sampled/FloatSampleTools.java | 877 +++++++++++ .../trilarion/share/sampled/TAudioFormat.java | 163 ++ .../share/sampled/TConversionTool.java | 1224 ++++++++++++++ .../trilarion/share/sampled/TVolumeUtils.java | 55 + ...TAsynchronousFilteredAudioInputStream.java | 265 ++++ .../sampled/convert/TAudioInputStream.java | 120 ++ .../TEncodingFormatConversionProvider.java | 131 ++ .../convert/TFormatConversionProvider.java | 172 ++ .../TMatrixFormatConversionProvider.java | 182 +++ .../TSimpleFormatConversionProvider.java | 379 +++++ .../TSynchronousFilteredAudioInputStream.java | 424 +++++ .../share/sampled/convert/package.html | 17 + .../share/sampled/file/AudioOutputStream.java | 113 ++ .../file/HeaderlessAudioOutputStream.java | 59 + .../share/sampled/file/TAudioFileFormat.java | 114 ++ .../share/sampled/file/TAudioFileReader.java | 532 +++++++ .../share/sampled/file/TAudioFileWriter.java | 487 ++++++ .../sampled/file/TAudioOutputStream.java | 248 +++ .../share/sampled/file/TDataOutputStream.java | 78 + .../file/THeaderlessAudioFileWriter.java | 85 + .../file/TNonSeekableDataOutputStream.java | 109 ++ .../file/TSeekableDataOutputStream.java | 86 + .../trilarion/share/sampled/file/package.html | 18 + .../share/sampled/mixer/TBaseDataLine.java | 100 ++ .../share/sampled/mixer/TBooleanControl.java | 128 ++ .../trilarion/share/sampled/mixer/TClip.java | 339 ++++ .../share/sampled/mixer/TCompoundControl.java | 90 ++ .../sampled/mixer/TCompoundControlType.java | 55 + .../sampled/mixer/TControlController.java | 83 + .../share/sampled/mixer/TControllable.java | 44 + .../share/sampled/mixer/TDataLine.java | 299 ++++ .../share/sampled/mixer/TEnumControl.java | 92 ++ .../share/sampled/mixer/TFloatControl.java | 134 ++ .../trilarion/share/sampled/mixer/TLine.java | 362 +++++ .../trilarion/share/sampled/mixer/TMixer.java | 506 ++++++ .../share/sampled/mixer/TMixerInfo.java | 54 + .../share/sampled/mixer/TMixerProvider.java | 240 +++ .../trilarion/share/sampled/mixer/TPort.java | 66 + .../share/sampled/mixer/TSoftClip.java | 317 ++++ .../share/sampled/mixer/package.html | 14 + .../trilarion/share/sampled/package.html | 10 + .../trilarion/spi/PropertiesContainer.java | 31 + .../DecodedVorbisAudioInputStream.java | 519 ++++++ .../VorbisFormatConversionProvider.java | 244 +++ .../sampled/file/VorbisAudioFileFormat.java | 85 + .../sampled/file/VorbisAudioFileReader.java | 508 ++++++ .../sampled/file/VorbisAudioFormat.java | 66 + .../vorbis/sampled/file/VorbisEncoding.java | 41 + .../sampled/file/VorbisFileFormatType.java | 41 + .../vorbis/util/VorbisException.java | 38 + src/main/resources/META-INF/license.txt | 24 + .../javax.sound.sampled.spi.AudioFileReader | 2 + ...sound.sampled.spi.FormatConversionProvider | 2 + .../trilarion/vorbis/spi/SPIDecoderTest.java | 169 ++ .../vorbis/sampled/file/PropertiesTest.java | 127 ++ .../file/VorbisAudioFileReaderTest.java | 219 +++ src/test/resources/spi.test.properties | 3 + 147 files changed, 29898 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.gradle create mode 100644 precursors/README.md create mode 100644 precursors/VorbisSPI1.0.3_Documents.txt create mode 100644 precursors/example/Agogo.ogg create mode 100644 precursors/example/PlayOggExample.java create mode 100644 precursors/example/jogg-0.0.7.jar create mode 100644 precursors/example/jorbis-0.0.15.jar create mode 100644 precursors/example/license.txt create mode 100644 precursors/example/tritonus_share.jar create mode 100644 precursors/example/vorbisspi1.0.3.jar create mode 100644 precursors/jorbis-0.0.17.zip create mode 100644 precursors/tritonus-2015-04-01.zip create mode 100644 precursors/tritonus_share-0.3.6.jar create mode 100644 precursors/vorbisspi1.0.3.zip create mode 100644 src/examples/java/com/github/trilarion/vorbis/jcraft/JOrbisComment.java create mode 100644 src/examples/java/com/github/trilarion/vorbis/jcraft/JOrbisPlayer.java create mode 100644 src/examples/java/com/github/trilarion/vorbis/jcraft/OggPlayer.java create mode 100644 src/examples/java/com/github/trilarion/vorbis/jcraft/jorbis/ChainingExample.java create mode 100644 src/examples/java/com/github/trilarion/vorbis/jcraft/jorbis/DecodeExample.java create mode 100644 src/examples/resources/Agogo.ogg create mode 100644 src/examples/resources/license.txt create mode 100644 src/main/java/com/github/trilarion/jcraft/jogg/Buffer.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jogg/Packet.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jogg/Page.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jogg/StreamState.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jogg/SyncState.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Block.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/ChainingExample.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/CodeBook.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Comment.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/DecodeExample.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Drft.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/DspState.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Floor0.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Floor1.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/FuncFloor.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/FuncMapping.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/FuncResidue.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/FuncTime.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Info.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/InfoMode.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/JOrbisException.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Lookup.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Lpc.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Lsp.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Mapping0.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Mdct.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/PsyInfo.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/PsyLook.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Residue0.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Residue1.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Residue2.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/StaticCodeBook.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Time0.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/Util.java create mode 100644 src/main/java/com/github/trilarion/jcraft/jorbis/VorbisFile.java create mode 100644 src/main/java/com/github/trilarion/sampled/file/AiffAudioOutputStream.java create mode 100644 src/main/java/com/github/trilarion/sampled/file/AiffTool.java create mode 100644 src/main/java/com/github/trilarion/sampled/file/AuAudioOutputStream.java create mode 100644 src/main/java/com/github/trilarion/sampled/file/AuTool.java create mode 100644 src/main/java/com/github/trilarion/sampled/file/WaveAudioOutputStream.java create mode 100644 src/main/java/com/github/trilarion/sampled/file/WaveTool.java create mode 100644 src/main/java/com/github/trilarion/share/ArraySet.java create mode 100644 src/main/java/com/github/trilarion/share/GlobalInfo.java create mode 100644 src/main/java/com/github/trilarion/share/StringHashedSet.java create mode 100644 src/main/java/com/github/trilarion/share/TCircularBuffer.java create mode 100644 src/main/java/com/github/trilarion/share/TDebug.java create mode 100644 src/main/java/com/github/trilarion/share/TNotifier.java create mode 100644 src/main/java/com/github/trilarion/share/TSettings.java create mode 100644 src/main/java/com/github/trilarion/share/midi/MidiUtils.java create mode 100644 src/main/java/com/github/trilarion/share/midi/TDirectSynthesizer.java create mode 100644 src/main/java/com/github/trilarion/share/midi/TMidiChannel.java create mode 100644 src/main/java/com/github/trilarion/share/midi/TMidiDevice.java create mode 100644 src/main/java/com/github/trilarion/share/midi/TMidiFileFormat.java create mode 100644 src/main/java/com/github/trilarion/share/midi/TPreloadingSequencer.java create mode 100644 src/main/java/com/github/trilarion/share/midi/TSequencer.java create mode 100644 src/main/java/com/github/trilarion/share/midi/package.html create mode 100644 src/main/java/com/github/trilarion/share/package.html create mode 100644 src/main/java/com/github/trilarion/share/sampled/AudioFileTypes.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/AudioFormatSet.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/AudioFormats.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/AudioSystemShadow.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/AudioUtils.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/Encodings.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/FloatInputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/FloatSampleBuffer.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/FloatSampleInput.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/FloatSampleTools.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/TAudioFormat.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/TConversionTool.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/TVolumeUtils.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/convert/TAsynchronousFilteredAudioInputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/convert/TAudioInputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/convert/TEncodingFormatConversionProvider.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/convert/TFormatConversionProvider.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/convert/TMatrixFormatConversionProvider.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/convert/TSimpleFormatConversionProvider.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/convert/TSynchronousFilteredAudioInputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/convert/package.html create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/AudioOutputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/HeaderlessAudioOutputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/TAudioFileFormat.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/TAudioFileReader.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/TAudioFileWriter.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/TAudioOutputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/TDataOutputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/THeaderlessAudioFileWriter.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/TNonSeekableDataOutputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/TSeekableDataOutputStream.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/file/package.html create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TBaseDataLine.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TBooleanControl.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TClip.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TCompoundControl.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TCompoundControlType.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TControlController.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TControllable.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TDataLine.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TEnumControl.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TFloatControl.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TLine.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TMixer.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TMixerInfo.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TMixerProvider.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TPort.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/TSoftClip.java create mode 100644 src/main/java/com/github/trilarion/share/sampled/mixer/package.html create mode 100644 src/main/java/com/github/trilarion/share/sampled/package.html create mode 100644 src/main/java/com/github/trilarion/spi/PropertiesContainer.java create mode 100644 src/main/java/com/github/trilarion/spi/vorbis/sampled/convert/DecodedVorbisAudioInputStream.java create mode 100644 src/main/java/com/github/trilarion/spi/vorbis/sampled/convert/VorbisFormatConversionProvider.java create mode 100644 src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFileFormat.java create mode 100644 src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFileReader.java create mode 100644 src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFormat.java create mode 100644 src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisEncoding.java create mode 100644 src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisFileFormatType.java create mode 100644 src/main/java/com/github/trilarion/vorbis/util/VorbisException.java create mode 100644 src/main/resources/META-INF/license.txt create mode 100644 src/main/resources/META-INF/services/javax.sound.sampled.spi.AudioFileReader create mode 100644 src/main/resources/META-INF/services/javax.sound.sampled.spi.FormatConversionProvider create mode 100644 src/test/java/com/github/trilarion/vorbis/spi/SPIDecoderTest.java create mode 100644 src/test/java/com/github/trilarion/vorbis/spi/vorbis/sampled/file/PropertiesTest.java create mode 100644 src/test/java/com/github/trilarion/vorbis/spi/vorbis/sampled/file/VorbisAudioFileReaderTest.java create mode 100644 src/test/resources/spi.test.properties diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40e4da3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/build/ +/.nb-gradle/ +/.gradle/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..341c30b --- /dev/null +++ b/LICENSE @@ -0,0 +1,166 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..861902c --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +# java-vorbis-support + +Combination and continuation of JOrbis, JavaSPI and Tritonus-Share to provide Ogg/Vorbis playback capabilities for Java using the Sound SPI. + +## Download, License, Feedback + +- [Homepage](https://github.com/Trilarion/java-vorbis-support) of java-vorbis-support +- Requires Java 7 or later +- Download [vorbis-support-1.0.1.jar](https://github.com/Trilarion/java-vorbis-support/releases/download/v1.0.1/vorbis-support-1.0.1.jar) (released 19th June 2015) and/or [source code](https://github.com/Trilarion/java-vorbis-support/releases/tag/v1.0.1) +- License is [LGPLv3+](http://www.gnu.org/licenses/lgpl-3.0.txt) +- Support/Feedback: Create an [issue](https://github.com/Trilarion/java-vorbis-support/issues) + +## Introduction + +Ogg/Vorbis is a widely used free audio format featuring high compression ratios and there are libraries who enable support for Ogg in Java. Among them are [JOrbis](http://www.jcraft.com/jorbis/) +by JCraft - a pure Java Ogg/Vorbis decoder and [Ogg Vorbis SPI](http://www.javazoom.net/vorbisspi/vorbisspi.html) by JavaZoom which registers JOrbis as a service for the Java Sound API. The later also relies partly on the [Tritonus share](http://www.tritonus.org/) library. All three projects are inactive for several years now. + +The reference implementation for Ogg/Vorbis is [libvorbis](http://xiph.org/vorbis/) written in C. + +Vorbis support is the all-in-one combination and possibly continuation of JOrbis, JavaSPI and Tritonus-Share. + +Alternatives are [Paul's SoundSystem](http://www.paulscode.com/forum/index.php?topic=4.0) (full support of Java Sound, JOAL, LWJGL gaming libraries, wrappers around JOrbis, J-OGG), +[Vorbis-Java](http://downloads.xiph.org/releases/vorbis-java/) (Java encoder and decoder at xiph.org), [EasyOgg](http://www.cokeandcode.com/index.html?page=libs) (wrapper around JOrbis) +and [J-OGG](http://www.j-ogg.de/) (independent ogg/vorbis decode). These projects are mostly inactive for years now. + +## Why this project? + +All three libraries, Jorbis, Vorbis SPI and Tritonus Share are almost always bundled together. Together they constitute a complete plattform independent Ogg/Vorbis support for the Java Sound API. Fortunately they share the same open source license (LGPL). Combining them together makes distribution and handling easier, can reduce the size of the download and makes testing and debugging easier. Last but not least, increasing the efficiency by optimizing the code will be a bit easier. + +However since these libraries already exist, we do not need to take care of backwards compatibility, since there is always the fallback to the original libraries. Therefore to be able to use newer features of the Java language, the required Java version currently is 7 or later. + +## Example + +This library used the Services Provider Interface to enable Ogg/Vorbis playback under the hood without changing any of the code on the client's library side. Just put this library in the classpath +and access your sound resources (SourceDataLine or Clip) as you would without Ogg/Vorbis support. See the Java Tutorial on [Playing Back Audio](http://docs.oracle.com/javase/tutorial/sound/playing.html) for more information. And here is also an example that would play an entire ogg file. + + try { + AudioInputStream in = AudioSystem.getAudioInputStream(new File("xyz.ogg"); + if (in != null) { + AudioFormat baseFormat = in.getFormat(); + + AudioFormat targetFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), + 16, baseFormat.getChannels(), baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false); + + AudioInputStream dataIn = AudioSystem.getAudioInputStream(targetFormat, in); + + byte[] buffer = new byte[4096]; + + // get a line from a mixer in the system with the wanted format + DataLine.Info info = new DataLine.Info(SourceDataLine.class, targetFormat); + SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info); + + if (line != null) { + line.open(); + + line.start(); + int nBytesRead = 0, nBytesWritten = 0; + while (nBytesRead != -1) { + nBytesRead = dataIn.read(buffer, 0, buffer.length); + if (nBytesRead != -1) { + nBytesWritten = line.write(buffer, 0, nBytesRead); + } + } + + line.drain(); + line.stop(); + line.close(); + + dataIn.close(); + } + + in.close(); + // playback finished + } + } catch (UnsupportedAudioFileException | IOException | LineUnavailableException e) { + // failed + } diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..f6c7d7c --- /dev/null +++ b/build.gradle @@ -0,0 +1,55 @@ +description = 'Combination of JOrbis, JavaSPI and Tritonus-Share.' +version = '1.0.0' + +apply plugin: 'java' + +archivesBaseName = 'vorbis-support' +sourceCompatibility = 1.7 +targetCompatibility = 1.7 + +repositories { + mavenCentral() +} + +sourceSets { + examples +} + +dependencies { + testCompile group: 'junit', name: 'junit', version: '4.+' + examplesCompile sourceSets.main.output +} + +allprojects { + gradle.projectsEvaluated { + tasks.withType(JavaCompile) { + options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" + } + } +} + +task run(dependsOn: classes, type: JavaExec) { + if (project.hasProperty('mainClass')) { + main = mainClass + } + classpath = sourceSets.main.runtimeClasspath + sourceSets.examples.runtimeClasspath + standardInput = System.in + workingDir = sourceSets.examples.output.resourcesDir +} + +task debug(dependsOn: classes, type: JavaExec) { + if (project.hasProperty('mainClass')) { + main = mainClass + } + classpath = sourceSets.main.runtimeClasspath + sourceSets.examples.runtimeClasspath + standardInput = System.in + workingDir = sourceSets.examples.output.resourcesDir + debug = true +} + +if (sourceSets.examples.output.resourcesDir.exists()) { + test.workingDir = sourceSets.examples.output.resourcesDir +} + + + diff --git a/precursors/README.md b/precursors/README.md new file mode 100644 index 0000000..6e48df6 --- /dev/null +++ b/precursors/README.md @@ -0,0 +1,32 @@ +# Three external libraries + +## Ogg Vorbis SPI for Java™ Sound + +http://www.javazoom.net/vorbisspi/vorbisspi.html + +VorbisSPI is a Java Service Provider Interface that adds OGG Vorbis audio format support to Java platform. It supports icecast streaming. It is based on JOrbis Java libraries. + +- download http://www.javazoom.net/vorbisspi/sources/vorbisspi1.0.3.zip from 06/08/2008 +- licensed under LGPL2+ + +## JOrbis - Pure Java Ogg Vorbis Decoder + +http://www.jcraft.com/jorbis/ + +JOrbis is a pure Java Ogg Vorbis decoder. +JOrbis accepts Ogg Vorbis bitstreams and decodes them to raw PCM. + +- http://www.jcraft.com/jorbis/jorbis-0.0.17.zip +- licensed under LGPL2+ + +## Tritonus Share (Tritonus: Open Source Java Sound) + +http://www.tritonus.org/ + +Shared classes required by all other Tritonus plug-ins. + +- download cvs https://sourceforge.net/p/tritonus/code/ using pserver:anonymous@tritonus.cvs.sourceforge.net:/cvsroot/tritonus all before 2015-04-01 +- licensed under LGPL2+ + + + diff --git a/precursors/VorbisSPI1.0.3_Documents.txt b/precursors/VorbisSPI1.0.3_Documents.txt new file mode 100644 index 0000000..6c986b6 --- /dev/null +++ b/precursors/VorbisSPI1.0.3_Documents.txt @@ -0,0 +1,145 @@ +excerpt from the website: http://www.javazoom.net/vorbisspi/vorbisspi.html + +What is Ogg Vorbis ? +"Ogg Vorbis is a fully Open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format for high quality (44.1-48.0kHz, 16+ bit, polyphonic) audio and music at fixed and variable bitrates from 16 to 128 kbps/channel. This places Vorbis in the same class as audio representations including MPEG-1 audio layer 3, MPEG-4 audio (AAC and TwinVQ), and PAC". Extract from OggVorbis homepage. +In addition to friendly license, sound quality is better for similar MP3 file size and decoding algorithm implementation is faster. + +How to install Vorbis SPI ? +Add vorbisspi1.0.2.jar, tritonus_share.jar, jorbis-0.0.15.jar, jogg-0.0.7.jar into +your CLASSPATH. + +How to play Ogg Vorbis file with Vorbis SPI ? +You have to use JavaSound API. Here is a sample below : +(Sample source code is available in scrtest/ folder included in VorbisSPI package) + +[...] +public void testPlay(String filename) +{ + try + { + File file = new File(filename); + // Get AudioInputStream from given file. + AudioInputStream in= AudioSystem.getAudioInputStream(file); + AudioInputStream din = null; + if (in != null) + { + AudioFormat baseFormat = in.getFormat(); + AudioFormat decodedFormat = new AudioFormat( + AudioFormat.Encoding.PCM_SIGNED, + baseFormat.getSampleRate(), + 16, + baseFormat.getChannels(), + baseFormat.getChannels() * 2, + baseFormat.getSampleRate(), + false); + // Get AudioInputStream that will be decoded by underlying VorbisSPI + din = AudioSystem.getAudioInputStream(decodedFormat, in); + // Play now ! + rawplay(decodedFormat, din); + in.close(); + } + } + catch (Exception e) + { + e.printStackTrace(); + } +} + +private void rawplay(AudioFormat targetFormat, + AudioInputStream din) throws IOException, LineUnavailableException +{ + byte[] data = new byte[4096]; + SourceDataLine line = getLine(targetFormat); + if (line != null) + { + // Start + line.start(); + int nBytesRead = 0, nBytesWritten = 0; + while (nBytesRead != -1) + { + nBytesRead = din.read(data, 0, data.length); + if (nBytesRead != -1) nBytesWritten = line.write(data, 0, nBytesRead); + } + // Stop + line.drain(); + line.stop(); + line.close(); + din.close(); + } +} + +private SourceDataLine getLine(AudioFormat audioFormat) throws LineUnavailableException +{ + SourceDataLine res = null; + DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat); + res = (SourceDataLine) AudioSystem.getLine(info); + res.open(audioFormat); + return res; +} +[...] + +How to play Ogg Vorbis URL or Icecast stream with Vorbis SPI ? +It's the same as sample above. Just replace : +File file = new File(filename); +by : +URL file = new URL(stream_or_url); + +How to play get Ogg Vorbis file properties and comments ? +There are AudioFormat properties and AudioFileFormat properties. Most interesting properties and comments are available in AudioFileFormat instance. Here is a sample below : + +import org.tritonus.share.sampled.file.TAudioFileFormat +[...] +public void readProperties(String filename) +{ + try + { + File file = new File(filename); + // Get AudioFileFormat from given file. + AudioFileFormat baseFileFormat baseFileFormat = AudioSystem.getAudioFileFormat(file); + if (baseFileFormat instanceof TAudioFileFormat) + { + Map props = ((TAudioFileFormat)baseFileFormat).properties(); + // Length in seconds + long length = (long) Math.round((((Long)props.get("duration")).longValue())/1000000); + // Title of song (comment) + String title = (String)props.get("title"); + // Nominal bitrate in bps + int nominalbitrate = ((Integer)props.get("ogg.bitrate.nominal.bps")).intValue(); + // Sampling rate in hz + int rate = ((Integer)props.get("ogg.frequency.hz")).intValue(); + // and so on ... check Javadoc or readme.txt for all properties (around 20) + } + catch (Exception e) + { + e.printStackTrace(); + } +} +[...] + +Where is the list of all available properties ? +Check out JavaDoc or readme.txt to find out all updated properties. Here is an extract of AudioFileFormat properties : + + + Standard parameters : + - duration : [Long], duration in microseconds. + - title : [String], Title of the stream. + - author : [String], Name of the artist of the stream. + - album : [String], Name of the album of the stream. + - date : [String], The date (year) of the recording or release of the stream. + - copyright : [String], Copyright message of the stream. + - comment : [String], Comment of the stream. + + Extended Ogg Vorbis parameters : + - ogg.length.bytes : [Integer], length in bytes. + - ogg.bitrate.min.bps : [Integer], minimum bitrate. + - ogg.bitrate.nominal.bps : [Integer], nominal bitrate. + - ogg.bitrate.max.bps : [Integer], maximum bitrate. + - ogg.channels : [Integer], number of channels 1 : mono, 2 : stereo. + - ogg.frequency.hz : [Integer], sampling rate in hz. + - ogg.version : [Integer], version. + - ogg.serial : [Integer], serial number. + - ogg.comment.track : [String], track number. + - ogg.comment.genre : [String], genre field. + - ogg.comment.encodedby : [String], encoded by field. + - ogg.comment.ext : [String], extended comments (indexed): + For instance : + ogg.comment.ext.1=Something + ogg.comment.ext.2=Another comment \ No newline at end of file diff --git a/precursors/example/Agogo.ogg b/precursors/example/Agogo.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f8b2680c3ca53ff8bdeeb08d581adf8233fe232e GIT binary patch literal 153491 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 Hy)WrM19b5+ literal 0 HcmV?d00001 diff --git a/precursors/example/PlayOggExample.java b/precursors/example/PlayOggExample.java new file mode 100644 index 0000000..6ccbcf5 --- /dev/null +++ b/precursors/example/PlayOggExample.java @@ -0,0 +1,65 @@ + +import java.io.File; +import java.io.IOException; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.SourceDataLine; +import javax.sound.sampled.UnsupportedAudioFileException; + +/** + * Put jogg-0.0.7.jar, jorbis-0.0.15.jar, vorbisspi1.0.3.jar, tritonus_share.jar + * and Agogo.ogg in the same folder and run this example. + */ +public class PlayOggExample { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + try { + AudioInputStream in = AudioSystem.getAudioInputStream(new File("Agogo.ogg")); + if (in != null) { + AudioFormat baseFormat = in.getFormat(); + + AudioFormat targetFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), + 16, baseFormat.getChannels(), baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false); + + AudioInputStream dataIn = AudioSystem.getAudioInputStream(targetFormat, in); + + byte[] buffer = new byte[4096]; + + // get a line from a mixer in the system with the wanted format + DataLine.Info info = new DataLine.Info(SourceDataLine.class, targetFormat); + SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info); + + if (line != null) { + line.open(); + + line.start(); + int nBytesRead = 0, nBytesWritten = 0; + while (nBytesRead != -1) { + nBytesRead = dataIn.read(buffer, 0, buffer.length); + if (nBytesRead != -1) { + nBytesWritten = line.write(buffer, 0, nBytesRead); + } + } + + line.drain(); + line.stop(); + line.close(); + + dataIn.close(); + } + + in.close(); + // playback finished + } + } catch (UnsupportedAudioFileException | IOException | LineUnavailableException e) { + // failed + } + } + +} diff --git a/precursors/example/jogg-0.0.7.jar b/precursors/example/jogg-0.0.7.jar new file mode 100644 index 0000000000000000000000000000000000000000..1cbd1ad5682f167e62d3dc77f805e30e30e80581 GIT binary patch literal 6839 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 Xy$uBV7Xi086f2M)@zfrO6`}qQ;__s0 literal 0 HcmV?d00001 diff --git a/precursors/example/vorbisspi1.0.3.jar b/precursors/example/vorbisspi1.0.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..cd65017665e93baaac718888dfb407ff090fbea6 GIT binary patch literal 13798 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 literal 0 HcmV?d00001 diff --git a/precursors/jorbis-0.0.17.zip b/precursors/jorbis-0.0.17.zip new file mode 100644 index 0000000000000000000000000000000000000000..3826b43c9cecbac2146b8246bb285f79a6b808d9 GIT binary patch literal 115741 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%0AoU>|W}vi9>T=|f&hGSv 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�YDEnlV^R>~YuPw*IgOHzvNiXe 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�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 z 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%0A`=g8rTA_0#vIXpgAv0olu2abvDUjEMw9Sxw7iHB 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

>BS=(M=w)y8rj(;nLnN*1Tt%kZmk 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%0Dky^?GWC+E3Q*6aK1YFK70> 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 KSxcM<+3!S%zMU~x<;ZOIznhKSX3Hs}`< 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 bEOE>69V$&M&S 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 z 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


q{rQL-posi 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 y~1 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 TAN!Dm@VE~=sqzQbiV*(~XD2Mu literal 0 HcmV?d00001 diff --git a/precursors/vorbisspi1.0.3.zip b/precursors/vorbisspi1.0.3.zip new file mode 100644 index 0000000000000000000000000000000000000000..800fb84d2e5e63786632844ed05cdc003aa17906 GIT binary patch literal 254115 zcmbSzV_;<4x^2+0Z95&?wr$(0SRLC|$LZL%?WE(RW7|$%@BPj__r811+2`I@KUUR` zHO9m@=2&0NnqMhMgMNVq`s1aTI>PbihreAAe!r{PI~iF5loccy=@{sk=@tIv%^3f9 zv$2gK0ALFE3lQo*f=uj<{|bTkFA!FSu7;lW_O^e~7}39j0vs&=0#5lqfxG@WU4OyC z@V{UI7}`46n40_r+aKZjZxQ-){{B82e+=nwefkeJV|zPSQzz%YU}gRPU^TO}G5rfl z{C`2|WD2l%aWei(k)Zq|*2dE4FBm^6{&l~?c@~`zw@jpQSTRGGJ&q@A6fB$+s?EibRe=la1|2^ry z(egiWy5DMXHU<3Enj-wC-S`vq_jvv5nIZijp#M7BU;l>;|2E>x|2v|8AN7CYVgE6m zf1jCuVq^bLkRXA^K%{6QP!$s~f3HY3OCTWZf9$4=q_C)*vM8OiyYqKlYXFY8>${E0 z6#>_qQ5|$XE$3;py0$i0d|XfvaVw!^HFa_stRFbTR|9Zvgt?LGY2L@#c{sl$HtKR3 z5ax|$`_19jSUcax?*M`-g7t-?3p*A^0Bp{{UmMAh2UO)9 zUiwXgJk}Pu{x}%*08f-}A6Jp>kD2GI?Q1S^M zRqJ(e-zIW(=S+=hj;S7&r_;IX0d+)#9Vv_d7@ z)tlN{eSGh zUp@D2a;#lcZy~z;ZPlDr@v7u(2dbm}#^wC$th(q^8H(AuPqkr${BI4r*GYYr*3ue&B@bj^NokR zfXBOlst#9}3^(Bp*G60Pk13z;^e~2&i9UGx;6~um)2!qTEV<*!RVV>>ne1+nSL<{>ag%;Og&B^HN<*9^Wb{yvk{Uad|UYH zX$ER^nv!k2xSC z^62{wU7$e7bMwlXbkiN{Y|GjKv#;HxcGj-&%9HOUXXUnN>K&xwCR=%3*~WZXVY=D# zdLXz~n!QKo=PpbL%TZOv-LKG`38A2GH!hNKfu&AfNqL;?!lAdA{bs zdw=|a{AAX5{ND+q@u)d9<|y7n*IJ=f)zYw zXV+~MWze~wm0JTW5`c+Uf`$|CD-2BrJZoq8_9v-z<#W?S_Tpu*#ek&4K=-Cc5d4iz{;Mz)q(TR7Zi8c?&56rsW81WE&O{zSo^%tTy+u&^NI6o7)eSAVH)4`$! z`G^_dOtQPS#mB&~cou?}<9RD@Rw4#-Q@&q~+iYAi8kJ!&P?}&52#JG!_LTUEvhGae zQNKnF#iAzOr%%QnGpC~%u(Fc`sg&*qQM&u9-8q1{bpv2r7;Ic@gp9Za$rq#CLkVwX z^yE^E+l(<_S&o((mm6%=BKfh-#`({6+Ou!b{ShU;ArdqlL_7^F?FWI5vQl9B#dTi=4TlS(%NN2VV^G0Qkxrfr>-Sna0o~{wTSu zmm=3pU=9A;-k{CKRIQ$bN$3@LT$!e1(&$4Sv75vR5IznhCx3_xCy#;i>ZK1T4=X)- z?_3z25_&@C>U$sw{Tw9|=@zX01p5{*Qa-vbt6=0ZbS9?^gxH*Wwr)d^?HMj+Y2_G~ z2D?WJKK0m+Du}QVVH%j?Zg?bp150BOM0Q<>7W4)A*lNbPCppnzhZpWw^4^?-06y7} z5tdtAh8z}((&><`gF%?zH%+vJLSpA3F?PW3AkdG9>CMkm0ca ziBVRkT;B2WqzABHJ)4@MUfTQV+X@MeWJGXIFP*#~Hmh(J8s^<@B!*s~c%|m%w_S&f z5+Y_GJj6)7#uP%mqk!3gpVLg?CXk=Wq-gHhMdEmISh<&{@BxYH{M2o)r;$cZgLsW} z^Q3$e~f{Kyyu9Cxdxv z{VsG<$DeXP7?dzG_KcrJ3e_Zmtk>bcoYh^ACLMXQ@ zi^3HaKC1<)im|(&MT^>iyf5RkFVxv*2~dhC`3VJ6t|#69xncTon$^=N81v4E~@y;^A?mO zSvI*)xT>l)rB+k?O7NTvaL8pb-+Y{5FfUO(q7m7YU(z5?YER}h2pBPo1!|8)2ith&*D!KA$xf7!(9dk`;=S|`R zQGhK9=FYuPB)Pw zi<{#qxN7>1!O8pmCtq)X&*864nWN#g>D^NVP&dx5_ME6q-mR~`SM!tmPw!7gVF)Hm zzC0LDmc(47l@B9{!%xT&XcY=cSCnL-7B|Fs7F(Jj%aEg0v`nAi5d|9RM!=ym(pgUv zpG(s#__Kv8a*1~*9&L!O7h2;_B`v)J3@`4QQ1WEL@^k@19G3ZmIa#ylQA|VnZ@|_z zY&q)L!m_JdDA2X?GS?fDaTU?i?t{z;+WgEqSnf?0Fq3?iTfEa5uu-?#;KeSZ$pLe< z9jLKg0;J!;9B_sXR1qW`sd6w#9V{8l*^tq%#&?t+M=V9ln%S&-OS<-sA zNr=PYh5*9n08XmDuBix9X}@p{$CvmC2!BD+DsV&C8K8DLq+%)HgvThXyH{dLKkjfU zE>8Z$Xx`RSr%?)QK4yfV-e?V5(s{DBUuiCfp&W2!r47!#4aigJorg$)WU!K*9Kn;y zjMR}zVK>RD))rUja#<=Hu#koUF50(d<}SL(zf79)<5ZBif_U|2@T~|N9v(pC1q~SsL$jnMPxRU8qjF8g*33~qrk&RUopF+3>2>}uVHjDhBlWD6CfZ4o;+ne?8!El6v4Su zjwn*yU)% z@s3SQpRp!;X874wSjnz|YSVq9yNq3xC%H{x64zX=8?6&-6}l`_4msuwiWK!7KG9OB zYrU+@*pZ0YHcUsR>{A!U66P9`rGDRX)0wGY6o9X~sE&t$2GBgw;Ao8lc+WCX|AL$i z?YXC}0!<4OQ)Qy3<7AyUiH+?caVwVgmaRxnn7a(mS9$k~VfzIT4x%f3K#KWHw21`- zQ5fV1ITPxE5piH4cI#REFhHQsT05PuuYxASB7|3JfkYh&I{v}C14qo(+f))YMwoSL zOk%Mw`K!f)B_)^}P!bka#)l@6jz=bHG_;HZEuiec5h{UJ6hkNk{Yb}IBSlCPv^^p= zV1-zcmXntu=9E3D5WJoaK$u`~j8M=N@QBc5fZyes0GTLeS)wiQc;Fwg#uFNyGB}|$ z$W>wrsq%EvD_a!J#b+Aw80GSL* zrd(ub2aSZVO7HAd&!^j1S<9)_dejw0)LsGVU0k|A3%X(%uj8E>Qh~;S*fOdXb}6Wu z?88*_(aO30KBr>raqeS3!xJfG1anK8tI6&c;|J7T=h7TMy)8+wBffs8x>YmbLjJYR zPx3SD62rR+dPTbE23Q_GIG2TMRi% zvY&$Db~yM6r50NSY~7Xr;TT(W#f@~3qr?`lWTn*Om!CbIpu`TgykXeTf^=@3ti5}g zQ-asPWBD=Y;OmV&y)$eA(~O5eiI%x?uf0(?hZM$EkoE#USkcS0_ z-SO2MITBJ-h6+Y^7%lo>2nrO4j|>Ec5P8MN$y!WFv`5CRw*#Kz^YZ0l5S2A5-a$CH z`lr*qXqL{!BDYMirRYQnXOZcZfZWX;ek6k_Ao*lS#8D=A_cMRI6vIO%xEPz$P^Z2; zw@lr7N0Nr-@nsSSm^@rtTu>52ZaC(Y6VF8lM@TqStzc7)*o)tnP+Q!j?#>?NVPH5^ zSfU|$Hm5n`?{Q)7qJBs^Q72qMR6&w_L3n^e0knl5`x=Qp+35`(c%0Gi{!eR zn$BuRt*0s}T-NLr(bj`GbyHT;VsQw(3dOLH&xd79#UHWQoS@lL-A_m4K!f*7XY(lh zFmt77UAf0*h;Fx?nm>~yC1!? zRN9whW^jgQ=V}csf6%h5D`TChkHAcfNpZon8kz*Ym~QJMA*aDq9L<5Rjx1cJcYATp zzvG6JEeZUbnzSf!N>puKpx#Dq_qE)cO%MoU0c=tXOfavA%_HQS$7r=yZ-{`B@!36u zV=FezJxpg{>48#uO)SECCLoDiCw|HErw+m4!G5nFJr%8L{SLWPd$<-##h8dB(4tTs zSYz>Cgocain_12E0Kf($wr?`%;JnPynA8d5ArJK z6wwFS%;jW<0$(Q;>7Nx)R=MZc0c7UkRyX68MM&y4u|dZPE7ZD}h$k5RIDc7cJolr3 z+_{;?;)1J?qx(QxI5F@(r$gozSl$Aqm2EQKs_@DzJjUhf3p2`NK~U$s?dtSd796U- zrGVL)3*jLsBT&hW3N4Rhyd@kX!7(RT9Ydcoc|!9gM^aB;;)kFU(qU6r zB*H6EqD`g&(P=|uvSJjx!cGawc7ql~7P2Iky7xl^vxegFOtJ_t%?v)@(~6Y|J7FY4 z48fWG8%&CkLFqnd>}>^lM_j^tdZD4jM-PAVMVzyM@58bYcu5a*prss~Kv6?sA0Guh zr?BdCPiUAoPT709cUs0&`sNTV2C$383kT`a{tON~*O$lJX)W9HXW_tx)|@o3>9nn0 zA~O{=FbngJ6q)z333G__OFQ{OBByFR(`r&`!q{1~X0jA{CroKMG@vbjlcD4~Vn=_< zs{9&R4kwSy>M&WXLzyxEJ}vC&7{8>M7RGG2Z`Gju)8!BDWt7`BCUF_h9lyCVDQ`Uy zfb;NIE+_nfFyc-Nu=83OKpA~CRPXsoppq(XhgGL`3P53==^<3qMk;)JUaU&SNQ0A~ zD!{&$uUVl~fWID^GaivLBh@6FcgZ&6XjxeY3QLQ0=6qDW57^_rC~eE2QunfztXTNo zAEA|p=+USh|7Zq2-W(JLYu8=Caj3CFxIV3invtGqqDu)Ore@n<@_TxmAiNEjy{(N} z;|6i>!)$LfLsXV-L`>^I-So%A6tZX&MPZ0(nnjV956NpXmYhAy4tRL23Bg#as`AbU z?;d=AZ(;If#CcY5{f`hW7!8kES}I4Inrkrl`vv4(U<28r%h@TmaN&r$b1AtcEUZOD zSsUN@NN0rgG0o=I8baG*H=Nkuy?gRwj7zIFq}labl%Zq2AaVMicDp>NmwZgBw6r{% z?&a2lV)R+NTEbxp_@s>@`K&;w%civODvQUZjX{vL);Qvr)%`+Q0~W|F_*2H|C2oTx zkO=SN-lw;`iFu0T`pzzF=+NgPhGsP#fRa+#V2J+xMzo;@oCCDAoDgPd!TtO%+9+5* zWJo-CFfasjn2j_g1OQ+79Z=g3J<-Kg(L;ClZ4%tLbAUbb$5-SioUZ6XFv@2M`y*Pe zsj^C#?g4BJxkNtFTBbz;*tT7Q_0X#MZSmxLV^$|N3%ih()r+1DC%NPo<)!ejw>E9U zt1x;pfRVWePDBj=%{9`|jek^hqM1?EBW^W$P!mV%kdaA{Q)lPIcik~s91!p`Fu4U+lx=-))u+Y~M*$*pqN`PFW4D^~o#V$RLDvQ` ztE7GgS;=D^q8in~!*b@iC0eOu^mR0+^WN+|mjv%b9HIl%S50Ns-O?kC+&(wSD(T$> z`<}!L8BByqQ5j>~?o_fA%WvmImT2*W_xKGQR=j?RURR#;N*tRmeQv-bN+dsbG!87P zA+5IO2-sQIG5X^fsQa3>g7|7cgAg9rZ)GrfJ)y_EI7=3?LKb%8nnw~u`@S5SC zj~*_PKUsfpHxJ?)-j#B_6kI`?X1F%yGp_9bv3p#@ty@uk4cr+-*~XiUedKI20_oVbc|A>nt^t6Y5B2L15@TA| zXz?amXWOqGYqe~fM45`1dM`Y9)fM0EaiW5W za<$Zgu*_@K5uK>>5y z_xXw7`((=5i)UL`Fyzn1c!W(S*PDz>4Vxro{eniaZwgsi{3%5*jAWp5w@6?)dqQUn z6p-flB9L(r*oQ#-#k@=gafehQ_ktd9(|YNx91iP92Pz~No<>waOOlmQ*5 zZG23hsQUJR?9%Fpjrq!^72%9s|295f!AGeJ3V!U}H$0J|bJ3Xj zh0so}4P25xHjS+aasKE-YmdP&l3vZg`@z{zs@E8tNy!o*hU^nLRpd}}FdUV`A#(&^_CH~NLCI6oNW4XQVE;4i)j2;M9 zc=G7;=%Sa)5z81eqJTMTH7~gL?a;z(vYcoA#dIIOy&;OUJ^9ObortX`CdvfPt`$M~ znp@m$J0?p`iqW4Z%>8#&ZMl=>SoT!5p3>wpKXfx+Z zQdPa3e(z;k*B*?EI)^0+V&F)D&s3zXqZ%rz`0YZOsMyx`PAugB<0%3?}y)I)AV>1$(*;+^Wk_+;$$i;Cfup zZqjJm@u*azPa}=}&Omn(w2f!W#TYg0*x%!Y60j$@t>Qd%Qgnnh!=%(=M^*Wb7On4@ zsIYU#StZarHoAkQ<_je*l8G4o0?Ktvhc?Jg9QwGW8Ck6Tb3C!`?xSCAInrUPFZs*U zU;A6V*xNAq)}z>fF$D zO_A>*q90RDUxiQijGyerGH^f13ny<~FnnR3#{DH^-w=mjZw59;3}t8g{{3p>$x0@1 z=OFoU_tiQhaD^Rpl^(w;q#LtJ}@;IysMcOsT9$x_^uTfu@JPNp8?852J*V&Q(BbhBdyU^nTpKq43@4nsZU~VC~ z9bXr5)cxF!<=Mr%w<9geE_641*V>F61r`9X?YcVz*bqZ)9;uJ?^|R8|=COag2v~Cw zBVn38`47O;6sb#2r~vum%)d1#Lntw9xgAByLGmT?Y_!PtPdjzOomW9Z%i_}YNDc;K zu8kgFZNOn(!|O8}ia#XY=@35w9$ zNfdp&_-z!*JEO7}+72QjO0IB01PA@p&8(R@D=XY+%66?Mh{$hmYc;NI$NhzXH!t(~ zjXl5kwR7|+BW-AmwWGy7EiQi>sYB>)oj2|zy4uv55UOHrchppYjv;EMQ4^OsCvohUdos6etSDoL5sX}?{weTKl>4USjuikr za+SwxC8QIAlV?%&ck9%*g7u%#s3?7~f;(pt4>t@Dskej}+;Pk%qU1}x@Y%F#KKt1H z^%p|h4t!GwSX*+{GBAsHF)+gm312h!$;Gzm%KrDPcn*K-Xf5jwiD*?Fngg{ z(_FblqeCe3d=Ew5z@zyYT`VH|OvU*kl6r0!d7!+c7)A`CB>DM*Q!MeO;|&HD&HFyy zH!<@meG6!O(2^kk6@444&M>y1+HjyQIEYi^T9k>8K)iZ{)Es^ihS`NCh)|*;bs0d0 z3&=Npk#F{BTjP-1xZBUC@F!N-saG48o=77rL?8U$V(=W#)kwzC;A@w`QbLgT@3LGo zi5QqMK|n1P_G~%4a>emE$|uFo`YTCYk9+uXb4__dDRdwxF1%ZW6+K>^EXK$Xx?s@! zjq#R&w2{Z(uZQyOe=R?KQ61iF9-)bs!WFzR95>B<*JojV`uvQ+5`wnSDSp!UHtT;d z1l^3x-us^Il*}D8vn$}Niax;F>hC>{F?r~8DLg=N5jq_GOkn%d5krq>_sW~bpmDB z@kQI95+!F`mvb}kQ-K2}l651vbx$3}nWe_^cD>v5JIoKd&)Y8Q;?2Y+mr8uX8%cZB z52d8}7n%mNIowZRruCpFExYw$n}hUiIN z;&r3EnR}}HN&)RKyGz~&WPxd{o1vT0glAhx{oOljzL%ds|8W8h5(u=aodadPEOie8 z2GJWr)0DkviR=W(h^4Qu5!F6@u&^fw5fH3r!%7=`7jJK@}-86iXIv5Tpx zsTiY3jY`^Q2_~X<2j5q|Y8sqFkTcGD88Zo!&d0S|PlhLyZyWIK^Ja9k?VYV*ZFp~8 zj4z>Kc-%{^lutr6ZX6~wE>-UAxOA!GM-bn(x*MiQ$kwlV6W4_Jd?J-n%_o@K)zVc0 zbT`f(SMH1D8*7+t$KKF})Y2fZV7NPq$6YB^iSY{vnvPsQqKZK04oB675(k=8BRqN! znG)ro$Ft0G^2RIaRQrDXV#bKsUd+;tXQ*60w3bgEZQV8-^!$Bdj2@k}U1Wd@$!z-d zPKQ3cNM-Sw#&|CNm>V^V9Ll1*|8voNSrRkQ%WCdTFXY{t$EI+C|x^Qo-Pv9lmb&3f#Ry zwr=VHzwk2v>jDu`dx&Z`B^sftup2Y0C&`tA7TPvTf|xinCHyBw8RbSLbHE{LHOD+E zLy4d#lt#g2`odOZMIXk~7fy5lj9K;wlhjy|GZkRYlo&UWT*#5~`xjw3+bUk2WEAjAoy zc_yo?qiRPIyIUdCu{%p=bt;acv~M7te0^G00mHG3=qD7KgQOYrDd8tG%s=|th$99e z41EK?LNE0|$3a^;FChcgep`0t2{@)4ex-@X@8lD98I3}Q!?Jd6l_>Av3#2yBrqqID z*G9_^9oO3~V&iYUF3QLkIS`^$ajYURKzg+U%T&dswo1|?f^}*Ag}|2pC$N+okITFd`@7baHYNLk7kY-f(+QnQaQve7SV zZH*#5(y3PUV%KOdKfmB2iJf|7^JLCv`NpjB`=oF{<$2GcExj4qleMgrQ^B3FK)GmG zL|l_F80Q>fpBkC&5xZDd$Y;*$Xh>sSgMe;Yv5l11>x$Sf4~vJ6`rBAdKAP`DK;fDS z(duANs%Jr`5a?u6*dMFV3uA0-)tnFjp(o3IsYU?ka>%4=XMw;=%KO=LN;=Ddq3aXdAPP-NRlgj4Ta*#E%w>P23&bJD=4XyefAs42O8RGLg>Lmp#Z2 z5kXyc85lVk@Fp&EH!}U&(x}23(u`8O6jI^is^lViN`$*+P0H6=(yNL8(;VoqYL$`i z+Y<;LeEFo8pHhvJKj{Q;x5Uy`<@tMcZ$(9MZ3F8Q?^G^B9Xn<_26jIz4lwaaPTgF{ zo%E4|V6gOgdAc}nUsNDM{EHT&%GlXo{l%KwH|y=4D1O@tCsrlo^=iIqw^?7@H4aa?UQMntlqggLwTKQq|Ar1Yt9S6ynrrjCRp#8Km1#=lvI`Na zAs%Zk*pLM9MLC}p24EUaAq2EQod-}3Y!Gtf#*Nv#OjswVh&=(ceL4>$G$#!z<)P-n zqfbu-ME+X2=Sy&jhbyw%+v~{k;_(3!HDteu$P+;Gy)r`OE7m0#y2`tUrK!v%QQ3vO zI0CLhU<5@j_1gJ5j`Pa3b_78N?kf~28|+s2uP(%kiIN%Y@%}hs1wAx&bOHK?HO2r~ z|CKKNB^L=SN0-~{c>~;}@h52CUzh5|5Zevx-+zCzF5I`FTG-gMU>uCiJhuGVA=)1r zv?;AziI|lXSY|;tqTw0od>N{(XLbid8J`uLRN)Qnbr|4Fz9VR&!HzPAZ@UP14GluM zW-NM-+}IPQkE8U;o%ja)pQ!=-@6;foz)e#Q6bNVl1_%iAA5#M(7fTxxI(J)}1vPE^ zRR&bw>Ytwu=+`xh!42g1Kk6&n=O7 z_H_8x4!t)WS8KOWPQHeXB)MjZ(}l?V+JMD{JVKEaT5v>`6#MB<6whLizuS;?aWQoP zFYx;Pw2#mzB0jDYanPN#*QI@^I1Fk2~g7K6cloxd-g^ zjsSd99zy-_%H3y;U>!Ic&CZiz)AP`Ls5?MATx+@3l@ZO#PM)(^goA;^Fn}IHTwMHO z`2C%}aXWEK^G4*UVZ;*8E<#Sa4IPekTV#Z%uC``Ud$F&WyHx7B@M=>^`KerzwW`gT zpHxY$I-~VONphlW4&*{w7_x*)W+X(_V^yaal^~kDXo?LTv*V83!u3)6wQ`#Fyz)F# zQN^^&6*DMM9)~E&AVORcP2%8%c34Cq5~OI@Vpcj`ImMRW&`^PPG0)ZVeV7H>g!~sA zNFWMdwB|@YQXB_-y1kg7V-{385GyRe zl4=d4jfV)~RW7d|Gb@?XyPT9=YI>J9XI+QzRb5;?<|=Q!m6#!94Jus}=t|+<8mH>< znazvy<<3hIW}3y8izpvylNPMAAU}%5rs|X2aKgEp=CJABY~ zrXNQ|tpJyu&5RVZ3`=Ewjo~9h@)A-@X%|9uwMnD2dh{WtRAg~@z14}q(0C?TT1tga z;!X-o9ztT1tiYh5PYvPR_jPHNz)UGKjYzFj)va73jgYBT`We6@7SBONME=2SX5n3W z8HMGs?Y(NnHF!KvQRGLy293AWFXcJ({I<%!Cv|P9NM}KFSENb1LF*jP?(h{2ZRg{g zh^=b$WEt6Hpq(eH>70Bsb_z?T>`3=xuA2*jm_MOUuMyZ09itg5tL_b^73hr6RSW<8 z##>qRIJhls1aFL{6~IK02@qlIHF&S~d;f;0p(Pg@^CJ9K9gY-xN?pD*f%&UzAjf66WffSE<+_ia_Fm) z0j?ZUZgSEoOq5&u_gZdt_s#*$2=zLekd`eS1(H-wr(fOmQ=Xkv8RzKr!K$PW*oJ>8TOE&tx(RlFC76k!iGW*3{N0|y}_I<9G8Iv zQ_PrY2kI73b(E39F1zSpPhdy^&}f694!89?7B6sf4B$9Wt@I@tiquFf&o%Ld-K2Vu z{svhg1-p15F;=8FlbH-$ggaBQZTAUV;2qNZ;fX)R+R+j{Gg+m6U_rXd+upUt_QY;H zuZtCABst4SPL=J4sVmvvXOY~aKj6Z!7vC$DRgD#$4idRbVh2SGh&bSZtt^ZA%)j{= z__C(A97jj9Xr-K31I_PoxtPn9@1^l4G}w&NHUl;~LcFG=X%=DaJ$%N$pcm?3unfcK z*;>*%3SjUQKf86F*f|XqSarq&G?kUGWmyU1WYEX1^RGcF0zj+s9HP;ejvS)l)$xe$ z6UHu*)WWhTMrqDIB&RH4>NBd**b4g8#h{eY9uc$0{GNCv|`XWDF|tCIX@R~ zD8IW^mol#;j$SNqve>mqt%vDZw?=O>((?l!OiW!%;Q{>nb`ebo+5uJSOj8G!v42{A%83QpA;zlcLm$o|EGp4lmFE4@Fv0o zUR6NvP}n|Ck6107uaxo0K(C|vi&aVOs>QNeO_IrRaSjc)u9nnrhEYvX;#>RY_i2h# z8i}_vGyFc%%pr#Eo1GDepZ!msN5;4&g6#}U6MQDDrC$=G)C+q!vWNt}QY{@~Ub=D{ zv$MGS#MYx$n`lNk^tR@T(E;|n-weLrdos6WCVH)&vfhT2<>cWwpE?MB)k2X3v~2X# z*O77R_Z_ameRVp*Au+z1$Mpf$6Ku+3AoIfX4(#1p$IU``-3pC_1^@Akrv;&zG?<6o zBKrFPSWvEz=5_D7jvDSH9TA*yO?=#IKm=M5vS1P7xv`xg`hRFGGuR@)e8O zv|0bKcK4q%(g8SEbZ?|`N;v0gGAFi+9Owt{5;l(bh_HP-L9t7sDM1 zp5=$QrOh>m8Z92$^hGCC`OcjjU+5(R6*w7@bi@VOY85wG_=z-hWQ*-QjY(w3m3$Bk zQgn(h)-989Ut>vWwGUI)L^r%cApX0ErT?#pQ-6yX;qM}b`A-p3@0g;%)Ih`Q2s=in zSUc+!>=GZU)&y@1i*(Sq>D@N&Fi?A=p&FL8WtSNy7vAG(&K*XmfDj)BFa06ihgTZe zKcq_;QkxO$@msnf>nsd=9THv`hNaZKhnAl0H7TxbHIL(qqv_CJRTEDrcoips0TD^v zIecr?$Ke6leIMG3c^J+Na5s&zCAUKFQrZtqZJsvZ)rmQfcI|~$4=)zIw!8gp>P?+k z?30=}?SLbM|JQkm(1JeszWmng?@H5uRTliaG7;cxXy;7pYG~tP3i#7_&oylAS0xZX z@Toox+ZGx}A&d#*FA@w$yOCO$+3MIwi}Z;h*m^OHNxb~UR6o7UJBNT1D0LRROM>FB zx+bQ0nA^E;M=B9g%;!%1;dEEs3>*wOcu~Ug%hbhxlxh7;KpAfI1hqgX_ZTQ(fihNY z)CDn_c)n9n#fTKObyShA_ey>_Nt53(W|f=IS`hOVS$*}YM2Og_8zk&7k05>#vc7I| zDbET8q}0&t*?eh^z0&7E5I;tQw=-Ad2@pGPS?nk!AP~v``p$S18awlbk})~&d3#p^ z`~y$HV)68wKZ}6Z&)QnUACgo3LBbS9C5KE=<}|||E>wiRw8e)Xpk3#FVoo2J_1+Vh z6okYDNK;)-E@_8f+PXG0lS|MFg2|)57^R_NYx^HRf}=j|CMBN+^FK30{?G|qpG?Su zB&EqWNuskDFm`ol>3+2RhH#Z0f+g(^_nspw5*Xj3LYsJEo@H>O&?VH8YQv0J7vl`HD-R6S(E2DDQQAg=vus{*e(x zlA{~09w%E)vRxryo>tW!1`4Y!_F0%kRc$ZVnYPEV=lY0`W(Qe(R9J3oL4_R`2X?yI z#yL-JtIT}1N(}q{h2V?ZFGuh;)BAM*Zo<1kZl)+faA2gb{$n+(60XPz#wWUgfWp{9 zOm@KS>`?K%AX*Im7i`D=RwOg>$X#%cmFdiO%5jerIyO9Ca1S_BAJF|-a4DbxsJ3}- zH&&(rlpZFKRMT$A>ZIDH0lF!bMu_7q)7voGByYC#pcP};b@hSGYn`^PwnTDV_2#H1 z^(xC!a4t$x7=C`T=I1-u%Y=JoKRs3s$WVkdDkFox-xYAMX&HG^ZQZ8v{Lvul;!hBmkey0I=`q2v`2 zTDx`|O;b-QdTaEJ*yooGu+8>_^x}=W*TJ$IG7RaW@=_~iFMdFMt25b=Pw!hHi)cWc z0YsM%mG(H&(nqQqpQ`(}si6b-@fHw-daof?r4*2YjcZ0naHb3{yHT!uso@$Lhp`Sy z+iFVyueH{D5k8z<=tU0Ub?$!kfs&UI+IRHEO^hlq8T<5Tb~SN?u^o|KeU?aH}M zA+z-ehqk#&>1G_$=Rvi~%F3eL!AYq3+Leh4G$yag|6ev||9p0SJ)Nca?Lp1R|Js90 zOdXs|jSZbmO=xW_0nUH(pf$N&2}B?99Re%Q2Ii|R4k(Fs0o>8%xHB$SlgAz=`VmsN z>z(EJje$V5+e__pR~b6OG^AGsC0wctX_tl4`3+SvH$IJQ$!amSyW<)ES&V+HGyzoA zP97%Jh5VE(4m%cYfqI5f68s`b%<{5xWJ2Ys!{Rb6RM7$stHPDG%%c*J(DDFD0F?2Tp@v(p_JJI<&NtX z`s}d?M6!N-445IYGaq=X=ksQ-cO_tdco2K$H$N5uh(A22)?;X>NR48QbE;&V>iU!e z^pXC`7J?<=b~tTcd58nJH(ZS4b!fpc8|CQL)m}AUF(xI01v$)6$?ELO4}MI=tyq9s zB}Vq%E=>l2$mumM3M^PbWR#TlKiuc?1AmJdfjQ+0-1CD01&;23wQd{iPxsM@Uo13j z+(FI^G1v8XwDXKPv@T2&%R(Zhlk10aRfo%wTy_F&*arn(@PXDtC}9Ut?`ClR#;JW> zzI%n}Bi}bDo2Gl~EZ0_qoOMy+sV*Tg$9M2JtD_koI93WY3_M)WUSmQUlkl3QQeJAu z!G@V_zj7p$*t6f0?-SjSF}VqO(X<=oJdWLR$U*wrE5Sa_2MwVgBD~Q(C*ko_qW_`o z7nGY+j>jAShxsfC|IK`Y|1=+Tk6+WLYk!yzdM3QRpq}u`x`0Q6KQfSGzy<7-ZgiC6 zrKZ?c{z>Yc6xM0<@}OneBcX1M4N|SpD1li$gO^Phcf^xdw)B$v<6O}0NzCkh87tm` z07S6K@nP{Ec}~tYZJjUpOeDDY_7i@Au<6k^CZi$4?C!{LS|g94Wo?Zj%14r@hp|IW zQa)|MG^=YEa%rrF7gT;Vn{EV9Oxb02vZ&o=cYegaOV8XCh95N9UoqJ>1M*|*s{Is9 zCltoHX|>hRM9RLVi@GUy`3mBq<)@?cBGLjE`8}|T zk&FTT9}XnCZT*bqXsqztfgS{YaQ*2(rpsK7=vZ?|6c9PqaqeNm#6mSXl5=Y`Sqto| zM<{D2rXR=xyi`-9p$xCO76YjaS=VE;8!=D4)#IE-JaF zv2S0z<@8P87xh=eX0T0NH7(yn|13uWyPFm0O9q@o)O73W@+_c-h?lbKu)lk|I3_w} zPyJFcP|5FhiYC%sPR43yGFCS`8;jCSul>sG8_rZ9H>aIER5#;Jw{5S2{f&5BpBL5Y z`yXcG74zF{%#(o1ro}%0OQNp$J5k>cJ0s?X+1Oob3f1_eyYU4orJ7xdBE~9B{ zzs7<5p_lt$f~6?cd(y3e?Tk#nm*emU-$+Ws%<05HIRqc>V(ax@jL$XtLs% zac1<`47+;2VJ&pF*sOaAqVr@TlW49 z1Y}eR?NpediM9*Z^zx#Q)fGOW_ty&-W!$jsrMSXUEApxJor`qfPu=b8ImW5l_XxX;W zW!tuG+qKJPmu=g&ZQJg$yQ<4w#;tqK_a^6@+>^Y?caxbX*;)Tqp3F7&9Al2r@v`%_ zR_8}Xc**Q0wObGtH)He$%PPXMl6s9%i6c`9C=#RhxO$93Xqz|f@HiD zX2cuFzwOw-IyJyAgvaX@D^qFBWqwhMn(ktkzHy$h*G&o*yO3}tv`9(BR9ayAbC{oGAStdA*Uxd&K>Bg6KVwBsiB?ZuTq zrle#YkNdsvCtvAUbP9tG%6uz25-k>Zmu9CsRlkJ~kbKFyL}>7VA9NUU(Sw2O3m zYU>tV=8hU=^}>(seWLZeZS;!Kjh2(Y^D`AMaxU?tF?s$9Wz^nr=S!b_5PY3`;UQ1s zkah(ERtf5Z$*&@*9zfNp*#eL&K*yhoqRukryh*&IgVm%Bi*pSnda^Gnw8FXjyVSH& zxh67k!TwR$diT!L(M$$KWOjEXHaOV2sq4+nzxN}1OAvO8TYas0=p8et4#kR}P|-(+ zcw|`CT4rl9jz8BY)U7ho5Gq~+6wcuUNzn_Q13xs@Qk}gloIko<@o8~)zJUs_;>wDCrXRKF;CFrEl!?>r}e}%NX;zK zS$bI(?7J@sJCbMvh_&Pf5l7_!Pb99?^$qU3}c`6Bj&H8A(VPh?%{aFu&yYqI%2Ea{G$7%G=UN)x)I z5$omFe@bF&G;y(mUXs9F${^dQH=xf*H<;7LncYOE9fx1^ zpGOw4O_i%nSW&Q$Op=JM5VB3F3kFveC7x$$!U-hzXrn6)8#pFKQV&SUkaAU7z(95< z)Rj#?=HQ4%p%5ao%ewp66tf-yCejsXfSUdleglWqx8A-f$bO=>Xo7* zHP2LYfP-dPVR+z=2zR`-J>AAG)?Gjz^yP60Iu#~V&1XCq@=@EA9wQ=uPMcXuryp#|^a^Q;B9)xu& zd0(7AeY6`faYaDLRwjQ#?~(_{iAO9geDk~pokqdv9}S$|V{ViXL#YO}dG>Mq+1;4V zbG!a4R@4<AL$TyZPq_`_#MtzB<erfJc7D$(mGs?Z-YyHFTT{3iZLsi+f;6cb+WM^{dCa1Tk&r!LFhHl>kLkj>0y z0@E&%)Ky_nmDB7jM=0wvZfDG2da_HP%~aBmwGhsk~ydO_T$Y@|BMpN3WtS~2~yx~9THREW33IcSw>Y! zO9#)#gLX1}7S|%0SoZ;(%bqRH{l${>#SHllnQ8#zF0s zMx8q^9+SOk7K{tHi{eLKZM;ldC!Nk!(t?=nGrX^K6mnL2DF}!%l8io8YdZ9gKR$SQw`>Zcqhx^X>`aF$^?iB<_g2B;LBr?u zihv(dALInG08vC*VSarmcQB*#RtM|4sV(FM;B@_7TED$g=chYydIi6#5-&$qToUmG$d9PMQ~(BQ>uGq_m{x(G%DaGx)^0uil-?I8A|MS$VY+F!RDzR6Wom6Vo zRR2bwHjiXx39w6AYI2cEO2r2ZjVk;rF0omYc6g-Z%)>+qR}z)EWk)9U@L7{JoLCp1 zP|c4f#mi%1ZLD3j@H(0Lt!nuwAFri8hA+nubX%bC>)d(ULHz8&&s-aV8*?`b)BX6# zV!R=NeW<)jpfJk6ASx>EI4Umfw7dY0%|(g+3-=bHxph@(uK;3U^kRB_c#&E;jCymtXkC(G_t^6wK2?gX5}|N_{vH^^-m}>U|*}LO;Js3Zq-|7u)>fHqi z{I1+=g6h-)Tv-AAy=GuAz}5PHohq_X!TD#%4blm}li|e`+f8=ej3~zLaI&72<)L(E zu~c!z7r9Ir@Kw6Gl-QCLE0^z9;#UIUO0A3!R-7(7>%aNb`v&bJu@hGC3*znd3|BNT zzaS9DO0)Btus8yJ1O@RB&|C?;BgBT|WNf%LM1n&tlX{*6@JJ}4?s8Z*&7+Nl@Ia6S zPjSXE=bUGcGHEbJEDDBh{e==d4Jht|_yzAI!|NnD-Sm=#7o6D7#OKUQEF~ZY`WH5i zSp&Uf${O6?!%Uu)AayapOKdtyG1=%1FA=_9~tDoMWU>%5Wbk*Ol=PY) z*MPjRpdGDH7SQu52Ak!55;Q`D#1 zLhGNh;h_TI8_H^B@!EGNOSa2a(s8(*)q8ZIvNjmX>SP=KD4KXX&Q$L>C2hkp$q>}WGEwZ}>2 zCrs`T${somHVr5T2UQRM&~VUY6Yd#4n67tsOa{m_he-&GP$z&0cFTmhK=zja%4J_L zuv}Js-JfVIqdsir)utqMSuHnf?bP!jtWkD1W(UsN172r#9JrIL*zKq6jt=9?z!NyF zBlmPFH2#NQ!eZXBd}}K5Pk8A9caiIwN>a$ZIqXlH57-iZt}iSE9(f!AcJ)g7K(h_2 zHc|ZosoUxlwvN?nEG9Z8Dds{dt?16Cvl|DRb>@q$qc{WAblz-71Wj^vCmH&D zAJ0WHti(dsn&DI$fa&cP?07Qde`=;!%Z+BbK3l7>@fv9JD|Q1<4P zJ%1uZhV7TZ@+}PW!%0QhZJukIEEcgNzCx9e8Dor>6EuxC+6kkFosuTS7&4eA1s%6| zABckw7<=HwC&BA$AE=H|8TuO%*1Q*XfeGEQ5&(Q*j4Ud`%Mi3Z7%7!^6>yV=pLzPz zgH?1Y)$rqn0LnQB^(Ee&bdqcGx;X?ez-=CxiTsN_%gxf@$A*;IKu9~GkM4XyUY&xCGqT}hd1K|e_NK=yjS`_r z+(DxYiCwW+iz#l6$dRu&^4&N))<5AkOTk;G3zuY{V5jt#b0YP0yuCuXE#16Ur&as0 z9*MB2C~yIjqTSk@P@Z7~v=kZG>l#2k?s%{lkE5h$3W9HJH;pgl^`6qd(~ndnh86B| zj{BP|zu$22v@SW=Gb>v?VPvE8xUD|YH0XwvDO50Ix(}(LkNe1Cfr}(B3-5N4FihmP zcO51>PsDBCweUzlX--1#63blSoAbbu`D$CzUZ9u9$)>3IgtR>(v!MK!f*L|qcRmO2 zl<-*YK+p3bm(0*n?mX422F(a`n^a?eo_ds~Kdf#<=GyKDCXJ4yYa;;#Q^>f4S43WN zckx8)i_(O`?fvjFJnYmP`tQopitVF0h9-N>c6TVpQXRcUr2Nn6Ct3&Oomy>=F6;e2 zl_70a82{%-S-Ul{^de0gU2qzmDcSom0M=GfWUcv25%~OlC=8Lz%O4$(wsSs=1ywuo ziu>c4s1{sWi&1CzO`=-C`HBKZikf7P?0X_wQjQ8fn_?~z}z z#TOI1a$PAka75I`+LChFeSXxKhS^+=NBw2m+{j4aZO7`1T{MUS(_h>`!?;#hnt!E`0Xr9YtypA4o8i3&h^csuW|Ko@?a5cgO{L#hy^Q2(y^@FMnCKb1 z-i5&I6&N!g;P{?;1EjXohYu0L2q~2ugSe^@ZnCaD_01KfC2fMS1q59Xm6j2U{H`&? zCv;$xu=tx@&Pj8~SzlzB=$pL479B{!4}R<67{N@}oip;}64aZ#otp8=>?EQ!HqMJM zz%bYo49Z-CDVvEX#^t}&Az7xt_c+B_Gt}Sa-1nF61r(ppS9v@N^_B_aV&+52PtHe0 zfnd;;e;pr+C7|otET3Y3SzJi}oWcucEnnp=I!5<1*Tjx5d1#R%1&!D&HAO)GZL^k* zACv1`da)f_H57recB3kBdRB_=Obza|oPmU2-552~E ziW6oM%_EEcty;kRUgRZ|HC}vX8QC|%{34VC$<$4obn48+Hyfub*iODR@NesRfPj5(ECqBKDa32s?fGFT3mH2~WD^Hv6A_M~74&_Ksumv&!oxf#I5H)M8Q zDV>Q*rt~b%^v=Cpr&&^OA$HcYVG#kZvzFoH*PTNFp$>AXyKSsmtN41X*;0QYoKQGq zeSb?7;Ep#kjY91z;p9!-Idvqb(ospz94R5X$Hr|kShp}~$^X(( zu4-^6PuYc6o7-FSPCKZC@0R5nz?x0po$beqJ_fgh%0}= zwPv5Yn7LO6wF>={Z{G9Cg94Ksz{0v`lqkw1Rj!~+2UBqo1Y?anUv!y+K||e6RS@wl}Qvv{@g@xkw=(P z+%^$icEW;sPFZojEjl-lOe(am%n!x>aFlA@JddTK)f}E2p)ihVqL^`LQR`qV*|kF} zm<0p7`9Xw1o0}hgeB%6eVRuXds&-vYQj#ovek7YuakX|2{&O$tu!zAnG+4YqZ*~wY zPEY0QXJ=X_7b_h&!?lkz<1lHsE~36hiUHJ;m~G0taBGn^0<-rx69wZR4ZW2~ou>KY z1*q+?iY(nF%29lJu*|K-O(VYHhaTDMkM`C@M6=k98~g$Huhruwl;?fl$fkwZO?;ek z8|_YD`ei0Bf%%-?K-|BtG~wM$c=D=xgwYK9Ngiz!m7}`_O&@lw$~A~EC+%*upH-lS znsp6}UYXfx5V}1C;aHWeHG2(j^RB2dU_zkwkN2;m3d)(HQ2uphO2$$^-Dd;b)Kh1` zi-O`^TTD$%fDTx@#@t_927^{O2K^{2ePh+@IonOP_vnwZ!|`=YWn*=6Cz?mVw386_ z3zKg@jp-bgT*UtP^MJAvn-V_ZpFN2P6C)iYa1yhm?tJeQF8b0gMiC3l(@Sa{InTfc z`qJXm&kD?^^Pmi~jW52fFNXEbrT>U}AiaMe&V8UYFsl-{wZFFH!X}#XVNlj814KWU zUy?(>7F2cAX(Oy=15Rq!gW}?EtmRT2gBwt%+EGA>0_~DG*%w%Z^Jwn&fK|cWp6umCYt+z?{39Eg z4VItGKu}SGDe7qGL8mQfH{zQy#5p2(7??%ciXea&MNRC!Rm8C5&#-R^W=c7E;X>ZF z7;`pBZz-ASd%}2ScqRE3g7iolgBRM*I$1+`E5rAAhOH)N2QP$<7x2+WFR=51TMg2A zx#MHm^IhXzv(#``Kna&w-1p}Ajk|{R2;DA>yk7)Mydd##ZknyBL{9R`Wa`+6R4QC1 z)%N60Tq!1CyOZZ1+@MGIKV8tD-92@?c1`=LR0gS*sIljGjgpfqu#Q;q0Gf${h8==A z*IX_Xko#MV+M$+=aiD{#F@!rO?YtKKq5!>XRfn7`q9Euyk!0BqRe3$~fg}qhsN~Q| z?hG-4+ggvR&YO2jq)}LF5i++^PcJ0Vlse>fk^Dt|k?|Df4rOvocQ+V}{S`6YkTT;t z*t)|J)*A~29*kkhxzY_|o5Z+4$0T9JPi2@=O>r&CCiKus%5pekI=p!s(AGF1kn3yK zvF69MAh0|4b1EVOz1c1-50kahg1_&jMj^zO4mFHmV>uAT3c85>iiw%G}@`nSNYH{VBM9Z3=JI%vfJa&P(iKD`F=z(x`wpf zW^^KM!%#P-Yk^zpb_SzjLlab2ygdr_Au*xSquV zcR}CGZZtvx1}5OIYiNKWKYa#2jbqy}S z3uyfNLa=-chyBj-`j=>i{$m`Eo#12L+P})a|6kDo7v`fk(zjqQ{2T84e;9%PL$LR6 z-!BIv6B{E7vwsnv`l{GOWeK8v=%4ww^UNwdYRZZP@Q>x@V@|xJ^9jE_Hs@ zT7SXgeYqhZb|1he@rL~Y_iHrxcF4Rj@}{4}BY&0U=)-M_Q`8Wg!!vdRzGq24=`q?- zpx6Vafhjfe39tdhS)^1H*EsE{jqBt@pNxU*YdrkP9na|~IFH)b?3x4%rk^=aQ~(x( zx0fGvN>2wnDC>~s_p=&60h^Ovn$%>xK<5RCdcKt6|oF|9nA(L z_g6FFxS<%t?zrWF4{zg1q5Hiskyg`bV!qx)@EPn6@9KaM{H;Mff1Qepb|oOY%$I;b z3nI-hemx{srf7F4^*F~%Q`|r=Qr3%Ie$sPp=hVk9PFl{XC~JXwD4K~ZLff&Cn)^3v z8hHaq{LzepqcO}oJN8t=jb)0R@jzGw@OojuMt?_AbiT1As2I4(Y+aRc$RiCI9o{BM z%<{Kob4=ZXW8L~xe%I~e)fV3~=)VJ`;eNmR>u*)dCpr+&|0;&!e=eA_D*#~Ro-50@Eu21^QZDR zn%{1_tzGsC+~ZEAXs%m-cH?0L!(5K~gC6cR@ECNoPy|^jHupU*6+t^j*B5T-`sNN@ z5{yhe>0Naz4`%`>jqY{&V^{hY=6%C_EP`FKBi`aIII>}*N#nRN-lK@_;dJ$$X9dS< zFamai^s3Hi49`5Mvt;U2rU>OJQJ$a~dL*GXc;Qiq+-Fc(oZlUO3wY6(eTiMCT(Z0hOs|T)m=DyrZxQRq z%Gz@Q+FiGiWmP{)_oon^ygm!?9tsCV_oZR(Ws8`NZ` z8k&o65T4r{M5xIHp2J^CbZQDgnZM779UkJHxReS}UN!O(@{ttU97qc+@g z1T4|T9L;%eT2GF4j~l$jD%K_IA2MO_(=3uU2%i0T`Jai_|+var8>hmrYK2w{?eD-%ChmI@fpbxH% zSuEaayhwy|j}elJ&i!4T(;5CWBt7@|Q;S5=0=>J5w?eg*40Al8jY$z}bDc__!kOUI z4CSy8@^yzNBnPbJ!mjXV_9=LD;!xP6=u^`HuuM28;a zy(zp3KxsF2jxDtoT7^-FnVY%!>#GX(bl8p2F8z?EF~aI+zof9p8K6gSGadM29Ay4! zrB_j#Ub6_U5ND~q&!oB%_(UAId~L13dw+3WE2V4Y6Kq5w4TJ#76#*qXM3W%bxcqG2{YKlkInJ z`oQ_`udn~X6e;9zfy{k(P_yq2%KX3ii}^nt)Wyl{pX(uiG84(vlo84i45+dq^d!-gbGqY)&a0bf@@KBZX$Y_;~JTE@!7H zICiw`w!S!<3oZ~}8M|%&dIN}XO4h~z(saAZ4Dt_~$j_efXvlGkq~TO8_#mc(o^Imj zKKyH^V_uoNO1nkhYfK83*`?r1V?MH(Z{9KPnJ4uxjO`|way#-2Ecgs`Qjqiqm4 zC~2H>!ZNf75iHTn?%V@%@6N$~WV8LTZx zp~iCK)RgMfTFqm0QjwOl2~co|xy7EFePC*8A?-vZ-r{?NT2EvRdamZmb}ddvk#pa9 zO$LvdTbAg)M-x*8^}cZFxLyK`t6Tl18?!?SpRFBLZ`MRNwP|07z3Uu|=!^}TiDC_c z$|-{ViPE8?Sl};iZ0cQ<9&r`RD|u8`!Py!og;h&k3AW{)y;6ft^{a4JY}Y|MD&Li& zQWjSVTeVKxvTHPIqrLL#6Rlj8q|w$3EDS1?*qV?ND`Ax`gj95D}T%Kgg73OowrnG;&JccgEVp9qrCchq;%-~OV(&TG=?Kt z&YR8H@@#5oq=2@67xcp2w-Nh=~k<`i~5q= zhj?cgRgnF0VKtG65$ohT3yo!Rlp0Ib|Ni=OJT={```SD}l1AHj{MyT-x!Ygnc_cUK z$?c1tLM!$)XRF*%Pm;_d-0`o6y(lH7sBx5vdh#8Wa^nD%|4_KUlhWDQ!-FcS0bz*V zt*aaerGV4te*jDaAc}qP@3^}S9v~p?|4n=RFX?HbW+wKgW~S=@$a@oVHMO#rvU6~C zQTgtoMu2~!P+XgD0{+pv_%p1d_Nu3Xece-a696OmQ*MYp4(gYiw?@_Y9`MPkNB1LV z^3~2)uLS}7Xu1SyCZIWgeEoSk`!st^c2XdtC-mcdRhYxAEXHnkZL0=iQ9AVYw$ccz z6flWd_xB#wG%S`7S-kw(Bh<*1tym5lwie!mKkwq6CMOhi=n7Yb{azoJpagkU@5Fiq zlj1l}x`aM=mm5`=`qqNK>bcdr)GKbsh%gLch#rT2{(83Oa1ogse{|S+A>>oLubapJ z14fB(gGn6UB7puYnx3ITJxL-Q&|D7Rr$ijrutf~Wp-g*^6Ud8(Q8k-LR_}i zo{~17{3@=3_Yed!d?@#!@HSCp^$T}XJna0zs!>&pTSf7K@$o+*`y(`t0 zopz>Qsh}>vq?+ZHpr1{de)DH-c7S0FVD%-(yCNk?kWr!027!Z2QRjm$7dzCG{Ur?s z`Ol97umK7O;Y${LG^Dv__`_?OP4&m-w(loRlWBK~tYlR=DIsgUjW6!s%<-%3z)b#Sn~$R!Wv@cM-3~(Tef**Tb@ZhE zi$G^)9$<=vA?5lHh9)_+#J?8I;b z$o3RP2$!3X>Vlb`igUKqD}%DtR5XR2z~*F>c(b_ng-`v!)~yCXbaSeud?AujE>?1J zRM>y_GlZepejOkd?a@^O?wKCIXU|yNHFpK)YVhvpj#x*^!n65%AtRUf;5EVFi0mBJ z5{0}qq5EG)-|Fo_f4M7t8Ie$ZP1+C|?WG;qf364r|FTJyx6bUwEHmgDa{p(Fw(p8mO6N^>Sdt}IEwJLBT zGK#a722B&RYQKjjllF^7%GmyG6_QJkpQ6t`Q4!@3KKwQ``ZhH39~JEogZtZ_&awKK;dP)kgup-CU` zNW54)Ow=qCtHTl`=j`rnIrh-Ch-C;3AFF#sxJeyXI)2LhJMPxgg3SKra=sCvv+`}A-KObYhr*ii`|1cl$Cy|aN&e0&% zph+$G4%M+!SKrQz(M8`1kNjLy{?wDKq*K}XqA0sfGYRD5=p^|>bKdB5Ka8Kf0uyo9 zl`(h-AMMS`e9`XJ1hiJSc0AD9U>O<-%A>|%!C$K)tyadzAzpr_DzQwLF6$xuto|&u zz+fnW93KzbvVh9_MVBJIj;HS;2$ZZPw6l{__(0n1~L-T4|T@4F?f7UZq$=ZBC|YK!ua=jAwqQ zS4BGDh83+?Z~?cYA^-s{TQI3ZWAq1r#!HO8Fi0pT@_UKX8U+ys@$#zhl5siU-q)pK zPLJIncae3f^vpHg?O)vv>!e6=gSE=Lgd*M%Ob}`S*_3#X{@v$J zC^6$6I$WI&YwBYdn_4kun`oc%F}t21ZtUk!XtmwozT9~Psq>;BN3 z9b!6u$x34C9|uB@1E-`B5#ip{&y8iI%1#sWqor6<`$TC`kv|DlK$p{! z9q#H6(#+D;^|iztlHJcbgx+Jq^=&{Kg@_`kf2=Zy{BFe<8fmQ^U%9H4ESMgNB}^bl&_4r{N#8cYxVbLkNr$PY(&QfetS=C|%xOix zN?X8S#nnl?!J~bUAG=ePBozJ6(3@*$Qla)vbtkCaK7_xNX`YhXD`=)uniN_^B?w|} zsH%TBCe@~b>QLwDkcuaW`l9tB@qY$NFrgl3wCzd(dTEwlm+e8#?`A~_Vh)4T6x8KztZWd!YAAg1-+ZX3z(bn0-^UQ|fJ z6%|`i@|%|S{=s2u5&Ujy$OQYu)Pv#v_0C$CK@1A zlPvJ7yYZ%RXPm~tdBGu2UXkmu(&4XU3vcz}geYP;?`9PuW_LcG`hvjba^CwrT+Bf{ zA%qw-*zVJw;DN48DKF%x(c-ZBGrhXomJQM#GB#?%m>V63&!X2KrZ;9DYo>sosGYxB zxqucW01y>eBq2rY3#p6RAADUMsSTyFu!h^oi=~1A__q)c9C>J^>u#wjU!cnwvpq_W z-<#(iKvpH&m9AP9pDP$rR8aI~)o*5sNV96OLvfG~)eIzfH^)kQ()Tgdt_5~`3<<4t z_0U{-wBUN--IDshD{kN<2b5wTXv2~ZC;N}FnLXNk+!%!;+ag)z#5*ht>1v zUKm?V_dN*S{(E_6K-J+-$T!{=7IV9kzSZSV?s@^a+@8#2p?t+@#HM{Ymkt@;QEx$_1CMgn_dP%|VJMOWL`N3I_*u#%LEau!cb zGRTL^)BUG-*<(;;Tg_HMXl;!jBD_GG*EV}1b>!V~V-00x$z8zH-3xdl$QI)EI9cx> zsz~~yv?U}<$@;{ zwZ|$pHKy3w`Z!RYL4;0k(Y_7DR*})OBfEVsgwFWgsg;G7Hx*GIQ#!`qTXE&D?y5C@ zymfxv-GYFbX2rkn?}Xv@hORZa5SSdK?ao68(B^K-$&9B(%) zX`d#2_ZwK|W`ar?qldG7he$_KV(OSqw0-*oW(Z9efMrf6>6G-VJ)4lZV037w>Ef8N zXA{6B3?q`@RFhWX7I7?qCysL5bU&_wc46@^eq-~m@ga&b``!23NBF?GUkLSt6GVX{ z(fXn;-SmJmh1ZA2nY`pOALrQcAEt0=bb38vHC3%UOEI0z*`3I#g82ju`0a9sw-G7> z=tTtn@m6f`u;=)u=OReUa#dEtMZ#AN?>=w)vk2nI88Yy#P;hI>=0U;^slBj$o%hl( z2+%lk92eEJw6biwH}@n0;DPFO9ZSE?N- z*hkBmKl%CEzmu^rn=}hPL@BE8@ayJBcu zYK}L&{U$hc)Va9gW{N6FR15(`9xU%Q#@_na%bjS?Wc8WG_WHnO`VbX1Keq#t2KCYh zb>aGyLljU6emGp0DXkh2iF^%i>lKy$-Jrc4qPQ1Z`eY(xUM;U3El%Gy7@$(GT&96G z<#6~Bdjccs93tT?Ci;&WF*z^{gX}pObd*}lWB7p@J&@~&F)9=!=63X2E}Gi^5nQnC zAj}zOax&_H*zB)$+rH;NxOIAK5>`9BOImfzlC3 z?#+hJT3(3qKuZb#?Fr~P;@_^CpJ)-XHJ(3Vu7o5RB^N;&|#l%+Qxw2e;ZW zrKbh#gwaYLFAu2O`wFiml)N9BX8bJyxw`fz@2G9XJfs(mN7O|)gLtT26PnwZiMkjx z5#gVNCTy&9a>r|56A|y*!y~zqY~}*t!}Vius_1>R4DSh zcn3O02coR=a5n1I@!m1Li~m~lamuDXxz|e|FlVs^*Obpz)5Tm{(in=ybKr1+cSVqx1;ekaE9_)|I1aqvX zVuylnKOb}~Qb68gwHL$IEV{l*lsF3Z2&r>D0-*6}B9c?{)eF7XL2u}Wm zs?6xW=fLo=OchU%AeZ1zYQdBUA?+--{Gv~I4_QyA3CF^n8PNl#z-4N)?4%zTOV%}F ze~X{O&XXBsFS&q|2%>EoZ*lz&Q2QuwXMRV2J(zWibwcf@R##19i1&0F6_4xmi9DGS%CH#@ zZWM|nngo6MmutsliQlFqCq5M{s-dimS%EF6IvWj;7R1+9;d-zr5~?t$y{S24*ZHH? zdzQ%0#3+-oHo;)^o)_#hM`O#=MK+yAn@_ND=d6FqWid2vMaaJVFyK zeD3R24;(lh?HPc-G)8)Iev3qGIf`(5gyMm`vgMZ23+^xu3|)%VO;j#d%O6RExE+l~ zHd6^?=57@D$}WB2H+2>IuBp2Wm7XS$xix<45E`5n2rM+TaWw}lFxfHhxeDmx5zN*k z;lVwwHcWVl61c`pFe6D%L*P%pW=!?_IZjLnR3yzA1?Qy=)Hz9E90fN7THK#;jz3g! z5XlbH;`KVS-nGq=O7|7J3B89Q+v2`@>iHZlP}kaeIFagmKd>`5_nYPLJWi6vb9hJl z_S)tYMf)i;NDMaZl0WIUej{xU>*6wAf!=AbinW;g$(PC{X0^7+p!DUxM6H%%c4d)L z7v+nhGK~ame?+hfSg)nU=vmxb!+@gHIfz*xceA~dB964pXmPAX?svyY%d0@-iJR-$Iv?KWM zWyjl|K{{?@!Es32L%A`Vv;9tibx_9*r04T|Qy~0h6MH4|#S=wL^vQMI_wW2NC)!k_ z|m7vzCEJCqq;K|bNDI$vQB zoMu>&%ZC7I^$Ok7LSt}ZqiCQ%%{#kD%4=-3bq(=4!YYkRW=y0ZNRfxK7MAaiGiQ}+ zQJy`fIy)C^UvjE%@ICoD-(G)?6RdNFzJYm{uj zp&{~&7~35oIM#e`hR{O-4t)aHfpeB9S%b)Di;&3F-|z@SbWdSu)URN3_hZUqb*+QQ zE!wdegntWN(g|aJ9F%E~%M#xtrH3-PF3=ndd|ceK_o zEYCxx2smN-{>EiXXw&Ynq}H0Ss)gl8PiYmr_9U=a87?QUv0kho&-p&CDnzuHJqP7* ziRNYPI@}gY4W&1NE#F}fC5Cb1Bt^V!t-=i=KlKm`P5c8g;NKpL-~P+8|3BQ^{v}pc2K; z+g7r}(|~L}UHQKJdc(?+IP%-Ph(b4BS7E7u zlO=u3YWPHG8r93i$K&R7A9#-qnkCZ-y&yMs1RnE(Cqrr$0kIe6vKT@cw}w}-8_=~X zVVRd@H}}_tnQ$Z(EhwO(#U`==+^2hH4gpAT8qSgZRwf3k{o`$k{U^)xpEK$%ngHYq4P| z9Md0Gi>`ZCtY6h5oLBGN6JVsJcZz2)Vc~C>KEi_XcKzl%^j4nq0|cb*xp_VXETt&# zSJ3_9Xw{Ms2H((=>p^gnTY3ho)Nj+KoV>b2+EeVTI^1``V{|$j8|~a`E9jqIfeRP8 zJlxoY0`t-RW-q$^G*;F4u9yU^oIz~6=4YZ!>9Z+5+yr48In;L$nM(tTI%cazR1)Sh zZc}tmtS#)DG?cJS{*rZf6WHPnEkb?rj)29vA{Nz#U)^H1LP3d;%%y2y0@M#uimlpK z|)AvWPox+-IgxK$k*LEqAt0ksO& zFBFIU!o$opd{#9GG&kHw*}eUnU<>Jjzd#C+N+_!LhN9t^Z!ps0Bs48p30`Se;- z#&}ubpKz<5(NkWbh~V!+a#-k}YfK!7&2en7=&36gScS>q-G-qn5kjpiVZ{p8fbPjR zLM!7Sm(dho-7FoImVDO?1`E^&Lg; zje*}7E}k}0$rNL}Do3GmWuk^Krj|aD+k8VCzN8l$-b`Rdi>lyFb}I_w^#j-G7eJomA@ zUAAqb%eHOXwr$&XRhMnswr%6oxBr8UyS-0D#)`QzZ!>0&c;^_;An>Mxw;%j2hXNhj zCjJ8Yk0Qg5zP_gMXVbpG1OO2G|FCKQKWD}dRb@~3U;Mb~lBamMl|Vsr+TNcd#avKK zbe(D!9qA$MzNg6LdQ|YLt8N$P<)cAfe)|;hDqDi?N)wapw5%+2xJB0BO-G(bsRd^b zt%dKI6X$eMan9_Fx^Ndf5$jy;rvtRZ>CzkF`KWf%4Rl5m?F9@{6RtW}9 z(F}_5tXZ}6Ui{3w(nG&l&n5|nE8+e{p+fsUup?J6n{yT%)20H46qpt^Obn> z>ko+u&yO4{i#Q;HI$j~7?ESr;Pw1ABfyb&#*$FMvtvn6fru))X(avqLcW}RpvYR(-9z0uTttZM2_x4!q3bxl9qFrB5gRD5v3d?iS1MdkILO}bA z7>4M@a$}i^F&g`N!#13k@K#-kbMfl2+#+ywC|GIw`cQ&h-)|OTiow zzRY9-4)KoB^w)DeGKt@rN3z>l+qMwfFJkkCleH8o<;k5L+cw80;RlGxoH&g-idDATB(wy z$jXAX9c$M5dFrOKi@jwPIHLTE$XlFxERkZEgXH8(k=`M);s8iv90FvplKf=mO(B!9 z1x~dZYR!iJbL~hrnO1IbHa2M(ql*I%4wC#U)kAviwe3*Z8O%&0Aq>Ll2bfpRX>wm8wG2#Zh##J zEC7i_^Wg~E+gcyRmA2@Cf74*Oanlf}m~$T43m(5e^-f8wuU`GCYy*T@ce>m%2HMz! zLzDj*Lgyy)3cu-GL5dWT)S@E)4fN zujB34=R4vzLge^i_Yye3s*TmZ?^OB6L2vPsEb{*GpG2|(0Lc6|z757^mPWMy&UGUE z^Z#E50sk_cXn5G{i6VaU%z1{W$2hajf^y;$Zc2g00`v!RY6DGATxLtl1#s?Q^RTr; z^lx0cbf1MpSxpeGUTg@X{`T9{TGZ0giqTok8gn_yHTz_;?2TGH@4FEwSU2-mW{8wg zk?N!ax+ZO0C>QwU@cjg)B)Z+F!FR>z*BN zMzxv3yXjSzKZ#>b{DwZfdlY(oJ3~ybsslZYi0Jms>^W22MA7zy?h8X&Old-Dz)ooj zm?4CIk4goo@u04N{dBKUTI8O8qyWDZ4LHiRX?#;w+K=~y0g{P9iT0)qo+sR+)-*qN zVJp;T1C`W56iUy`T|fPX5w4<9Yz(c^!k8pC!mu4wVHWPDGYD_6Wi)TBNUz2`?S=`U z2@Tv(vYNUIIV0|j{+SEICd#P*0K2cO+QuAXsIRm-* zi--T17QLqJ{^5W7Rj%AZb-7uQpws$xkZJENa7m!e0(K-b~=4*o%m;dyX>oRv|MO6_Du+$K>+DmhcBVHtDV?2~Da5^y}< zw^KS#cn5>XSa70k+;iI6V%Hn!(@oO3NghEbr?r>YJ}d;`WzXBX?6_8GBv%K3VSXvS z3UVioax1*pD31R#qUK;L)9(>dEj~MUFWR!?R@-yfFuPtK&{}x*nNbq3)ERP$3&myc(&_K#&pX=RTe=<6DuS<}=zXN9K!$D09hGeqh}P zTAp?6ldohjv|cbc{oR-%y_8VsOxmOxi*AqUjaYEIdeI`1=9vh?IN$s&eGWsDvQ~5o z!_`M5U!CHSoERi0RwK7Km>X{M^_*;v#C z_)nmMEq&_JOO1mIMK6D2cz=!`KLv!KT2LwBGS8>o^4ToqAj)j%!7ms5+xVHK(nT%Q z^m;~=$Kk&&p20e=DSD!rb$)C~UwExsRX4w+M@>YBkjW?v5XP<%e~q>*CtLj(OoGMl zms_p8F6Y4w4yq8Jmu`;}DHpmrp@3yrw(qK5^F?~+nvnvg0{ECN>J}MT?e=-@N;b`$ zCMCy>ugrD`gVm&e%$end6^rneF;%lmY?w4L^=`U0Xz=yh&=dMH?t$f!l>i)@=OJP? z3c^^=uDb?rS@kx9YiK}6c9s5KY6lx<8G|kC!c!d^7=wdLEITOaK!2kfWs_^{6^^#e ziXZ~r$sWoUZ_9mUC@*j!1t68-^&uk<%r!TOza()bz4H`EGOOo3;P&Ml#?Se~Nid|% z49O^$Os2AeTOlY}Bk6t@;MI^et|2^81xzSN1}D`{)$-h=lqRsFsIJD(uF>DmPecPA z+X+#|NNoTda+6um3*}j>HxAnGaVV&*08Q07fJ;+>hVSI1m!j!&TSKRfy1{GZV+JiV z`069ELd{oxBB#9F>(2DEAZ792Nv!V6F@Vt;Br~`mzQ%eW_>m=DQ zM?D~iED(FW-Iw{xmJyZRdi+fRHuf1K?SPx9s`sRJ{`b+#@gd{nBqD74L_rf8sarWD zG3bO2s&f{Oh0L)>q^4|EfyIChfgEkx{@I^;ws~h_kZ1>t#sZ;Omhp(ddqrhQAJ|Z` zUwGtcE|CEdu?^lSZ;UM0FIKSY1^cI%7EKvk1vsNE-~pg8X#xd|hpl&Ir)0N_!(IiA z6b6g9Xpp@5vtD_4cIRB+KH4~&NOL@mjMpBJh?G0;nxptRKZV^X?eTSqM1{v^>D#Q9 zmQ?q@|F}7%v|P_)T#xSC-YEDR^(JYmk9UcWjOQ zz4XKEQy$Pey*8lq)3buwD4_s)#k&ag$J0PKSb0JLxizTeA#-ox(u7OZ2NhAAA&2>Z z({odwP0FZPixxmY7I-KNu|3n9?i%Kj2|dX{Tj4?6=7BxJ4SQN-WPaowuPnmzxT_tH zuSqd@AjEY_vm4OOaK{y|HIpGPEahx|=_Jz6BM(2&+fZ(iHR@OHSW#l)lBrQ)?l-{V zhAM6LqJyb}!lE^h-hi2ZK#V@7K2w#1A*F-mN;e0JQK6;Ft9`K39zHyqi-TOq+UKx@ zF~x+oeSl9$M!E}`{4G-AO8XmXK*t7b5l~t>mjS}!H9?MCE>`z+>1N%@JV|U)J9v** zdN6fi2Y0h4=kp$GPxz~8(V&-r-tH| zh<$igBu^jAKYXb1O5cT4!UmW1dVA0ksfm~}{??dHO93%^FcZI;@pt%OCX#$gyy@${54pozD-RiCEHoY2t4X!JeF7jVng(qsFz{MP2{dyYFE3Aj@BfbUWUjF)~+Z& zBN+G9=E1=bDpEiLKbHk|38A;l81*sYj?5;{pB$+D+TCHp;kem&%6u|y3AK*2MptIj z2M?E38o+iHa0>k!4bW^WaLO$NbBpKulU3Mv0!B{CcSRyR?py8Y&LXjw zg-z~6UO&Db_UZ5b7)H~#)#1#(ZqL5H9-h7)4x*QvSs`WRWPbtQ0!;+3F6`_@;5ug3 zGBja#U$w0CBu4?e)(ArEya_W>mMXQ*iqE-xu-yW4Cdx|Lq^XZni76)Vc>0iq5Q=!~ z?j6ivL~B}(|A8krLGf#=Mh-@#&0RJ9ghE$GN-B)yYGcFFl_V0x>>@(=2q4oEji`pH z(vCM&6Z?{49HBy(ZzpOzHNfxEV#H`BA&4QQ8j#ECx88{amzu-$&@yLXvg2CMNrkn$ zoxOc``S$vT?WL~=x)ltEZbl0L1MIg-*pUv5Ah+^*5^PmZR(ajcSle}%%4kI&V;E_ z6~6!q;+r;$YB!ypQX;3akfl%2#0NR~V@$%q;vx^+-<^TPF*>8l<#0N&`rCKbCBmy( zr@kbVoi88sHkVkr*6o^Q`+&|--xlRfSn;0aUc~&+dZ@M}S27h%O`b<%ES64|PrBcf!+>J40?%2uK+MwT&;INMXz(^GZhr-1<6%>T=pn7ME9Q`ZzCQ-}~0 zb1-f{&xp#`15Dt(PwBV{gZWsRc~gBn`N_sXd3@!o&WiQ#aC{dcxfQ6Fq?G(US(vY6(*?ITjMX> zUdh0I|Kn#M3pCC(^VYq#(jgt;@-O#~wB#GoPr2Vy?!|!>D|7qjA7DCvMb-JKQtaB$ z1;J_IU6#|PxI>~MEG@z3>_*qSK?AiEULU_-%C=_G|H>3AR-b$DdJSpq{d(4~Odji* zT`#7;G;wGRPKEaLNC!;)YOFRE@DAW8qq8$*qFtWf8XBy=1^8HWwj9YET7JOk91| z+v^PnXr??Et3G@*>b&Q?LR{j+U{xu#S~zMG@fGmFaGoy;rXZmWU#L^vJ`59@^gP-{)%6&%pjxmx(`8KKVY2&duzwEvpR2ZEIn=@CE z4BNJa5@!Ai-5*69-XDP=Rrki}_7yMM-7=%~-@Y+#KLV384|C_-F8CN^r%z=UEAd)s z2cchOV4U8O!BcMCkdEe$52ja}H{4%@N05w6hD@l449jcN<^u~hdOB(#V;qIG;2&?rbYtWI8W@D=W6f3twwa+`~G3! z9r>kTqkk66ijlzLH|x}rK8S?wT9p+T_-B2=Dq+7~A-e%S%5gH5t!GPevIt6Q!h2)NNODIEMsk_FSPs^TCm0 z(rVyy)1zdI>Zze+g%IvhG5FauaB}3;VD9?C?FvZM@mM7jEra(Sh1ib^PV)PHY^t?Pc5M_0j?D2h?H527&153G8B~Mo$!j)9$BxL(b+8N* z*}JhLC##Y!R`aMegI^;EY1!p`D!?NJIB3yA*82!J>m31}`@omiK|S@Q?15*7b5OVt zu26^1mN}K9FKozI)WtUW54zlu+{a)WmsB8XnhU7mKn|a4(va7kgp&%l#T{$V-DDqvWZU(b_9pr5gi5{)fXT)HwU)8oohR5 zz)x>7Za6nRJSEROaV%{!d}lE3=P>Mlj~(n}jj5YCgHeURsQ&B0=u0)J18{OG?et|YV%!te zRn}TS&=vD-25i_Ax7V9u?z+~T{b_N8Bw$^|(SI&CXl3qwT>WunoBg=5fAG2h|C+8U z$coX^(9tl`{#U4p^S_1uXdU#dY%PrpY5&Ve_TPNj|9c$!uNnlLe`*j0w@6x4#WR6i ztgL{Wh*`H9t9X^y&v9V=EN7dV>JJi5TDIChuUS3gs7CK3<}7Of2|(%vVMli-Zqm@h z%RX~6tlsCN0GFM+f3aR`bXsF3h8KHvm|LVI1Y}JVSfFzzY-7TGMFJUIfl=M#Sz)^XNVtV zKx1_39fR7iHS$;>Eiw6t_}%Y;+^Dl5K$M2dYfr5L8$CK1S%{CVqmug2)rH*-tfVhs zaW_eRA~kF^PG*}eCM`}B2=Xz%=I!rUIG;58+vQ!k+xN~`tFxqH*G^(C42CGri<=j* zAR&WJZH|Olo3+SdbRbn$n@xfhz{`80`#hl}L1T}Y!PH^ZZe(z1l60YZ3jYaPa{jx> zm}{io=BLmiyJMizTys8lI5-$%3M*XWGQaS6wS$ck_Pi_gcXB(<^`&duMm^^YlGSN_ z&jq_GR1W4$1#`E9>E_I_HbUEht&$S>xcX4gYVSQo{FTdwRQvZlnIYX+clVzQREtF91!jSCu&XZY|KH{szP~yKXHf)QQQ4UIU?<`1F3oiG@dO7 zwx-cf)uSG7-Cy+zy)hQ%s-SzLM9(!J2;tj3Y8u^7ix&;H{b}g1tKR7-Q+r%zjt>fh zVFH(tILi(LMd<+GX7o(MU@y%ds%xx4u?^v7PJXz5S&Jb;9Q{2Y@^-{2edVcHf=w@8 zKKiS?o#!{&Qd{JUhAlJUSH3@+H?+dCsE0496mRMfzA)D*;ye+*;FhECy)R($t6Yy( zf$@VIu6}Z_HG%kv=PKC<=!q;a;f> zuvCeGW~Awe>MDiX*329z?yZUFzSxNC;eyVOtaQ7)DIxsCnc(g!Pv=t7LKE^e2G1sV z0YyyW>Oy3=JZzt4%M%D#E$*V45Pf0?6AFP=%;{ZlR&r^zZ}Y1fEPc2a#byK>tAgr{ zerep-C{KSv3<(QA?{sNQVC-K@&Y7CWnlJXsH)sqSZi{p0QUJpc%58|-o3-f(C3CMX zi6D>jUy{p?A}~V6d!(Y+F=O)i;H(6;D;vL2MABRbTyWPsN-Q3poVa0uBS(@AFoc^K z0%b8$8KA8!WGdM6{?2SN^$hH#{>?!OK*=FD6lc#S&{ z0b0>hr0`jC!_k4cyP?GXAlmdA;vMZcy>{Y(I>XSly0k9a#;(-zZe8Eu-N#nzutH$Q zQxGik5RdpfJRU&mWfooF>n3My3?*ONE}yo0XUuJ=H$roM4 zgy03$SSp!d(W-h%hta?tT$A*@(5U247$p(rZ!h8jaZO|c%ic}apeIwSAnGLgXI`uQ ztyxjVK+0{pwW*e%G8w<=7c_ryJvr zJ2JV=YS(5w#50-zTF<2tNA@joh%ydBXIu9e>6E*+(zbVUWNsSoEwX5*xh^^jbGHtK zLhdIypM=E8j|5h*@4Qj|qB-h%#R^RE&r21c5v2Z=^1HB!_*QrNE($~i{GoLxcw8>* z0t54PB#n=QQI|1+#9P;xKNIx3i}GauLUos7T4a48N`S49WY=73|KMForPkAUYs0}x z%`0u!0rgvvx~o6cr=`qC$@N|j%{^4Kbzn1AX#+xn+kpn?CO8Hy_Uv z)N2;{)2)#>-sU1cWipvnn8sflqZu4dPin2_DAQEGlH>*%2Th`rNZuEq;EssV`{)= zbkGgnkdKt$TbtmvEfSs`#jxLh@R}HQZM1w%WKnE+$s3mQ)SfCYLH~E6_J+8MGlZ4& zT>c;dBq~upPT2GT2Ff;jrQ;&^MRuLjV|F%z;FwdQ36*iW3>5rZ=KJuFzZYgo7=Sm` z!Qx&5^m6x%_>`i&BQ4Rj56+q8#NBTMz58VT-hK57_N*~YRIDLL$$?)}LH)@%#B!cJ zp-^D0gxc&3*KgAMD0)?#Kq&B7=Oam<&kiv`6BYOsQhvSE zhXLLg?RU?yBFOEn(;+Dq*PzovsilC8+`0?h@HPPmt^O-=3AEpR^d z10V<5#rOZ_x&<1RVH#;>n9@5M`0IS4uLdt~Q!nkE(d7e6Ib5*%UU%9T)$`1Mlvy~X zkK01UP1ZD8gb`%y!5C$T`obASNdrfU!I9I8;N~I>w9S1qJ=W~(wMfQ3p*Zi_y5XMe zk=^dhiA%54Vl#9TJCL_xZ1W{cw3Q)j>CnxZ5xeXa59x+IMt!i=oLo`n3#SL96Z&^1L56Yu-3)@TC;cusn24C) zdPiU!2(cET#aAMo&4C$v-}-mhmj;krt&cGGZ5BDHWQPscIl4Nq>Xv?i;k`yB1@X`N_(@%~pi5jx^i1@0j7;u}x+`&Yc9d%lU|fYj+< z^f_?)+_(dt+@Y`kdVs_enihPkVM3pvnNLMbmN_UH-Q0V4zFb3j!E>|Ha^cg*27HJ6 z`StIxuK!Fr&G-yvHh(&7=P3aIME_?BQpoy;D`94B@-O+Q{)3QEM*Gq(``(>cY!ZZG z!B1)`MuV_SsP&7oB-MHbMfU{Pj+(p>Fm?VJZ%z*m{iN_n&eb7)zq-?0UvgdFzZJel zS({zG=lRiW^5MeNaC~M57pCWTaL)f0a&h|FYt-ZsvfdLi!6! zSFbu)Ov55&4Y#0VWPsD5)Wa%KeF~#()b29%R;WmGWqz=>trEUIExoX8aJt3O+5soU z>E*`Q&fD(Pn2sSmG3|in$ITk6IUFkedP5sTuunmQ>EK*=L14x>ejIvL`=Pw<=L>g! zA?+cx{Asr78Fb2w3|I&yslydyz2P6->Ur$3T_3T8gI0R;y;io{D?yy2nrD_&Nh$^R z8M@V!M)mU?ABt13=>o5#l?i|!KdhT2dYDt(BYgHaq8(v*6HSu0N8NJ_rjLVXZlpl? zh$BNXji9kAs1UEO{QbRzZMYN)Q7I1VMHTGA)XwUN(5j(JkA=*VMbzs*Lo#o~lo!ok zfp@o`gc%Eui{0&cyF88x?hQrTixAh_HO}6N_s~g^^cc6*<#`LojFuBAQwbi@YcxE! zT`(17{79{lr2N-c7or1cC>ySM&~4kktTkovA_S}1s(s{)U>U<7wVKn4(}OZIm7Vm? zdRUu*;FjOKj&H|F!K~R7%DPYGG(=a9vO$2K^j9{aE6#@N1fCwe7Xaz)mUa6)tL$*S z6R={b#EF)S3$4;=gZ4KHQ18ie$Pa)s4fQ5;o3p=Z=qj(yff=pg^0|C~V54zWF61Sz zO7hXtDpLjQqfHAff7=;LiJ@~nI>nR?TBhjIJ-V1LKAuQh33&^?mB^@*;80CSJdjs< z;p&-2QYqc{+>Rj6!ftwEeEq~@Oge!4neV5EPa|^!%vDJu<-Rp#WAryFZx&5u&7JNh z8v&i_-}!pMoZ`8kf(nV^Czn|^t&X6g3Lc@ZAl6r2z!QW!Xt$K%(0QY7tG$&M6e7ed zmx-~po&k)(_`Zf|3&42Yj+i%^hIbiFIS6E2T12kA86BvA#0$doY?oIoAfWW!7-m}N zXM`#dOdr@XV>ZnNfPrU(GsHD+yo5e{Nj>=f8b?1fApH0pW8pDhKg)CMkap#Hv|8=G z0nU5Ah!<5UbWC+t2Bpj`8-VaeFd<_63s?!mGIc-2svE_sP{pd5pT)wG_8Z?uR6;AM zKGirPl~Vy8Kir{bG-Q+AQcEBk@2~{~{KQ19(qJ40K zcn{kT{Opsa5fC%g##TLI&unkf!S}LZO)r$`ivj8JeZSc;*yn^#j%{5HsjArQaJilO zbAL`H?h`S*(mQBqCsQjws=}+fT>V!TIHs~z00^D1H8RE3age4&c6z(CDwy<}X zV>oym(k{vZL`rg(*Qcj{mLnOb`{(^7$}Rn^|BW5k=-WlD2+0?VPt7bhVV)8Rb*M>N zJ7#fLR;$TI){?Wc@~V}*w=r2^bKV!lvxPRxNu4R0#&{W4O12V%`9anmF z{x`LP_EiG9@N)9zDf>vlW?W1jgtXzTKxRwrsuXzx+e&B;B3ocNz1peZcCAy>Y#!S1 zYF{bdl9$u!saMg#YJZWTAC~zIWvsw5X2=Vo$AYIi)=-!tIVUD@&#NCG>|}?c>w)dA zgkUYucRM&>#!9qGk=XTaP}@Bu>$4B%{&}XqFKm3@I7=75bl>32f{Qh*xMnaT*-55ZT?md}Nsu|SJ zeWr)|SR3QMBJ$^=0Ov^#?!7d`YvEtFeO5#!%btgn&4<35XJ5vY&!%;cx2a4W-+s^l z7@s;S9JHUTk|e$_DQo}vuyjbh{SN{-06-Tt0D$!WOhWuWOQ52g?f*vl{RoK+Rg8ZV z63~kmL>QP@C3BJr>xf{PuFEV4Gme}(1eVbT#b_P2Sge0JzrD5`0D*@fS|u0FqX=k@ zG`H5>wvG=A?*o2#@g)+#T5S6WZ67nZFw8{E$cOu7#bj*-_oz09OAz+@tdgF4Kfrjh zaQe8|20TNjVzP`$;jPRuInM&N3W={o93V4FCbGh=;*c%$b$+z=r4dcg12+TQ=5?e7Q|j~&j$T+vx3-|TBnR% z>wY0Lu^D0EAE|ztbtwE;!5gb*E-#A z2^cXlqa`YVP`gbwXF0Opnv5dFi%Bd{Il2%Z$b!|sVqRCb9adYn+fV&0MH;aTVPg%n z{Y9$Z%9FZ~t);M$+nN(qOs?UpBk#($s)> zKA@}jI!$0Op$B9#^Fz7|qW;sMxFF{39utjY{y7UUPp>%u+|&cy*YOoFC3b zT^ok~&Yc2SQn#z+`;CZJIe(p&FC%gq(A7Y!@Q%C7q}CZ?RLLXKmBjfjiGPZ4r+G&c zgJ9AVO<_mn356Iou(g+YnUtQ1zeEEfUUx7Al%3uoS&3_hJ zY@*c_?CWd%A~6r+&yf#fwqJw42=uFhgx3u_k0$pLn1LLt?>89zhcs#`2|U4*4N4(6 z+6V)WeapF1B>g!tO$Q?`Q%uZZVqJj~r_vzK7g+9!rGg@2-&LJpdK0qfI;6~c_|LD@ z&%#!iErN@uV;4+90c3n@1a4MfG)KVSNYgH@m0f|em_Rzxhx61!?`$GcM&Z-1Rx-(M zA5*d|ekA^LtH(bx9wJOuZo+b;e4*QBBrFUE?GfJ{sEwDSK*h&K`2;%V1m| z)+@;8`Y_LZsK?AOy<3Pbe7~Y)9J_Q~#^?K^Bak0U_MaVtc}~UT*t%EbGo}V6uAbN5 z;}qu5>+R4zC_n;LZC3lps4B8%*s5S*;Jd>xeo5(| z!uJ?%xte;isL5_L-q2M)cV?bq$S8oX6?9gzQsXdNeB3dKM(G6(6Xe{0m^)v;BBEpp zBm|rR7^?vNGp+HhW&gyU2G_9Zzh$qdwle7*MDr)k-W5c+CE9**fS5x_GzXwTyNOwf zk*~2fw2O5ML)RPSDN`-n;Vtmh5NMG!Ijp;SP(C-?nRew1(+&3`oN3a`1X*0{ET}ar zCEbz7V&ppyOxZK^n@uu%3}LZ9#T)65WwN7+@ZReKmBEF?ALbJU$?PFjj9!!{eG9JY z&Vqe?kw%q-7`>{9mA;}plg6bvvuBbDAQYL$a>3Yvx{&A36XN?VQ3O=01(2VE4nNx= z86?7j+QmC6Zl;H;rHiC7TTFNQ2by~Edl-@7ZcTyFsUQWuG};8K{VW9Oye(k*4>ytN zn`D!6uh>@V@v%IdG#8`ndfn*DF9^#0uxWPO57~Y=Ec`;8Ztp)fhNFxUQ|yASEaxxc zyz=GGs#vS%W}wLr@*TO4VX`oCi-N(WxP+g_yAj|dPHZz6;8VbCKBjmc`K&V{k7FbL zH{3Q!NT8%Lxc~6?kHRMUlN=x3`Ms?w`hKcmx7$}Jx3H|-GNttC1c8%$*pr`TP+?Ix z32*Qq^2*J@la)EjIq5JGU*udr@^2Cxl0QmogI5k8x>1tc^4w1|1gq(nFV}r(K5`l{ ziC`Q9!s3J_fvGnP^8h=o@DOiv%YzIbH&bYxx>Q&Xom|OXCj7}jDyBbYU_N;0?x860 zG07rBdAcQP%;A}4h91SfG+8%8{fiXM3X8zLDP#-gL@PdRm^L#vR7_7KpFZ747}cfE z6E_bZFEumy3lgvEe#y;7q$fG3T+OakWGuGmOH$;Oh70|fm=fQOPtGbUt;AbNN=O2y zB`3nHjSf7trL4`AAJ~+z@0!jXcgQ3S+Dd2@7OGYDiCl{c_uy{e$}UlFY_tQ@O%8G=M z)#346E%sfNHYM@hoeY8ZuaWr1L@kS-NPO`1 zuXnf-|EMU0(O2In8d$cbxj=Sj+l3@;7~& zj($p7$JI~&zQjo{)s5)SG^kR65v^_F0R!#7bUn(bs=W?LCxS;@#DQSoGs@?i%=kuX zd-X9!b@)^S8d*ia@#1A5(N2-V*V{i+k1XCqs4j%8=vP*?b6TekXKZUh8pvuP=nCME z-59Q9itOlw+_o5C)ui5VF|{~ zLe?=2&qZ4-_h-5;I{}_ZOGRrWtq>T}Bxl*tgxc8@YokGzWC=_u$ZUw@6GchG>T}*> zCv1`N!g@)J@xn&QNTWIRt5UDz+dbdOQ^J{!6>zHpr?I5+io98NcY(dg-~n(PrQ_pB zFUWnmJJZ8qep}Z2l?7p~@i$*xH_jZ++0H2QQ>yZ99FSeD11e#gv}{Nm($^!?b>_D~ z^KtJ974zp$(M!j5$%qT|MK%u5r@zj77yE+Jh`OZU_|G^W zH#jASOH0_;`MwO(siU^7Z$>jj`qB~M>K<(l4 z^p~F34~bJnF_XOd+)+Hqq=lR*0z|R`Is(yhl!liL#y{9pohIgU*sVHqM54r|tH~zn z*(8?+V2nPlAuQtlYRv|nV8a*wBt;k81gC-UB!I&j323h)3wq%fHdueF#KQBfy_cX8 zBgy9F5;VU!Os<*-=Qes|MU}3{-3iqiAh9F^}G%O8peg zla-6NUw+U*CL|I&wp!f)CrPL)H#Kyu%pn3if^@F8HZhrnPVpi_Sl`=$)#TE{E@ZVY zo5M9>WzdM$gOAEfAJ3QNY*2D(=CWIH85$W|VKDw+hgmK>rL?T_J2M#=-bv0 zFgPD9OqOXrvFdq|?+0T-CrxGTb+ArgdUKH5P!mO}EQP$&y-^WBuiU8O)%Zv7@jOJI zi2;17fI$qCWAS6|?SB_vz%NGr%+&MnhRE*Zo(fLj7k@G`BBspvvywx)UZL`=qU|E2 zN+2Z6P*{7TBZNxcR|&RUdWUoX(Vxm7b;6q$MiqA%s#K}g!kw3bH$7+Sdg1GCF?rI} zx2g%0@8F0+!SeJ1Wds6cZo%>)Ohc-@3w^K6{?It4!yTZJ0X2^n3cQNC3Zab?-JQ%r zuse{MHH@Y)e<2=yUq@5vq{bN4|IRwoeYFRr0~iV6Wc^KO8?I3be*u~(iXtE6Qvk-OngzO-y-}Io=Z#urKFRoV+WD* zl2RVdpsVG#K<)AP!M3177B8WCI~krCPs_!|E7Y__!+r;?MPn~HzM{4FTL`u$iV={N z`D1Dx9!q}G7^;cV|LizCHR4lfLKwhew-KR-%LhIVbMKcPm-TEY$((Yp0%cancKy9? zsEKI+rDoIbO7R!#a2niJ$y$LF;=G`^?(cZ3^W{MJ=mPhQ&iP|L(RDWKdBd~6d%9tW z4EMy~`<)pC%+B`v*7z4R{u1n>Jk%gq8+!4cv>+hO*x;@SbU~T4I@1ASke2+q7FN;+ z!+;ZrZQ#ItzesgshVcUVo+79a76{XOxQJgALZuj-ee%Y3=Gd!U-0awiW>7s5Pi}x* z58%S?9-8*v+4rXR1C6-~xjH-xRzWkcSx^m)~Y$=4KD4q6;XMY=d1kDx4T{I zM^1{Q-^X<0zc=svlc!YDOMh586Ad{RHi=(7!_>7_2Vf=JYPo zSXlIh@$^jj^alpb?uZEo(0@aP#leQIkNRA1Wf5s>*-9ojgRKT^JvrxiS=-pCQPfD5 zNOL<F?h_hS+7wTlIj6KRy)Ri7Q!gT)PXDmw#kiAe)TS{e3=37G}Cd!_NI8 ze7l(J;JYaJ`^5zQ>x933ZY)P!<(MoQK23h%7Dw(CRgp#~W$d4rz4aqFMT&SgfthcE z=(;~t_3<Rd_jIrGuoILg8P(mzh!#iGKDUQ2Y_>a|9`eT+5dhk{COU11DVmr>F zF|NAsg1+!HRK6HbI=!0iEl7_?3VFe?D!AGdL;FhydL}SdwvzJCmns4nMQ7Xk8R7sA zDU-r5!cWDXBpPaKjxcu#)?|Pw{IpmPzq_-y``z*>gulTaF_S(99W(Yl)X?_%m_w(s zwX{r^{W38Y1dK@na0>JAhp&0FQ^{pZ8v`zABn2Ik-UZB#Gx}=OgTz#6Hg2g1bP8UH zU+BD0lbs6V#)lP)9vIgZ0DBzkxyL9eicDg;EKm*QN~t}B*xmU9erl zxZvzuD(L(W#Zh6Tf~6+eNjoVhO)~NmuW=$NtyZ!mZ+Se=waaR~bn15$oY8mf<QGaX>K7&icp&*E?^e9yMo^IgK#Dctni9$;)(SVVtl*!J{pPgHGhci? zQFaYy2cR3Mkr~Y4A%=J$04c*-m4=3jCpc_6*$GWM>Vr7CgUkijMmW1F)Pt*Vf*S9! zIR|!3=YiZlJHUn+8;hFKQYazV7)4`wLR8rf#>+Ty&^nLEr=vY^#Ed6ISJ*Mnjp02s zmlpd$u5ES$>5`7|5v~-|K;2}Zgo!RO=0_ktK5$oDAPuK8TJ*BME-xv>quZBqKc3OM ztTl?jR}!8oFt}N`w_GRP#xL~riN!23~D*KQQhQEeM)SpCX z(JSU8yw&&GM|I|dXQ6VdVz9~LDM;II+O@k*>@G#iZ{Vxa)c1}FeqR1zp7VXRW_qn= zyO#5P-dKEXx@6$PwO)&6})iY4oM*C2j)@Ho2CnRIe7O|dmiGVjsNkHvsSb$Y4J`!Hc3A~f$YrB zSAz(QDvGz6Jbx5w!md$fO184DF}Vv5R%!0z-K-BIu1+_4`Co*cV~}oLlcvkIPT96? z+qP}nwr$(yDZA>FZM*7}J@s}+$M^Nj^i0IwPweN{`mtAJ?t5kCeNji!E`}o~UvZkN z4U?WXH2&`TV-|_IPAs*drmz6Y+=C{ZZt8N<+S8oP9+y#@{I1hKFX^<`pZb$+y~v0+ zYN|P(f`(2)YSWqa3eY^~gV1A( zDCju?IXyz;Vz{L?YR~3+Nhzm5NOr<* zf{sIijzJ=(B0t;_ga`2^Rbuy#gi*h&%_z87wx(T23)d8!ARIWW9{ZnM#rRCAac`FH z#)Q9TW#G>S8g3jey|CYLM|(&A>+!pxS4<(^x|#Ry%xLSrY0cvu)>OY3crfjDuTRxq zy_0sGFQY_&_)mxzw*Rg~GpZ3*sDG3w+D}L)`yax&-H+d`tA&Z%zd_|%k~QM8=n+PD zs2;hdG%c4Zfs%wQQ$oeH*MyJ4!_^dWDaqWCJK=;^u`)j&S^}E2D$-Opz@sw``1%-t z52*O=#yk;!M+*~B+iu!l12WRJPwTKHjpHs*Tl!a6(A#tUOww^ zs8VUh(q!OQ*18y=1HNnFZ&9~P?KBlq1a}GP!1UGA#NhQ^dtARjW{7@K!CVexuMuJ( zA6wSM%c>!*f_XCwdLL{9*5%UjnAG*nbBp9!yA~H@KiKP*v|tI#BG0@@QfZgnb^`$0 z#J2!PbqH0byeaF&rfM~aR5pdfVk<0`QK@;;M*>;Zil+4FvPx8hSKy|(uH18K=YLcu zm8U*&TDHujAZy08ar9#e@?s3L9dMgxyMQ}s`Y43cI2=v?>RD`zWABkN1ZlJuj^R0l zAihP5(Y&ZwXOGh0f^kvAAcwon13K3)PZj5aG`cKj-;kFqi|gY6fL(SM38oHs z(O)_ylzZdN%~pOt<0#|J)Ywmg3-|l9h~YE~fD%HdO(vMydOQTVWe$Y>u83J5Fy;e+ zU?Tuvn+YwCAlW1%vqdFy3i0U=k5(`lc`-A|dGxgY^KJgUtO9mo%m;@8${nrj^ta6x z<#Io0g!n!aBXAPx%cR~L6DO!x(kOm*K&fY8t1TAUsJ|!x9}@k8TK*%IdCLrDO_M8f z`V)GPYSA55Jd`~iyfv?V8nFf#@qto#_Q63xjLYt+kX8`9amt)=s-S)+Tq{m>zaw(; zKv3^J`0XX&AN>hc0*M<)0|ba|=CLue&{B#W-?OzI7f6=8=@d(Q>e8tDkO2(&3vtqDlfxV}a(POxX4D*#9u)oZJCketbqE(kIqDw8H_BFRb!s;o*BB zoJue&kWhv13-&bGez((a1zcFrcfq3vWG}_PF@1H`-f8crv=ybmqZ@4v{=NddjAai~ z3%yRM0(~WEN$AUd8K)^?xI7NKJ%XF>5)^EFo5O_>?KFAJf#xOI87119+UdA`Ij}GHV#A!` zLH2sB8@AIE=g@qQ$bM$^^W^az;>U|)Ien2Dl#@mZm1*Ca+33QT&=72r3Ca_wEwHxE zx3mjf>02- zKIrZ#&tr=0*u=~l;OT`=#E3vs?dtxXVou^}Ty7p2{h6Fp3vc*sRLJBE^pP(;!hG zINsw_wi<4t z%KOSU@6|%1metBuq3~Q~+qL?NrMLQTp%*d~tCiNh)lvJWCx>p7eG;D)V(h1cIBf(U zbYX{tQ0DKL`K?Nh3%ZUb$MeXE#O3|Yk-5%gPx3=fp3J2O)TfqqkA2I^cjWCSwi4*% z5x~fjDa4d0h;@=uM*NG8W12Y{3r0xAEb zNgaelJ9=U3jipG+(ieAS6CDhAEZBRcF6(ymu0c;`8@qI}AA9=M3Nu<^zr$9I%=(+` z=bZaqr){^H_Zg2Jj&Fn%J7>s!MYdWG+=Vx zq%Y|Io@@gJ>YT}cj(m^s0RTwBBGXh~NLIUI7&@4UES#dqVD}}{)b&55k=434ui8nPB|0pNwG|QT zQynuOj8UQIlu~6G*%4caVA_<|OgswIM}`!tni5;0hqDwA5=XTAsc%3pC(|gjj_xBR2S*fQ-4sJ9Ifcd>Ar?#z>L5)CMFcPHbf7LEvteDWSZ=5+UPgxU+x^k{5xT;9s%( z>O5tKo>xbXrAy9MMz+&IrI@u?O`<+vGtJ0bux_(uspTq?5l2o01#l7;3m#V$X;-}F z2uOJb{@7q^WXyul>RDd3v*gT`BXhfC&<@-SK6AMp(OYj{s2qZjPHW|vq9p!jdt~Rd zxLz;}sqBqDRzDjKCm>ud$gUyL-l%7pRbjdj7FnB|@`pq8dpgolf%>cPw`JP~&lbJr zmKJ*A>}Rg-uUY=h?>}d!Pi2vWf$$sq8~gwe@-9?qQuf=Kw-(I&!df@aRFW$hOWEbJ z-rs_2*C%O!F@|U%_cCF48QrEP4ucbuuvCaZTnXE@Tdq`*&{lGUpj#xfK)Mn}hs`-+ zO08gf(ZWoU$06>VxLk9BM;uU3Y}K^7C$_C5nzX{%Mh>3G@`ig^Im7X($GfHA+}LH6SGZKRC}wLl@Eg=(S;~(;MwR-ayt`W z`M@&cHF@fl9zBMV(nfSDBrrfFp?Gbv91I0oOEW*OC%!=Ap%s8>+^5jcfxbd$tLh6} zl23k3ftxX|s#50v;E?3BUe-K8^xp$FyJ18o2-eXh5Z8tn5IBsMz?5pKynZjIB~#ki z{xJ_r*m+GW9dB*F96PE_*{b7zmB!IFCKY#nZ5j4KDYocZzwD5R(!BX=y0W@`us}P@ zW-chOb!n)y$s%=|VKBy*yYeq#F>+S)WTaGE=!c^OT{d&kTMgAcMs8&PSjgv`of;1ya3 z_&Dy=Vvk!}SS`_>DOKNgsZTP32V&BdVy&u!+2M^vIUseJr?LYXTIuqg(r(T67=#(N z@Ox5vz6=)@OaE8(-Rc?vKlOd?v((k7=_id2R3( zrJV@Ng?<1u)WMCbc;OR|rwnjd)*yZbf^Eqwojb!>^>@9sHL4RzMXSWNcfbNpK+s!C z;Jry~OzTpRBQp=+QIf1u$|aia&EWeoLZ1tfZrEl4nEl+x58F z!Zflu7HFfYrmw=zPwF>bV`}UZ&RAJ-zhh*Jvw@3(hyU%8b0E)QITJgXKWlhs4efKF z{Upo(SOY4IdcN8D^-}k(P51q%g&zNr)bIDNT=P$hbg@+j!#_Aum7n`3-TYsN?Eb47 zV{PH&JSj;nRXs5~yF^7hcKCxe+CNJ<`bA=bc7aNEjCNRDdP;I~l2U?}va6Pynvpay z2@3G9_5L{*JQ@cD3jhQF==c$n1pn{#oc^QNx<*mPZl4~Zr*83^{;^;k*D%b#85JuY z-$84UIe)RLvTP#WB8hU9oE7Bjb0ppu`$_p~`2KkC#v&Idcl2JIn}&Te@*M=tuXLOm zXrJL}H4Z&W#M=_4dIVM+GCI5=3`!=z9FiSb zbZCFOF@*udmdW?iB@nkttQ7I5N$l^;SSN`ld(NmFeNV*kI5$>8DY*?BnrxHb5dD6| zE?flAUdi&rKVH{d|pjCHC`T4+e(b ziepUu;Cgc$cH{U*&-XUo32joijh^)PnGFWuHf?PZr8QrwLn zd)zKylf%{6Ztpa0f*AU4Z#AK3*RkyDIqPwqlur4u@^676HpO<@T85dan;CA$^UPmq zPoCDjz*ubbp9Zu7NMVJgDk3En8q4vB1Jy2IX6PjDeTB^6hRStXK*j@ahssJ3h33d2 z)y%DmMKv>TT)ZlW%;Rd7Bc=JBor@kNlr+?X+gOUoQ|OwbjpZ6k+!>95#`q?RP451k zJtKA*GJE@bgkh!A=GcGO;|D_G$ocRvqI<~BenGa+&09P?=YbaBC_fWiH~6rB2wbeK zL8zk!*x$fg;O4DknJjroe0j`HzaV?B{6!tVP@23)(8=%(3lV2}?OhU2KxnZ#`_ z#iV2~A&2NGSe}3u@M0-$%RsA^q2>NcpwYA=bohvq5(di)k2BMl4;i`IxA#5YeBtgk zK`^D>qIrJN|AM7Go*StAb!hE(Q)MrrnUuOjnYzl%eSsP6wBW?8M>I^mAFaQ;&zx=O zwsxBlOvA=sg$Gf7t#k{<-^0-UR#Nc(XpO3e6DD@*g~YoZyk?e5E8eFZxWJ=w0}YAM z{QT%Jl{VR^B@m$VX)JW*(R_ zcGx7Kdw+dpop8)88SWg!idU0wU6IGFDFETm&gU9*QX@j%^h!l+uYNOeFNtpXLFHy< z@`&SUJfSxTj^iEQ(|cJ)a7Dg==Sr!m!OsUDoafFxSF-Rd@q>pLpPkf=%k;7jY8m^$ z=i6aohb4JU!KDV^Iqce2~(cQtOhZ%eM(Q1T@z9%bTz&Om5I>six>wPG*X@G4*=7^*`4d zAD=y6Ds)tOjt?uIIaX@UZe!WHTB!x@kxj`-su4p#x?XOiHLAq5Kj}5!RrJ66ur9l) zkD$7zZ!y#+RHC4N2E;`$#m_A|NU0*SaQ-cArf5@N?=6{r+(iwkQ_&rYIn(Se+5px7 zVS!!36IAiaD%3JYk7eh0`Qtw%#EsYybR?O$ZMxUpaUrS~XGDKw9CJ0emm&YE@=;Mq zoj%*rdEzPKMUno!5Gub$PI>V?@nnm=&>3H&c2MbFv+TFgqFejr^7(7AhFO1|wqoJF z6VG7p<>RAL%K9-r9{~zqhXwK{hlj$5dVaw=caKFN@;=7@&g%Xr$i!1x!4&@_segFg zg#S~JarUq_aWXeCai%qLa;iy`ksG9k3B5^r!lN$GDUEUQ7O&4;)dvbj03x2bK5w0C z6qTGW40yRAwh(Pr2u70ej9D4k6 z&53x1xgFG1(3SPOe-qT(eTc9u#*JywZY4buT?an{L z%7*CD@@-mr)mPt!zatn`l?BwljB?HN5};Pv8o-U3?tyKf$lYe+2E%}84M`WOw8F*S zc1W;<98?vkOd1~gohD-l70_&=%ZI%!!mN~|18Vh-BGS_#Y0Q53#naIHh{dAyH=wq7 zs5bzV6pJ#khAE9rxNf_VE#lrs+R)F5CEtEt#7u!#wMJ}a#C$qs&=M?LKX+zfHsZ;F z&iCj3t6lW7pOO5x_~Z85*w7lY?X&qrRgGnpC-&HO`NKR=L(K#_kSEG8-bS-&YTiO- zNK{TpKx+}6-1Al_8jgS5H|pk<_rIBe>!?dJ(89luTA>2~v|;{VKSZo84CyTG%*<%$ zf6NBhXe|vKQ#4$ZmA6)KCD8%Tun`12Pi+$bu{(wMJB|1|xr&LwixaL>uQAV*`T0Y^ zEaDaSy*@3^x_s|^PO9%mb)GLzvb%29XV=X5Dxu6zhXAVkIstnL*>>B&K=Of;jhXYB zCMhNzw_$++%mGwDrK|PoNvgebvFgS0w;6R&LJkQZ4Q%H!`NHgFpEc?+YR-K{@W{($N zhcJ%#+yZRTu!%lbFz5X)10Uz|y7J$w(m6Qo*E2b?)H@y5IW;vLBs(-THQAlg*RtB% zqb=yH{F}q`KBeo)h;{1wLTPu={xD~ncY8R^iP?Sls;cVg=*da!5Das7lI2bc^NkU^ zWmnxhT6%+rxjndJHZ{)iD81tP{}_QFR1@AUXiuFZg;wf*WQ-qDUW}RTd#;ThSUM4s zftO(MX+ZHEG8!Yrf$=3(Xe3IJ;$|)Te^KIA#17AmhAD*9E{kGdhcR<)4M8M_0BlS0 zMvNl$zX4(oy}=X@6+$I?3+_gK=a7f~R)k(fL3Zs=1;Z;;2Vh!-AF*Cvjx zF0z!*poy~eel6g{=@p0af*#z##Y#sIRm}ojL7#=hlcRR&j7cWpP;5xMC~2Zr6o6hu zldvh;qB1z}(4wq3LgO9Ubz#m~NlEbh9g90-hZg0bo{mJPEAK3UjW*S|5*DhV1*hX( zncUBtq{v#$B4g!?liq%aBhk*i4uczC2QwPOy9UmD&DWCE2I>8~WVa!BHh#3H&n}xW zT{I7|c4M}LT8NCm0#lf$xKzRBT4*RgmL}qM3k2Xp-D+_{P#f- zH+#<=JDsYNgKpC3Gq-`?HHwjRE%#8!gkZrY4S28*H`rU_(-ntAm|6LV8(9`NI-Vlz zk?$hr=bqztyQG11}(3~Ji!-c0-uL6N@w(JF@^_^ykGi%<`uYo!4i|N|cQ#WJV zJa3v1^*r_jF8PEj{dM+*duu@>Cfd=)M|uEHhA^A*da@D*q4#m6YJJ)g2g|5lBT@SDywS8ViN8fW!CyX`NXI?? zR3ea42>TI(4yLVU2Lns!>73;fZfdaK!P1H1t!EwC&G>Kbww`WbG3;hgvn1tJGGM#p z?c`_^^i~`SF5yj*71*+eTcStenn*z_ppXP!tSxzB!m9p(lvFGdz!d>~vd#I7cU}1? z4&q*hS#X8fo=fp()+^NZ)KhU?eB;7_ep&sXA~D9ugDNO9177WWA(B>Ta-6EODk_Ay zl)Glrx)x~F?+Plr*TV9tvl%uWG?|ek;u6n^GY=hLlnm{PIGqTY;;xoJEs#Z%;e2U- zM-%3}_-4bC>}PCk&~YXEr!Byc=I-h8!F1C7cgyR3d*`N(?y1Og&9z-D%G>7t%v$*a zCd1z>RWp`!XP^vC*T@hlWe<~F2WGCU6E!cHTVJmHP zej%zIeK3?cuc-!hS8W{}(beCgf)7%~_-JxJ%9_sS40Ust``TtH$a4|5M9h@l-{*21 z|NgBwmO1t*QQKK}6pY!D_iKOj6LsY^c6&L}@VR@ek;C1)SFIkvmb~UOL;&zqi}*vm z=?+fjTb?tTpe6JksjqxZ_(?}fIEMJe#(X)ae4O2IVW5|!PtMT4Wj^M5# zTmmj4zoSH1KK~PA{chgn88fN%mO+nEqdb71AxdqgX;G@46Pyg%C93Z5dWclwmmE9O z#0?Jwt{;yYy;)xh-k<)Cz*Ne%f!vbPb_p6 zTT)Hi)EkKzBR&x%YWMwp)MTe@&R(f%&H~Rh)Y;mTHF|-3mc4I*uD6zuc8<5PyHM}H zE~Hj=YSi=r0HD~v^_JCG7@C^wKk1gu@ajSy9TAPBzhDld;7PpAEkR4aM2RAd63XIB zsR(PPMD*`N{jof?3SdgU0vsnd>+~bZ<}&uPoNiW80q75V)3LL$#Un{iJy^R7;zzO- z#aHkf0z=qDk&0txoXO->5f3UgB-ie8c-KqLZ8$Z-6)w~}lBMG6=DyT#i~U-GRaN&^ z82Pa|c#VpOuvqsBr~{czV%A6AbVUXOpvALDp@Fb2h|1sTC=_V&=|*lq^pCtezc1HdYmRE@ACrvV5^h=5~@?z_(+rcU=G!1 zsvO$So-l=A``kAMBEG@YM|Ua97N2RgO4jfZC99qnRh$ zG;k)lyDuYWBX@NRnBiz^Ex&n?tr!)FYxHq+?7X(EB`1cgZgx#SDoQF)%DypOXj z;|b&Oy!uNE4B>TgSjaI3`z$l2Zl)qSKS}}L!=$E?Y4v@Wxpu4=mlQ96^rgZavQbbn zuIg%RGf(w_gUgndJLCT>jWdkdm-6hiv?=xFIVGwPb=w~C*+P+cy@B0I#7mL zj?DDZm#~kR*VFQHPT%^0VnP~2Fqu7PHui{MTfx54J;gxkeBCpt*%gJG;tJCjRsp9q zV@%FZK244lQ{c1C?kaDz#9Q4iO!=pDeUKMBT!LUH)Utcsj7(C7OP=Tk?j~RFi+ZQ` zxwd-{f7a0d5W6B*$k`pGd?NOW(jtlM@tW#JN+00@XwtV|cxj4%;9W@wZNW7!0)w9w zHUMO@K~u0{bpjelo8)g)6gBe?A{{3&XdIv;L zAAa!)QYBsb!V$4S`4X>&T#=)MGP#-w2Qym2qTXJ!;}cj5*<(XgbgUAX7az*eafNci z?wcWrU+4{I#Lj?!%`mj{BkqKhoHp?U&eSPJy5XkQuzDF_H$`$Rsvxgqxud`^0xpQe z5=6P*6p!~5k7L|+i8lvv=6uOh$->g`)f5w&h=7bxF5w>H?%-?Q9*+i5s0{hWX-79v#mnm8UjOT%MT34S}rfE`j6 zYQb0jbLLuvtzhWg_xCGk=omh)%w+4{*#y~)yzCVyNLIzsE}aB2L;g?V7`29(wD1S@ z07DZG;9lTi>RA2~e%05-pvenNUdv_V?NQ=n@QcZD!d~s@=aqUEbDp7^G*Gc*XeoUR zHjr>3+=@GBE+{WE>Cu2SSh1*FszaM(p3Hh;qa0e__fQYSF4LSC8~P=<9444fJuAIB zvShwa!`cPFkgsCzfVtn|$8IE)#|X|0q__Zs;4>($mU9qLRo>M3gThXjbbrR@s!2>F zPE1_NTb;ykr=de7Q?C-4ODfr|l|M&{Vp`P1l56UR(Und0>*Z$VvNcqBK<@#v=27y= zU!1THV=uE%y8EWdhXtle)R@glhmshc^+lf6@d?{vj%4-4jbYo1q787dTYk_sXfPgE8I`q1J7AznF>ae4Q}sv$w_fW;5Sm zMALM>$Z8e7^e^<%Ug}=Kr9#bG3a<8!1RV{EHkc<@bF^m!5#nGk z+W2@?q>DFv<{s2W^e<}E?_U<)Xhjyz5yW0;Z8zJH6VTk1s=~VUY3-B*&e&{Q<`4(r zY;l?xmgTf8>Q7Be@z|G*V3*~2DEo?5Fl?i%=_GkZZ8h>TI06iOi>Nvq?UbmwO2NTa z(0d;$gC89`6B%`ejcr!TGi!H_;yFc(7vFxv;6#XFQZ>IZNVSF4peyTDoHKTy*VB@s1@A zOr2WHOnQ?QOJR&Lq>L!&?Ps0?OYIA%!3gl}WN1UwVtQ;VeE)JvoiHS^MOy2vZ{h`h zi`Q-42OWZapA*wRV*XXZ3)g%{!gnz_Iyb)1qPCl}fu!gg*XA{GbUF`Z;nvURiYiPgFN5iYs9DXWSg<>X zc~3Gu>RxGa_PAmd8L*?Ca(?7|lgriISb)Y7S+!j${cG0pz0vabjFabMQo;Ff>rfh5 z#PQr3&lgFpixh>63}ZeB!LU*#=6Yvcs(D^jN7ngeZ_-Ub?eAW(&>|i(h9xudZKd#i z_x?NO+cPt!a#iZrsW-SwCa0DQovpo86==1{gs`K1eM&=y*EvN6ccddK`Mh_?4MYiH zqDj>v*tyxLQd7INXz(4sxBIvvzlkeH4W9{DKFa|mAjDgVtIs_$p0BZxrp|_7)5sG* z!)l;_sD6eGLdNRx&`pPO!I-z9a#w8_htGWH4d5#y(?|yVRe!6hw`t%aE5o-l!Qp9o z#dQ^}R&Mx~w!2t0(

yQ)oyaIBRtz&T={odI;3E^E+0XKQ+WCt!4}OOJ)horqE+_ zhILFbGwJV&sd&|76n$I<1{26F%n>R4l1hi|O|bhB_VD|VQKP}(oG_}C3+X;FLmNM) z()nmm(uu_-xyGwB@w8Oci4~!$ontE!zr020pXDP$I>a*CV21YMd-BcH@3i!~os<&j zJWZ)n>(*TUHZCUmKU>Ibvs$1ZDjstcH52&2UeeVq>sw4 zEq7c=`gX0arZ1kfyCi->ZwLw>32!f3jhNqW`bgO5xGD|$+F&W*kiza07Ht|=n@@xM zIaqQgzcCTPDb$;`~@#f@oIGJ=PMi8Rf>avu=?J0B*m?85S|!Yug5 zywIkI#2BYe!W9ovZzOV{Q8!0Br3dAcg6J7`$6cnR??oYmr|14HMWsOYpw=wFsDG75 z2SD3NL-mSKBmYdHyXK{db%7kr1!=S?LsqEo5LB)X@A0O}pjpr&Lfp1$A&6xrXja(8 z9^gJ=Y!Z;`Z~`aHE`a5I1lEEbSdl7OhPr8pnT)2Md}c247{fJpYDXcdH2X;!K>~ku zC_M=Ih^qA6@wp(V1YB_>u|LS|_L)r7%(I9GW+8*CleFf#01T?N`Q^$4Fs+PDcXaA> zs853WvsP6?I~tQ#K1V5rR3~1tDi5WiM{J0hyR1`7u1Ism!^uwwHdTF19=!h$=P4o*E&w9C{hSZ}XESm(KOw2gE z5SB;r(rid)4Gq#CFHvhQq2L1RE5Ru6N!Roagxjp21MAMn4e*Qa zi3f^1nxBGgqvkkygFT+&l}phrG~fS#aTO8WNGYAvKdPbG;0Dj@y~Z^K(PBu7A9JJg z9@|eioV}jh_@V*J-Wyx6dbra+l$p6rtGvV`==xSU-=MR&;5q?)H6f#5~jqMhX#MU9-Ra1O`X&D~h5UaPqJpNip}WZIhe4`Qt#Pi5J! z)pK@Dt0BX|AN0vU>84r?TXb@ib>JjxJu#&C?VxMwpbO6{yoq z_kM9^-!;M(#YRv25$+4S=w;QaPbJR!#PVMn>g?5asCACygdtXFhd6NsP?Aqog#prztL+fgvDs78Nt;x!?Ys>}|r* zaNt7z3egRv(UsmEM*@UFg7J{1OKBMoD<>)z^xoZMxH>?=-?&tbG@QNwV;&}h@P0W$ z!!8U9J@>0AL4}(3_ibK%V~zh+(Bp2x9199!_as3y?z{jBqKTI+f`Dn+kiQ_hf!|82 zlaw?qw?b|WNo`aPo^MPdZ_l|78~r=zaBiz~hL)7FVul7?8$L5##SC7P_c#SZV{%N2 z0nW~)Pj3i9PURf(%&5mRMKj$X^yIEhxc_t%fN1&GmJ<*IH?5ApijOSKoQT>X%09s~m-gC7Y5p(A!D%|qv*E;_oPQH5Q z3UkLilRa^%u|I~i6p9hgZ)!=Yx5cb3>RDu^DF3qpjq=gCPbrMlHo(nSx%KX?6O z`;WD3L=u4gUA_0)YlX;&4TvMvRIY{0*G4eyWnpR|b_2ouF!rtKhDbhIQ{{)oGjZLu zl&fX1;@e8BX)74R9#IVC`~LJrTAGG)Ucb#MpaC~Ci%qy08;+!uOQ=AO)(;0umIr}B`?F(7*0c-(uuczYo6?^~A!T$~(OZxP^2lVdNzVl5m zjc1QC^!-Gxpz_=O){632@AHEWUM2q9^WUpcXT3Fy%TVmtg!2FZB*y>%#Q$eC>OU(L zj)oRa|52-8VELz5k=*SRPdnRMyU}E`(fZGo)%4iH^Pi7cO&-2hH#lV19St*)UR8zX zag`J0-eSt#2N)R`CFH~S(6K_s%83mf}tTgYa}#+d})aFRLp0wTtH9PD+_mYYmgbv#}VDSVW! z>+hS85Qxl&ZehrUUdf7%o`x}a-c9qaT>XY}buVY`ucq90Dov_zo7*y0Z8$9mDb;{c z1!=#&FvKbPHW+k8ms+cz9FGG1^*SyyF)nh$W)sE@MnP z9Bk$B5pZ0Z{>`rSW{a#?>clZaAq~*ork==5e*$ zn9j>I?SMUB$w09aRL1v>T@ISGLZq^xoYMF3!F<(2z%)eiXd z)Xw|x`FJxt`a)QL5kQ`zuEQ9FI%RZI%BOi_We}_i>N&RD$THp~o{YF4Pr~V|)}+yNV`v40Zj^}(SKcobD|Z`A7gpE4%ob<>A8Hal1%jUNmW0H#_8=5dncP~#|gZoNHXRJyik)E)o7UR zmmAEu&AQw@I`H+@hM@a9=;~7-{DADa^XM zpy{vTI3m1$eN?oU)8Hs|OLu%&m13M)h}#>x`e z1^ThGz>|07I!39IQ|@<0EmWu0#wQD|Of-rMXhGX?N@gnafz{8?HaH3(T(wvI{R3ed zGcWFtrUYOwZvI$wjZ~%pV|_5EpYUBIT;vGyG(&!j_>q2A{NE-Ws!wQ!xuUMIt)|}_ zk<9jACL-}l#kVvB0yKsisFRV&l4(mKmHLSJCx(=g^V4g^D5Aif;7YH7TdZ4o`XIjG z>J-c>rd99@=zxel0~@?!!GXn^%)A|2Ju!7PFerd}ad;s7M9;Ki=(37I%`#1syyIk7NwKVK+crx0r3^?9Y|sX#wlnCgOlb?{lu)Ny zW-59p?b%bFoxhc@3Tr)Y!~HixI?KHN9NKj(Drbqfqms){>4N#Fu}evM&v}1jc%L7| zl~VzF-9!DWq)TU3Rzt_OilEN@slY?s6%q!u>&9tH+$8+#guR1v))lxSGbS`;7C@q1 zR7si;jnv9jr#w2Vp_eN$AGU`<2g$1jp17W2e{>4%4YDr=L?JYJX~h?QM9q?ZK`y>! zC4HKjB*d0g!gmTnUG%)4ZKNM5+jLb636fZ8t!Z8tk{hyn)LJE8-Mk(u5Tliw<*8zT z6XzJ*cf|w`FuJ9IW=FX(B!61kyF#7^U3t+_Za-=9?pRtk)qtUxI_Zc}WONWo=!^7P zrCS#pCJ!-2CtbRZ5N?p6ZmW-kEpQW`o2Ws(Cq0a-JPyP0z_kp*uE@=)P4CI$ z^(Nt9YN1RaUe$W|3g!pkb@5sWxCWZ%$>!rGlxI4c50}>90(<|V4F=_1Q1XjM1)#b$ z^qa7Os0GiGGOv8rhJ(2xtsOiQ*sLwadB4E+-5^u*ZpcuEiA`z1->qxJ<*(GVq$tOnyEduoCl&J3t6nJpYodk*Z+FKhNJBN6@GdE8!xiC^W+ zJKW|LaA%xaUco;-j;v*R&yQ@X;7pb`r=Qhc#RD6%$~U~I?9`)96=>kUfLAV?Hdb7= zd_5<6(b#NryC`z)gx= zLZeACp>~_mEDEZ^QNO!&Qns_GN+3QZ_SdFvN^62fv^tQbLSjK^o{A9s%@CVBmDUfL zdwS?`BJ^^sVIq3Z?qtGTiI)yr9;wY2fx%V#q!}qsfu94*q1bI%BVj^{v@aP`0 z;l1+X0?aJ^WueZV!B%atn4a*+HRMEz>i%Ajy&U#1;^MjSI#tCZa)V>#&zW-TdD-0w z6k4t+m~h8IvQ#hrSskMQ9ubQ0-#$jKY;q3e6@Bm)w!0;g=}YFaxa1r}o4T%t(Kiq= zwd=kyRgGk@BBsUcE!8W&wLsgv?c98nnw2$OYXdCMFGy{UD?HR1PIpO! z_XBUgAeF2{j&W5roqt9ONDcRX+B2&5t|Yy)ah>a*PTGk)G6_}PbH5;Khe)!YC3z>5 zQpL+ms>Z7J`F&4b2|rqc;kLOLc2Wq#c4T?A7rei&4#p1fR+z#o?DXLxof_!<#uc@% z&xRLS>mHD_Z4sf_ua$-&8nB}Eb{gbNX;1u;orEZm+um9DL>Ku5( z`Cyjho=j{{@^M@Op=lg*%}IAz^SJMpt>f1lz8(ro)3|jaw)Xto zAme)s{_zezqmT5)8PR9L2Boqe-t>R8!zzqux#y>P5dwBwx$b zb7P6(^N=yE6=?Sn64cA$E$Y zhZtR3!|M?7r20QYIF*)CG!@{|PM#TBkv?h;)4 zUU#k!6@E6XGu$xchsYi)#wiDJ}EU=B5hrw0UKxn}Pz) znv3uJ*N!8$VW%r5vt9VOSHF*lE#=zGpijMs9|2{0RVtdCp6r zUwBNR80P$1Q{u5@@y_6!G`nT~25F*8dU*|JqRLztzL+K_CKX2Tj!aD<;7NSibXn@6 zDLA2kx@V$3#mKD9e^sS{#AULeN~*bJnp@p*nm2?iMb^qh3TjYUC=}e9lfsL{{lily}x%7L*_3HfX#SWN7~$8IzB2WDSN>So#D@o;f- z<9BCLly{iG{>COS>ScGmdp?XC<4P_gcC&clJm!szB_+PFfp$gLZdv!mxo6gkXHZKY z*i}e#K4UN2K&sUWIS*z^_xRqC8Rd4=rEm;9|v7K0QOjI;-*<+p)RBY0o72xh`LpgV6@`_!{*6fH{wQ(xPWLjH7|v=QtE*4J261R z65f8)6smjchboJ7a#Vth{>0vH^@hu$*t_uV2=hAUhw}3nptzLg2ii0J)!<)fH^47U z9RmdfWRLux(2n5$f_8RxX7;ZCO?EN=RD&oQsNdu)Nt2w`f+jE_=nQIOg!yGn&h=;& zY|sS-s72V|n81)yuuv)bO&Hd-E!sYX%`#ekd!Z28WNj74)$Vi#9qPLuB<~Q?uQ@EB zO7q7A_sA7c$&1tLKUS!b=`_vF{`y zZCLnBhxLv=+-#_E%Z)YKJKIBBBHHs!SV?sxapwLyF;7&PMd<~W`p!$+sO6k;{IeES zOCcfGe~rIAXadG0_2oRcM)TO)Sni9~J>-R@ykL$I@o!|(LC)_SiP2#=%)r5`RQW2Y zgr#trru;9Qh?8b)oT8hmn(XplVl>I0moOR^@ZNs`T(;Org0qr1;T;-zfQ zaOxq73z0-~1|PXElnM)fEpzXTn&ExSU-d(9^AAaIzZA#=liGT3)s`uaj=qIBu9Ovm zT-$CI9U{WBa1r2YBuKCtT}{n_eQPet~r!J=vlaD!|@w*)3>V+JjWMzgcbO^K7>t5C;TPDjSDOq-;_bw`~+*5}Mdd0`BKq1@8A=m1m8IE4SRvP9)v%^e&`4Baxh>j~5E zvo<$OQyhk)p*^hp1I#`nSD`G3=CddhAnh`vdamVS{0}Gc4Q(FzF{{b3n6sl~_cezN z&_d6|4(6~N(Bj?CfCIyV1eFP{N;X7S0EEP1ws#d^HY5m+nS?|P`^Dr9rC+15H%kj@ zG3^b2NM~ld3hpyr1Ih^V6tj|}16VA(rP|wVsTeRESvC5|urq~ytLnl_7OdO8c4#AG za+MOr=E`)B?uNz57}iR=O^u-8vJ5nb{0L*M{z=zYiSw|mBAC^t&tdtB+QSdbfDOkf zsT0`e#C`uyd}*i?g=XcgQW4RKl07QT4$jF4+mjl5rn3!)=G4bE@hhzLwqQEhmU-L1 zt~^P200;cz_Kvty`~+%<8l58mR@JeuOwo&!6g3jpH{DLk^6Ugu6Hkj-h>8Dic4k4Z z4qinwrTY4F%iN)IUDDR@p&S{1(>@;ennY}^Ite=-=LC9`$abPyp4Xnbpc|i@vI8{B z1RRSxpJx;#Z6yydu{y(P67nQ^DoSbpwv9Q**ch%;Eibaw_TPFud=;Tf?$7MfqQQ3z z|4Li#dPM%#;6OlwF#joS5&he=C2D5kU}`4h=K0@=i!OE=zF!eBbk?%c|H8w@BqDTD zpLAekVrJyxh1yDl#w}vCAyLy42!X7mRWHleVrI(pKsM7 zlda#}X95X@Qih&8`zY<9tcwrwSPL`Ed*;}%?RbZI9Ri=16_PJGORPxQYmQi2S)eOY zEw8P241F`9OU5bjUdi^8QW4wl&l_6aRKq^d$f>ImQx&>fwc+;B&_U7^c_%!JOx8Ti z6RXMFe~srB!2u~X{Uh-9KTar-{f7|zAEUXU>X!kyW@!H8ES)?&>E;aMq}k}#s)~#3 za@G~W_S$_-RHBPftn6?~i__+bwjJr~H})Gv#HdvIg7HC-F`?{8dhyik)tS;8iVWez z1qWdFQM+F#e+&+}Ztdyih<&{nP9L%!b2g`JRt++KDaHj@TS|B!h9M&4Nd!lW0(JX( zus-Dr{Qd<;-2ozLJ?BZVl=tYbDFSv&1!uGq#wzON!KQkDV^t=eksNoI2(^&796wkm zekPIb9-WGWR%m;{dFY=Ivo#qmfq4UI&|7rCzjLeM6vTy4_SO&yp_T=kI41JTSFAA1 zm+g10)mo4}n!)MUK4Ap^K&eBS=O2c+@;CBb0u84~wp_(~Q^b#ZI`_BDt7{KnPw8Qg zzn&QpCf_{YY(6muqDK8tb$73vtQKp#rCJAA`ZEour)$Gb>e+@HoIcz$x0#CfUqCr< zdl1M=A*cA$^+{$WtL4ON?n_Lm$p?!TJJPcy1^kF88=z z&F)wVzf;@PWZFLtzC>&E<>hhRon^4nb4*+Em#-gFItVd&y7Gxe$%@$~y?7eW6Cv0p z)2FEzoYD+_3Sx5)@bNGh%MXd+!5yVWXBFp|LMOTXXO2=C>5Lj7GnX&9v?iaO)p@hs z53p!XwfJJuJgU3DzSI?%Q_&P^Ps{jf520(A`F~9_ii^mQADYo7o)t%H`Hjo6TNG2_ zrmT99{9eYH9fmqK(@k=mjIqwzGvzgdo7*0b=O2wR4G1)luG@r2Trbvi;a5pMF8f^t zLJXF4)ONHbAds_ zgy^A1p(fF_Dwu5GzUqY6J9>%ygw7!}yMZ}^F2b)#7-AG~Ra9tvBaIt6H6Ut_rQyHBcMa+X@#L(PABGSaiFjegVJr()Ao%<=2W%s5QR8nb(Q`#Cl5A>jOeQz%51O1fd;s2b(|6;-}WKssLCilrGA^$#|?jy5}4K?M-lE}tl9*C)J zP{5Hi!hX&UB93wsKhG8hG0K9K5nqFyj-KtIDr!*#7eKb7HLN`E4T(d)t1r{**qTU< zTP*&q5Pw2^kBJoet6`Tk%5A1^<*daE&N~xGPH)Iv<=Az5#Ry!k`S)gWWg7`P@)nIY zZB{D&xXg6%oJ2Han0m)@xT0mdctI{{Q&*EeKa4XK44G0FiRjng^#Bxpr;O1%bS+r) zy5J%M4iRUQD&>~S=rht51wpm~ueWnc9O7F9B~FMdYZhD8rA@X5xnmwfb!@a4@tFGe zxfF@Yy2m?{7OS*`4~tweuIiR@#0)GhAuw%un{$8g3?p%m?7C^GEh|-=lX7<_MR+W8 z&F)v#PNi#h}ZYom% z%$sW|o}ah7%J+K!C$U}WzJ~4goPt5X`rN4FhYy-|2n?MvbyIs}fj3S5l>UxxpMC63 z4*blDzWjF2Cy!1Uq`+eT-?q#Lr(e)=8PrRCVG#G6IUx$(!rU}+eH1?$O3BUzk8|$> zpJm!K;An`Enoo-z*#`k)-Qhe@A}~MyMGjBRFJq?=KtM}y|A`!M|2;W4oBvP2U#;yE zk1OGIyPoYg%kSXhWAWmI&@JD=cTT%GIE0iEV}>FW?kwe*MS9h}?Cs`}Vn&455Q9g^ zST7YAoG%%kt*TY(+(loeYCH~IF_atvt!U<`BuHHZ{d251PEb=637uT@c1qt{+iBsh zo+$TScXgig-SKg``+Ao1-P3(*|2@6SH1g8mpVGYM!%{Ww9}_vK+Qkrc@TL06%_bl? z>|nZ%^pdGct32v}blrM>?NRndh(Ni6$e;BR$MS9jkJ$^cbrVRhtRnz!qSS z|9N&C!1RMpI2Eihm0P;jP34~3AHC=ak3-w&@BVxgag0LqibLyug&%A-o6XhSfv?O+ z>g4@(RY(IKRhz3dOd2g!mG!aq?jM|fIZ0rkwydQ%>vu(~lmwx!P+PMb3)R>u5VF&W ze-W(K(dv5;7?wKw!sPg}#@7%wlApmRTRjw^^2!h_*AU=d*W-14FZxuCNXNS%+bknj{J=MJC zZhd3Oqf%v4Z?@9721RXe-l}Pfv1wIrVAQI0r8m{MR@(rAzA4wFMg5|9kAJ}@+3ius zL+6gcV_3Hl5r)6j>V9zbVCc8IA!6ZEdHR9}EE}A>k}}J1%hT-pe$+$K-Ta~OTNN{b zzphK(-ti#c#k5JJ6CvNp{+U&gV}C2!>`o9?{D&~2iU@XsRf@<4lK4`uBWL;9Uhg)+ z4GN)Y0G2(jmDw7^&3Kk0?H*a>=cU1~!-qkp0h6xz)C`@4f$@>dJ6!~6RRK26E14{) z9p;Lh&x0UpvVHS~wZ>4hq5eVo0s7=miT=30k+}#<-;pV!S3tN8LU!S?IJm)I#}RnE9h z*rkV$z$11lbBo_OqBxsE-Y23>=htEnjqK{dftDrF%?aRY@{u?7?8a@A9<|El?2X$O#JN3~2N=nr$VzEyUV5e16RpDL zVSzC4&C1~E>mphK8z5R)!`^8VBSm78GB;Q(;nKd3V=8dt=v;CjU&B*4iI=;MPpA7S zYvO;$Ut1%c=94H-d6if3{~|$4=*mEuEu4b*{HCgdiWM?T;>3gG^gCc-gaj-Cd!-c( znZb4UgB2^(puEB}&^~pcL#^zSb+w#&G2M?P>Y&rj103ZKkn{oSqB>2IPt1Wrt*BZv z391JopN2|M@ff(wO7lcv^!c<>wID|fAuDYD$P^0Wa4`=3bTGWRK(ciP1NhW#+s?q9 z1D-1kL!SL~110`mDh^0il~v4oOilLcShbQX)iH4G=D!P! z9WJfdNi~{DB?PJQeJ$PwoYGu(Nfb{V$xR8zQ^i>LF2_QJ?JlFpO6l4w)*H(+2A*p# z2$50$j{Ax&5hr+pKVs0#}a;} zD`jMNA5F68ck=PPkR2GLvJv=G4LjMph_J&Jf=m}A#t~W=yvTKUF4PM=J-qd8(N9M4 zosiji?eMnt%x3zdxl;{?W6dpc=aJIo^&f`y((ZM@I-9`0HeBmrn@jAvgoy--PL1?O zjowA)O(`EV|lB^!$VWP@)D*Z;3Ek<($}$f#tk!O%Tirk!m!BB4LC;1)rHKq_ah z5)fNS!V&Tk7qD6sk|fmE84pYx3@sh7Ed!`!F0^0{X|lVg8<_XTeAk$MN_Z}U;)*94 zf%k7TAkEa@0$^zG&zP96dYP+A+{ka;TO-Qs9*W#Rzdt|;H$v!!@!D|&-B8sQ_I_CH zm()p~9Qm-YSN0gd_W~4xPFF@&>WMyJpxy>ze#scdISC2sNeujiJB<2Lyu<=8wdt!) z0OULD`2@c{h}J%yTKZD*s+oG|JWIh)B(-AoXkb)ftrV%fUL;b9WRfTlGdcz|Qfm`A zm3Ll6FlTjkWM?v=S8db$RNMY00|0|wGBsNR1IDFkS}2Xi&=w!|tR-bk!4Ca@)~=@o zhuzB70M6MdoAC|TVY+U;_G5Ys=89~e0HSQRX**r3VN}c5+u!KYKYmPya*CIe?%R;F@2o~d ztM>90vK@So>%|fzcFmIy-gwYS#4dn-KK>vBp{Q@J|Lf3y->gt6m7|Zw-EBB~2xF-7 zXfrYpKAB0BO2E0M+s^#xBshYFIsB~TwmGKpI5e(`9rEmJ)F<%(c&g^u2cMwWNLak* zF?%7!9Qjt3?*V&7ij`op4@ASO#Fe;+Ir(Na{KB4_@<3|l`Q1(U`f>Zfm2=x^MmYH>t^qv#Xs%(m#|vBT z-V+fO^oYJ4EXJqf0j^i*^@|9TksFnN5>FXaRZuOMBR_)NA>S74ofG?_@M|F^^yg(0 ziecCn-S~lCDiSgVMw@E(vPm^(Q?EKfMQ}5om_6CITG0Jey8^Xch*fI7@TijXVDdrc z_+2_LScr1Z4z=^^c6bl|(cZl?c3j^aJyYKEfS>7pTasuJ6_mubA`B=4-NCpw4O(1@NF$IP88hj5UB z8Lp@m7Owa@p}Mafs``&6Q}UMnK2~HsQse|93qsu3-b9s%wQhM;TJEkWY6*!lO?13Z z)ci^x&H0|%aA3dAEX@R@7pi@fGU*!nFk43#2J!Z=rAGumnUSPlw`$lxIQILvV*Ze` z2$@+SHghLT#Z`7HchGQy@=g4{2T1T%|BWhmM6yx5)Djf4q_pHWSxs*7T)eiQcH}^S=ht3pRCO8*5W+Px2kdYqaBxCf{YhNO3 zHNvNQJ9IR5pw>C$dSy$K(duyG^zF(fJ4NK<`6|@rx#|h+Vp^D6o95sNGQF`y z-O|@XH*I59iDgw&WgL>sEXMC_6wCl$h{*ci58CdD^t*S^$PRSnCo%rumQJ%GmC~%v zWVO#RbkqMedhhIuMiIdS5Q63_k|G0| zMh4=o$9~l6`kFnA#lT5r=#AaIzWfmJIrGtT&S-X+tt&cPbPu<&>!Od~B6KH5eRHR>QPySHvFX+2<&~qF()hwATl)k*T8|FjJdyKImLLoaw$fR@7naNBEYEe(oy5 z3BKr+(sH*&HcI*~xX4jpj+JqdcAaJviZW8x7WWw^Z3QmJphTyL`Fv9es`;aRxSE=@;OhYyNSYkq29j>wc{LE)fTZVTC?h@=1k0bH_PY?+SI zGCZlWLb-ESYz}^FU)bq$y+@RhXQ|ia)E#sy!k?0`M#36KR;w;#D1_sEIA)A*;n+6s^!%2)$0mH;QWxdrR)^vThD}Vw>snGS$%|d&A z9n7m)x(u;8?_r4>adp!IS*r{@$1Y70>>pHTFZC}cN#&D}M7*3K{*pgRtQ4*aZ>#JO zY31LZ6wlJ`R5{!YrsT1-WQh_fiRUD#S{20fjjqN1=~`$X%rqKVlU1r#y5?wK9y~t~ z{~9r?YBbwFLk0qhr1<~809w?=QN`8B^?#<>iq&mgRW;DQ?N6q*(kDY7#>hgZP%U9d zQKTi&@e=N+37P*O64Fr>k+r9{OOdBf$y$&bTKhqi#aXLWl~A*x;-T5*Gb2t8TGux( zzgIL{2dp*gP7-`O(xnRM(x;Ae-}0qTg+K*#*=#rV`n~XfTs0D$?yUZN9Jm2h-p2w$ zIctcI2S1#IhYw{1$`4ei@fDrM8vp98#aTo-toL@>?#T)cmfmB{o&<0$c3nXc@JG#B zh2)sNJW}`M9YkSQIA)PiVEIK1D=>YSp&1x8E5ZGe*tZflIBu_H`fw93_4EXUIovUh z3|ismm?g9D`=aa`|9RZse1k8%wGNqiU_aHo^|^ui%lL|mFxz<726$}S8-$77zkPH} zSm!O2iKb`4ws-;&XJGCa7<}Z-I@ssJuW5Lyh_rzgl{ww112zi_THj2JkX?~AMM%3R zlCg!_eSw$5hxFL#{n_EOf=d^*50nS6%V9A!z!vT40g{IYhy{0E1A}p zaZbp0-HK7?Fumn;O=^E-i=qMZc~CIN(~goo@){#1w$C&L3r+zc^o;u9Um% zKtz^%B8PPuOF;rsKLq>XU{-GDc(a6Dk#U6RwO4t3=Mhrco?0R}=SAW)DSL@IfP@DU zz8IZNhsX4^n2%N2R&yBUDK*M}rEyP!Cmo)ZPuUWn=>t%xty@>^7;qSCKqeqkxn9%t zfYa9sQ?{RtO2x~iw;BvsOR}k0?34qxwQ9W95;Tj-Ld~6G+{LTI^*$yilUJJ9+*L&1 zr$h%LA9Jp@j&jU!QV`~arKimbS*VIfa9LH#H49Q5Bw3cz@#N=C_fF7w0LTd`Qfj%n zOYIu{3(lPwRvbJRNi)zL&ETlG^d2YUS!}x(yd1mSZpZWm1v{2FGp5x--?~MMCyu1) z*y@N?-CjyL7WL06}^~YJ2<#9)-nyw?sY7ArLRfvk1>E za+{+qJ3jUWppE(E7&s?oarMezaL? z+r^6mY_WwD`~u)>NKPA-=I4}!FdPUZR1H-HN>9o2x6kMt`x)c5uIEi`Iy@$)@hH-k zqXVqlIxD(9#8rnCzf4dL0h_yM4<~s^Q&;TK;(X{Gcg$AJp0fuZezGQ9nMFw z>5a5L!WCirqejSg;AeCqd2bAHJd|}G+9uJQPwRfGZ=2l>JC3R;Y=-MFZB;R`->>G; z#2xciLCSL{jZP3+)l3zx)ZkYn@m|>STt*;Z-;_j^A$UR7GV@l7P*bg9-C#Jj=Cgwp zgC{Hl!ai*%ZCn2dlv(Ox2Q+^O!sJRff_>*K2gIdbYF&xm%{C^l>X(j)3YCDe1#{qgBTjU^)LVN0{Z< zLq1)GShtD8PTxATENSj>?iq4F#GT0!PP6IJDc%*9*1)!yDLX@Z6sOGe&7m#ygBvq@ znDq_`mWXX{=RaM^^@ce?L<*)5_9pX46oaRw9x8o3wxL94!mgcHl`B-eES7K^V-eCA zXq8d5Q=Qoxy0?uq%bQ0PFYTmV@?ma<&9&1#Dlnt|!QGrT0i8yt8M)S8x3vX+$KqQN zzUv%l?COWb_KT-|cc=>Ohk8WI?$v{cM7cCYSUK@2gUaVAL=bt{xB z_rT^*wbXkmnxapBg=rX^>|9n_aSj=*Sg?+PSoYMM60c}tU)=&g!R*{2n(38ef089Am`xC@h*B^wHQ-9=5k&iO%LpYJm;M~yM3&|fg@obwg_|6wrvXBZCubp9z? zn7CNDx+$2rnF0Q*3vm3eF2L|l8heA&-{2mMa1mY7;`H=&jrF|o1q#hg5nc>`pg>(K zo2CrqUX8ycPjvouk_6)^gt>CPO0x=?`8VE6l-R}lBY#i=9x74EoLW2mG*)O*i8@Hb z;}a6C>c^y~k=bGQojh?s#WArT#&|Vm0D5hgxV-4l`>|hk2df8~K(g)yjE0e65wv+5 zT1@j5Z5$+g08AaXPMYwk&|2WHkBP#BhO{JZzZ@OQN|qk9MpvlKIS#+ShcvC8HD5DDaD#v=Xbwx+gBnGr?#Ss(C9y53Y@s zx)$<3iWwV&42eI#hUhRfA>i8@ip@Ct=i4W0~L~$Z7yV5SINqNO=hEY(Qi_P?jxeT`1_dxajyKW zIIT~@$wmaMu6&QWa+q# z!_zm4QDhnnr=m~}vayHKqTg}(&&NZ+I{jPGo_6NnyqJ=wnP2FWr>)zNalK! z;5q|)!kzi^>~6M+1AhKm=M;KNooao$ehh7p@Hq?m@lq2=o$2v;15BL{tW@FDg8F>Z zRPYrZ5m^gw;d2(R78qiwmJBK!I4 z=(1*&(|eOM{zc*N%`|%d88cam=V3%0U-PC7T+hc`TU5rg6x_m$Hu%@>yuylPTYky|7 zu$8ki3z1Nq+g#n$Ay-YqFJU!{+JJ6%2na-6T`|EiV#+^z*Z%zWowjY8IRE0))v=_K z+;uhI3r{3f*6J0zkJ-_7VOQYAPRWN`lI5&j(*#na6k+RI+^^v>K`uBMt3>`5G{tOi z&6=0nnU1@5^^)4}`X|SO5$K%IEs{NFj zMnCZpep{i!eVwdXXG|;dsvo?=OWHkv8PTjG?mpL*ihb`at()L@ted2GLvgpx*xZx0 zuUhJF`XfwEDkDrU;I*gE7y;G$Tx~`B9Egv4lsyAyynD}Gp|&-Mw&BTj4UqtLG&Iv6 z`K$W;B9-FWS{Ot$MNLAfdvKPuNO0GOS>D?Pi5ol0p_F;JIJog8w`4`4_@0SmY`o~j zd$+)5pj*T$J4#d!-va3zYDFrM@_`Axgp`2;=^ROTnMvWsGg-MWDw#wVh9vGJN`AV$ zRM~nlytfisx!!QcV!xZZji2kISB(3sQ>|9Sk%w<)XTwm>F(T$ z@9aT|XM9WUGpJ)y)C^X!s#{9h&H~kZrIfCT`QqWxl$(mH^lYHVVJQUhh8iu!SdgjT zk;}bnwZM=zXWiC78(KOd8GEkQq_=dNP9bPGB>DTSaL9xz0f5j{IXe2`ZwxuOw1!Fn zH>XQZ4X}H^NYD`@#%!&qp329g7uk~X8jN0ZcEy_pL2hkgENFPvl@Goy-t6`tkdRi)Y(Qh*>E^9KRz2%v~_#;Uh&`r zw#``rD1^yLQ%KC&UWC$XP6&l6 zksEDWZup}b=LmD|(A|apP9=`%j!zvQ;`=K0C@3 zOVK0R6sIz%nfxY;WpJL_k0PfG>6)K7&*h9~p7amcL25C!Ap>MB%~r=9{W^0oGS|rj3GX_h4UMNoiKC?{&!9^#7=MdAG1Vr zerquwI4SyHBT`-QOZTvUz6b9Hr^pvhVY(>{Ou~kbFLGQa!KWrDF}x+4ZZL-+)k~%B z+HD}awClR*)wyN-*rcX7R2`#kPT6jO*qjGEwTDu1l~Scn><%YU)emFRqfuIzt5V`v z*qK73eN*xsyT<3*5L|{2?h@g0F6prfRbeZaA3zoyf8_9e04%pjnNks&uryz5sZow( z>bcFc;q>4dmuL=}s1C`B{&G*l$Qn^_A@M28(lmOx3r#^#8DmsH=0rRRs8^Imx}^=+ zT(Kf)i>fJ(SVGVurVdN#g#&oU{u=Ub3QeIy)Ms1A=AEuv?s!sp}{gt*`x5((YI5cAHQYwGus%V^`xb zpaA1B!1s#3#mRcPjgTkyJE(JNAjX-Mw=TG0R{T-G5Z1l+fb))w$so6h!n&MO_uM~}?k*mq9lVlG=L*pc6^&chxHph~P z0(2S@_PG3_3GiSNnB-7WX*TMW1Y?k3S>#9pWn^@9J9Yy)QzHXmtz~zN6$596mnm7Rz)i3>g=CvTe$du^T%DV|jCV zQ~k-da24ZZfx~9bhGC~8(H2U*Lv)@+`qEYLANXbz=q%AV6tSw3p(qw9EG2A~+7|6u z*58-MU|THHEhwgqERq*pIQ3XUkmW)ZmPU0iHAd(rcWYeR-E+P(6G3Ke;Dm!%Y3lVc z9@ty6GI(ho`;B36N#DRNKGh=R$In+Qt6~!&!TCadzX6T^xb=?PH z>~s%(u(d7s;yO73sG**guzrX5j%>E?1k|7{5-l@ zUbFkPA@k#rj`uY_#5?b-s_=i|f9*bn%^9ds>UFi7!Q0_E!3ED@lhF#H9M=r8^k+k2 z_j@tQvxqZ<({24xD}2UPB?RbOwiUrk6vSwfNtG0d;okbf@OUJU$3PIs1fYAe3|hJt zhi^hyK0%YH6_ZkqSy6OG4jgK??S>j}cw_l0$7 z;3Wvpa?ny06QTg;>FXH74XA>3q0Gq(D2@pHnzhnJM`C4tWuMU4urh#J})`r_^>TSj+Mps@8oL_j<32s4vrd4SdVN zUbc7rsZnMJLGk5F=KvmFFQ4Wi%4^N*Yr zi0y+0BOgQT^zkJVA`au3meWpPxam?Y*nf z{noW=!L|i`S)UORXu!682hMl+oOJ@Pvw!dDUB__oece7~4JKNDf(ZO2fE3bmrbhex zI<<-L(d!Awdp3(q?QH@JZppOrC5YmQKD;+tZCcd$;Z;a9&v}Cx+Af_38g$*) zJ)(CDVT8o#8X>fImh6Jq>Fr|*ncF=MDtK?W8o9}D4ZiO_bxD+&tqwleU_=J`Q6ck7 zU+3urI}Tu<ZiE3cA~lzo zm-Y^HC{>%JSlhE5VrXUN8A)f+87*{eni1IUq83ra_3wdPVXr$VAyKdOKkpRqXh#`} zYcW@6L1JvHA&l@L0YM07pQ$ztaAp zloPsP!V25I-*fe)eW)WKc;mDncjDHkQJ+{sR!2fZqiVZJ+xhSwP$Uk^BN}}`qVb)h zdFXp{ax~p(L5lQ{y{a}<95%1L-PSV-S{tbrti^FzXQ%W0Pg9LX(vZ?b0hc{(nk3i= zSrb^G7H~PdnEC#gM+O#K6(cH19V^w4O5%#J&=PZ+=2A^W?s1GR9fzSBA(pl}W6{de zx~i?JWqP9GWd0SthK?>~7?giaT?>cEOXAzMXUzAM<$D|z9ZmO}-9Y`Q77?nF)e=KM z3!P2H$TH@#Bp8;CH9GE|cw{^xC7ymk{SYMer44Q*{z z@uE-cPR||ICDYK(=XQUXn75#>X>s(e>}|4!QKT;S#80}4lH~iDWe%4p%w}*ox_f}z zD99Xx#8Q}}N7)A=zDs_U+bEuSiw>j9=#Wd47~^4vMJyi9L+s%#WkjcrCEo!x&m4&s zv!-mT&emQ+>(6tz8rEoscK7e=2N#ImP~VJ(+LDj-CjrJ)yFWTse&}gt910+M*Xr8> z&+uKk?A%5XZUqCZ$nbAzdFJS^JV&7pBqKUS4XuF+i0x5au9 z2l0=A8`^$qs^*4y0T8j&sDa$h#YZWnO&4H!)Wse)o3)#-ER*#o)dl-qSOLIZui5KV?( za1Md>;)*r2CPoV>Mnu)SdLE#YW<)o5gXlx-Y!x)}X#S7K50 zs6c*ODIXFmb`$ZGwK;Fr8zm6^OwO2y;u?1V4Gm%6zkMgQjui>n;tK=O&!CZEvr0w) zmWIvd>10TFGG?g9jLUOW@Tjbi!9BtH`=(142p-endc`Z zo`<$87CBdcpJ;lPZLyrqskEzT?y+$dNi;NaOs+sc4f(~<>}Tlsy+VUSOhs+ne`6C7 zC5Kaw;{pZIKf(^cpD)tL6$3*1E&gilmkWmV481xbK>1>rH1%i5*@bFzWz%cV$@q|x zOVOg0;fdVyd41?KCvLwC?m31GM2AGf_5r)ayr!B53^U-D--um(_kO*xBKNeDYhX+8sjfj4A*@;5;rXhq zyejxg@NSa)o>W|0WX$KDyou895XXDh%({7%J6|n;N(fjRgj8G*OPa6hXUsnhQ1HN| z;ji|-VJ=22eW1p#S>upu9G$f)W%Nj`Ty$&G&y*-}0B~Y<@q8;^yFDdPb-(71Kox;a zECCuo=EQP#s5LFV^6B@uzjcVnIbhni*Bf+7HOMJURVo2(SX%?_XH+vJFu9tw)b=`N zI*Qu>K=kqwr&_cP+OmQbZU_DK%2 zA9IkWz(s3C(t*5U&KL}^Qs>0`p*#sa_Mm4-(bYB* z+=4ohDVZnJMdPdk$*7a&X-@&{Fi%_!)_ZbrGJFKpKIAY#oZpaPA|+2^ZuI<}bQ4K& zg$BJRF-K=fakkHqw25z3m&PZ9Ncts8RY>GGQ zeS*6(zb?G@4K;_563H<;o|ok1N$4oytj;u=<+B-ug7E>fg9k3!*yb=WUA5HGYP=r^ zrar>YkPa&2UWJyOMd?tlDi@e@W9{I&r^y)FnbTdU=(B zv2Bph72vS3k!HwnT%s7TH_EQkk+F&u>epn@vRB${5Yy{aaNJ_&mvOj7{4|Nu5h~6r zF~Z%m7jTO^=au-T4ZB&xC&AV5qazk0qx}h_UK2@2j{lR70aD;()e7LT1I`&f(sJ0D zdfucA+iX9~;F|Ql>Z*T7)va^|SFQA>45JB+`Xv#S>q{f?^*Stl0FB zI8ODq6{EU;Uj6P5VGttc)jK#|B1$aT^jX3xk)oNuV#C0$(+U9DIedYToS0%_Ho1BO zW&3dpN54YVLp&MkA7yzi)npu4fB}VUe@wYHE9RCbDL;&F3hNV9eoR)9pPLpBLTZ{& zW*oT!IUtVV8fEWHTu*>V+A`87PK8Kfxq~q%-}$1^l`W{im@|%1qv?G z|3=qTh@Sj$WNZ+GJM4J4TpUS}%tl*$qR+GdOD^mSUuzw+0x$oAg|w7ZYVC)BU3bILI={R z5vZu;eak)24N?6_y(lhYHfIz;as61NBdnQeJiky28o{3p@I+?qC`4A}BUIYJeNJGe z6W{n`TZjdO;8+7{u4y}jXTwHxhql8&sgA?QCcWnlAyDHPemwh`e%xkbeD3S3_R@|k zz31*7z2`n0{nJhW(Dz0H*!+w-&g++MA<*4F7g^h2*9%7fv?~I9y+Ixa^GdTIBQ&w@ zU)JW_J)=k3%hl%G$D`M~RsdE%W6H60Pu?PT58N_$kKaNQT6m*xn|Z^3tLKluYUB?h zs0Kk8oRL~>!`@n*$Ng<>!$C)F!~UMe&e-jS&frgDZ;T!@p0C@D_=9Tn5!dYF zCj0{~;Gbi+xF0cx?r&VkSpq^V$mNd4mNke5M=sUFmm` zPYizWmylgTLQfz3ollBTMMQ(DEu>kL_<$ynp)I6Ql>RUs-BcG)B29O86x~$+A(7~@ zv>)wOm!oXXdL|=LQWuavs=ma8kv{xeOQNJPpjg`cT{jW-Y#V(w`~gp*qAF0!TyMz{ zV>SMPDB5oNcQ$Eu)ixb#$U_P#n~oA4Ys^C|DPP@(S|WkYXYr_F)u*Pp)e;f9H_Vxi zgyGNMg``Yo@83u}>OP7_YpR6k8t~4TqR*#(SCabHwQ%3&q6(l14SvG?RnRi7mmUs7 z{qm)i;D7&Q8cBBtv%ia4|J1b9?B)8E(E}V5OUHk1F5A|a0+@3me5br~Tw7d?42g0;>`W9y@Znf7E$C??oqkji zM~8t!){&Zh7irPUIm#tqnOJ^QxKg#x=r)0}nZKLPZmICpS3APN6|355Q>+_D9;?n} zmi9H=ByD4zfD5182$*lb{@~dRNAFwT$O*KY z?qPZJ$t{mznC^tOE-G2RM=oU*+i@WhV(Os+jC*bH7pLjceEBjA_HR0q{f{~;m^e9EJ6Qd5l)9>cT)#24fMaGR z8(kxPBRo?z-12)7T%)iuEVxLpd5yi@l>NlXXEbBz-%9&%GEiG#F&*vtPq|Kc3keDu zZGkK(PYDaF3?@dZLgGiGayrrPg^J)-c00EJ+KJD1*biT3z z_Nl)sW{~)J_DNqTV;vB^de>`>daPq8p~hD64OK^alsV+&qYKFQ%8pihni1$vNkLHYTCx|M^5?;@?LgqC#%eu-{(cR z<(hMpb!YfTt!)r|Q?2k=cN9F*Bvw(v%@mYJC%N!QcNnu3%=!Uho=ywRwNAJ31bV}h z$3oS4f=Q?E85b#&K$q2)`;LJ4pU7hwz>^%-P}LJ($lZ+^r{I#3WgJ9REsp9!8idIT zTCPLfWrK%Ov*wDdW`q#FiqiO|>h5b&3}tRBoX73kUD*Z6ftIlglF^HT#fgrL@kJq8 zgL&f9I%{KsF(+=O^deJf@QL%urRftca@>}?A|8xzd1YHG1if0Q1x8FJ*Ax6Ph01|! z%!|7*p~ImpN94&nt>k;33~>|qqM$j?hP={bXxleM`V zZ<;~!-{mU0>7<+rqtFAd26a}X$X~e`e7Qq(h>jAjoeALt84;ae#szDPzlW++`LA0Z z3wUiC9w3;7DI?{JVu^MW-y>6Ej$!o+L=G0bU`YoU?ELL{1K$wRzyDF$^j|IVKR4+S@j-j@~y^#*|gMWk>Vjfu=B&Kpg*o=n{8vY>X$$lyz2 zm{dbBYSFK?Qat#*Fnbx9hg@&UTM{_d`(5!8=b5gx7A;o8e$+|RM)y?yyZs{0D3^fT zvfp9rrZKTrX?VV`Y@VWgc37Qew6r~Uc!zFxmbm>&jhq9LibL~Q+hJvQO_lVI5|I>( z`BD7YYqu`jq-YX67FXu=;6{Knv;LLJ!*BS*vZacaN`%4&JaUfg^h<@~c%~1siv_+1 z;hZXf$Fng_WCHeWB~dC#s~PPN7Xq0?M$` zk+G8cS146&BxkTpl9DJ)W5{)qOFuKr4w7GWQvKwQfp#&GP==$|j*-pnT22={&r583 zCXm+b*#B>TA%C zAbOatkt4(rl%@^VN4X%wYgl;OkI#mYuRC82p#RiStsz%lXJDtmUMs0b%_zjDAYo9> zg8_FgQRSJWt`xzM{`{8jHcp02rj#j<8 zGt1~Plxjf$8!O@sN9p9`WM7d81%Lm{&rVc&URON;%6%GaCYm8J9j67!5|ytNw{gk}Q^b=T5`|RnH^QXICd#w*6xcBf zj}T}r7Ky0JOa^?vPz!^7sb>tmtsnGaTuhL%#YV zH%7*TK~bmy$uEwTbwapE;7`wDUa%po)9Ua70?l#no12oR7cQMr27}Rjw6cg2YF*kP zMLo;VZa7iM9?Bt9(|YVfq$p$=x_o5bd?jqE{Ox2=;XvQmfz#5?XBSoKe5a~XM5Ebx z(GmfSyJBQ@q!5UlLmmZVpK`M$h=EQ?-cF>gS~2{s`~l>Ryn(o)O>nL=CphcYBo936 z)?^PTYtJN3_$%|BoQEy9Hn^=~F>GEpY2gT1rn76R=SIZZUL!Z@q@!BiPT0VC5{cn$ z_h+a#wTJ-LkK%!zT@C`s;}c)#ZDQ->q6>*Q5d4MwZ+^bg;?m+WgLxq$ho7fH1UP0y zU`O{S!a`z~)Y<+kZj`extT17raftL|+q|@D?v@c>r|{7$5~kBvI8(0!pdZWa za;CDdA)fjLvnQ=2c=eT#Cas2e@q4)}-~eVIu8Gur`z1zY-uPP;d5s*r9iaw4jRQFA zC^A@mV!;i$T<0BV5QW_>!ta-eF*LPMQ}atSv|vreLNv~E?BKD$_pZ zG`}ZQTRPaCeuLBlyWw_}DWINvyYSL@krblJNGrgL(2I>2XG@+1^xth@Q>@0HhmZ1% zHBXBcrgQU`(|=x4nu^jVj76qd?b>;J9jxil)lHf!_!Ywkezd|y0_3UGAdWji^+RgS zTu?&dUZ5jfe^sdipL~0DO8D@5D`z3aW@}dRjJ?l;01bS=$g~#Rv5lSB0IqUqJ=!UZ zKr3RIuy1g!b37@m6VnEH0TXF~&jV>VWIRn{4wThB6lk{`*ny|Y&wU)OVB|uyy z;0ps$H(NmN&RT_8Z$(P-8aTRoJxqf1C^p~;%Yu{*NXUH^iOipEUK7_4b{99lNOErzNY_&}>04b5&8a4??BC9BE z;MpFj6J!L8IATl$z;rpuc>&HB{y>d#k=^>@;{|=#ZwziU*m|5*%&Eba?U4*AxONf7 zC_Zkf)tB&Xp}=rhwE?b1mQ;keFtcPVuahFk2W0M9w&h~e9g6{4*K&Ynyh69RCfso& zUBwGAwYJh%FbzX13tYzBol=H1B-uXhALkp*D{EO+)^har<;4sGQgGy}l?BbMaqv7N zX;j}t5NcwaImm3Y9$BdOojFR(;N5Ctkw(c@P_5evjP-G`(yk_rfjN>BUITMzpm~1p z;Pgd4St5RIStTy9y&JT;N4k%bW)#zAmYJja zqMnYHEh@i~P|j&}%bUw@E85GW6$0$WXs%WDj9;5>wr+T{)20_}5pTQ2A?Qe^er123 z2S8V?S+%U|z~wHwAsy|ws*R^3pM&=?T(`sIX8)eqaEnxkpPszo@mjxR_T`L8z_KrPuL9zrGzBQR;DYn2dgqV0nrrWEPFTT(KGR_ct&(ar7R`6eR3ivWD=%T6xP8x}l()sug`>CSkg_qs zItUr$OAD;S@xvA*9X$peH6D0KN1OTj)u^ZWH#~oP!Eb8)s6egV?F{xR_cg_}AIC0&YDnK#FkNKUfixNPmt61YpQ$**02Zjp1FtwN{CRr#6l zn_&15{{_=ckvB<{v&);G_k?jye6foqNQeH0ujt6)K`vOHDE2?-OEw0#`Nxx(Q~@yIYt-oF4(ZE9 zOg4GLCq@eLPWHgQDYY`bJNnrfm)bmxoBMku8o|$Dd>ilh{_$$?Xlda)MpXIFZqs03 zR{9Z4bTv44n}#7vB&mo84ek1x-6YEYVhi^4cS@MuVWa2JQ<70*OqmAKJ zmNSpw;TEIAc zHBp*h@tTD586B)7jT@7@Bgk$!@jb_{cHDO`#;GoNJzz#lT7b6ob4-PLx3xWurB5?G z80x1QW}hdSG;V38Qm-X=dvO^Df}WD_x&yz-EDJzsATy@L!XPGWJk@;?t>!{!8FhCp z(VZdtMA!1iT-_ZC;yB`yju4>%KKj=}fEMo7EjD|Uk@)A|?eQlR!RhR9U%tp-{qNt% z`B(P+-&^Dv;wKgR|C$#_5zWV}hJ{1LVhjsgh9YKUXE8aPimUWp7u5ws=reYw!kLLi zBJGIbjQC)&ZI6w;WnJYCV13n#H4Eh?$_t5sPDPOnWnAy91J^|stuzpcjBPp7b(A>q zv6XF2W>I+o%ilh?9q9aMveA**pfPOIwx6s+E^&uG;9wK*<8ja>`-8H(liUs_ z;f3q;p4tuco;sKH6Acsf8&>I7I>z3}ePTh{f_#ll%(>%?u#r{5rfW3b-8#2-miczp zP4%`F03Xieac5CNHw!{WO;mr-8-@7?`|T3Tpy3Q1nlwTRQ6<1H?IHT=H3{0+@>mmdK0X271G+c0$K2oGcomI>M`VC% z^da=6i3=vi!g*FhG$mY``mU2oj@*|G7sZY2hw^>S8!QAPvlt?ZBcy~U()n^D$l>l; zCO9TCt_~>{u@+gbRy@2TtU-(*FHch+(uW@W+Xd4YYzE64yKFGnV}VM^?@F|pKMQkf zbf63pH0KoEMDjBAp#=_nkzULWUJ+jcRCx)W^R?7>WrozEL!$40(8`zlh#j67sC!8| zi?dXpN@9$lk1Rgx98S|Hs*f&bbz@&#lS(L!MMNUS3P6iJUW|Z+!qcQ@m}=L@Kf^qL zkcLkNisD`&p8#jyy)M5aZ=MVGd_3$kR7@AIsfslv?0lw?cp>z`LFX7;F9erT zL=mzZ4r44nBe+AO_24!Vq4;)2Ja1gj@Uepfh(nu9Fjt=ld3EBdOJsDKOd1YUfaTqES4RHdGwKQ;J0AUYS^-K)&RqzDiQ6fi@IhvqC#>fC0D&-t7I z3fT*fF1EO(WI~PMiCEh!GNh0Q(8CJ>4b{T(O%76O%VV=>O!-lsYC|<5P)sb=QzbvKXb8+#gp*{;#E(|6Eo3TO3Doi~kA@9f3PiHj$ra-2ewb*eU_`xABy+*Vm1cTU4coa#aJ{%@ zME3Cf@B*>WUBvTy_*VQRGdVk2s$oA^TS-ab6~-1RmMlIpyRxvt)HU6?RAm||ny|*v z@*C$(*oBbeN$%I_tWkANp`ZWq#IXS?E)oV;3bdrxjX!g77NfFC2cH zysz3zb3O)JY!@8NDX81MMWc_cJh&14*Nbmrvl?I z%sxN--@ml=mLnl`5c00DH8>vhj^-!UCl+$XuXB?CBzskd$%9DdJb`$E5T! z0m|F{2nV1lEERLQ>=(99RF#cXY|6!X-gi^RZupZ8Srn!%Zb%WSTYNCAc+ z7Vu2BTX+5nuEg_ySbbp=**B!5@5O8ZbDM>m;c5t)`~pTMmK;Ar#vN%vXz46tMLS`R zb3>aIo$hCfp@ey!l$SZng*#O)JupITR^P8Jv_AjYSdi+70gbOku#CS<@PG{TmlB9R z>~%hVOQe{Uo33duEaY3La^-jdPj_?dd8e>J6X<|B9R@JWI@$dQ2b#SOk+{i(L5E0Q{dXvXxc(>rcYV%)-gd+VP)T#O;+8lwy{ZiORGVlF@IM%s=%}B;-c(FYA%<{9UlWeV_{UyH#__(Aowu(D&kqCP zz!ad?arJzfn&;|gn`g$3JBmI`Bzbt)lT=*gdhp6xtwg6U!J{>OI5|Qd&q}K`C1oR>s6%KRBlcUf02I z9Ew@v3wErL$p(;ly&2;aty!y1c0~g;_b;a5vsNabe~3l?A0##Mj*hnfJq5H^`h!y# z**|%qDoUlWMKeEA>Z0$$;D!`BESO7#-+oygm8*j!{DTQeRrwg{S}H1e#SC(*bHwl3 zG9aL5=}V0hE{U*_@t=G|Xb>|VA{>+oydjpRk1dWGI)BWrqC)h$zMli{c&roWd`&`o z%|ZdNz4F&;N7h?B*Cf@R}x;Es{LAgYh&B}JU`SF!#) zSE^w_)c&%*w;r0;4QP_ZM%R0zDT{TA;aG>QHH80nzO;g@HU9Ds8{_{QdjF(^76}G&cp~WG+sS1w z$CM6Dx;?gfJ-B5tsirF8$e_WZat@u)$>yA^*q&}43a_m`B*BqFy+jl_$+14OV6TEl z@ORx2*`-IXQeW0r=t;j#Lmbr6-bx%)j&db7<1e|c5Tlq@)UG*#E#(kAqZ5>Ej1hYqb=f&z!sVY=#wWde%zY~l# zN+(zFGLRoN*uJhA=7>Nf?f)q=t`FG-)G)!lkF}SSQH~LF-QXI&Ja?YaSgsJ~B7+%~ zn<>kNuKuww_ZGWHy-8)>+Pw^8CRI|6lfSq&KnmnfQGR5m*^5yZFHxqXfA4u6OpBRy z2;No$!?@SjfKkj8*p#jRiIjeXMQefxfiCjgs|LAsT?Jn*Beh+>$9>2>DOmn3o-Mxd znf)Lu^N0W|eBydUXaFy@ef=;!O{l^%uOjeSxl>}8<&0bN0V#Ap9_^F4;(Kcv0#>6k z#Z7XWOcpt(&r|2$)6_uUQ?Zaga+?2Z*!#~O|1U}Z*PO&XQSL9382L2YW~yFlwVzZG zz`nv@63tgu5$`-8US}_lnhY_gyEpSj<$nfwQ{Hn+t^nX^2dqvwvNkpn=10*7}3Jab=w9yeV=Q1O)uJ{siwm0e_#}P^k{{opc2O4ILRVFll|J#%{z061> z;jqZHH~`yUiyzLP{w*;;z==VvL8XNUw^){9bx>8>p#WE>o-J$QF2;mk!67=8(bdFUYv3&-eI&KstS!M9W* zgcu@~jXq5Ip0b$2QAJymU(*(kFa*ho(OOsC7Gf|Y&`f2x!O&RlBJDqx-5G3{68`ty zKMI;DCo+GevHw4m=6?;w{>p!Xu`qHLMSXVKm)&aQaOmdqWO)>cuUKxv)6sJUW|BuH>aK5nE{mi%t=)VYz0#dNN@d^ zCIlA^DIK&}?_2Ur`t>Pqgoc0i*cB$i%IV7) z>Xsm?goM&&`-3|~jBmT?0a)G2aEVRcot5Og?KI|=HSRf+nZNt@(P!|Fu{!vFXs`UM zZ~M;!T7S`YclswP0KN4!EO1Ar>5%j}cW?34Q{*8Mhr-}~23&csVqx5TO==^l3?9`G zncr|7n`K>}_{nZN$EsH}gxOv?iRn7F;8ImyWtZhr!eTpIHRhdzMSjZmadX(+^P1y3 zb@krWbLVrsoGOq}5{HcTCQ*fbmYlA4lJ+#DH~%gkOC5gxJp*#}UI1x?MRuooYS$|q z#$_lBzrWkKzm11DwP$PwDnuXHjdd^=i=7}RDnN|Y^G-Y}VUa4r=(h^l@F4qT6gUH# zaQEgX!kN2;*kJwOmJk=vAu^Tak86IB1Dl`$)f$|2c>~FFco{%Ug#ir8x^@PYZd`$A z@RCAGkQhNR-_kN9Zd9CxIPp29O0aHh5TWd&NQiH){fhtl0+28}c1TQSxdqkm8NE+D zpxFtlnu`I&N__z@y-h^)<)nEMVwh>Zps$Vl1&_I#u>DIc+mTkVv)vd8^VV|>7BKhJPz~2Gt+0m@r$)FZNM$Kl5VWJVx{#XSd_(Ypv<_J}COK zwzcqIBGmNf672Xbf8ucW0**}h0%xbx*1Q`cnC`BTyq-(>-wFvoypgs?2U_p1Ck5WH z2?L0cgfb$C<_5lR zTI#$)v^zEEx7aZqiDI~thV*{!ObPyZv8{z-e7UTkopFdf2EBVFPenm(iA| z>aY$tpo?g`T4iy^93y0L)2d@Lx^3A29MdhS0I`Mq=f}9DU)8SdTK~&@ax5d6gUS}C z%AyX~rweI&QdQgtoYLjBwXQ0z2M+7v+Ll)pHvoU?(%RBg6_;T{RojB@cO_5H777Ss zL}TxR)eJ;@`)aFU!_!83k=f^cP_67#!`lp&l}Pj=Hax4vB|JRI&_Qf={TP-Ia4rm5 zR4d6dva3I4XRr8%EzGwBzPnD7)-$>$CB{egE4HCf{RGZW7} z!9XWboV>N_rPD^>G&NX28OD~7nZg^h`tY7WF8Y9 zropj#4KRI^@{_8m39$+m26AgdI?)`9j^!3zHDI?nOrA$fF(^%BX`S!#WjiDnQp0lzc zYIL+--(TsGZ=W4_gy^D%uz+PbS zu*;sY<+x0tZ1LfQWqGM<T^iK)?WM`PqAQzEc+v|@b}d`&0c%U_qCC7<3;!&08>?&0AN=SVp;7%HP2 z%B^#74OKR@H0NcV1|zgsv5GknpBX-zJ_-2lncaBS_X1MEAiB|!{5_?5L z6LObXsdE6uVy89Y!(tD7i_YXNg?Ne9+7_T#IFOaJkS$#+S0$GNchkvF&y{h)sl4kW=q)YJc z^Lm_6kC$6#ak~Kxke5r<$jE`Xd>p#H_5g?Z_kka&bNXQY7vL#;cr_oxX*M=SXQf0c z4UnOh6-du&o{$-s0T2%7RvOPn@!G}%Mh*Sg7v`ZG&|(ps;ss2n;z9@%uck~UAdi$# zCd4L+2xL&kh9=C9WNR#0I6=#(sBh?QojEvB;1OMp-|D!KNFV!POmHO8-gb>lgkng; z_E2`+Z~*6VEQ4n(Dcm4?5#UbLPAEuZlG~0Zyb)r|fjF^|gE#~-F+<9O z-14MIL*I9qsCBCP+$* z8CeMLB5>0bT}?n|Lqo;Eqa)Cy(AmIYw7J95Vof7?wB#p-oCf*nNe=fsO+YgSMd>N9 zjB%aV6}|!cA_wcV6zGTXBlaB8>LBPM_MBK}2WbXXvSjH8tOjAZv$;{}A`iHOJ;60l zsf;=5z-%HC>r%KO&mvUoa<~yK&`S5{O(-}~ER4wN;4IK9>LRs*T_T!RWGfe zEOz;K>9Z7Vd$CN&n$axwz)a8?$*218BPUxUj)#W^+dR>oh!{zxMv4cq^dxPE4hA7x zgIZBE(HsWV2PHh&oLH(UH$!Y9p`zWjXF7$#Y%b`4e;jNchJEoTRZInYj{lc?V=4jPiG^!}?`|-D2fybX` zT?<&;7EuqrD2L)xLnKn+SShojL7S&Y+e(dI=P$j^BE8N^z0LwX z0wu<^WcWDeohm)8vCuf@n{wxy4CkA6=bJF+n-XUyr8duK{d+Y^PWQBJT9Bk{Rl4560Hx+j#HhNUwR3XZ-{KRX`qt@ht-!w|W9MYW47~%@zcs}E zk`n%s?3|OoOq`Ra)ASDF{??@W%c}W%sQzWAkE(yJ@6+aTw2c}5Wi$O{YYxiuOOZUU zk#!jSGIW9R-$R)Cdp<(wR>t+MU~SD~eGVVn&ZP~$QiJ+Z!PQg4^{ruTEn5rQ@>Cat12{JI@)Q`6?)OXAwhpZFRhiH({zh>Dj zg%^~1ck6?e31ECChh2aqrVw!Jvyh2rd}fASg3P6K*S~f`D}WbNRKoVnJ8s`br%=Q8 zExMnB%%$ma>kF49*1s-8D}fi(cs&i8PWEe$ICdml-SKt|Kl_EWEXJ!RmDm>m{6et& zudH;Jdj^xea3COsDE|oy}dMmKv-4ImP`WWNA^ihoIqq3Np_?R0Vgb|f4}#0 z`c5GTX?;YaWt~TWM@Jw2~by&Rnc1DN!>p0r^s^nB90R-3GcXFa5^bwcCS zdNIxX#G0Nyl#;WMFT*1UGW{*rm7zxvF_MLJ%r0F^n{**f3dOSwAr}g6PX@+S^T*w^ z%uBYg5pFs@V23sxRU4PIp=R|h5c|3pug$%lE%XUX;wy`$@l8;n&o7II+d zsUA(pe9#ch1#;a#Cn)k*L&#axZR|C9!RqERuQt|wefBo+xnAlqjP*-Snx)9y#Z|^O zop+2Sjb6VFI?@JB8B6l?`QxzlwWzQ6LBstcr6YM*5$~HcJ&6PFCmPfoLMAD`|W4|jDcZhxZ5WBYfcBSYS7Rh*v z_2x<37HE=%CS(IEC8EcIgrm9-VQ79+x*(G{8=Bhgk;Jh5o~Q0VbcT{o$k8_Vp5h=8)sjb{zi_?xYJWM<45t-GQmH! zM0MBBAN-#p@-R_)i}X;}EgZLJKD(zAN-B{Xlcl!Kp9q{0tkfEozY-=sk6O_}S%NLl zdsU@i``316vpYrtqpZoyY;wGrpIwxg<_D_%Kq14=E!vp!HRex#8LKkS=QhTLn@zhQ zT8Fzn=fI5zC$1O#3?J+%{+_}A;H$Gl29vE3saUelW4kL|LAl)8o9}1TkgsLmH0_F| zJ}6+JSMwz&TU|u6)+TIQ%^j`16Lu1jUz;Kpx>V;wt~#O^YdegdhB?VVv#8{Wu2>O z{_Lx50-Z!Lwt!cJvj+3YQi9Ik*@VY7nJhet02+KcA5F(8yX$khlF^^2j9hD0o}O6w zt*SHOH~y#Rv9>yIs@bfdNc=LVKvUU8yWv4#8$U--+7Sx-H#hhGXrDTGa_-9+EZ&04 zhaUXqW8#15Hck~ELLxW_h|GUng!=b!8}csZR<4G|rvI(s9Ka6yeqj`etLs`=rvPDT zIJ~itpwI>73|E*)AQnTkNONyWulS>dGKumv=nHky>SFC&mJ0_T+2q!RGbHn%E}>cH z^YN=EMba&5ASGuE1AC!S(w*XXKT8Xt?6aIM0j@#oTFB5bk>~PT)KBWS!<(l#p8VUy z>VA-EOLT9_jk1;V2VPaDc0);M4uQ%-+x%FPMw5?SA*y;l#)LC9Xp5QA*qwh`2abdceERRVbN@#x!2hM^ zbNL?=KthkhyfDT{PxZx$j4hXwciLP^%I&ySJ}gWnLWF2EsWxqpta>VGlfs zK8u=FcsV{A9sMtTRyI_YYv^yE;DZR@_(k z^&lrZucn#-N*H-eP_fLnc(di2TN@ZC9jZ191s!1Gd>yj;CQAA0RYaGSQhnZDEvuwf zD>g$M%Wlh2_H}9ci;hq!L3DW4{TlI$%)#1-%Z~bmaw~Yw{Nn>yy<>guQ%qc4)=784 z=4DuiDgA_?G+Q=aZSBjR89r*aT;mA=4PPR`MmDLI#RMU4V<*1uEOIS4f=$?Gfl~H` zV@JuocH;0&)CBRa7KNNzTCkr1KQC?xcbg>Xd<9q3u8z3449^i<3)T>t>EQK@;HfABMT)-7UclRMUOe-}=6{F$%e$5un*mvbs&lWT=P~8n*1xd+nneGK*WJjn3sHqGh{6 z&!;Hp7T={PKfunn#&bfc@W~_BvC9!Wb^k2 zn2zGBag9m2I<>V1ewAeshwYDoq^qRXu$n^cAgcq)**2)m14LrVr!&M&mF5?o%GPg@ zoTR2yYfVn+H1m2pYiQu;1f%P&>ALZ=_$a=cfdA8$Tde8htLujOwYizO&Tl{0xS^kk zxZ=511z3}WNmED?pw0eMU){1v7&$q|I?8_XLP43zN=K(g#;tK%V- zmr(N!x_W}YdDubzYRI{J+rY19cpxKwd)a@Vdh?ii$=-U|5PY~Yr2-APK}N2Y7>ivt zP7=xJ!wGicY9=c*4Tt7c;dO7fnq*CL9Ei;V@}omSaj{XKQs3w-v5cNE5_WiXg)TlZ zuZ(X`+Ba@%aBT*)u(nQ$?O)h8?%2t9XZP{(i=$18hmLx%whsIy$83xSc172DG`u}| zUK^|r$qtr&3rqnHbQZ&yu~FG8&tZz3Np>SRqSz+mkr4?`(S1uI5)@ zAyuA6K=*Y18(WICIA^iA-;qaK;fX6AaSrLsYUC42mpw{@j$E~IIz#fUwg$>?YJq_G zN}Gp=Glek4?n%BPVC{LKa(2t=Ew(oUY+zVM?-WE}e&U_1!as^_<}Q zToY+BCbX#$dKh9S(HTPJ2o$&z6h2GQo-ugbwhJ61w@0a)E5TV}s3;}Z<{u>yj7=5h zYcB%MYic64Ywjglm@LBlKq~~?G-Kvy63FPO2X5wcIsMdhX?*UWLO3k0C7f+P_G?H2 zRYyP5WWb4vx$Dn&f)R8m1;=(OT;GH~8iK_e3UEX7T{?nk{JO!=l5;N_toCJ=jcG} zYfVV_X@AJk##s(n#h6dTK4+t)`}+ zZCxIcuwk#Si=g=fY5*{P1PuUWeTd}X;WrW04pC0Ba7a*bh(RlmM@Q`ZBd~0EN0!W# zrl{R$=)WPU;(y}%s=-w650o&^>!sstpvgU$D9I*0k404UP>NAY*YZ*%vE$j)kj6?x zS0hUw8rBh1k-D^?YrELyTB0Duyil@LuTokYfK)vExhhaBA6ej1+)U-t=9;nsD7&zL z*2Z^aPjJU(Tc-q0^@$Lre5(1?3yWF#>Xv04nzCERMDBYEr0*}elr}5MZ~mN28pDue z$tEZcHAHZxmX&e)sa_O+4n}L4Yhmr&0_3!>TYD3gz&GAdF=y&fX`aEl*C}!Ne!QMN z8hhx0{&QQ%n=`YX++obl%2VdNnId&gDMgdQ1EZSb;0*(zD~shzsM{&Ehafje)vCtn&SY2*f&NcS@%^eZ!w)## z?cEp1&%zP8%6q>^4*RP6C{)+^xJ_>AR$#5%tT+yeo*%@Rvl$csK@AEIe55em-=Wuh zd{C-~@|C99a{Qgto1sWrW@aQOb;)y?J&Wan`@TwQJBlX=I78D~lN(5Nh``%!v5m+Z zG-ZWDwVfH*lVe#;1;$Ze235sTUTDiW6)I>YI4pVZ*V;t5NC!G4+U=nm6}Gx+UnX`Ku5mIUUIlpyIud|TIs}~4w?2qDrO3o9-bFT zH?*4w_6*@LuV3aYdP8kFZMZzl9fptukU4Z4UnJ$$U*Q<8X3ko32Ew^m=4w?4ij8W$ zpe)g1VhwL4e~vNWQEw5E>JklCYwa{3(W*g7g44`G=U;rkj6d%!zAtM6VChe)j{dO( zBq+OzNw0fYOJ*~@HFh4&Uk~3i3bxS6oRl+fd}&JP7vY(*ist3^MM*2=4p)$|Jl$Hc zXG;d8CKkLQ7bvo;AHnKPs>*FEdV1O}DlIPMdF?0_=Fr0J-*dPQnHY5I3b-N{LcO@A z5qUYpN~d;?NQ&2=uy(tzh$;>!rkQ&;dSV(xmOF8rR`kPo19Cln?W)S>o;ZImJ^a+Z zq25asTM zau~R_KIbdBAZ!VPlq;!)@S%gdYa!L8XG2kBW}!a2(=;C^K zvZm!8iO!Gvhde}4|Cq(`-^cF(zMKB{j^b`=09$-@l$?j| zjfZNF4{SxwNZ3ZmwLt~EmSSY|HTHOvh`h!WSqhBE=N{nM+E3HD2uXEFI%i?gWbVGQ zLz75iSfxS@^+kBDDaWfoK4_pC$DRAdVBo^sRHs9CIv1Nm&X$8BF+W(qUac)iKMkSD zbrecz=(cF5wJ@H6>QUbtEIZwK4ZM?N_A>I9iKLATxM%Ee_J7qs8#iK#TM z`O4%uuw-SCX2xo8O)Awifg1MgHAfi|I)F<0Dtg$d+-b~e@8RAill&&{riIE>YqYfL zan=t?%@p~x02y>(KPoy9_J*|cd%rPvL0=GT^mPiXoG3vMw!Ei7L<^*^R77eY=MF?x zl2PkSE2k<0yUW3neADbiP1ST(X%bpUMO*B;JcDKrs|$%C1FWj!w5#B9xstytcR}IM zsD#R76EDwb=rHf-LldtVa5isG>7@#xyT(BBFTSVdO^f|%c13zi0Rd< zPd5axA6q}|?O;V7<6j75VP|O!U7D=v8~ipfbI3sCD*Dsrv*e8`l%+8V4(dm)$@XEW zpt&}Jfg?RE1Jf!~q$T&K*AHmYk5RxCaIHWwM(0#@#MnIG=hH8-_*2z6Q*Zi$BLC8) zZYgpw*$Z75iq2#Y-OC`~Z)DMFPmlt1c*wO3)vf1PnxPskt;6emh5d->(7e}yru^BG z*(C|$JwE|ON$Z$_9GLw>ql2LI2t`^hnLUaHxT@Z3xHAvL{Y%q0N zy$#YG0sgcA=7EXbA{;iXPlSH4#UQ-INE;T>y5_r%q|9i{tlN6@I9D>_;Y>IWL`vi2_uOi9 z_&8Z}X7LN*`AxH#DbHLY9@k8F&HVj;4&^f^L*UK4?oe{shlRF<{EU}6_Tjh~Q! zRZ<(#<^nHRUf3^L7V0jtqteSu?D!6=${>Qsz!#4Ftmz{~sHj&h;|?zpd|iLZeuN8R zV6F||KWc3@kLS#~;S)99uTwYL#6kBZ+?T{*pC|C5)(T*E{J5(ESe_CIyS z#Q(M{R&w$B-)L&H#1oZyC5(}2hLzZ)A5TU?#(WEBzmH=G~spyr^mpUPOoNJ|*4;D#1jCQghf<{c#l|LQafUST?u` z(nFNH2zJuo-=tV5(Gdiq5|$DCqEZ+r5`$7fV(TnoBve?VEPW zJ1(7yP5BUpGv6aB-a7AOHp(~|=7Z06&vG!nepxxm_eu0RMf#@uhWaM^0xJ8Rg82b$ ztrA-e`#iV&Jbezra%oXJF+|4(FW8M2GoTutkYmG_Q0$(wcb9QIBK6rQaSu zqy|Yg37A`{%(uiRLwd~p!N!OErTm4(t);ECPLtHsXelvMWu+;KC5tf1k`{g~q%E{A zge+Ky9mDmsG^l2}%+SfG}y$F00(ZLqN0>^C{lpM$Pq z5v#$ZUT7nlbo9bO;PDS(8K~PLX`7rFYmccI%><{~DyI-b#b)nr zcC`|e`X;h#mQoJ~BwkH78Y z{~t}U|K5`If4aUUYv?-SYvO(``OH^qG#~62r4UlN=a>Eb?OvY5utGUA2tb$4KoOH; z8BD2aDilu%A*Z4t&ky*Mq}!%yYp)FRYX&4=%c>+F*Yg`fCrjteAOah|TZ!TXGylT- z*Q!3WNgLZk%-3D+-B$OV;neB0L$^14FG%&OI8qw7Wj-Wv?TrY5$t82*NE(5$bJA$I z?fo83BFm=V3Z-)ZgP_Td6MtV&T!!bIBmp!%DRBccFpljBmU4ta-smTf3@cU%vmNO; z{`4?{d3x5i9dJ~JvXp+G1zV&~5|tua)OSvNRTNS^^ZY11%iK9^RD1Y3DN-^0xiLtZ zMzuPJCZz$c@#f|x7%nD3k3@5$P#9qEpQZ4G*+9flJaJD0`7tU+#a7A|{337ce*Jqv z#-W|p*Rq|P%hS0%E4>UUhkj}b=`uSv{bp>y)@}mZcVKq^t0KA7Ik_)5G=2B=(1r{( z#_HQD2GmDh@oEkJ48GcVL-Om@5c+;gmZI;hG++k#!#F-L zuV1Vy)TD`vOLNS}#UTIG4Di0vhxtC(_sxBFVFo4rxh$C1!1bE#eZ5bv^>iCs-Y?RS z$CG%oCeP*~xnCO2dkOAo8oLA>67n^PE0c~|=@)lqMjSFtHqB9aWmZv!N=Lat;2ImN zF5^_HGh})7WMOW_VN@twQyhQp&&hMO&Jz<7-7<4?0W^tc_S_03a7#0$#4f%=>kV9- zGL2UM{brAB83YI3b#~;PN)_U1Gg(26WNzo_2s%J)|ISfe*7OlLfxsRBn2Q=&q*grOGW60${WU=fFKLvSp8;zry`rY*7N z`b0kGJcju~Bc(k4VSnh)6*s<5xyr*~YnB;p{dFm~CISB#(nz^l9uHVY{wT{q!(fN+ zPBmBTVAA)Ol8uHb8ry)Obo!>bC2|3yvy<^< zDm+sFC6bZ&^Oh> zzWB8AI))oBe2x4i?Kd2M7!uW0`~apu|>jD5dS*gd>(Vus^n;Z1>=r zi-W2b78->ObFxe`dDr^E6PrbKIpP%B*Mh2HvP~B?3{>;e=n1l@UM(9m zSZ$I~m$U5=oW@03wpl;cD8yj(aHPCL`i`HZuYKi@zsP4D_6hT!x`-04eP9HLrQ8_{ ztHO?f5Ihc=)n(P%QgIGONb3}O%$UYM4}{Rxnzj$GhJD^M=_rmZ3pxHME)vYylPa`a z;mpAXol2rXlm#Nf3N*#UB1VKD*98J#vkTVeg-fTUl}@10V1M97nz^=7o}l%daJX{S zYP(hO@_(&irT%FO?TRSu$4a1M4xOw^sngc#|Ev-yX`kg)$#17DuwbHp?Uo^9C=jux zrUIA3Du{}J>uA1RhLl51LD13lB7yN&PQ!M{JA!KF-|AfoVI)Pof32@V)5$$ubBjR_ z`o*85;kCTe6t|s@rcen4joRJc(9qEdbs;^Qdt^LljDRgylh02+eNKhcMQy&<(JiC6 zXMVefMScZB*Mv&3*p4PVNL&r&2scJT@K!yJx3=sNF5f6TlrKo%rn3J!yOJ>luR_e2 zdydbpO|3Jg&WM=PLet};R*6A&rL<15UmC-jy4}*V9R$N{smj;)l;sg(9@_El<%H?lX>qtuGd9PDz`$BT`A*Tpr1yc0DBah zYn#3Siz_|jI(9xc{1fkfTg99#OFPw$FWnYNB59quB0Hjj_`>1)5hVvD&bvu)cR{}JJrR>{vP4&Z<=mz z$Me72gWOCv^w&a16NEnuH;k2u^*?6plXA6r=RZ#1C_j4sg(s{ih-<)LKtRlq|DW;1 ze}}FlE04;8i=h0tAfJ~Z@Q{kN>7-yxZ$;^gfQBUbMh(@u|1Gfyk&umT4j1$4QyiGn z={Xx51ufKze8aW?hl{NQ0iUs~UvujAaCWpjLIq+)ZnAwGS%Ccm^?rmopig6XA7>ZG zd}g_b?!yg=A$`pP#?BkFuNPUs&Ab9`z{I)ZoJXUo@?31I+^d`%e@SwKj`*P2=CRCf z(XPe%BFVbo{3vRu%9mF0Vom_FTtsyI%a-X-rdJq38Hft*6vHZi6&Y5U6(P@?X3eqV z?I+4R;o4sJ}-o%g216-#w zUqh!30o_`y+Y|fd&$kyt3z^3m*<_6O0oM=V+kF2LYNXVXX!u`%82tYbwfWydW&Iza zj>`@RV+fdL3=XU5ax5-sZZrvIs0@ZOFk*xRTj!HA?OpSC z`;o6r-yz%zKp`crSqIu&h%GMnULI~>g>l*N)DS2VBuj_~@Fbb>v=K11F-;+4v%To` zDB`1v1%d|K9aO;{W{yg+T42kECR4656ry#*^G}}N10WA|MjQwiISJ1OS@}|yIa`nj z*5GU=4*heCid@+WCw3h`erX7b7(%1SRo6TF8NvLIJt|gTkD4t@E&3c3@wt( zx6#`7Td@X&iu;&7O*HEhHp>M(R8JK*F-ifXSZI;t)yD)788fV4k-}b=MEg*=tRMpJ z7PHXWdG68O#wSRyW!NJ{%s3+p3D0@e(&JIw%fI*0!c@8glvI!4STMx8y?r9L(drj6 z4Yk9@7J+6@BjYE5GR)RZ9flyB&U)^{j=bk zaJjh+3x-<05%mf@bUC&Cddp*PsE!t+Pab#WiQnD#^pJk_`H$DG%bK?z8*I0lUtjmR zAj}Z>e#fCwA2Z-_uSx_IPBDW{Xbt21Gzgi zYnfDcOy30oySS__jXLqu#u_^5r^b$7zjc!GEi9z`PPV>33L69mL8U-A=Qq*@vXcdx ztDozPuEqBnHq(x~*Xga*Qe02Wua>u&3$=uOj(OWRsr6+)==IV5p){;=$iQ?(tUThZ zd;nDZY*`||zR|}PuhBA}T&s0)pA?NBob`2c^Q16jOFiF7wzjKlWZ_pI)r4P4m}DE# zUp6htW&(cur7zwd=Dt4NHC(?&iIuDpaOTiaSj!1b(ZiJpD86+0W#&*Z{?%;QL9Obn}z?hkQu(LXZ zN#_u^-Z@~pJn>EgTfnu@)5*`@-PZVhQ4;NUeY>{PMt{&{Fk?gMuUQmA+d>5kp#bld!E6{ z9ovlbBqAC9Cr>fl53OY&0Lf$KQ~@oR9F6=Zxe9Y$-%q4*r3GU!O1Izr!FWloS|ocI zkpmD~Vd{jmN{c%ro@olpu3A(Lk|t2Ky_=c%zH^)xDmg2}H5zsM+p!pOGcSJ{cYowm zCEI4`p5t*8bYVsZtBC7NN|2{6(l-PQ>pW=RW@pLE7f4o@a}-2m4t`^$=pbK~#l$x} zC-MbZyAi2>{NBY#Ud`1-Dj%Ex(337YXc%jWN8%A zhnGi*SPZH&r-Z)^z|#Tul^OU0;$J_$93YJD1R<#}u1LjvUGO-*s-}f}*@I+PwlDP! zI@o0BnF!w{51)a8bC7}#p$oAb{K72`gRG{-z5C#mmYN>F2Z3qKD#b)Tfch4N&J%Jf zDLPRjL)vOl3E=^c9D$>X2L&*Mpz)1a?avI*xQ@NT=4U=G+@V$R`@Xp%G-L61Svu2_ z+RT$N#AH7vT0kSegG^hseKN!H7k9i{jfg=RWzMA}?@ZefkW0#6?5#Y^r|3&$!VsPC zdV4-rF^dS=Kr*~HHP5q|S{(inPU-4$Yy>Vt>(xuZN;2=t?}dM1!7LLS2d@Aik8i>KK6}&0q1LUq<0PZ=ogz160=7a!k*dziSd0&{Hzk^ zCfL6G$ZCIOuo%F`t6AcC`8Rp!mx9*#iy_i}E3xkH=JLF2RKaH!k0Md4tZJN#c7J36q|UJQ2j|PijpSuSbNG8O z7shMCl!i&*SNoB2-DPQx1)-pw{dmJDw?3_K>go0m#Wn!46Va~2#k+8alP~N|*c*iU zr9g{#)${nbZb6DHFvy4b5PxH0vsR^zFx}?-y}4iDtoWwd>E?_$(O4t9%FRj>OX=UQ zb(k?NjtDKI6T6{gUFi<1ech}^R$mGjWu~T%f{F$@wgx$!CO58jP;symy-@rgZ@_60 zQCQ9aF!37Ivf1}&cEKXKcuc1!`jUdG#6}EQ{_lubOsLU?os(_Cl4e!_1s_6Bn2yTi zLK`b$7W3z@DT{a1FHTpa%Jps>Wo$O~*w67iiFe$lXk0i&3r}p)PxLS>hLWasP1a6E z%w;FXR%oPgd?bv0cE9`_nD6Uq;a*TpumS15sD^Bb&1p9rY%i>M=6~lI&kE3lL%wz9F2rEPDjQLsjW?m`WQ&36`?gos$g6 zH0^1-jN@p3_O@Pnts_kU8HU3wxXVjtAz&tM&(SQQU81bLNz1&^w0J$Jve0O&LA zYosKSFlc}I!CuJJ5uP*FEwH}*lRYG$VPjn3FNAsgj}V6Q-wHh|MK%koT`w}5yKjrFF*5;gPmfjoVpAX5*`csZ+#8^#k&I$f;Wsi-+C6Uu0(-gkV8%;~$tL%U3M*7U_u^`D(2>LP3S z*7I@S;!29lW}%W<8B8Zh^%Lq3Jm;utSE6?8U4r;)NUQIQ3aaZ`T2-rftA9S+GPR~9 z{dq8wa2AEE4mXn1OgBCQ+ezk62fWrr;NtfT-acx$2<_RoeSPN zxlo3%x5bWOOW=*N^R(j4Tph>>*=u6dbdM-gluZKS-Fbe+%+ll~M<_S&u}uXQJ%tx9 zt}1_|l6)VwN!mHeIpm)r3}ff-XJq5;ru`&Z!yXkGS_?s2xRh{AFVzt1H1_KP)};hv zZNn9ba4JbQ<%vgDp#;u}M@o@2nggU%JFU7OVb>doJQN?lC!qQhDzOgk_m9~>Y@2xa@UIp@L;e5HG4a2e^j}(2 zr30_0ww(SoHPLm~s+Z$D5)&ZI4h5YwNEvLxUJ!&tigSZ%N`~O5jA4GvEN(Y%jVGVT zewEhv4Y05#Pn1Sk71K=Fv|(r0(qY$N_tdrF`uFB(cDecOl^fG-7(+S79R0R; zOIoRNciMC>qJ5okA*oX#RNgQHmbbWYp?1L%!|A$7f@H%GL7divOP8de6MBvP+~A~1 zq;98FVcRZNicbZ$SUfK0^`^=&gK0`^jPBI79e<_Kx@_{k;sXQ1#?%093eN~b275WS z%lQxIUu=)ag_=Grl{>}^Y<7qFp~y8Z(GPeG*e)xZ@sbP$>V*&dtwT^mYd9?lPWZU% zzl}O{U75oH_D;~#nO?{H#_-6x>E=kp=>w$AH?`SKt*YpJgZk$a+2?~#x5FF!=ezmQ z;r8Yzhw8}lcHi6eW6lopr{UEB!w+|t_C$}&_5tBt^7V1yBIeA4ud>q@yVMe%5%uBW zUY^9kEG78HKQ%NMrnae(pRQ|#4&;!~M^*u}Ci+0&!3iDJi+TBkil}>A2wP z+zxZ=%E{$$d}_P7`~8!~b8=}CAsSZ736=Ce1BxFG7BKwVK z`9msm{XJV^y|b;&ieVr;A9a8Mp!=tpc{d(_vesG_yMw$6k^g81K)Vq+o``q^GW_A? ztU+>Py*0pZYqz@acC_D|_>BxRX1d>eIGLRfbeHTR{;WmjveU;uHCpeRSOoxVIN9Ym zkX9@LZQ+|7j28SvGTc(CEG7hc??d-?5{@k^modIKULbCvR})7pSx6Z1AmG)3gQspm zUWvcGNlkDEXox7V%~AbE4aG9E>zd7f?dqy?^zZa@aDBRboeECaobu$h4~pdFMp+F9 zX|I~s;&I>gC8CR$^pcub5%y$8Oa22>!@17KZYk+L^2B_Y11j>Fof;MSfDj|R^?B?} zd5o!+6Kw==wfr43n5s+Ap@Mb%!`z{9`aCHAM{V9O4|XhYZB1E3r6Q$DLA_Zvl(>=p zF0Cl6B`$t;+W{nv_FY+GX{M6S?N;bb+Ufl5wS*l60P@6yNP{=?S_d*j^&cow@S9{9 ztys*uK1XplyohsyZpX}TW{5FCWs}g}lRM8K_AmviiEQnBn&HnO7A?3}yGq{*IN*1l z`GH=`L@tgiF@eSaI@JR<^+A4=D?FsDumBzo&9n|!{Bhm%U~(d0`qRqbX9Wt|g>9O} z<8a4oVco}$mSM`507q3-Ret>U6^CJ;C*e}ZT-;!Z3l7ck5F7H|shPzl>d@wtnCopL zNrizgN#MQpjgn{Xs+$$?Kq`DvTJum6Q-(VTr&zhH@|=);fCU%jnidBr;WL?l>e=8y zd{nJM)>W{kW-Y`P&oYX6q!HaJWRHXd*Urc_E2<|Q`p{cZ80mo+(D~$E{}p|IY4I#Y!C%%tEZR4@9MWx2%I($V z6<&l(U#0<|zyKb6_)Y)-A@&n5{VFhoFYmr}w1HMU(Shb*JIAZwR;@5G_hrW_({W|% zIH;Mi{yt{D#ItoUyp zwU`kYW#Rft@WTK*%u@rK7##Q+`>9{bbpqf1%>BadviGIGv!mElz3*V@Y?~c zdV8ADtEsCRb|TL4ljrk~*Lnq^0^)%vI%KE5nIWn{7aXn9BN90RY%14R%wVb^Dkh~B!oyFtk7!1{^8|-F5+UPt;`tW0S0pH>D8hR*HB6>xO;;8Qg|l6C&X0NdcP!*B z5ZI3_L@&e~^cwhVeYk73-G+8<@OVG5o~5Bi>C<~v^Dj1{&7EFqQMc&794f)m=xMgC zJO0kTflPiBRoI=GP;~GQx(_rnlcOmteT+yGecwPUM&?*uPgiBxt&uyws&~o0>F?T7 z(*~X1L9{Mi%qPHriZ35$7CIFDx{)<`3X4;eTJ@RVXfu5E|J%}@DEJxeQlyycNg47NI?CStbA zYcZ#)pY`UBV*4YY=enA4t2a?4sREUEWRxXTq1HgR7OGvBbu~1F@&X^H*+A1C z`COBYAUYKJQ8IjX7NS0JT=wK3pMV;-I0(VdRIC0d$@tL*yL$2zi*zdNv+Q_v>p1xx8`u-AjPt3`29}W8MPImF0TObg*3;%@II|I1ubB+6XUT6X8PY?ge zy?sOP33gpa?}>IzRlj`%B9seB4DCw_F9`dbsC`Y-n>!X{2$JqyaUJ%@q7hVBOFcUI&Ac9NQFR{=eo^6wg$FSC-5#D(? zlgxsj&-pV-pzwM8#fCFxL~P2FZ2uiGbDGQUbF2QP(`=gh-T4zJP$TrrZA)+Qx2vf#b$I?7wkaaAPrBFPPN7*8>WJw6wcUdB1?20VeLn!+;mUnvV zy_%U6*ZXtbf4Hvue4IJwy3e`i`2D_LAYG^3g87#unuImGjkMShKB|y*joJNEw6*3&>UW5`M7s0mNFJcz%&8h!vK<`^bE4~m5aW!S4-i!hE$ z{2bg8p$|9J6Kr3E3BK)2W9Eq)vCWCEdg}FDUJrJ~=P|gulOZRn^RL<9W-q1UMN_jZ zgla^KlXLCL`EeO>Ggh@y$Fh`YKab>| z_(Ih-)Vc?w2Be*N9ht~|vRdinB3wB-!8$hjVKU0f9CEsg7R^#2jZ6!ZMu{n~o@IyX z(A3IVrs))_PTI^won`dWPr^l4HXec=aYpHiP+WoHN z9TJ5(ugU$*8+V;0h=GMsbfRBgBS?~+?(e)ao}VUPMN1-Z>(Oig|67zZ6b0w|t_U{5 z&pKHGQ;Y>4)@>!s7ISo@u`fz`S^Ke7xlg>{McY|pwcGBr8rk|D?OKM(G7Ab<^-eH6 z?r2tKxJPb!JZN#^afgS#iO3x{Qzgy$yW z6U}5p7zQrE{6uElKtoMsoDJ6T7rzDXuVE?KW!K1Zo+o3V*g2 zkqHt0Z2plWSnF7WT1qv;>8SLVh|*8<+(rmqb2noli`0{G$tC1f&%n)%+~J`!mHG3Q zxi9as+;F&89>sO7UX+~Ma6_=*N~gR>iT9HW=tggQ&1{gqsO^*9STOrsSZ@&2k56{c zK@%dd@}48BR||W*R=2?^V>n&T*YY0V6ld10f6GrOXp0}LY!_70o+dB2NuAj&!0LMc zpxWm8Qa)W`|$)?gFw3#zY9dgId ziKd5_Cw?6S>itVkKA9_Xndjjow-c?1!_@ugXH6Lb^E5$E^%&AD*31$N+e+&jU&bai z8@n2m9^q3cLg>DYI$=wjU|H5NUyZsChe#ZgkByBlfOlCapb$V4-f@PP?LmBBR&#Ir zN>p{1xTWZ3^%q|Hi;c}R9CYs}EmSWXm?0|J+78R8m#~CTcr%qdCxhob%x=C}oD1)s z*2#CEimR$ud%||Pqj1(U=1z0XM9O@Di@$+%JCc0EpjQ_6(3KGj&+O=!2}evM zcODnrIVg+*o-{)ny+$Y1Nxmr1@w3fzk%&v>X`9TNwYojx)W%v)dHswq{i#NZ)vsfh zPfS(xy+j>p^pa&NGbw5vRcMu$YymsgDPQ@pJ@~d!U=$}%W}PoRq2if$H8?)$G27F` zENY35_s+X&x5)*K88bGmO-4?}&2Hw;sDI`7Qb}_wfgJIbI_M)`E3az*tPaw@L+}_* zFd4x;nrwdRNV1%G9IHo&_UW^iu+;B3mITx4o?|Yqybs{&I+-n1?vJa(YEvk=JlTkN zaq6sh%Zu|*bpwP1Ugu6j@^x~>l{KVh&%2Z?yQ6EH%QzIk+6I9(baRXpLl^0XMvb7a zqNYNe?u)WJ1=3A_+SG4>)d5o*|9*awCq0!VS}`rONvza0U#4Vo!mbaf(B=A%Lcf-aANL4# zLB0sA4mypv5N=SoDRoTF>0U(YOSZ<^Y1m3(#V7QjMRs4Y(uZjz%wGB-2FkR<@%DXt zeoPExNCPUP6$CI%ex{mo-PgJ5T6A&+E$}5IL?_X77?Ypf5iVD7$Omxfl7$pmX`;fB zF*_)?&cWdX&-9cxljV^Kea8F>QcOFuZ&(d(lpzZRPQ|Mf4vXK9Rkbc~*KUf@xstMQ zY~FNe2B;e-nk6Nj5&gi#eff4+>TJ<$sVGDt_$FN5jJ>s!#qVxQ?DbY~KU$CY1 zd1bU)fNQ8I^KIYL6ol_WQ+*<1x`}7HO(@JQCN^`ZAGppc;ubU}ozj)`ij(JnY_LcT zBy-HY>~rEBel;9_NL&&iMAM+ik~dy7FC@a?IWJu}{DQypS!J5`mDFyl8C-nQM%Mu3s%=0@kSJWkW{n&QD{=XPg$rval0HBEfsxQ`ykrhL=2za}?rPv&OYkhG&+feK%MowWNz4>E=>n!SZEF9-M4sm0Z z5EoIXu{f1<%ae_T$_!ww)NSXc1fax>HBe$pc39?$IjR`9*&IgfrKcN?4$buk09syX z^vp?5<}+c`L(eF5D;asOKZ-80*&3)poXZw+tcFO`<^3CR4dNFHNa=K>=R;vfo0jkujX#UT6=qatTaoQ^f`(eo1scu1FBVj-ja0tHqTx^u;MgMXl8Lu z1_wA0!$9>9O;V*=lHMcMmjxtJ=Z+>%!aBR<1m8Y3kj+2gbrHm~G-3!J zb=$cX!PL|4gbmkjDTi+zgk)k$(HU(^XMN2!=8#Kf>7X%MMfe+@DPZL>7n(&UyVd7~ z^cNE=6z_Vp%AT7kZte>&g1)l*474&0L&jeh38^3Q2TmJ4(ad8pNWhI-+|~uI*IoHA zhF!HVx-5-bSxL^aeAIva^K45y5L=iCTvRdH*)F;V~>V9qv}G0C%($+$}4 z(_DNJdrR+u@)?c*33G0Yl;Cy%LyV)(mYIAw6wO|PnmuEGmx}?5Jg}w=F509ke1dFX zLSn29L}G+=V2cxunCm{_%bXjT=zWRfn-Cr0ap2Rw=prtpl?3Z>!CI7zSW z{>2MT4^uC?x;DmYw(w4IpxOYDQX?Eus&5FcYB>CCFtVkFGcQGXZU-V^)5l8iVsRiI#TH7!-iZOpGtDG|O8F5++cb}k5INWxB8)lP0HH{2U&vfpCOy(`~S~= zMk)DjybE~Tjond+&!oCOeN$MW`L53WGZd(IL;bf`R(2>AH*;Hu{~cYELTi*R0E21C z$m|Y(PiOiWu5`OXi85kHX|C|&-q!fe)Y5;iMfe$4nRlnz+9K_ocZVf2kX_BkH~mWX zT{q@u9N^jwb`godcMk00wmWXAVCC%ue(1Uw$jAhUaP-{2$Nh2eGV_qbllXxP6#8DA z`7=~b?21HN{N}S}#9SZZ$4|qhU#8)v?5-pyhi@55zv-7(7qeUmzU>6r_w=TpF?oJB znhL_w=^Kqug`AXW zG zr^L?;H)?N>T2dOJi4*a&+->=1+f-5#p}`UH7NYCC9}6f_9-+MpG0)FsKPE|}JVHm3 z6GXgsZu_%{Ate&pdl1hA`qtjQCZse%e+uIM-SpU>K?o_4(4B#J=cM%7x61`7l+d(* zcv|$m_ha)w$|F?FC+0=o-jDGCDUVR*op>0neDhEu#&VrYgMpzR-Ow-BTySU?*cSnNcbYhxt{@zsuq%^_=KH|5t*@FG1x05mnbI*vs zy0BI3kqG$90!)y610q7@RQ|uIYovdJ@GB+p`ngfPpQIj$1{L+UyCv~I06{>$zX6Q+ z&7%9;Z~p;MO9KQ7000080J?UBF$aHed*E*Y07H=h03`qb09J2uVrg?zP)RW^FfKDM zY-wUIbaH8QZ*FySUvp?-a%C=RVRDRn1CS=&vTb|Xwr$(CZChX4nrYj%t!cZbZQHip zJ81<3phc5fV{!}EnLXS$;ea1%!S^> z*2vj8IzdNaK@oBI%feny2BQ%&APn990=$KgVTcV|7*&!zp%r?z#qQaZt0>FPi|Iw} z9k%mjk38d~gJ6uaRL4D>Jt&pS`RM(agC+a(_2cr}4{~-F+1(m=U(+ipXM;g}OApPV ziWuYyvjx@#HdfXurlcGws)A$K-`1Bu@_$}FbN0*XNPcqjpWf|M&p%QcH~TK%!ejXDF zN+R97uD=DjU^7jy<@C^)>l65wtCSpRvYX8ZQDQ3E{P>fH+DxhY=fHJL(y}i|p_;`c zXU9l0%A^<0Q;zk1nrN%8KAIgsVtqD@!=t78u0g5ieJVo)`t1{EKah=1%>WYRO9~!| zRxq5LTBX%XQOfdvaM#3JM2Rvo$&`ZVDgg5osjg9h9Gpehju6N*&W|MOQA|J(5m1!< zj^`DlvX3#YfYG*u_DvL)1E=*N_b>_DGuoy7&TgJ53Z9b}RjOJlR)=x?a+GFojKrbx zsXVq_+^uTy>YlWfxrTU{Yhp)*F291QRy|Iz4l%2W#|8+cH#c^p+A;c>7Ys~1O7GiRa#QvH+ zA;sH07$Q=Q`04`VfNgU+^rF@o|yO<)dP7R8Qef0^p3!dSaKt--U{vt+4iHJ^`h2=Ik^}f>`q(8h?(Wj-&53}m~ zd>r^$QDD6-trac19lg3<>4piH-63%EaqDs6D|Ww^6*Ljka(s!*{uM2k_7<~xwKbL_ z0%!Hk53L zkQvFI6o*hP-RnSHpa_nf{#{7+gZ#=#Pu3@uALy@C?d)mIwf&)q5gZ7J@_(mF<;HDo(~-A+%v9IXOPNvOw9u|imlGJ(*VFeM?ZH;iC(Mt+TK zyvD9Y{Ci01JBVFt4^EiAhs|E?%^Cqw&Z-`VV#Z351^-m~v#*!=T<-U7-*1fJTyWTS zBaGDjX(5gq3l0$J`lj)TM72gB;An}|5wLY!{mdJlA(G@BQ+c#&uDvrFOteY>dwb|( zu5DH;3avVu4c+4yqUGL_J@#nye#=2OY_Vk~-F54hh-z|oQOD>db(8RxjDl|R4Q3H; zmDN20kGe~2bH`bBIVESfb!r&{brVTf1r+SsWh{t*eexFU!No~B>C^@sFe2GHI$#Ae ztUb1Mr#2&`BISmb?QGh6r1Gj^2dvlFRfdkf-I`0u`;fc?503kqn0m5UK4QS69S_^> zKwS0N^~rD%Z)G7yJFFBQsAPF-@jm<2Nm^fHL_$nQYw13}x$49jCCMP;-IqEGtQ(cK z1McVOI5~G6S<_`Cq9yrywU{G`CDi8puZSsiGKFjAGP$jah}fFvz5`dSt-T_-m2S~e zwl2ln?#W5?kW)09xLnFKTin5h#*Bja(anuN`jPRlgDVy-ZU_NwJ}bep$si1JY?TBu zDrlHPZ3duC6%bV@?E~dzxuz<5uMiZPqR-oADeZu1OaYL%x@Kx zML2yZG^y|^tJo)|_pCTod}LXqWJUK`dHql~1KfzFzt;Ph;95459Wapecqw&6|{Ek6eHXlBBQP8YQGGV+g5nf|I{l*^0h% zsZ1_yBDGidG4CP5zgfi`uMQ$QFgNyjHOtUUU>q|K4tfrD8^CCga0!9cO+2ye^4lKr zm`;!VS+R7~AMmf_(T~p8zz5P_{3-$aPU74$baNA495!xHGgLJe+J|K?*6JG zR!%0awnk3EuIA=uPNb?%Ru&d!PX7#p7(VDeLB!zgm&8TP-aeGDVC`0SMZ_vv*e9E` zfuOh^TXo*d;BPmIdqaJFLsaJYvBMnKzuN_Xs+iO~tsg7(imWt$3Na8iG383C89HF=)**;5y8`D}R`fs!Tz7TMC= z2lp%Q4ya6^SBa^v>kV(e;|*uO=Z#5(ujex>phpj~fZr!DCiuw2&0(!7qROJuK_tX< z1p>l#YC$;S5L$R`ki&q2ReECyFwhmOzEa{c(cG90(+#pcJEYvDTP(ciBop8(v|qV! zyUrkuI*Lz_J-$d6gCF%zKVqiOJrsvU3chO&W4Q1V&r68$mh3y?87$le?f6LzCvtaJ zndHWN5b>h*X$W)X5iMMidwByi0%!L)o7b}%nXz~Zjf^WADyh^C>H%Xw_mOq>JgO_f1yD)|G5YD*3d@uq4(Ld~+`Qr4CEPZS-L7+)LuMYE1eb&Z6Ku_c!c>6(^}AfLCfdRv14$7wGD zeN2;{>4BgERdrMfCe;yP!W>zPGOB24hhEVk9uk4{PpBn!n)oD1UR>++{fK}iiO7ew zRpGhu-%JTN%o*TuIxUC|L{?l~aCGuZZkxK_m#(_4BsQ+5 z$>(BZy7szT@2S>w=%gR|K9_^^0r8r0WMC!c0N+;VxqZcVzY zcv8~`F2p?CBAOC3QK+B-4Tkx{DwtXgkHn|k&;SiCkp=o|#Y?TGMLFVs2n zjAo=_fGYgy$_us$bTGfnn(WaGs9{yKOZJY1S6r6zgc(ch7wjAiCd-|34Zl7bs57#vMTf<~bF-bFxL;VfOh552iG2Ed z#yPEb(lAqNFY?2wj5y}zm05D+A1MGJ3z^EsiM&i5MHvu#D@FNsvU93@67|gk4>FsQ z>sHO817M~QSsuBWZXRT5aBV=m{Q%_z_{IicPa{goA*SD*oZK5OOXQk^k^)SVX4Ij> zqt?#%%-@+5TvbpLr#l#CwHqYYcY~`NSr~i^SHHyXI!kOK@hB=yu77R+9M}iwo4Fr) zVX1f63|<3<+WN z0OC*T!_gbJ-#OAnGOv(uxMp-cA|VJEKmpQiUP+EU97{zaZ$mI@oPu1@BJVJ3-jPI0 zF#(hef*a~TMsf*>rDEVn=JcXwn4pQ2IeTA0`iKP}ML-afHg$$Y>pW3IlzL7uF-Tm1 zVZCu-qZt+<2u!e;NY8gQ^{h5ejgl}xNzr;x?N#zmjBH8CSize{1F26BsnZDsm$_Hejzb2o~u8JD=!HLHsMV*KVw(Q9xibTBdnNDITGosr*K>2RQPtK-`c zf!H2jug|n?L*Q#A(76S2=N(B7R<}I^Oik7-?)d6?HtV(=yCOk ztR0AbQT#}YomWV^ViA3%s@o!8n_j{6o67hK2=~i`eJ8_ufp2@Ix#+FE1@jZ}>ynZG zNU?pxlix$&l=JHn`ena6E&2}Q7yGMR^3JxstEYs|RHemuehDNqLt-VUA=oK*vLT!$ zS1!xbmO4Ini$7DI+6}nlPAjwDRLTN>Xk*MP{r(lBHEw%h2LK(trpjYJ?^@pj!D7Da zWlyB7iRlShT4wT|X!VJKaA#j~Bhb0_g||57j+PUMPv-p_b3~-@)+!@3xcBA@_^*Y_ zTWYtY)SnuY>`(E+@NcpgQ8Qy#3sNCxXEP@kF%J_n2Nx@QyMKP@i2sjzQ_TLD%`@GS zb+#2n_W(FOcwADjAOKM>EzXyMJuyWp)@3@3pn&EBN&^_f?*{>yx&nx_r~|s%rrPlq zwHH7C_7<><;xtJx0LKk?0r!I0G^RMgD3)l|G6qZeV@I4Z>6>zRr6oU-*8l~-8g-!I z*ay?{+?K|mDraKI35rP&{4{>a9(|I(F{M5wnalR^0%0B>WaDv&c8GsOl#RJAjJpdp zdAxgT$tANYPN0t8v|cXFG+u(Vr(TE7k}kAKD~A1jq~QocprpcJTVo|!$`jr=TD zNfkzB%UgrWx`kG;lhh&ji0Lw|nlL1*cz98MBl9ezER6N$jIEHyf;Ah<1)FQ4eR!xU z30}ecl@-{d6p3CaAfQuZARvOjW96SLq6f}?`% zA(Cd88Y4p)+W4gNk}HHf?`3iTFDzMCNBnq$pezV*>;<<3m9DJbye!abs@%M^bMKIz zZgZwc6nyb{KlZuix!!V~<~!cFH`n*Q9!v$AKspX}gwsdZ$9W--v`^l#_Q{mkj(@2c zz~S{_3Azqe3b<}~5rPzeCF!#venGPFn<#AY*j4Czq4FcYy=V0EHwd|@WE|Ra4R0ay z!yB@{Sx596zV{;_zx~GkArbDL_MJL^`Fl!h`1X77@w?id`O!A1ozbVBG0Z&yatrfz z^2*qI=>YrDFVbd~FFHq@djaGYmM5FVP26wWt+gdEE#LxyjbBE>s| zOI4T3C2dTgBE>s}OE)`?OL7b5Ts4q5p+cHtoFcsc|tGI5JM%}hg@W0FID z%j+C40DLqMmxhX*2tH;#XSI%C%|Ui?)pM)sFPVM5=0|Hb8`;=1kdl1c{FI?t)m&W6 zhi-2Rh*@q~u8CP>Z(16}(E%IKuAf`LwXXo!>CJB~=ynv?HT|ggHFs85Ks7EWt^=~| zm>3BrKETU?r)l?dOxn!WYinjpt`;Q2PzMKW$Q*-9zmcl8#C0%c-Kqmv3-DMSq?aiD z_$GrNGeNaZyImYDsaBxoS|eg3e(pGNi;|vnXb`8>GWB$tq`hwZ#wXu*)e?W|(wQ=O z+Ox$dDP~veoN!>EuXgNa@%k~rNhe! zm>#;`)Y*`r8*SqV5fWx28OnYxk%_`i#8tB zlx$b(PvuJ5?OlsPTIhCMZVj=nV~RqTP0;DdqQX=9@s`5s@yi%kgD>G&K71WdW1Af~ z84&xfOKuHkO`3WYX8%NH6>VpRQF%_h7dSU=0NE;Fd21!Eq$(Q6vZZPKnZ4d-$mOc; z*Dx+eew;0AX$h6FAip=AT+}R`r7tEuG5RTk*xAb~A?4XHr zBY8YwuAIQhwLznESj@a7V8?Kt(t@`#zKChEzO^6rU{7?ch&l^^;!_76Vgbq*+7i7( z2p>F<6qZIU9~)-17X`^5a!z90o<;<8$B2uRTp+!(kSLyE8+I0!MrE#K!ugrD%8!lI zFqjn<7SV>}NDk$L$`LZ4g~Wuw0F5e}gNtk-F~DWqEx0H}W3mR7o0qWB$pzBCq*dOC zhYUk(oX@FYxb_xq4Ms5Jiq!cdm1K{XDfN7QdIhOYlGgk(8p#LWAZ&*`$Au+QN7L5G zktVX5wz+O)YL6YgrJ*%&Fq`(u*pVaBTXSQ4k01TH!Q;muJUWloh4C$6WT@ta`7L84 zA1%JoEoJ1e=7m{Z?BG7FmlkjDo)o%5okzx?ANur9kCZ`Y+8hflHayN zJT;9dy@YD)y{ZmW>v9l!?L-T+CIPk!U_Lx&6~;+LE+r&@k{Gf@MS^$4@2wnz%h?Ad zaf?_YC!tpeB<)o$fye9Z{PSxx?N)>8?k$&Y&=c6!fhel0^@rzIYndQ`2rtXSxT*1; z@nGWz#9uNeF0aEfW0PG38!9K zCBh4KVRFv9?7T&%<)|8ewf=0tA z%6qjRv%)(o5T)G6&2_Hcp!d^-v|!t@ZJ4)i-mv$t!(B6W&fn1YcfegUbuQoV_rJjr zFm4#N&O4;;28JMDU9tPDIK=Lfgv4U=o3}1I{(m?aqh1!R0dfEZuPR zAHyM7qN`k#=O(^$@=fkP$>FN|V($HrAEj_%hL)5UMgp&m6_39l#T`NdoPl?yu@R!r zWeLx9DQ|`bY?f8fUx@6E40 zuZ1^8tyaPW_A=!_VDXU~PAd5Rl;Yw@JTk7H|QGTI6hw-EErCzGvC!-%J zW%0n3U*;TSIYj1`dY0s#LW zaW^Es`%e%XS4R4>%FC+80v25VU+k$`T(<&m(^_ znoEFs8j5dt({)8L;+$}&jS+e8`Ez@@zXvP zl^DY_qO6({tDO82n<>TQ47Cbv=aP(KE}hBQsEW1>i;4!;HU<@fnfJVQ-3C3qe5-Q!$)K}^#zpSQqO&=dh2)HLHEHKSCpNytYR}|5 zwt4EAi8B1jXzRoy^BRu)`w!$~Zb})kqy|Q_U$AOPP1e@b4NRcUCje9!2lV7iUR_D7 z*nQkaCH8fx%%Ui7P7EAJd^0yBUnq1H4uM?mJLIzpnR2fbrN@CXJi1aERT~%nugUVG%7{=9M`^>W; z<6=B(V#pebYQB2g*~>RXz8ohg63cJeN$&)I&Hh5~Unk@KVOI^~MQ z_G+smVP8ZQsc5|#m4q?~LK3k_&Xr;0VwIIKsL%?TwT+gk*a_~rhfMGnU~3#gG=PK- z$RAAZ)}%t?5N#df;1!;;`#IXhhA$0B?QLC486avxru=9N2Y%(gYqW5uewe zg%hL`16>ULu6!W6&Wk!#5gtd3TLn#a_IP-KqK4IMFqsmehM2Q~LL{Q6?rhJCFlQ?l zHT*$Ws@y7GE;^zncnnZ;r%zS7lkA3;-YwBg;BGsD9!0veC5h(8nY1(-(G{HzB@&nk zUOtYsZQRQU9%hHQ8R#pDE={XvipC1@!)v@26&hvWL}Iw|D%d&U?m%1PYtogyx1BJa z>SGDH_)1AS+MgC?bTPMi{`LEgRq3%oL}QuygF~8b^=LL?MWckw-cr!Vq%qsTsf`G( zcoRfJ^~|3|oQ;KJq5UhF)owO`ZT4yKM1qeQ`?2pGMaxvOIsOsdaZMtR&mA@ehhLcX z8Qit@emIOE|FiJ+mprqaUk~LdQ&(OPpC}K}hsErPAckRM<^wj1Hiy@QP1gy{ucsW_ zOM&>epjQ-D#@2p{pP2AWlF}sok?$O&@bRO$#6t3QDx?Z=5xf1h1Q@1XM)6sq2}4vO z^9#XP(jGBoe8Ze6)C28d>H^sV4~b?GQm-elJM2giMl%~8-?AY})ryPk2yb!z>f5y2 zA%}yYKtNFtKtRO*58wVzf3{JPo;1KwY@DBb7e#@1~R-}z(VKH^s#e03P z|MdQPj35Al*&j`+zcd@kf~`M`G`Na7=b_eb!;S3G1!}(|hj+|aBad?CqTe5ky46=S zWhNcItzI%eW-s1fHT6-YO3xt8YYV=vM}$rYtV)Z&zWitP6IIB zZQNy4z3c<_td^Up>UAx2gQH~3$Q>>Oc+&&qY7)Q=tF|aW<9}(mgMn$8WsomS3wYP~>a;z+Ya+6U|yJ^z;ZdH4udCn@Uo!D|kmG^*b9wIW{ zxAgTiP(tGJ?eHIZ9)+CwE5l)O`uq7`e3=zyL9pqv-_S>3*I-go#c}DfIlzJ9M)u3( z?ec-%Q{s3Kz(CaOgMvmv=Oau*J`jla_aO7L-o!`Dxgr*Ko=G)O&m;mWKY4|+lJmy1 zV-@h<2J?T1dam5$7Z1l}D$5HoKH#V{Pxe-7xtlRIR9RodSSf8klPPgKE7L#(06C$SC4wfBvH6>rpWf!TG??&V2htt!T-GosF=C9SlL-P|ECD7E6*#U>Xp)w201VVgn>X4E0?LFq5&gOip|WqS&H2h zCoYLlp&-l3i}DXL+zev4LSSa!g1%D@`_6$tNA-(Ln;9(W+vNVEpXP(&2T~E6uDEQk z9vsntYSaiHeX2LLINQcBD7Xn6<@0V}Mn}gRy-KQHs-^s)9_d z&U0;>-igB=osPaYJHe_t!%l3=W+-f>%42}zu=S8r4K?P{+tGgB#gjL8Ul{RQtR$ux z{Sof)UP-oVHr`bPU&vE$gHIu86w;00;^A$ALYepNs&cqDz7$f837J6BOH3IjI}uHe z!~9Wmk!&f+O@$bljGU`)ott8*w7T5S6lb570Sszose7hPBrUCBHeHKWr;MGfUv<5D zAt5AnB;4kVl_u~|A?r9yKONGSK=b9#nP2eUEK1s41=w z1qu=rYgp}{%a$QaDBbCM=nPQGc2^e;Z*(FToo=~IYT(KyYP+g*uz)~|eey4=l=XYC zZF9>acYe>ETW4zhAW$RsoKoi;4BrA2H=jAzNBf)ilJkqP_^c$B4KM7tFer+{3nvaE zFDL95o?QL21xR%saT3W7_LD@2KFhdRky4x10C+_;?odP`Zwo_&#Ax#1CHnS3D~rZu zIJ_UeP{JKn)d*1^C;4i%5IYcdb2X!-)nwn{e)!)KKvokF+KN6wh55aeDPWD={mjP| z*82=PdeE>W$lu@-HL)dVpKXjiI=z|>nipd83fFDA0?Pj3O=^_HYjTiDd`(ip86zZ1 z7-H2v3D!9jrb2MrCdS*J0B)xOPuY^|zzuStzmd--%0)D0U&@I#YjQg)h&6-y2{CEO zC3?=Gn;>ThjP?6FC6ySXXi9z_SO52a=|4f!u_^lXC!!ku9IF(6)6OUN=ceXjW&6*t z3Rc@zLD4|{q+c~nj2rj?Mur+^y`C3eCRQO8ql zOAJF^0;!*ZdrH&+Jy*OMRboQ}(wxbLb1o$GUOMwJ$vf4|sp^-+DAD!BpE|Q*rKc&A zG%06>1)KSfXe1$EPf)NQ762yPK_>qXypcI3lzv+I0SBa1!FU~ z`5Kw%nB}i-dDKLq+VE;%ogqpC^$l-P?x2DQn}ilz_g+4a2eJWsUYGn(n-LVhApM%U z6yT@ASZ^?@hqoyU%W9YK2Nai5Z!kN);1s{+Z-*=NNnr3hd7;cd8e^FQfiC?$xZ6DK z;|!Dyw%1^s#z0T)v5XO~J(~uY1`-K37{z^BRs589U6jAVExqHXuB0iVMDUe^-lH0^ ztbTu+$ID{q>>X*of8)I1**2rYex4PWeVmj5I|^y2&C~lHG4Os3$rs@Fj`nZ?6O=no zB+KmuIS(CY4!J{J3_gZINyEItE8?>Y&L?`JFX{+Ja5I4T5(lTu21^*oR3N(G;%q^@ z$2+g+fdD%1F9qOCZ(k1`IbulcRlPxiH~kXl&4hk3v^fWFzy20fVvEef9*ZPzb)9a$ZO43S&!x59kfvkWFt9g9J2n93*TZVnv%|QT(!CkaHAH z@#}}2fKXq;%7D~Z050*(l*GWb3Bz&t@_%cE6&bB?#q+gFIZz!FfDO!j8L1v4r`QNk%%zudU@f%8>} zuH1$YwhY_prveu~lV%qsBCMJMwPWh!5HbFpqonj^qz`_K2d(QTnf9qFIhgMwB9rQ? zba*Sq9Vt>#a~EY!t7*14wakX;n91&xDdFZW-KB;xy{}`DP6uq%Inu8h(QhWuxx|JJ z5K8E8d)jBKP4@J7o0|T?0nrd5HmkktPnb`x_lcRJ>CotA0u`9>sf?zUpGHBTm=C^Q zvpNrQRt(B+3RQw9jSBM9*h?@gEM^e4)ku9mmDr^zmHfKPM6r@LMtiB3MkE@jnMf?y zjLoN(!nKN)oQL765SPNSR>t&XFD&1|{>sSFyrd@YA5{kWqslD*pNyy~o0*tdx&2p{ zkgA^ZygDME4UKx$7!>Cq01`YkXn}x;`D3U=Q8JH|GiV9ld?z?QIg&&?g*PE9|10lT z9w6s+#VRy3g-Qwn+V?v4%%!#{9L^}saQb3#v%}kMx{c>~`zxm#=x3Ncn{4k0acoA2 z^NXgRZ^B^di|pVrHZ$YUZLsdIq@zw&*XURr=GTCT+95}!elYsck7a85%GLto@Vuuh z*QK{UvKc*L@{Pv8Htb#5`TGv>llA;#co32mR$rrs3%GU5+B!XSon|uZAlq|qjt$g& zfa4wbdQ*R7kn*YG>ft(=+2}fA&}hkJL}sAA#0#Kd|0l)v1MPep;I(;!LSC$SSZsY8 zN@hi;kK%-;hUT4Y7#5^gV#tVk`tq11FbZ$reZH8PCJ(G{lQ4^(jUY|uNQC4D;z~S< z5O_%xF->n)GkLPI%R_?m_mO45QR8KfWw3eev~(@<5bZFGsA_V2V+zL&o#SK*ZERFy zJEfy5?r=cN^G$bz8J-4H;XWobbf&?)F0e7^+(@HBL0%AoDBHCxWr>2gtHs+h&h zp_1)e37NPGi}^1CxItlF)Iwp7v2VI{Pth8ECgk?e1PEO#{Rt`XLyn?rI6u*c^_PRQ zh7RyUbf*`sU*ZTNs2E9=-;c|8k4YIM!hPrC1cHCXn1ozHZ8a5e8dlW9RH)_>s%?t2 z7x4PuQFN%h5P~QIy&`G7LUFxfd9DpfJz?yrX7!yydQnpq8KOH&0S9XAxmMj_BuTu* zVVxEk5M%PeOB%i~_4y>cgNis>EfAR4;>=ISwKc%733LbAx_(=O-&zf%_iteum8sC) z5W3Ph$T8ZJ_jAIK_{2(}bO4{R=M?&7l7ioxC*Y8SFM)>|pQ82@zHo~qt)$_aq+|pp zj0Pj6ky^kPmq_;P(3s#SRSg9t{#~T_c;<8va!^;9Ft{OJ@8BGSm4E!6MGx!);jh7X zTPlRN`9~V7{uCYT|G&Yg>SSc+46t%>`R{m?Q$SHddd zVJJBe0L4mLHNohcLUg$>AshZl+>-FpH3No>A+CqzdN_sojO}XDY0oW;Mz%tJ{kZ8p z&Gnq)Ie#pGF96IKbFU;C7fu*8OQ~vlSgV_qT8C-DhBY4QKphm0NDei7#-@YWw}Hr> z-|@4?{)B_ARJ}!7dyzJMtspmxys^!uge8k23f0<8%Na0Vt>r4=yyT+8S`m5QsgI0P zLWGH^)o#{i)5it}VZcZ?-z7O>3Lk{8M-FCTO(tZ?kd~rZrlAq6x1d3TD}`zuqOY|C zP|5i)RBV<|j1bdl$*MSQcOpHkH-qvnDd36Oxfl={2+gGOh)E;a7{p6_WqxZVU5CHM z#-`yQ@n$J}!^U+9QX_`_6cc3UV8E4Nh&<(@Latz!-TK znU`b0Fo`<2es~Je7B)U%3wQ`Y+a{K}&OlY+iJ)@1w^WY54yY~jw7^&FirmS@8)L^R zdd82Qqr9<_)F&k9?CY!FEb=0#o<>a7Y5qc53wW82M1Y)?AU#QxSY7H=qAAiNaV(JkOT}bXrk-m^uZ)eHfobtS)jFR_ucK7ra5tytF+^wc?40@(K?t4GZg!uTE(`z|F`^f&!6b=gri0c0@VE&m( zXh8X(9-@7HA2qkA=h+Q|q(^K|Ak36ABx#NS7P3omq6DKQ9Gbj}gWb#y@4$gnx0%I% z`q{jQzp_-QT`pFoEhVTedYa$-R9^}xE?sP1TU*M(_r1 z+j{P{C;0x@TL@$xc?P7uV~*bPvo(1TK+BKOBfX&?$#dh0<_=-Gp&>JGVCaYu$xy#C zy=Mph4Fq$1jm9B1f}y-sW6+oS$|8@U!9#FR2o01PLJfB>yq_9h)lqa%!&=|@^Y%eQ z3s>zXF2V$ub=L?y7K{;PSj|VScNsKnuQk9PY$jq|%_nhKLW_53@0PGT*uKF-c+lPB z-41cP|5@u@us0ESV(^mIZ)8t`)~{-Z0(W15t0x!yC!_+^OIw5i;}(M&?_?B(>brDr zE!w+yuRYqkd=Cakiw=nP2J7QRf(vo#yz|4_Y`k1rTU7k?xt9N0%%hhwhud9)z`Rvl zc)&J{tU(t^9m_1ixR$RubqbTRxGh|G@vA&ZIS11nFEH8sYEz8{2lxOwaPk)W(F14K z(pv2K>m7&*OZL%Px2%7NE~2A9Q~H$8C_)A<1(b=eCkdVo;NTAII@dl;+|R!!YGky_ zYD*M}p-!2bsfJxPo3i7RCGvJW2N}FrV*^i{9#&C>A^dT6no}gF*<;5d&x{ z#Io5^b15^vdDGHKn{I(lZc7A9h3N%{zZHp%%H2GkxcGLQf~i+|3>8duMX)Wbp%zTX+@kGWa_{4#g8 zKVR#meA{}vEVEz$?15IT=-0D1cIeA_68(#`&3Tbxu>lsW@4z@Fe!E`oZH#8E*K=O=Z|^m)C8~?!Bltns_FT zwK&PR+N5(((%34xG=G>C;*5@L)+mgT&OCW>@Md$?-_1ca@HG3=PF@ZAuD9HWJ`D{G z-7M+GE~b(b^U3hEsWc{)S*i|2M;D>8@GlUQLP`j0_u@x`x25yjL4U_n#`k@z9RRY0$L0>=FM@0(c+!RY1} zpTM#<1#3GJthoF2ydC6MQ1UgelY!zNKGKM_ah7`UYksOI_&*uBA-_HppMca>_8{&pR9;7G=*?nh6gJTlklZsqaM@v!p)aI*VE@Sp>ObL5Xha*)+V2&L@ z-oAi9p3$?hMTYV^WaH@BP)^w!hAi=ie!TMO*spMU}soH^MlW8t}tZ%}uW7*9!qFBjeBRewQs zGFRCtPv5TO`1BHdVeXJPELAr*n&xC+RoUpX>5Hr?)A-% zC9MPNIUMKv@ z%4Pcs2{>-`xO$5uDM~{cdHPjFNdtO|`|_jSxBOaR%Q;c6Rm);sDP;_VXE5PjA7Kmp zoxgtW>;ZM%I=c0ps@pd!q}+zyqQB1W!2E{axApJB+$nViW6QSmj<$Sm;f-qZuFE^b zJZh$qU`!o5*l=Sj3P}QPY)GRRoCTiP4t2a-fW<)cDSJXh4_R>g;)I40;X09l|u z6>L>>jBMM3+!)d{#>i3S>dLE6QWgG`&Q_EgA;9mc_pPOK7uKeiQ8&cWgKpmCrLa1u zN=C$(r{4|<-$M=>EVe{jM?%>|t@HnF{4FIMwmFQp844zQkNEWP!p@ZU@80L*S|DRR6*2QX9EKPh5jk^=>A_>tGJb|nYg_Z!012! z+g2Kv#}PuTYF?&gXGaJe4Frk^0(>U_U7s8R0HU^RKJ_U{T76qpuBqtjL8 zb&Oe8)!^7BYUwm$+wL3ezV?PKFskXZSh8uf`TZ8a(@oA-|Na*d>ISAb_z-^yS4!J! zj!E8@_NpepW4zc~v2u4i|Au8*opZ_w!SEZ)${+~80|fl)Fukf0s1xh>CY6M9nnkGy z%mkXVs>Q*fC6Y{MxCq>l&lBzbqG{%jhI1wB58>V6FYuvgf#bkRlU`HCUDq0~dxXF8 zY)ch}z3_+Q&_Cro^WX8T=wxPVZ)9p^XQ5)|=xSzX^53Pr&OiRW{S2Y+qCF&*MpJ6j zY@(Za^aExk0#C>Yh*L-Q?LBqVRc~o%O%+G}3j6BCh!)=u6zCx^_!*JT2tys5}ir4A-&7qf3o&EbT+STQrosnRT0p=OU-M3x)akRj;0c(&^teR3c9`6o zn<3t27I7L(DtV?1?tqn6>u$uVSECA6scSulPBkh;JnCB1T~DQ}1~kh85>wb_nOx%$ zoKi?kw^`__jdfCH_~uiFJt8|)%Z*#Wq$<;uZGT^q#~;YafZ+nNbvibf0-Y~ZJAD(w zl5CnyEOSh}njiEgH;-e&PFS1qkSy7Xl`!mm<`{72O49Ok+7f@GB(uBo?Jgh`cS~)Q z>DCDNT36ZJ#+-z!>g~F&*PvGT_dU!Ksumt|D^bop%su(XEk609aZ~y%pw%}~>89co z7@gIIKQaMg15*gTSy=#KK%T#EKH=%vrU_+|zcuCK{xEffMxpvg11CP?!5f4)fpC5+ z>pW@*RfA@q6FLbdF+Bw-qI<}x+W4VF%Xd^aU@Y`c3qRGzl^Z)nXc|}+is)4B`EM0< zONYqQ1dWOVGerf^{2#`?0miqd z+p_JxZR@se+ugVE>)W<%+qP}nwr$(C?VkUxVra&!Ce4I)IOT_MvBgf?`PU4-Rbdgx7##@c zg#Ev4P5n=f{2Mch)S*2$MW1|bS~4!_$7-z7$pG`XfU~5Ayde8We>MPV{G+6mRYfA8 z9*|<~EbOeHe!ELS^-?AuJ3u7{UW6-A7St>c4h~jFm6BWfJNGvf)acVs_uJI<_p@aF zk2had+RkLgi`U3x2780s>p>3g?|il3Bq{cL2~JNYdNwx+y7OY(cXaxs{I!7z`>}zX z_!tGAO`@lgt&&dODEm1srEujliv;~P&+6D^Nwcc>Wpjj<6ZyC)y(rY2IQ=TbO6Io) zvKn@`fH540H-}HRGv28~09lT8{mS95v(v2Ae#I_5X~gc^o7$%Go@!3se4 z@S#P~n^QthoOs(OfU-J4KV`C;FUDrqM#8Qj#AdwcSNGaL%i-MFrxn&V?T}01YqfM6 zYf8@uXdCM8jmImbe878%nko^>-3#jKp2*?3a2t`Qd{xr8n^q5~VjaXwSp#4ew`RNY4H3g0#Vg za`k$nq0vUMQAEaarRvn+MCve0kpEsNJEqzN{NqO|OvXP`)OyOizV3^g(WEliX|=oD z@7&26yu@o8Xcxg@Do8OOpIE^=_iE`USquy=u(qwXucG#3eQGP}Ms|*DEMKzLZeX3? z--|^{rcB1K))wp9`7s|MJAk_codQ`271WIBQn{;56k_Q2t)4=N`Fug0GxKdOV_rdj zNBSD;&ydk4hCK#>0PExgu=p6jSn16aPfZB(e&@2+4zDcWm_zro)grbpy)fCBkSva{ z;J0csoJX7kJEP!jrh`>5?<0Wsu@Jn2b#8e6TK_zJlU@)vtG1Ka)OBUJhm>}?V%M1q6!w!%gpl?Wv=Q%JLAx5$-bHvPj^O#EN$4PL+?iUCfiQ(XDEkq2Fm=z+2l7X)10Ces9Mi z_WJ%qu}WYKXLI-bW@)!PC=G_U;|-+*quP2osBYqL4R1l^|_IGo~1JP4CB)G zFLLjgC~t9>ViSi()@E+A(eNoHck1Qu>8h%3T^GZM`16HSf>3YfZWzIZK$*HQ1ltx)4P`zBVW=$gCBu= zeqpf=ELcYgh6C~@Qp~NysCY>n2k6~r6fG-GUGmzDBKN!6>@-d!LVs?sEu~~E72Ry* zdGg!?x`*;=^-QUr#J#JhDG^U~PdhS6=97-9=o-mP9-&Nxu2k(rOO~0x3X!1C@AzIX z|H=#!XQ;_Dq0?kpoxwKOaBk)@PPf1{)#^Uk!5+5|1EUhHYKqLzv*i2$unV~+~O4)F4_{NH$=# zYIx78-3g1q(S40iutv@yi!#;DKFT3lC)^!RcC$Mh;EBfEv>*}`vrCzC5$$5*O4 z&qOV5rc@bGYe)wS%LLBR2eN~a%DQ0OF00AD-Uj|w-#{{;PTjs1)-3_UnzLB4W?1hV z!e3rl-A3MH5yL|d*=qX+5#IeX9MB~yHRS^zC zJ0%3adt?&SX|FFHu6>7frNn983AZ3PQRIyxtV;;g9@*b3MCqmKLarN6=}H&@jmT8%B>MSB2wCyV4UKFms@C1KLQL_s{KW7+>#-%8U zIv8rp72|(Li1rwlz9D{rXjmvRqm3FumJ$0^L`P`Er3u+lIQdIpW4Ms=(r&xOXV;&$ z=y&fs7V7HXMbuMK#fKR6agk6?uv8yXNMOQ0aSgt9`Tmt=t|m(+hbPIC8E2?G^bX7R zhhN%4P2#z@6h=;3_k3r*}r0uJ>zi(jmdqR7@$E{&}BY4lB6}2>cbfuFj zLg!ee&~<6Q=YgN*o%;)|WSOBMDOSRLM8PuTjvPTep`VlohK`bDVALPXTSSc|suJRz zaVuWpH#v1gb_#f!b~y+CA+Z_7Wru&j3Lc0$D~%CM!}a4N@>?Nt5v$Ur|9N;(J3uN5wERTH~vm6i4w56&mdDM{b2>`Y6{#l3XZlG%l+t=)rM;YtwtheeV$ZYAr)O!w?r=&r?k*0=L}po0=V9 zAs^sAy8U}A2~uL$@TK>0Rm*a~gXrerv9wqnY_UVL`76<%+v!{wg|0%QbML78s>deGAbq@hfzls3D9uF1DRu9A#jbg?ZsoaP0JnhX!Bzg(**Lh=0p| z!8xcX5YJ27%?jq!Ma5;+hi%cp3d2Uk>+~~^_yM~Gqr?NoE5e$jIKvbdke_je-q-^W zfnYtr83{5!aIZAqj8%%lsV%oVQ(|S3Q`*V1*z{KNN~yN{QhLg*wp&wr>T2IEIX4)K zf_?sq-33BokA>Y4=`g=|M&1z}relKDe2MQ^X8ohq#PesZ>0_+Hn?5ZdQGq*qx+}*X zlCq|`7dxM^iDGzp8DYM4Jy>wO1~2~((psp6MbiPI3@8eEE*pAY0m@o*m(4CV{9r2H zwV~0O9x!j8DELdGDS$#nfpA=AJfCiyoB(ak7_%m$cmdsiGtRsc2Woa2fF6lZm9^%v9R|oi(8rU1Hw?=ta ziH#ZZwdRx&=y<`EG&pZ?RO}0iH`-fM>k3@Ns&q)%2>XFT_xxCqag;Z)i=3=q72E+& zWEI@5T4gqwS4;SB-p(x2R6AsYVWrGN2H9t@DcAQ*Yj&l2OXVzKdRa&XN@EoX!nh5n zIXl~y3y=%70E8)1W7*JhxbTXZX-lVx=_z`Z(w&wfai>L+a=BUxkb#9GyY4mcU~Yhw zopiyD(PHU#-W;7NiwL~=&e@)t8Ou6C=|}F|moIndlMfU&FHqF4lBLrZELQVK3r9!n zC~xr85uiI)^{DK^5|$0IDK^;X>2}^>5)G&CX+}JdeqHo=gr* zyE??BN;5Z0zV1IY@blJJRNmmoPb&bYsak6qDwED7LXI$}pC`o3RYBROkf3Y4PcwdC zNu`f4Wt)79CnIBBd$<|0wQs&+rwdJ!_v;eH0!XStLMViayq;Xxzu-2>7yt zYZB-uJppy%0qla5A430Xq>5q#R(@>|`+)sYDj*fF`b*hZ)_1&a#sP3Vp)8Y&AP26F zyl=w|SC&OnF%DH{D-@~1n2Vo!mX}^S{Ii4{qnOi7yi{gKyHtN*=9?vh;wF~qF$&jK(!#=YX*!$95 zJmxGrth*Tw^_M!A+GW9~%;Xn!O_&*<1%+L=YCzQ`jGe&iUeV)kEa_tzxY*04@FTi9 zJu*Lv*j;f*-da?jCIz<_3whT9+-NN&u0LHT!- zdtzh^NC*^WR|iww-|aJDwuKiNXSQU|x5cv{;63j{4lzC8jqaLQl6wS6KLP3eD{{OW zYZG<4+Wxi=z^IOdKxvPJGO%@K!qQ(5nRo<(nKb3ae^oh{zp>PN$r%wa8)48#HF`e% z-a|^~oiaN{qclC(?aztWnI5XMtnptDpMa@Ugr6Xt4`wUr?PtQHx|V@Lj;1HfIW*Iq zWaHg-@QwP0IE;=8c}16+<(m>=i>&>?T?~f4fw&*p$_01>US{W7!7@YNNeaJ9?q#LN z>Owo|a4oDW_ru!3^9&@b^IKM{I%~rlRGCDDvt^s&1!W^zO2Xoe9Ps_M=V#d?oI6^y zX`h|!4mK_>fR1hnb@>Do-fD@j|3>KjRk*J`N1+_-<^0L=V@EL9o%$*8^MMBC2La^= z-izt&{reC4dT0Lg`44`2;4*QTZ%>|_shRHR>q#zPT6@rL=@vvlJG^CU=X*HOOL!KYax;&-oz69n zOIO9>RX@0yRGG)$__OU?OYa2fZw%+xjm6%Zd0g+9<9!c49|7`*ki~ui$~BC>7B_}- zOsm@ERP?HK-L*z(oXNr>9&|@Kt~46_5I**{BRnk&X982hA{tTYTY6OZ@w{!4SsPvvKR30a>-kErMPkCkwAP^*5IU^dv^anPd;%F3C(F`kLeEg~ zK@{Vn;o%5NS`ddiP}!Cv&(UnipQ?I9e{;oE+cG2cC2LBrNI7UKa>^~F(YDx#MlzMN z$6Pf66~Q+A??f)=y>{&oQ+5$T&7fJ7RZ-GYC^)$r*L4TjY0i%eY2G^eCm4O{LY{(D zm`Djly~G8}f_NF0a?>)#A*9a?1AjK**)aR-(HUSY`!HLcl+e{S5yAPQxm4&`^K{e2 zLaCuvRIL0dci&A(U#E1Po+%q#^nEt9P$Le=Y5$RCotPzc^1rCBtBe9kA7__Ob8w%y zhP$WVAWXMik3#|JODV{fdL3w3nT#2dkp{c-ZHiX7;^H_DXNm@dRjiq9OYNz=%Y<=V z;=hF7I;cN-d%5VRqRh5u(mwgnkBK>b>gO{PC)NKTHVMuJ@=rj zvx76_9&KA@vZ+>txYg(=8yb$N?ZVZ2=_zsYE6};D*U#znH6?@Xu#PZQWaI46l(1L0 zei4sofwk0}B<@kUk$uvIc(AURUUENv7$rn?j{5PChj*5C?i;5o)78yfx48q^OzhgLP6W^aAP{&G(IL-d>kkj@p76o;*+BB<5d6t^GDAK8lIMILfb%P5> z4})yEOfAXjIq`EH2H>`Ys8tjCgQ{YM6eawCX8EX6H}@lx5VfK^#cq~&hn}V1DSS2j z(fZRRp?yGn-;vr+hmmzKo?nya)ix1XRN+u6XB0-a9^ScWEofy`%(Ff=GOLYQ6iMV+ z+5EPNWOYr2HFrE>W;`;Y{4Ip{WG`Z+W-f6PTP-P0F%iZ%H7A|+cNc}VqRreGyUiSr zCewauf#!H5`}f6Do(bld{-jf;S@5ymz5gnXUJ|xo&V_gTo;BBxOc0un3@*0 z=%W@|1AM!mb^eV&*;lKQF2=vt?Jh&}svtpufLtN|OCzHHY0)g`WN2pd-%EFjZnj4M zqmv~`$>Q&VE~>Y-vq1rj{eyq_=8BcIuM5^Ft~3M=W(ne_^0INFC2ez7pD79BF#qn( zEvPP2B+0N1$v4G;TZi#xG6x8!*YsH%@6AK;$HU7BJ&>Fs=86XnwS`uZQ~%R4W6`{^T%18zedRf2lKJa(W0FRKr1JnX zEJJG|ZA71nEKN3`Z7C#nnPun?I_bjUW6Aj}($%c;?NmSN| zoBF$%gDA6-7BM=+4wGZHea(F_4O*Ew>8h*RLE64WFquVUhF$QnYxn6UoJwp3{^*$z zam_7NaCAbr=o=z%)+w?r$`{D`9HA~YG(k2K7><^opyg{k)E|AZUK)8m9u$U1tl;mT z9oKF{)n43Su)?;q6Jx&&xZqG~E$ZOCgLV2UD+;#>xp$FJybZ=L@YPKkW7dOwNAK_XndSI*gyKG^G zEH>RcsArz7A%SIzE(%=&{49#A;1Q=Lp<_jQa78P`YANJO8MHV%6l>q#@E1-i@v)Pe zPQqtU0C!WhHaFDl+e9DKlm@&>^q>_?G zmO~JPSl#<~>V3Zs zDT`Uyn6+lh@^C!dY2>Yyv|SH^lDO{>T!qy{Dt?=n-HBCvqA9zb#4vQ1lvt6?Dosvt z>b!7%dC$0XzdYvre80l_3Ra57^-kDh{?Zefext}9G=(#875&AYPqC}?X00iPf+QyT z#(^c|0aX*kh$c#1EbPh~m;n;Df7yS(el_+swAO!r)xWQ=2gp5Hp2Rx>H6mAGHFxJ! zQEG0cHs@3+O=2~eXJ|pS5c!?D;y8tka!aaE0rG8EPzjTnHRtG5-P}~2J~8edWP{8s zCQ(*NRZNzXmEvuoPyu6T4Cg>>l9q0C+GJkcUY1&}(oU*md?~rE+Lm6VWPc!5l%Gs9 zH7joDE{A;js7;n9PY3JBk)wj@MazShN9b9mlkoc1e+DAdv=#3ge?wl?V7x5Y4Jr*?TQkT$jj=N~#=s9kFD-cpMoe zd9GHG0dQ2^+hkad#qCH|!Yiq70+Oz+?6R6?Rva&0b#C~gbj0}R;eF`#>rH;>PQ!7m zG>z0rK0(afW0N%Ceu0B)mNFy)WUC~0WG;%@Zc>*mu#Mxm4sirW6;6*b+Ng3cPJ}AD zGID(ue}rnAEPCa~vq?626-DL;0jjuI-BROwOcMqrTJ9%lhjsg{2cnSA|;{`H} zi14yjs`U1~ZTLus!HZ|u?mI+OXvHTq*((ZKD}}}w#c-<3o@?~q6;9Y`zemDBF9=%K zaDzlIY{A$k$OiTZWUAU9<0h~2kXiM9^Rb|Hry3ab=Pq@ctW(YpY z3{Rj9o0o5|<})N1xbqxiF9k_&5G2$M-}^|<3HSJRKrKA>07wJIXR`eOv6nw;x>(iD>Oa z&(Bmr&tSLIMhMi1%byQAvmFEHAhl%)4Iv04`7+GmVgS!zCl(tQfNLz7Feyg1d&OFLIjQ}Gg*xL+c$r=*2hUcLpa0h9 z%pvU(RKx{owEnsW=e*j*ECksl?Ok~J2dV3a5&i|bji2$Y62;ADmrjhSfrKWHit=k|K3@ zHnGmBt$r9y={kUQ8(usSJGm|+_<+06P!(R$CVGvTJ~0s^C8pgWKbFyK&24nurT{0o zoqeKRJvtjVY8a1z>3IwWIss)X@9L!Gt`ew%;oB*xcF9<(%oXP~m~&f_ZlO~7>8w<| z4iWk}9zLjeXuI(`Wh#%%qDB18o1JT!*YP6>fzb;U$_Uv@e`2d+Rxw;%6shQ^$# zV5>AlF;C^FsbGhPg~krH9wLaw4nD50Jxhqz!Z5?oJ}}1g7+$U(rU8ESd{0b#!suwz zW_rwG&#zNFDj@WCUKgR+EF-T$*VT;LOe-w|fk$h3#| z0r%|Zi|}O_Fpo6?q}GJ*%exADha>n>UdJgs$EW@Q>18vEMvQ_Txs(gGO}Ojxqf%eM zv?kyMs=rFV^mqV7NVf2cb)JsscftN0-;O()N5~O!6he(qhwvkhv}vo{fr0S*`YJit$XN$)QMi&&-uA2pTpYK^7hL4ZiuJx;{~q=+v>22a z+pOA9BowM(JOEK4tSlZL<$`Fr$?ux#J?shbBF@s|3qj+tMh{H9@S8P#3#rVD| zI5PQr)~BSbD%ep$6+Qu=#A*tVpe=}G4Qj%xSs=18Q`nXl&PIU7${DQeB!^2m`@09z z-}7%KpuF@`>l*GEoGPuui($#%$o$aJ{o?V#8G{zCATK!q2vQxTsR0HVZOfMD^&?sJ;NWbrIM z$o6yiGm)i+=K%4}Ku>_~Xb1EP%~OW)EMPh9b2eDeW}^l3)e+avj8IaA(%%jgeQi~8O-t69c*Zds#zgb7r+2a$Sz z+}Vo~!`=26^W&XCIb4BOLEd??L;u=+OT+YKH+{npIu?W!t@!zKS~%xm2IvKNnHHP3 zdzUEB(Ua-O>B&#XoCODG@kXp|!R~T74pD*i!yhS(w8U(H<{;F-R<$S{)SYT`<*~k$ zFVBFZiZAKPS>Rn!SWPU$9V-l+GO@bw=JTg~7AtviX#@2BV`DmqCcF%{`yL!fZZ^mQFnSm^V+Ob6XbP z(6dsM&pK7=-L>;;(!uXFuie8Fi%@jSPJa=l0GFugtalrbxXwPNchR`Yh=oFs+g7 zX3?VoBI+rLJf((lpkU!(h@V~1yVKCVP}_YSEIN5TV%!BV=9OrY39@;{r5^CIDt1-S z;WEy=g&4DA5UK`avY(XwK7v1JUr$T)q4>L+j7UAm3)zJ6a9_cc$XJprp1$4sLK4!H zZPM}Hq*y$?0$TQbSm9Z^>|#55yND(Ic`1-u7^4ahY&=99RHaS z#RF?kkXI46c40S2xb+ShR#$>Jm4DR-(P)jn6>uP+Kkz_6)c+s)@V_}sM5$Q0peP}F zvjNgmwpn76VTPJzVE|Hu>LPtW^T`nMQm|m}Kiu3D1w$S!-z~*=gJk3Ey8gHa{)#T5ALAM7rJUP#X3lU0w-@iaxr#W6{0Kd`=VT=VdB48P2`DpK+!x^#{ zd#Vl*zuvO#9Px}kl=QPwy`(?y;?bGnpMILT%I?lA;CEj1VOe`FM`5vVqsaD1DH|HZ z__oW=1OlDJrpJSUi5ZDvQy-$lJ1a^b{z1W2O3=3!S~R5FkSvKyasu8eC{KpQNw+MO z6hydClS}AtPtBQ@D7zIPB&`^M<17&es~r6^Tv})tX(^4xWAW#369qd9`EP_tf4jP@ ze8iUixMN=^PCCgkF)#5Uow6yoW%-mw@37Inh!QP5b{rCZfuQCrl&a2BSa=e3G3wGF z&y2)x+#J%OBP^;!M3mW7MKs|=w64&u0xsf(-JoM@O16%O6+5tC-kj<3SiBapVW@vwv8INo~?iTt!%1gXi)s zjXK+TeAUAIGBf206M=fZ%2jDG_Ut&4cbmT;r&OH!MUgd(lRK`9$73Q5fV3sxBOn*i1hpHB0-)zCqxqPTw zjG*#HqF%73_dtUmT6+Gqfg&^&2!3nU%ctC=(h$l+EPCu%W-;XdB% zffh}_>+T8??t}+~>r5?Ob8vE)JcI4JanWbxB|K_lWu&kN;5~Ks&NBL*n~9|?UtcOa9IReBu}@4p#xqz17nq(cToZ;P4eU`wvWv zz>65QRVT=||BbHB4G;Ep?~&*0?ijxlf>fLa6fB1XN69Q0l111vSE1Bg#_7Z)UHJ8G z>#Ehm=^%cmkX)A|;jh&>ND4^&t(|RlNHL#kw^wS5;?!PRvP^=2M7YT;H2(qkHCtkm zhy2=S3oV5{v7)Q-MN86jWn~g&A%oQrJ!TN$MY{QKBQpppzZvDcww}mh2c#)A?`Aa9 z6Z2xXToDKMvCVCZ`OJ}U$yq5Q)Gkt4n=m3TzNB1SwnRW3^7;9XfZAtgqCuR}VlYgz z&Ou|M?g47eZc(Ve>@@Z5u!^?WAC9nhZ`V|vPa6l0Z`rK*4g4l)x(+gB1 zm$xr@>pk#h)dSSGCa`Odr86jph&6-WuMGwy9AhJs+OuUXoKgq;sU(4&6yPe7Ts@Ri zsC~9sa2(TpmrAa0Oj<__9_EmxK2`_QqOWx~9;pu94ASNe{SeaX4(o{v+O~&ZjBB?* z)w&pz$F+6wQ-6&t$tKTlU&N=LFuTEiM#Oqg8ohyUeEu~)pyS}29bir z#EgT&f5KiGc9fz>c_&vCrWBjXlw_m)M(}yr!;pQQr3IA-w^+Z`Lf>-3dGdU<-ShqR z1?~IGP*|2xHX0c&7_pxd{)81Sq!l0W0_pAsmQZuBG+3&inJicYd^iquzzB(p&{Jjb zHZNG4@oz9g(3!n;Hqt;PCLi)Zroa7y45!(I_8n>?39bw2bw~2esv7-u6?QdN&f&Ut zo2hGsvHSd^2U_B@TJzBhbtx?Qa^!^=kHIRnpr(zXm><_+Apl$)CE1Fs;bNkg+la>G zv`mJBl9<_`HCYu>W=W?BYP+4F)uhtKaMIC}<8S3VaV~PPD*K^&b@8$z=Hl_2p6970cJ% zjbHd!X)3aY&f$3x?k;Hlu~&Pe{duiSs+6NO5G)mokPA(TVF=?}jd^M$3n#tWDSk$1dybmq(*jp1UHHII5~H++i_sE!UOyE$`_HkFbh3w(8#w z?h^M?jn+3`ck862tV|{nY}TA;!pL-r@S$LzJ!Y4X<;3FY9CLG$UbfpB_K@e9*TiI0 z=2D_9p0Hn8EuUj_UB)X7NTsuTx~)F!Q^rS}#KEpB&b;?0=GFIQ3a+qP-wzJJeweO} zi04y|Ji|{sf7i$+u=DO{k{c-VxsbYO)edyBhIkMOp$H#HB@|%951hPhh7LJ0^(dC0 z1TR%N5A={>wIOAUGq8!tVBwZ+*Uf|@WODFla z5X?gAQygQsN2Yxng4Goi$#PQ&vZz}^cM7Fpt2w1!k@0P(Y?3ICBh9%}!``&JizvXW z0^lES6x?r^^@FdT7{(1EAjH^+Vj}utNU#i$Am3alDM*c$ut)qD^(jm+txeP!(QL=Q zjq3rHc%hJM*YbX)%WWf2Q&t7~G^yYZw5JDFF}5OoR*MUziUNLP&!(4z(bjw)yB?#-8z*sEiE}xQ^76@*;A` z>Me5jtve?&3Gb-DJP8=pGf&bmi&i%K%or^i=0ZvV=sEHii_hdPbDP>F&QFPrtjVMI zrY%V3G+|9~Pqa#Fp3g7Sc`fyry)GoTyi|2z*qg+Y2sA%2G;@CgyF&Ori6~!CUP*{$ z66~QPHo{--fQ=Syw*s`0iD@aJ=FbzE0!hKpkP2d)WrpKs zR0jJyNvpmX*}&cd>X8R3XDH0=!nzrsrTlFVq<82=vq=GS8=ZKV{TdWM|K=Vt?PM|B zg98L4%K86Hk;N=+^c)rbWAHEk`%;JYR6J_pKiO8hmL?lB)b%waW4Ig(tObK&L1du@ zLun4ggHJGo3P?!fVAiY9mu=klFI_^H6%+}8xei?Z(yORiRKF^}*S1*VtD0F?|2V%O zy2-qub7;tYov`Wlm~Pv-|CxTyvLUPSyjyetV!-mqszo#5%tJTXxWkc&wQCL_G1{Em zGp1ud+MI0Al>JFiNo)7bfNd+=-Aj_G>^HYIZ!I%g^W>(Jt(}Gzwk3SPuv3@;fU-xl zs!dMN?io`yOrTmG-T{7TMpI`lRvMZo`B$iQ27mmM=HjtqI1ned4~9*(W|zhK)50`U ztrqL1g5$KBofsG3P2V#2Pmx*E9R(F^Ix^rGP)#eA;L$5E>;<;9%Jz{&$ZtAQwyO2f z!dNTWX5h6@zXHJNTMp1rSX?Z-JVX>-tJeKX#Ro^Vx$IzKY^Ba;^Qi+gO?=*Pk zETzyG;U2jrJfqgF+Wr(&pBzJg+bG_Wfxl3=Hu!s>b&B?BpmhTJY^Ys3@NNWbmsBd% zwluXAH0nCLp@CO^8!8VOj44tit0RRw2N|U!Atf$H<*Cx(0*G8M*n`+YiXDrH<|xs^ zL`*fjNYc^+V&mYP9K{Bd?y6P8jmrzhngr8F%bZowC48fCwi(?eB;JFZuk})vw73SCR8nH97;5 z8T_=!3GUIoadR>y{HcDQqg~59P<{5)29)y;us6nDKx57#Pezd|is=T$! z_dhh9r4=BW0Yf2c_Oai z=Mq*5<^^}M<#G&3S~zThD27@Zf?8U%^eVEo&GpqX9KFkw68C*<2AZNO8YI>3Te#Qe z7Dxq1g-uC=L+qA+g2xQ-XgB2Bg*Vtjub~Qh?8W-0Kgd8C5?S>x=4PL*4tuJ?7}|W2 zkfh<19b?tmi4JdT*F`!D;+N6tf@EF2I}j6A6)q3Pz}wzCn@!;<`mt1zLhxJfmMw|Amq!yG zn~^~nPqn1qu`wutGOBqldR+l$2~m+-V_m2WF-lHYOTpUM)q)%kc33`}Ps$>zo|{Oc z;y^>+jJlOg1bK|5m+){Q9r)=KU>^68CzSoGf37^ic1qoZ8j5?)vf+2BG`c;dpe#~g=Hv6f8NL1^YW)C|9+zc3KJXb@vWTfmbQS-~0`adSagX0c36qJz!K3toL;y-r>7AVXSh zQ6W@=c3KVs=sclf+IHbzIr}U9{y^e~2MCCka`nUo^cP~4wp$da9cS;*SRr|f9xoP4 z$hu3+-@56zv^uAQt8;=$NDcjI{sRA;4-%fc@PFC$!uUkvGic~O>pw7*^TZ^u>noY$ zlZNn{+1r6K0DKP%Hl-4G#Vm4*n)B-H!b2|O|${T9P?WFa69fTLeLpt8d8bKb3l z>Jx0noeREb4ht*K=IZ#!fly>GVfM)_piYBn3`qx?NC~=s)?e@fQ=Fz#i8fxB#WF}82out+7QR_Q z+B2c&(r@BSI4Cr?3>|4EYdwJq`EHZ+RkJlX`@Pj7>?b*_C-e0}`qSFhz7XbJ%nF~% zY|tSll^((Rnwbyb`57w*vL*FZBdlj?&?n<{1MrDA=rc0tlk)0C=FNWxDgBu>xU*#Q z)dBbv+($@z^$6v++`l3H4h`#xdHn!*BHW1sK0ych|G3Y-IqwrN-68GAq`gXo@muc; z5B@VX1^Fj5Oh@dqfUG<2bwt_|MVc_ZT+Td)M1oQ^6hzj){*nv&HTBd<$P<)G?gO%R zz(<(g=cVX5AmNtxj+Q8?X&rZ@SF!`&9GTXpA%xfWU9$G5WDPeKQ|VW%u_r|Ro*E|1Ox#~y1mZn#OxPL$!pvg6ntsPu z;>kRwpgQoSCss@8D^xC%@GdoE)Q>uvSpFiyp72g*^O> zJs=_4&s=WmuE)@~C!_h20o?&p!}%YWY8;cwm`QC4;tphzahiU9ll*`ocmfaX(MT5tmE;=A4=94J z{SUxnDbUMv)y5`TqhJpwU=OF~>b(4JTikDY{Ut0jYZ3S0L1>c#?lJ8h-$O7AmIG!% z|LQ5O%aMR>VRixjGoIaWQ{?yecMwqg(A+N>MO`SaUh$c^RNwE`er+81=5`=7 zePOjAu)4(P{mz+STdHvEdxou$CH-F_1Ov!6aq~u>B8dk*adXo(?t_(hLMs-zVL<-62q-D( zBU2MdSj-~k)v}v@4D>`>Np4jtr1q^R8ZbEiEmPrbSIkyF=nH>{twtuPJLb(ujXfai0P$OU*Z9*C+mP8Si22zn z$L=nY{QyTJ)3-#VfRac|05L$$zaCN+`ULG9^f}W!9AcRhHVH|eC>;H+{{ z)@@Y16dg0~hVWs#PB)J2@N7A3{{+MQ;;PI?(;emvn$lhP#u=O_ihMZ;p_pSxn5(^& zKqaDg_S<6Pucg4Ss-6rd4*DGzD4H0(w4t6Dp?nO|a=QrnABI&gUfnVJ zrg2Mt)>n*U_0Hya3|;p$-qWVIx>QB`tG02k*d&V-2edVdqQKa{;@hE~&9q2sZQ(0% zb&9HY^c|Lqd~v^ejT}{huL}mO__L@We}mrm({yIUp9y06z03l;V8Yx%O%8tKfq3i^ z@kl~H0k>ija6+0cGWH&khW)ff8h zo-lYODh9F0UuP|1+GrRb?o!ax@EcEs83{=pPl1T0+PLv(cCwOpn$FdG(j8s>PSn1l zaA3jx+z6qxOHN&ic>@(RyV^O!cJIP) zn0DpNd2x_uhx9AS39?*4O<1TXURLaW=SNeQ;;HulCTt`i>&s^moh;g&tjShf%U5mj zF5c!x>m|*K(3@16R`=`1zfgmBq(yy~vE!z9prg&BokHu}F?JGF}<)0BhA( zCaW`#_?RnY!Z%{)8$mwUt+M`Il;lOB5VI#K?Vltf>|+B@aJK!zVqb(yaGx0TqVoD4 zp15V5t-HEn|9<;2bWO8!_gw##Co#v(=-9Tdps6c!I$c#x3`Rdm80~~93w~5MiuPtU z^p%ApFJ{=+nr8h;5boCF?wI-|>@;H*iyXtF{eWsg%F>mn9q5x%{U;JfUVz z<*F~5d}`|et2j&MvjR(Ujr!7>r1b@kULq1>BGE?T7q3K&phN_7=?vq}O@Of7Gt=7x60z zMG5{jYV(bobNRGI!A^%hb|p?cEmA+VNzlUZ?2#$7Iefzz@LgJtmNr#YnK2lkN`Wb( zz#5f%Fb`i&?v>L#uKeOTrD4k&X8kA(XXZT?aqn{|YA40j9x;B8ZIy%29J#8XajLlF zHyfnMgk@N({}vlbKG)stkaPT~%C>1qufnj3pIx-vB;;zP(bKOXvs|t2OZ(cl=XOum zwe+GkccxSZe5iOhvQ%-kP7^Ya*?6{H%ej*8;m>Q16+Jb9uQ11Ds-f9zNxWPeRaq|( zS%a-Afo+z}$`?BgWGGf#VbX{8kd*=cJSMJ~0N%L`i0@5%EM7+zSuUJT6}cX1`5l&P zIyB19HTz={k&|_l->RP}uxykrWg*pTsu#gmhYcN5MqaT=yyV0Mz%9MmMUHlnHdYAg z8@RZ`SaqD(n=Q$qd@#Ai_qBcmdm!@hAT+_?RSRr5Tx$d)yPL*xd4{@gArfRcjp%2_ zRE5Tj^Pbqt3c=7l6Ba59!GfREC%9&p78lhimXYeCZDCcRysFwwFSlgO8D^m*aK$BX zkx<(SIV0O`m0P(y|LmW#_F3Bfwm#bO)^*AL#fnWUT&(x4I+yADpM@&-25v6BMwTsHb zSn`_~_sFFqqLods|A<(mImRk&hKL7}tHb+&c%s7_|5P(CBs4e5yC65ay00lb+(3KM zr=-#{eA#4fVH=%n9Y(Qksm3);w?flxp%5mtcXKMK)T0454E344ar9g9dbt-=`}jqc z#-j>;uH<%@yA~IncQ#q{#)QJc<~}!a9UWRSeX-n8xXH24qx@4PK2gCZgcAp| zZM7e(R8AzrS8tOSyL`qT%j)KmWv)K55`B{8sh-3aS!|NMBw#<=GFYBq{!?GkU$(?D z_^?Xo^QFy~S(mI?NoX2zYfTgJUZF@unz6Iv*d z7!|)n``EIjZ0W@+>l$f?kx1FB3a3*K@cX~APUYs?6FdflmF@yD7=vj%*dH|payT6= zi|UFe{VgcY!$Qam-o{iGZ3;|Frh--W!eCsFDI>$)nrikfZ5?qciCq}krh+zH_klUY zOxzoZ$jT}z<7UO#yxS=g6|;FTMf(UwLB3>|<0++#n)Z--yx{w;Hanlhvqt)LeVHD} z+BR^hf=A;`AvQ!ijYqBnq`fbDnMy!x)Y{OHGjiC`2UZpPKyt4JxMcwd5VR70obe$o zZ@6r?r!O6}g&1)*wF{ihKxkkT=qi?LqE~7Z*DMv+a2D6NQLC5!Sw&P&nkLYY&bKC0 zulb^}?v)RZR*5aTBw5}cVhvGXO{1Q`B0+T%z+F+kA2)_J7E@yLMCq;U8f^Vgpg;M< z@7(SSQxQC1_h+X?#U+HfU(jgBkin;ys5!i>@WY$VojZi+EvP0`&<^ipz`!o4i=HBai;x*SLmiXl@Cdn0`Zxz+~w<7niLRWo51x&}Q zEbUTlPv{_;1~%C$HT`Raf!4a+Jkgpy{hFNAfSq0C5e2n4)eD_O|>CkPjwdT2l=DL1jpH@#LLJ2K@#E&G| zD+4YMS==A?ne6pSu&4ig`qSj}DD|m3PcvbDtQ)nyDWp>vg5!+y=gVG(LESFZ>vcnC z9&FaDbb|}UI|TJi_-vEh8cZfS^btOD5z++^AndO@mHNU=r}ji~-U{i_UyZokg4?EE z^_Tl{AN&pWtnr0)NV@9d-}kvOc!m`s|MPQZ;&G3`8Ks+EIM87XW!L9c>?y-nzHxM< zgz(wes{E~-L)TxPK9wYG{D7ty`dP**#aC39AuqXgR7r+^e{-Js84oSUhcv1(Q6RgY zm&gW@9$qA-eK~(Ch%F^i@(dHEl(>7I({(-@4QrS4MM;8^K&~u~@%v0=8dsrW)e(Y9 zUF2Pf1b&p-(DUw~mAY`H+rBRoSy$CMwPfqqo+xWAcF=4xZ$JIFjt8lN5+gGRFtDrtcaysMf9g{IUri4V1QM8n80%+JTr#GP z^IzpK@XNdC^k2YKRf!`aBFK~%L&(3Va<-ODCqLA-#6{jlEv?1Q$? zIDs*LF-9Z7x@ia$1acz=7r>j=kpF1ggt;wnP15$c#Bm0aIl4Qt+`xz^{aJ3@tEd|e zs`<9I43M#dPi}o@hI;l(w0-S{&&rJ^$7s>8m?GJvm43@580(u=6ZBv|ImyQgfxxR1 zI)2@IvF6pM!C^%6sFl_^(V}oAyYqZIQ{*Nt zp@AdUL^XGV?fw9cZ~6XfXQYnr0e{@oCRNwI)!J-Ev$Hfu=nBa1D$HP%6FG1|%oJsw z_Hx%ZmY#ICCHgEMVy4NT>n>~DVG(i;k$(DsZr3ArYfI zAL4>*%+x!E>J|%H#Xi6_cXDo_uWjvkqsQn5vCO&Jc-`u@C_M)ou>a&3LrjTA?&vlf zU#kCrhC(I^r^ghJA8GXat@gk{v~N~tX46!C-^7ga*iM$IA=dOCvLDO{Ol5r(!t9<= zAH9$iI1YDi?c?V*o)ORYc%<%F2mk&3XnX3hLN;VzVAoP$V66X->s8Fb-rdaE#md26 z-NC{3-!9pqEEr$Rr8VH6j8$7MC>|JCDkyTQ5LDO@)CBw>(gbu;G19<%;h1nq{x4l(?rDv$*?6=nb)LckOzda_ySFM)j^;CG<+dsLL{#BJnw;~o6b{KPCdV=ijU_?xISK{s^2#S&SC37vI6SAUZzM z)6&zP1y4QwT}>9bN%n=nN2H@2C*iXAUHpd5@1RQNKkq1gv)|c&-kJEt`c>F9MS+Eu zlhjGtX{@=pF)^rdw~)6)rextx_BKiO&U}h_GB5GF>5j{toGe0Q)cNjie=c;0(xK9L zBYY{A+X&{~NQuSw*`b&(lNR&Y6>4{K^}RA$sRtH{Il7sK=3mpZYXWYv$?f$MxcQsD z%lgZtsh@Ka&4|FDOl9E!S$L`HmpJj1WV9;V(#!H`Hv=jhHxPl^(l^a; z?aCGU*_>U#;^PX4l!yhc>-mQ64E+YmLp*) zNtFvcw(MYbe-AJ$wAo_%)3o`P3zK$nx}08&ydl8`+F#KaY4@*UY}UwdD+4rjcJpHc z@J_pTvWZ8Shx$M62=eBLwIZu9Eo3!Kom7OT0xhs>_k-qD_2h{8T+!1AB(uhxp-(3v zF!+3KtC=f4FuXl$dE=CsDT*v*g{F03FaA3GT$)5D!4BH&c=hR^i}Tf+Aby(-aHTa& zs@oAp;%r~mOgyTijAF=0(c;7SiI0-O!yVU+^7P&tcLzjE#YyiGb~+(R)XK^)#=LI( zj4bd9kS;mgJ#ls7)s&q}Dm%hbm^doQ&`G4)n+P6=Vh4`uJa=;Z+{aO17;xJP{8ln> zC)fCfaS@IEh(I^)=pBY_HceM$<>{@!d>=3;))aY^EI&=6{dJRI`Pth&^M@E3vdkJGS1g3M@uBTeq&ffq@RFz3}m>)^RLFFdg#dPM&>+}q9cx-LnhLp2m=K;q1~AC zw8f&rFV!S|zvG0?EWY;t>9NAir>!d%C2T65lwrT6Ni#M<^W=ts4VJcqpXv=fTw!a# zf>S}gXg00i{G!Wup>1ob0wj`kBcmu_8svRlH|7`0-y~j#^VOqWnjAFA$Vtz+)+S_) z)~`6QmKRX()$QmHwmE0@2|F^AyqcksKX&c%n-lqHi~OV zJ2rlmaaCZWM&DRp_j0B$iuNu#`PUAi8HP}_q$iyPr&+?s6mZA7pvLJaILjzH%Y5t$ z@KE>x!&wRa=tn}~9^KFlep=**s1I8qE# zdFEuXo@D_BzFkNDGBN*U{M!Ta`_{&oz|g;AZmhE_$tyGISu@~JtSA`Z;$e5_XU!hx z*yiF@yxErckT>%s?OxJOW(+tDcG=I7YW&5+ROZp>^l^8$2W3GgcC4n?RMUj+aqkhd z+3~M~rvhG<+|b)D@S2e8Rgtm*ptT%D7flArb!M3j z+pb>Mk_m2i4TJTG`-a|WnP*3MOE7ui3`Ef*etdk0n{1oBP43r#f0PgpjJ0{{EK@o& zZkm;;lhWCOVN09n(?3Qd7F z6@j+<{q{61u^Zb1!Cz253B0(FMqN6Sjy!2*ZWMDVjEaSo)<12xBhFEYn&2ka>Qrc_ zn&!}gViaRvZ+J%g*Rig#_4~GKh<*Q*GPMVVYW0o?98uG09TPTvxh9WNfY4fbD{=pM zEL~|*p^vO^U~08{)Y&tAF@GG|BjB?)Gbe;rdIWHSL_BsVz9TeR+9 z(;F~w2AIRy|88qvgo>MzP!hm6jRpLict?$0Mu|6jgXJAYJ8D2>ceB?t&B$6T)yGgJU(mtU6Cg%z5z zCitxfVM>%z5Tg1h!uzHn;Ua54Sj$E&%A~>cZ5cT;#W`7fgu&03M zO!k3GQ1bpa$N}bbA}?}Ew6__D>fTVEP2c4jOs7;kz?Si}_7YW}gcMtM9$GsH(LW9n zZcS&NHX+ByCx=sb@wEwMIJ;8{>J+?R&?opP&Cst-hQQs7{SDI#QqF zRL4s?iC#?o4Ddlp%Yr{ryu1G?>eSv{0j*|RZ|?Tw4WvaZ4UdaJU&bEXv?$RL<04>MGzXmho!juB zXET{j>1y31d<%p0mStvW@+eJT~VHep+ z22{KVGc#>=zTC+i8`TcfU8@1{fA7Y4LEHoKhU)I_SQmZ49cBrP3!lj+Ik@?&C@{~M z_YJx4+w08TlKU9_p*4A48<&G73SfW9zws_1M><7mj-21gY`Pd!WW7!^JWPBdRs6IK zn(ZNb5GK@=vO6>;9HQWflyb6rM?{)5MYZ^d{8NGvZ<#xYCV*6Nh)38ai)*jB^H_=R z%(xdo`+(lF$nxn?%#8KkviRw!mor}DSYPeE-FhmPz66$BlAp7Lie4=_J7N(^2Q5&y*^#mG3KKW7iT~Vhts3IH3s@%!WYGn_;B5Z+FeJ_gj^g zPqT*09iy9lF3fu>flAfGZw{~bGwaPfPQ^8UuLF0Xx@F?#s_FOn(@^$x0*h9ZXk+vmIWA0u7#nB;?&=OUzl9U*+yQJcpJ{I_~-6Ca-K#YJ{Kdf`Q}7v zbdUd2ar5jy!Iv4{hJ6&p>^mG3huqJZpWJ8OjK|Q7$C8YeaLg-NWLxb}QSBE2J3BRp zsq8qlPetwh+WPuuhh{%co3eV`n=KD*AQ{ESqd->cA}xjymIiuJI`HL*Ps%o8Wsm~{g5meTrqY%i>jOpQOb zhQevz&Hq^?i0J4RB2qgYe;|wGiQAl`(`a1KgT9_YMbP=7)7Zv`0CORk46L^aT@N zS-B6FBQy*XU&T_MEJzdsUV)CIXf|7vGL#m64%39TIe#`$v>Ijr3R73bQlS7Tv=wug zwz&vZsX#Ck5}t^bQuSE603(zVK8Mb=AYQ(JArupSleSnD7%%DpkE3!dQa}@Gfa$Gv zELOl0$|0fgxR*ZNAUqPqi@ePfzehy~<21SLNjK6*_|uVa+zEF?K6ZdNcAF>B6k955 zk2ZFdP|AgH0Pu59J9dvJ_Q(@&1dfo#dGa8A#0h<5jIhjc@`xv8k0W-07uzwr&xv|O zG`5Kc+lldzCu{G3P>v@Rba&zTxu+Ma<(NHkBO80iYcS*lK2pVNFyKTc;p<<3Rkows zN8aZaG!%3O#SLqZ$%wW=3Dj|n+Scr|3tETrfW5?I#M+?JrUrgYE7Cf~|7j%=!33k zx_>5WEjQ}v2@dSTgSjZgJH5!sGMsLYjAi*BYL59Ubo{eNShN=iQH*!Af{KrjS@{4- z%i11N@za_R+ILPe-2k!hxpg?Edqq*Xt}N85$97blW4{nhZ{dO#p|6%jDCldaSFlbm zKBD}7;iz>1q|M91=;-%KA;>SRWGW_a}p#yxCzy9YE@Mq zp}KT0IM!|pJ*o^EpRzRw4{+9Q%QWR~2|_Y8#4nUB-lu=cm*hSrYqnl6TV9UU7Eh~` z)EE@<{4wX0@`M7Vmo3&vU(VRoP;t)Kn;im$#9pCKo0_lC{ZjuT&0AO*h6%~NGA|uj z{xR~4{fjgQ63YLGg_LF%HLdyXo%UP%L0J7~LX+a!H}r%O1|?Ek{Uuz0tX2tWqgzT0 zZcWuVs;Mj1!^E7%qC<6Uq5mGpA*idW_+!?d`JynpwCGS+Tk7A|{-PtsFLqD7ml}<7M@<=*M%Co#tjLOdmW~T zY_3C9srEx?9P^X|(Zf9HCecJuJ3r)G{8AF%P@=GQ9FG zC-rLi0b0l6hq5`norWXqB(qMFFm42g^qY~-@v&yLznSPGP|k1<@rkB<#ialwO9_)B zt}cgr?RZUk+-5=rS*)K06zMi@riV%GXf8SSqrS2>hYPxZ&k6$80(R7SFMADw7X=p^V9C)@crtTbnCMgdH4OBE9zB%63orV zV@uRyK)!zGr`W~rJBby})u;Bi&QA=xn-8TH4e2-eZ(`wjHVg?*p{@N9hSqniPE}mO zl>Q}CZi96#UJOoITy3A+Yx^I6tdm|HmZ=~A6d+yps1a-gq;Ua1?d=>t1=naPE|-Qe zcZKX$2H)3!>7HK+=mvw=EXCdw31TAt*bGPrgb-7H1pY)17)*{3-kC*1*~3JS+g2qf z9->ls!|Tx%)^#xc=Y2fWjJaMVN6$O ziRPt^{in8Z~();L+CZ>#?zks1rg=#8^JT^IuU4yV^-3y$${v)AMUT6=OGl;EmQ{{w}6cLw@$ z4DCr0@Tg}DBR~%f;~`4mkls6FRGT*jh;ShCMzy`5g2(~V2p|$fwejT+>22l=>0KBD zw75+HT1plGtr?I-F#%}BkpY_WCF?UK8wVS;4Y{H$F&SvH%s4YSIVE3rbw;}{8NcWK z3_Z6Q7X7PWLH2ss5bqbPJ=zUm+;6JV8MSzi2xmf6C=JA} z%uru%6ohA2Mi7}1o+qubZ!-iL_t_gjY<6g^#aER4tZg;>*NVtIfi#(f)EK;S(z3jk%BwGcPw8N%#$K;g&8f-JA0Srt&YSPPLz zmn;lf0YmJkMtH%%{NQXZJfN9I0g*@*6qdmdTdqSDTUNpl<1R-P%EQ zX21ZhFsNd`U;wV@;RXCbxb2+b1uUQ-KPU(Va8&{g2UT{HhFv0=9M^)(7n5TI5yVZT z!P#M4Kr=uZ(QXn$j9_7CR+1giyn`l2unCf#xN9raVO*`@1u+XImV5EIYue0VT&W;e z0p!AQHESQU&&?d|R&obSEg?2})0c(xyX` zm!LHFm2j!T#|P2!Va~a^9kD5|&7E3n6W3}NP0LvByF%9awc6Tu!@S?vkHSSvmjRmJ zHa@dkfdM5TrnC+&tnGdX*&#{od5;2f3FT^9T=Y(5_-UjCjgNp!!sppW56wAyDxb}B zE!ITCMh}>hak{|(als&fdd)CyDe*9FE%Au9Qi^GH9r4i0SHUoqiYeR{Z#Yx27C2Li z2lCJ> z4Q|uUubV*)DY`)oE$wio1aADpt*6M*PN$mD7mIeddrRce7fWuq7|A%MFm6o4;%*Sb zv8R&JIg2LIGN<0rIZN-j9pwkONlWn2`b+fDbf;v|n~M;*YD>YmEb1P{=e4QEozj~T z4L@}w8_L>oOj+DWhPO`bqx}{IabGJ*?7Z=OMoZHggjep_{+27Smb(H;(tU7NO*8{MZa%>M!?vDhR%Y7#XsM%MlGgkN@%=BIVzh4sbiKz8qgpU z-ve?@x!`Vr3RflpO(**2bXi+Nx%D6+0}}p53mq$uw%$0e5um(qBPdM3)fMHpQ0mcu z^^e#DiK~@+=D+%&>TWYo^)EY6bq%Qc*ZMuPdlpFaG=PRNgYuWHAc6dkXg*0hIpTU} zE730Ou0Khm8)AE?Q0S4To7Tu%y`MD@uV> zuZj;9yTY^Ity0jq;Zz)GK!s+n91%jGA=Qt*6zP~`tpL;+Lbq4JLABR#3Rzd@@4u)- z+Cg4Qbu2p-(XRAHzf|3Xn^=?x>ChnQ7p!F2F<6Rn%sW-ku1$nvP}l001ua88r=p%; zOVEkcanLm@F#E+S35;9dsRXL~VQrFsUWdbz2~?h95UU}<##K3rwpB`bl85gKZ(uI# zV&=K3=#@Pcm8rAtSjB$sC)H}HgjlGv_d_pbUsqd;cq+C~3e*+Cv6SQXOD@IN%W#r+ zmSY+>&4;9^WAsl{((Pa^rC(P@l6IDwqtY+B_McS-UWd_>cUDBgIaG-DuUlj95OGFa z*JjGE6gtCQRS5LITGQ`9aK>C0WQsmXA7BV+-ofRSdxa=1afZw+iuNB_gYO`?aqh@z zh^|!1!WmYqhSV(`gxFa#?+~~_?R?XaT&X=obuaG=$)OLfmor0muPO);q|d3>dZ0O1 zvkG~yB-shXm*y#FCi5+0ruMCaMn$e@2q9VI>5sEU+@VPk@5u9oAHZXb+m^k&i>?zDmsm^`X z5uDHwWY89@(iTK%@FoT&M^D?LmYSlMTxhB+=&FtkG-v#(b31edAM3sUHhBMS^8O1F zjo#g+556;}yuGKqqo=E5|3crtF!e7C{R6UqXrrR&?<3zE+-(2O(qgM|$yswC*dQVR zq}~TFc?U0_e{8xWZ{D$Y9I6bz=3Zmyn_QZCS<5@?YLw1@=K7;d;^0FT(5W<37|@qYpGA1Gx2Eoy-l zt-vzzji#>~E-^q0(7MHtYc6ll>7Ec?2lMtMnx{fHUqV;wjys67z`qJ_Zg3w)lU3o$vo@+|YEeb+a@3&xemC{87aKU=H^*o4t-G zL(;>C2c^#UBl4>c6W|S5{j8#ASM|xW_h|j$I&g0OpmUGZ=^TQ9$KnY_9C`EoWD!~G zkeue(`Ii5WjJ^G*9>mI!A{^nFgg~z(9Lx1QZ#6m5bO*_w^C$a*N*7=N%~3;!R18_b zefN^!NApPUT9ST}acjxIO8D%3h^#O4(bur~PP5V91cG6DawyU{XQQ*9>CrF#i&%aV zjmWLj2+Wn@H z5(0gMrKsim`ny@Q*Jq?N6!nX}pVe>LXG*gLwps<}Fw8QcBaq^Z%=cf`=Z z{NP&USf^sLEBGo`0H-XyAc`vcY=uDm{$sJ(h#=B#2&nMuWd8dvd#=!+U6hyIXopy2 zianlS3YJ355)Bd0#XhHDDUt`7Jl_SWn~f|x{4eZGrxRN)Gr4!0S8p3lKA%?(mtR&w ze`TYRyipYq57!rUI<;f6kTUN`WM~e>0Pxt*C(W}3)!{HE0b`3v@rgI=|j+%QnCzoWN@(2qTDp}NsOsJ=DNE`qfu`gVTA)itYn0j*} zE4}A4i!1NpR~mwpDbTRb=>^j!L@orN)HIVP$BV7qurQXRtZ_vVZ9U=e9OqUUb|Nz%e-~o7})Wq?-N?_UOKVuuE*5 zJ3>RvRykBWbUZYf%%u?3^DE(&v;^9Uza}v&Dr!(x2Yx0+8ZU#8Usgg#7f=S>w6G9n z1wcu-z{6BZo{WpLwu+f{$)Fe3vQ{cSzf6RQsm@TYsD#ATRw?ml!1t=hfPq{D@Rs9= zq$bB((KkVb5uXR<;TagkrEPi+1xI;m^meD@Bz1s)42x|6I4e$wJHwWtY<0RL&w<k&oPI{TN0*6RWe=-kLOVX>3=9 zihDO?m-;#pnNRG5!1zaO-J~>CzHw}4S}r%dw#wW>cI^A&P=}(&xw5_O4I(DuU`otI z=7`FP>PVxEtnH*aI=#oqB-DU5EJtEChxJL78A-P4{r7mqk{Kz2fsMVm=;&&rHKyUw zobfx1Lrj7|4((fbE>Uq3Kc}vH&iew$mX)9yN{6Dj?%?0L9GK_77IN){(oT?XQ)h>l@5!d#xH2cdwOod~pTaF1rv8uMDTC0e(REytJ;2-%A+F}LTkh2JrkX6~lnTg29 zB-mo`vmE0!&9C5n;bvmq`l$50evs^r;jR1(hjdwS7n&@B`3-#t+D&1FsQd+N>~e-r zD@E0B(e>)un8KY~Ct(eEXKALMY{t3=RlFfPf9<5$6g3O9J5pIvIeLOkEPBTu&lqm| zg^t49>Y&GGfk5fqE!FX;5;>9FjG`ROuo8_zcV4CbsRU2ozJ9n(>KE>zhV+|4J`o~E zK=Eb6F-)IpfNmb3l&4?GS)HmdUD|P{y>5I~DWmmEydv`Go!z>0hVGbPaoz3SZ0I=iCRM1Inj`}j9N&%24`kvkvTq=)5gzgMeFkt%Qio^+{#U(quiSL zk6T`KNS)wQ*N3-?Lx7S*htjOD^0}}H(FOMojUw~cz=M0PNuS>$?<6I$=3Z4Z7`0_` z?Rl1%s;4u*7KuB4QKc4oEn@%LpMhecTTKs@zHezr&?S*v(-vU%FR=MMW3!w&tW#); zIrQ95eA5iv88u7j<~g@J>SEI-%MjWvXRIll*D_D{!-!AYq0{) zy23Jk*ZC^yPl*aA7Lrn=He(0&>n`>lYLM4|AAJ@)NN}hxZ@>$Ac(^TkHF5qwH?ID( z*0HAN>WzZ-K2K0!V0{16weEkruH_`XDq)DAj`YZpz%1J|(83CdsK`cTqlgz}AREoL9~qkc+Z ziJUPNwc@WZkD4OfuND4}7lUsXY`Th!j+H{TKR|437KJFm58pLy1Sr zlf5`Uj=~h0bdI{0B-I5T<2f?vpcHr1D1G0(xqE+# z?<9o<8&Pir34#t6pO`><5Cg)hO^59oa{>|J=oucj^mFx7&A1_3;KNdCz0zXcm20Q% zw$jxQL3NUKl|3RCuULr}R)i<4M9<;#WwLNNl&*c2Z}S!WMI|daMRNu+{hX-=$5N}n zFDMu1F0`!zqy7yAv6Elq9P(y{o=(mN8lbC{zk?@vo&E8Z*eOG@M=r2Y5+Es2;)b`E zOjiS^SD**ii4T4jA~&8H@B<@4s9I}~K4Dv7NLLx1-A=P~YP?w|Bb=(n#&s6b>x3er zJgXAzE0-aUBzfLv(4ZD&TtN<0PsyOZ?5f&!gQhA$wnoVb{KB2N`kK1WDFfD$P|E~W zN>lYXZcSjhJYf_6F>6>?EVcfP9sPE>Xj08~Yc7ZVPAh%xFvq1b z$AEr{;2q3=J(ulQfcD=6NH8#GP)PQFczyi)8I=F_pN#)#_f~dxaJTyY@8`AEXnxZo z0PO>jL*!xABI!t*HNX7Euf0)aK?)DcDi!^T-iDc?NKG>~J0{P^UZBik^Stk{4FmKY z5-QgGohbB*@dh{*!a)Bbp7_)JH(%P-dDElNpDl}{w}%;$fG_F2asH5i)mS>;^MU5P z7bV{(b7IWWptoLloLy4yC0SkY`Z5KFzFdu+|`jPJ%3Y)(^1ZbH`RSo+jM^=9- zCVDT^@XA2)d(FyBpOgTd%MZw6EZ4t`xJ5TLn{5^5Xz3)is?jeYwJ^|BTI;ejCvVy) z#Me2zox!<~y>nViN58>N@zy*ey^9r(V_w6sXsFpdm2;!= zJja%jm$!3CIfStMA>Ft>g2^CiT_PvM;rAZ5wa&PI5Q0eFp`)CWd{jY4Si=gOEP9UF zS($G%M}Yrr7Z)SqhqzZ|1SW8kwHBj4F&o75x*^h}bplj^8Ob;zEY5eI2j z+$WKgkRYMB-$AF0#E;0$91#)ybCzn~Y~u%6U$ROs1s*o-12jG=%YcZ=Ff%d6jhaXl zzr+NpR6@f~znv)zc#-%sff=Nc-1r+JE;HXa65O!NvB7TL5&=WUzrm5$K0(HpW*eqq z8RmvYW zqqW-voBXOh&Zw69MR0;og;~kd}8H*h8$HlX{ zo%w2xd!1=`c^LjXhx3c~F^v+RsXdR)mJ%GV6)C)2Q33FmIsC?;n{8 zv4Pb5fvl7tlS$#pohJhSBx^~+&}S$rg+!0Rrz^>QQX>y}G9+Bv*PJcG91-)z3hk}Wcg;PnBZ5K_XJlm3H9>(*gbL8)Lc_uTjd)iV;E?S zr;*tkj2Qp02*YdGpYP1}6GHyz%|tZ+Kl= zXD*-z-_OnOR;?$ZaC_9`y)OvAfpYRDs zoQ9p!=bR*kk9m01z9Z5?{7oWxD_V5%NV214LfU;Idvv<=db@PE;(a`v>GAJ?F+!<* zY9R9Szc=muDYEk@7f512xI4wr624O(PT_z0(--&ef^J?o&y|#?OEP!eO9N67`LH~eV%>heIsU{6Em|XBEMutUSHNfGS_eA%DmRH0GW++)=}({=vFw~ za9H4Bab)B&7_cw#TkCV-GH-D)4;s=*NcM_ao%EkT(kf~(Jyl+n8Jk2^wD~c|SHSuT zf*zgyR8OF~q=-K>r3&#%LZQt)&5jovH15w};^JYR*yhKpx_$ycKE0|^gEN>Djlcrw z_jAgSl3 znC#V7j)~S{2x`-OURG5dKKnB_dnp!p5p%H?M@>c=qn2q};RJWsQ{ff0mUisYDNAv$!; zgvH@3wpddGC~6Vu>J4?(DGa5U?hsloD20;69t%g2)9Rs?${6N`_HoKPlzN-OO6R9b zrIJ0!k?sf{Og~|-BE1-ffOa^LC)`VV;Fv@9o5UvfN-I`bCRf|BW2(jazz=!F*GqAPzGn&1*X1Uy&a&#%5I*;WTIK*Hc;kmo7nUkv5M_qdzAgZuO?+%U zve8?}XN6bEYeVxk$PU?uV096cr!e2>Gn8d&7Sm?m)ReI>t!R|I$0@OME0<^WTAK^W zRyLWhd&um4#Ve^onKo`5koBWyr4y4c*2`g5uy9boaaV32Yajy?`=GDvV6A z?o9fvO?>neDeGJ7Djfbubh+bAuZWkMr;)xkzA7r^Md=C_MZ8K3`{p9QGTdc=m*o^< zy1d@<5JdJSl+%^sc##!L2{%JYcX3^~zU!{q(h$UZ)7LQTDM_fGlVZno==9cng4z5^ zsHt8!>7E1PN-&4oJ@;%WDDorfc>Z3h2(@5(u^I5xF6R(wrh18y)pZEmZGhjZsBH{I zZc(M>hIzJ*QBjnRv5*-PEJ`~O3eZK)d&l>rB>6FT3`h^<8gZC)$&^ z#eb)?FJvG>Z*0@1GSNqVA+xu`nCLOyi|vgp0)v`(dSdg37JfdkdM=7KsK%RbR+vE{ z5ZDU;;u!PS@rmoHA+829yCwgl(IZ3}xMnC89-JM!2=nH&F5yAf&v#`LBzeLAUKg*)v^C|0Gtu8CxnZ9DFj=r6 z(<5f?ht&5Ut7mw+hkWv;`<-qlZq&Saw%`f z<%C3W6i75ZaY#c`jQzwDD9dMPz|1m0r(~74K`#g$Pnc4f!7)p(>VC_N#b*TiHQ}Bb zuf*k)+=_GY4vEiz#PcwK?A=iv+(DbHqcO;cA-A3TyEMp@qd(+$dIb1q1PC<(3@7^= z!S$WN)hEN}D-z=`L+3BiJRfJ^IjHo+%XLd`tMeWGEQRP z&dO0IYphp#Y+L|4!`At@wia_Y-pU zk?bsDNDvTfcn}b&|IiW08~-!I^Z&rV|LqPaX3HkiR4faS(WumyFqM@EP76z0l&rwo zN`pkkOL7z%I=c{tuI_A*}lN@Z62lCc|w>6{DJ<+X}ED;?A42Y~M-gNxTMY>;G zQb}3jyJrzoTCx z7`hsxscL#D<9x%wG4`el2d228Gn=bf)N@GdlbI^^HtlpwmB(4|SX0}I-9?(8eOHRj zt!3JCECb>tqAzdO+%>IGKLw_9SdO~Lk6s~06;UNhV5IwGH$zGj%|&qr{h zXJpNW7lO^&raIpuocT|+#@}xy1Vl$m4eqNtmp#bFGxr@`WnJW=f5F&xJL_aI%!p2k za-Ku5;GX^k$rJ{6&g38)eR(2tsC_OkA}AAjp)1?X$|Ztw4jiUgsnm+)fncm`FsgP; zFsIC*#0UhCS5?n8wV3*K6`Q~?R%eVcqmKilo0h!cJ>lzVxeAL=DbaIOfRGB+ zT*1wt(XwRnquE^52lVI;$N1>yjvAxgQWc(v_pogIO1o+pADX})aWE^piUjVTZ<^Nv zxzE@tzKa^57HCa3sW-Rx?LD-xY&BSaP{JYtejJVyNVhD;7S*B|I?PRRak`QK!7S9&1Y zJQXwyr0eF=iSoj*+H9J%1!QczWs1BE`7u-3&XnwlNrmrH;{>_*cC-Cxia&5~RA2~; zp+7orGWvmY`(;=~`ND9PlWaBxWyKbTe+v)ewEpbn>Nn~S+x7O^g?pBncJ=;x!N#T; zbcV*iocw*Yv%S5%mj801Kk73pW6&`5KCW>pQ@vXbW#HZ*Imickgm6yN8oXz zC$veF^WXzvPrGrac@X!J18{)a5ppe0>;Nf)Z9lxP;}46@2GjBzr$3ZakKh%6^n4&> z?@%q`#=R<|al3hd_>t`rCy_1s-BTQumf)d3(fVh@yg*Pfr<^+M-0fWlP6q&#AC!qM{ zzQ^->@DBeFdVKQ2%T^pr2dTh~zrIr${IVP>{utW84E4DM;o2*4H$o9e=61^WMamZn zZ|_>KVh9zwxI03z63D-O{*4Q^vbki+zEiU*lHN`TQagej)S)$nYmr*jtC0n zREXg8*EB36^~R{;4nrP!1Fn8&mpWH^c~;Yad80HDLt9`Pwk?V>0e&J|_r;oQDXfE6 zHRFxV)OtFKhQEZHR%cwe%P+!CiOd4VX-R@-9SXGfkVAd4i}`nFKLssACVfMc74mPs zk0_)*b7+0zrur`MXO@#(x^NEA*F_WRWlTVpCTd^F(DbHxdXzIXy<+HPT9PBVv<$W) z|4q_S;b#r*G6CCDXM_r=qLoQvsMf)4U)29xL+)Sk2!ldoS}QaN$Pwm$?uJyY{x$G_ zazi$*YMSWZb0>24(9er(aD`oXOL7h z7_E%xhEn9n5QGsLYEei@MWYtFK;`_EwJtr_uSLRdNBVVV`gHvjzq{VdPF6U$#k!iD z=6eB)0H1un*W;Pg>v=v{Bkb=RaWp7#-vwAG1n-C^CPD<@p{VbBLwZ=e=fh6|bYKRi z0iNrzlYrpis3ee?Q6O&k^9j{p>q(kWAXM?s12*2_u!T6@%TPQe_a7I$JFN0Cv6!ci zC%ivggna|yjF0e?VmZ%8vhPifAI3;Gnh)yhzpDU!>uGxI1q#4J8(*&3@cO4iTwl*9 zQQu@$3o&2Wk#_8=Fb|8CMOQs5#nIM~ESwppnY$g*`_$s%uB@0gtH~0Sb#?mIwT+tT zOJVVLyF7OIg~HNs!0t&#cN5+^4}0m=HFnY9(ZXnFp>^cAC=9W>tCW-QwXdnJ&dU zMU?U`)#&L-J7=BKeGJuwaJ8lON>y1ziI zimR^5oEh4XEkc-k8jB^crKPm6{^9JrGSj!Vx0sYvM@JJyZ}4_F+?`471d3SHlj1Cq z{9|pCu5uz?E9@?*tTs2(h0G^I3C+we6&}qFa?cYrhBW)EB6H15WxJfr8x}8H_mb8z zreDbXw@|dhurcq=(d%-u&vVcGhuFDuPkY1b41AcqhTkK(!_V<9l7UU!3R)7IY13NS zwPR7ZIU~BU`6H!t)&?xfyR)4*gkau*PW&7qdwCsf=_#jD-DMxiln$PPM@Ll|-s%=k zhvT4Lif+lZ%1=+orN;(wUD)2MAHN;P!_8zq&CI>yC+jZmOQVdp$1hw_EZP8X+pie| zr#Xv>s$}pw`4l5j*dv~jbZd>I7$kqYQf=S8eyoxhL#Uv7a~SVa&Tf^QDm$g zk1qy(iG+HpQ{&dmA;HyZ8zqtT2n})jYL0k8V=@sR6@^I4NqdGNra$l_@24-sS%~YU zJ%D{G4aGm0hJ~Tnr#_&5stvh#8Vtc=r9ZIh8Ar?%gh;=0WA4S_qwqN8hZr8Dqxgp= z!^M_H$3|e1f8z8b19hSMhwsThe`u2TjD!mw0if$2j0yjKq6)4E+?=;R(F~9M?U!Y( z>BdjUj)rnrmt6rwSzc|IJjXBT$Qx$K1QJ_VFLHOt5@0KZ&adi1|*3 zW!eTSdG;}-n9aYb=eWJ!SXy4);A@hG)fHWIH7E znU+dM@D}_xza;-JDkulAv7VtUO`PWZ*BTL6th>VcVya?6BfEDJt#=f>ZN{P-&=9;! zI7x;9bo(w4X5YMsCnSo)vd93QNZ&0GLwQru9kwy4!EI*Px579X2e7UNtX;DmjG94> z9a&zC44O+HdLyOl2{v;j2jVH=pVy6pEI_8)GaKExLDsM^*@q=A4IBiEUZ<$dejxFNo;EW>2h^bJ)i?l_nW4@y-;C^MYe4c(YfpSk{)? zOx1P9O?u=p2A%dm&kKvV^iQ}@Ex>Nw7jBMU#mbcK2Qon;L?K6PU358!d{1s`Tjn0( zij3xtj1+gkYsNvZ#p)r}0D->@gfiP#hc419GVfBKf z=1Adwq#cIq&QygE*AiPG@0ilC%PAfX9U}t~JA9~hUQoCKE24$n2l7M}v=-$7n&w3C z-FK#^*JGLi#zS4E=f@*`FWm!YI>c*7DuH~D^TwYr@tHuUs-YizI!eE~IE~w*{+F(dhZ9oBQ zKwND=Zu70ORHe_U^#YQLy8~RsSOiM(tG=dthIcV1KoGb9r8)wJug_0PioHzwNY&XEx_*@b+>QGHE zRVj3h`=$V*d-ft|B@U+=H$Kkzj>NReT91t>Qas$I@qGh$#FMdHR*WpFmS(Kv6LD1d zML@FF*XOF|#!lsy!{O8laVE=Qh9=vNdF@!#y z=WaQLiIWhGZZHbd$VsiGBOok=MdhUS))D+Nn@`-u+k3Cej@Z+YxOijbs0Z}-ZKrtu zyk1|#SzXyq=vzTrj|w7GHX(QCM60x<-zkIiA>VE+GQ}kv+n)0OazDo6-np(;yV7;_SDD`{7h9 z;;Cqxl$?9=squUAZ1?qAlYvTo383qNn{^#T)V|alPOA z>3$(xG2^jX#RsUJ`?(?3B# zP*FfYj1lAW8zIePzalQD3;s4v@VBtdE%a7?w~e+6Ct$xWOb(E?6P+*dKBN&*6KBJP1;EG2wmp24qPHk`Do3G5>8oE0YWbPq^;&eTilvs*Qd;i5bKO25i4{7}8g+k2{#reW;vepCI*{YkgZ;nE@x zd-d3}F+G878taU=yR1EA8g`A;$I6=B;~fi|g)TO&IzNY5m6CckCZlt9aBtqql-_O! zzqwtD^Jx9MH8~o38IQ*m>v6Xz8+Kdk+?>UGE2C`$_`;V?e}jdE+m6>WmA3gg2gMga z$I?o!Y&i?BikIZsw@C%p2^yQL+xcTK{%DWtOlPTxq%l=$do^bX|2A*i8=m8`=toXA zEjkBJW>IeYA4(#3YwMk?u!@D_Wxiea(<@*IxbC)8e}8vI@i^4H1U%2-!<%2 zwO!P1dK6eXU}I5jtT027fnQ4_QW6{N);o5O$n)~bjXk*+rX(hF-Yaeoi&LI2eRR2w zDV*|tB`61W#0I-NO?RwV+u3E?IqIoyW(J$^<*c1SC1xC{`?MZa zAd;iNm}IvLv*3wc5=}QOC8vG^S8ti&VeWbI=+E_);>~2*(`An2wB)wQ6Cg@tO58e~ zFN9%h15UlJr=Wn5F}a4eRulk3;Sd3q)1)(Q83Sg+_K<>%zD7u892cVxQleSgh=+yR zqanB>j`w0z6~u?FCL@NN_88sy7>q{x$cC;bl9gw#>A@|hl_{txR5>S`&8Q2-htMfD zOxrZf-t>b@yIY4Cr|x#j>_!-8;5#uA(*-zvt=w~Xx{MZ*e0{N{Qk<>Cj?Kt~0JN=C zih0`vmIe_w#*}v)BADNFq%?+ZKft>`v;v`bFRrvncxnwCZqZTp%scN4@GSCU8O^Jx zQbax(ew&W0_J(r&_^JrC8+wa@Nrs8QK$G=Kr)%*2JjUp1m>i;iXL7N0gIC5_x@d2Z z9Lf=n52e$CB}Ao;kHxY75PVUDpQa3UE!}cUzLc{qO&zLuhHB&0c#^q?FDZKK?{Va) zL_wG9pPcnWgokIPd~o;!*_H(S5J=TEddP~Z6zbSZ)gq6EH@k~hJ-PH8@&g^t}~{m6xeE$s>?&gMt# zI`PEnIqGfn_Vj`TvXmw1Pl_PYpX6JTND7YJETH^}T(G@x$5_t`(iz{j;EQ5KaLwk! z*|7z8^jeaQSA16 z_?p?vi!r&h7e3oEQ{BbktG&s_kZmBF`yuzuSa=2U+fK0tWkJcy$Wls6UdErx!t&DXEM-5)-Be+mUpP>Zl-|R+F}u^EfQ82u zg7G%)9J6?%HL``U67As5uUTmWv_GK~T6?HWeICXnKFmRs;z(&0$4G2x z#`BCt1aw6$N5>a}kFuyVPp5~( z43d$Nly0J?+^tZ}Tzz9X-uSUxvDlu$na*L@%I2eSO&arsi02s6p2#%9b6B=CLb8Xglk^KY zudgCpx@63fuVDMnLi>qt9GD6FRS_5|sfeq;itsrgJ!=P(@JrB6F0HVN(8?6h5Xiq+ zz~0n+q&V|c!j?xHSWswUHRcI0RqECL3KjjWptF2+^@Y8P>`N!JOy3JOo_ zhku*YWNJ5XT^m3#W~gNyP)jW}Jzg(N3*1KuN!Zh;*=KKwWKA)tKl zZ^flqBTXRlNy-P0B4YK;!U^p>r{HC_gXdYlgD=z{%$IL{(>CV7&5tWwi_KF@*)b^% z{Kx=J5{Q%ZG4$ViJ{~>(o}hm4;%-&XhX0<|DXYytdivg2SBqg87CZXB{V8=NZg$*60{(tt?DCC7aHq`==V7xboyZw%royM*8nW-S*56INIpbgX*_Ycpt7WRr(ciHbn(UglRjV$Fj9j8E{sWl-EH@ z=_X?SQ8I-LL;fv;A`=>dArlE?;*N{Rf2NzICLZVdh*rv95*XTK{C6|%aeTqW{bNFB zFc1*o|GvA#(nr<29NA^$b7oT6!n?>0+8Afx&u3dh zKu9}kwqF8C5=EM}2Ao$ty|Kh+R?b2ORouaNp&X-az7YM8$a6T_&^Org6VX1GFhV$a z%KEN^wWKCLcY{oMW;}b`HV-GiSIrLS)nBBxYqOc5VOfzUK@2fZe&uPyq%{3MLYD`} zlUhFxZ=Cw(&SM#HsDKV`<>22q8Ashi%IWvi{x;dVFY5K5_^$enzTrSv+u|sEx#sps zFNE5r!UuDvX}28Ca7u{oFfTf$`C*bYEGPc94ZQ32rBu)j+9?Ftg^C-N?D0j_w$z}% zHwgbOwn{j_9_}BZk)S|8IQ|2%|Lfn(R{wnn{a+!4+O-0zGSW9f@1nad3`~$F4OJ;o zbVL+}as@HRVVaQ8cLXedOZ4`xIiuK~3@UU{B;tW6_IZwdn^2^XN!IhsOlIbN_H^EU zfd3~bQ&>AR8IURve9S}%^`|kP!qhPt#RFNOG#~mEYoS2AF-;gIoQz$yy{?;mH;)Gv z55{YYpZts7t`cUecVJfC!r7l1o-~Uzb;;^gcmoZK-X{CmYsmceo2)a0sEr{(zEaIXH5>!Vf+F>^pbGm( z^7^*fTlT@|LYu*@#Td8QG(JDmjoPabQDb1}BI3p- zY+TXsccPf*>f;SQLzTsa0Pg@Za$x}&1jHM&P)fG%zLi2MSM;_O1dIxEj|x+8AeI5G zXRtPeRSDWm;RKWa>Z&nT$4CX1b2|RTYG3iv=yAIKeB|GiO5!C-{kI+M;R1gS#;7!7 zrE#}uG{lj~aiOs1_8ZA*^AIZ9VYNE9sB>GfYH00s9z2#PLY@BchdHtcLw#nB|=@} zOB%$k-xl?zkV;um3r_!#NLt#MlmTobnJ}sCrH|&=Oh9+!eq}>Dvi`6i8%I}3qlsJK zw`-mkA|*V`pZzOl`SkNpRP1pd37cD@1>TF;U-Aa&R$fM*Ws|4XCHVPGZKkYbby*5+ zVM>O}JLUrK`B1G=)TAWHeULna$Uvx>b-+4(f#C?A#(5`qMM&zJBc5S$VTnv6J*C=~>QE>-$0DMs#Y#LKcl zUAR!dM!7)4M)yzBnxuF&_^9>upVhj$)w=Hso6Gp`3sd^-)$uEv)H|26x!K%Fa41UJ zw;b*#zw?{k{(Il^9gpv~Az6^LBYr}SgJyx65qa{PT{^<{lmj9JFQ@AGTRQ=~F=Rx6 zb5Usf^fixnN6Nd$BYVa>r`%=%0bhbQZy*F?oJ{tglG(3Ert^h(WTC+^n@((vNQ zz!`3%N5erUJ;|_HRsY$UxX?I3BNrwtSAIghiWf;3`AE{>MY=V2$5!J4Iez4$=2jPa zwCnAikCY=~ONYxliIQ^5MU&xC;E_f;<7~mYjvtW{XVqI@baS}+Q6WV_oH*(h|K`Dv z8c{LdkVrq4(8~g+Q_8xX6)$R9w#X2jJT!3m3M>&mGf5URiz`d|k`BT_u4wu4rVP6@ zz?g#QXb=+Wt7{ZCWy6lljD*%GON6`GSkq*xK2qbePM+d|t+ASbZC}t{Kl9jEtN0ru zci^3i(uPLRX&Vc1+(uFlL|{$C!H*qHme`Omp597BZ>^nk3a~`!5)Uo1qUKZEj8m=9 zX$bfeDoO4W@dL!N4e}Au9Ni- z$t2k+`*32yrVYz-bve<XT%7@lq#L3)>;LL+OzouX?xxP1iaH2ep z`NmJ!nY@NOIC4>Kg4`W+<4)h%6b`vczt8g0X)N5>%$oG!M0(=MN&MJSUY+^4Sbgx^ zl!xSy`|J49qhN`48q(CxREJ7E*>S){LcA)EMxnSQt%lD-OPoc6j?pGr{^U!ousd$> z3)q;_$O_Pp?|RUMN5NFjsLbV!>tX_8{$e8{mw>PS7$OHn%ln6ovTC4oDPKO=GJo)F za5Im=2qHKG^^R)oicUmt@LmWG?n31;Ik;O79d}*VLnPX-Q`O(xF)pA^=&wt_AXy|2 zg*;GKfz~G>rGjz=g7R=uq4Vj$Ne1iKRS51AX!z)(aYuEVHp7bJq~De^cv%s0m|YOo ztTgqCx7*`3Vq6wJpGro;#NtcAgqNNW^;e$qXIlWzT#L(b38^5SJ&Q+2P8r)8C%PoBb>6>2a!qXBZ(oRjjYe|$S#<9#sdUWr6D4V-%q%69>7UGZ<*3?KFvRL z5J4Zpz9(wgE1~)X-f>y^E+NX=Rs%<<*etOPZV_n;VwSQ}5XNlo!F)%&yturroxa%G zlk1Tr-#}LtegY-iuZ4_j;h!zQ?Nh2V#$V-?ZJu~XR)7wP-tdXT7sqCldO$smU6^~9 z(94>WP9ep00|jn@Jo9!`nG+g2I)C_4na)SX7hX$bX7#~Qb9kQ3JIh+MitP}btw!}q z`PZ#FO^v#l1OK5c4LtUAL@@GizFI{+pN{W?b$h8phrl1q2HRoKx%yI39 zmD|EpSO546e%tQ+z-wX8>0OHhD*_beso|gH{=IKn_x&-a?5O!?GvlE$f=}W zS5Csi0A)(;+G`CtUv|Y#{Hr>!{c_we(u`p1h`xE)OlSp!<7v?yK6GnMI%iEj%0`=p zMRa9a(5bG8mMky>h?~pzJ z3N{LtZvgw+P*?zTtdM9~q1NOj9Uw#>M7KCM>su7&CK6A8*Kx(lAg^R)p^L`mR4a%e zcA1rrr5m-ZMY?r*njkfbCB@$k~x;C5!% zYC2A`T@t;qJ@_PjgR$Pne|{;pyeDw{EqgJfS}@E!4JaNL)XMpm{u7Y+8PL)FT`hJ& zykhRz2-_`fo_eKU3);GgVcwj(Y1hUyeLG_irD!}~GGG|0sO$X6ZSi;Qbp9q@?dYiH z*s>$u(JoMO6?R|I&xn_zW`v)GNm3|nZE&Tg|H6Vl2+Tg%^U3_whV8N??z-tsqIN%(W0n@QseizAc*pq4cT!v0Hw9+M5|r@Y3#;Xi ze(K8vIniBAF9n?v*^#y@t!mTltkON1B>K_`u*8KGOlQ?CPQ}+a6G2i96Ol79N#2mY z7=w#})0+qenSkq#x^2)O#W}Z+mvxL6QTbR!{fNq8fYPM~o@ibF1nMaedfi@qo@@$C z-)~;ON!WzD%<(%7IIaC*s$f89!qg~tgoe9m4)IB$Y#nJUyJX8+F|GA&nU;*!;QeE? zJ1BE|Fr49zG21=XcycN;Ysjy0{uY0md;1o5TT4%{&D;2U)R{9%)G<=`5Vf6I9Kod? zPq?=OAO1)o9K(i54C176C(1Z1#4J@V?dzr#tbVa7?V^~EfB8bv ziqrw;iDCh@39NR6ikKjKpyH1HNWi2gA1i*4QNfW>@Svl8rnzx-bEAshRsoN~#0t-Z z(xas&^)3Astv$WPn!NT7M$b7jJpxo^Y9LX=uxqi}*Z*%I&6iR&$7o0Q9kH6a75O-! zh<2(j$KFz2vX(yQSDH(FLCMxMfA;n5qWW+x>i zqz{H5;Av0(45_|Ass~2C2QuC>_jBJUW=|~C6Snop&i>e=L98bl{fPhUA^rpB8TAHD zaCG(P91E#`py8cd4oIs<=^vXt>fk8#i6J=(CDU!U@(YHEV!e_*o+K`$OM7p6J2s{) zJUtk#S-&{X5j`h|M}m~?|9bvzLyaI2zt|aupidU5Ne0z0WE<5BfyxE zq54o7%us#4ya~uw*Wo0^-+wl^?z9@)|4alGY<-$(>kBqtb(n4MyFCoHue_h9I*k7E zy9dXB=|P{<;CUcg7%ZSPFW`1?{~yTg3AwLcC&YT!<@C2akR+HHj)(uu)$!XL*vIu8 z4VL#*hyQyJ7#hI#pa}WB85}U!-vvZPqW8b zB7;&ZFcKcxfd;%^Jb$72wmEHg_qSRqOO1^uHyZmp z3jwOzXRb#4;HtXr9Gv$K+s(bk0lRVdZa(03ZN>a;1-AQGHJ?AWjmtTb)$QN>X}`tk zl~=HT`vM$R2rG7wV8CzUDg@C^_NalqS)d-~Ywy9|mbC>!xD2;TA&`Jr-&(g(u0Qa$O%EZ;``_-O38N9EnK- zP)dfA4JquwUN<-a`N6zBOB*&@-CY~X^5nu9{A7xC90{2QOA|Wic(AN0qdm`q^RwrM zrth3ZK0QnXT}fTLR@zxb=jCLhRWVB4MI}!>UAT3pAdO-R76e)%=o)Ap?<5wr-=e8k z!&@k4Sm`1^j_F=tn{y1AEnRD@!n}*6>pO4h+jg;yy}OnXB(V%*EH|6e`7GlctobFhUaY_9lmwvX#6rQhfLLDJ10f z8MODm_jGwA!A(7;%N;bV68n>8MT-k!1VP&rH2WvBO`4M@kzV%UcFcuXgS$?=r{LQn z%Crfd`8eC{y9n*pRU@(ueQyIl`u@ZNXB)Om>*4bKUV=o-d&R1%WThjnDU;hI;)gQ7 zrBG(U^D`!O#)=51!IP)6xuI%}C_P4kiFv69S(Qhgd}x#iaSfyBlR;Kbj>}I1(5WGy zJ_qNtG9=ZtV{EWLYjNB_D|sZ#iwiX<%SkEJ^a{p+5L?|IBr$yWt`6zDSN9|{vm3Ia z4a*Kd_FV*bq-}QmALUTej2eES-HWW!DTavofLb)zas6CMqS3ajG=ht@kWT-(K3&cy~=jTo_3oCQbL=gm~3Jm z&8JML-DM-GOI6HeI_aEbLkm2M`dFPH5wlgOpXBjInNbZ#(!t4FNlR9_YdVUGcFHlR z*>LNAUFn!#L?A58q>ADD;m+gUA*_yT{E^e9nci`3rk)0b>S|=EkXOrT(^rEx+xWtC z^-+lfKS=wGsIH>n+{8HH7wt*f8EBO-@2+m!f)~ZM%DwF63WMyEJ8NukeEYO)kdrNA zjrskMG>3c~sYAbB$&@sLNN|_KWA>6#1tjUMRjnE#yD3 z1!_SjJh3ag@s=Cl9 zPaI`~sbiNt^DY zgIxWdB%yl`yzpd!O1{BkECDAp?EIGEIya=s`rp)rv=xSB-%ie_QXaya%oe4c)%k2vv30KVDm7sPq zrtgI5tH@IP_JL$<_8J|wUx16y9+fx!hqL+y;S(s+<-5o&=G24`m*pFy)0*}mIVy#9 ztKecphrCFYBEc>TR?5n}fYuSNq8-Hv4h2iWo7hQT3OSy?GH_WbH<#0M}vdZVnN43my&N1@2l`=_n$V%#$3AqqYGhd;91Pd+G7h-aoZs z)w-POReT1qWX9T6>$h+rZ$jQX&x{#ge>j?Q*pJ#FeIo2HH4ti7Sv%#G!eHjJIuTv^ zV7@g!t-BatJU8nKmJf{bN=ESdyt`*yU-~l8;s45!)FF)de1>&QP2-P?S$Z5#yrk>u ze2<`T2{%uhY)me(l_NjCG`k=lhIk;IVeG?F7DIw~u1TK}pT9eyi+vjAI{K+xyC1l- zG@jr@Fh9Os>yg&9JU-^S?Vpt9%Gg%AxVrn-Ko6GwlXQiA1#jLJ$``87UNP98t%RY@NlVd2K z?Zx_=xfU^x+?vJjE%SQcP$c)aazfFfJQJ5c681a)$pIG(khsnd3;o@%W=y|goX}d? zhFT2b@u3@yNi;GU$(vSS;0cb`mLm4JBs=(}E_N2`A+Fl7du||AV8`{1!pmJ*BuYH)az$>kn9qw7ps0$sJms}k zk}Sg>g>iz3B93`jN^NmAe>Hxy7RZ8L`oFiaTezd6(FN~HrdF}{Vyd-H zs;1NgXy@1oghI1Ysg}sUsBVY#{5TXE=oqv*F>XN9YMc$lM)SzQDr)9vUd(44(|wwM zH@0l4>YTlxnZ257tG5a0p<#ZRM;RpS#-D!BqWs1*L)8AlI&=0-z~GbrB@i&tXMjy(|r_QasUy(nNksBcx zllPsDZjpu$;<={__|hMkeRCfBqvYSg?~GA=;M`1wPkC{ioHT~(1qnG4D{FFu zJvrz>j>#xZV36qB!w}j*(QMW>qW~(a3`!>s-GD|upc0b&jyBlD@FVRDx}k+~;86vX zuAXe*(HoC0#hFY??`l05OX~#ChfL?W95|NcRFG(ZE-ESUK~$Bw%G%rVuEV|pUbW+O zUAPbC&8G!G!!l&9YG%9Dc4}&;A_M4`3F5U-|6SGaQUSIpaL*=hs2xcAfQ*O(a|BL2 zo0nkuAZi+}r(ax=+!)jVmLQVB8CTy=ukC zQ44c`xizK~tECxLsu{J?i3ZmUFla~W0@&jwaq!ZubCO!Q=-UsBwZofL!u>ZRXqSFD zOjCIKvhF3&Z*7lT9v{>3<`+`(b%+?|E(sLwqJ|#Ma)ENG_Q@`@o*uiV9P!G@wl8YR zX2uCrAvbIdicsKWEC@{3+h09!fA_~q^`#23YH&s zSvXt4J8@$sWP2fApG4Q~IOFj-`(5z#JqJsz{$ZYrF6#P#pFwZT!yct`IZDADgYOJZ z%pFDgXy7Zg7v6me)}bg+A>R-*bvxj!fr=ia#%dgcTEj5jI<3GZtQ)<1vwkPiHC^go ze%wy{R9?C7YDys+?HEgu{HL{IuOn!dn!@GLL$9}%<~Hy6JPCtCie4^l<~GM}+3IPO zg)(12SLaNIaNzZD%tx~dh*HTrPuwr6`>bcB-F1DN?fKt#2`*cyJh{W_}6u1*D(}_5J0$z2JY?&%x9-PcYlTTtP z5F0;f;TZ3m)_UMl1BQ4+%^mA7De9>}V2=OJ*F1>ns6Q7a*+<3w2%t`JVNso%=D|*x zeGJ)fRu*xVj++E{_4CntOrw89@R3rU;6|>!YH(1|T5(gW3Pr&iD>jZD|> zCpvZRAz_|83JjD#H?iSwIRxKS4E@OLcY{_qb(C#uyP64q9Zy*&U21M=$tqiL(dHL0FmvR#Qk8KIYNzK!bluFGOy{Q!0)1o9< ze0{V_OeC6FG)Z*3HJYDD65utZ_omLwy3|u?Nj5oRGOXO2N#nE{ohI^HVI=9`H`uGO zn<;>bv^w>f6zv4~QDBm0w2ZZLg?J=h9rdhP*t0OV&qsauOywrzIVc+0kJ+qP}nwr$(pRb4gbyL0c%d?zO6o|s=d zp1--*%3M2hMLuh^Bhi|k(J;f+fz>0EofehL!#p7ER0oi@Q0Ll{#;Z~~w6+bCq`3i} zS-+=Vox(Bg4h4Y-q~0;z%F7$NiPBK9lWj2&y3Jc5E=k{Lxr9x;fDFO(^q}mTqN5Ls z{oAATlqp!d*8hB;rHnc@R3Bx?NT+t%uQ|HvOjn=YyLoB}rbU%Z5RoYtDBfkW z9#ui6ct=3Xf@H(c6CvUG6e>K(G0U%15jyF9pZCEj16LHqV(EmfRJ zN^h|pY{M(VZjB?ax6(V!Ec6WAimlqBT)Kqp!CE-r^u+Jvdm;O}uOluE-2j}X*V=m) zS)WqCGwXQXu|p-B@`!KNF0N$UC&26ZeqjnXmO(2ptA%i2RSL_xMyS3gUiqlLC+$)L z_t~>_g}ahSHs{IW6}x>Rsu==VIbiCtx@$Wm6T%sCNL`1-VU6K$2Hd?a=l_o}U9sn1DJ+ToYdMkA%6nH;Et669Y|2`|MV#X2t&idktW4o!kp z6AuN{5t3PH

v*nKzXxT%)cLIe!00gmr$--KN_03#V*DiLNGTkx$5>%!3o{3!URZ z^a+=PHJnR5N2$h0$gaIo{ME7e75XIaILm6aj<{idH({aBPcxHC`B(?Jj{x zq*ZLrYAuw3y_#Q{rEVd#FB1Tmt*s~(9(A8(Uf^F#<*>L4hdFfXzQ|GFZMirGpE)f=zlua^` z@0R#f+u{~1xfNk(7l+#!(_QN>u8!xKbq*YGhIAVpTD`ZVDkx|Jn6V;a zeH11ob-cLm{Qg+q)@x_=#x45?V4v*sPP?3G!2A&8{pV=MmX=h7&64dRj~lboY<5=0 zua}Px1t1xBWD$Wy#c3m=z!A)xH)4%QLDhQPpui6#-k#Bl)F{ckf=c zzjFbVnp>=53oO<$R=08lEWwSgQjD;turl5EQ(yODZiel! zSzKESs&h=dTaUUcd7oZ=3}oe#hy!+O;pdPwGwx~mOhEE6SB`|LCaCo;EP$ZppzWwI-4 zZ?sE19k#v&TY}J$R1DZG)e5a{UTz)Z^l9Z}+GaXP!&Kh%f6g%OsDTXmXP~6s=3Hy@ znB}U>!ebKq>8AsFol;;$O2DyTX>`ra&QDsmq->iw!uj~u%coBZGNQ%REczpSNW-%F{j z%af|q;c0`COblG=j4cDwq*#Oa*rdYB(WEC<;Ix$}8fm$l=m5 z%$P{kd+?#NRML7--dQ9)iQN5aU>HTzNK6x0&{m#hxKnWhZIyI~-OTbc*~He`LB`F; zkEQU{ISWuhSyNd`t1GqCz~&XFE!^Z$V;dg%s>Ko9+Ce{)h-kO7hVL{Icfm|*(r+f| zG8=bjU8a|o+Ng^z!pYJgBDJ22GEv0M_48Ap7I zWCtl;6|D|aXu}eAyi=9jA#NhJRiI}Oj-icPe5tgGbK1t#i%LK(9 zmh~YtP5?i`FN_f!h>%Oul`hhq-D`p#bzmdsiB6%V(k#rPlu*gJr(?PWIoJj48F~Cb zA99*td{6T39V};}IK4)t7|Q1Yg8S+pu*g9Nz@gr&$!91;pA{n!o;)!4BpaMBSk3|V z3Ekr8fZqw1e?=8yFf9DjoP-zFIKkW`p`TIw{1bTtNlW6w4@=$ql9x#{YI7yvH*36l z61K7K9~hd=fEEYvE9^!7DdJRZ33{H*xIKbC!c@GQC_m1|58zk(CH_pg$Wq|${D|J- zUArY`H^vzC0QeIvyvcH7x=epW|aYA9D3kvZsPMm-M0SWvQPW-(3MgMz(XG!S7vbJtPvEl+08rI9sjD*~H&E@2M%JVJ2 zvghah2RuJui%MsPFyaIjx!rWXGXM>Q0}~xzMxv4eHYD>UGtXYR^R%{E%<3kdsNv)l zbf}OF?|~Q-7wXQRU?Z7I%QkH*Y&*#lpA6+v<2Nkb)XVSE$708vevUszw@^!GK?QW4 zr!>M@5O_qp=WJU#4?Ti#AS;Tw`$6bJ&R`<9ZcMNlIc>U3DvK`OAXTuM0+{f+3coT( z5bJ7sj45-J)B#c@)(uC`q;9u$D2=PDrim2W@Q^c`W@zjL=Yz5I#(0)%4j^?jt|ClR zerVhC)L4eQ7UhE8Y;!k<&0uCiiwLKggf}txN zP53j`x6g7~lsUfczc1{Q*!QRc&^pa zpJzcm$yMr(aYarRaT`0}Ll)tpN2J81gLy_#E~q=*EsnF&JU9sJK(Zi+Xt_Rf6f)`b zD;1ANp|V}B0Q>sBN4xiAD)i)y{>o@)jxFn)I#&6RHVR75I`)BitLHl^V0xI(pB~{t zK+}m#zLt=lG^5UNomRxVk6zVSe)uI@_E@Z(kvrv-Q%Q6%`8R8S2s00L=wCn^{7a#* z{=dOyW8rS%$eVs;d7bjQ!sJm&eT#4!PDgFUemQ0?$b`@xYQkYF?elsOkbUql zS9kE>doZWu-+F4>mcRELu^#e?G27+}jYQ&1a5$3%5Z$0tX8!^jE_H^l%{!n3e)N-z zfpR*Fux(px)3y`qDydw}B3<9};*&cs0>C9qPsmBlgu+^bvF|Mr8 z2Q8J4!N7b_Pc&5yRej+>6HNwNe1pGw^sgX6K>#gPC|iNBpx%37oixbByReK8cIl{f z{)TF__9w5;P?iCTLPd7jYev6yAEw^kvxSg{_g&`;TKYLjK`XgiqHe%~*7>T} zaionU-J5^nB4Mtp@^fmXiu>G3ExyafiubQzRT}tB`~aC>Z%34djFRPfW4{xW%3{Qs zZ*L4q>h1;@JJxvAiAoCLd?Ly@E^tL$7{VzXAB&T*m7m#qAiv;*?AsD^^4plfFMdoP zPG2Jp%VfguLvOIg^wSle^Z2BgZn$ESKO}@QJuvYTA?BJei7mi-)qrRhDRc`JiPbwv zV7gVqxcQDdj=QCR)RS- zf>nha2*lGbIu~;;1^Unu7D25=-183z5cWIH{czGH;_`gdl7t6K zX16d-FwzQ7!7|Y+$mH9M^Ha(u0}5_NLAn2cyLZZi*OUa&nHDP=}f8xUDrl%zz3y9smtMY7C?wRD2 z-1uxo$xB!Ygt3LYZsRnojruO$^VXuBrcGEzN9kHaHbkmj)fs69Ox`-GCf?9jy`gSR z%%|GuD+S}u?t!a~$q<%(jXUN2J0uQn)#M*OvFA1g)uanP;2lOOD4kq?iTz#0XzJn% z4cocxlGv>(f@w-KJMeS>*HYhYAXv4uu+!o>O-xu z+MG1@o~W2@_bnl<*BiC5Tk8jKS^F;e&T7un2Xp~R-{izQwS%h5_IeU%Yl@Aouam>{Hzk8F#LLxGYXnbkv{vsb5@ifcyZ$DxEzar``&5P- z&HAGEsdD1Slscx<4TtQrCA{PK6P@x^`3RqI0xUE8K%)qjce45V*raH5LtOa-Rzxwg zdwflmX2BBK;jZ+1UkT^fCZSy)V_)G{FVs`VKEul2Jdb&IA|GHOq}s->1UoD$pzO;M z;N0vNJwh{d%yvh_42h3QF&)Yb;+G?m-R0*#*+noXm)?hy#8;?i%(`?lXYB`z=b?8F zy#x_D5d{^JTxe8f#3nlV71pR&(T)i^WC>nUp}c2Wv~6*Z30L=Ek?)CR@8QkpCtKSx zX&>LzjqONFW$0EFBU+XXsan-!=&Hq*EMlZyWK3OB&4U3;X}Ib=?g|9qlXDmP8@B zSj~{5mvuY>Po}j2Sz7r}CW>xrL?|`rCYYN%xPdjb3~w$yL-Eo+EY)hNWLx<*4H+70 z8EPGzfznPl3L{s8x8WUu7Co+?-;BH{f=-Fok?QO#=@995mcR;@z$Vg(& zNUNpV=}CeSCLoW7m^~kmzTV4&<0it7j*$70{?xrC5gjEld)`w)&2j95d25x9nUQ+4 z$IeYiI(lK{rQI8XQ1zgWVRSsE8M7Wu>HMKV)=OQ8ts8w{`}%hIdI$IOP6F|viM1PZ zAc<8!e1~uQtPQ?%D87?<4+tiZen%QQ*mefknsWQGr4eN0;N_V}(jVt3)>3KeGEHt| z*RH=34h<|sp`aYGs8g7Vm$oBkk!sGeT1zlx%S7ra4)ya4*msZ9adQo7mD#98E0xt$ zS6^CIu#{O4nO66g*tgMg-oK)E;12=QUsmW%t8Eeo+uyinUvX9H74{aR}SXp?u_IeFZi3=ny&M4_HYNg)kI5c_^ns?lSYeZuEC4E+OTN|v=TOT}%80V&LX%DE z8zHLu2VSHWzATv18izboBdy}rf%3@An-9Xk&a;qOJv63Rt=*7Kon4SaLcp1v(@S6l z7Q7g)T$eTuiz(hn;k87xLy@Q-HTiKN-krQ=Qs&rusSzX5z+NoybcPQV?e$DPl0)eBr zEZ7?aYR%dwr_k9y%h+o^bOB8BuzX5IFQlKu0s4n(z-1pk()yyR-JPl&>%&z6uR_W!yhN$Po_Yf!!RUpqzSPInovL|?km%0 zscf=FT80*s^`0hLRII5)C1>fF6ePS(yx-m?IR)GP@Zw&|(b7XD{`9XkCX+vY;$(1>~d|6Pc^+&o#peK*S zF7g}h_Gw@ByDr>|AX4e~t`K{CZLVQJgWlUb@=;p}_(lhlOM_CW1*;jAn2YFIP#JWW ztkY8Uyf-iU^u>0g3IEuKV!YM9$Tkn3f+x@8{!`N*p$-GitX(#ptH4f)gzy2njPyq7 zG*Ieaz1&MY>(j$EG4d@veWQ3wDfvP4X+6$R*F{}+GAIWX2dJ1W)6lqmHM1Sl$W_TTO_UpOXm8~^PI!CH0|NDKzGc$_a2E{ zf*dQXXdBU7o2XaZVLv%M{II8%Ar7ZAN)5;&9cvpmIX8sLQlU%I6Nv|GlF=F0N{SG{{v~_{k z4+5btVrarh+dQK$D$I^pJh6A4TnlCemH_$InVEfFN`i%A=Lq{K^r_IkVt_ws9 z=7eAMgeW9ZiHk#wVNtueuMvFY3oLt_x}JNUh*6IHJM%$ ztgB!9RbX`miuIAb5q`A^UV%nnh+TWD7NWUT|Bm?@&d>1Gid3{Hi6uw6T@x`m_#zA z1kL?$RaA5qQ5pK51Ya<0omg_8KfWlBI&6YAvV?>=d(NJ-&v?&D-q!B!1b(2}vqUJC zLm4MTk>nMh6-G}shgmhBx5GeR+ZX##M)$T11QyO%4$4f z4>r{1R<`MO4l=9UI?3%U@Qku}w0e-=)qev_Lf10^Si5vsYnX*EZo2a02y{_AXv%K7 zx6Hh1Rd&y9zgtf?`KngNs@HRB8H3H8h+97&A=URvvUl=v(YnOAlvIZf6})o5-7YPE{4lVk* z1p-|CLkuWkb;7V{tGLf|nPl+;b^C^Jdf0t@T_o%t`Qcsz!A;-HtuOXPmSuM=t=J-4 zH=9}81=U9=F=LnXk?D%N$fV7%@g|@acS(c=1ZPe#+y?kXe*3?>ALA5u5MXX>i(S(k z&tp?uQ9P#DXCA{EC$=GpgfwoGO@E}1f?R%+(B?<7JhP)17$GbB`*F+gPYdLbfJV%+ zHpfqKUm)|LbTGs}@koBkr9SKPO5m~)xD(r7gHV(&Qw0JHKZ&**>p&cSv;`fH@oP=D z+5MK3-bW#3YTyERTiAUz{IS+k26+}?B-MF50ha&O>+H9HC{O(GH*A}5Iyo}_00IL4 z3*S8dKiF3Bu>a5QQ;wpX3^Cc8OG+L(o=v0xnj9tQnF&StP07oLFzoez!dKS+#wh1>+B>+ zTjzszZAh99lnv$-mfVVzX5I+dR@RVQG4Zq2;)x@rS1jSQt%7msKLk&V%Mzva${tnT zO+|aGp1qX;(Ck>XUu>_JZ)$LDa`fPjSWw~;0dR?PAtBc|l_VSA;*`Go{W02=8 zpN7pArj4qT;K2~bRc9D;1`4QPkQ1vi$tZWo+Ndt8w9Dt9Ce1P67NF}?R;~^jYD|}n zaUje5e`_{}DHxH5{&fkKeaMTUuotR^Qv4u3?%fO8?+dw zJ+i&R-#;2t4xJT16p6iLlcu+7H{w?y9=0$X=X)=KHMf)cV~d}Vz;o`xY0hKT z>f`J#P9KPQU4<#Sf@qkLFBofEiLr_}x`L9GO8Jqy#t{BVaXVE~oQy@6ER2U5-Clj5 zFwhIS5tivgcji9$=uCI)O(zP_urKorWpn99o;x3C)) z#)&v6CkIl4FnEe1aTMaUSp^y+ zUIk*JI&LsqPdcbvnWSd-ZY^GD+k;U1R_n_*Tf%(z2&We-xMRX%TtH3C>3ehs4zj}Xy_rs5TYNP+F-Zfm8D z8R-~Gh~imqImbLyizEV0!oOvvC{FTfoMatynoe#hnK6(d;g(TYeV8)+*U$&k#Ld0J z<{!EOZc+X{AYVwDjnoi8K=?>NK#cz=Ab;!hYiv2;sAGNOX|~eqjYVXqb2@}yr;Da0 zg(n8fWTWHiMPc*>w$LOc3&XG$%nNHz&TJ#shAgI%ix`Ja&r^hA zg#z{?I6?yi{4qi$LiaRn)EbHPP0!uE>Gyuo_uV=6^1Tv#ePrzcb4F?dU<(k%aYJ=7 zh-xDp-E|hFi8ShiD8slIAReSV9K~{VQif27j_;{DJeA<{Qn%(L6UubE!2A_ROc>#U3<$?pd^M^BpA&saXKfpM;E5b9h2!3Xb z>BAi%>ZK;vf!)6V^&<6ifOU?JQi#*bm!2xpDv#=wLZ3yzgrXtY|cH(B;p zLxI9PaW$#@v+;#w?xa$kWW6EBxfu zNmo!vgA?IEFZYwrze%<|e--)REz_UJ>R9TZ$O>D-nyF4F(*#;-m}F`}1W0q1Ea&eSx#NM3$A5!Rw9S$57%9xu*N zd}^|kO7luPZ^LjIm1rc?M6o@|hlsN+d=pxoIV|Y3b_qt> z+3Mw16tsGIl?y*HWn5G8+enIPrS~+_I!#c>3Lf@J@wvby8fdYQQ^`u!7MD3 z=js7ovh`A~5icO1=AI>w#k3=Nf!x`nrq!eEq#RYv9(YfYF(B;ZvI}}Q1_HGkLIN#& z=oe6L+5QJ7{k$@YlM+4-FV;y;2_G1Ty|RHDUyx?CfI#RG^sJ%M0Er~^`;Syqa}5p2517l2OgdtHsx-0iFBw?=W3Zxd}z}N(gs#@87$%@dbRO`F6To!~k8jCFG zEYVt`bC*h{DD0I7$SPQ9!r~4T1AK7EWhT4Hj~+V(y|3uv+WeeOsg3T$Y0ESaXPIlC&|T6-<4 zYFx?Lm~#&0a-`&R4ImsvJiMvEo^V&=w-x4ZYc((ibQ}hZUa2gR38oSx%4e-n@}3!K4U3N%KhmV(bd z0z7gLm16_kRr^`y53tVd;l@`mN2#uo@b=hT0(d-H`RH%^3Ep;uth!4ATQgh2i#*V4 z-XRCyDY==>G_GqWJyRQpvdZU}w4$O{kymtF zmuXam)O-3fTv9?y7ERL$%9Ns{r&Kz(RjB%8Y8QipaG$@_&HZMSmroJ%s!?oRLjF9W zTtN4U+GZpgJwPWz9C_X4_o&m`?fYk|)dwj{e6qKy&i{gLb!f}!!rNY9BoGZhVqvw9 zap;vN$Q48Qo?j0;dtV!Zq20jHOlDY1Sz=;%9n%0CgDOoC^9rCLIN&=3vmSp)>1)IO z)T(%rarc$8qjxWg$nTd;GGF{NYTmm^nknq-n^ipcZ5nicmsx6<+M2fwcS8dz9z=tTO7uZV%-n%T43$RNBYu6u=h^;D}0xMPp^3K zccsYXlOuDSLVIG_HV+0s_)YI@UK;=r+wFAmYYm6>Pno>(@KW*OT4gB-eQ4_V7sqNO z^m0V2`@y99$vb7mW3~R~Hy`&cu_x7HTjW=pB#kz-IB$KJ|3JyaehJ%X zO=>iDOT7-+CwYhL4Z#L0`j4$@bJlCni^H1)d^}En)z;aPr=zpAJD|pO$s=A+)ZPFV|R`IyCLRJnmR;I6@) zM8yWlC4J}0P*rvv;f3d$1`1C1FKuWKySB5RF+YWI9GD%c%}MOw{P z##hg6Kk?*Xf&%8_=2mgTI~l`1i>a??6$KhBbZ$Xn`4^UK^p=a*d}PrHcArpsIcC{A z&H(Kb1zE2A-Xx#7$=&kvq5Qz^NVIC^=v+th>#ax8kTtmiL%1syeTXiaBy(!d`6dLu8>)o<>aW=S2yiU9d0R8jDZBfqN-k5`N)^Zs+JZXLfpe7B9$0 z^cpYmkFGxAoVUnZlo2VvNJO*LqA%eYCVfITbck{6F*4ai5kVDZQO9mSI4kckqb3WS zeY628q(YiQh|<&&CeiTV5-0h*m{z8y=+zI+V!D)HpeCn~6#^DZ1qW1#>#)kOY`9re zN}>jd2I<+ppd19d0mZ>Q!oPh`=#VbkL`Yi>P>7g1I2FBboj*JJHj*o#=Clol%Q>l7 z+A)7Gk_gve3ts+h0IlI2A*2ri1oY=08%xBk?f&BzHvb#*C8{@$TcW6ZS)8fYavCm*a^Ni9~-O;s&&VK;Q^ic!BQvs~EF& zX^0Cl2H=h!e(zRwo#i^c)qalY_kF<|z!9W5;AfFp4=_E*XY}1+uhSbrw;<0Rghsrn zjLM;T=+hCDn~e2`fnS2#LTUVA;8si@RYV-uFlfRW;p2(fbn|mWsLG_IfW3e6W1x)JO3>5>!N-y)nUpCB6^y&C>DeF z-cbLSW_|qa2W>ZhXz>xPrDd5~JuA7<52rhn%R7V*;K7wzH%7-Pudasc_XvUz;IqMx zpxU%aU91nqv<|q@SM2NTx^)Nojh`uNo!9VEL@MB zqg=Om4-Axy+s2s#B$9xdOO2!z0!md0ih@eL^K4jX9RUzzu9w`yW=&mw6qSVJ-@eq0 znyRo$byZCnbhU?4Fq|v&T7Zbb&4z7w|EFKfzDBylvBa8-Lv=%GyRyG_o3YpW z5lXds3YO)Jh9kP_>Q!{ysONyG1cHM!ClG-Y;k(dqLA>678 zb1E~IpJ66JKNo$Gp_+8cBa!qR?I}@+v!rUGQk?Ls<}=c_4=|l6BXvrYgCmnX{piF9 zX9p$)#?i51wrq4`WwWde-4eBhRft-~diJ^OCH#YG$l_!iqgr16C&I5rUqlqr1yP0= zWT!&1?hygi*_ciotnJX(AIbxK1J7<;T8d)?R-{(RNkmXCHI09?Dc-cdO`q6Ce4L<1 zL2IvGY+A9k4xeyWFn<2V`FFxHCklXr!vFyRWB=2M^Z)TK)P!=^QAPW*W1h&8)k`EN zwP<3MwUSPnXr}tv+L{{58X}mw87zz~old&sY|o5hN>xJ>4rAL6Qv(?(iA2*HLY@pQ zMx3927;8;TOidjL16jWBckAWDB1Iw7H+P!lcGvZ`?ez7u=QP`McQs_U?Ze<-QaK%@ zw!J^V)vk!I&wOu!pwmti$H0O09tjcp;@HI7OU>MNY{X%kvQ~F;!0x@%kB<;(AB3|P z|LW@Dt&H!*m%V#7>Z|DzhT|sfC5T^yAALa20pID+h7-2^o(j87qWsqBupaXv`loHD zUH>_{>mi5N8y#W%Gsu>glwl7IbuVdbi1;J?xz{dVZj<2nD9l|2Ux4}E2qE=|0$(R0 z5Bog>N8oLr^;1}dkNn<`ijZJ#45jcIikB8%z+%55o8!h0zj|Pa_^XPSH%MRRP7}ea zkLf-;U=Q0}@1Q;P^<{_8XC?=42Zwv>cP6{F`K4m{g-sW0Jzaed6TX}{IL=YPL4v(~ zeFGP^)NtWJ3UtSiPr-Oqc%x`K{Xd{_*jrb$PtUBIgD6f3$X&;sJ*`5 znIvOjK0B3r=m$9Miw>^@gRLyNFn~USf>M`t8{^c_17;CEByushGZ0GV$llzGvGnI2 zdJG&JxnY4QYhpCVXdAep5JYgQ#kFmkxVI)+WH53S+H6(UOC?rz)t;nQW>Juk(8NOQ zvArMTD&9GQQ*kjJHzK4R?6B~oEkY-l5Zg9>mzu4myv{mQhEMhgp&;ta|Vo?Yr7exkCD}*wgN>+57!b zLC%Sn-2VOi95(3PX~;O^lygS#Sjf3NA`lqEfrInb{34xmE7#UBZFK=O)yVnDY3(GX95iXlU^G_k^n`BXgOjm8*!Om`u`!?IvY{7jg!pfHL)56&-( zB7$jopAhxC9C~7@~>clEc3A~*lzPfhI7LQ=@1c& zC}rdG>f=cezhAhKVCP@~>FG^mht9(|qlyV)t-XE1n&8 zBnT?1EKUkKwhT-pf;NNkej4(x5Op+a3Tg1c1_J~8u(e9{C#58%C?!)|m`?eUxHJWP zGl?u;xVp@6fCk`}6bU@lrjFRgv``2ICs?RXMCA;$?a!`_(mQRXo||m(M8prpCp#Uh zLzZ_Pax9xP=5M5o??X5gyU8Qo<_uYLlSR zYNiJ&?@g7l3Z)PfQ@7(L!Qy(iSN%zpv;d}*9Sg!0t+Nup%3n_;*^nV8dWoYEZl#u1 zPCPzRij>*zO-Burm0PH%P-==CBQrs&-NYagJ61t|CWvy|b{hHx=N-8@7zZ&8-#@N4 z$tgN~tnqT*Xec7IkL4+D*G1vTwGfadE1PU-$}CV860bdqS8`CRn(33w68o_ z#!WFvT!=pC`;plWoMpO5l5zQ@t+YWNV)tDeFC))QiJxMB1dWxWS+*!|6H(|gI0mJW zfjC-FF9Zy0$nL;o04`{q?PA0j(uU_nF=RP2%b*MG>7hV^Fw~G5+Rrs#g|iuSEaUJMqC=sdeYsT50Uxbf`toT=m|WSTCjq! zXZlKat*5?Ye;SRy?L=&oK>$n-0+UySYZ{_*-HOuj^{QPiRAW<+$D|`{#5{u_E&uSo z+IYoSi&2NA@_ON+ba>h)so7`&w_1kOK$>XiFnT&E159#YI(uaZp97elye3X zJMxwlyQ7l96>-|4mbev6uPyoZ+3W2S?7_K(`FT$q_~@LC7<$s`F)Y-Wv?Znr%{fBV zXS#M{juMMPvQ#!CTcM|N;nFQlhr+_pueaI zj^P^)>L$+&=dZ;J=v3t@mSb~7@%?Q?Tk(FmL%1F4riZ;5@E6(rs1?PlCC)_HclO4t zdQfCN%4B_A-3%wm6cV%3arA0Js%zyKXr`OXGuVhsxia^_pwrJQUE!6k8Z=q1WPbc< z^i;oeaNur58Uw=M2jl!$?5>d>5SA5wYFgM4!n-YvZ%cyUmCn*O6xVYMAn@Q6>>C{) z+QD+SpV(O#<=XgYGrsrDe#Ou431fDzJ5J0d%C>rwg+7yD31tyLxE_i7sTFOLi#Z#G zIjdU4IRJ0Q{H~_I@?%*|=1n}?+<|*eyiddUwa6CrrAyHi;diwVxtPynld@v}nGxt4 zr_moN@dahh9|}fPxdT-0=rj+wtNR|S1sL_Ydjw}kVuRjPHN-Zqj|MFCW^9Vf4UrEU zB~OkJMaz!X>$6M0l%h!SHdt|k^T;d=m9QyCbf9NVh-Y2=Q_n~0>|a%1^-0#(mJ%I$ zK@9nKCyMtcBHiYUJtrE{PkphdVaTX)RwmhMEJmWe>ui1_d+}H`U$EPF3Z&wT8lm3~ zHHJR)+`t`u4Q;;iu6p0A*K9S9ANlP4B&Svp(z;*fOc;ymwz*LxPT5?^Iz1Q4E}tJb z^h+F+r!_t^7F(K9Z>QFOex{t*Db{C5U zdqKs=LgvM|Tn+3*v@N6}TXsaHQ7WgdmsDN!W}E#vR;2BbLt=`AfJ-zr(u#FwHi4Yz ziAU}AAmlBn?7=3Jak6c~o}$VhsP#YyyJp+o_||+kHkrft=>|}J#h;P=p~*7?t~yJ4 zzE7Tl$U2Te( zGeM}uB8I3Nq+q_3mp$=(X~f(UTRK;8p_a+-rnRK`C}x(`JKnpZV!34VHiahMX~gLy ze4Sbttz;5?&?wc=mFvn8|5n?)UgHc+AdqDvQ?pF$9_b;cwRB`fDTV^`M!8xVnIZwY zOg^pHV*!uK1CM(2)UI~M-=|>HVg*G!MSV>N*PU5|GqRDy22ZFDS8BnE7elUWiow?L z0CrY>Z;1iq_R6Q>3z2%eB$ZxyZ}xNSWpfZilX+yr+PU7}_0iIeEcM7I{+nBq-d#6d?n6V&5fu-Ex5E(OMk$(`x zkCSvuvqHszvgQvHb&!%IWiTS>QEQE~y@YHIx^~r|m(yv1LJ`(1Ygtvb>~z*_ZQk5& zZf@FI>1$uPZms;ubGqB^VCirpU)|Y@+jct5zWeMO`_+5reRjX-HODI>`tk{d@F&){ zZk_=3w*ms%JOSTvp&RP&q_D_yT?Ac)?~?+Y^SPq)z6%EGKPy46e&T?4KBl+c!Q%pC zPYjajL*@KN8I!hi^hkw-cgn+}N?vJ`xXBS}uaW+9L;N8!=$-0Ejg+wpoyvO;{7k94 zN?v@rw1_#-hm3N^j!889%()c93(^#dAOVGkdzD;rPkts|-4m?BoC?Pjpgh&-reEF< z6>9C`)vr}LRrWbyneBQ9FeE$`}#5BfuBPDQ8vPf+ylk%f*i+ z)C{OQVuwu{CuD^-Y91AXQ!0A51uf69lQb%N6^{}sdL@oglW7&+9g{WGZ57+KkCqLl zF_TuRdS#AblR4CN>K;Lp>fsqQs<%oWMUz=7z0!~lE=+dlp_^rnZIf%|xGL^ZVP5U( zCUPe=&~H$Yz9Ayi`ZS$esPHtr`Szj*l*${Ct!z2EJ2iASG@aU;>b1AFdTq5GQ4>4J z8<7@vGNgqgsUblR?dWEYHkLi??Ii70M1SdgPn^SnfPwnet$FN7b5%njlqC(A`~bEI z4>WXC1ZRX`R|}>Fy#pb}h7wy8Rx0wOePfI$VX)=cwr$(CZ5wxN+qP}ncWm3XZO`m| zZ#Q|H&HJ(0{ZZ+3(n+8C`m0KJb=5h@@i}3KKENwW9`d;ZkTLCQX4W_ojswDTv2ukl zV+h$Q4TJ))pi0H=hn39j32`g=u}tXIUmP8s5nIQoHi?j9Gl2-YghBt>_s$@0%3*2} zn>;`~5)(zfL=D-R@>=OmY-9oLCZJ-kMSSqIqWK8S49A&>aAh9)H`mL#2} zsm!9RAFEM-V_xEQsbV@_O-77L*3M!(OTt28#piW1S( zrcu&6!{-SHUBwJ#IP1M~UYhn~m57WLB z$~p2YPcgJcPesJ*%l`q8bWtTZoa`{YZgd`2M(CDkW8wN! z)Fq9V8SaerT@3^>FUX0rmf~czjClu!oohY*7z$iiT~yuK2OT;;@J}4oVq(IxGS)r6 z)04y-{lEi_Npk_9vQ(;)=TssoSaW^Qn+77)s_joLZ1$M+ymzSRHcr%T{6058RK6tc zANiKcNzl9aAYxXRjwa+~^(Qm&NiaC!2N5|Jqzsa4w#m>n4{w69ay`*m@$RQC48G{l z8%XN~yJ#V1BbqNHAVl}CWL;ExMY7N}d0#YaWaV+C<`jMR?>8PfE1hxTq6}BeqLE>e zmEI&5u8EST!(&hu--DZdU7ewb1dfAbhmggJ%>pS_#mYY-w{(Srk%YZbB5(R1#JVV? zqAOnial9I3~A+5%=L5+=RyrDSo z(P`6IxlxaBk4RHI(PCnDp(DI<0W&JuRIa!9r$zh*Ph!;J1v+OSAmxuTM{&;iEvuPibOks?<~9iVwVa~#@;p{MGh6v3FxG=yu&kuq4gg?@{g zngFVdtk4;@br+;0+|nQxwkavC4Hmbzw@J4NC}9&9hzLn3a2F^OBe$+Qe*HMF2Jh`_ zL7VVbKWD0+uUW0wn0HSPdWM~szP6nB({^XPt~q(@Xw)S=3>k~nW%Jv7I0GezHjX%hjTvPSbu(vha;xfXWX_3QOW61tp>EjA^(j3~{_ zXkDscJMK#TmPU_gVh0GuXgRr-n2`ajpsKbqUhM_Mh0LDX^_(*CgrVGpvMufr19{4FRmtF z2Tl(pSKlboNp56*{PXbv9>Vv|S9cgfnO9V&wfGco1G1wP2`LwHihtH1?_E^a_YG}X`G|WUKp>KJ2x`FZ&H!_(V!JV zt{XSAP}EdsufEnU8|U$}?v@<_ys2Q5$?>|JCa9{s>*f28IChz7qo1r5+ef8gd1hi! z1Fiv<=Ss~jrzMXJ6=dq_q=Nd!dfsLdhFA|tXKm=x1AK$y7$&BfJ3resEhA0P+H!sR z?d+)d4!AffmUQNGFJqUo3rX?RlAPSXhF5H)wR8#Tu$3+gl2bSE&L@$ayTj4sZjQUL zvN7{#^HY~>E0OtxYJoV)B^VUdb8^+25^eUd+sJC|-gQ)=%XyTdWEY2XGu+#tPv+v- z7`iDd^K9Abvk+H1e|2PK75LJk3c~!!;^`>I6$_o9Ha(2IfTmi6p$@oH(5s-=IS$f7 z1uK4~OgX(k0WI`3JY z_9Ex_y1H(is&pm?njSrLGZFwTeRQDFo=!7b5WXg{ytSB~I(&Tlf#xPI>8KTo!A0&x z&$3mbav~|z_Adi_!|~4u{j>Adl~p-7TDgz!sx&eIvSskDxvj`JPkdE{tRpX8-g3p^CCIRJS%f|vp<`UYGaV_CWA~>HZFfK z9cQR_IrWHMVnk{iqhPB?eFnlVwb!}gg0hpC7i3*{cJ_41Ivt8id{Jl5yrlG5G9du{ z_!tF6*=ZBGXuGp#b^ti8N4ED`nhHxdNps^^?G0%P zQJYQ!UZO%h6ka|x9%0FZFiC^8orVt(s4Tcy;4(i&J!Tq6VR+||aW)`icc{I8 zLcnzVk(XdITf|WR)S+0VYe?<7PHuSH>;$U;%D!RhY0ZVI=19xl&+I0CM$P5?w-Qr!3dR*p%{ni^SdbfT*}3zD-vgWo<>J`_-z`Wp5qDazkioYUTo z9?#X^kmXc%#-s0`nxzDS?UuLOToy<~dEof%%NlDpZeo>`7Ttwb?IYAQ1bf&RVaR#! z5E^-ZyHpFIRm6wP_mS`tj`Cxb8phBDQGDwtJmpwO2?qu+&XE^X>%!4m2)?FVwM;do zjE|v!=JY!Ez%{2_g|Gk>#dV2z{3lmN5 z9t;<#hmB1wML`Msxr4<;cDu=L3LB?6d(-zlbWm_z047iHEEF;vg+@-K%>Uj=EK3ol z6j~n{}M0KS@9tANm~e8Kw77mK*C2_YyP{H2js>m}}xFP$#ui=qER zc$EG%-x0s%AN-{lD?)zF7FSV-j5Pg^uHvfJg{Cg7k5z6mstg5{pCGe0tb9UU)?SB? zV%n=*$cXpXAlpLe!BWAsGkL1?yf}Tj@t%}sC3?1K`LcNtzNxh*>WFc*xLEz}R3Fcl zQ76O{wbOdqmszzdbo%ui_m1Fo1*kggx|V=_xRgDl6r;K!2k&o^tNbR>#cN%z6Ct}4eO4l?>$NF32Lt_~?!rI$ zn;OMfvempc=yUlb64k~b>28*44orGaA3$?=9+J7NVy@&qfC?KR^OuG8-jnDr(eWaG z4_g`1HNMVgcc9XpZ~JUC&#DZ=bTlqZn}dXee%3xyNB=H5TGRwpDjD?Lv|gl@)9W$G8s?Mv9(G_gY;=;cl#SQgu_x2Lr-{D}3Uz z$3?*zTvBqJSPeMLlQB6=^_8TyKhM8!s-9lg-IyWftn-Y9s&rzid~uWQxw*3QEGy;( z!vt;l#MrG+oxye^PT`SShH4mh+@|yR>|wBqm^Fn|&3v{KJhQKo$KESChUy99n&-2c zm{a4+vK-rz6xA8{_DG%9M1nuG)9ywl;Q_1T=I!hQ%74{++7BD>af_^+y|J zR0?FoV@Jhr9m8N-Tl*N>A{wom=V6>+Pwlob`YR%v2JApIV`+&R_>38bVS{Jt2V8v(;a#`%4TwrHC!QVdqR~8 zAb6;POIKePOu~+n!!e@&*S41FhNy#@kTWELXiB!o)v)a7F3x?babOfHpHmrgtTAf| zY1wDO>vPh4+Sb5)V9o=Zkt!;xjejY{aoZ-y-rX7Fg4e~k@G<30woOR(wexTi>@f03qI5>0^hcsJ-7>YxGPSM;YfI790^gYC zCEls}DvtQ_1&6#d>S)(Mf>_Bz7L0HK4U-zhF${jZq5iwqqSP1#t3IKojh9abou(tp z2gg}z7;6sDS48?r?++OEsP^CThs`A3>QbLsyB!o|^=Q2a-nD)au|*RjMqR~P)ztII zKLs-;TLoo&29zxm*AS?ngoFfZ`2++Sx4#XM$t@Anzr6JM0K<{{B~fJsv5QrGBBG*| zSmmpK*08c73;LrO16S{?-LswQ9M?x;uFqBvfk1{4jRD0u9rLzh-(zLVW99vPMJFPV z;D^RRt8eA*fbh~h2)VY~bM_4^eJ5JRg_yo) zy_z_{obX(FQ?1)NF!y_9&`T&^k2cAuO27m5U&6QTn?;-H>~LzxpFLfUM!+749fj_r z`sB{ZHIdQFA24X-oDkeh)!896{HfSlBITD*^R_(aqB9tNAADkcRtHSCfI8wD-hv{t z?l~>Ihrcf#UqZ!C3N9!9+y6(oe1Wo1%d6-Xq^6IPm^==5kCR%@-)BTrlr%yC8Vg3v z0s^Aq6F#)CJBE1nQOdTz~uGy1^dbs*eS}`l$`l z@9AZ|5tE6w8r{Y-RP`Di*BBi%U!KX+7S5vDT8AD&%@tcEp$nlGP)25T(Prb68UMrC zeX#eXh-`C(#cSz(pbf$JVr_3x8dAcg+_80hgL+*?lKSge6^a{7J%1w~(IAcQE$MiX z|hRdv>EtJR$R;8RBX3QC0I3 z!yE6iCiTU6>{T)=riwWYrADc0ixf(3z2D4_$xg))iEe^zNjmMpe(qsjlGIm_sJ>3U zq3;m$8`wt*+Ji0umn3A^#)~9!e7YxTkMPl}&@q zLA+^biMYNDO;2yMJ!Sck!^PnAqrsUmQs|+e8F4srp1vPFkzY3pHh)bi*O6=T-ur}3 z;i=s^P~qDqlnCF-A@Ov`TLaIoj52`@^hhuZ47FjP_JM&HhNJC zSzl$2j1Uh5+^ax){MTc0MBHoAabC{VQ?>kg4~nb-iR7zJtT zwC9PHDtW&^z}GdJz0STZkJtT9tAnplsJXfT2T_??L3eYaP%qOw;%x>G zO=x#OKBn<|EI}+wjB{1kSc`Ee!uh4rsFV&| zLtlScH}rq9Q4Z4{i~0>=A)0IeSBMP=LXeM>!s9ZXi9={}Pa4|z5x)@ygC+1U2F-lv=bqS(&2@wKx3K`uqn2^uJvh4os&cvUNiMsU{?5}{m2LdYODJ5@{`FE zxs5l8B~4XC;xjDuFMlh#qdf(*))uqEQbz$p+;|}nvUiC-amq!6O}TJd>lFe&3EYWC z;y+9&RH#-W;h!#o-sHJS?v}J=I39wYx5gX$dvIGPTxaAUVe;)8!@Fl|atM z@!kI3$q~fAqj^$F6Z|^NEB^w8-T+5@?Eq|JBc~9JXX0gdOuw=O+XHcE!`c~7JZf)x zC9DAALL5|aGxR^}k&v+gaVRF<4m|)32gCtSyluH9;B=7IFAHa8P>kwhVjJteR37r# ze+0}4DfpO-w_?$p)QMF6IsD=X57_a(%vQB4#9}TnM~yiuknnYXIpL%=WWM!!#j1D| zj9TGEM$hb0CC4>Q%~3K<5~xT~e4R=SfV6B`*-~9}+R-$m3mF-;+X)wAHtR*>FM-y} z1`T()OmKECt-~3QUn4*(GcGs6K)^-&SE{k|zZyGw@|CP{IcwfDl@0XNL)tle0zUUI zJ>m{^P5)Jr*N&lCtv4Zljrv}EUL!VV9I2d(LE|f3wk%evbhNoIn9@z6`~9c>EJt;1 z;-?z%nke{XTv8Qtnz0|nU3&)3eLClTFdTXLARv8fLg*0nitj7c99zrvuV#)V>5K5Jo1Uf~z zi4s{Pv;64j>^iQ(q|TSzfKSRu&N1Bq4hGA&me!mBKl6{|C0S>gtp3uDtXk)x`vKv& zV$yA#cU@k>S(&lJeCNif8w(RF)J<_M?L;FNy}H}TXZK&BF#G55kiey1Sf`jGTNX5a z69G2$gCvC{sjNy=#Vu)CHw3hQN0knap`)87!c|X^@#4rSTXkY~5?Z65ow4BM>HweR zULgXRvB+PhR7Q%J;<ardgt6&gTZQiQ06tNZ&Q# zB!O96cy!|*JI{Kwn~3DaaWCpJ(9gMsU9O!%VIB9@V-B#XHq5HynXIt#Bojp@oA-yv zL^cnL#4A=J+3n4!YcJ3Q zC5^(6)UD7lmK=AI7ca~1c~ZBHhhD)FDX8ylP*d-=qdi%2#?(MbIOnz(_7UR;7*evoJb?xiaiqp?0DL2M;Wwp*eGOb&;cRT*p$#2eq3W z`#kC@KV9dy5;tGDikmStqVwSIDLL`eR70~)Bu_4n5uRmGQ+>Cis6^&$>~gYf#E}2y zO14+45LBCSA56Grmcg|CHU~iTHP8H2*24W8WB!)NA&3|kG626%#ML7suVrO{;fLi_ z?&N#cl>hNb6Z<1TjJTy`E)F9-WpW;391Q2Wbg8lw8`5(je#al!?hE7ks#5ceJ64^$ z?CGZG*MNU3sgDK8m+B99)LKm|T9jYZ! zUwQ%}PXlO@Ik(9eLxbad@Kn4iYrvs_(vv`nBtR@g~u8@Tu^O;5@ zU6Ak$dl^HDWrT8K)ZS2^gZ9Q@KGIfI@F^JSw#P-UhdE&MBd4(@03Bvb9+$@8ShK65 zZ3Q3D!;5`0mom<~-QGT=JW^jE_SU1;(t{~D7}9&MaE9*!a88hZ1BoGP?!q!f3*D@S zwa8U)&k6dEf&Tg3R9jusQLCI;a{y^aq7E!>;_u)0n9<1Q>yUAWO1_$-LyiQb!9`{t z_LHscG=1wlJc z5F6=MgY2aZtE*f-KLJONfupn@cz3@9N*MXgQl`L%0%-TZN6^PTIQ&0H!K~_xJ^g7Is zRrkqM+}61lB|6JA51`VIsy5DQ{5UNU>}Sf3YsVgS55D{fIZ#fbu_-UWXT`tM*LN+` z$w9F=6)i)XR`rttQK?Lg409=A{7*i&YO2i*zqiApUtS&*YT0{M6l}RXt8kI-U#j#< z5aft{jXW#ut5cEBWM+<~KBpTgjaZ~Pq_aG|2`9x759+ySwRhet|^nS1Wy=7Go^IGk{DC4ZW8>yt0L(#ZJ0J?Vu?3V1$ABWCaK;M#CATapz$o>>>% z9{CV2b`)@Nky3It!ZY}XwB_W&Yd3SnyUHU{L&*yySS*s54tq2Hk^$Y1hMsN#il!Le zJCYH{LSG|(Vy=~3?!$9`eS~zNil|8?IzwL{pMGGbYjKBa=i`}I~^xKj%c~#TV4wre&$zN1EdGT=LMxM}VI_x3h zT{EHM&&^4xXmYDP-Mud0^&q?3m9An7cnU>T>pAM+X2c|{?VY(?Tpd1E&c+;GYHm;f zLpO<LSJt8o0eH6PT1*R3;4enJZINhrgDSx}9w_=2K_z-J2G=`t@lz>-}5ac-!%Z z=t^w)Y4ncTP9HBx1@Odh#IpfjU}7ouXV*)2RJ~Dzc$`VTx@Bfajr(^OcBInw>Y-mHpnuc3OO$Cpt6}u zK%M60`?FPKjHJonhMlsP9T9o29&t)t9igfO`XaJM68^LLzotwUML}ze*K9hCv&=LD}TEQSA!il8%@gT=L4Ohqi`o?lgIdE z`qYG*8mZz6CVC(>7&%0&P9M?;`EHl?+PSMz$^ejjmsKo=lGC z`+C8T@AE1>ke=eVdt_mbQFuCF@rPnNF0F z)-XYXCMXS_dF2-5>8zC^b}5o^nIy8vfW4$5b&}Z;6>fZtzPb7cv;lufx0J%kBOHB@ z$4PxiNrrW^Y8ZF_DFZ-!=>~Q9jNZ=Pq1M75G>RE=M$o@zfbKGkZEX8J_^M&*lTE%L zd$%YK%!wA&b0NCKMND>ojhLu|6P8r$I{Eev-wL+$T`U9_?o)H;I<1#Q7mCH(?wQ$$ zIw4K9gr3_J2f-1@KfDlqsq}m_M98rymT#K6#$FlqOZa_Cn>)jDZ_WFj zU)~3&pP{|jP2QGd^>An{2Th22GicduJGK%Z7U27GbIe7aYA@f!a+ncab)ZqJUO?=? zBABHvZSGBAJux|2)vlm<0SEQ@tFe{Z=~*5bhclex1+DHBtGSjjO`vLUGYb)Mr(qc} z8&J|7wJkNdlNrd^8qOW9d{jlb$d>WA}>0z<>rbC%wLP`cf54kUBM zN8yH{7|!=Lbu%L+<`tnC&+Cm%1%2Wv^)jM!jK)uC!E$YCpusjWfF)Y)i=(dXzpqxjWAxS%QGCp__p^)y`KLjR zOY&YWjFUNn%(9HmLY^xf}}CZ-}x zY^U8Y)=S6{imBVIddHBjA5wc@$!`3$8UZ&%domflf+syFWgF*0+}Eo}WSsReT72tc zf@rZ`Y3cwAOeZs>)E`GxZJe?IK(`mt@d0;>!JEaF zBO6U%^#=BRJ8#C9aLVK1UsfgZ6swBlR|V+;rq&3mr#R>GPu&&_m?x$fQ^Kms;N6)i zN7@T+9+5hR^-k*j6^#XH+Z}R|Kfv>T3+tYAz`VJ^{|$wEe5b^`wP9?6^JDE_Z_+b-CorF4b-cEnh=lUhdhrsh>Ziai)aZxtR!J9 zm6C&W3|CU^H8gv);yEidl~6n9j-2t21`xu1kWp42WN7MIzJyHDRsSqtr&5zPD}bWK z*u}waV#1S@&cguv9L!02N90tz`gGx$ZOtz6olD!u#@RW*!Q#SFXLr#~c@9ZN+Pno+ zOjx;GR_c*;y~P#4sE!gromA0U$diK9rQ;C*%ZeHF z6&~psxZpXVjPw$b2|`Kc%Jn6G=1TXSyuWMC0#XkTimZ>wXs2t@o@HO)_1ugomnOr5 z1fyK`3pxu03*kUFht=9~wc3-zi1NqR+3A z91uJZ@Y8Y=?2iCY!%g_}1bzS8Gw8pD{PV0TC!?CKD5aPEUWy3>!e5^8stF#9XEBNM zgnlX?4#a=K&z^*wnudg~tZ15u{M(ccE(7Bvz4exNe4D3z7uX`uy?lWD7Wh6Z``(vn zwEG7N*yB{|(+%KD8(^jrP))#i&yG^0jRMV0`KR;f7dQL>t$gp5fEe4#+`s$KE+Ebp zu=fk^O&l?FcYe%vo+AIo!SeCc;4_4}4{q!bkoC#`o%u$+zPlZp+}h6WtQ6>N7L}gk zCV{slmh-HfB>!j2qt`yq;ATitW21|qx$B*fio@Pg)T#>;#5f?tKfePMCb$#19B8AJ zErrFI0T^SqBdd3ZUtNaQxj{0--(G4a80>#16Wq} z_j8fNp34$-H-Z`n1Ox!sJI^QnM!2_=yr-;LS}Nf03u8HZx}9R4!LBSSXqP=x35u&d zfM`j26=L5CqJ^;!JB}%@<^k>5Tw6T>0p3oa{N5LsFFVcAnY~pTg zGP^?v7Qn!d=Qz8qp=#Xg?He;@8Zf`}kWl|{kQlyqT368Z+jY0cW}OPgdI26q4ST)m z!%mOJQs1QvFjES$H;?OqI% z`;}A7g5N*XnpB6hG?{b!27ag-$ZZX6OkY_M3yEyW_DI37fX`5yv`-axc5{(00MgjP z#tL5*09V-nD`I}D#IjUL2xRUE2-sVDP6!2Sc5l4}KO2|Zb6ZgE3ia&+0keWWvwmI= z@4baiy$e=9)7s=*jhw?UET&6@frF6Gw}Aip0)JnINc>XmB!D-ZpgHaea9ID+f7!i! zLNaSlfFo#uVR}>KW&AK}4NvzY8k88BSy&%Bvg^})yl+}6q)P;%nLV|=(bN27{IV}j z(A&=-rr2?n57r6b%DF*b*}ZDlr?(`;+;2PW)vaMWG@e}o)btOz_j7~neQDp|M`)@1 zti5e#C=j*H0RUXw1@%Uk7=PKlSNdU1by}w!{@T>X3oFt9+PLV&x^p;g^YH(=+{+QAD)o^An1u}RGe$RtKA-!v#6`gq1 zXsL$aZdJ!jUD;IIWa9|js?6y?GyD|w7FYK}`2}=pDm6KS34}SrK`HfYhAn%@zw&$f z4yzW$omk>f=v@oaOYT1Cxa`h8?)H7}BD7;RZn}X7cy(?a`E~)}Vxw*Rt{`>Y=fZ8x zdim|vF(_V2$`b>}lyF+mklMZ1ir<_jF@t==ull(q%RCs4Kj&u{90Rtqx?lLJq3+e8 z|KzZq1NoluTGT|tYPnBrH=fY#EPnh#Zt8FAs3dehpf;C0<^648zc`=v>!JJ1qB`D7 z1g)h`wutY;W6_7)O^mnwZ33zObIE_1EDW$hL4XRz^JWC?@!C_e`fGXqU{OmVjMh9J z4u4b6@x~5!%nx^C8}_&M!GMnoL}cf%7iaXi*Ws&Ugti^Hi{U#47z*;?SGN>z3rG+5 zeWWqc7k+ZP1ihbh@7Ujt1S|bD{!7@wz#iM(W*Iw+dWP5fSHlu@3tX@5VFdks53k3M z9Jo%~ow$?Wt>((E3L_A^kGgytV?^S{w7n=7>)$OV7GsEGulQoK@O^`l`lH0R;*l+H zMSH4}LE1rhqJCqBQulueJI2p{)8eT58kc@8n=x<6|1z6@>(2lgybsv1;A{SboXD>a z_QUQ$w%fsASHCiT@tO25M(@l$d)x~DN-rqd1OEHC#13fe^8xXby@#*`m=$s}_DB00 zw|~nG&VxS+t0{WIcf@ac`ZfuUU@%*}l`rjb6Z7*4uil^6*xv7SxsClhJFDYw)o-`o zJ5PoAWp%v`b=TQ$i?V$3s<^ea_?-3#yf!Vuek3sY8E?0%RZIa4{aV#Ra>mY0!9<@U z$PIhXuOJN!0tEm700AJAY0Hq8>yzdF?`-OyVg55UJ4Yi+CuIdmMmh#MW_l-6XH#2O zIwM18YB^d(`zPp#*SlAj7TJc#aVZ+u5|bE2<($D=8=T z54)qQrLn0K{U1YDLw7nSI~Q9MIwwOLdu!8wM|(>;K^GHCJ26XZQzcVF6H`ZJHHk@j zC5mwgRfqKuEd@zjppu`U9Tk_Jm6)CsUxWk< z<47wrJ#PDdgZ%?XRF|7=W6-? z1fBHsG^GSBBU~(maW-7*SWX45VJ(98ug7^7RxG^Qwiw##uA(7EN3FwVdXpAezBTyyh*R1=*Rm<~T>`Y*gl)?QG~@p~lSz#Ul=4L348I`(4A=!oDrqPHijU*D;)%FT&fTJ^P7!n&pdhcIz+RYwAxi36^TE$8GfPuA=Ju3PXqjgFojTY4?fo5rUgN0#-eum3ZfMjhKK zUVT9+#|6Vr(0B84;<;?NID1=fQ^O%*y^dWj0W#`6#SjT~ts23K=(k-AcQ$#6Q_Tx4 zc(xmnCrpNrCHv641RhgaUezvPj+sGtMr1ePj-Pv2NIjbGaHISXArsU3qwD_R^Kn)i ze%P9=_w8}6d=LxP6Zp5#(C%>V-IL0@VH`HNRb`CTwcfeO4XwyLS0wmF$-%j_sEpr- z6U+xc*tZ_~cm%AZ?$kPG(HG8>AK-sQzC~Rp2f@%#p%4N9fP^prfad?j7Igj3L`MI= z;+@|3KV!z3Uc}Vc&cxK@f2O(rOaPL$_AbuK&W@&rHvhRtyRogDP}m=sRqpYz__nSG zm|Dj}jx-L2FmSR5*G#dMaE=Sj%v(Ag&BV1cG3(fae|@(T#fYbk_2Y>t*Dza_YJ97- zn;!3Wblo8U=ru_~t>5&<0OjEy2+>E!X=dq|#s?|_7=Qch_GRC87Z;J;!Puera_;qO z?~n6@WP*ZCLGvHY6HS}Uxw#+TdCG;T&PI3d;spIT_bI1}F(&Py-keAtIh#%6L0G0<1Y_EW2Byz1(Jl1)b4*RF2benMkRPvv^&y8C5t+4*LefQb=00+S z0tWGz7V+Gm9-U%-`Fg*9JZ+QWbbSN#;%DdKcXfZwiN9GB*(Yx^bYtbs7{x{%!kMO< zKyQU>9vv;e?^|WN+#S44-yef-A>!cb_xQLt0E(BL+5?z_pQeq5-R}H*80(#nO^Z?L zfPJ9E2kDx|us3nZGzs0psUbXay0+c|s1gY~?hr|Lp#@YT(YpjKgd#?*8nnhuu_?|p zi46yUGt`*d;Cz81CcNp=u~MlKf1jqMO5mRMI3fb^c)s_&I3O2M;A|DH!uFjB-tD9L z<>3ro$9LR*Z~8l54PqnD)0|#04>uM0wrk31m^p)`D1`GC=4qD8x(+nE%34V zQ`Iorf3%Huqns9$i}MK5&meBnz@cZN+F@e%m=TV=qnuv7sQc#;pG`7ABf8q5UfmwO z!QLgQ_R)(9aevyPZbf;s7(GC|hR*$Jf%;GsPni#Gk9y$^^3+Gh&aVj+aE>2F7cu!Y zwqG!yf624z<=i9WdjBT>)J_xUr5(_4OVTTX;?gj^+)D{sF(guEUA_)usmm%$-BspN zG$NKKyD&0Eil+N?75?rm(qzVJl`b-jHs7_{yc^lK@fq#jT=n@gkv&O8q#K_w#ts97 zq(S8bPiIUhIV54qJCevnQcjVl>+Oe6Xbl)8r56kz%|ESJ%mYP4?F^|%$wl-3A<{Qx zQlulrI)V<9jx;$o11t&7g?Sw1nFxk?s={pvcP*2~wH%F@@&Bi->3b$P9R&v^zgDuG zGAp7woA4FO|9G$0RwqvR3sot%RBP<-KF}o375=Y}JcpW@f);p}^)FO#=iws~>LSB> z^+(A>o3Y5$AVvz?a51A=!TE-t0Ywtx(1v)cip}vOVFH$x;#wA`}1IRpY-2 zTQPgWe&%qCe-eN!Tj*)vv4lYSQ|fdiut^YteLs!axXKkh8xMUg`W!wqFRD=TPScP7R&0z6F z&)GUn73CgWo-*UOxEA5)OfeXb1>s!yrcKlbF%+I~+=ZgZaIL1djrxQDK6H3ySvNkL zkRWCku__3BtDjKdp>P-dz$l{mKWZqVo{WUOhnuJ4*S}1JtzCD_&L{@g5s+oqVI(u~ zY{DzE+cAZb3~j=vr?mdf6Z{zd^d}4E*)#kd;3+7sz|A?OvXGkT=doBlf z&Vr&d4^Ng<^}j5@9P;KFKM2uPN$G0W3lWM3Ypaq*%^EP|m}H5r0X73FVw^?!^k02v2H*? zlFi&rpM=h$-PUs5Lc^UD^|0SWjWMK`jmQ-j8J_G4j1Fe1UcK%x{4uPGOSDiC1Atya zT)C%H$>D>~{Jv(EJoz2MTsGH@7R$;(CdEN2&A5NtN$)~-3@(PN&n?$_>o_K+@3&Ad zlpoPObV@uGCM#A!{>pNI*PO3`N5vDwtLP%k)xsMDekXBQQ*CNdpuB8$Kpb{5ZVNm> z!B2C6Xu%Z)K&KIU8su<6AZ+!}07|`;QAAB6r#WfsJw8>^r=VjTJ)5~*%Y9H&3cxLj zg~KYA8CVWrOk6`2p1F_r4zsp;0Ke?D(J}j(j@`rh1H8|rOPXV=7qQ31&Lh-49 zEL^b6es0{~TnqdogsARdlieh%ic=N4%;#}vF}9rZHQpa*SfnD1&iCo_e+ZZ&qzeUG1Ap;PR)Wy;89Pur;734Fwcjh0ET@)nZ(2g1luP>7GP z?07(Xf4=wWOpe_lK=qlf`W#8105l*XaX0mPUH?Tixb~oR6!~&=l`(|Mo89zlW z9l-3LjWZSBK<9)#MZ)8Xs(;jnY(1ERCZ&@$9w-eg-M51(((=a_d0@e?+i5|amHjF8 zdfU#z1C32h0b^Ni+qAUTzD*UZCREr4KD}^iMSx2lR(&hw_$da0e$LacLM^i2z^Mi6 z^YbT8K5da3xmkZ|g*ZVDVQ-Sy%Rzp{cB5EWN}6|R2G=Q$b*Q(Uofp`*T_UMM_ReV3 zfZP)`5os<JTyt>$UYm)8B3V4c6P`O^b_c2bwbwodKBy0I_ zZHG#>Tu5qiTTXken8QHFM#%H^6x2&=-~ z)ZHD?L0ZC_d3|`#AxD_^JS9~MS{{#V;Xoe|dBhu@LDwbwm|V*sGeBausK428IXkXXU5%%7+H#(cUVDNc9b|y{voZNn;V1|r1pzxpqtsalAqU z=^zy;pzpI{%@0IvU3~6s?$_N@SRX&zTnij)0D?<_@S+ttbl}?RV%j@$cRY~QE0I~p z>0LU2pH6pfsJ3x`Nf}-@+V?m5)y_|QXXj>*kw?IO5#kvtWB3HqSV0z5(8b=^UH1ga z+U{-`J~d&l{|{ttzB?D}#>(0LRU9mkRJjZSt%$DeQizh!hClKyl6?f$Jj?sf9odmX zcxu_qTskkWev47ka&>QrG~t|&7_t|O(ka_>zC0!`hQUDy%(92kxij@mDi#TbBq7eB zv4d@+kmkI#qX4z3H+3qR8D*=Rl{C93srRB9|)y>;ouusYLk z6vud38O@UwT=tE|2K6#=7yWj`rsZ#5nS9MkPnmt|&@eSAWH127QCEN3yIczq~4b%emy>0V4ABe2@wqp&Ke4}&hvBuSYH zK?C>rUeuiaoI|G$;i5Ml%4pOXCdI=?2PCbAW|>G0i%xp%)R~4sl>({iY5g&XAT&-t zk?ZXun(uoe`g|3$)-&Q(%$BJll-ryPO|F0_bQv z)R2nEqlI5FtR0hWc7arZE`Juc< z*&z@ykPpv@KEpFEM2<+_Dwp%{>a6)*zpXrU>B-tbqFYt2G!$%}jwQ}EjX$6>D05F1 z&<>-GN=0i-7w`2LnC9iQyq@KExP9;VU#_vBz&e}~n2vI!w-gGo!;6H*EUS^AS6kF* z7Vu%>-h%=mnI|ig^L)<70>sR!xSrmRSq#sYK6(cT7F(&qeM!Dpyqa4S*Or`{M#GXq zBncA={+m~X!H`YZ;tOHd3V$iCYy(kWHtgx#rG}|G->O{<)0OYk&2yfF zAMjYFH>UDV`L%2=D>sED1-SdX?A&Nw=tTU#g-0Jy7^`8frmBN1s^&KTh>I{1ieq7x4WJ|KEWNx+0=E z6>tCmDrNux&Hw+v#lH}X{|Ny67rLgUW49)b;%!^-@u!?GE|j$wVGcz_GfhTQ6;k+@ zrb)S_$pv7C6^}VjNR7(Zdo+K5&CMXgzA$MR@AE_|_wh^grN!mP1IQHM4z`KWdV9XL z?G5%B9pt_B86Q(y18rYJjmpM@oRP)H;x&Jdn0ko9R^QhrzQYZ_%P}* zt*Ta~>Y8hR%dNSoXN|t|SR`kt9(g3f%}G!-jObcT5#Qes=t%XZ;Z)uyPQdiQT}{?8 zeOX%1y6D^igKg9T|7i&Oz9YODiI?G&E#!@LBhwmIFG4zl5a5`vm0B5x6_P5k9t4^I z;;l$^#w~YTux-%D5Juvb{5<%;2%JX$l|7z74zrwY7jz?4|2m8^!yA1Hm=huhUgVGE z9SokZrKbZD%r?*_Y*)s7XvU#bKh%8P)o5TNpe`}8E+y~$Yp0hjT<=T%sGNDvkn7Ce zoOx{CW)V-m{5=|tc!Lx8K~R>R}A%$!G^Q}MuZrz_{;gos$VloT|3 zg#N4xt%~$vZh_E){9J->d151d(Bj|OTZei4VaF;v{Axv{?&v?CGz~bfwAasgJ*bI~ z$H(+SLy3~k$(kp%toRry7@th)cKwpI19Jn->*!Ul2pg1yTMFtA@W|qI9ntE)q;C-G zY)!{wjSX!=8FHOl_(c-N@_@t?52!$pmk|duf);1*pM{;JZO8DQQw~PLf_Q&u5ceBQ zkp4m3eC|}`6i%{DxfUV7F~hKqpe|lO-ng`61wud}H!llSg8Wn@7(xe*AUCXJHXu7{ z!buUA)>quR>}zrSIbK(kQ&2uyIZ9VlK=5Z3#cxV{k>GF-Rg%sHsyjto9YexeN{#&H z<<%K&_T5DWezwI+lUG~Iq`e}qL}HhDszI4oiaO=Qjl`HdK@nbRM_b7(#vEJ0Wi4@Q z$)%G?CpMO48FLX~L#0jKl&hiwIaGE+is4f-Xrgj#5Rv5Y@N@(eRH`$LIA^8$61LrG zz_=CRrI-9JYx651@CFj1+EUwb->cY%(u05PN0ZM+_}}-lMA>3JJ&A`7lNrVG2AZYl zu$!BW4;?6Kqy5Gd&QE+N13Bc_WRYyO`^VoaX@UILp>VR3(xWS|=StC$u#s9lPztlL zOv}Ljb3?JcL;hg#H)RLppX0RsInK6!9_RnPQi2_|OVcvvzZTZtJSqayhW(u9`dzjl zi`4JIpd6gibVXgJfBjJ9Akt%AU?%Zplb5epo;7X-ovDhYr#fr#;?Bl}Gv&07r$>ccP zv;l!!k;gav1`Ui+mw{b;JjB0=)`2VWDbH+@E(4Pl9$oJc%{4Tx)7LS$8X?cr5YzkN zhq5e8-0>?Lyl2$7DSxI3zvtX1dDqN63G9#YiCcK)q=Swnr>$eO;aMEGC@t^xp;^N` z3EQx6nxs;p*#K>Ie>OWNQ|V=OBZ%ciEvD^muH#i3yWWSJ7(7|K-Y0QnmPMKwRQhb1 zauaNrRe|54nH!2g|5?C0%Mh?;_ov)lAEqh=g|H6{Bb&uv+_X13|HTFU1VYu6Qeb&P zA8@%bP-ZO9%-As5I<~s15!9%GUSq$o%XJEGs2HI>+i?M7=!>r)+g}03AF6(2?J{82 zi$#7?e9mEP$$`uEcsy{}Oiu>+{Vj6X*@~&v68*dd_QD5D&!_th{_kY2|5Js~H z{V9U!!vFxt{(n#Ara#3-`v0gs{G<5zuay4J1RkYoBX`b*@&$wRz3T;{To`DP4yG+k zpZDy#Cu6gUn*P))A&YDmow+J2_4jGp?V`mdO%M}b-pMQLxC6i4*Q*A87~rOSj*&f( z>dqty>v)wfn%*hXX; zqoJ6SUEVUuLKWaM!$O$B(iB~KpL3xsAV^~7ucHxb40S{gEko*4Qix!omnt|Fk{Xi; zESp$O2{f?f5r5YPe=lte>pZKMKv){2dxc>yG7>ojED$k$#=yZ}u&$P;o!onKB%Xj= zBJ2rA(rG}>Osl{7Y!9%-QcnK$;F92FLZ&(tSjwk4Vh6sk0jsQBYjFuKCzST5G6!V^ z7*2VGCFt4^p@>w0^^yC{|_bhaAdCS$dG@Oz6=0j0&kt2Kb^TT`uFEwZVeof z0i|a+|M>6w8v7nuNu0{eGSNwMV^1#tg?yk=9#}^&{E!ehe~%L=n0z`!0Z*6B364%2 z``MohX9H*ZD>s2dPnM2WtX28wYd-&i7i9|bxY?KE@4;mT19PH!XQeiroR9R`g57DK zPq_BI>YX>P2`}@l@vYITJD^V{tRM?KqO>HVW{UioO3jk5z~eTiOjuaC97Q!Q;ygTd z)hlJ3VMJ}uJmC|&UM6XV*qESFMdf zR?N9b5u2Jh+e%udlgs_EEX66mkJ()68jk`xW&=gc<*YG!&tbH=|9K;vL#^1=cREvSCC34RZTFy{co;TU@dasa3g=}jNLJZ#trJ-f} z&cE~GiEuPEk)jD!O+@+{YV1`JSoUO6m7>(+L6kF}DMz$XhQkRslBqQRqfzS24q{np z3O!}z!zG=7$E0oL5xO|vPTq;EN&2@1gi&kinghFxh#Q7ZPG-n`9qEIPafqVZpV4u1 z-aPSba79Pua0_j>9)T;}NPNZ)XS0GH;Z5NxX-SziYHUX=c*eWb#Q8K$)Z{okY8uvYf#6YS44Tf&X}M7 z5iDtcSOcDtgC6~G0092K{*MLAe=#-w87wb<>a^=ExAja3-!;YXxReGb9G&BZ4s%)i zD`8bWQKZ{4X`}8GknyqdK~R2mF6>{|IvwJ%c@(3vX+Gv;MsWj%wRSXUJyZFA;CB!K zK8D=0!#|zHR}rH|LBm3V{q!f&kkN`3pN}u@i?&<+4+9F%b3-DT8&>f}!_gc&;06)Aq5rnXK z@EZ}CvH9&IdfRnQ78`QfdUcwNT`UTqr1Zmp66xvDUO>5ek?J^*@G;6 zyAB6eyPr45cK3-399_&a{m#eT-baNe29R?YQM5V^wzzMBOV}PR66UP>%iN0}8A0qn zin8XiGbms|Q*mn$VAf6Q)kYEI^Uf3TwaI`_#mn_e0$udpEyrsZFM zprWjTi3F2k4LAh#HauT;c7c@<_Z9m?5`%v(hoL!2&hZ*l?eWOQ`j96h&Q&j(>y=Kf z?#u*h^3+&rPr}1+^z_kEdP)-eH{K*<jRDU> zZ!Jik*#Nds>`Bd%W;TOkjbV38h~`o)N&6#h^%^wHhK32p1nNjc7UgE<`nI&@otNk;0j{)#Y`2hWT8keL9} zI|G1Qah8l%Nwkb@Hf(aukYzG-x$Mp=&4$X?17n>(h`S%l6eE*74do400g`uTQPa*_p0`2j#BPSeSJjXeP&J+c7#_rh~upC?9(4ht} zNh=I|T%EKtwtp&!?`38eELPKT57~5pA8~ zNSeKA65R|9Hfd*D{(WzB3mlySzo8yc#(qttB5KN_xY^gs#i8Z<>Fnj^LFby+)$412 zzIf0e`7QH8@8kZg#cA%8&V?h?|{<6il;dQ zet*Pou9JZ2P-50?5+|UQGW{%sQ6)7Yy1i&QT1>We`R~YFak9t4=6Yy!y%k`i5~wNW zYvRR9pLL-LSy;{R?7q}Tb1$1=-m>M=+zd;+U%*u9^93eq&I#Jl?sUi;&=;kDyj97F ztmc^~<)iuO?z(3bQ<^>2EqzuWf^bwx@7P|HC^1fBfB<~9VGRoqdB8~WJ`Sutc)h3w zM2~VXVjLWqr2|5OaU>wdyqy3T%)ZHq$B`1ygqSM8EBmBT$;df0nh}&Q-lzn0DqAKl zl5Is*Ruq7q@%l<;Zt)^qj~9JhQ=WY*3su=r1dMVmEQ5Vj;zc|h?D>~@$3p1^_GtV_!ba$D zi~(tc;?Q-^Hj<-kw|nsm2+El5e10w{wi{6pXot@fb$Uzs-$$ydhZ>-XD5aQI*40Cv z=d=5twr|>m9oHq>Dkv7->uPEKK_w{c~)} zfno1ku~q}wkoVLOEEH1pB)gPRMw)*qDswm!jC0P^wZ_`y>f=r2xX+E|?`U}5A@mH+hj1lm zLeUo@tV5Vl8$&3URVqz$)Hy{XT!mUc1YGP;W|Eh|Qu8tZkf^FB_Bhcc4F(l>9Yp${ zxvIidapZHe_>LNo9j@x*=x${s*5R0oyPcgOb%q5$TXt0ASJmd04Sjc z?mCAAjHNW@8W$Dn8=R+7)(5yt<<(0G;J~i;aUj*@FF3PVvMLmtV;q>wWBh{SFATHk zx0PGytH|Xew=T=`QkiFIqx7Ca9?Tu1VbG$r7!Uo0NIKWWFhRXDd_%<0u%^tRCRSP! zS}uK_RR~5J0+1#!Pm2%>N7yexB8x$e1yk8nx!wQ*4O4D7{`bZn&B1>htF(>mK=jOq zjgxKk3G8o*@smm|`al<>X|t;QiPXaMzjG|~P290U}&cK%}{NO+x#xaT$eJ12@emc|yW-^Xb zezDz(3asEwXDx|T8@Hii90RlAby*1b1VHRE0GW+`tM(H&+Fd&{bUUui{`tU8D3G#> za-R=J|K$xwb6|?ma<hXWToF4Np) zwtW54d2&Wn=m;TAs!ZXjQ&jnsttEc}%XkLC=^C$lB06~*{mWitER>3*<6)Skn$KgHQhys}sWngh*)kOEt9QEw8aJXH z^f}XYo`!|4`>NA_uk+ttujKqtxmTmdv5w7CNrq!199s;Rq#i<5@oTT%_*QG&qXpZq zZo~Lc#VRLlmWQ-t>9V6WFP+f!&{K1S5BK82O96Wh=YyrcSy*=n!)T1JLun|-R$<|J zN`{232GO;`)fMnUT{ImPlT`mCJ!#^&I<^&KT~|E+xM;VLRza>EomwcfDU^xWW3{c* zR#&&9wypI}*^H_1`L(3V+BGTv%-Eh*nc|}QoXMtFCjJuAPXEo`peYm)0z_7HP#iG| z?8K9=%*R#?b`%K*&DwXiX9JK_xHd6G1#7Vy4W}M(E}+3i?CZts(%xpe>nCmgqXf`V zkBh~@U84|$C(1N8`7{uMbqK*bi4}c{`WML(z@$LD>(ZRs0=Bq0YL%-;1!Vrw-CJB` z)<|0?b|vv@QGiri5;EULjk|n{zKfWPH4g32vC((3~o9aC!%?MOtGB@1~a-W2w~EcWY4m9gPbDj6680yb~7xs=rw?93DjL` zte^k~nFVCMMO<^ng8i15r}o%;S6PdpJ(?A@3h~}nlN*1WgQ%<>ZP6KB7dH?_}|lfi~Kz2M#O5R<;{u_TZ(K ztdc-c6wq55bm7x{?s5N5``x%9M~fp3s2tNuHcL+T`t=nCYD_;q#ZQs`jWi^TAxEbW zd9)CRGkg-H;j z0K%SKST13vCMuf+>74X^hJo$Hn2HQM{-(L*72D4+yYvSzeVG7Y`(~8k^ik$R_5P8E z6PZQK1ErU7J^fMKCWx@V35FL-Ahbw56h3^wGPDEq{h*u zZyhH~i6<(2m)R80b*CYmj6X2j1j#g8%H~7X9*Fm04ys@~BCj~-w45}1x~-7gP5^>q zu53Y%*(ac{F6D=7J=iurKiz@h%G2#Vc_BupUx|XD!+~m7l$8U>4GX}%xmX~14K@qC zryDL=_}|=z=9V3e%qAhwNd&;s807@%*-brDSrR zvMh!j7~h;%%=>W@-_zQSaGZ^^wP;8I6PZ;hgFJPpyN?}FUQ4#@a)h9eH#1R)rJM&Y zES5PaBtI(qMl+7?rqaGMkA@u*=K++UYxb5F#!@?b&R|bv&cR@(FcTT1UNusuij6}m zo(q{Hyj-vT4XH%2cVBa!#IsgunHj3^VGFoxkq$dpYp?L@ErB|mIN15xm!(l0%sX^F zQGIPa#^W&wCQ}u$g-Rg0S|{^1bvTEHPK`SY4G<$SFqh)9bX372%8RIscJKjU6=n)@ zgu=PFT*OsYco%0<+PI368#ddpHG}tuak(hkBt1{H(UDR5!Y>p2GtKh^9TR$wOL-MX zrZ6W)gqc|tzx6_f&MzwVd7q z?JH`zHp?`ZHCJ@H*UF%)idHO~>6i-vysHM>R@V{6deRD*psy~t=6TqndUBr}N}1Id zZwxxKmg8B7?0B=TsC^o9}LuLxZ%Hs})r3j~#;4eL`Y&mzHUsVy3jQL(y*hE4qVv%roy6R?`9j&(R zUgp3z1Kh}-#-`^)wx&^MGM}q~PoC;oPxDo%O1Z+=s(+FG=O=!%i$o^($sV;URJgnj>Hk+@&GwZy80$ zE8l4qYOp}))mDHtZH*`XC3}qZR07-CU#`?jRtzr5UTXW-MVY0fFSv`~LkwXeEB_P! z;Xs-fjIJChl`7Oo)FSNB9~zKQ(1L+7*eyU$)4hA8OXso)frqdEUB43!uX&pIt~oVN zX~QTp>Nt2OF$2Sr>@qHtMIyQW@qtzZG-0sc@Lf7mziWkWiVgd3^%6plQq2}!QTrc# zSh@Dcc}wPdK(><}gM@wZwru74f~O&KO!T7lD6@D!!VaR4$ji6_1j21(O|Uqs=x_dg zGC6LGTw~2gzrCp_JV3c$ROh_{PDrUL%ky?jnXEg#f}&mE-QTy^G^vaT7Zw*v$$!#@ zDS7FDUk(??^}ZkUn;|t-h2Ah9pwT}26@#8EXM*p}%MYYi-w}W7ziSQ1I zb6lyN1K-q(U}B#X;XZUf{c!e^TEtR|CF9%1N2o5Blive4ck?4pT*n{!C@k>4lbxMA z80@G%u)jdj9s4RXf3L7vGN>T$XyMWYVJnoopQ6drphbnC6mM_!hFT zlZ=L8IOUkNF8L(J4g!LKyzc^zqM&8ZC-Q1-~~9GJ?%#f_qTaIbkbH8XR4 z-r%)swujr1O)qQ!Mm<$8OHva{&!0A=?UF7w(l*q|wi!Cwk8TG}=@;qB0)uBTEP%b=-+OhnZ9Z_>E5C{DDvMu0x5%0LkcyVtl)CQk)Q za1;>?>oS6@-&?MHNkcWX#Junkt3(k>M>SX+tWwE8z%s{Qaq+oJF3=&T1! z=^0Wf-HOpz!-WTNJ&cr~1tn$ul&;UIJ%8G^G`iDE0{F(ez>eGzJnvAu@;zmx#W2}D zQG)aoT$H@+xF}ZqEy2mQeX=iW8}20j3Svn9t1&_dhAi;Q-`8HR1-*?oK+_0)Hdt^x z1Vz$ltmy9(AI0hTb?gLWrh2*d+a79t4LdYqRI5FeQ1L2_%3lQ$m)&L?H#lUO7L8?| zJ->%Vp9zpDF1c1PMx~A(#!uO$hjCBz3y7)%-LAI{X)1!dk7}Pqx>%TWZ}(S*%OjTU z_?&AXJ_E~b+ZSz7iQdRmgZd|T-VZKqlg&Wof(+^7FdwNHn!5*@)*{@yC*9_EEKvlNB{pnAVsEiz25l)6R5@Qir2ssf3k=!ZD~>MV z*DLWS{Kz)BY-NIksj_;qccMai3u0pA8-A;vJsjBkII403xn}iLy=mT>P!Jc(bdr`N z;fM3*L%nX<3y?Z;mCHBE_9TO*&U3Am6Y;OpetiS|chfH&T)3+GG5w4m)0g?*GW~zo z-jsjaoBY!OlK#U1+$D*O*OYA*b0l5l36yt**hup1{&a>|O=h~dh0K(FcUl<{D4d}0 z^>(HIK*XCa=XtvQpnjexY_&IO}Sf6zU^5y6c#0UAZ zXR>16qGjElOLMh$Oe%~YZ51R=Tz4cy9o->2*>Fts-RwS>Gu1|H`y9O?gPFwzy$&U#BBOtM^|N-($j zbj@4k4wot0sF{dozcG8lW(-uQgN#l5dnChW^)vjG16bxk<$(3}>Qf6QsPSfb<0)Ew zGAa`NgX8A*?CvogUPfBzTVADHw|toi(Hj}M&w$xIyJOSzx2nAu#S@b5uq)sZoW;K6 zMZQ_Y2Y6)mup<6*Q&2OV>lLq_nU=J8NA~%*)5}{M{5Ek^{`vS%i?39- zv0LXr`pN)!g?HkkA!v@yC|Jd767X}`EO=z257DDL!9{~!%QL#9%KJ6v&?)l$J}F-y z%;|V>p^HF*#(6(Mot?Yk<5B}(4Um&vgPKBInuTv?HA4#6!G<4;Xc=AElJQ z9fhjqP(tt#f|b6-0vZyYFv_$l8dM6p#Q^CEC-~%HAP^%nJigtKJ*pf@0`<#?5}gLn z=O9T~aSP93>0Zwaw5Ea+o<_&$7=>QEn9w<*HdI5eGtC_H4&#-S`+?#va|VYKT0N+s zW{IB#lt{pccw^XCHGx6f0$lc}1f~awgQfI@NC@K;B3i!gkOUAi9Q2@BM8V;Po_Wi8 z6yIjF*i7pyklPPM%!&EUG33sJ&OU|z4u{rfBp#!eQE*hTv+ozp$m3wnJ7go*wWnI= zEP5maoo9Y}#4ZAz-48>|$Bg03Wmqi}@L@Rc>+*&O1jErWS}PK_j-R=4;6YToow*>K;~^j$u` z%t=RLKG=)e+4y+ zGJn01158M!9SM{dlcX?tCeY&>TKr zM?eYBVy3w=WOo_Kb^b0X1!)w&N;j0Cof#RVj32olF|e9ypu(mOzp}&69ne^$fECU8 z3IQJ|_8>0UmT)3;GVVJN(BN;Pxy2pLq3z} zVOp5Ps`DKya||@~Hn#t00B+sT{DHIt56!G@WfPQQQ=06s2C?1L0)-_vjoru`dK!T% zqcHK#XSBYv;4~Vqxcj-~5u%q31Q65Lw0)1P*Pe3W^d{~b zkWV3}Ee>{#2R)8S#NGe)J^sMi6I!)vQjx({m@P50NCv5r5g14PWR4PsLsH$v<J9RqT^9UWFWtfCutNJLcFjHS+}4hAk?7S z^K-rC`Sxf}XgvJ4D`RMG>LM`7PR=Pw^!C!Y>oJW??WokK%)9ts^7i#~Mjnp#LWiJ- ziN@?9Nk>bjR5eenc4c|Zolpk1KLmz2+%%bv85gYV$)I307|mjiy@8@pG#=jX zt+RcEsskUq-(nxNkSDTpjU8}Pzn9Ea?#vlUwdMxRd3#187+{OTn)XJeB%0~c zq9)GYwRZKIcTsmqwYASawlP|_qHx_Ysrc6++o-;2oK!_%P56s-cCR);Xv4luvcvaV ztVDE0uSn0fb6(19HWOCwTesIxZ50`l>E;moD$~ z__|<~jCkRmyIlh+j&BC@2iO(hP@dumw;_S+*$}sNfFmIX}|eoj!R|M@CdjQ4Nm^1#ok8#orV)SD({( zuUWUH4VGPfiW)dStANi<#o~TlM|3YWSzpPhrhPxFg)%Utlhr$VJj}1_O_CbZu0wuu z(ube6AKHp9T#Hs573OYET?4-&O9Y2!jXwt|3%%j#$OBIiH8?NSO}jBIr6H%_YOEe+ z=uQC1;n3pYsa2(;(o86Zo`wTKHH*wV5DpN#RUfy4551Fz%4suXrC)nURVZ3rCR+rc zrJ_5L#D$0dwZRfr)p1Bv+*tV0U6!ev1^W8>4=#DNr2zACJb=){5B)3+9RNV;e@^oM zO^e}wX@vhL1?}JZ4F7c#xKz`!TW3S@Ne27|m-YOM(=MHT?4cgZ`pX}UcFmYx1m8TO zsa3K-R8e+=;M@BTdssZZgkJ-82#5m;zR&Sk%&|PGh8HPy_!klOolGcFdH8NrtW!}9 zk%`I-4!wpzaeuFU&zPjRP3>PuuiXRQ)AZ+RJG6#5=^NgNj2t%-TUONRS*ya%tvydon@vlUrz z;3~ZID?qeRdCJOs^+~Y}MLcR07w7i&+&Cmj#@GokIM73C=5WwMJCVyGjGNuM<9jo8 z3WvXPjLyXtp39mnRx(xOM|8xUYP?H%ff$mdAs65{3K}ZVHN_i(?>^P&M93Sthu{Z(E0Wl~Zq1rRdhYfYk z@PqRs%yhrFf!Afx)IqYmGDU5#BOUO!*rb4IY#RM=;N^i5ml-2l#R%=^tb(d@7K1pO zCeq35!#`rSbq>Q_H~fJ$?gcVw6^>kd9gT57uL2oSMdkhG1!v89QTqM_$CEI|U9%vH z)drHxCywyvXy6=aM6~>|q-D5i<3- z60GyTf+Qp@%|qrslqSxRvN&<<-CtzWWFtl10}&v~D~-!pLzRT4IOmJJ_u_A}f}msL z@?wbDPd6XrBiROi_yGc?%QxotjGRPrj!tLRQ~uh~mYu7n&#Z52PqidznQ)DPGmchx z%~QYYjHue+F7c`r-?f31=8qjnl`(sA0M}gfep6H_2uMvx>V^?^{D*XM10n>`3af4}(8N;_MhQ)9@l{y6)k_62U?_F;Ltymf;z z+@h)d)cgLhd;Gj8AwJ&U(MZFd4R~lrA|NJWdMyZz!ES^b*aBQdMP%0{iZ^hXQHI;K z<0nZk7Pu|vgS!Io*Aw5zoZqshTlf4Sb?^>_;L8FxI> zkZ|TbDqPNd7s136eDm6%-7hBv5DCJ(1wn9d$+a9MLnd@=8$Q;i({e zY(LXhLhQ#y142@lC zq0}{66I;yK*V;1d6t;wjCh^s}Lli>%fgMI)5)CDHN2%$T9psBw7nin?6?wVyNPgHT z;8`W|CIDMVXgL-Qs8B3rmzKAcMU+35GtqW=uiLgSbaiOrjHdo-^{6$8Iz#WU8f}Zm z-OD+?CBsE?UCG(8nbY34EE!5&Q>@bwt+d+jczs^;ov7M+tYfodGj)8r#JER{=d8hf z#=+nyS(DQXIW?yF`(O*YLTu(~2sbCRrI?2%V;@Va-TOc5m(mT7bLbg&k=Q2kxR;wsGHAIRcH zfbGq`+qVQZ5kcr5^6W~tWJ252SfEIAJyX+PJp9y?pjrgQKx8`ftbLH1f|GX#r|Zot zH3ygLj{UUg5j7f1eJxsxGP^&2DF6RUx6y_O*G{_YW41#Rob)EFW4=J_R2nWcVzZ4c& za#SlX(?L{~RI_)1ngOm@7@PK{ATiz8(OhYieo|9P4mfp1hNEjq;i&&GEK;U)BaqNW;YvQvx-Ob-$vF1ZX=pd zvwNE`nLt*U@}eZ3L1emezt|C znHMplePaJO;<5yQy@T5rV96iL1%{p^sYyw3-toueifn605~F#B`_*L>^w(B4(Di8~;gy7V+)?R^_( z?TBo(# zv;*0C!PeQ>tfkXOf>Tw!n))*;G-)EK?2|Qtgmtp)er)N89kz_3KRwy?+$rsg(VTP4 zP}AAdmkd=w-AfD8jMYA$gwVJkWAmFMK`BtXfYNITjSU`_N$kcpYs>s|Ao4yQPn3uC zD5LtMJfZA%dn@%|8qj=^Oy4+~ekmT))9djd-OVDO`i3~EgQl2^FbN7Shhu1OmrH<@ zQNFSdUB>;vJ)hS8=dLLJ_}wLD7( zcj3C8Km6fwf$y{HHQ>NipVw_AK(`o~*Jv#6k4>2Ok}Xj-_}^Qm{wOtgEUFSdov z{oiaZ8KKb^*5FCp?<<(gqqysu2x#$fU&6s$coKRM1}&>;CH3o3@9U#w1+)*}aBui0 zIg@C8-`)Rlr$})YVE&zG!jA_C03h;HvY`5(?-c)lX6fwA%;@a@OE@n|K}HIg5v7Cv z!WZHp?+=-lr2@JmLPJgf9?13TQ7iUH%4meSZ>NM?F24S4;%LWjW+5ixYHztMofBme zd`Tf47a~D{4!cwoiWTv~oZq=xLn}Ut7}PNKL7@we-a3nmksSsA28JOHe_s4f?u*cz zi6iCWETvflJ?B|qu~|*h7Zz{(Smq44*X0i;M9#s?jLPflDeT2}Et*SbkiHBTii z(P8)tt8+T+Z-O5a<^;Is_%`tEs=o-!lfZ97pb5mM80Idr^+y!HAA{=Xe4TzSf<_Z2 z4J%`S0DU*Fc75dLO0SA=rhCih()keW?g#?5Ns(ncPONemIgY@+X6L*C%FU0bWJ`@- zOBC-dP)Kp(zcO0s90g~Qb^jatmiuWmkf2qeBclZXIAR3=ApC!x^1oidKe~kf)U^D; zy&Wq(K$UT&ekOvtakPNDxxpjQ{HRCZZ*1zoU4gg-wBwS1xRIMfAZ6?vOpj+@=(%Z;wLXwujuzACN8xry8S>Xe54Z!Qu(- znz7%ZGj%odPowx?EnT;dMo^82OO})|j!Wr|#>9+{GBHl)j4;j0Ma!|4)l4~AUvkGp z0B2wn9+DL<66O(>l2yfZt~nVhGnl9->o}cS)wBT^`Q;Ux@mIS}yFwK5!@}Kos-ioY zxmhVWp(k&@AuoPir`IyNvOl>xH+++C%KL0jf|`HIwHbb{EpE=P4!mU#{(2zCqZ@kq z#qCt@yC?BV&m)72yD^!m^9>2K+Wo7hriuA`Q|L>oO+hz>RPvig>D9vPn_<%z@WI&C z!P$wy=!+ZSUe4N7ft}e(Y&1KR>S)OHXsQfr&WMJpA%E_y!HDLXkI_(j#0(%=7e-z)S1k!=z^qjPVrn)FC7Jf<%oB-B`CwVDkm8|r9#30mlbu_F@X z{IfgA^k#nGOKw+!i)$UbJ^Y*1jBY6!PI4;xYUx`cLm3>rl$4`XuRoxVjm{{8(ZuOZ zCWPs_lYsPUk~xaQCk!J`*na8jICWbt|4R>eauxCA9#J#B{R3uVab>M{BXxCQYGqJl zXUIVU0}X8nerXd|wI4TG3#p0imzMP&xYlM_h!*%}AYze@>0g&`vBOw4S| zbqoQF%2P6mxir+^FURJhe=BBnqx69?exDZTmzu47O)XbcW-n%yy zs?Y++k06@54TYKYCpaK{Vp9~r1hL^qEt}Qha|bC$3U-7h9JHdEDk>XK3{A*|vRR1= zz0ith2*bUeI%Yghb4w=wy2#!dkTuU-7)`GlP17vcJcoBpINIM%UK+UBn)aBcTpqn_ zO7B-fumnk`AY3=2hgAmOgDz#va5Z`Q#1fzLvW~=EW??%Ic}&A_8MUK>#no*k_=~Sz zt^Rt=)ymToo}lL}5uu@vEAgD9!z}UKpS@N9%4*H^G}@BqffNE4e&Y0n480WkKtk9w zCN?jwRRO?SteckrMtVNlxY!0?KWheA z)(F5>H|3{+^(K1$o_S=b+lQk^|19GgS`MIEU=C}kOjAZ-j;77o144|&s7^`RLjJ<% zM35YHs2)GOVq%QRN)#LQ!!?F=0wab46ZLT=j704b0ONV$)_M!LPo%sJ2S1{&K*Mek zXj5wYXzWQ=p+i6XlMRNf*&M>RWv)pt?BnmdX7Yt3346O@}GiUqaSK{tc#4J%QYDwVo&^~| zpfI2n=;1`39n@aon2z1Le1LPZ&L|e^$&pyouC!5J)Ln^g%x~#2X4P$8Uu^DuvnC)* zBmY8O))~%8uoVs$Ok8+G!^@y7B=l$q`6lpKp2mMnwL0s4z^iv0%r1}Vy;d0eVVU+VWXUdon&<2Jp3Rq!}nW?3OzuE>St6E z^GhZ{G87amJ6G`Y!i|j$O_^oi7u8Be639}eV6n5*hM+JayZWS{2|;94b#FI^!%kVD zx}Tk_D8pfQO& zI6q)#zw=quRaHpw4>o zT>0%bP9j#)AtOmKY-WhU(?^BlCG!(1iwK_*=3&&m&O~AcY{Rkamv(mryP&%jVJd0@ zTbKqCNHH&tR$);o2bWE0_ z4jD(qDVz9X){GC5k%+^`(d{_jzM0@4mxJdCXiqS#-d;Z1a49sm7RObY5T27))%h-C`%=(Cel83N|+Eh-I8SUg3xSfZ(6h&7XVD-r7uBb;uHR5|V z3&RM{ti^;K^%sMmN?x`kDV9)t)N9i!jvZ}a$?h6-8_B}5Ld+tYUIpjDbtFLfvV%jOiRfbs~B^tA6Lb1wm1Hgx_7mVrX` zl{^7#OJ-ofGb0B;DuLTqT;ewz9%zD84Pg;d!?l{I7mUQkg#8E!?~|hGiWPKrnPeJs zwWK(DK>TNlC<5i7MKw1b=VWk2VYHGu4sJj3mFY-g*-FB&YO8B8P=hRw8IX^n8G&!S z(beDU4lL8aY*{t1$5+>|cDAZZK#L}nf%?c$jS=?LpI{t?%IZy_nVHT)6KbwSAl2cQ z9qk$MN&jlGE;08;dSb6ihOf^*hnolj)5?-elOmWG6(s=rSUR-Iv+diRDA^Adkv)ZV zQAeKGg>QIYt{x1hh;_Q;&bZ{7CsmuoQ8w>WUvH0=;%79csF=`f%(EZK6V!Ij6WeCK zp2n<7M$290krJ?Lhqk7bd=QUT>5p!%!j07IGeTRHv&FU^)#J!s7Guw&nVP}QwQVb& z8h_!ikJhgdM!<=$mRwn~i3luP-t^Lcx~5_7;L{r!_3rm-v)i1fui_|N<-P=BeV&>N zwUfHe+95dTS#S%eNcsxKR&9bos04MQBk_!-(SUSL0U=wzpoNWR>PBBq1Ej?Ild79i zig?N5rW|g6m918<_VIztOKD`4t%_YP$?0QL+^77#JOx`c9Or9Xm<;%37qK3GwJ9}x zSP2n|nlZVs8`16DXwHx^d&@+MWHH7W_8ek)kvU`g@gVgy6?__RP7hg&wRfLdLnA^<^fe|IvZc@QU(TInHtb)YauRZ;yD+s#UCkhcUZ)RY?yco= zoFlb9gjll_)n1F?SDoz&fw&&>|W70@8R2W(I8_fd*6J%UhfS`q3;I5*(M?|uEW&iMN zO=Q$pWK!Hh9l`M=VFeXSFG!y!?vOUv$+T<~sfR{Ab-m8#J9IN)tl2Ut+VZ8GjTBX;QtqgMkKS)1HB@hI z7wzhXA?Z8{3lz`TDN_eO=V9oaA$%!t>^~Iz@*>96imnCfs|KHHvj{^Pp=@i

M=; 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 + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec and + * JOrbisPlayer depends on JOrbis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +import com.github.trilarion.jcraft.jorbis.Info; +import com.github.trilarion.jcraft.jorbis.Comment; +import com.github.trilarion.jcraft.jogg.SyncState; +import com.github.trilarion.jcraft.jogg.StreamState; +import com.github.trilarion.jcraft.jogg.Page; +import com.github.trilarion.jcraft.jogg.Packet; +import java.io.*; +import java.util.*; + +class JOrbisComment { + State state=null; + + public static void main(String[] arg){ + String input=arg[0]; + String output=(arg.length>1?arg[1]:null); + + InputStream in=null; + try{ in=new FileInputStream(input); } + catch(Exception e){ + System.out.println(e); + } + State foo=new State(); + + JOrbisComment jorbiscomment=new JOrbisComment(foo); + + jorbiscomment.read(in); + + System.out.println(foo.vc); + + if(output==null) return; + + Properties props=System.getProperties(); + int i=0; + String comment=null; + while(true){ + try{ + comment=(String)props.get("JOrbis.comment."+new Integer(i)); + foo.vc.add(comment); + i++; + } + catch(Exception e){ + break; + } + } + + // foo.vc.add("TEST=TESTTEST"); + // foo.vc.add_tag("TITLE", "demodemo"); + + System.out.println(foo.vc); + + //System.out.println(foo.vc.query("TEST")); + //System.out.println(foo.vc.query("TITLE")); + //System.out.println(foo.vc.query("ARTIST")); + + try{ + OutputStream out=new FileOutputStream(output); + jorbiscomment.write(out); + out.close(); + } + catch(Exception e){ + e.printStackTrace(); + System.out.println(e); + } + } + + private static int CHUNKSIZE=4096; + + JOrbisComment(State state){ + super(); + this.state=state; + } + + void read(InputStream in){ + state.in=in; + + Page og=new Page(); + + int index; + byte[] buffer; + int bytes=0; + + state.oy=new SyncState(); + state.oy.init(); + + index=state.oy.buffer(CHUNKSIZE); + buffer=state.oy.data; + try{ bytes=state.in.read(buffer, index, CHUNKSIZE); } + catch(Exception e){ + System.err.println(e); + return; + } + state.oy.wrote(bytes); + + if(state.oy.pageout(og)!=1){ + if(bytesop.granulepos){ + granpos=op.granulepos; + streamout.packetin(op); + needflush=1; + } + else{ + streamout.packetin(op); + needout=1; + } + } +//System.out.println("#3"); + } + +//System.out.println("%3"); + + streamout.e_o_s=1; + while(streamout.flush(ogout)!=0){ + try{ + out.write(ogout.header_base,ogout.header,ogout.header_len); + out.flush(); + } + catch(Exception e){ + e.printStackTrace(); + //goto cleanup; + return -1; + } + try{ + out.write(ogout.body_base,ogout.body,ogout.body_len); + out.flush(); + } + catch(Exception e){ + e.printStackTrace(); +//System.out.println("ogout.body_base.length="+ogout.body_base.length+ +// ", ogout.body="+ogout.body+ +// ", ogout.body_len="+ogout.body_len); + //goto cleanup; + return -1; + } + } + +//System.out.println("%4"); + + state.vi.clear(); +//System.out.println("%3 eosin="+eosin); + +//System.out.println("%5"); + + eosin=0; /* clear it, because not all paths to here do */ + while(eosin==0){ /* We reached eos, not eof */ + /* We copy the rest of the stream (other logical streams) + * through, a page at a time. */ + while(true){ + result=state.oy.pageout(ogout); +//System.out.println(" result4="+result); + if(result==0) break; + if(result<0){ + System.out.println("Corrupt or missing data, continuing..."); + } + else{ + /* Don't bother going through the rest, we can just + * write the page out now */ + try{ + out.write(ogout.header_base,ogout.header,ogout.header_len); + out.flush(); + } + catch(Exception e){ + //goto cleanup; + return -1; + } + try{ + out.write(ogout.body_base,ogout.body,ogout.body_len); + out.flush(); + } + catch(Exception e){ + //goto cleanup; + return -1; + } + } + } + + index=state.oy.buffer(CHUNKSIZE); + buffer=state.oy.data; + try{ bytes=state.in.read(buffer, index, CHUNKSIZE); } + catch(Exception e){ + System.err.println(e); + return -1; + } +//System.out.println("bytes="+bytes); + state.oy.wrote(bytes); + + if(bytes == 0 || bytes==-1) { + eosin = 1; + break; + } + } + + /* +cleanup: + ogg_stream_clear(&streamout); + ogg_packet_clear(&header_comments); + + free(state->mainbuf); + free(state->bookbuf); + + jorbiscomment_clear_internals(state); + if(!eosin) + { + state->lasterror = + "Error writing stream to output. " + "Output stream may be corrupted or truncated."; + return -1; + } + + return 0; + } + */ + return 0; + } +} + + + class State{ + private static int CHUNKSIZE=4096; + SyncState oy; + StreamState os; + Comment vc; + Info vi; + + InputStream in; + int serial; + byte[] mainbuf; + byte[] bookbuf; + int mainlen; + int booklen; + String lasterror; + + int prevW; + + int blocksize(Packet p){ + int _this = vi.blocksize(p); + int ret = (_this + prevW)/4; + + if(prevW==0){ + prevW=_this; + return 0; + } + + prevW = _this; + return ret; + } + + Page og=new Page(); + int fetch_next_packet(Packet p){ + int result; + byte[] buffer; + int index; + int bytes; + + result = os.packetout(p); + + if(result > 0){ + return 1; + } + + while(oy.pageout(og) <= 0){ + index=oy.buffer(CHUNKSIZE); + buffer=oy.data; + try{ bytes=in.read(buffer, index, CHUNKSIZE); } + catch(Exception e){ + System.err.println(e); + return 0; + } + if(bytes>0) + oy.wrote(bytes); + if(bytes==0 || bytes==-1) { + return 0; + } + } + os.pagein(og); + + return fetch_next_packet(p); + } + } diff --git a/src/examples/java/com/github/trilarion/vorbis/jcraft/JOrbisPlayer.java b/src/examples/java/com/github/trilarion/vorbis/jcraft/JOrbisPlayer.java new file mode 100644 index 0000000..f503b49 --- /dev/null +++ b/src/examples/java/com/github/trilarion/vorbis/jcraft/JOrbisPlayer.java @@ -0,0 +1,1169 @@ +package com.github.trilarion.vorbis.jcraft; + +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbisPlayer -- pure Java Ogg Vorbis player + * + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec and + * JOrbisPlayer depends on JOrbis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +import com.github.trilarion.jcraft.jorbis.DspState; +import com.github.trilarion.jcraft.jorbis.Info; +import com.github.trilarion.jcraft.jorbis.Comment; +import com.github.trilarion.jcraft.jorbis.Block; +import com.github.trilarion.jcraft.jogg.SyncState; +import com.github.trilarion.jcraft.jogg.StreamState; +import com.github.trilarion.jcraft.jogg.Page; +import com.github.trilarion.jcraft.jogg.Packet; +import java.util.*; +import java.net.*; +import java.io.*; +import java.awt.*; +import java.awt.event.*; +import java.applet.*; +import javax.swing.*; + + +import javax.sound.sampled.*; + +public class JOrbisPlayer extends JApplet implements ActionListener, Runnable{ + + private static final long serialVersionUID=1L; + + boolean running_as_applet=true; + + Thread player=null; + InputStream bitStream=null; + + int udp_port=-1; + String udp_baddress=null; + + static AppletContext acontext=null; + + static final int BUFSIZE=4096*2; + static int convsize=BUFSIZE*2; + static byte[] convbuffer=new byte[convsize]; + + private int RETRY=3; + int retry=RETRY; + + String playlistfile="playlist"; + + boolean icestats=false; + + SyncState oy; + StreamState os; + Page og; + Packet op; + Info vi; + Comment vc; + DspState vd; + Block vb; + + byte[] buffer=null; + int bytes=0; + + int format; + int rate=0; + int channels=0; + int left_vol_scale=100; + int right_vol_scale=100; + SourceDataLine outputLine=null; + String current_source=null; + + int frameSizeInBytes; + int bufferLengthInBytes; + + boolean playonstartup=false; + + public void init(){ + running_as_applet=true; + + acontext=getAppletContext(); + + String s=getParameter("jorbis.player.playlist"); + playlistfile=s; + + s=getParameter("jorbis.player.icestats"); + if(s!=null&&s.equals("yes")){ + icestats=true; + } + + loadPlaylist(); + initUI(); + + if(playlist.size()>0){ + s=getParameter("jorbis.player.playonstartup"); + if(s!=null&&s.equals("yes")){ + playonstartup=true; + } + } + + setBackground(Color.lightGray); + // setBackground(Color.white); + getContentPane().setLayout(new BorderLayout()); + getContentPane().add(panel); + } + + public void start(){ + super.start(); + if(playonstartup){ + play_sound(); + } + } + + void init_jorbis(){ + oy=new SyncState(); + os=new StreamState(); + og=new Page(); + op=new Packet(); + + vi=new Info(); + vc=new Comment(); + vd=new DspState(); + vb=new Block(vd); + + buffer=null; + bytes=0; + + oy.init(); + } + + SourceDataLine getOutputLine(int channels, int rate){ + if(outputLine==null||this.rate!=rate||this.channels!=channels){ + if(outputLine!=null){ + outputLine.drain(); + outputLine.stop(); + outputLine.close(); + } + init_audio(channels, rate); + outputLine.start(); + } + return outputLine; + } + + void init_audio(int channels, int rate){ + try{ + //ClassLoader originalClassLoader=null; + //try{ + // originalClassLoader=Thread.currentThread().getContextClassLoader(); + // Thread.currentThread().setContextClassLoader(ClassLoader.getSystemClassLoader()); + //} + //catch(Exception ee){ + // System.out.println(ee); + //} + AudioFormat audioFormat=new AudioFormat((float)rate, 16, channels, true, // PCM_Signed + false // littleEndian + ); + DataLine.Info info=new DataLine.Info(SourceDataLine.class, audioFormat, + AudioSystem.NOT_SPECIFIED); + if(!AudioSystem.isLineSupported(info)){ + //System.out.println("Line " + info + " not supported."); + return; + } + + try{ + outputLine=(SourceDataLine)AudioSystem.getLine(info); + //outputLine.addLineListener(this); + outputLine.open(audioFormat); + } + catch(LineUnavailableException ex){ + System.out.println("Unable to open the sourceDataLine: "+ex); + return; + } + catch(IllegalArgumentException ex){ + System.out.println("Illegal Argument: "+ex); + return; + } + + frameSizeInBytes=audioFormat.getFrameSize(); + int bufferLengthInFrames=outputLine.getBufferSize()/frameSizeInBytes/2; + bufferLengthInBytes=bufferLengthInFrames*frameSizeInBytes; + + //if(originalClassLoader!=null) + // Thread.currentThread().setContextClassLoader(originalClassLoader); + + this.rate=rate; + this.channels=channels; + } + catch(Exception ee){ + System.out.println(ee); + } + } + + private int item2index(String item){ + for(int i=0; i=cb.getItemCount()){ + current_index=0; + } + if(cb.getItemCount()<=0) + break; + } + player=null; + start_button.setText("start"); + } + + private void play_stream(Thread me){ + + boolean chained=false; + + init_jorbis(); + + retry=RETRY; + + //System.out.println("play_stream>"); + + loop: while(true){ + int eos=0; + + int index=oy.buffer(BUFSIZE); + buffer=oy.data; + try{ + bytes=bitStream.read(buffer, index, BUFSIZE); + } + catch(Exception e){ + System.err.println(e); + return; + } + oy.wrote(bytes); + + if(chained){ // + chained=false; // + } // + else{ // + if(oy.pageout(og)!=1){ + if(bytes0){ + float[][] pcmf=_pcmf[0]; + int bout=(samples32767){ + val=32767; + } + if(val<-32768){ + val=-32768; + } + if(val<0) + val=val|0x8000; + convbuffer[ptr]=(byte)(val); + convbuffer[ptr+1]=(byte)(val>>>8); + ptr+=2*(vi.channels); + } + } + outputLine.write(convbuffer, 0, 2*vi.channels*bout); + vd.synthesis_read(bout); + } + } + } + if(og.eos()!=0) + eos=1; + } + } + + if(eos==0){ + index=oy.buffer(BUFSIZE); + buffer=oy.data; + try{ + bytes=bitStream.read(buffer, index, BUFSIZE); + } + catch(Exception e){ + System.err.println(e); + return; + } + if(bytes==-1){ + break; + } + oy.wrote(bytes); + if(bytes==0) + eos=1; + } + } + + os.clear(); + vb.clear(); + vd.clear(); + vi.clear(); + } + + oy.clear(); + + try{ + if(bitStream!=null) + bitStream.close(); + } + catch(Exception e){ + } + } + + private void play_udp_stream(Thread me){ + init_jorbis(); + + try{ + loop: while(true){ + int index=oy.buffer(BUFSIZE); + buffer=oy.data; + try{ + bytes=bitStream.read(buffer, index, BUFSIZE); + } + catch(Exception e){ + System.err.println(e); + return; + } + + oy.wrote(bytes); + if(oy.pageout(og)!=1){ + // if(bytes=0; i--){ + if(foo[i]=='/'){ + item=item.substring(0, i+1)+"stats.xml"; + break; + } + } + System.out.println(item); + try{ + URL url=null; + if(running_as_applet) + url=new URL(getCodeBase(), item); + else + url=new URL(item); + BufferedReader stats=new BufferedReader(new InputStreamReader(url + .openConnection().getInputStream())); + while(true){ + String bar=stats.readLine(); + if(bar==null) + break; + System.out.println(bar); + } + } + catch(Exception ee){ + //System.err.println(ee); + } + return; + } + + String command=((JButton)(e.getSource())).getText(); + if(command.equals("start")&&player==null){ + play_sound(); + } + else if(player!=null){ + stop_sound(); + } + } + + public String getTitle(){ + return (String)(cb.getSelectedItem()); + } + + public void play_sound(){ + if(player!=null) + return; + player=new Thread(this); + start_button.setText("stop"); + player.start(); + } + + public void stop_sound(){ + if(player==null) + return; + player=null; + start_button.setText("start"); + } + + InputStream selectSource(String item){ + if(item.endsWith(".pls")){ + item=fetch_pls(item); + if(item==null) + return null; + //System.out.println("fetch: "+item); + } + else if(item.endsWith(".m3u")){ + item=fetch_m3u(item); + if(item==null) + return null; + //System.out.println("fetch: "+item); + } + + if(!item.endsWith(".ogg")){ + return null; + } + + InputStream is=null; + URLConnection urlc=null; + try{ + URL url=null; + if(running_as_applet) + url=new URL(getCodeBase(), item); + else + url=new URL(item); + urlc=url.openConnection(); + is=urlc.getInputStream(); + current_source=url.getProtocol()+"://"+url.getHost()+":"+url.getPort() + +url.getFile(); + } + catch(Exception ee){ + System.err.println(ee); + } + + if(is==null&&!running_as_applet){ + try{ + is=new FileInputStream(System.getProperty("user.dir") + +System.getProperty("file.separator")+item); + current_source=null; + } + catch(Exception ee){ + System.err.println(ee); + } + } + + if(is==null) + return null; + + System.out.println("Select: "+item); + + { + boolean find=false; + for(int i=0; i0){ + if((i=inend-instart)inbuffer.length){ + n=inbuffer.length; + } + instart=inend=0; + int i; + while(true){ + recpacket.setData(buf, 0, 1024); + socket.receive(recpacket); + + i=recpacket.getLength(); + System.arraycopy(recpacket.getData(), 0, inbuffer, inend, i); + if(i==-1){ + throw new java.io.IOException(); + } + inend+=i; + break; + } + } + + public void close() throws java.io.IOException{ + socket.close(); + } + + public int read() throws java.io.IOException{ + return 0; + } + + public int read(byte[] array, int begin, int length) + throws java.io.IOException{ + return getByte(array, begin, length); + } + } + + public static void main(String[] arg){ + + JFrame frame=new JFrame("JOrbisPlayer"); + frame.setBackground(Color.lightGray); + frame.setBackground(Color.white); + frame.getContentPane().setLayout(new BorderLayout()); + + frame.addWindowListener(new WindowAdapter(){ + public void windowClosing(WindowEvent e){ + System.exit(0); + } + }); + + JOrbisPlayer player=new JOrbisPlayer(); + player.running_as_applet=false; + + if(arg.length>0){ + for(int i=0; i. + */ +package com.github.trilarion.vorbis.jcraft; + +import com.github.trilarion.jcraft.jogg.Packet; +import com.github.trilarion.jcraft.jogg.Page; +import com.github.trilarion.jcraft.jogg.StreamState; +import com.github.trilarion.jcraft.jogg.SyncState; +import com.github.trilarion.jcraft.jorbis.Block; +import com.github.trilarion.jcraft.jorbis.Comment; +import com.github.trilarion.jcraft.jorbis.DspState; +import com.github.trilarion.jcraft.jorbis.Info; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.SourceDataLine; + +/** + * Based on JOrbisPlayer, but reduced to pure ogg file playback. + */ +// TODO is multithreading incorporated correctly? +public class OggPlayer { + + private static final long serialVersionUID = 1L; + private static final Logger LOG = Logger.getLogger(OggPlayer.class.getName()); + private static final int Channels = 2; + private static final int Rate = 44100; + private final int BUFSIZE = 4096 * 2; + private int convsize = BUFSIZE * 2; // 2 channels at most + private final byte[] convbuffer = new byte[convsize]; + private SyncState oy; + private StreamState os; + private Page og; + private Packet op; + private Info vi; + private Comment vc; + private DspState vd; + private Block vb; + private byte[] buffer = null; + private int bytes = 0; + private SourceDataLine outputLine = null; + + /** + * + * @param line + */ + public OggPlayer(SourceDataLine line) { + outputLine = line; + } + + /** + * + * @param arg + */ + public static void main(String[] arg) { + // get a line and construct a new player + AudioFormat requestedFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, Rate, 16, Channels, 4, Rate, false); + SourceDataLine line; + try { + line = AudioSystem.getSourceDataLine(requestedFormat); + line.open(); + } catch (LineUnavailableException ex) { + LOG.log(Level.SEVERE, null, ex); + return; + } + line.start(); + OggPlayer player = new OggPlayer(line); + + InputStream in; + try { + in = new FileInputStream("Agogo.ogg"); + } catch (FileNotFoundException ex) { + LOG.log(Level.SEVERE, null, ex); + return; + } + player.play(in); + + line.stop(); + line.close(); + } + + /** + * inits jorbis + */ + private void init_jorbis() { + oy = new SyncState(); + os = new StreamState(); + og = new Page(); + op = new Packet(); + + vi = new Info(); + vc = new Comment(); + vd = new DspState(); + vb = new Block(vd); + + buffer = null; + bytes = 0; + + oy.init(); + } + + /** + * Called from run + * + * @param is + */ + public synchronized void play(InputStream is) { + boolean chained = false; + init_jorbis(); + + LOG.log(Level.INFO, "play stream: {0}", is); + + loop: + while (true) { + int eos = 0; + + int index = oy.buffer(BUFSIZE); + buffer = oy.data; + try { + bytes = is.read(buffer, index, BUFSIZE); + } catch (IOException ex) { + LOG.log(Level.SEVERE, null, ex); + return; + } + + oy.wrote(bytes); + + if (chained) { // + chained = false; // + } // + else { // + if (oy.pageout(og) != 1) { + if (bytes < BUFSIZE) { + break; + } + LOG.info("Input does not appear to be an Ogg bitstream."); + return; + } + } // + os.init(og.serialno()); + os.reset(); + + vi.init(); + vc.init(); + + if (os.pagein(og) < 0) { + // error; stream version mismatch perhaps + LOG.info("Error reading first page of Ogg bitstream data."); + return; + } + + if (os.packetout(op) != 1) { + // no page? must not be vorbis + LOG.info("Error reading initial header packet."); + break; + // return; + } + + if (vi.synthesis_headerin(vc, op) < 0) { + // error case; not a vorbis header + LOG.info("This Ogg bitstream does not contain Vorbis audio data."); + return; + } + + int i = 0; + + while (i < 2) { + while (i < 2) { + int result = oy.pageout(og); + if (result == 0) { + break; // Need more data + } + if (result == 1) { + os.pagein(og); + while (i < 2) { + result = os.packetout(op); + if (result == 0) { + break; + } + if (result == -1) { + LOG.info("Corrupt secondary header. Exiting."); + //return; + break loop; + } + vi.synthesis_headerin(vc, op); + i++; + } + } + } + + index = oy.buffer(BUFSIZE); + buffer = oy.data; + try { + bytes = is.read(buffer, index, BUFSIZE); + } catch (IOException ex) { + LOG.log(Level.SEVERE, null, ex); + } + + if (bytes == 0 && i < 2) { + LOG.info("End of file before finding all Vorbis headers!"); + return; + } + oy.wrote(bytes); + } + + { + byte[][] ptr = vc.user_comments; + + for (byte[] ptr1 : ptr) { + if (ptr1 == null) { + break; + } + LOG.log(Level.INFO, "Comment: {0}", new String(ptr1, 0, ptr1.length - 1)); + } + LOG.log(Level.INFO, "Bitstream is {0} channel, {1}Hz", new Object[]{vi.channels, vi.rate}); + LOG.log(Level.INFO, "Encoded by: {0}\n", new String(vc.vendor, 0, vc.vendor.length - 1)); + } + + convsize = BUFSIZE / vi.channels; + + vd.synthesis_init(vi); + vb.init(vd); + + float[][][] _pcmf = new float[1][][]; + int[] _index = new int[vi.channels]; + + // test for rate, channels not 44100, 2 + if (vi.channels != Channels || vi.rate != Rate) { + LOG.log(Level.SEVERE, "Encountered sound file with unusual channels and rates, should get new line!"); + return; + } + + while (eos == 0) { + while (eos == 0) { + int result = oy.pageout(og); + if (result == 0) { + break; // need more data + } + if (result == -1) { // missing or corrupt data at this page position + LOG.info("Corrupt or missing data in bitstream; continuing..."); + } else { + os.pagein(og); + + if (og.granulepos() == 0) { // + chained = true; // + eos = 1; // + break; // + } // + + while (true) { + result = os.packetout(op); + if (result == 0) { + break; // need more data + } + if (result == -1) { // missing or corrupt data at this page position + // no reason to complain; already complained above + //System.err.println("no reason to complain; already complained above"); + } else { + // we have a packet. Decode it + int samples; + if (vb.synthesis(op) == 0) { // test for success! + vd.synthesis_blockin(vb); + } + while ((samples = vd.synthesis_pcmout(_pcmf, _index)) > 0) { + float[][] pcmf = _pcmf[0]; + int bout = (samples < convsize ? samples : convsize); + + // convert doubles to 16 bit signed ints (host order) and + // interleave + for (i = 0; i < vi.channels; i++) { + int ptr = i * 2; + //int ptr=i; + int mono = _index[i]; + for (int j = 0; j < bout; j++) { + int val = (int) (pcmf[i][mono + j] * 32767.); + if (val > 32767) { + val = 32767; + } + if (val < -32768) { + val = -32768; + } + if (val < 0) { + val |= 0x8000; + } + convbuffer[ptr] = (byte) (val); + convbuffer[ptr + 1] = (byte) (val >>> 8); + ptr += 2 * (vi.channels); + } + } + outputLine.write(convbuffer, 0, 2 * vi.channels * bout); + vd.synthesis_read(bout); + } + } + } + if (og.eos() != 0) { + eos = 1; + } + } + } + + if (eos == 0) { + index = oy.buffer(BUFSIZE); + buffer = oy.data; + try { + bytes = is.read(buffer, index, BUFSIZE); + } catch (IOException ex) { + LOG.log(Level.SEVERE, null, ex); + return; + } + + if (bytes == -1) { + break; + } + oy.wrote(bytes); + if (bytes == 0) { + eos = 1; + } + } + } + + os.clear(); + vb.clear(); + vd.clear(); + vi.clear(); + } + + oy.clear(); + + if (is != null) { + try { + is.close(); + } catch (IOException ex) { + LOG.log(Level.SEVERE, null, ex); + } + } + } +} diff --git a/src/examples/java/com/github/trilarion/vorbis/jcraft/jorbis/ChainingExample.java b/src/examples/java/com/github/trilarion/vorbis/jcraft/jorbis/ChainingExample.java new file mode 100644 index 0000000..21b0d15 --- /dev/null +++ b/src/examples/java/com/github/trilarion/vorbis/jcraft/jorbis/ChainingExample.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2000 ymnk + * 2013 Trilarion + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ +package com.github.trilarion.vorbis.jcraft.jorbis; + +import com.github.trilarion.jcraft.jorbis.Comment; +import com.github.trilarion.jcraft.jorbis.Info; +import com.github.trilarion.jcraft.jorbis.JOrbisException; +import com.github.trilarion.jcraft.jorbis.VorbisFile; +import java.util.logging.Logger; + +/** + * + */ +class ChainingExample { + + private static final Logger LOG = Logger.getLogger(ChainingExample.class.getName()); + + public static void main(String[] arg) throws JOrbisException { + VorbisFile ov; + ov = new VorbisFile("Agogo.ogg"); + + if (ov.seekable()) { + System.out.println("Input bitstream contained " + ov.streams() + " logical bitstream section(s)."); + System.out.println("Total bitstream playing time: " + ov.time_total(-1) + " seconds\n"); + } else { + System.out.println("Standard input was not seekable."); + System.out.println("First logical bitstream information:\n"); + } + + for (int i = 0; i < ov.streams(); i++) { + Info vi = ov.getInfo(i); + System.out.println("\tlogical bitstream section " + (i + 1) + " information:"); + System.out.println("\t\t" + vi.rate + "Hz " + vi.channels + " channels bitrate " + + (ov.bitrate(i) / 1000) + "kbps serial number=" + ov.serialnumber(i)); + System.out.print("\t\tcompressed length: " + ov.raw_total(i) + " bytes "); + System.out.println(" play time: " + ov.time_total(i) + "s"); + Comment vc = ov.getComment(i); + System.out.println(vc); + } + //ov.clear(); + } +} diff --git a/src/examples/java/com/github/trilarion/vorbis/jcraft/jorbis/DecodeExample.java b/src/examples/java/com/github/trilarion/vorbis/jcraft/jorbis/DecodeExample.java new file mode 100644 index 0000000..b8199ad --- /dev/null +++ b/src/examples/java/com/github/trilarion/vorbis/jcraft/jorbis/DecodeExample.java @@ -0,0 +1,318 @@ +/* + * Copyright (C) 2000 ymnk + * 2013 Trilarion + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ +package com.github.trilarion.vorbis.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Packet; +import com.github.trilarion.jcraft.jogg.Page; +import com.github.trilarion.jcraft.jogg.StreamState; +import com.github.trilarion.jcraft.jogg.SyncState; +import com.github.trilarion.jcraft.jorbis.Block; +import com.github.trilarion.jcraft.jorbis.Comment; +import com.github.trilarion.jcraft.jorbis.DspState; +import com.github.trilarion.jcraft.jorbis.Info; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.util.logging.Level; +import java.util.logging.Logger; + + +/** + * Takes a vorbis bitstream from stdin and writes raw stereo PCM to stdout. + * Decodes simple and chained OggVorbis files from beginning to end. is somewhat + * more complex than the code below. + */ +class DecodeExample { + + private static final Logger LOG = Logger.getLogger(DecodeExample.class.getName()); + private static int convsize = 4096 * 2; + private static final byte[] convbuffer = new byte[convsize]; // take 8k out of the data segment, not the stack + + public static void main(String[] arg) { + InputStream input; + try { + input = new FileInputStream("Agogo.ogg"); + } catch (FileNotFoundException ex) { + LOG.log(Level.SEVERE, null, ex); + return; + } + + SyncState oy = new SyncState(); // sync and verify incoming physical bitstream + StreamState os = new StreamState(); // take physical pages, weld into a logical stream of packets + Page og = new Page(); // one Ogg bitstream page. Vorbis packets are inside + Packet op = new Packet(); // one raw packet of data for decode + + Info vi = new Info(); // struct that stores all the static vorbis bitstream settings + Comment vc = new Comment(); // struct that stores all the bitstream user comments + DspState vd = new DspState(); // central working state for the packet->PCM decoder + Block vb = new Block(vd); // local working space for packet->PCM decode + + byte[] buffer; + int bytes; + + // Decode setup + oy.init(); // Now we can read pages + + while (true) { // we repeat if the bitstream is chained + int eos = 0; + + // grab some data at the head of the stream. We want the first page + // (which is guaranteed to be small and only contain the Vorbis + // stream initial header) We need the first page to get the stream + // serialno. + // submit a 4k block to libvorbis' Ogg layer + int index = oy.buffer(4096); + buffer = oy.data; + try { + bytes = input.read(buffer, index, 4096); + } catch (Exception ex) { + LOG.log(Level.SEVERE, null, ex); + return; + } + oy.wrote(bytes); + + // Get the first page. + if (oy.pageout(og) != 1) { + // have we simply run out of data? If so, we're done. + if (bytes < 4096) { + break; + } + + // error case. Must not be Vorbis data + LOG.log(Level.SEVERE, "Input does not appear to be an Ogg bitstream."); + return; + } + + // Get the serial number and set up the rest of decode. + // serialno first; use it to set up a logical stream + os.init(og.serialno()); + + // extract the initial header from the first page and verify that the + // Ogg bitstream is in fact Vorbis data + // I handle the initial header first instead of just having the code + // read all three Vorbis headers at once because reading the initial + // header is an easy way to identify a Vorbis bitstream and it's + // useful to see that functionality seperated out. + vi.init(); + vc.init(); + if (os.pagein(og) < 0) { + // error; stream version mismatch perhaps + LOG.log(Level.SEVERE, "Error reading first page of Ogg bitstream data."); + return; + } + + if (os.packetout(op) != 1) { + // no page? must not be vorbis + LOG.log(Level.SEVERE, "Error reading initial header packet."); + return; + } + + if (vi.synthesis_headerin(vc, op) < 0) { + // error case; not a vorbis header + LOG.log(Level.SEVERE, "This Ogg bitstream does not contain Vorbis audio data."); + return; + } + + // At this point, we're sure we're Vorbis. We've set up the logical + // (Ogg) bitstream decoder. Get the comment and codebook headers and + // set up the Vorbis decoder + // The next two packets in order are the comment and codebook headers. + // They're likely large and may span multiple pages. Thus we reead + // and submit data until we get our two pacakets, watching that no + // pages are missing. If a page is missing, error out; losing a + // header page is the only place where missing data is fatal. */ + int i = 0; + while (i < 2) { + while (i < 2) { + + int result = oy.pageout(og); + if (result == 0) { + break; // Need more data + } // Don't complain about missing or corrupt data yet. We'll + // catch it at the packet output phase + + if (result == 1) { + os.pagein(og); // we can ignore any errors here + // as they'll also become apparent + // at packetout + while (i < 2) { + result = os.packetout(op); + if (result == 0) { + break; + } + if (result == -1) { + // Uh oh; data at some point was corrupted or missing! + // We can't tolerate that in a header. Die. + LOG.log(Level.SEVERE, "Corrupt secondary header. Exiting."); + return; + } + vi.synthesis_headerin(vc, op); + i++; + } + } + } + // no harm in not checking before adding more + index = oy.buffer(4096); + buffer = oy.data; + try { + bytes = input.read(buffer, index, 4096); + } catch (Exception ex) { + LOG.log(Level.SEVERE, null, ex); + return; + } + if (bytes == 0 && i < 2) { + LOG.log(Level.SEVERE, "End of file before finding all Vorbis headers!"); + return; + } + oy.wrote(bytes); + } + + // Throw the comments plus a few lines about the bitstream we're + // decoding + { + byte[][] ptr = vc.user_comments; + for (byte[] ptr1 : ptr) { + if (ptr1 == null) { + break; + } + LOG.log(Level.INFO, new String(ptr1, 0, ptr1.length - 1)); + } + LOG.log(Level.INFO, "\nBitstream is {0} channel, {1}Hz", new Object[]{vi.channels, vi.rate}); + LOG.log(Level.INFO, "Encoded by: {0}\n", new String(vc.vendor, 0, vc.vendor.length - 1)); + } + convsize = 4096 / vi.channels; + + // OK, got and parsed all three headers. Initialize the Vorbis + // packet->PCM decoder. + vd.synthesis_init(vi); // central decode state + vb.init(vd); // local state for most of the decode + // so multiple block decodes can + // proceed in parallel. We could init + // multiple vorbis_block structures + // for vd here + + float[][][] _pcm = new float[1][][]; + int[] _index = new int[vi.channels]; + // The rest is just a straight decode loop until end of stream + while (eos == 0) { + while (eos == 0) { + + int result = oy.pageout(og); + if (result == 0) { + break; // need more data + } + if (result == -1) { // missing or corrupt data at this page position + LOG.log(Level.INFO, "Corrupt or missing data in bitstream; continuing..."); + } else { + os.pagein(og); // can safely ignore errors at + // this point + while (true) { + result = os.packetout(op); + + if (result == 0) { + break; // need more data + } + if (result == -1) { // missing or corrupt data at this page position + // no reason to complain; already complained above + } else { + // we have a packet. Decode it + int samples; + if (vb.synthesis(op) == 0) { // test for success! + vd.synthesis_blockin(vb); + } + + // **pcm is a multichannel float vector. In stereo, for + // example, pcm[0] is left, and pcm[1] is right. samples is + // the size of each channel. Convert the float values + // (-1.<=range<=1.) to whatever PCM format and write it out + while ((samples = vd.synthesis_pcmout(_pcm, _index)) > 0) { + float[][] pcm = _pcm[0]; + int bout = (samples < convsize ? samples : convsize); + + // convert floats to 16 bit signed ints (host order) and + // interleave + for (i = 0; i < vi.channels; i++) { + int ptr = i * 2; + //int ptr=i; + int mono = _index[i]; + for (int j = 0; j < bout; j++) { + int val = (int) (pcm[i][mono + j] * 32767.); + // short val=(short)(pcm[i][mono+j]*32767.); + // int val=(int)Math.round(pcm[i][mono+j]*32767.); + // might as well guard against clipping + if (val > 32767) { + val = 32767; + } + if (val < -32768) { + val = -32768; + } + if (val < 0) { + val |= 0x8000; + } + convbuffer[ptr] = (byte) (val); + convbuffer[ptr + 1] = (byte) (val >>> 8); + ptr += 2 * (vi.channels); + } + } + + System.out.write(convbuffer, 0, 2 * vi.channels * bout); + + // tell libvorbis how + // many samples we + // actually consumed + vd.synthesis_read(bout); + } + } + } + if (og.eos() != 0) { + eos = 1; + } + } + } + if (eos == 0) { + index = oy.buffer(4096); + buffer = oy.data; + try { + bytes = input.read(buffer, index, 4096); + } catch (Exception ex) { + LOG.log(Level.SEVERE, null, ex); + return; + } + oy.wrote(bytes); + if (bytes == 0) { + eos = 1; + } + } + } + + // clean up this logical bitstream; before exit we see if we're + // followed by another [chained] + os.clear(); + + // ogg_page and ogg_packet structs always point to storage in + // libvorbis. They're never freed or manipulated directly + vb.clear(); + vd.clear(); + vi.clear(); // must be called last + } + + // OK, clean up the framer + oy.clear(); + LOG.log(Level.INFO, "Done."); + } +} diff --git a/src/examples/resources/Agogo.ogg b/src/examples/resources/Agogo.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f8b2680c3ca53ff8bdeeb08d581adf8233fe232e GIT binary patch literal 153491 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 Hy)WrM19b5+ literal 0 HcmV?d00001 diff --git a/src/examples/resources/license.txt b/src/examples/resources/license.txt new file mode 100644 index 0000000..cf425a0 --- /dev/null +++ b/src/examples/resources/license.txt @@ -0,0 +1 @@ +Agogo.ogg: Public Domain (http://commons.wikimedia.org/wiki/File:Agogo.ogg) \ No newline at end of file diff --git a/src/main/java/com/github/trilarion/jcraft/jogg/Buffer.java b/src/main/java/com/github/trilarion/jcraft/jogg/Buffer.java new file mode 100644 index 0000000..cd9ea8d --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jogg/Buffer.java @@ -0,0 +1,294 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jogg; + +public class Buffer{ + private static final int BUFFER_INCREMENT=256; + + private static final int[] mask= {0x00000000, 0x00000001, 0x00000003, + 0x00000007, 0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f, 0x000000ff, + 0x000001ff, 0x000003ff, 0x000007ff, 0x00000fff, 0x00001fff, 0x00003fff, + 0x00007fff, 0x0000ffff, 0x0001ffff, 0x0003ffff, 0x0007ffff, 0x000fffff, + 0x001fffff, 0x003fffff, 0x007fffff, 0x00ffffff, 0x01ffffff, 0x03ffffff, + 0x07ffffff, 0x0fffffff, 0x1fffffff, 0x3fffffff, 0x7fffffff, 0xffffffff}; + + int ptr=0; + byte[] buffer=null; + int endbit=0; + int endbyte=0; + int storage=0; + + public void writeinit(){ + buffer=new byte[BUFFER_INCREMENT]; + ptr=0; + buffer[0]=(byte)'\0'; + storage=BUFFER_INCREMENT; + } + + public void write(byte[] s){ + for(int i=0; i=storage){ + byte[] foo=new byte[storage+BUFFER_INCREMENT]; + System.arraycopy(buffer, 0, foo, 0, storage); + buffer=foo; + storage+=BUFFER_INCREMENT; + } + + value&=mask[bits]; + bits+=endbit; + buffer[ptr]|=(byte)(value<=8){ + buffer[ptr+1]=(byte)(value>>>(8-endbit)); + if(bits>=16){ + buffer[ptr+2]=(byte)(value>>>(16-endbit)); + if(bits>=24){ + buffer[ptr+3]=(byte)(value>>>(24-endbit)); + if(bits>=32){ + if(endbit>0) + buffer[ptr+4]=(byte)(value>>>(32-endbit)); + else + buffer[ptr+4]=0; + } + } + } + } + + endbyte+=bits/8; + ptr+=bits/8; + endbit=bits&7; + } + + public int look(int bits){ + int ret; + int m=mask[bits]; + + bits+=endbit; + + if(endbyte+4>=storage){ + if(endbyte+(bits-1)/8>=storage) + return (-1); + } + + ret=((buffer[ptr])&0xff)>>>endbit; + if(bits>8){ + ret|=((buffer[ptr+1])&0xff)<<(8-endbit); + if(bits>16){ + ret|=((buffer[ptr+2])&0xff)<<(16-endbit); + if(bits>24){ + ret|=((buffer[ptr+3])&0xff)<<(24-endbit); + if(bits>32&&endbit!=0){ + ret|=((buffer[ptr+4])&0xff)<<(32-endbit); + } + } + } + } + return (m&ret); + } + + public int look1(){ + if(endbyte>=storage) + return (-1); + return ((buffer[ptr]>>endbit)&1); + } + + public void adv(int bits){ + bits+=endbit; + ptr+=bits/8; + endbyte+=bits/8; + endbit=bits&7; + } + + public void adv1(){ + ++endbit; + if(endbit>7){ + endbit=0; + ptr++; + endbyte++; + } + } + + public int read(int bits){ + int ret; + int m=mask[bits]; + + bits+=endbit; + + if(endbyte+4>=storage){ + ret=-1; + if(endbyte+(bits-1)/8>=storage){ + ptr+=bits/8; + endbyte+=bits/8; + endbit=bits&7; + return (ret); + } + } + + ret=((buffer[ptr])&0xff)>>>endbit; + if(bits>8){ + ret|=((buffer[ptr+1])&0xff)<<(8-endbit); + if(bits>16){ + ret|=((buffer[ptr+2])&0xff)<<(16-endbit); + if(bits>24){ + ret|=((buffer[ptr+3])&0xff)<<(24-endbit); + if(bits>32&&endbit!=0){ + ret|=((buffer[ptr+4])&0xff)<<(32-endbit); + } + } + } + } + + ret&=m; + + ptr+=bits/8; + endbyte+=bits/8; + endbit=bits&7; + return (ret); + } + + public int readB(int bits){ + int ret; + int m=32-bits; + + bits+=endbit; + + if(endbyte+4>=storage){ + /* not the main path */ + ret=-1; + if(endbyte*8+bits>storage*8){ + ptr+=bits/8; + endbyte+=bits/8; + endbit=bits&7; + return (ret); + } + } + + ret=(buffer[ptr]&0xff)<<(24+endbit); + if(bits>8){ + ret|=(buffer[ptr+1]&0xff)<<(16+endbit); + if(bits>16){ + ret|=(buffer[ptr+2]&0xff)<<(8+endbit); + if(bits>24){ + ret|=(buffer[ptr+3]&0xff)<<(endbit); + if(bits>32&&(endbit!=0)) + ret|=(buffer[ptr+4]&0xff)>>(8-endbit); + } + } + } + ret=(ret>>>(m>>1))>>>((m+1)>>1); + + ptr+=bits/8; + endbyte+=bits/8; + endbit=bits&7; + return (ret); + } + + public int read1(){ + int ret; + if(endbyte>=storage){ + ret=-1; + endbit++; + if(endbit>7){ + endbit=0; + ptr++; + endbyte++; + } + return (ret); + } + + ret=(buffer[ptr]>>endbit)&1; + + endbit++; + if(endbit>7){ + endbit=0; + ptr++; + endbyte++; + } + return (ret); + } + + public int bytes(){ + return (endbyte+(endbit+7)/8); + } + + public int bits(){ + return (endbyte*8+endbit); + } + + public byte[] buffer(){ + return (buffer); + } + + public static int ilog(int v){ + int ret=0; + while(v>0){ + ret++; + v>>>=1; + } + return (ret); + } + + public static void report(String in){ + System.err.println(in); + System.exit(1); + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jogg/Packet.java b/src/main/java/com/github/trilarion/jcraft/jogg/Packet.java new file mode 100644 index 0000000..02ea314 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jogg/Packet.java @@ -0,0 +1,47 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jogg; + +public class Packet{ + public byte[] packet_base; + public int packet; + public int bytes; + public int b_o_s; + public int e_o_s; + + public long granulepos; + + /** + * sequence number for decode; the framing + * knows where there's a hole in the data, + * but we need coupling so that the codec + * (which is in a seperate abstraction + * layer) also knows about the gap + */ + public long packetno; + +} diff --git a/src/main/java/com/github/trilarion/jcraft/jogg/Page.java b/src/main/java/com/github/trilarion/jcraft/jogg/Page.java new file mode 100644 index 0000000..8a19281 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jogg/Page.java @@ -0,0 +1,135 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jogg; + +public class Page{ + private static int[] crc_lookup=new int[256]; + static{ + for(int i=0; i>>24)&0xff)^(header_base[header+i]&0xff)]; + } + for(int i=0; i>>24)&0xff)^(body_base[body+i]&0xff)]; + } + header_base[header+22]=(byte)crc_reg; + header_base[header+23]=(byte)(crc_reg>>>8); + header_base[header+24]=(byte)(crc_reg>>>16); + header_base[header+25]=(byte)(crc_reg>>>24); + } + + public Page copy(){ + return copy(new Page()); + } + + public Page copy(Page p){ + byte[] tmp=new byte[header_len]; + System.arraycopy(header_base, header, tmp, 0, header_len); + p.header_len=header_len; + p.header_base=tmp; + p.header=0; + tmp=new byte[body_len]; + System.arraycopy(body_base, body, tmp, 0, body_len); + p.body_len=body_len; + p.body_base=tmp; + p.body=0; + return p; + } + +} diff --git a/src/main/java/com/github/trilarion/jcraft/jogg/StreamState.java b/src/main/java/com/github/trilarion/jcraft/jogg/StreamState.java new file mode 100644 index 0000000..954b9cc --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jogg/StreamState.java @@ -0,0 +1,526 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jogg; + +public class StreamState{ + byte[] body_data; /* bytes from packet bodies */ + int body_storage; /* storage elements allocated */ + int body_fill; /* elements stored; fill mark */ + private int body_returned; /* elements of fill returned */ + + int[] lacing_vals; /* The values that will go to the segment table */ + long[] granule_vals; /* pcm_pos values for headers. Not compact + this way, but it is simple coupled to the + lacing fifo */ + int lacing_storage; + int lacing_fill; + int lacing_packet; + int lacing_returned; + + byte[] header=new byte[282]; /* working space for header encode */ + int header_fill; + + public int e_o_s; /* set when we have buffered the last packet in the + logical bitstream */ + int b_o_s; /* set after we've written the initial page + of a logical bitstream */ + int serialno; + int pageno; + long packetno; /* sequence number for decode; the framing + knows where there's a hole in the data, + but we need coupling so that the codec + (which is in a seperate abstraction + layer) also knows about the gap */ + long granulepos; + + public StreamState(){ + init(); + } + + StreamState(int serialno){ + this(); + init(serialno); + } + + void init(){ + body_storage=16*1024; + body_data=new byte[body_storage]; + lacing_storage=1024; + lacing_vals=new int[lacing_storage]; + granule_vals=new long[lacing_storage]; + } + + public void init(int serialno){ + if(body_data==null){ + init(); + } + else{ + for(int i=0; i0) + return (-1); + + lacing_expand(segments+1); + + // are we in sequence? + if(_pageno!=pageno){ + int i; + + // unroll previous partial packet (if any) + for(i=lacing_packet; i0) + lacing_vals[lacing_fill-1]|=0x200; + } + + pageno=_pageno+1; + return (0); + } + + /* This will flush remaining packets into a page (returning nonzero), + even if there is not enough data to trigger a flush normally + (undersized page). If there are no packets or partial packets to + flush, ogg_stream_flush returns 0. Note that ogg_stream_flush will + try to flush a normal sized page like ogg_stream_pageout; a call to + ogg_stream_flush does not gurantee that all packets have flushed. + Only a return value of 0 from ogg_stream_flush indicates all packet + data is flushed into pages. + + ogg_stream_page will flush the last page in a stream even if it's + undersized; you almost certainly want to use ogg_stream_pageout + (and *not* ogg_stream_flush) unless you need to flush an undersized + page in the middle of a stream for some reason. */ + + public int flush(Page og){ + + int i; + int vals=0; + int maxvals=(lacing_fill>255 ? 255 : lacing_fill); + int bytes=0; + int acc=0; + long granule_pos=granule_vals[0]; + + if(maxvals==0) + return (0); + + /* construct a page */ + /* decide how many segments to include */ + + /* If this is the initial header case, the first page must only include + the initial header packet */ + if(b_o_s==0){ /* 'initial header page' case */ + granule_pos=0; + for(vals=0; vals4096) + break; + acc+=(lacing_vals[vals]&0x0ff); + granule_pos=granule_vals[vals]; + } + } + + /* construct the header in temp storage */ + System.arraycopy("OggS".getBytes(), 0, header, 0, 4); + + /* stream structure version */ + header[4]=0x00; + + /* continued packet flag? */ + header[5]=0x00; + if((lacing_vals[0]&0x100)==0) + header[5]|=0x01; + /* first page flag? */ + if(b_o_s==0) + header[5]|=0x02; + /* last page flag? */ + if(e_o_s!=0&&lacing_fill==vals) + header[5]|=0x04; + b_o_s=1; + + /* 64 bits of PCM position */ + for(i=6; i<14; i++){ + header[i]=(byte)granule_pos; + granule_pos>>>=8; + } + + /* 32 bits of stream serial number */ + { + int _serialno=serialno; + for(i=14; i<18; i++){ + header[i]=(byte)_serialno; + _serialno>>>=8; + } + } + + /* 32 bits of page counter (we have both counter and page header + because this val can roll over) */ + if(pageno==-1) + pageno=0; /* because someone called + stream_reset; this would be a + strange thing to do in an + encode stream, but it has + plausible uses */ + { + int _pageno=pageno++; + for(i=18; i<22; i++){ + header[i]=(byte)_pageno; + _pageno>>>=8; + } + } + + /* zero for computation; filled in later */ + header[22]=0; + header[23]=0; + header[24]=0; + header[25]=0; + + /* segment table */ + header[26]=(byte)vals; + for(i=0; i4096|| /* 'page nominal size' case */ + lacing_fill>=255|| /* 'segment table full' case */ + (lacing_fill!=0&&b_o_s==0)){ /* 'initial header page' case */ + return flush(og); + } + return 0; + } + + public int eof(){ + return e_o_s; + } + + public int reset(){ + body_fill=0; + body_returned=0; + + lacing_fill=0; + lacing_packet=0; + lacing_returned=0; + + header_fill=0; + + e_o_s=0; + b_o_s=0; + pageno=-1; + packetno=0; + granulepos=0; + return (0); + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jogg/SyncState.java b/src/main/java/com/github/trilarion/jcraft/jogg/SyncState.java new file mode 100644 index 0000000..d3351cc --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jogg/SyncState.java @@ -0,0 +1,275 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jogg; + +// DECODING PRIMITIVES: packet streaming layer + +// This has two layers to place more of the multi-serialno and paging +// control in the application's hands. First, we expose a data buffer +// using ogg_decode_buffer(). The app either copies into the +// buffer, or passes it directly to read(), etc. We then call +// ogg_decode_wrote() to tell how many bytes we just added. +// +// Pages are returned (pointers into the buffer in ogg_sync_state) +// by ogg_decode_stream(). The page is then submitted to +// ogg_decode_page() along with the appropriate +// ogg_stream_state* (ie, matching serialno). We then get raw +// packets out calling ogg_stream_packet() with a +// ogg_stream_state. See the 'frame-prog.txt' docs for details and +// example code. + +public class SyncState{ + + public byte[] data; + int storage; + int fill; + int returned; + + int unsynced; + int headerbytes; + int bodybytes; + + public int clear(){ + data=null; + return (0); + } + + public int buffer(int size){ + // first, clear out any space that has been previously returned + if(returned!=0){ + fill-=returned; + if(fill>0){ + System.arraycopy(data, returned, data, 0, fill); + } + returned=0; + } + + if(size>storage-fill){ + // We need to extend the internal buffer + int newsize=size+fill+4096; // an extra page to be nice + if(data!=null){ + byte[] foo=new byte[newsize]; + System.arraycopy(data, 0, foo, 0, data.length); + data=foo; + } + else{ + data=new byte[newsize]; + } + storage=newsize; + } + + return (fill); + } + + public int wrote(int bytes){ + if(fill+bytes>storage) + return (-1); + fill+=bytes; + return (0); + } + + // sync the stream. This is meant to be useful for finding page + // boundaries. + // + // return values for this: + // -n) skipped n bytes + // 0) page not ready; more data (no bytes skipped) + // n) page synced at current location; page length n bytes + private Page pageseek=new Page(); + private byte[] chksum=new byte[4]; + + public int pageseek(Page og){ + int page=returned; + int next; + int bytes=fill-returned; + + if(headerbytes==0){ + int _headerbytes, i; + if(bytes<27) + return (0); // not enough for a header + + /* verify capture pattern */ + if(data[page]!='O'||data[page+1]!='g'||data[page+2]!='g' + ||data[page+3]!='S'){ + headerbytes=0; + bodybytes=0; + + // search for possible capture + next=0; + for(int ii=0; iibytes) + return (0); + + // The whole test page is buffered. Verify the checksum + synchronized(chksum){ + // Grab the checksum bytes, set the header field to zero + + System.arraycopy(data, page+22, chksum, 0, 4); + data[page+22]=0; + data[page+23]=0; + data[page+24]=0; + data[page+25]=0; + + // set up a temp page struct and recompute the checksum + Page log=pageseek; + log.header_base=data; + log.header=page; + log.header_len=headerbytes; + + log.body_base=data; + log.body=page+headerbytes; + log.body_len=bodybytes; + log.checksum(); + + // Compare + if(chksum[0]!=data[page+22]||chksum[1]!=data[page+23] + ||chksum[2]!=data[page+24]||chksum[3]!=data[page+25]){ + // D'oh. Mismatch! Corrupt page (or miscapture and not a page at all) + // replace the computed checksum with the one actually read in + System.arraycopy(chksum, 0, data, page+22, 4); + // Bad checksum. Lose sync */ + + headerbytes=0; + bodybytes=0; + // search for possible capture + next=0; + for(int ii=0; ii0){ + // have a page + return (1); + } + if(ret==0){ + // need more data + return (0); + } + + // head did not start a synced page... skipped some bytes + if(unsynced==0){ + unsynced=1; + return (-1); + } + // loop. keep looking + } + } + + // clear things to an initial state. Good to call, eg, before seeking + public int reset(){ + fill=0; + returned=0; + unsynced=0; + headerbytes=0; + bodybytes=0; + return (0); + } + + public void init(){ + } + + public int getDataOffset(){ + return returned; + } + + public int getBufferOffset(){ + return fill; + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/Block.java b/src/main/java/com/github/trilarion/jcraft/jorbis/Block.java new file mode 100644 index 0000000..ff8288e --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/Block.java @@ -0,0 +1,129 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; +import com.github.trilarion.jcraft.jogg.Packet; + +public class Block{ + ///necessary stream state for linking to the framing abstraction + float[][] pcm=new float[0][]; // this is a pointer into local storage + Buffer opb=new Buffer(); + + int lW; + int W; + int nW; + int pcmend; + int mode; + + int eofflag; + long granulepos; + long sequence; + DspState vd; // For read-only access of configuration + + // bitmetrics for the frame + int glue_bits; + int time_bits; + int floor_bits; + int res_bits; + + public Block(DspState vd){ + this.vd=vd; + if(vd.analysisp!=0){ + opb.writeinit(); + } + } + + public void init(DspState vd){ + this.vd=vd; + } + + public int clear(){ + if(vd!=null){ + if(vd.analysisp!=0){ + opb.writeclear(); + } + } + return (0); + } + + public int synthesis(Packet op){ + Info vi=vd.vi; + + // first things first. Make sure decode is ready + opb.readinit(op.packet_base, op.packet, op.bytes); + + // Check the packet type + if(opb.read(1)!=0){ + // Oops. This is not an audio data packet + return (-1); + } + + // read our mode and pre/post windowsize + int _mode=opb.read(vd.modebits); + if(_mode==-1) + return (-1); + + mode=_mode; + W=vi.mode_param[mode].blockflag; + if(W!=0){ + lW=opb.read(1); + nW=opb.read(1); + if(nW==-1) + return (-1); + } + else{ + lW=0; + nW=0; + } + + // more setup + granulepos=op.granulepos; + sequence=op.packetno-3; // first block is third packet + eofflag=op.e_o_s; + + // alloc pcm passback storage + pcmend=vi.blocksizes[W]; + if(pcm.length + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +class ChainingExample{ + public static void main(String[] arg){ + VorbisFile ov=null; + + try{ + if(arg.length>0){ + ov=new VorbisFile(arg[0]); + } + else{ + ov=new VorbisFile(System.in, null, -1); + } + } + catch(Exception e){ + System.err.println(e); + return; + } + + if(ov.seekable()){ + System.out.println("Input bitstream contained "+ov.streams() + +" logical bitstream section(s)."); + System.out.println("Total bitstream playing time: "+ov.time_total(-1) + +" seconds\n"); + } + else{ + System.out.println("Standard input was not seekable."); + System.out.println("First logical bitstream information:\n"); + } + + for(int i=0; i + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +class CodeBook{ + int dim; // codebook dimensions (elements per vector) + int entries; // codebook entries + StaticCodeBook c=new StaticCodeBook(); + + float[] valuelist; // list of dim*entries actual entry values + int[] codelist; // list of bitstream codewords for each entry + DecodeAux decode_tree; + + // returns the number of bits + int encode(int a, Buffer b){ + b.write(codelist[a], c.lengthlist[a]); + return (c.lengthlist[a]); + } + + // One the encode side, our vector writers are each designed for a + // specific purpose, and the encoder is not flexible without modification: + // + // The LSP vector coder uses a single stage nearest-match with no + // interleave, so no step and no error return. This is specced by floor0 + // and doesn't change. + // + // Residue0 encoding interleaves, uses multiple stages, and each stage + // peels of a specific amount of resolution from a lattice (thus we want + // to match by threshhold, not nearest match). Residue doesn't *have* to + // be encoded that way, but to change it, one will need to add more + // infrastructure on the encode side (decode side is specced and simpler) + + // floor0 LSP (single stage, non interleaved, nearest match) + // returns entry number and *modifies a* to the quantization value + int errorv(float[] a){ + int best=best(a, 1); + for(int k=0; k8){ + for(i=0; i declarative (set the value) + // stage==1 -> additive + // stage==2 -> multiplicitive + + // returns the entry number or -1 on eof + int decode(Buffer b){ + int ptr=0; + DecodeAux t=decode_tree; + int lok=b.look(t.tabn); + + if(lok>=0){ + ptr=t.tab[lok]; + b.adv(t.tabl[lok]); + if(ptr<=0){ + return -ptr; + } + } + do{ + switch(b.read1()){ + case 0: + ptr=t.ptr0[ptr]; + break; + case 1: + ptr=t.ptr1[ptr]; + break; + case -1: + default: + return (-1); + } + } + while(ptr>0); + return (-ptr); + } + + // returns the entry number or -1 on eof + int decodevs(float[] a, int index, Buffer b, int step, int addmul){ + int entry=decode(b); + if(entry==-1) + return (-1); + switch(addmul){ + case -1: + for(int i=0, o=0; i + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.StreamState; +import com.github.trilarion.jcraft.jogg.Packet; +import com.github.trilarion.jcraft.jogg.SyncState; +import com.github.trilarion.jcraft.jogg.Page; + +// Takes a vorbis bitstream from stdin and writes raw stereo PCM to +// stdout. Decodes simple and chained OggVorbis files from beginning +// to end. Vorbisfile.a is somewhat more complex than the code below. + +class DecodeExample{ + static int convsize=4096*2; + static byte[] convbuffer=new byte[convsize]; // take 8k out of the data segment, not the stack + + public static void main(String[] arg){ + java.io.InputStream input=System.in; + if(arg.length>0){ + try{ + input=new java.io.FileInputStream(arg[0]); + } + catch(Exception e){ + System.err.println(e); + } + } + + SyncState oy=new SyncState(); // sync and verify incoming physical bitstream + StreamState os=new StreamState(); // take physical pages, weld into a logical stream of packets + Page og=new Page(); // one Ogg bitstream page. Vorbis packets are inside + Packet op=new Packet(); // one raw packet of data for decode + + Info vi=new Info(); // struct that stores all the static vorbis bitstream settings + Comment vc=new Comment(); // struct that stores all the bitstream user comments + DspState vd=new DspState(); // central working state for the packet->PCM decoder + Block vb=new Block(vd); // local working space for packet->PCM decode + + byte[] buffer; + int bytes=0; + + // Decode setup + + oy.init(); // Now we can read pages + + while(true){ // we repeat if the bitstream is chained + int eos=0; + + // grab some data at the head of the stream. We want the first page + // (which is guaranteed to be small and only contain the Vorbis + // stream initial header) We need the first page to get the stream + // serialno. + + // submit a 4k block to libvorbis' Ogg layer + int index=oy.buffer(4096); + buffer=oy.data; + try{ + bytes=input.read(buffer, index, 4096); + } + catch(Exception e){ + System.err.println(e); + System.exit(-1); + } + oy.wrote(bytes); + + // Get the first page. + if(oy.pageout(og)!=1){ + // have we simply run out of data? If so, we're done. + if(bytes<4096) + break; + + // error case. Must not be Vorbis data + System.err.println("Input does not appear to be an Ogg bitstream."); + System.exit(1); + } + + // Get the serial number and set up the rest of decode. + // serialno first; use it to set up a logical stream + os.init(og.serialno()); + + // extract the initial header from the first page and verify that the + // Ogg bitstream is in fact Vorbis data + + // I handle the initial header first instead of just having the code + // read all three Vorbis headers at once because reading the initial + // header is an easy way to identify a Vorbis bitstream and it's + // useful to see that functionality seperated out. + + vi.init(); + vc.init(); + if(os.pagein(og)<0){ + // error; stream version mismatch perhaps + System.err.println("Error reading first page of Ogg bitstream data."); + System.exit(1); + } + + if(os.packetout(op)!=1){ + // no page? must not be vorbis + System.err.println("Error reading initial header packet."); + System.exit(1); + } + + if(vi.synthesis_headerin(vc, op)<0){ + // error case; not a vorbis header + System.err + .println("This Ogg bitstream does not contain Vorbis audio data."); + System.exit(1); + } + + // At this point, we're sure we're Vorbis. We've set up the logical + // (Ogg) bitstream decoder. Get the comment and codebook headers and + // set up the Vorbis decoder + + // The next two packets in order are the comment and codebook headers. + // They're likely large and may span multiple pages. Thus we reead + // and submit data until we get our two pacakets, watching that no + // pages are missing. If a page is missing, error out; losing a + // header page is the only place where missing data is fatal. */ + + int i=0; + while(i<2){ + while(i<2){ + + int result=oy.pageout(og); + if(result==0) + break; // Need more data + // Don't complain about missing or corrupt data yet. We'll + // catch it at the packet output phase + + if(result==1){ + os.pagein(og); // we can ignore any errors here + // as they'll also become apparent + // at packetout + while(i<2){ + result=os.packetout(op); + if(result==0) + break; + if(result==-1){ + // Uh oh; data at some point was corrupted or missing! + // We can't tolerate that in a header. Die. + System.err.println("Corrupt secondary header. Exiting."); + System.exit(1); + } + vi.synthesis_headerin(vc, op); + i++; + } + } + } + // no harm in not checking before adding more + index=oy.buffer(4096); + buffer=oy.data; + try{ + bytes=input.read(buffer, index, 4096); + } + catch(Exception e){ + System.err.println(e); + System.exit(1); + } + if(bytes==0&&i<2){ + System.err.println("End of file before finding all Vorbis headers!"); + System.exit(1); + } + oy.wrote(bytes); + } + + // Throw the comments plus a few lines about the bitstream we're + // decoding + { + byte[][] ptr=vc.user_comments; + for(int j=0; jPCM decoder. + vd.synthesis_init(vi); // central decode state + vb.init(vd); // local state for most of the decode + // so multiple block decodes can + // proceed in parallel. We could init + // multiple vorbis_block structures + // for vd here + + float[][][] _pcm=new float[1][][]; + int[] _index=new int[vi.channels]; + // The rest is just a straight decode loop until end of stream + while(eos==0){ + while(eos==0){ + + int result=oy.pageout(og); + if(result==0) + break; // need more data + if(result==-1){ // missing or corrupt data at this page position + System.err + .println("Corrupt or missing data in bitstream; continuing..."); + } + else{ + os.pagein(og); // can safely ignore errors at + // this point + while(true){ + result=os.packetout(op); + + if(result==0) + break; // need more data + if(result==-1){ // missing or corrupt data at this page position + // no reason to complain; already complained above + } + else{ + // we have a packet. Decode it + int samples; + if(vb.synthesis(op)==0){ // test for success! + vd.synthesis_blockin(vb); + } + + // **pcm is a multichannel float vector. In stereo, for + // example, pcm[0] is left, and pcm[1] is right. samples is + // the size of each channel. Convert the float values + // (-1.<=range<=1.) to whatever PCM format and write it out + + while((samples=vd.synthesis_pcmout(_pcm, _index))>0){ + float[][] pcm=_pcm[0]; + int bout=(samples32767){ + val=32767; + } + if(val<-32768){ + val=-32768; + } + if(val<0) + val=val|0x8000; + convbuffer[ptr]=(byte)(val); + convbuffer[ptr+1]=(byte)(val>>>8); + ptr+=2*(vi.channels); + } + } + + System.out.write(convbuffer, 0, 2*vi.channels*bout); + + // tell libvorbis how + // many samples we + // actually consumed + vd.synthesis_read(bout); + } + } + } + if(og.eos()!=0) + eos=1; + } + } + if(eos==0){ + index=oy.buffer(4096); + buffer=oy.data; + try{ + bytes=input.read(buffer, index, 4096); + } + catch(Exception e){ + System.err.println(e); + System.exit(1); + } + oy.wrote(bytes); + if(bytes==0) + eos=1; + } + } + + // clean up this logical bitstream; before exit we see if we're + // followed by another [chained] + + os.clear(); + + // ogg_page and ogg_packet structs always point to storage in + // libvorbis. They're never freed or manipulated directly + + vb.clear(); + vd.clear(); + vi.clear(); // must be called last + } + + // OK, clean up the framer + oy.clear(); + System.err.println("Done."); + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/Drft.java b/src/main/java/com/github/trilarion/jcraft/jorbis/Drft.java new file mode 100644 index 0000000..d616c80 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/Drft.java @@ -0,0 +1,1327 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +class Drft{ + int n; + float[] trigcache; + int[] splitcache; + + void backward(float[] data){ + if(n==1) + return; + drftb1(n, data, trigcache, trigcache, n, splitcache); + } + + void init(int n){ + this.n=n; + trigcache=new float[3*n]; + splitcache=new int[32]; + fdrffti(n, trigcache, splitcache); + } + + void clear(){ + if(trigcache!=null) + trigcache=null; + if(splitcache!=null) + splitcache=null; + } + + static int[] ntryh= {4, 2, 3, 5}; + static float tpi=6.28318530717958647692528676655900577f; + static float hsqt2=.70710678118654752440084436210485f; + static float taui=.86602540378443864676372317075293618f; + static float taur=-.5f; + static float sqrt2=1.4142135623730950488016887242097f; + + static void drfti1(int n, float[] wa, int index, int[] ifac){ + float arg, argh, argld, fi; + int ntry=0, i, j=-1; + int k1, l1, l2, ib; + int ld, ii, ip, is, nq, nr; + int ido, ipm, nfm1; + int nl=n; + int nf=0; + + int state=101; + + loop: while(true){ + switch(state){ + case 101: + j++; + if(j<4) + ntry=ntryh[j]; + else + ntry+=2; + case 104: + nq=nl/ntry; + nr=nl-ntry*nq; + if(nr!=0){ + state=101; + break; + } + nf++; + ifac[nf+1]=ntry; + nl=nq; + if(ntry!=2){ + state=107; + break; + } + if(nf==1){ + state=107; + break; + } + + for(i=1; i>1; + ipp2=ip; + idp2=ido; + nbd=(ido-1)>>1; + t0=l1*ido; + t10=ip*ido; + + int state=100; + loop: while(true){ + switch(state){ + case 101: + if(ido==1){ + state=119; + break; + } + for(ik=0; ikl1){ + for(j=1; j>>1; + ipp2=ip; + ipph=(ip+1)>>>1; + if(idol1){ + state=139; + break; + } + + is=-ido-1; + t1=0; + for(j=1; j + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +public class DspState{ + static final float M_PI=3.1415926539f; + static final int VI_TRANSFORMB=1; + static final int VI_WINDOWB=1; + + int analysisp; + Info vi; + int modebits; + + float[][] pcm; + int pcm_storage; + int pcm_current; + int pcm_returned; + + float[] multipliers; + int envelope_storage; + int envelope_current; + + int eofflag; + + int lW; + int W; + int nW; + int centerW; + + long granulepos; + long sequence; + + long glue_bits; + long time_bits; + long floor_bits; + long res_bits; + + // local lookup storage + float[][][][][] window; // block, leadin, leadout, type + Object[][] transform; + CodeBook[] fullbooks; + // backend lookups are tied to the mode, not the backend or naked mapping + Object[] mode; + + // local storage, only used on the encoding side. This way the + // application does not need to worry about freeing some packets' + // memory and not others'; packet storage is always tracked. + // Cleared next call to a _dsp_ function + byte[] header; + byte[] header1; + byte[] header2; + + public DspState(){ + transform=new Object[2][]; + window=new float[2][][][][]; + window[0]=new float[2][][][]; + window[0][0]=new float[2][][]; + window[0][1]=new float[2][][]; + window[0][0][0]=new float[2][]; + window[0][0][1]=new float[2][]; + window[0][1][0]=new float[2][]; + window[0][1][1]=new float[2][]; + window[1]=new float[2][][][]; + window[1][0]=new float[2][][]; + window[1][1]=new float[2][][]; + window[1][0][0]=new float[2][]; + window[1][0][1]=new float[2][]; + window[1][1][0]=new float[2][]; + window[1][1][1]=new float[2][]; + } + + static float[] window(int type, int window, int left, int right){ + float[] ret=new float[window]; + switch(type){ + case 0: + // The 'vorbis window' (window 0) is sin(sin(x)*sin(x)*2pi) + { + int leftbegin=window/4-left/2; + int rightbegin=window-window/4-right/2; + + for(int i=0; ivi.blocksizes[1]/2&&pcm_returned>8192){ + // don't shift too much; we need to have a minimum PCM buffer of + // 1/2 long block + + int shiftPCM=centerW-vi.blocksizes[1]/2; + shiftPCM=(pcm_returnedpcm_storage){ + // expand the storage + pcm_storage=endW+vi.blocksizes[1]; + for(int i=0; igranulepos. + // + // This is not foolproof! It will be confused if we begin + // decoding at the last page after a seek or hole. In that case, + // we don't have a starting point to judge where the last frame + // is. For this reason, vorbisfile will always try to make sure + // it reads the last two marked pages in proper sequence + + if(granulepos==-1){ + granulepos=vb.granulepos; + } + else{ + granulepos+=(_centerW-centerW); + if(vb.granulepos!=-1&&granulepos!=vb.granulepos){ + if(granulepos>vb.granulepos&&vb.eofflag!=0){ + // partial last frame. Strip the padding off + _centerW-=(granulepos-vb.granulepos); + }// else{ Shouldn't happen *unless* the bitstream is out of + // spec. Either way, believe the bitstream } + granulepos=vb.granulepos; + } + } + + // Update, cleanup + + centerW=_centerW; + pcm_current=endW; + if(vb.eofflag!=0) + eofflag=1; + } + return (0); + } + + // pcm==NULL indicates we just want the pending samples, no more + public int synthesis_pcmout(float[][][] _pcm, int[] index){ + if(pcm_returnedcenterW) + return (-1); + pcm_returned+=bytes; + return (0); + } + + public void clear(){ + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/Floor0.java b/src/main/java/com/github/trilarion/jcraft/jorbis/Floor0.java new file mode 100644 index 0000000..1ffb132 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/Floor0.java @@ -0,0 +1,335 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +class Floor0 extends FuncFloor{ + + void pack(Object i, Buffer opb){ + InfoFloor0 info=(InfoFloor0)i; + opb.write(info.order, 8); + opb.write(info.rate, 16); + opb.write(info.barkmap, 16); + opb.write(info.ampbits, 6); + opb.write(info.ampdB, 8); + opb.write(info.numbooks-1, 4); + for(int j=0; j=vi.books){ + return (null); + } + } + return (info); + } + + Object look(DspState vd, InfoMode mi, Object i){ + float scale; + Info vi=vd.vi; + InfoFloor0 info=(InfoFloor0)i; + LookFloor0 look=new LookFloor0(); + look.m=info.order; + look.n=vi.blocksizes[mi.blockflag]/2; + look.ln=info.barkmap; + look.vi=info; + look.lpclook.init(look.ln, look.m); + + // we choose a scaling constant so that: + scale=look.ln/toBARK((float)(info.rate/2.)); + + // the mapping from a linear scale to a smaller bark scale is + // straightforward. We do *not* make sure that the linear mapping + // does not skip bark-scale bins; the decoder simply skips them and + // the encoder may do what it wishes in filling them. They're + // necessary in some mapping combinations to keep the scale spacing + // accurate + look.linearmap=new int[look.n]; + for(int j=0; j=look.ln) + val=look.ln; // guard against the approximation + look.linearmap[j]=val; + } + return look; + } + + static float toBARK(float f){ + return (float)(13.1*Math.atan(.00074*(f))+2.24*Math.atan((f)*(f)*1.85e-8)+1e-4*(f)); + } + + Object state(Object i){ + EchstateFloor0 state=new EchstateFloor0(); + InfoFloor0 info=(InfoFloor0)i; + + // a safe size if usually too big (dim==1) + state.codewords=new int[info.order]; + state.curve=new float[info.barkmap]; + state.frameno=-1; + return (state); + } + + void free_info(Object i){ + } + + void free_look(Object i){ + } + + void free_state(Object vs){ + } + + int forward(Block vb, Object i, float[] in, float[] out, Object vs){ + return 0; + } + + float[] lsp=null; + + int inverse(Block vb, Object i, float[] out){ + //System.err.println("Floor0.inverse "+i.getClass()+"]"); + LookFloor0 look=(LookFloor0)i; + InfoFloor0 info=look.vi; + int ampraw=vb.opb.read(info.ampbits); + if(ampraw>0){ // also handles the -1 out of data case + int maxval=(1<0){ // also handles the -1 out of data case + int maxval=(1<m+1 must be less than l->ln, but guard in case we get a bad stream + float[] lcurve=new float[Math.max(l.ln*2, l.m*2+2)]; + + if(amp==0){ + for(int j=0; j + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +class Floor1 extends FuncFloor{ + static final int floor1_rangedb=140; + static final int VIF_POSIT=63; + + void pack(Object i, Buffer opb){ + InfoFloor1 info=(InfoFloor1)i; + + int count=0; + int rangebits; + int maxposit=info.postlist[1]; + int maxclass=-1; + + /* save out partitions */ + opb.write(info.partitions, 5); /* only 0 to 31 legal */ + for(int j=0; j=vi.books){ + info.free(); + return (null); + } + for(int k=0; k<(1<=vi.books){ + info.free(); + return (null); + } + } + } + + /* read the post list */ + info.mult=opb.read(2)+1; /* only 1,2,3,4 legal now */ + rangebits=opb.read(4); + + for(int j=0, k=0; j=(1<info.postlist[sortpointer[k]]){ + foo=sortpointer[k]; + sortpointer[k]=sortpointer[j]; + sortpointer[j]=foo; + } + } + } + + /* points from sort order back to range number */ + for(int j=0; j<_n; j++){ + look.forward_index[j]=sortpointer[j]; + } + /* points from range order to sorted position */ + for(int j=0; j<_n; j++){ + look.reverse_index[look.forward_index[j]]=j; + } + /* we actually need the post values too */ + for(int j=0; j<_n; j++){ + look.sorted_index[j]=info.postlist[look.forward_index[j]]; + } + + /* quantize values to multiplier spec */ + switch(info.mult){ + case 1: /* 1024 -> 256 */ + look.quant_q=256; + break; + case 2: /* 1024 -> 128 */ + look.quant_q=128; + break; + case 3: /* 1024 -> 86 */ + look.quant_q=86; + break; + case 4: /* 1024 -> 64 */ + look.quant_q=64; + break; + default: + look.quant_q=-1; + } + + /* discover our neighbors for decode where we don't use fit flags + (that would push the neighbors outward) */ + for(int j=0; j<_n-2; j++){ + int lo=0; + int hi=1; + int lx=0; + int hx=look.n; + int currentx=info.postlist[j+2]; + for(int k=0; klx&&xcurrentx){ + hi=k; + hx=x; + } + } + look.loneighbor[j]=lo; + look.hineighbor[j]=hi; + } + + return look; + } + + void free_info(Object i){ + } + + void free_look(Object i){ + } + + void free_state(Object vs){ + } + + int forward(Block vb, Object i, float[] in, float[] out, Object vs){ + return 0; + } + + Object inverse1(Block vb, Object ii, Object memo){ + LookFloor1 look=(LookFloor1)ii; + InfoFloor1 info=look.vi; + CodeBook[] books=vb.vd.fullbooks; + + /* unpack wrapped/predicted values from stream */ + if(vb.opb.read(1)==1){ + int[] fit_value=null; + if(memo instanceof int[]){ + fit_value=(int[])memo; + } + if(fit_value==null||fit_value.length>>=csubbits; + if(book>=0){ + if((fit_value[j+k]=books[book].decode(vb.opb))==-1){ + return (null); + } + } + else{ + fit_value[j+k]=0; + } + } + j+=cdim; + } + + /* unwrap positive values and reconsitute via linear interpolation */ + for(int i=2; i=room){ + if(hiroom>loroom){ + val=val-loroom; + } + else{ + val=-1-(val-hiroom); + } + } + else{ + if((val&1)!=0){ + val=-((val+1)>>>1); + } + else{ + val>>=1; + } + } + + fit_value[i]=val+predicted; + fit_value[look.loneighbor[i-2]]&=0x7fff; + fit_value[look.hineighbor[i-2]]&=0x7fff; + } + else{ + fit_value[i]=predicted|0x8000; + } + } + return (fit_value); + } + + return (null); + } + + private static int render_point(int x0, int x1, int y0, int y1, int x){ + y0&=0x7fff; /* mask off flag */ + y1&=0x7fff; + + { + int dy=y1-y0; + int adx=x1-x0; + int ady=Math.abs(dy); + int err=ady*(x-x0); + + int off=(int)(err/adx); + if(dy<0) + return (y0-off); + return (y0+off); + } + } + + int inverse2(Block vb, Object i, Object memo, float[] out){ + LookFloor1 look=(LookFloor1)i; + InfoFloor1 info=look.vi; + int n=vb.vd.vi.blocksizes[vb.mode]/2; + + if(memo!=null){ + /* render the lines */ + int[] fit_value=(int[])memo; + int hx=0; + int lx=0; + int ly=fit_value[0]*info.mult; + for(int j=1; j=adx){ + err-=adx; + y+=sy; + } + else{ + y+=base; + } + d[x]*=FLOOR_fromdB_LOOKUP[y]; + } + } + + class InfoFloor1{ + static final int VIF_POSIT=63; + static final int VIF_CLASS=16; + static final int VIF_PARTS=31; + + int partitions; /* 0 to 31 */ + int[] partitionclass=new int[VIF_PARTS]; /* 0 to 15 */ + + int[] class_dim=new int[VIF_CLASS]; /* 1 to 8 */ + int[] class_subs=new int[VIF_CLASS]; /* 0,1,2,3 (bits: 1< + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +abstract class FuncFloor{ + + public static FuncFloor[] floor_P= {new Floor0(), new Floor1()}; + + abstract void pack(Object i, Buffer opb); + + abstract Object unpack(Info vi, Buffer opb); + + abstract Object look(DspState vd, InfoMode mi, Object i); + + abstract void free_info(Object i); + + abstract void free_look(Object i); + + abstract void free_state(Object vs); + + abstract int forward(Block vb, Object i, float[] in, float[] out, Object vs); + + abstract Object inverse1(Block vb, Object i, Object memo); + + abstract int inverse2(Block vb, Object i, Object memo, float[] out); +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/FuncMapping.java b/src/main/java/com/github/trilarion/jcraft/jorbis/FuncMapping.java new file mode 100644 index 0000000..70b8214 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/FuncMapping.java @@ -0,0 +1,45 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +abstract class FuncMapping{ + public static FuncMapping[] mapping_P= {new Mapping0()}; + + abstract void pack(Info info, Object imap, Buffer buffer); + + abstract Object unpack(Info info, Buffer buffer); + + abstract Object look(DspState vd, InfoMode vm, Object m); + + abstract void free_info(Object imap); + + abstract void free_look(Object imap); + + abstract int inverse(Block vd, Object lm); +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/FuncResidue.java b/src/main/java/com/github/trilarion/jcraft/jorbis/FuncResidue.java new file mode 100644 index 0000000..d2e1702 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/FuncResidue.java @@ -0,0 +1,46 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +abstract class FuncResidue{ + public static FuncResidue[] residue_P= {new Residue0(), new Residue1(), + new Residue2()}; + + abstract void pack(Object vr, Buffer opb); + + abstract Object unpack(Info vi, Buffer opb); + + abstract Object look(DspState vd, InfoMode vm, Object vr); + + abstract void free_info(Object i); + + abstract void free_look(Object i); + + abstract int inverse(Block vb, Object vl, float[][] in, int[] nonzero, int ch); +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/FuncTime.java b/src/main/java/com/github/trilarion/jcraft/jorbis/FuncTime.java new file mode 100644 index 0000000..708e00d --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/FuncTime.java @@ -0,0 +1,45 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +abstract class FuncTime{ + public static FuncTime[] time_P= {new Time0()}; + + abstract void pack(Object i, Buffer opb); + + abstract Object unpack(Info vi, Buffer opb); + + abstract Object look(DspState vd, InfoMode vm, Object i); + + abstract void free_info(Object i); + + abstract void free_look(Object i); + + abstract int inverse(Block vb, Object i, float[] in, float[] out); +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/Info.java b/src/main/java/com/github/trilarion/jcraft/jorbis/Info.java new file mode 100644 index 0000000..7277820 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/Info.java @@ -0,0 +1,470 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; +import com.github.trilarion.jcraft.jogg.Packet; + +public class Info{ + private static final int OV_EBADPACKET=-136; + private static final int OV_ENOTAUDIO=-135; + + private static byte[] _vorbis="vorbis".getBytes(); + private static final int VI_TIMEB=1; + // private static final int VI_FLOORB=1; + private static final int VI_FLOORB=2; + // private static final int VI_RESB=1; + private static final int VI_RESB=3; + private static final int VI_MAPB=1; + private static final int VI_WINDOWB=1; + + public int version; + public int channels; + public int rate; + + // The below bitrate declarations are *hints*. + // Combinations of the three values carry the following implications: + // + // all three set to the same value: + // implies a fixed rate bitstream + // only nominal set: + // implies a VBR stream that averages the nominal bitrate. No hard + // upper/lower limit + // upper and or lower set: + // implies a VBR bitstream that obeys the bitrate limits. nominal + // may also be set to give a nominal rate. + // none set: + // the coder does not care to speculate. + + int bitrate_upper; + int bitrate_nominal; + int bitrate_lower; + + // Vorbis supports only short and long blocks, but allows the + // encoder to choose the sizes + + int[] blocksizes=new int[2]; + + // modes are the primary means of supporting on-the-fly different + // blocksizes, different channel mappings (LR or mid-side), + // different residue backends, etc. Each mode consists of a + // blocksize flag and a mapping (along with the mapping setup + + int modes; + int maps; + int times; + int floors; + int residues; + int books; + int psys; // encode only + + InfoMode[] mode_param=null; + + int[] map_type=null; + Object[] map_param=null; + + int[] time_type=null; + Object[] time_param=null; + + int[] floor_type=null; + Object[] floor_param=null; + + int[] residue_type=null; + Object[] residue_param=null; + + StaticCodeBook[] book_param=null; + + PsyInfo[] psy_param=new PsyInfo[64]; // encode only + + // for block long/sort tuning; encode only + int envelopesa; + float preecho_thresh; + float preecho_clamp; + + // used by synthesis, which has a full, alloced vi + public void init(){ + rate=0; + } + + public void clear(){ + for(int i=0; ibook_param)free(vi->book_param); + book_param=null; + + for(int i=0; i=VI_TIMEB){ + clear(); + return (-1); + } + time_param[i]=FuncTime.time_P[time_type[i]].unpack(this, opb); + if(time_param[i]==null){ + clear(); + return (-1); + } + } + + // floor backend settings + floors=opb.read(6)+1; + if(floor_type==null||floor_type.length!=floors) + floor_type=new int[floors]; + if(floor_param==null||floor_param.length!=floors) + floor_param=new Object[floors]; + + for(int i=0; i=VI_FLOORB){ + clear(); + return (-1); + } + + floor_param[i]=FuncFloor.floor_P[floor_type[i]].unpack(this, opb); + if(floor_param[i]==null){ + clear(); + return (-1); + } + } + + // residue backend settings + residues=opb.read(6)+1; + + if(residue_type==null||residue_type.length!=residues) + residue_type=new int[residues]; + + if(residue_param==null||residue_param.length!=residues) + residue_param=new Object[residues]; + + for(int i=0; i=VI_RESB){ + clear(); + return (-1); + } + residue_param[i]=FuncResidue.residue_P[residue_type[i]].unpack(this, opb); + if(residue_param[i]==null){ + clear(); + return (-1); + } + } + + // map backend settings + maps=opb.read(6)+1; + if(map_type==null||map_type.length!=maps) + map_type=new int[maps]; + if(map_param==null||map_param.length!=maps) + map_param=new Object[maps]; + for(int i=0; i=VI_MAPB){ + clear(); + return (-1); + } + map_param[i]=FuncMapping.mapping_P[map_type[i]].unpack(this, opb); + if(map_param[i]==null){ + clear(); + return (-1); + } + } + + // mode settings + modes=opb.read(6)+1; + if(mode_param==null||mode_param.length!=modes) + mode_param=new InfoMode[modes]; + for(int i=0; i=VI_WINDOWB) + ||(mode_param[i].transformtype>=VI_WINDOWB) + ||(mode_param[i].mapping>=maps)){ + clear(); + return (-1); + } + } + + if(opb.read(1)!=1){ + clear(); + return (-1); + } + + return (0); + } + + // The Vorbis header is in three packets; the initial small packet in + // the first page that identifies basic parameters, a second packet + // with bitstream comments and a third packet that holds the + // codebook. + + public int synthesis_headerin(Comment vc, Packet op){ + Buffer opb=new Buffer(); + + if(op!=null){ + opb.readinit(op.packet_base, op.packet, op.bytes); + + // Which of the three types of header is this? + // Also verify header-ness, vorbis + { + byte[] buffer=new byte[6]; + int packtype=opb.read(8); + opb.read(buffer, 6); + if(buffer[0]!='v'||buffer[1]!='o'||buffer[2]!='r'||buffer[3]!='b' + ||buffer[4]!='i'||buffer[5]!='s'){ + // not a vorbis header + return (-1); + } + switch(packtype){ + case 0x01: // least significant *bit* is read first + if(op.b_o_s==0){ + // Not the initial packet + return (-1); + } + if(rate!=0){ + // previously initialized info header + return (-1); + } + return (unpack_info(opb)); + case 0x03: // least significant *bit* is read first + if(rate==0){ + // um... we didn't get the initial header + return (-1); + } + return (vc.unpack(opb)); + case 0x05: // least significant *bit* is read first + if(rate==0||vc.vendor==null){ + // um... we didn;t get the initial header or comments yet + return (-1); + } + return (unpack_books(opb)); + default: + // Not a valid vorbis header type + //return(-1); + break; + } + } + } + return (-1); + } + + // pack side + int pack_info(Buffer opb){ + // preamble + opb.write(0x01, 8); + opb.write(_vorbis); + + // basic information about the stream + opb.write(0x00, 32); + opb.write(channels, 8); + opb.write(rate, 32); + + opb.write(bitrate_upper, 32); + opb.write(bitrate_nominal, 32); + opb.write(bitrate_lower, 32); + + opb.write(Util.ilog2(blocksizes[0]), 4); + opb.write(Util.ilog2(blocksizes[1]), 4); + opb.write(1, 1); + return (0); + } + + int pack_books(Buffer opb){ + opb.write(0x05, 8); + opb.write(_vorbis); + + // books + opb.write(books-1, 8); + for(int i=0; i1){ + modebits++; + v>>>=1; + } + + /* read our mode and pre/post windowsize */ + mode=opb.read(modebits); + } + if(mode==-1) + return (OV_EBADPACKET); + return (blocksizes[mode_param[mode].blockflag]); + } + + public String toString(){ + return "version:"+new Integer(version)+", channels:"+new Integer(channels) + +", rate:"+new Integer(rate)+", bitrate:"+new Integer(bitrate_upper) + +","+new Integer(bitrate_nominal)+","+new Integer(bitrate_lower); + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/InfoMode.java b/src/main/java/com/github/trilarion/jcraft/jorbis/InfoMode.java new file mode 100644 index 0000000..259ee15 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/InfoMode.java @@ -0,0 +1,34 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +class InfoMode{ + int blockflag; + int windowtype; + int transformtype; + int mapping; +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/JOrbisException.java b/src/main/java/com/github/trilarion/jcraft/jorbis/JOrbisException.java new file mode 100644 index 0000000..3982b6f --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/JOrbisException.java @@ -0,0 +1,40 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +public class JOrbisException extends Exception{ + + private static final long serialVersionUID=1L; + + public JOrbisException(){ + super(); + } + + public JOrbisException(String s){ + super("JOrbis: "+s); + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/Lookup.java b/src/main/java/com/github/trilarion/jcraft/jorbis/Lookup.java new file mode 100644 index 0000000..05d1025 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/Lookup.java @@ -0,0 +1,152 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +class Lookup{ + static final int COS_LOOKUP_SZ=128; + static final float[] COS_LOOKUP= {+1.0000000000000f, +0.9996988186962f, + +0.9987954562052f, +0.9972904566787f, +0.9951847266722f, + +0.9924795345987f, +0.9891765099648f, +0.9852776423889f, + +0.9807852804032f, +0.9757021300385f, +0.9700312531945f, + +0.9637760657954f, +0.9569403357322f, +0.9495281805930f, + +0.9415440651830f, +0.9329927988347f, +0.9238795325113f, + +0.9142097557035f, +0.9039892931234f, +0.8932243011955f, + +0.8819212643484f, +0.8700869911087f, +0.8577286100003f, + +0.8448535652497f, +0.8314696123025f, +0.8175848131516f, + +0.8032075314806f, +0.7883464276266f, +0.7730104533627f, + +0.7572088465065f, +0.7409511253550f, +0.7242470829515f, + +0.7071067811865f, +0.6895405447371f, +0.6715589548470f, + +0.6531728429538f, +0.6343932841636f, +0.6152315905806f, + +0.5956993044924f, +0.5758081914178f, +0.5555702330196f, + +0.5349976198871f, +0.5141027441932f, +0.4928981922298f, + +0.4713967368260f, +0.4496113296546f, +0.4275550934303f, + +0.4052413140050f, +0.3826834323651f, +0.3598950365350f, + +0.3368898533922f, +0.3136817403989f, +0.2902846772545f, + +0.2667127574749f, +0.2429801799033f, +0.2191012401569f, + +0.1950903220161f, +0.1709618887603f, +0.1467304744554f, + +0.1224106751992f, +0.0980171403296f, +0.0735645635997f, + +0.0490676743274f, +0.0245412285229f, +0.0000000000000f, + -0.0245412285229f, -0.0490676743274f, -0.0735645635997f, + -0.0980171403296f, -0.1224106751992f, -0.1467304744554f, + -0.1709618887603f, -0.1950903220161f, -0.2191012401569f, + -0.2429801799033f, -0.2667127574749f, -0.2902846772545f, + -0.3136817403989f, -0.3368898533922f, -0.3598950365350f, + -0.3826834323651f, -0.4052413140050f, -0.4275550934303f, + -0.4496113296546f, -0.4713967368260f, -0.4928981922298f, + -0.5141027441932f, -0.5349976198871f, -0.5555702330196f, + -0.5758081914178f, -0.5956993044924f, -0.6152315905806f, + -0.6343932841636f, -0.6531728429538f, -0.6715589548470f, + -0.6895405447371f, -0.7071067811865f, -0.7242470829515f, + -0.7409511253550f, -0.7572088465065f, -0.7730104533627f, + -0.7883464276266f, -0.8032075314806f, -0.8175848131516f, + -0.8314696123025f, -0.8448535652497f, -0.8577286100003f, + -0.8700869911087f, -0.8819212643484f, -0.8932243011955f, + -0.9039892931234f, -0.9142097557035f, -0.9238795325113f, + -0.9329927988347f, -0.9415440651830f, -0.9495281805930f, + -0.9569403357322f, -0.9637760657954f, -0.9700312531945f, + -0.9757021300385f, -0.9807852804032f, -0.9852776423889f, + -0.9891765099648f, -0.9924795345987f, -0.9951847266722f, + -0.9972904566787f, -0.9987954562052f, -0.9996988186962f, + -1.0000000000000f,}; + + /* interpolated lookup based cos function, domain 0 to PI only */ + static float coslook(float a){ + double d=a*(.31830989*(float)COS_LOOKUP_SZ); + int i=(int)d; + return COS_LOOKUP[i]+((float)(d-i))*(COS_LOOKUP[i+1]-COS_LOOKUP[i]); + } + + static final int INVSQ_LOOKUP_SZ=32; + static final float[] INVSQ_LOOKUP= {1.414213562373f, 1.392621247646f, + 1.371988681140f, 1.352246807566f, 1.333333333333f, 1.315191898443f, + 1.297771369046f, 1.281025230441f, 1.264911064067f, 1.249390095109f, + 1.234426799697f, 1.219988562661f, 1.206045378311f, 1.192569588000f, + 1.179535649239f, 1.166919931983f, 1.154700538379f, 1.142857142857f, + 1.131370849898f, 1.120224067222f, 1.109400392450f, 1.098884511590f, + 1.088662107904f, 1.078719779941f, 1.069044967650f, 1.059625885652f, + 1.050451462878f, 1.041511287847f, 1.032795558989f, 1.024295039463f, + 1.016001016002f, 1.007905261358f, 1.000000000000f,}; + + /* interpolated 1./sqrt(p) where .5 <= p < 1. */ + static float invsqlook(float a){ + double d=a*(2.f*(float)INVSQ_LOOKUP_SZ)-(float)INVSQ_LOOKUP_SZ; + int i=(int)d; + return INVSQ_LOOKUP[i]+((float)(d-i))*(INVSQ_LOOKUP[i+1]-INVSQ_LOOKUP[i]); + } + + static final int INVSQ2EXP_LOOKUP_MIN=-32; + static final int INVSQ2EXP_LOOKUP_MAX=32; + static final float[] INVSQ2EXP_LOOKUP= {65536.f, 46340.95001f, 32768.f, + 23170.47501f, 16384.f, 11585.2375f, 8192.f, 5792.618751f, 4096.f, + 2896.309376f, 2048.f, 1448.154688f, 1024.f, 724.0773439f, 512.f, + 362.038672f, 256.f, 181.019336f, 128.f, 90.50966799f, 64.f, 45.254834f, + 32.f, 22.627417f, 16.f, 11.3137085f, 8.f, 5.656854249f, 4.f, + 2.828427125f, 2.f, 1.414213562f, 1.f, 0.7071067812f, 0.5f, 0.3535533906f, + 0.25f, 0.1767766953f, 0.125f, 0.08838834765f, 0.0625f, 0.04419417382f, + 0.03125f, 0.02209708691f, 0.015625f, 0.01104854346f, 0.0078125f, + 0.005524271728f, 0.00390625f, 0.002762135864f, 0.001953125f, + 0.001381067932f, 0.0009765625f, 0.000690533966f, 0.00048828125f, + 0.000345266983f, 0.000244140625f, 0.0001726334915f, 0.0001220703125f, + 8.631674575e-05f, 6.103515625e-05f, 4.315837288e-05f, 3.051757812e-05f, + 2.157918644e-05f, 1.525878906e-05f,}; + + /* interpolated 1./sqrt(p) where .5 <= p < 1. */ + static float invsq2explook(int a){ + return INVSQ2EXP_LOOKUP[a-INVSQ2EXP_LOOKUP_MIN]; + } + + static final int FROMdB_LOOKUP_SZ=35; + static final int FROMdB2_LOOKUP_SZ=32; + static final int FROMdB_SHIFT=5; + static final int FROMdB2_SHIFT=3; + static final int FROMdB2_MASK=31; + static final float[] FROMdB_LOOKUP= {1.f, 0.6309573445f, 0.3981071706f, + 0.2511886432f, 0.1584893192f, 0.1f, 0.06309573445f, 0.03981071706f, + 0.02511886432f, 0.01584893192f, 0.01f, 0.006309573445f, 0.003981071706f, + 0.002511886432f, 0.001584893192f, 0.001f, 0.0006309573445f, + 0.0003981071706f, 0.0002511886432f, 0.0001584893192f, 0.0001f, + 6.309573445e-05f, 3.981071706e-05f, 2.511886432e-05f, 1.584893192e-05f, + 1e-05f, 6.309573445e-06f, 3.981071706e-06f, 2.511886432e-06f, + 1.584893192e-06f, 1e-06f, 6.309573445e-07f, 3.981071706e-07f, + 2.511886432e-07f, 1.584893192e-07f,}; + static final float[] FROMdB2_LOOKUP= {0.9928302478f, 0.9786445908f, + 0.9646616199f, 0.9508784391f, 0.9372921937f, 0.92390007f, 0.9106992942f, + 0.8976871324f, 0.8848608897f, 0.8722179097f, 0.8597555737f, + 0.8474713009f, 0.835362547f, 0.8234268041f, 0.8116616003f, 0.8000644989f, + 0.7886330981f, 0.7773650302f, 0.7662579617f, 0.755309592f, 0.7445176537f, + 0.7338799116f, 0.7233941627f, 0.7130582353f, 0.7028699885f, + 0.6928273125f, 0.6829281272f, 0.6731703824f, 0.6635520573f, + 0.6540711597f, 0.6447257262f, 0.6355138211f,}; + + /* interpolated lookup based fromdB function, domain -140dB to 0dB only */ + static float fromdBlook(float a){ + int i=(int)(a*((float)(-(1<=(FROMdB_LOOKUP_SZ<>>FROMdB_SHIFT]*FROMdB2_LOOKUP[i&FROMdB2_MASK]); + } + +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/Lpc.java b/src/main/java/com/github/trilarion/jcraft/jorbis/Lpc.java new file mode 100644 index 0000000..204d4bb --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/Lpc.java @@ -0,0 +1,188 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +class Lpc{ + // en/decode lookups + Drft fft=new Drft();; + + int ln; + int m; + + // Autocorrelation LPC coeff generation algorithm invented by + // N. Levinson in 1947, modified by J. Durbin in 1959. + + // Input : n elements of time doamin data + // Output: m lpc coefficients, excitation energy + + static float lpc_from_data(float[] data, float[] lpc, int n, int m){ + float[] aut=new float[m+1]; + float error; + int i, j; + + // autocorrelation, p+1 lag coefficients + + j=m+1; + while(j--!=0){ + float d=0; + for(i=j; i + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +/* + function: LSP (also called LSF) conversion routines + + The LSP generation code is taken (with minimal modification) from + "On the Computation of the LSP Frequencies" by Joseph Rothweiler + , available at: + + http://www2.xtdl.com/~rothwlr/lsfpaper/lsfpage.html + ********************************************************************/ + +class Lsp{ + + static final float M_PI=(float)(3.1415926539); + + static void lsp_to_curve(float[] curve, int[] map, int n, int ln, + float[] lsp, int m, float amp, float ampoffset){ + int i; + float wdel=M_PI/ln; + for(i=0; i=0x7f800000||(ix==0)){ + // 0,inf,nan + } + else{ + if(ix<0x00800000){ // subnormal + q*=3.3554432000e+07; // 0x4c000000 + hx=Float.floatToIntBits(q); + ix=0x7fffffff&hx; + qexp=-25; + } + qexp+=((ix>>>23)-126); + hx=(hx&0x807fffff)|0x3f000000; + q=Float.intBitsToFloat(hx); + } + + q=Lookup.fromdBlook(amp*Lookup.invsqlook(q)*Lookup.invsq2explook(qexp+m) + -ampoffset); + + do{ + curve[i++]*=q; + } + while(i + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +class Mapping0 extends FuncMapping{ + static int seq=0; + + void free_info(Object imap){ + }; + + void free_look(Object imap){ + } + + Object look(DspState vd, InfoMode vm, Object m){ + //System.err.println("Mapping0.look"); + Info vi=vd.vi; + LookMapping0 look=new LookMapping0(); + InfoMapping0 info=look.map=(InfoMapping0)m; + look.mode=vm; + + look.time_look=new Object[info.submaps]; + look.floor_look=new Object[info.submaps]; + look.residue_look=new Object[info.submaps]; + + look.time_func=new FuncTime[info.submaps]; + look.floor_func=new FuncFloor[info.submaps]; + look.residue_func=new FuncResidue[info.submaps]; + + for(int i=0; i1){ + opb.write(1, 1); + opb.write(info.submaps-1, 4); + } + else{ + opb.write(0, 1); + } + + if(info.coupling_steps>0){ + opb.write(1, 1); + opb.write(info.coupling_steps-1, 8); + for(int i=0; i1){ + for(int i=0; i=vi.channels + ||testA>=vi.channels){ + //goto err_out; + info.free(); + return (null); + } + } + } + + if(opb.read(2)>0){ /* 2,3:reserved */ + info.free(); + return (null); + } + + if(info.submaps>1){ + for(int i=0; i=info.submaps){ + info.free(); + return (null); + } + } + } + + for(int i=0; i=vi.times){ + info.free(); + return (null); + } + info.floorsubmap[i]=opb.read(8); + if(info.floorsubmap[i]>=vi.floors){ + info.free(); + return (null); + } + info.residuesubmap[i]=opb.read(8); + if(info.residuesubmap[i]>=vi.residues){ + info.free(); + return (null); + } + } + return info; + } + + float[][] pcmbundle=null; + int[] zerobundle=null; + int[] nonzero=null; + Object[] floormemo=null; + + synchronized int inverse(Block vb, Object l){ + DspState vd=vb.vd; + Info vi=vd.vi; + LookMapping0 look=(LookMapping0)l; + InfoMapping0 info=look.map; + InfoMode mode=look.mode; + int n=vb.pcmend=vi.blocksizes[vb.W]; + + float[] window=vd.window[vb.W][vb.lW][vb.nW][mode.windowtype]; + if(pcmbundle==null||pcmbundle.length=0; i--){ + float[] pcmM=vb.pcm[info.coupling_mag[i]]; + float[] pcmA=vb.pcm[info.coupling_ang[i]]; + + for(int j=0; j0){ + if(ang>0){ + pcmM[j]=mag; + pcmA[j]=mag-ang; + } + else{ + pcmA[j]=mag; + pcmM[j]=mag+ang; + } + } + else{ + if(ang>0){ + pcmM[j]=mag; + pcmA[j]=mag+ang; + } + else{ + pcmA[j]=mag; + pcmM[j]=mag-ang; + } + } + } + } + + // /* compute and apply spectral envelope */ + + for(int i=0; i + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +class Mdct{ + + int n; + int log2n; + + float[] trig; + int[] bitrev; + + float scale; + + void init(int n){ + bitrev=new int[n/4]; + trig=new float[n+n/4]; + + log2n=(int)Math.rint(Math.log(n)/Math.log(2)); + this.n=n; + + int AE=0; + int AO=1; + int BE=AE+n/2; + int BO=BE+1; + int CE=BE+n/2; + int CO=CE+1; + // trig lookups... + for(int i=0; i>>j!=0; j++) + if(((msb>>>j)&i)!=0) + acc|=1<>>1; + int n4=n>>>2; + int n8=n>>>3; + + // rotate + step 1 + { + int inO=1; + int xO=0; + int A=n2; + + int i; + for(i=0; i>>(i+2); + int k1=1<<(i+3); + int wbase=n2-2; + + A=0; + float[] temp; + + for(int r=0; r<(k0>>>2); r++){ + int w1=wbase; + w2=w1-(k0>>1); + float AEv=trig[A], wA; + float AOv=trig[A+1], wB; + wbase-=2; + + k0++; + for(int s=0; s<(2< + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +// psychoacoustic setup +class PsyInfo{ + int athp; + int decayp; + int smoothp; + int noisefitp; + int noisefit_subblock; + float noisefit_threshdB; + + float ath_att; + + int tonemaskp; + float[] toneatt_125Hz=new float[5]; + float[] toneatt_250Hz=new float[5]; + float[] toneatt_500Hz=new float[5]; + float[] toneatt_1000Hz=new float[5]; + float[] toneatt_2000Hz=new float[5]; + float[] toneatt_4000Hz=new float[5]; + float[] toneatt_8000Hz=new float[5]; + + int peakattp; + float[] peakatt_125Hz=new float[5]; + float[] peakatt_250Hz=new float[5]; + float[] peakatt_500Hz=new float[5]; + float[] peakatt_1000Hz=new float[5]; + float[] peakatt_2000Hz=new float[5]; + float[] peakatt_4000Hz=new float[5]; + float[] peakatt_8000Hz=new float[5]; + + int noisemaskp; + float[] noiseatt_125Hz=new float[5]; + float[] noiseatt_250Hz=new float[5]; + float[] noiseatt_500Hz=new float[5]; + float[] noiseatt_1000Hz=new float[5]; + float[] noiseatt_2000Hz=new float[5]; + float[] noiseatt_4000Hz=new float[5]; + float[] noiseatt_8000Hz=new float[5]; + + float max_curve_dB; + + float attack_coeff; + float decay_coeff; + + void free(){ + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/PsyLook.java b/src/main/java/com/github/trilarion/jcraft/jorbis/PsyLook.java new file mode 100644 index 0000000..02555b4 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/PsyLook.java @@ -0,0 +1,42 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +class PsyLook{ + int n; + PsyInfo vi; + + float[][][] tonecurves; + float[][] peakatt; + float[][][] noisecurves; + + float[] ath; + int[] octave; + + void init(PsyInfo vi, int n, int rate){ + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/Residue0.java b/src/main/java/com/github/trilarion/jcraft/jorbis/Residue0.java new file mode 100644 index 0000000..5e46dbf --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/Residue0.java @@ -0,0 +1,330 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +class Residue0 extends FuncResidue{ + void pack(Object vr, Buffer opb){ + InfoResidue0 info=(InfoResidue0)vr; + int acc=0; + opb.write(info.begin, 24); + opb.write(info.end, 24); + + opb.write(info.grouping-1, 24); /* residue vectors to group and + code with a partitioned book */ + opb.write(info.partitions-1, 6); /* possible partition choices */ + opb.write(info.groupbook, 8); /* group huffman book */ + + /* secondstages is a bitmask; as encoding progresses pass by pass, a + bitmask of one indicates this partition class has bits to write + this pass */ + for(int j=0; j3){ + /* yes, this is a minor hack due to not thinking ahead */ + opb.write(i, 3); + opb.write(1, 1); + opb.write(i>>>3, 5); + } + else{ + opb.write(i, 4); /* trailing zero */ + } + acc+=Util.icount(i); + } + for(int j=0; j=vi.books){ + free_info(info); + return (null); + } + + for(int j=0; j=vi.books){ + free_info(info); + return (null); + } + } + return (info); + } + + Object look(DspState vd, InfoMode vm, Object vr){ + InfoResidue0 info=(InfoResidue0)vr; + LookResidue0 look=new LookResidue0(); + int acc=0; + int dim; + int maxstage=0; + look.info=info; + look.map=vm.mapping; + + look.parts=info.partitions; + look.fullbooks=vd.fullbooks; + look.phrasebook=vd.fullbooks[info.groupbook]; + + dim=look.phrasebook.dim; + + look.partbooks=new int[look.parts][]; + + for(int j=0; jmaxstage) + maxstage=stages; + look.partbooks[j]=new int[stages]; + for(int k=0; k + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +class Residue1 extends Residue0{ + + int inverse(Block vb, Object vl, float[][] in, int[] nonzero, int ch){ + int used=0; + for(int i=0; i + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +class Residue2 extends Residue0{ + + int inverse(Block vb, Object vl, float[][] in, int[] nonzero, int ch){ + int i=0; + for(i=0; i + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +class StaticCodeBook{ + int dim; // codebook dimensions (elements per vector) + int entries; // codebook entries + int[] lengthlist; // codeword lengths in bits + + // mapping + int maptype; // 0=none + // 1=implicitly populated values from map column + // 2=listed arbitrary values + + // The below does a linear, single monotonic sequence mapping. + int q_min; // packed 32 bit float; quant value 0 maps to minval + int q_delta; // packed 32 bit float; val 1 - val 0 == delta + int q_quant; // bits: 0 < quant <= 16 + int q_sequencep; // bitflag + + // additional information for log (dB) mapping; the linear mapping + // is assumed to actually be values in dB. encodebias is used to + // assign an error weight to 0 dB. We have two additional flags: + // zeroflag indicates if entry zero is to represent -Inf dB; negflag + // indicates if we're to represent negative linear values in a + // mirror of the positive mapping. + + int[] quantlist; // map == 1: (int)(entries/dim) element column map + // map == 2: list of dim*entries quantized entry vals + + StaticCodeBook(){ + } + + int pack(Buffer opb){ + int i; + boolean ordered=false; + + opb.write(0x564342, 24); + opb.write(dim, 16); + opb.write(entries, 24); + + // pack the codewords. There are two packings; length ordered and + // length random. Decide between the two now. + + for(i=1; i_last){ + for(int j=_last; j<_this; j++){ + opb.write(i-count, Util.ilog(entries-count)); + count=i; + } + } + } + opb.write(i-count, Util.ilog(entries-count)); + } + else{ + // length random. Again, we don't code the codeword itself, just + // the length. This time, though, we have to encode each length + opb.write(0, 1); // unordered + + // algortihmic mapping has use for 'unused entries', which we tag + // here. The algorithmic mapping happens as usual, but the unused + // entry has no codeword. + for(i=0; ientries/c->dim) quantized values for + // building a full value list algorithmically (square lattice) + quantvals=maptype1_quantvals(); + break; + case 2: + // every value (c->entries*c->dim total) specified explicitly + quantvals=entries*dim; + break; + } + + // quantized values + for(i=0; ibim <= b->entries + // treat the above as an initial guess + while(true){ + int acc=1; + int acc1=1; + for(int i=0; ientries){ + return (vals); + } + else{ + if(acc>entries){ + vals--; + } + else{ + vals++; + } + } + } + } + + void clear(){ + } + + // unpack the quantized list of values for encode/decode + // we need to deal with two map types: in map type 1, the values are + // generated algorithmically (each column of the vector counts through + // the values in the quant vector). in map type 2, all the values came + // in in an explicit list. Both value lists must be unpacked + float[] unquantize(){ + + if(maptype==1||maptype==2){ + int quantvals; + float mindel=float32_unpack(q_min); + float delta=float32_unpack(q_delta); + float[] r=new float[entries*dim]; + + // maptype 1 and 2 both use a quantized value vector, but + // different sizes + switch(maptype){ + case 1: + // most of the time, entries%dimensions == 0, but we need to be + // well defined. We define that the possible vales at each + // scalar is values == entries/dim. If entries%dim != 0, we'll + // have 'too few' values (values*dim "+val+" | ");} + val=Math.abs(val)*delta+mindel+last; + if(q_sequencep!=0) + last=val; + r[j*dim+k]=val; + //if((j*dim+k)==0){System.err.println(" $ r[0] -> "+r[0]+" | ");} + } + } + //System.err.println("\nr[0]="+r[0]); + } + return (r); + } + return (null); + } + + // 32 bit float (not IEEE; nonnormalized mantissa + + // biased exponent) : neeeeeee eeemmmmm mmmmmmmm mmmmmmmm + // Why not IEEE? It's just not that important here. + + static final int VQ_FEXP=10; + static final int VQ_FMAN=21; + static final int VQ_FEXP_BIAS=768; // bias toward values smaller than 1. + + // doesn't currently guard under/overflow + static long float32_pack(float val){ + int sign=0; + int exp; + int mant; + if(val<0){ + sign=0x80000000; + val=-val; + } + exp=(int)Math.floor(Math.log(val)/Math.log(2)); + mant=(int)Math.rint(Math.pow(val, (VQ_FMAN-1)-exp)); + exp=(exp+VQ_FEXP_BIAS)<>>VQ_FMAN; + if((val&0x80000000)!=0) + mant=-mant; + return (ldexp(mant, ((int)exp)-(VQ_FMAN-1)-VQ_FEXP_BIAS)); + } + + static float ldexp(float foo, int e){ + return (float)(foo*Math.pow(2, e)); + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/Time0.java b/src/main/java/com/github/trilarion/jcraft/jorbis/Time0.java new file mode 100644 index 0000000..f7c8f97 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/Time0.java @@ -0,0 +1,52 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.Buffer; + +class Time0 extends FuncTime{ + void pack(Object i, Buffer opb){ + } + + Object unpack(Info vi, Buffer opb){ + return ""; + } + + Object look(DspState vd, InfoMode mi, Object i){ + return ""; + } + + void free_info(Object i){ + } + + void free_look(Object i){ + } + + int inverse(Block vb, Object i, float[] in, float[] out){ + return 0; + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/Util.java b/src/main/java/com/github/trilarion/jcraft/jorbis/Util.java new file mode 100644 index 0000000..853ad63 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/Util.java @@ -0,0 +1,30 @@ +package com.github.trilarion.jcraft.jorbis; + +class Util{ + static int ilog(int v){ + int ret=0; + while(v!=0){ + ret++; + v>>>=1; + } + return (ret); + } + + static int ilog2(int v){ + int ret=0; + while(v>1){ + ret++; + v>>>=1; + } + return (ret); + } + + static int icount(int v){ + int ret=0; + while(v!=0){ + ret+=(v&1); + v>>>=1; + } + return (ret); + } +} diff --git a/src/main/java/com/github/trilarion/jcraft/jorbis/VorbisFile.java b/src/main/java/com/github/trilarion/jcraft/jorbis/VorbisFile.java new file mode 100644 index 0000000..16c5372 --- /dev/null +++ b/src/main/java/com/github/trilarion/jcraft/jorbis/VorbisFile.java @@ -0,0 +1,1400 @@ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */ +/* JOrbis + * Copyright (C) 2000 ymnk, JCraft,Inc. + * + * Written by: 2000 ymnk + * + * Many thanks to + * Monty and + * The XIPHOPHORUS Company http://www.xiph.org/ . + * JOrbis has been based on their awesome works, Vorbis codec. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +package com.github.trilarion.jcraft.jorbis; + +import com.github.trilarion.jcraft.jogg.StreamState; +import com.github.trilarion.jcraft.jogg.Packet; +import com.github.trilarion.jcraft.jogg.SyncState; +import com.github.trilarion.jcraft.jogg.Page; + +import java.io.InputStream; +import java.io.IOException; + +public class VorbisFile{ + static final int CHUNKSIZE=8500; + static final int SEEK_SET=0; + static final int SEEK_CUR=1; + static final int SEEK_END=2; + + static final int OV_FALSE=-1; + static final int OV_EOF=-2; + static final int OV_HOLE=-3; + + static final int OV_EREAD=-128; + static final int OV_EFAULT=-129; + static final int OV_EIMPL=-130; + static final int OV_EINVAL=-131; + static final int OV_ENOTVORBIS=-132; + static final int OV_EBADHEADER=-133; + static final int OV_EVERSION=-134; + static final int OV_ENOTAUDIO=-135; + static final int OV_EBADPACKET=-136; + static final int OV_EBADLINK=-137; + static final int OV_ENOSEEK=-138; + + InputStream datasource; + boolean seekable=false; + long offset; + long end; + + SyncState oy=new SyncState(); + + int links; + long[] offsets; + long[] dataoffsets; + int[] serialnos; + long[] pcmlengths; + Info[] vi; + Comment[] vc; + + // Decoding working state local storage + long pcm_offset; + boolean decode_ready=false; + + int current_serialno; + int current_link; + + float bittrack; + float samptrack; + + StreamState os=new StreamState(); // take physical pages, weld into a logical + // stream of packets + DspState vd=new DspState(); // central working state for + // the packet->PCM decoder + Block vb=new Block(vd); // local working space for packet->PCM decode + + //ov_callbacks callbacks; + + public VorbisFile(String file) throws JOrbisException{ + super(); + InputStream is=null; + try{ + is=new SeekableInputStream(file); + int ret=open(is, null, 0); + if(ret==-1){ + throw new JOrbisException("VorbisFile: open return -1"); + } + } + catch(Exception e){ + throw new JOrbisException("VorbisFile: "+e.toString()); + } + finally{ + if(is!=null){ + try{ + is.close(); + } + catch(IOException e){ + e.printStackTrace(); + } + } + } + } + + public VorbisFile(InputStream is, byte[] initial, int ibytes) + throws JOrbisException{ + super(); + int ret=open(is, initial, ibytes); + if(ret==-1){ + } + } + + private int get_data(){ + int index=oy.buffer(CHUNKSIZE); + byte[] buffer=oy.data; + int bytes=0; + try{ + bytes=datasource.read(buffer, index, CHUNKSIZE); + } + catch(Exception e){ + return OV_EREAD; + } + oy.wrote(bytes); + if(bytes==-1){ + bytes=0; + } + return bytes; + } + + private void seek_helper(long offst){ + fseek(datasource, offst, SEEK_SET); + this.offset=offst; + oy.reset(); + } + + private int get_next_page(Page page, long boundary){ + if(boundary>0) + boundary+=offset; + while(true){ + int more; + if(boundary>0&&offset>=boundary) + return OV_FALSE; + more=oy.pageseek(page); + if(more<0){ + offset-=more; + } + else{ + if(more==0){ + if(boundary==0) + return OV_FALSE; + int ret=get_data(); + if(ret==0) + return OV_EOF; + if(ret<0) + return OV_EREAD; + } + else{ + int ret=(int)offset; //!!! + offset+=more; + return ret; + } + } + } + } + + private int get_prev_page(Page page) throws JOrbisException{ + long begin=offset; //!!! + int ret; + int offst=-1; + while(offst==-1){ + begin-=CHUNKSIZE; + if(begin<0) + begin=0; + seek_helper(begin); + while(offset=0) + next=ret; + } + else{ + searched=ret+page.header_len+page.body_len; + } + } + seek_helper(next); + ret=get_next_page(page, -1); + if(ret==OV_EREAD) + return OV_EREAD; + + if(searched>=end||ret==-1){ + links=m+1; + offsets=new long[m+2]; + offsets[m+1]=searched; + } + else{ + ret=bisect_forward_serialno(next, offset, end, page.serialno(), m+1); + if(ret==OV_EREAD) + return OV_EREAD; + } + offsets[m]=begin; + return 0; + } + + // uses the local ogg_stream storage in vf; this is important for + // non-streaming input sources + int fetch_headers(Info vi, Comment vc, int[] serialno, Page og_ptr){ + Page og=new Page(); + Packet op=new Packet(); + int ret; + + if(og_ptr==null){ + ret=get_next_page(og, CHUNKSIZE); + if(ret==OV_EREAD) + return OV_EREAD; + if(ret<0) + return OV_ENOTVORBIS; + og_ptr=og; + } + + if(serialno!=null) + serialno[0]=og_ptr.serialno(); + + os.init(og_ptr.serialno()); + + // extract the initial header from the first page and verify that the + // Ogg bitstream is in fact Vorbis data + + vi.init(); + vc.init(); + + int i=0; + while(i<3){ + os.pagein(og_ptr); + while(i<3){ + int result=os.packetout(op); + if(result==0) + break; + if(result==-1){ + vi.clear(); + vc.clear(); + os.clear(); + return -1; + } + if(vi.synthesis_headerin(vc, op)!=0){ + vi.clear(); + vc.clear(); + os.clear(); + return -1; + } + i++; + } + if(i<3) + if(get_next_page(og_ptr, 1)<0){ + vi.clear(); + vc.clear(); + os.clear(); + return -1; + } + } + return 0; + } + + // last step of the OggVorbis_File initialization; get all the + // vorbis_info structs and PCM positions. Only called by the seekable + // initialization (local stream storage is hacked slightly; pay + // attention to how that's done) + void prefetch_all_headers(Info first_i, Comment first_c, int dataoffset) + throws JOrbisException{ + Page og=new Page(); + int ret; + + vi=new Info[links]; + vc=new Comment[links]; + dataoffsets=new long[links]; + pcmlengths=new long[links]; + serialnos=new int[links]; + + for(int i=0; i0){ + // got a packet. process it + granulepos=op.granulepos; + if(vb.synthesis(op)==0){ // lazy check for lazy + // header handling. The + // header packets aren't + // audio, so if/when we + // submit them, + // vorbis_synthesis will + // reject them + // suck in the synthesis data and track bitrate + { + int oldsamples=vd.synthesis_pcmout(null, null); + vd.synthesis_blockin(vb); + samptrack+=vd.synthesis_pcmout(null, null)-oldsamples; + bittrack+=op.bytes*8; + } + + // update the pcm offset. + if(granulepos!=-1&&op.e_o_s==0){ + int link=(seekable ? current_link : 0); + int samples; + // this packet has a pcm_offset on it (the last packet + // completed on a page carries the offset) After processing + // (above), we know the pcm position of the *last* sample + // ready to be returned. Find the offset of the *first* + // + // As an aside, this trick is inaccurate if we begin + // reading anew right at the last page; the end-of-stream + // granulepos declares the last frame in the stream, and the + // last packet of the last page may be a partial frame. + // So, we need a previous granulepos from an in-sequence page + // to have a reference point. Thus the !op.e_o_s clause above + + samples=vd.synthesis_pcmout(null, null); + granulepos-=samples; + for(int i=0; i=links) + return (-1); + if(!seekable&&i!=0) + return (bitrate(0)); + if(i<0){ + long bits=0; + for(int j=0; j0){ + return vi[i].bitrate_nominal; + } + else{ + if(vi[i].bitrate_upper>0){ + if(vi[i].bitrate_lower>0){ + return (vi[i].bitrate_upper+vi[i].bitrate_lower)/2; + } + else{ + return vi[i].bitrate_upper; + } + } + return (-1); + } + } + } + } + + // returns the actual bitrate since last call. returns -1 if no + // additional data to offer since last call (or at beginning of stream) + public int bitrate_instant(){ + int _link=(seekable ? current_link : 0); + if(samptrack==0) + return (-1); + int ret=(int)(bittrack/samptrack*vi[_link].rate+.5); + bittrack=0.f; + samptrack=0.f; + return (ret); + } + + public int serialnumber(int i){ + if(i>=links) + return (-1); + if(!seekable&&i>=0) + return (serialnumber(-1)); + if(i<0){ + return (current_serialno); + } + else{ + return (serialnos[i]); + } + } + + // returns: total raw (compressed) length of content if i==-1 + // raw (compressed) length of that logical bitstream for i==0 to n + // -1 if the stream is not seekable (we can't know the length) + + public long raw_total(int i){ + if(!seekable||i>=links) + return (-1); + if(i<0){ + long acc=0; // bug? + for(int j=0; j=links) + return (-1); + if(i<0){ + long acc=0; + for(int j=0; j=links) + return (-1); + if(i<0){ + float acc=0; + for(int j=0; joffsets[links]){ + //goto seek_error; + pcm_offset=-1; + decode_clear(); + return -1; + } + + // clear out decoding machine state + pcm_offset=-1; + decode_clear(); + + // seek + seek_helper(pos); + + // we need to make sure the pcm_offset is set. We use the + // _fetch_packet helper to process one packet with readp set, then + // call it until it returns '0' with readp not set (the last packet + // from a page has the 'granulepos' field set, and that's how the + // helper updates the offset + + switch(process_packet(1)){ + case 0: + // oh, eof. There are no packets remaining. Set the pcm offset to + // the end of file + pcm_offset=pcm_total(-1); + return (0); + case -1: + // error! missing data or invalid bitstream structure + //goto seek_error; + pcm_offset=-1; + decode_clear(); + return -1; + default: + // all OK + break; + } + while(true){ + switch(process_packet(0)){ + case 0: + // the offset is set. If it's a bogus bitstream with no offset + // information, it's not but that's not our fault. We still run + // gracefully, we're just missing the offset + return (0); + case -1: + // error! missing data or invalid bitstream structure + //goto seek_error; + pcm_offset=-1; + decode_clear(); + return -1; + default: + // continue processing packets + break; + } + } + + // seek_error: + // dump the machine so we're in a known state + //pcm_offset=-1; + //decode_clear(); + //return -1; + } + + // seek to a sample offset relative to the decompressed pcm stream + // returns zero on success, nonzero on failure + + public int pcm_seek(long pos){ + int link=-1; + long total=pcm_total(-1); + + if(!seekable) + return (-1); // don't dump machine if we can't seek + if(pos<0||pos>total){ + //goto seek_error; + pcm_offset=-1; + decode_clear(); + return -1; + } + + // which bitstream section does this pcm offset occur in? + for(link=links-1; link>=0; link--){ + total-=pcmlengths[link]; + if(pos>=total) + break; + } + + // search within the logical bitstream for the page with the highest + // pcm_pos preceeding (or equal to) pos. There is a danger here; + // missing pages or incorrect frame number information in the + // bitstream could make our task impossible. Account for that (it + // would be an error condition) + { + long target=pos-total; + long end=offsets[link+1]; + long begin=offsets[link]; + int best=(int)begin; + + Page og=new Page(); + while(begin=pos){ + //goto seek_error; + pcm_offset=-1; + decode_clear(); + return -1; + } + if(pos>pcm_total(-1)){ + //goto seek_error; + pcm_offset=-1; + decode_clear(); + return -1; + } + + // discard samples until we reach the desired position. Crossing a + // logical bitstream boundary with abandon is OK. + while(pcm_offsettarget) + samples=target; + vd.synthesis_read(samples); + pcm_offset+=samples; + + if(samplestime_total){ + //goto seek_error; + pcm_offset=-1; + decode_clear(); + return -1; + } + + // which bitstream section does this time offset occur in? + for(link=links-1; link>=0; link--){ + pcm_total-=pcmlengths[link]; + time_total-=time_total(link); + if(seconds>=time_total) + break; + } + + // enough information to convert time offset to pcm offset + { + long target=(long)(pcm_total+(seconds-time_total)*vi[link].rate); + return (pcm_seek(target)); + } + + //seek_error: + // dump machine so we're in a known state + //pcm_offset=-1; + //decode_clear(); + //return -1; + } + + // tell the current stream offset cursor. Note that seek followed by + // tell will likely not give the set offset due to caching + public long raw_tell(){ + return (offset); + } + + // return PCM offset (sample) of next PCM sample to be read + public long pcm_tell(){ + return (pcm_offset); + } + + // return time offset (seconds) of next PCM sample to be read + public float time_tell(){ + // translate time to PCM position and call pcm_seek + + int link=-1; + long pcm_total=0; + float time_total=0.f; + + if(seekable){ + pcm_total=pcm_total(-1); + time_total=time_total(-1); + + // which bitstream section does this time offset occur in? + for(link=links-1; link>=0; link--){ + pcm_total-=pcmlengths[link]; + time_total-=time_total(link); + if(pcm_offset>=pcm_total) + break; + } + } + + return ((float)time_total+(float)(pcm_offset-pcm_total)/vi[link].rate); + } + + // link: -1) return the vorbis_info struct for the bitstream section + // currently being decoded + // 0-n) to request information for a specific bitstream section + // + // In the case of a non-seekable bitstream, any call returns the + // current bitstream. NULL in the case that the machine is not + // initialized + + public Info getInfo(int link){ + if(seekable){ + if(link<0){ + if(decode_ready){ + return vi[current_link]; + } + else{ + return null; + } + } + else{ + if(link>=links){ + return null; + } + else{ + return vi[link]; + } + } + } + else{ + if(decode_ready){ + return vi[0]; + } + else{ + return null; + } + } + } + + public Comment getComment(int link){ + if(seekable){ + if(link<0){ + if(decode_ready){ + return vc[current_link]; + } + else{ + return null; + } + } + else{ + if(link>=links){ + return null; + } + else{ + return vc[link]; + } + } + } + else{ + if(decode_ready){ + return vc[0]; + } + else{ + return null; + } + } + } + + int host_is_big_endian(){ + return 1; + // short pattern = 0xbabe; + // unsigned char *bytewise = (unsigned char *)&pattern; + // if (bytewise[0] == 0xba) return 1; + // assert(bytewise[0] == 0xbe); + // return 0; + } + + // up to this point, everything could more or less hide the multiple + // logical bitstream nature of chaining from the toplevel application + // if the toplevel application didn't particularly care. However, at + // the point that we actually read audio back, the multiple-section + // nature must surface: Multiple bitstream sections do not necessarily + // have to have the same number of channels or sampling rate. + // + // read returns the sequential logical bitstream number currently + // being decoded along with the PCM data in order that the toplevel + // application can take action on channel/sample rate changes. This + // number will be incremented even for streamed (non-seekable) streams + // (for seekable streams, it represents the actual logical bitstream + // index within the physical bitstream. Note that the accessor + // functions above are aware of this dichotomy). + // + // input values: buffer) a buffer to hold packed PCM data for return + // length) the byte length requested to be placed into buffer + // bigendianp) should the data be packed LSB first (0) or + // MSB first (1) + // word) word size for output. currently 1 (byte) or + // 2 (16 bit short) + // + // return values: -1) error/hole in data + // 0) EOF + // n) number of bytes of PCM actually returned. The + // below works on a packet-by-packet basis, so the + // return length is not related to the 'length' passed + // in, just guaranteed to fit. + // + // *section) set to the logical bitstream number + + int read(byte[] buffer, int length, int bigendianp, int word, int sgned, + int[] bitstream){ + int host_endian=host_is_big_endian(); + int index=0; + + while(true){ + if(decode_ready){ + float[][] pcm; + float[][][] _pcm=new float[1][][]; + int[] _index=new int[getInfo(-1).channels]; + int samples=vd.synthesis_pcmout(_pcm, _index); + pcm=_pcm[0]; + if(samples!=0){ + // yay! proceed to pack data into the byte buffer + int channels=getInfo(-1).channels; + int bytespersample=word*channels; + if(samples>length/bytespersample) + samples=length/bytespersample; + + // a tight loop to pack each size + { + int val; + if(word==1){ + int off=(sgned!=0 ? 0 : 128); + for(int j=0; j127) + val=127; + else if(val<-128) + val=-128; + buffer[index++]=(byte)(val+off); + } + } + } + else{ + int off=(sgned!=0 ? 0 : 32768); + + if(host_endian==bigendianp){ + if(sgned!=0){ + for(int i=0; i32767) + val=32767; + else if(val<-32768) + val=-32768; + buffer[dest]=(byte)(val>>>8); + buffer[dest+1]=(byte)(val); + dest+=channels*2; + } + } + } + else{ + for(int i=0; i32767) + val=32767; + else if(val<-32768) + val=-32768; + buffer[dest]=(byte)((val+off)>>>8); + buffer[dest+1]=(byte)(val+off); + dest+=channels*2; + } + } + } + } + else if(bigendianp!=0){ + for(int j=0; j32767) + val=32767; + else if(val<-32768) + val=-32768; + val+=off; + buffer[index++]=(byte)(val>>>8); + buffer[index++]=(byte)val; + } + } + } + else{ + //int val; + for(int j=0; j32767) + val=32767; + else if(val<-32768) + val=-32768; + val+=off; + buffer[index++]=(byte)val; + buffer[index++]=(byte)(val>>>8); + } + } + } + } + } + + vd.synthesis_read(samples); + pcm_offset+=samples; + if(bitstream!=null) + bitstream[0]=current_link; + return (samples*bytespersample); + } + } + + // suck in another packet + switch(process_packet(1)){ + case 0: + return (0); + case -1: + return -1; + default: + break; + } + } + } + + public Info[] getInfo(){ + return vi; + } + + public Comment[] getComment(){ + return vc; + } + + public void close() throws java.io.IOException{ + datasource.close(); + } + + class SeekableInputStream extends InputStream{ + java.io.RandomAccessFile raf=null; + final String mode="r"; + + SeekableInputStream(String file) throws java.io.IOException{ + raf=new java.io.RandomAccessFile(file, mode); + } + + public int read() throws java.io.IOException{ + return raf.read(); + } + + public int read(byte[] buf) throws java.io.IOException{ + return raf.read(buf); + } + + public int read(byte[] buf, int s, int len) throws java.io.IOException{ + return raf.read(buf, s, len); + } + + public long skip(long n) throws java.io.IOException{ + return (long)(raf.skipBytes((int)n)); + } + + public long getLength() throws java.io.IOException{ + return raf.length(); + } + + public long tell() throws java.io.IOException{ + return raf.getFilePointer(); + } + + public int available() throws java.io.IOException{ + return (raf.length()==raf.getFilePointer()) ? 0 : 1; + } + + public void close() throws java.io.IOException{ + raf.close(); + } + + public synchronized void mark(int m){ + } + + public synchronized void reset() throws java.io.IOException{ + } + + public boolean markSupported(){ + return false; + } + + public void seek(long pos) throws java.io.IOException{ + raf.seek(pos); + } + } + +} diff --git a/src/main/java/com/github/trilarion/sampled/file/AiffAudioOutputStream.java b/src/main/java/com/github/trilarion/sampled/file/AiffAudioOutputStream.java new file mode 100644 index 0000000..6cb19a6 --- /dev/null +++ b/src/main/java/com/github/trilarion/sampled/file/AiffAudioOutputStream.java @@ -0,0 +1,213 @@ +/* + * AiffAudioOutputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.sampled.file; + +import java.io.IOException; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioSystem; +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.file.TAudioOutputStream; +import com.github.trilarion.share.sampled.file.TDataOutputStream; + + +/** + * AudioOutputStream for AIFF and AIFF-C files. + * + * @author Florian Bomers + */ +public class AiffAudioOutputStream extends TAudioOutputStream { + + // this constant is used for chunk lengths when the length is not known yet + private static final int LENGTH_NOT_KNOWN=-1; + + private AudioFileFormat.Type m_FileType; + + public AiffAudioOutputStream(AudioFormat audioFormat, + AudioFileFormat.Type fileType, + long lLength, + TDataOutputStream dataOutputStream) { + // always do backpatching if the stream supports seeking, in case the + // reported stream length is longer than the actual data + super(audioFormat, + lLength, + dataOutputStream, + dataOutputStream.supportsSeek()); + // AIFF files cannot exceed 2GB + if (lLength != AudioSystem.NOT_SPECIFIED && lLength>0x7FFFFFFFl) { + throw new IllegalArgumentException( + "AIFF files cannot be larger than 2GB."); + } + // IDEA: write AIFF file instead of AIFC when encoding=PCM ? + m_FileType=fileType; + if (!audioFormat.getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED) + && !audioFormat.getEncoding().equals(AudioFormat.Encoding.PCM_UNSIGNED)) { + // only AIFC files can handle non-pcm data + m_FileType=AudioFileFormat.Type.AIFC; + } + // double-check that we can write this audio format + if (AiffTool.getFormatCode(audioFormat) == AiffTool.AIFF_COMM_UNSPECIFIED) { + throw new IllegalArgumentException("Unknown encoding/format for AIFF file: "+audioFormat); + } + // AIFF requires signed 8-bit data + requireSign8bit(true); + // AIFF requires big endian + requireEndianness(true); + + if (TDebug.TraceAudioOutputStream) { + TDebug.out("Writing " + m_FileType + ": " + audioFormat.getSampleSizeInBits() + + " bits, " + audioFormat.getEncoding()); + } + } + + protected void writeHeader() + throws IOException { + if (TDebug.TraceAudioOutputStream) { + TDebug.out("AiffAudioOutputStream.writeHeader(): called."); + } + AudioFormat format = getFormat(); + boolean bIsAifc = m_FileType.equals(AudioFileFormat.Type.AIFC); + long lLength = getLength(); + TDataOutputStream dos = getDataOutputStream(); + int nCommChunkSize=18; + int nFormatCode=AiffTool.getFormatCode(format); + if (bIsAifc) { + // encoding takes 4 bytes + // encoding name takes at minimum 2 bytes + nCommChunkSize+=6; + } + int nHeaderSize=4 // magic + +8+nCommChunkSize // COMM chunk + +8; // header of SSND chunk + if (bIsAifc) { + // add length for FVER chunk + nHeaderSize+=12; + } + // if patching the header, and the length has not been known at first + // writing of the header, just truncate the size fields, don't throw an exception + if (lLength != AudioSystem.NOT_SPECIFIED && lLength+nHeaderSize>0x7FFFFFFFl) { + lLength=0x7FFFFFFFl-nHeaderSize; + } + // chunks must be on word-boundaries + long lSSndChunkSize=(lLength!=AudioSystem.NOT_SPECIFIED)? + (lLength+(lLength%2)+8):AudioSystem.NOT_SPECIFIED; + + // write IFF container chunk + dos.writeInt(AiffTool.AIFF_FORM_MAGIC); + dos.writeInt((lLength!=AudioSystem.NOT_SPECIFIED)? + ((int) (lSSndChunkSize+nHeaderSize)):LENGTH_NOT_KNOWN); + if (bIsAifc) { + dos.writeInt(AiffTool.AIFF_AIFC_MAGIC); + // write FVER chunk + dos.writeInt(AiffTool.AIFF_FVER_MAGIC); + dos.writeInt(4); + dos.writeInt(AiffTool.AIFF_FVER_TIME_STAMP); + } else { + dos.writeInt(AiffTool.AIFF_AIFF_MAGIC); + } + + // write COMM chunk + dos.writeInt(AiffTool.AIFF_COMM_MAGIC); + dos.writeInt(nCommChunkSize); + dos.writeShort((short) format.getChannels()); + dos.writeInt((lLength!=AudioSystem.NOT_SPECIFIED)? + ((int) (lLength / format.getFrameSize())):LENGTH_NOT_KNOWN); + if (nFormatCode==AiffTool.AIFF_COMM_ULAW) { + // AIFF ulaw states 16 bits for ulaw data + dos.writeShort(16); + } else { + dos.writeShort((short) format.getSampleSizeInBits()); + } + writeIeeeExtended(dos, format.getSampleRate()); + if (bIsAifc) { + dos.writeInt(nFormatCode); + dos.writeShort(0); // no encoding name + // TODO: write encoding.toString() ?? + } + + // write header of SSND chunk + dos.writeInt(AiffTool.AIFF_SSND_MAGIC); + // don't use lSSndChunkSize here ! + dos.writeInt((lLength!=AudioSystem.NOT_SPECIFIED) + ?((int) (lLength+8)):LENGTH_NOT_KNOWN); + // 8 information bytes of no interest + dos.writeInt(0); // offset + dos.writeInt(0); // blocksize + } + + + + + protected void patchHeader() + throws IOException { + TDataOutputStream tdos = getDataOutputStream(); + tdos.seek(0); + setLengthFromCalculatedLength(); + writeHeader(); + } + + public void close() throws IOException { + long nBytesWritten=getCalculatedLength(); + + if ((nBytesWritten % 2)==1) { + if (TDebug.TraceAudioOutputStream) { + TDebug.out("AiffOutputStream.close(): adding padding byte"); + } + // extra byte for to align on word boundaries + TDataOutputStream tdos = getDataOutputStream(); + tdos.writeByte(0); + // DON'T adjust calculated length ! + } + super.close(); + } + + public void writeIeeeExtended(TDataOutputStream dos, float sampleRate) throws IOException { + // currently, only integer sample rates are written + // TODO: real conversion + // I don't know exactly how much I have to shift left the mantisse for normalisation + // now I do it so that there are any bits set in the first 5 bits + int nSampleRate=(int) sampleRate; + short ieeeExponent=0; + while ((nSampleRate!=0) && (nSampleRate & 0x80000000)==0) { + ieeeExponent++; + nSampleRate<<=1; + } + dos.writeShort(16414-ieeeExponent); // exponent + dos.writeInt(nSampleRate); // mantisse high double word + dos.writeInt(0); // mantisse low double word + } + + + + +} + +/*** AiffAudioOutputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/sampled/file/AiffTool.java b/src/main/java/com/github/trilarion/sampled/file/AiffTool.java new file mode 100644 index 0000000..6a816a5 --- /dev/null +++ b/src/main/java/com/github/trilarion/sampled/file/AiffTool.java @@ -0,0 +1,85 @@ +/* + * AiffTool.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.sampled.file; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; + + +/** + * Common constants and methods for handling aiff and aiff-c files. + * + * @author Florian Bomers + */ + +public class AiffTool { + + public static final int AIFF_FORM_MAGIC = 0x464F524D; + public static final int AIFF_AIFF_MAGIC = 0x41494646; + public static final int AIFF_AIFC_MAGIC = 0x41494643; + public static final int AIFF_COMM_MAGIC = 0x434F4D4D; + public static final int AIFF_SSND_MAGIC = 0x53534E44; + public static final int AIFF_FVER_MAGIC = 0x46564552; + public static final int AIFF_COMM_UNSPECIFIED = 0x00000000; // "0000" + public static final int AIFF_COMM_PCM = 0x4E4F4E45; // "NONE" + public static final int AIFF_COMM_ULAW = 0x756C6177; // "ulaw" + public static final int AIFF_COMM_IMA_ADPCM = 0x696D6134; // "ima4" + public static final int AIFF_FVER_TIME_STAMP = 0xA2805140; // May 23, 1990, 2:40pm + + public static int getFormatCode(AudioFormat format) { + // endianness is converted in audio output stream + // sign is converted for 8-bit files + AudioFormat.Encoding encoding = format.getEncoding(); + int nSampleSize = format.getSampleSizeInBits(); + // $$fb 2000-08-16: check the frame size, too. + boolean frameSizeOK=format.getFrameSize()==AudioSystem.NOT_SPECIFIED + || format.getChannels()!=AudioSystem.NOT_SPECIFIED + || format.getFrameSize()==nSampleSize/8*format.getChannels(); + boolean signed = encoding.equals(AudioFormat.Encoding.PCM_SIGNED); + boolean unsigned = encoding.equals(AudioFormat.Encoding.PCM_UNSIGNED); + if (nSampleSize == 8 && frameSizeOK && (signed || unsigned)) { + // support signed and unsigned PCM for 8 bit + return AIFF_COMM_PCM; + } else if (nSampleSize > 8 && nSampleSize <= 32 && frameSizeOK && signed) { + // support only signed PCM for > 8 bit + return AIFF_COMM_PCM; + } else if (encoding.equals(AudioFormat.Encoding.ULAW) && nSampleSize == 8 && frameSizeOK) { + return AIFF_COMM_ULAW; + } else if (encoding.equals(new AudioFormat.Encoding("IMA_ADPCM")) && nSampleSize == 4) { + return AIFF_COMM_IMA_ADPCM; + } else { + return AIFF_COMM_UNSPECIFIED; + } + } + +} + +/*** AiffTool.java ***/ diff --git a/src/main/java/com/github/trilarion/sampled/file/AuAudioOutputStream.java b/src/main/java/com/github/trilarion/sampled/file/AuAudioOutputStream.java new file mode 100644 index 0000000..7f6ccb4 --- /dev/null +++ b/src/main/java/com/github/trilarion/sampled/file/AuAudioOutputStream.java @@ -0,0 +1,134 @@ +/* + * AuAudioOutputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000,2001 by Florian Bomers + * Copyright (c) 1999 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.sampled.file; + +import java.io.IOException; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.file.TAudioOutputStream; +import com.github.trilarion.share.sampled.file.TDataOutputStream; + + + +/** + * AudioOutputStream for AU files. + * + * @author Florian Bomers + * @author Matthias Pfisterer + */ + +public class AuAudioOutputStream extends TAudioOutputStream { + + private static String description="Created by Tritonus"; + + /** + * Writes a null-terminated ascii string s to f. + * The total number of bytes written is aligned on a 2byte boundary. + * @exception IOException Write error. + */ + protected static void writeText(TDataOutputStream dos, String s) throws IOException { + if (s.length()>0) { + dos.writeBytes(s); + dos.writeByte(0); // pour terminer le texte + if ((s.length() % 2)==0) { + // ajout d'un zero pour faire la longeur pair + dos.writeByte(0); + } + } + } + + /** + * Returns number of bytes that have to written for string s (with alignment) + */ + protected static int getTextLength(String s) { + if (s.length()==0) { + return 0; + } else { + return (s.length()+2) & 0xFFFFFFFE; + } + } + + public AuAudioOutputStream(AudioFormat audioFormat, + long lLength, + TDataOutputStream dataOutputStream) { + // always do backpatching if the stream supports seeking, in case the + // reported stream length is longer than the actual data + // if length exceeds 2GB, set the length field to NOT_SPECIFIED + super(audioFormat, + lLength>0x7FFFFFFFl?AudioSystem.NOT_SPECIFIED:lLength, + dataOutputStream, + dataOutputStream.supportsSeek()); + // double-check that we can write this audio format + if (AuTool.getFormatCode(audioFormat) == AuTool.SND_FORMAT_UNSPECIFIED) { + throw new IllegalArgumentException("Unknown encoding/format for AU file: "+audioFormat); + } + // AU requires signed 8-bit data + requireSign8bit(true); + // AU requires big endian + requireEndianness(true); + if (TDebug.TraceAudioOutputStream) { + TDebug.out("Writing AU: " + audioFormat.getSampleSizeInBits() + + " bits, " + audioFormat.getEncoding()); + } + } + + protected void writeHeader() throws IOException { + if (TDebug.TraceAudioOutputStream) { + TDebug.out("AuAudioOutputStream.writeHeader(): called."); + } + AudioFormat format = getFormat(); + long lLength = getLength(); + TDataOutputStream dos = getDataOutputStream(); + if (TDebug.TraceAudioOutputStream) { + TDebug.out("AuAudioOutputStream.writeHeader(): AudioFormat: " + format); + TDebug.out("AuAudioOutputStream.writeHeader(): length: " + lLength); + } + + dos.writeInt(AuTool.AU_HEADER_MAGIC); + dos.writeInt(AuTool.DATA_OFFSET+getTextLength(description)); + dos.writeInt((lLength!=AudioSystem.NOT_SPECIFIED)?((int) lLength):AuTool.AUDIO_UNKNOWN_SIZE); + dos.writeInt(AuTool.getFormatCode(format)); + dos.writeInt((int) format.getSampleRate()); + dos.writeInt(format.getChannels()); + writeText(dos, description); + } + + protected void patchHeader() throws IOException { + TDataOutputStream tdos = getDataOutputStream(); + tdos.seek(0); + setLengthFromCalculatedLength(); + writeHeader(); + } +} + +/*** AuAudioOutputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/sampled/file/AuTool.java b/src/main/java/com/github/trilarion/sampled/file/AuTool.java new file mode 100644 index 0000000..19c987a --- /dev/null +++ b/src/main/java/com/github/trilarion/sampled/file/AuTool.java @@ -0,0 +1,97 @@ +/* + * AuTool.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000,2001 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.sampled.file; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; + + +/** Common constants and methods for handling au files. + * + * @author Florian Bomers + */ + +public class AuTool { + + public static final int AU_HEADER_MAGIC = 0x2e736e64; + public static final int AUDIO_UNKNOWN_SIZE = -1; + + // length of header in bytes + public static final int DATA_OFFSET = 24; + + public static final int SND_FORMAT_UNSPECIFIED = 0; + public static final int SND_FORMAT_MULAW_8 = 1; + public static final int SND_FORMAT_LINEAR_8 = 2; + public static final int SND_FORMAT_LINEAR_16 = 3; + public static final int SND_FORMAT_LINEAR_24 = 4; + public static final int SND_FORMAT_LINEAR_32 = 5; + public static final int SND_FORMAT_FLOAT = 6; + public static final int SND_FORMAT_DOUBLE = 7; + public static final int SND_FORMAT_ADPCM_G721 = 23; + public static final int SND_FORMAT_ADPCM_G722 = 24; + public static final int SND_FORMAT_ADPCM_G723_3 = 25; + public static final int SND_FORMAT_ADPCM_G723_5 = 26; + public static final int SND_FORMAT_ALAW_8 = 27; + + public static int getFormatCode(AudioFormat format) { + // endianness is converted in audio output stream + // sign is converted for 8-bit files + AudioFormat.Encoding encoding = format.getEncoding(); + int nSampleSize = format.getSampleSizeInBits(); + // $$fb 2000-08-16: check the frame size, too. + boolean frameSizeOK=(format.getFrameSize()==AudioSystem.NOT_SPECIFIED + || format.getChannels()!=AudioSystem.NOT_SPECIFIED + || format.getFrameSize()==nSampleSize/8*format.getChannels()); + boolean signed = encoding.equals(AudioFormat.Encoding.PCM_SIGNED); + boolean unsigned = encoding.equals(AudioFormat.Encoding.PCM_UNSIGNED); + + if (encoding.equals(AudioFormat.Encoding.ULAW) && nSampleSize == 8 && frameSizeOK) { + return SND_FORMAT_MULAW_8; + } else if (nSampleSize == 8 && frameSizeOK && (signed || unsigned)) { + // support signed and unsigned PCM for 8 bit + return SND_FORMAT_LINEAR_8; + } else if (signed && frameSizeOK) { + // support only signed PCM for > 8 bit + if (nSampleSize == 16) { + return SND_FORMAT_LINEAR_16; + } else if (nSampleSize == 24) { + return SND_FORMAT_LINEAR_24; + } else if (nSampleSize == 32) { + return SND_FORMAT_LINEAR_32; + } + } else if (encoding.equals(AudioFormat.Encoding.ALAW) && nSampleSize == 8 && frameSizeOK) { + return SND_FORMAT_ALAW_8; + } + return SND_FORMAT_UNSPECIFIED; + } +} + +/*** AuTool.java ***/ diff --git a/src/main/java/com/github/trilarion/sampled/file/WaveAudioOutputStream.java b/src/main/java/com/github/trilarion/sampled/file/WaveAudioOutputStream.java new file mode 100644 index 0000000..2a6f02d --- /dev/null +++ b/src/main/java/com/github/trilarion/sampled/file/WaveAudioOutputStream.java @@ -0,0 +1,218 @@ +/* + * WaveAudioOutputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.sampled.file; + +import java.io.IOException; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.file.TAudioOutputStream; +import com.github.trilarion.share.sampled.file.TDataOutputStream; + +/** + * AudioOutputStream for Wave files. + * + * @author Florian Bomers + */ + +public class WaveAudioOutputStream extends TAudioOutputStream { + + // this constant is used for chunk lengths when the length is not known yet + private static final int LENGTH_NOT_KNOWN=-1; + + public WaveAudioOutputStream(AudioFormat audioFormat, + long lLength, + TDataOutputStream dataOutputStream) { + // always do backpatching if the stream supports seeking, in case the + // reported stream length is longer than the actual data + super(audioFormat, + lLength, + dataOutputStream, + dataOutputStream.supportsSeek()); + // wave cannot store more than 4GB + if (lLength != AudioSystem.NOT_SPECIFIED + && (lLength+WaveTool.DATA_OFFSET)>0xFFFFFFFFl) { + if (TDebug.TraceAudioOutputStream) { + TDebug.out("WaveAudioOutputStream: Length exceeds 4GB: " + +lLength+"=0x"+Long.toHexString(lLength) + +" with header="+(lLength+WaveTool.DATA_OFFSET) + +"=0x"+Long.toHexString(lLength+WaveTool.DATA_OFFSET)); + } + throw new IllegalArgumentException("Wave files cannot be larger than 4GB."); + } + // double-check that we can write this audio format + if (WaveTool.getFormatCode(getFormat()) == WaveTool.WAVE_FORMAT_UNSPECIFIED) { + throw new IllegalArgumentException("Unknown encoding/format for WAVE file: "+audioFormat); + } + // WAVE requires unsigned 8-bit data + requireSign8bit(false); + // WAVE requires little endian + requireEndianness(false); + if (TDebug.TraceAudioOutputStream) { + TDebug.out("Writing WAVE: "+audioFormat.getSampleSizeInBits()+" bits, "+audioFormat.getEncoding()); + } + } + + @Override + protected void writeHeader() + throws IOException { + if (TDebug.TraceAudioOutputStream) { + TDebug.out("WaveAudioOutputStream.writeHeader()"); + } + int formatCode = WaveTool.getFormatCode(getFormat()); + AudioFormat format = getFormat(); + long lLength = getLength(); + int formatChunkAdd=0; + if (formatCode==WaveTool.WAVE_FORMAT_GSM610) { + // space for extra fields + formatChunkAdd+=2; + } + int dataOffset=WaveTool.DATA_OFFSET+formatChunkAdd; + if (formatCode!=WaveTool.WAVE_FORMAT_PCM) { + // space for fact chunk + dataOffset+=4+WaveTool.CHUNK_HEADER_SIZE; + } + + // if patching the header, and the length has not been known at first + // writing of the header, just truncate the size fields, don't throw an exception + if (lLength != AudioSystem.NOT_SPECIFIED + && lLength+dataOffset>0xFFFFFFFFL) { + lLength=0xFFFFFFFFL-dataOffset; + } + + // chunks must be on word-boundaries + long lDataChunkSize = lLength+(lLength%2); + if (lLength == AudioSystem.NOT_SPECIFIED || lDataChunkSize > 0xFFFFFFFFL) { + lDataChunkSize = 0xFFFFFFFFL; + } + + long RIFF_Size = lDataChunkSize+dataOffset-WaveTool.CHUNK_HEADER_SIZE; + if (lLength == AudioSystem.NOT_SPECIFIED || RIFF_Size > 0xFFFFFFFFL) { + RIFF_Size = 0xFFFFFFFFL; + } + + TDataOutputStream dos = getDataOutputStream(); + + // write RIFF container chunk + dos.writeInt(WaveTool.WAVE_RIFF_MAGIC); + dos.writeLittleEndian32((int) RIFF_Size); + dos.writeInt(WaveTool.WAVE_WAVE_MAGIC); + + // write fmt_ chunk + int formatChunkSize=WaveTool.FMT_CHUNK_SIZE+formatChunkAdd; + short sampleSizeInBits=(short) format.getSampleSizeInBits(); + int decodedSamplesPerBlock=1; + + if (formatCode==WaveTool.WAVE_FORMAT_GSM610) { + if (format.getFrameSize()==33) { + decodedSamplesPerBlock=160; + } else if (format.getFrameSize()==65) { + decodedSamplesPerBlock=320; + } else { + // how to retrieve this value here ? + decodedSamplesPerBlock=(int) (format.getFrameSize()*(320.0f/65.0f)); + } + sampleSizeInBits=0; // MS standard + } + + + int avgBytesPerSec=((int) format.getSampleRate())/decodedSamplesPerBlock*format.getFrameSize(); + dos.writeInt(WaveTool.WAVE_FMT_MAGIC); + dos.writeLittleEndian32(formatChunkSize); + dos.writeLittleEndian16((short) formatCode); // wFormatTag + dos.writeLittleEndian16((short) format.getChannels()); // nChannels + dos.writeLittleEndian32((int) format.getSampleRate()); // nSamplesPerSec + dos.writeLittleEndian32(avgBytesPerSec); // nAvgBytesPerSec + dos.writeLittleEndian16((short) format.getFrameSize()); // nBlockalign + dos.writeLittleEndian16(sampleSizeInBits); // wBitsPerSample + dos.writeLittleEndian16((short) formatChunkAdd); // cbSize + + if (formatCode==WaveTool.WAVE_FORMAT_GSM610) { + dos.writeLittleEndian16((short) decodedSamplesPerBlock); // wSamplesPerBlock + } + + // write fact chunk + + + if (formatCode != WaveTool.WAVE_FORMAT_PCM) { + // write "fact" chunk: number of samples + // todo: add this as an attribute or property + // in AudioOutputStream or AudioInputStream + long samples=0; + if (lLength != AudioSystem.NOT_SPECIFIED) { + samples = lLength / format.getFrameSize() * decodedSamplesPerBlock; + } + // saturate sample count + if (samples>0xFFFFFFFFL) { + samples = (0xFFFFFFFFL/decodedSamplesPerBlock)*decodedSamplesPerBlock; + } + dos.writeInt(WaveTool.WAVE_FACT_MAGIC); + dos.writeLittleEndian32(4); + dos.writeLittleEndian32((int) (samples & 0xFFFFFFFF)); + } + + // write header of data chunk + dos.writeInt(WaveTool.WAVE_DATA_MAGIC); + dos.writeLittleEndian32((lLength != AudioSystem.NOT_SPECIFIED)?((int) lLength):LENGTH_NOT_KNOWN); + } + + @Override + protected void patchHeader() + throws IOException { + TDataOutputStream tdos = getDataOutputStream(); + tdos.seek(0); + setLengthFromCalculatedLength(); + writeHeader(); + } + + @Override + public void close() throws IOException { + long nBytesWritten=getCalculatedLength(); + + if ((nBytesWritten % 2)==1) { + if (TDebug.TraceAudioOutputStream) { + TDebug.out("WaveOutputStream.close(): adding padding byte"); + } + // extra byte for to align on word boundaries + TDataOutputStream tdos = getDataOutputStream(); + tdos.writeByte(0); + // DON'T adjust calculated length ! + } + + + super.close(); + } + +} + +/*** WaveAudioOutputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/sampled/file/WaveTool.java b/src/main/java/com/github/trilarion/sampled/file/WaveTool.java new file mode 100644 index 0000000..3ddbe0b --- /dev/null +++ b/src/main/java/com/github/trilarion/sampled/file/WaveTool.java @@ -0,0 +1,114 @@ +/* + * WaveTool.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.sampled.file; + +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.AudioFormat; + + +/** + * Common constants and methods for handling wave files. + * + * @author Florian Bomers + */ + +public class WaveTool { + + public static final int WAVE_RIFF_MAGIC = 0x52494646; // "RIFF" + public static final int WAVE_WAVE_MAGIC = 0x57415645; // "WAVE" + public static final int WAVE_FMT_MAGIC = 0x666D7420; // "fmt " + public static final int WAVE_DATA_MAGIC = 0x64617461; // "DATA" + public static final int WAVE_FACT_MAGIC = 0x66616374; // "fact" + + public static final short WAVE_FORMAT_UNSPECIFIED = 0; + public static final short WAVE_FORMAT_PCM = 1; + public static final short WAVE_FORMAT_MS_ADPCM = 2; + public static final short WAVE_FORMAT_ALAW = 6; + public static final short WAVE_FORMAT_ULAW = 7; + public static final short WAVE_FORMAT_IMA_ADPCM = 17; // same as DVI_ADPCM + public static final short WAVE_FORMAT_G723_ADPCM = 20; + public static final short WAVE_FORMAT_GSM610 = 49; + public static final short WAVE_FORMAT_G721_ADPCM = 64; + public static final short WAVE_FORMAT_MPEG = 80; + + public static final int MIN_FMT_CHUNK_LENGTH=14; + public static final int MIN_DATA_OFFSET=12+8+MIN_FMT_CHUNK_LENGTH+8; + public static final int MIN_FACT_CHUNK_LENGTH = 4; + + // we always write the sample size in bits and the length of extra bytes. + // There are programs (CoolEdit) that rely on the + // additional entry for sample size in bits. + public static final int FMT_CHUNK_SIZE=18; + public static final int RIFF_CONTAINER_CHUNK_SIZE=12; + public static final int CHUNK_HEADER_SIZE=8; + public static final int DATA_OFFSET=RIFF_CONTAINER_CHUNK_SIZE + +CHUNK_HEADER_SIZE+FMT_CHUNK_SIZE+CHUNK_HEADER_SIZE; + + public static AudioFormat.Encoding GSM0610 = new AudioFormat.Encoding("MS GSM0610"); + public static AudioFormat.Encoding IMA_ADPCM = new AudioFormat.Encoding("IMA_ADPCM"); + + public static short getFormatCode(AudioFormat format) { + // endianness is converted in audio output stream + // sign is converted for 8-bit files + AudioFormat.Encoding encoding = format.getEncoding(); + int nSampleSize = format.getSampleSizeInBits(); + boolean frameSizeOK = format.getFrameSize() == AudioSystem.NOT_SPECIFIED + || format.getChannels() != AudioSystem.NOT_SPECIFIED + || format.getFrameSize() == (nSampleSize + 7) / 8 + * format.getChannels(); + boolean signed = encoding.equals(AudioFormat.Encoding.PCM_SIGNED); + boolean unsigned = encoding.equals(AudioFormat.Encoding.PCM_UNSIGNED); + if (nSampleSize == 8 && frameSizeOK && (signed || unsigned)) { + // support signed and unsigned PCM for 8 bit + return WAVE_FORMAT_PCM; + } else if (nSampleSize > 8 && nSampleSize <= 32 && frameSizeOK && signed) { + // support only signed PCM for > 8 bit + return WAVE_FORMAT_PCM; + } else if (encoding.equals(AudioFormat.Encoding.ULAW) + && (nSampleSize == AudioSystem.NOT_SPECIFIED || nSampleSize == 8) + && frameSizeOK) { + return WAVE_FORMAT_ULAW; + } else if (encoding.equals(AudioFormat.Encoding.ALAW) + && (nSampleSize == AudioSystem.NOT_SPECIFIED || nSampleSize == 8) + && frameSizeOK) { + return WAVE_FORMAT_ALAW; + } else if (encoding.equals(new AudioFormat.Encoding("IMA_ADPCM")) + && nSampleSize == 4) { + return WAVE_FORMAT_IMA_ADPCM; + } else if (encoding.equals(GSM0610)) { + return WAVE_FORMAT_GSM610; + } + return WAVE_FORMAT_UNSPECIFIED; + } + +} + +/** * WaveTool.java ** */ diff --git a/src/main/java/com/github/trilarion/share/ArraySet.java b/src/main/java/com/github/trilarion/share/ArraySet.java new file mode 100644 index 0000000..f7457ab --- /dev/null +++ b/src/main/java/com/github/trilarion/share/ArraySet.java @@ -0,0 +1,89 @@ +/* + * ArraySet.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 -2004 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Set; + + + +public class ArraySet +extends ArrayList +implements Set +{ + private static final long serialVersionUID = 1; + + public ArraySet() + { + super(); + } + + + + public ArraySet(Collection c) + { + this(); + addAll(c); + } + + + + public boolean add(E element) + { + if (!contains(element)) + { + super.add(element); + return true; + } + else + { + return false; + } + } + + + + public void add(int index, E element) + { + throw new UnsupportedOperationException("ArraySet.add(int index, Object element) unsupported"); + } + + public E set(int index, E element) + { + throw new UnsupportedOperationException("ArraySet.set(int index, Object element) unsupported"); + } + +} + + + +/*** ArraySet.java ***/ diff --git a/src/main/java/com/github/trilarion/share/GlobalInfo.java b/src/main/java/com/github/trilarion/share/GlobalInfo.java new file mode 100644 index 0000000..cc492cb --- /dev/null +++ b/src/main/java/com/github/trilarion/share/GlobalInfo.java @@ -0,0 +1,58 @@ +/* + * GlobalInfo.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share; + + + +public class GlobalInfo +{ + private static final String VENDOR = "Tritonus is free software. See http://www.tritonus.org/"; + private static final String VERSION = "0.3.1"; + + + + public static String getVendor() + { + return VENDOR; + } + + + + public static String getVersion() + { + return VERSION; + } +} + + + +/*** GlobalInfo.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/StringHashedSet.java b/src/main/java/com/github/trilarion/share/StringHashedSet.java new file mode 100644 index 0000000..224ba9f --- /dev/null +++ b/src/main/java/com/github/trilarion/share/StringHashedSet.java @@ -0,0 +1,114 @@ +/* + * StringHashedSet.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share; + +import java.util.Collection; +import java.util.Iterator; + +import com.github.trilarion.share.ArraySet; + + +/** + * A set where the elements are uniquely referenced by their + * string representation as given by the objects toString() + * method. No 2 objects with the same toString() can + * be in the set. + *

+ * The contains(Object elem) and get(Object elem) + * methods can be called with Strings as elem parameter. + * For get(Object elem), the object that has been added + * is returned, and not its String representation. + *

+ * Though it's possible to store + * Strings as objects in this class, it doesn't make sense + * as you could use ArraySet for that equally well. + *

+ * You shouldn't use the ArrayList specific functions + * like those that take index parameters. + *

+ * It is not possible to add null elements. + */ + +public class StringHashedSet extends ArraySet +{ + private static final long serialVersionUID = 1; + + public StringHashedSet() + { + super(); + } + + public StringHashedSet(Collection c) + { + super(c); + } + + public boolean add(E elem) + { + if (elem==null) { + return false; + } + return super.add(elem); + } + + public boolean contains(Object elem) + { + if (elem==null) { + return false; + } + String comp=elem.toString(); + Iterator it=iterator(); + while (it.hasNext()) { + if (comp.equals(it.next().toString())) { + return true; + } + } + return false; + } + + public E get(Object elem) { + if (elem==null) { + return null; + } + String comp=elem.toString(); + Iterator it=iterator(); + while (it.hasNext()) { + E thisElem=it.next(); + if (comp.equals(thisElem.toString())) { + return thisElem; + } + } + return null; + } + +} + +/*** StringHashedSet.java ***/ diff --git a/src/main/java/com/github/trilarion/share/TCircularBuffer.java b/src/main/java/com/github/trilarion/share/TCircularBuffer.java new file mode 100644 index 0000000..51d5c9f --- /dev/null +++ b/src/main/java/com/github/trilarion/share/TCircularBuffer.java @@ -0,0 +1,268 @@ +/* + * TCircularBuffer.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share; + +import com.github.trilarion.share.TDebug; + + + +public class TCircularBuffer +{ + private boolean m_bBlockingRead; + private boolean m_bBlockingWrite; + private byte[] m_abData; + private int m_nSize; + private long m_lReadPos; + private long m_lWritePos; + private Trigger m_trigger; + private boolean m_bOpen; + + + + public TCircularBuffer(int nSize, boolean bBlockingRead, boolean bBlockingWrite, Trigger trigger) + { + m_bBlockingRead = bBlockingRead; + m_bBlockingWrite = bBlockingWrite; + m_nSize = nSize; + m_abData = new byte[m_nSize]; + m_lReadPos = 0; + m_lWritePos = 0; + m_trigger = trigger; + m_bOpen = true; + } + + + + public void close() + { + m_bOpen = false; + // TODO: call notify() ? + } + + + + private boolean isOpen() + { + return m_bOpen; + } + + + public int availableRead() + { + return (int) (m_lWritePos - m_lReadPos); + } + + + + public int availableWrite() + { + return m_nSize - availableRead(); + } + + + + private int getReadPos() + { + return (int) (m_lReadPos % m_nSize); + } + + + + private int getWritePos() + { + return (int) (m_lWritePos % m_nSize); + } + + + + public int read(byte[] abData) + { + return read(abData, 0, abData.length); + } + + + + public int read(byte[] abData, int nOffset, int nLength) + { + if (TDebug.TraceCircularBuffer) + { + TDebug.out(">TCircularBuffer.read(): called."); + dumpInternalState(); + } + if (! isOpen()) + { + if (availableRead() > 0) + { + nLength = Math.min(nLength, availableRead()); + if (TDebug.TraceCircularBuffer) { TDebug.out("reading rest in closed buffer, length: " + nLength); } + } + else + { + if (TDebug.TraceCircularBuffer) { TDebug.out("< not open. returning -1."); } + return -1; + } + } + synchronized (this) + { + if (m_trigger != null && availableRead() < nLength) + { + if (TDebug.TraceCircularBuffer) { TDebug.out("executing trigger."); } + m_trigger.execute(); + } + if (!m_bBlockingRead) + { + nLength = Math.min(availableRead(), nLength); + } + int nRemainingBytes = nLength; + while (nRemainingBytes > 0) + { + while (availableRead() == 0) + { + try + { + wait(); + } + catch (InterruptedException e) + { + if (TDebug.TraceAllExceptions) + { + TDebug.out(e); + } + } + } + int nAvailable = Math.min(availableRead(), nRemainingBytes); + while (nAvailable > 0) + { + int nToRead = Math.min(nAvailable, m_nSize - getReadPos()); + System.arraycopy(m_abData, getReadPos(), abData, nOffset, nToRead); + m_lReadPos += nToRead; + nOffset += nToRead; + nAvailable -= nToRead; + nRemainingBytes -= nToRead; + } + notifyAll(); + } + if (TDebug.TraceCircularBuffer) + { + TDebug.out("After read:"); + dumpInternalState(); + TDebug.out("< completed. Read " + nLength + " bytes"); + } + return nLength; + } + } + + + public int write(byte[] abData) + { + return write(abData, 0, abData.length); + } + + + + public int write(byte[] abData, int nOffset, int nLength) + { + if (TDebug.TraceCircularBuffer) + { + TDebug.out(">TCircularBuffer.write(): called; nLength: " + nLength); + dumpInternalState(); + } + synchronized (this) + { + if (TDebug.TraceCircularBuffer) { TDebug.out("entered synchronized block."); } + if (!m_bBlockingWrite) + { + nLength = Math.min(availableWrite(), nLength); + } + int nRemainingBytes = nLength; + while (nRemainingBytes > 0) + { + while (availableWrite() == 0) + { + try + { + wait(); + } + catch (InterruptedException e) + { + if (TDebug.TraceAllExceptions) + { + TDebug.out(e); + } + } + } + int nAvailable = Math.min(availableWrite(), nRemainingBytes); + while (nAvailable > 0) + { + int nToWrite = Math.min(nAvailable, m_nSize - getWritePos()); + //TDebug.out("src buf size= " + abData.length + ", offset = " + nOffset + ", dst buf size=" + m_abData.length + " write pos=" + getWritePos() + " len=" + nToWrite); + System.arraycopy(abData, nOffset, m_abData, getWritePos(), nToWrite); + m_lWritePos += nToWrite; + nOffset += nToWrite; + nAvailable -= nToWrite; + nRemainingBytes -= nToWrite; + } + notifyAll(); + } + if (TDebug.TraceCircularBuffer) + { + TDebug.out("After write:"); + dumpInternalState(); + TDebug.out("< completed. Wrote "+nLength+" bytes"); + } + return nLength; + } + } + + + + private void dumpInternalState() + { + TDebug.out("m_lReadPos = " + m_lReadPos + " ^= "+getReadPos()); + TDebug.out("m_lWritePos = " + m_lWritePos + " ^= "+getWritePos()); + TDebug.out("availableRead() = " + availableRead()); + TDebug.out("availableWrite() = " + availableWrite()); + } + + + + public static interface Trigger + { + public void execute(); + } + + +} + + + +/*** TCircularBuffer.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/TDebug.java b/src/main/java/com/github/trilarion/share/TDebug.java new file mode 100644 index 0000000..227da64 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/TDebug.java @@ -0,0 +1,197 @@ +/* + * TDebug.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2002 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share; + +import java.io.PrintStream; +import java.util.StringTokenizer; +import java.security.AccessControlException; + + + +public class TDebug +{ + public static boolean SHOW_ACCESS_CONTROL_EXCEPTIONS = false; + private static final String PROPERTY_PREFIX = "tritonus."; + // The stream we output to + public static PrintStream m_printStream = System.out; + + private static String indent=""; + + // meta-general + public static boolean TraceAllExceptions = getBooleanProperty("TraceAllExceptions"); + public static boolean TraceAllWarnings = getBooleanProperty("TraceAllWarnings"); + + // general + public static boolean TraceInit = getBooleanProperty("TraceInit"); + public static boolean TraceCircularBuffer = getBooleanProperty("TraceCircularBuffer"); + public static boolean TraceService = getBooleanProperty("TraceService"); + + // sampled common implementation + public static boolean TraceAudioSystem = getBooleanProperty("TraceAudioSystem"); + public static boolean TraceAudioConfig = getBooleanProperty("TraceAudioConfig"); + public static boolean TraceAudioInputStream = getBooleanProperty("TraceAudioInputStream"); + public static boolean TraceMixerProvider = getBooleanProperty("TraceMixerProvider"); + public static boolean TraceControl = getBooleanProperty("TraceControl"); + public static boolean TraceLine = getBooleanProperty("TraceLine"); + public static boolean TraceDataLine = getBooleanProperty("TraceDataLine"); + public static boolean TraceMixer = getBooleanProperty("TraceMixer"); + public static boolean TraceSourceDataLine = getBooleanProperty("TraceSourceDataLine"); + public static boolean TraceTargetDataLine = getBooleanProperty("TraceTargetDataLine"); + public static boolean TraceClip = getBooleanProperty("TraceClip"); + public static boolean TraceAudioFileReader = getBooleanProperty("TraceAudioFileReader"); + public static boolean TraceAudioFileWriter = getBooleanProperty("TraceAudioFileWriter"); + public static boolean TraceAudioConverter = getBooleanProperty("TraceAudioConverter"); + public static boolean TraceAudioOutputStream = getBooleanProperty("TraceAudioOutputStream"); + + // sampled specific implementation + public static boolean TraceEsdNative = getBooleanProperty("TraceEsdNative"); + public static boolean TraceEsdStreamNative = getBooleanProperty("TraceEsdStreamNative"); + public static boolean TraceEsdRecordingStreamNative = getBooleanProperty("TraceEsdRecordingStreamNative"); + public static boolean TraceAlsaNative = getBooleanProperty("TraceAlsaNative"); + public static boolean TraceAlsaMixerNative = getBooleanProperty("TraceAlsaMixerNative"); + public static boolean TraceAlsaPcmNative = getBooleanProperty("TraceAlsaPcmNative"); + public static boolean TraceMixingAudioInputStream = getBooleanProperty("TraceMixingAudioInputStream"); + public static boolean TraceOggNative = getBooleanProperty("TraceOggNative"); + public static boolean TraceVorbisNative = getBooleanProperty("TraceVorbisNative"); + + // midi common implementation + public static boolean TraceMidiSystem = getBooleanProperty("TraceMidiSystem"); + public static boolean TraceMidiConfig = getBooleanProperty("TraceMidiConfig"); + public static boolean TraceMidiDeviceProvider = getBooleanProperty("TraceMidiDeviceProvider"); + public static boolean TraceSequencer = getBooleanProperty("TraceSequencer"); + public static boolean TraceSynthesizer = getBooleanProperty("TraceSynthesizer"); + public static boolean TraceMidiDevice = getBooleanProperty("TraceMidiDevice"); + + // midi specific implementation + public static boolean TraceAlsaSeq = getBooleanProperty("TraceAlsaSeq"); + public static boolean TraceAlsaSeqDetails = getBooleanProperty("TraceAlsaSeqDetails"); + public static boolean TraceAlsaSeqNative = getBooleanProperty("TraceAlsaSeqNative"); + public static boolean TracePortScan = getBooleanProperty("TracePortScan"); + public static boolean TraceAlsaMidiIn = getBooleanProperty("TraceAlsaMidiIn"); + public static boolean TraceAlsaMidiOut = getBooleanProperty("TraceAlsaMidiOut"); + public static boolean TraceAlsaMidiChannel = getBooleanProperty("TraceAlsaMidiChannel"); + + public static boolean TraceFluidNative = getBooleanProperty("TraceFluidNative"); + + // misc + public static boolean TraceAlsaCtlNative = getBooleanProperty("TraceAlsaCtlNative"); + public static boolean TraceCdda = getBooleanProperty("TraceCdda"); + public static boolean TraceCddaNative = getBooleanProperty("TraceCddaNative"); + + + + // make this method configurable to write to file, write to stderr,... + public static void out(String strMessage) + { + if (strMessage.length()>0 && strMessage.charAt(0)=='<') { + if (indent.length()>2) { + indent=indent.substring(2); + } else { + indent=""; + } + } + String newMsg=null; + if (indent!="" && strMessage.indexOf("\n")>=0) { + newMsg=""; + StringTokenizer tokenizer=new StringTokenizer(strMessage, "\n"); + while (tokenizer.hasMoreTokens()) { + newMsg+=indent+tokenizer.nextToken()+"\n"; + } + } else { + newMsg=indent+strMessage; + } + m_printStream.println(newMsg); + if (strMessage.length()>0 && strMessage.charAt(0)=='>') { + indent+=" "; + } + } + + + + public static void out(Throwable throwable) + { + throwable.printStackTrace(m_printStream); + } + + + + public static void assertion(boolean bAssertion) + { + if (!bAssertion) + { + throw new AssertException(); + } + } + + + public static class AssertException + extends RuntimeException + { + private static final long serialVersionUID = 1; + + public AssertException() + { + } + + + + public AssertException(String sMessage) + { + super(sMessage); + } + } + + + + private static boolean getBooleanProperty(String strName) + { + String strPropertyName = PROPERTY_PREFIX + strName; + String strValue = "false"; + try + { + strValue = System.getProperty(strPropertyName, "false"); + } + catch (AccessControlException e) + { + if (SHOW_ACCESS_CONTROL_EXCEPTIONS) + { + out(e); + } + } + // TDebug.out("property: " + strPropertyName + "=" + strValue); + boolean bValue = strValue.toLowerCase().equals("true"); + // TDebug.out("bValue: " + bValue); + return bValue; + } +} + + + +/*** TDebug.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/TNotifier.java b/src/main/java/com/github/trilarion/share/TNotifier.java new file mode 100644 index 0000000..45ba5d9 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/TNotifier.java @@ -0,0 +1,140 @@ +/* + * TNotifier.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share; + +import java.util.EventObject; +import java.util.Collection; +import java.util.ArrayList; +import java.util.List; +import java.util.Iterator; + +import javax.sound.sampled.LineListener; +import javax.sound.sampled.LineEvent; + + + +public class TNotifier +extends Thread +{ + public static class NotifyEntry + { + private EventObject m_event; + private List m_listeners; + + + + public NotifyEntry(EventObject event, Collection listeners) + { + m_event = event; + m_listeners = new ArrayList(listeners); + } + + + public void deliver() + { + // TDebug.out("%% TNotifier.NotifyEntry.deliver(): called."); + Iterator iterator = m_listeners.iterator(); + while (iterator.hasNext()) + { + LineListener listener = iterator.next(); + listener.update((LineEvent) m_event); + } + } + } + + + public static TNotifier notifier = null; + + static + { + notifier = new TNotifier(); + notifier.setDaemon(true); + notifier.start(); + } + + + + /** The queue of events to deliver. + * The entries are of class NotifyEntry. + */ + private List m_entries; + + + public TNotifier() + { + super("Tritonus Notifier"); + m_entries = new ArrayList(); + } + + + + public void addEntry(EventObject event, Collection listeners) + { + // TDebug.out("%% TNotifier.addEntry(): called."); + synchronized (m_entries) + { + m_entries.add(new NotifyEntry(event, listeners)); + m_entries.notifyAll(); + } + // TDebug.out("%% TNotifier.addEntry(): completed."); + } + + + public void run() + { + while (true) + { + NotifyEntry entry = null; + synchronized (m_entries) + { + while (m_entries.size() == 0) + { + try + { + m_entries.wait(); + } + catch (InterruptedException e) + { + if (TDebug.TraceAllExceptions) + { + TDebug.out(e); + } + } + } + entry = m_entries.remove(0); + } + entry.deliver(); + } + } +} + + +/*** TNotifier.java ***/ diff --git a/src/main/java/com/github/trilarion/share/TSettings.java b/src/main/java/com/github/trilarion/share/TSettings.java new file mode 100644 index 0000000..62f9d70 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/TSettings.java @@ -0,0 +1,73 @@ +/* + * TSettings.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2001 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share; + +import java.security.AccessControlException; + +import com.github.trilarion.share.TDebug; + + +public class TSettings +{ + public static boolean SHOW_ACCESS_CONTROL_EXCEPTIONS = false; + private static final String PROPERTY_PREFIX = "tritonus."; + + + public static boolean AlsaUsePlughw = getBooleanProperty("AlsaUsePlughw"); + + + + private static boolean getBooleanProperty(String strName) + { + String strPropertyName = PROPERTY_PREFIX + strName; + String strValue = "false"; + try + { + strValue = System.getProperty(strPropertyName, "false"); + } + catch (AccessControlException e) + { + if (SHOW_ACCESS_CONTROL_EXCEPTIONS) + { + TDebug.out(e); + } + } + // TDebug.out("property: " + strPropertyName + "=" + strValue); + boolean bValue = strValue.toLowerCase().equals("true"); + // TDebug.out("bValue: " + bValue); + return bValue; + } +} + + + +/*** TSettings.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/midi/MidiUtils.java b/src/main/java/com/github/trilarion/share/midi/MidiUtils.java new file mode 100644 index 0000000..bad1b8d --- /dev/null +++ b/src/main/java/com/github/trilarion/share/midi/MidiUtils.java @@ -0,0 +1,136 @@ +/* + * MidiUtils.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.midi; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +import com.github.trilarion.share.TDebug; + + + +/** Helper methods for reading and writing MIDI files. + */ +public class MidiUtils +{ + public static int getUnsignedInteger(byte b) + { + return (b < 0) ? b + 256 : b; + } + + + + public static int get14bitValue(int nLSB, int nMSB) + { + return (nLSB & 0x7F) | ((nMSB & 0x7F) << 7); + } + + + + public static int get14bitMSB(int nValue) + { + return (nValue >> 7) & 0x7F; + } + + + + public static int get14bitLSB(int nValue) + { + return nValue & 0x7F; + } + + + + public static byte[] getVariableLengthQuantity(long lValue) + { + ByteArrayOutputStream data = new ByteArrayOutputStream(); + try + { + writeVariableLengthQuantity(lValue, data); + } + catch (IOException e) + { + if (TDebug.TraceAllExceptions) { TDebug.out(e); } + } + return data.toByteArray(); + } + + + + public static int writeVariableLengthQuantity(long lValue, OutputStream outputStream) + throws IOException + { + int nLength = 0; + // IDEA: use a loop + boolean bWritingStarted = false; + int nByte = (int) ((lValue >> 21) & 0x7f); + if (nByte != 0) + { + if (outputStream != null) + { + outputStream.write(nByte | 0x80); + } + nLength++; + bWritingStarted = true; + } + nByte = (int) ((lValue >> 14) & 0x7f); + if (nByte != 0 || bWritingStarted) + { + if (outputStream != null) + { + outputStream.write(nByte | 0x80); + } + nLength++; + bWritingStarted = true; + } + nByte = (int) ((lValue >> 7) & 0x7f); + if (nByte != 0 || bWritingStarted) + { + if (outputStream != null) + { + outputStream.write(nByte | 0x80); + } + nLength++; + } + nByte = (int) (lValue & 0x7f); + if (outputStream != null) + { + outputStream.write(nByte); + } + nLength++; + return nLength; + } +} + + + +/*** MidiUtils.java ***/ diff --git a/src/main/java/com/github/trilarion/share/midi/TDirectSynthesizer.java b/src/main/java/com/github/trilarion/share/midi/TDirectSynthesizer.java new file mode 100644 index 0000000..5d8814c --- /dev/null +++ b/src/main/java/com/github/trilarion/share/midi/TDirectSynthesizer.java @@ -0,0 +1,133 @@ +/* + * TDirectSynthesizer.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2004 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.midi; + +import javax.sound.midi.MidiChannel; +import javax.sound.midi.MidiDevice; +import javax.sound.midi.MidiMessage; +import javax.sound.midi.ShortMessage; +import javax.sound.midi.Synthesizer; + + +/** + * Base class for Synthesizer implementations. + * + *

+ * This base class is for Synthesizer implementations that do not itself operate + * on MIDI, but instread implement the MidiChannel interface. For these + * implementations, MIDI behaviour is simulated on top of MidiChannel. + *

+ * + * @see javax.sound.midi.MidiChannel + * + * @author Matthias Pfisterer + */ +public abstract class TDirectSynthesizer +extends TMidiDevice +implements Synthesizer +{ + /** Initialize this class. + * This sets the info from the passed one, sets the open status + * to false, the number of Receivers to zero and the collection + * of Transmitters to be empty. + * + * @param info The info object that describes this instance. + */ + public TDirectSynthesizer(MidiDevice.Info info) + { + // no Transmitters, only Receivers + super(info, false, true); + } + + + /** + * Obtains the MidiChannel with the specified number. + * + * @param nChannel the requested channel number (0..15) + * @return the respective MidiChannel object + */ + private MidiChannel getChannel(int nChannel) + { + return getChannels()[nChannel]; + } + + + /** + * Handles MIDI messages coming in from Receivers. + * + */ + protected void receive(MidiMessage message, long lTimeStamp) + { + if (message instanceof ShortMessage) + { + ShortMessage shortMsg = (ShortMessage) message; + int nChannel = shortMsg.getChannel(); + int nCommand = shortMsg.getCommand(); + int nData1 = shortMsg.getData1(); + int nData2 = shortMsg.getData2(); + switch (nCommand) + { + case ShortMessage.NOTE_OFF: + getChannel(nChannel).noteOff(nData1, nData2); + break; + + case ShortMessage.NOTE_ON: + getChannel(nChannel).noteOn(nData1, nData2); + break; + + case ShortMessage.POLY_PRESSURE: + getChannel(nChannel).setPolyPressure(nData1, nData2); + break; + + case ShortMessage.CONTROL_CHANGE: + getChannel(nChannel).controlChange(nData1, nData2); + break; + + case ShortMessage.PROGRAM_CHANGE: + getChannel(nChannel).programChange(nData1); + break; + + case ShortMessage.CHANNEL_PRESSURE: + getChannel(nChannel).setChannelPressure(nData1); + break; + + case ShortMessage.PITCH_BEND: + getChannel(nChannel).setPitchBend(nData1 | (nData2 << 7)); + break; + + default: + } + } + } +} + + +/*** TDirectSynthesizer.java ***/ diff --git a/src/main/java/com/github/trilarion/share/midi/TMidiChannel.java b/src/main/java/com/github/trilarion/share/midi/TMidiChannel.java new file mode 100644 index 0000000..5dc34d3 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/midi/TMidiChannel.java @@ -0,0 +1,138 @@ +/* + * TMidiChannel.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2006 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.midi; + +import javax.sound.midi.MidiChannel; + + +/** + * Base class for MidiChannel implementations. + * + *

This base class serves two purposes:

+ * + *
    + *
  1. It contains a channel number property so that the MidiChannel + * object knows its own MIDI channel number.
  2. + * + *
  3. It maps some of the methods to others.
  4. + *
+ * + * @author Matthias Pfisterer + */ +public abstract class TMidiChannel +implements MidiChannel +{ + private int m_nChannel; + + protected TMidiChannel(int nChannel) + { + m_nChannel = nChannel; + } + + + protected int getChannel() + { + return m_nChannel; + } + + + public void noteOff(int nNoteNumber) + { + noteOff(nNoteNumber, 0); + } + + + public void programChange(int nBank, int nProgram) + { + int nBankMSB = nBank >> 7; + int nBankLSB = nBank & 0x7F; + controlChange(0, nBankMSB); + controlChange(32, nBankLSB); + programChange(nProgram); + } + + + public void resetAllControllers() + { + controlChange(121, 0); + } + + + public void allNotesOff() + { + controlChange(123, 0); + } + + + public void allSoundOff() + { + controlChange(120, 0); + } + + + public boolean localControl(boolean bOn) + { + controlChange(122, bOn ? 127 : 0); + return getController(122) >= 64; + } + + + + public void setMono(boolean bMono) + { + // TODO: check this + controlChange(bMono ? 126 : 127, 0); + } + + + public boolean getMono() + { + // TODO: check this + return getController(126) == 0; + } + + + public void setOmni(boolean bOmni) + { + controlChange(bOmni ? 125 : 124, 0); + } + + + public boolean getOmni() + { + // TODO: check this + return getController(125) == 0; + } +} + + + +/*** TMidiChannel.java ***/ diff --git a/src/main/java/com/github/trilarion/share/midi/TMidiDevice.java b/src/main/java/com/github/trilarion/share/midi/TMidiDevice.java new file mode 100644 index 0000000..bb9906e --- /dev/null +++ b/src/main/java/com/github/trilarion/share/midi/TMidiDevice.java @@ -0,0 +1,558 @@ +/* + * TMidiDevice.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2006 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.midi; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +import javax.sound.midi.InvalidMidiDataException; +import javax.sound.midi.MetaMessage; +import javax.sound.midi.MidiDevice; +import javax.sound.midi.MidiMessage; +import javax.sound.midi.MidiUnavailableException; +import javax.sound.midi.Receiver; +import javax.sound.midi.Transmitter; + +import com.github.trilarion.share.TDebug; + + +/** Base class for MidiDevice implementations. + * The goal of this class is to supply the common functionality for + * classes that implement the interface MidiDevice. + */ +public abstract class TMidiDevice +implements MidiDevice +{ + /** The Info object for a certain instance of MidiDevice. + */ + private MidiDevice.Info m_info; + + /** A flag to store whether the device is "open". + */ + private boolean m_bDeviceOpen; + + /** Whether to handle input from the physical port + and to allow Transmitters. + */ + private boolean m_bUseTransmitter; + + /** Whether to handle output to the physical port + and to allow Receivers. + */ + private boolean m_bUseReceiver; + + /** The list of Receiver objects that belong to this + * MidiDevice. + * + * @see #addReceiver + * @see #removeReceiver + */ + private List m_receivers; + + /** The list of Transmitter objects that belong to this + * MidiDevice. + * + * @see #addTransmitter + * @see #removeTransmitter + */ + private List m_transmitters; + + + + /** Initialize this class. + * This sets the info from the passed one, sets the open status + * to false, the number of Receivers to zero and the collection + * of Transmitters to be empty. + * + * @param info The info object that describes this instance. + */ + public TMidiDevice(MidiDevice.Info info) + { + this(info, true, true); + } + + + + /** Initialize this class. + * This sets the info from the passed one, sets the open status + * to false, the number of Receivers to zero and the collection + * of Transmitters to be empty. + * + * @param info The info object that describes this instance. + */ + public TMidiDevice(MidiDevice.Info info, + boolean bUseTransmitter, + boolean bUseReceiver) + { + m_info = info; + m_bUseTransmitter = bUseTransmitter; + m_bUseReceiver = bUseReceiver; + m_bDeviceOpen = false; + m_receivers = new ArrayList(); + m_transmitters = new ArrayList(); + } + + + + /** Retrieves a description of this instance. + * This returns the info object passed to the constructor. + * + * @return the description + * + * @see #TMidiDevice + */ + public MidiDevice.Info getDeviceInfo() + { + return m_info; + } + + + + public synchronized void open() + throws MidiUnavailableException + { + if (TDebug.TraceMidiDevice) { TDebug.out("TMidiDevice.open(): begin"); } + if (! isOpen()) + { + openImpl(); + /* If openImpl() throws a MidiUnavailableException, m_bDeviceOpen + * remains false. + */ + m_bDeviceOpen = true; + } + if (TDebug.TraceMidiDevice) { TDebug.out("TMidiDevice.open(): end"); } + } + + + + /** + * Subclasses have to override this method to be notified of + * opening. + */ + protected void openImpl() + throws MidiUnavailableException + { + if (TDebug.TraceMidiDevice) TDebug.out("TMidiDevice.openImpl(): begin"); + if (TDebug.TraceMidiDevice) TDebug.out("TMidiDevice.openImpl(): end"); + } + + + + public synchronized void close() + { + if (TDebug.TraceMidiDevice) { TDebug.out("TMidiDevice.close(): begin"); } + if (isOpen()) + { + closeImpl(); + // TODO: close all Receivers and Transmitters + m_bDeviceOpen = false; + } + if (TDebug.TraceMidiDevice) { TDebug.out("TMidiDevice.close(): end"); } + } + + + + /** + * Subclasses have to override this method to be notified of + * closeing. + */ + protected void closeImpl() + { + if (TDebug.TraceMidiDevice) TDebug.out("TMidiDevice.closeImpl(): begin"); + if (TDebug.TraceMidiDevice) TDebug.out("TMidiDevice.closeImpl(): end"); + } + + + + public boolean isOpen() + { + return m_bDeviceOpen; + } + + + + /** Returns whether to handle input. + If this is true, retrieving Transmitters is possible + and input from the physical port is passed to them. + + @see #getUseOut + */ + protected boolean getUseTransmitter() + { + return m_bUseTransmitter; + } + + + + /** Returns whether to handle output. + If this is true, retrieving Receivers is possible + and output to them is passed to the physical port. + + @see #getUseTransmitter + */ + protected boolean getUseReceiver() + { + return m_bUseReceiver; + } + + + + /** Returns the device time in microseconds. + This is a default implementation, telling the application + program that the device doesn't track time. If a device wants + to give timing information, it has to override this method. + */ + public long getMicrosecondPosition() + { + return -1; + } + + + + public int getMaxReceivers() + { + int nMaxReceivers = 0; + if (getUseReceiver()) + { + /* + * The value -1 means unlimited. + */ + nMaxReceivers = -1; + } + return nMaxReceivers; + } + + + + public int getMaxTransmitters() + { + int nMaxTransmitters = 0; + if (getUseTransmitter()) + { + /* + * The value -1 means unlimited. + */ + nMaxTransmitters = -1; + } + return nMaxTransmitters; + } + + + + /** Creates a new Receiver object associated with this instance. + * In this implementation, an unlimited number of Receivers + * per MidiDevice can be created. + */ + public Receiver getReceiver() + throws MidiUnavailableException + { + if (! getUseReceiver()) + { + throw new MidiUnavailableException("Receivers are not supported by this device"); + } + return new TReceiver(); + } + + + + /** Creates a new Transmitter object associated with this instance. + * In this implementation, an unlimited number of Transmitters + * per MidiDevice can be created. + */ + public Transmitter getTransmitter() + throws MidiUnavailableException + { + if (! getUseTransmitter()) + { + throw new MidiUnavailableException("Transmitters are not supported by this device"); + } + return new TTransmitter(); + } + + + + public List getReceivers() + { + return Collections.unmodifiableList(m_receivers); + } + + + public List getTransmitters() + { + return Collections.unmodifiableList(m_transmitters); + } + + + /* + * Intended for overriding by subclasses to receive messages. + * This method is called by TMidiDevice.Receiver object on + * receipt of a MidiMessage. + */ + protected void receive(MidiMessage message, long lTimeStamp) + { + if (TDebug.TraceMidiDevice) { TDebug.out("### [should be overridden] TMidiDevice.receive(): message " + message); } + } + + + + protected void addReceiver(Receiver receiver) + { + synchronized (m_receivers) + { + m_receivers.add(receiver); + } + } + + + + protected void removeReceiver(Receiver receiver) + { + synchronized (m_receivers) + { + m_receivers.remove(receiver); + } + } + + + + + protected void addTransmitter(Transmitter transmitter) + { + synchronized (m_transmitters) + { + m_transmitters.add(transmitter); + } + } + + + protected void removeTransmitter(Transmitter transmitter) + { + synchronized (m_transmitters) + { + m_transmitters.remove(transmitter); + } + } + + + + /** Send a MidiMessage to all Transmitters. + * This method should be called by subclasses when they get a + * message from a physical MIDI port. + */ + protected void sendImpl(MidiMessage message, long lTimeStamp) + { + if (TDebug.TraceMidiDevice) { TDebug.out("TMidiDevice.sendImpl(): begin"); } + Iterator transmitters = m_transmitters.iterator(); + while (transmitters.hasNext()) + { + TTransmitter transmitter = (TTransmitter) transmitters.next(); + /* due to a bug in the Sun jdk1.3, we cannot use + clone() for MetaMessages. So we have to do the + equivalent ourselves. + */ + // MidiMessage copiedMessage = (MidiMessage) message.clone(); + MidiMessage copiedMessage = null; + if (message instanceof MetaMessage) + { + MetaMessage origMessage = (MetaMessage) message; + MetaMessage metaMessage = new MetaMessage(); + try + { + metaMessage.setMessage(origMessage.getType(), origMessage.getData(), origMessage.getData().length); + } + catch (InvalidMidiDataException e) + { + if (TDebug.TraceAllExceptions) { TDebug.out(e); } + } + copiedMessage = metaMessage; + } + else + { + copiedMessage = (MidiMessage) message.clone(); + } + + if (message instanceof MetaMessage) + { + if (TDebug.TraceMidiDevice) { TDebug.out("TMidiDevice.sendImpl(): MetaMessage.getData().length (original): " + ((MetaMessage) message).getData().length); } + if (TDebug.TraceMidiDevice) { TDebug.out("TMidiDevice.sendImpl(): MetaMessage.getData().length (cloned): " + ((MetaMessage) copiedMessage).getData().length); } + } + transmitter.send(copiedMessage, lTimeStamp); + } + if (TDebug.TraceMidiDevice) { TDebug.out("TMidiDevice.sendImpl(): end"); } + } + + + + +/////////////////// INNER CLASSES ////////////////////////////////////// + + + /** Receiver proxy class. + * This class' objects are handed out on calls to + * TMidiDevice.getReceiver(). + */ + public class TReceiver + implements Receiver + { + private boolean m_bOpen; + + + + public TReceiver() + { + TMidiDevice.this.addReceiver(this); + m_bOpen = true; + } + + + + protected boolean isOpen() + { + return m_bOpen; + } + + + + /** Receive a MidiMessage. + * + */ + public void send(MidiMessage message, long lTimeStamp) + { + if (TDebug.TraceMidiDevice) { TDebug.out("TMidiDevice.TReceiver.send(): message " + message); } + if (m_bOpen) + { + TMidiDevice.this.receive(message, lTimeStamp); + } + else + { + throw new IllegalStateException("receiver is not open"); + } + } + + + + /** Closes the receiver. + * After a receiver has been closed, it does no longer + * propagate MidiMessages to its associated MidiDevice. + */ + public void close() + { + TMidiDevice.this.removeReceiver(this); + m_bOpen = false; + } + } + + + + + public class TTransmitter + implements Transmitter + { + private boolean m_bOpen; + private Receiver m_receiver; + + + + public TTransmitter() + { + m_bOpen = true; + TMidiDevice.this.addTransmitter(this); + } + + + + public void setReceiver(Receiver receiver) + { + synchronized (this) + { + m_receiver = receiver; + } + } + + + + public Receiver getReceiver() + { + return m_receiver; + } + + + + public void send(MidiMessage message, long lTimeStamp) + { + if (getReceiver() != null && m_bOpen) + { + getReceiver().send(message, lTimeStamp); + } + } + + + + /** Closes the transmitter. + * After a transmitter has been closed, it no longer + * passes MidiMessages to a Receiver previously set for + * it. + */ + public void close() + { + TMidiDevice.this.removeTransmitter(this); + m_bOpen = false; + /* Previously, this method just set m_receiver to null + instead of maintaining an open flag. This allows to exploit + the behaviour of calling close(), the setReceiver() again, + and the Transmitter is "reopened". TODO: write a test case + for this scenario. + */ + } + } + + + + /* + * This is needed only because MidiDevice.Info's + * constructor is protected (in the Sun jdk1.3). + */ + public static class Info + extends MidiDevice.Info + { + public Info(String a, String b, String c, String d) + { + super(a, b, c, d); + } + } + +} + + + +/*** TMidiDevice.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/midi/TMidiFileFormat.java b/src/main/java/com/github/trilarion/share/midi/TMidiFileFormat.java new file mode 100644 index 0000000..39049c7 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/midi/TMidiFileFormat.java @@ -0,0 +1,74 @@ +/* + * TMidiFileFormat.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.midi; + +import javax.sound.midi.MidiFileFormat; + + + +/** A MidiFileFormat that has information about the number of tracks. + * This class is used by org.tritonus.midi.file.StandardMidiFileReader. + * Its purpose is to carry the number of tracks from + * getMidiFileFormat() to getSequence(). + */ +public class TMidiFileFormat +extends MidiFileFormat +{ + private int m_nTrackCount; + + + + public TMidiFileFormat(int nType, + float fDivisionType, + int nResolution, + int nByteLength, + long lMicrosecondLength, + int nTrackCount) + { + super(nType, + fDivisionType, + nResolution, + nByteLength, + lMicrosecondLength); + m_nTrackCount = nTrackCount; + } + + + + public int getTrackCount() + { + return m_nTrackCount; + } +} + + + +/*** TMidiFileFormat.java ***/ diff --git a/src/main/java/com/github/trilarion/share/midi/TPreloadingSequencer.java b/src/main/java/com/github/trilarion/share/midi/TPreloadingSequencer.java new file mode 100644 index 0000000..36e44b2 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/midi/TPreloadingSequencer.java @@ -0,0 +1,136 @@ +/* + * TPreloadingSequencer.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2003 - 2004 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.midi; + +import java.util.Collection; + +import javax.sound.midi.MidiMessage; +import javax.sound.midi.MidiDevice; + +import com.github.trilarion.share.TDebug; + + + +/** Base class for sequencers that work with an internal queue. + To be more precise, this is the base class for sequencers that + do not load the complete Sequence to internal data structures before start, + but take single events from the Sequence and put them to the sequencing + queue while running. + */ +public abstract class TPreloadingSequencer +extends TSequencer +{ + /** The default value for {@link m_nLatency}. + This default value is set in the constructor. + */ + private static final int DEFAULT_LATENCY = 100; + + /** + */ + private int m_nLatency; + + @SuppressWarnings("unused") + private Thread m_loaderThread; + + /** + Sets the latency to the default value. + */ + protected TPreloadingSequencer(MidiDevice.Info info, + Collection masterSyncModes, + Collection slaveSyncModes) + { + super(info, masterSyncModes, + slaveSyncModes); + if (TDebug.TraceSequencer) { TDebug.out("TPreloadingSequencer.(): begin"); } + m_nLatency = DEFAULT_LATENCY; + if (TDebug.TraceSequencer) { TDebug.out("TPreloadingSequencer.(): end"); } + } + + + + + + + /** Sets the preloading intervall. + This is the time span between preloading events to an internal + queue and playing them. This intervall should be kept constant + by the implementation. However, this cannot be guaranteed. + */ + public void setLatency(int nLatency) + { + // TODO: preload if latency becomes shorter + m_nLatency = nLatency; + } + + + + /** Get the preloading intervall. + + @return the preloading intervall in milliseconds, or -1 if the sequencer + doesn't repond to changes in the Sequence at all. + */ + public int getLatency() + { + return m_nLatency; + } + + + // currently not called by subclasses. order has to be assured (subclass first) + protected void openImpl() + { + if (TDebug.TraceSequencer) { TDebug.out("AlsaSequencer.openImpl(): begin"); } + // m_loaderThread = new LoaderThread(); + // m_loaderThread.start(); + } + + + + /** Put a message into the queue. + This is Claus-Dieter's special method: it puts the message to + the ALSA queue for delivery at the specified time. + The time has to be given in ticks according to the resolution + of the currently active Sequence. For this method to work, + the Sequencer has to be started. The message is delivered + the same way as messages from a Sequence, i.e. to all + registered Transmitters. If the current queue position (as + returned by getTickPosition()) is + already behind the desired schedule time, the message is + ignored. + + @param message the MidiMessage to put into the queue. + + @param lTick the desired schedule time in ticks. + */ + public abstract void sendMessageTick(MidiMessage message, long lTick); + +} + + + +/*** TPreloadingSequencer.java ***/ diff --git a/src/main/java/com/github/trilarion/share/midi/TSequencer.java b/src/main/java/com/github/trilarion/share/midi/TSequencer.java new file mode 100644 index 0000000..a4650a4 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/midi/TSequencer.java @@ -0,0 +1,858 @@ +/* + * TSequencer.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2003 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.midi; + +import java.io.InputStream; +import java.io.IOException; + +import java.util.BitSet; +import java.util.Collection; +import java.util.Iterator; +import java.util.Set; + +import javax.sound.midi.MidiSystem; +import javax.sound.midi.Sequencer; +import javax.sound.midi.Sequence; +import javax.sound.midi.InvalidMidiDataException; +import javax.sound.midi.MetaMessage; +import javax.sound.midi.MetaEventListener; +import javax.sound.midi.MidiMessage; +import javax.sound.midi.ShortMessage; +import javax.sound.midi.ControllerEventListener; +import javax.sound.midi.MidiDevice; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.ArraySet; + + + + +public abstract class TSequencer +extends TMidiDevice +implements Sequencer +{ + private static final float MPQ_BPM_FACTOR = 6.0E7F; + // This is for use in Collection.toArray(Object[]). + private static final SyncMode[] EMPTY_SYNCMODE_ARRAY = new SyncMode[0]; + + + private boolean m_bRunning; + + + /** The Sequence to play or to record to. + */ + private Sequence m_sequence; + + /** The listeners that want to be notified of MetaMessages. + */ + private Set m_metaListeners; + + /** The listeners that want to be notified of control change events. + * They are organized as follows: this array is indexed with + * the number of the controller change events listeners are + * interested in. If there is any interest, the array element + * contains a reference to a Set containing the listeners. + * These sets are allocated on demand. + */ + private Set[] m_aControllerListeners; + + private float m_fNominalTempoInMPQ; + private float m_fTempoFactor; + private Collection m_masterSyncModes; + private Collection m_slaveSyncModes; + private SyncMode m_masterSyncMode; + private SyncMode m_slaveSyncMode; + private BitSet m_muteBitSet; + private BitSet m_soloBitSet; + + /** Contains the enabled state of the tracks. + This BitSet holds the pre-calculated effect of mute and + solo status. + */ + private BitSet m_enabledBitSet; + + /** Start of the loop in ticks. + */ + private long m_lLoopStartPoint; + + /** End of the loop in ticks. + */ + private long m_lLoopEndPoint; + + /** Loop count. + */ + private int m_nLoopCount; + + + /** + */ + @SuppressWarnings("unchecked") + protected TSequencer(MidiDevice.Info info, + Collection masterSyncModes, + Collection slaveSyncModes) + { + super(info); + m_bRunning = false; + m_sequence = null; + m_metaListeners = new ArraySet(); + m_aControllerListeners = (Set[]) new Set[128]; + setTempoFactor(1.0F); + setTempoInMPQ(500000); + // TODO: make a copy + m_masterSyncModes = masterSyncModes; + m_slaveSyncModes = slaveSyncModes; + if (getMasterSyncModes().length > 0) + { + m_masterSyncMode = getMasterSyncModes()[0]; + } + if (getSlaveSyncModes().length > 0) + { + m_slaveSyncMode = getSlaveSyncModes()[0]; + } + m_muteBitSet = new BitSet(); + m_soloBitSet = new BitSet(); + m_enabledBitSet = new BitSet(); + updateEnabled(); + setLoopStartPoint(0); + setLoopEndPoint(-1); + setLoopCount(0); + } + + + + public void setSequence(Sequence sequence) + throws InvalidMidiDataException + { + // TODO: what if playing is in progress? + if (getSequence() != sequence) + { + m_sequence = sequence; + setSequenceImpl(); + /* Yes, resetting the tempo factor is required by the specification. + TODO: can't find this any more in the spec. + + It is unclear whether this should be executed in any case + (even if in fact the sequence didn't change). + */ + setTempoFactor(1.0F); + } + } + + + /** Set Sequence. + Subclasses that need to be informed when a Sequence is set + should override this method. It is called by setSequence(). + Subclasses can find out the new Sequence by calling getSequence(). + */ + // TODO: make abstract + protected void setSequenceImpl() + { + } + + + public void setSequence(InputStream inputStream) + throws InvalidMidiDataException, IOException + { + Sequence sequence = MidiSystem.getSequence(inputStream); + setSequence(sequence); + } + + + + public Sequence getSequence() + { + return m_sequence; + } + + + + public void setLoopStartPoint(long lTick) + { + m_lLoopStartPoint = lTick; + } + + + public long getLoopStartPoint() + { + return m_lLoopStartPoint; + } + + + public void setLoopEndPoint(long lTick) + { + m_lLoopEndPoint = lTick; + } + + + public long getLoopEndPoint() + { + return m_lLoopEndPoint; + } + + + public void setLoopCount(int nLoopCount) + { + m_nLoopCount = nLoopCount; + } + + + public int getLoopCount() + { + return m_nLoopCount; + } + + + + public synchronized void start() + { + checkOpen(); + if (! isRunning()) + { + m_bRunning = true; + // TODO: perhaps check if sequence present + startImpl(); + } + } + + + /** + * Subclasses have to override this method to be notified of + * starting. + */ + protected void startImpl() + { + } + + + + public synchronized void stop() + { + checkOpen(); + if (isRunning()) + { + stopImpl(); + m_bRunning = false; + } + } + + + + /** + * Subclasses have to override this method to be notified of + * stopping. + */ + protected void stopImpl() + { + } + + + + public synchronized boolean isRunning() + { + return m_bRunning; + } + + + + /** Checks if the Sequencer is open. + This method is intended to be called by + {@link javax.sound.midi.Sequencer#start start}, + {@link javax.sound.midi.Sequencer#stop stop}, + {@link javax.sound.midi.Sequencer#startRecording startRecording} + and {@link javax.sound.midi.Sequencer#stop stopRecording}. + + @throws IllegalStateException if the Sequencer is not open + */ + protected void checkOpen() + { + if (! isOpen()) + { + throw new IllegalStateException("Sequencer is not open"); + } + } + + + + /** Returns the resolution (ticks per quarter) of the current sequence. + If no sequence is set, a bogus default value != 0 is returned. + */ + protected int getResolution() + { + Sequence sequence = getSequence(); + int nResolution; + if (sequence != null) + { + nResolution = sequence.getResolution(); + } + else + { + nResolution = 1; + } + return nResolution; + } + + + + protected void setRealTempo() + { + float fTempoFactor = getTempoFactor(); + if (fTempoFactor == 0.0F) + { + fTempoFactor = 0.01F; + } + float fRealTempo = getTempoInMPQ() / fTempoFactor; + if (TDebug.TraceSequencer) { TDebug.out("TSequencer.setRealTempo(): real tempo: " + fRealTempo); } + setTempoImpl(fRealTempo); + } + + + + public float getTempoInBPM() + { + float fBPM = MPQ_BPM_FACTOR / getTempoInMPQ(); + return fBPM; + } + + + + public void setTempoInBPM(float fBPM) + { + float fMPQ = MPQ_BPM_FACTOR / fBPM; + setTempoInMPQ(fMPQ); + } + + + + public float getTempoInMPQ() + { + return m_fNominalTempoInMPQ; + } + + + /** Sets the tempo. + Implementation classes are required to call this method for changing + the tempo in reaction to a tempo change event. + */ + public void setTempoInMPQ(float fMPQ) + { + m_fNominalTempoInMPQ = fMPQ; + setRealTempo(); + } + + + + public void setTempoFactor(float fFactor) + { + m_fTempoFactor = fFactor; + setRealTempo(); + } + + + + public float getTempoFactor() + { + return m_fTempoFactor; + } + + + + /** Change the tempo of the native sequencer part. + * This method has to be defined by subclasses according + * to the native facilities they use for sequenceing. + * The implementation should not take into account the + * tempo factor. This is handled elsewhere. + */ + protected abstract void setTempoImpl(float fMPQ); + + + + // NOTE: has to be redefined if recording is done natively + public long getTickLength() + { + long lLength = 0; + if (getSequence() != null) + { + lLength = getSequence().getTickLength(); + } + return lLength; + } + + + + // NOTE: has to be redefined if recording is done natively + public long getMicrosecondLength() + { + long lLength = 0; + if (getSequence() != null) + { + lLength = getSequence().getMicrosecondLength(); + } + return lLength; + } + + + + + public boolean addMetaEventListener(MetaEventListener listener) + { + synchronized (m_metaListeners) + { + return m_metaListeners.add(listener); + } + } + + + + public void removeMetaEventListener(MetaEventListener listener) + { + synchronized (m_metaListeners) + { + m_metaListeners.remove(listener); + } + } + + + protected Iterator getMetaEventListeners() + { + synchronized (m_metaListeners) + { + return m_metaListeners.iterator(); + } + } + + + + protected void sendMetaMessage(MetaMessage message) + { + Iterator iterator = getMetaEventListeners(); + while (iterator.hasNext()) + { + MetaEventListener metaEventListener = iterator.next(); + MetaMessage copiedMessage = (MetaMessage) message.clone(); + metaEventListener.meta(copiedMessage); + } + } + + + + public int[] addControllerEventListener(ControllerEventListener listener, int[] anControllers) + { + synchronized (m_aControllerListeners) + { + if (anControllers == null) + { + /* + * Add to all controllers. NOTE: this + * is an implementation-specific + * semantic! + */ + for (int i = 0; i < 128; i++) + { + addControllerListener(i, listener); + } + } + else + { + for (int i = 0; i < anControllers.length; i++) + { + addControllerListener(anControllers[i], listener); + } + } + } + return getListenedControllers(listener); + } + + + + private void addControllerListener(int i, + ControllerEventListener listener) + { + if (m_aControllerListeners[i] == null) + { + m_aControllerListeners[i] = new ArraySet(); + } + m_aControllerListeners[i].add(listener); + } + + + + public int[] removeControllerEventListener(ControllerEventListener listener, int[] anControllers) + { + synchronized (m_aControllerListeners) + { + if (anControllers == null) + { + /* + * Remove from all controllers. Unlike + * above, this is specified semantics. + */ + for (int i = 0; i < 128; i++) + { + removeControllerListener(i, listener); + } + } + else + { + for (int i = 0; i < anControllers.length; i++) + { + removeControllerListener(anControllers[i], listener); + } + } + } + return getListenedControllers(listener); + } + + + + private void removeControllerListener(int i, + ControllerEventListener listener) + { + if (m_aControllerListeners[i] != null) + { + m_aControllerListeners[i].add(listener); + } + } + + + + private int[] getListenedControllers(ControllerEventListener listener) + { + int[] anControllers = new int[128]; + int nIndex = 0; // points to the next position to use. + for (int nController = 0; nController < 128; nController++) + { + if (m_aControllerListeners[nController] != null && + m_aControllerListeners[nController].contains(listener)) + { + anControllers[nIndex] = nController; + nIndex++; + } + } + int[] anResultControllers = new int[nIndex]; + System.arraycopy(anControllers, 0, anResultControllers, 0, nIndex); + return anResultControllers; + } + + + + protected void sendControllerEvent(ShortMessage message) + { + int nController = message.getData1(); + if (m_aControllerListeners[nController] != null) + { + Iterator iterator = m_aControllerListeners[nController].iterator(); + while (iterator.hasNext()) + { + ControllerEventListener controllerEventListener = iterator.next(); + ShortMessage copiedMessage = (ShortMessage) message.clone(); + controllerEventListener.controlChange(copiedMessage); + } + } + } + + + + protected void notifyListeners(MidiMessage message) + { + if (message instanceof MetaMessage) + { + // IDEA: use extra thread for event delivery + sendMetaMessage((MetaMessage) message); + } + else if (message instanceof ShortMessage && ((ShortMessage) message).getCommand() == ShortMessage.CONTROL_CHANGE) + { + sendControllerEvent((ShortMessage) message); + } + } + + + + public SyncMode getMasterSyncMode() + { + return m_masterSyncMode; + } + + + + public void setMasterSyncMode(SyncMode syncMode) + { + if (m_masterSyncModes.contains(syncMode)) + { + if (! getMasterSyncMode().equals(syncMode)) + { + m_masterSyncMode = syncMode; + setMasterSyncModeImpl(syncMode); + } + } + else + { + throw new IllegalArgumentException("sync mode not allowed: " + syncMode); + } + } + + + /* + This method is guaranteed only to be called if the sync mode really changes. + */ + protected void setMasterSyncModeImpl(SyncMode syncMode) + { + // DO NOTHING + } + + + + public SyncMode[] getMasterSyncModes() + { + SyncMode[] syncModes = m_masterSyncModes.toArray(EMPTY_SYNCMODE_ARRAY); + return syncModes; + } + + + + public SyncMode getSlaveSyncMode() + { + return m_slaveSyncMode; + } + + + + public void setSlaveSyncMode(SyncMode syncMode) + { + if (m_slaveSyncModes.contains(syncMode)) + { + if (! getSlaveSyncMode().equals(syncMode)) + { + m_slaveSyncMode = syncMode; + setSlaveSyncModeImpl(syncMode); + } + } + else + { + throw new IllegalArgumentException("sync mode not allowed: " + syncMode); + } + } + + + + /* + This method is guaranteed only to be called if the sync mode really changes. + */ + protected void setSlaveSyncModeImpl(SyncMode syncMode) + { + // DO NOTHING + } + + + + public SyncMode[] getSlaveSyncModes() + { + SyncMode[] syncModes = m_slaveSyncModes.toArray(EMPTY_SYNCMODE_ARRAY); + return syncModes; + } + + + + public boolean getTrackSolo(int nTrack) + { + boolean bSoloed = false; + if (getSequence() != null) + { + if (nTrack < getSequence().getTracks().length) + { + bSoloed = m_soloBitSet.get(nTrack); + } + } + return bSoloed; + } + + + + public void setTrackSolo(int nTrack, boolean bSolo) + { + if (getSequence() != null) + { + if (nTrack < getSequence().getTracks().length) + { + boolean bOldState = m_soloBitSet.get(nTrack); + if (bSolo != bOldState) + { + if (bSolo) + { + m_soloBitSet.set(nTrack); + } + else + { + m_soloBitSet.clear(nTrack); + } + updateEnabled(); + setTrackSoloImpl(nTrack, bSolo); + } + } + } + } + + + + protected void setTrackSoloImpl(int nTrack, boolean bSolo) + { + } + + + + public boolean getTrackMute(int nTrack) + { + boolean bMuted = false; + if (getSequence() != null) + { + if (nTrack < getSequence().getTracks().length) + { + bMuted = m_muteBitSet.get(nTrack); + } + } + return bMuted; + } + + + + public void setTrackMute(int nTrack, boolean bMute) + { + if (getSequence() != null) + { + if (nTrack < getSequence().getTracks().length) + { + boolean bOldState = m_muteBitSet.get(nTrack); + if (bMute != bOldState) + { + if (bMute) + { + m_muteBitSet.set(nTrack); + } + else + { + m_muteBitSet.clear(nTrack); + } + updateEnabled(); + setTrackMuteImpl(nTrack, bMute); + } + } + } + } + + + protected void setTrackMuteImpl(int nTrack, boolean bMute) + { + } + + + + private void updateEnabled() + { + BitSet oldEnabledBitSet = (BitSet) m_enabledBitSet.clone(); + boolean bSoloExists = m_soloBitSet.length() > 0; + if (bSoloExists) + { + m_enabledBitSet = (BitSet) m_soloBitSet.clone(); + } + else + { + for (int i = 0; i < m_muteBitSet.size(); i++) + { + if (m_muteBitSet.get(i)) + { + m_enabledBitSet.clear(i); + } + else + { + m_enabledBitSet.set(i); + } + } + } + oldEnabledBitSet.xor(m_enabledBitSet); + /* oldEnabledBitSet now has a bit set if the status for + this bit changed. + */ + for (int i = 0; i < oldEnabledBitSet.size(); i++) + { + if (oldEnabledBitSet.get(i)) + { + setTrackEnabledImpl(i, m_enabledBitSet.get(i)); + } + } + } + + + + /** Shows that a track state has changed. + This method is called for each track where the enabled + state (calculated from mute and solo) has changed. + The boolean value passed represents the new state. + + @param nTrack The track number for which the enabled status + has changed. + + @param bEnabled The new enabled state for this track. + */ + protected void setTrackEnabledImpl(int nTrack, boolean bEnabled) + { + } + + + + protected boolean isTrackEnabled(int nTrack) + { + return m_enabledBitSet.get(nTrack); + } + + + + /** Sets the preloading intervall. + This is the time span between preloading events to an internal + queue and playing them. This intervall should be kept constant + by the implementation. However, this cannot be guaranteed. + */ + public void setLatency(int nMilliseconds) + { + } + + + + /** Get the preloading intervall. + + @return the preloading intervall in milliseconds, or -1 if the sequencer + doesn't repond to changes in the Sequence at all. + */ + public int getLatency() + { + return -1; + } +} + + + +/*** TSequencer.java ***/ diff --git a/src/main/java/com/github/trilarion/share/midi/package.html b/src/main/java/com/github/trilarion/share/midi/package.html new file mode 100644 index 0000000..03b1932 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/midi/package.html @@ -0,0 +1,14 @@ + + + + + + +

Base classes and helper classes for the implementation of MIDI stuff. + The classes provided here .

+ + @see org.tritonus.midi.device.alsa + @see org.tritonus.midi.device.java + @see org.tritonus.midi.file + + diff --git a/src/main/java/com/github/trilarion/share/package.html b/src/main/java/com/github/trilarion/share/package.html new file mode 100644 index 0000000..200904d --- /dev/null +++ b/src/main/java/com/github/trilarion/share/package.html @@ -0,0 +1,10 @@ + + + + + + +

Misc helper classes. + The classes provided here .

+ + diff --git a/src/main/java/com/github/trilarion/share/sampled/AudioFileTypes.java b/src/main/java/com/github/trilarion/share/sampled/AudioFileTypes.java new file mode 100644 index 0000000..16404e3 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/AudioFileTypes.java @@ -0,0 +1,154 @@ +/* + * AudioFileTypes.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + + +package com.github.trilarion.share.sampled; + +import javax.sound.sampled.AudioFileFormat; +import com.github.trilarion.share.StringHashedSet; + +/** + * This class is a proposal for generic handling of audio file format types. + * The main purpose is to provide a standardized way of + * implementing audio file format types. Like this, file types + * are only identified by their String name, and not, as currently, + * by their object instance. + *

+ * A standard registry of file type names will + * be maintained by the Tritonus team. + *

+ * In a specification request to JavaSoft, these static methods + * could be integrated intoAudioFileFormat.Type. The static + * instances of AIFF, AIFC, AU, SND, and WAVE types in class + * AudioFileFormat.Type should be retrieved + * using this method, too (internally).
+ * At best, the protected constructor of that class + * should also be replaced to be a private constructor. + * Like this it will be prevented that developers create + * instances of Type, which causes problems with the + * equals method. In fact, the equals method should be redefined anyway + * so that it compares the names and not the objects. + *

+ * Also, the file name extension should be deprecated and moved + * to AudioFileFormat. There are some file formats + * which have varying extensions depending, e.g. on the encoding. + * An example for this is MPEG: the special encoding Mpeg 1, layer 3 + * has the extension mp3, whereas other Mpeg files use mpeg or mpg.
+ * This could be implemented with 2 methods in AudioFileFormat: + *

  1. String[] getFileExtensions(): returns all usable extensions + * for this file. + *
  2. String getDefaultFileExtension(): returns the preferred extension. + *
+ * + * @author Florian Bomers + */ +public class AudioFileTypes extends AudioFileFormat.Type { + + /** contains all known types */ + private static StringHashedSet types = new StringHashedSet(); + + // initially add the standard types + static { + types.add(AudioFileFormat.Type.AIFF); + types.add(AudioFileFormat.Type.AIFC); + types.add(AudioFileFormat.Type.AU); + types.add(AudioFileFormat.Type.SND); + types.add(AudioFileFormat.Type.WAVE); + } + + AudioFileTypes(String name, String ext) { + super(name, ext); + } + + /** + * Use this method to retrieve an instance of + * AudioFileFormat.Type of the specified + * name. If no type of this name is in the internally + * maintained list, null is returned. + *

+ * This method is supposed to be used by user programs. + *

+ * In order to assure a well-filled internal list, + * call AudioSystem.getAudioFileTypes() + * at initialization time. + * + * @see #getType(String, String) + */ + public static AudioFileFormat.Type getType(String name) { + return getType(name, null); + } + + /** + * Use this method to retrieve an instance of + * AudioFileFormat.Type of the specified + * name. If it does not exist in the internal list + * of types, a new type is created and returned. + * If it a type of that name already exists (regardless + * of extension), it is returned. In this case it can + * not be guaranteed that the extension is the same as + * passed as parameter.
+ * If extension is null, + * this method returns null if the + * type of the specified name does not exist in the + * internal list. + *

+ * This method is supposed to be used by file providers. + * Every file reader and file writer provider should + * exclusively use this method for retrieving instances + * of AudioFileFormat.Type. + */ + public static AudioFileFormat.Type getType(String name, String extension) { + AudioFileFormat.Type res = types.get(name); + if (res==null) { + // it is not already in the string set. + if (extension==null) { + return null; + } + // Create a new type instance. + res=new AudioFileTypes(name, extension); + // and save it for the future + types.add(res); + } + return res; + } + + /** + * Tests for equality of 2 file types. They are equal when their names match. + *

+ * This function should be AudioFileFormat.Type.equals and must + * be considered as a temporary workaround until it flows into the + * JavaSound API. + */ + // IDEA: create a special "NOT_SPECIFIED" file type + // and a AudioFileFormat.Type.matches method. + public static boolean equals(AudioFileFormat.Type t1, AudioFileFormat.Type t2) { + return t2.toString().equals(t1.toString()); + } + +} + +/*** AudioFileTypes.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/sampled/AudioFormatSet.java b/src/main/java/com/github/trilarion/share/sampled/AudioFormatSet.java new file mode 100644 index 0000000..a84ca2a --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/AudioFormatSet.java @@ -0,0 +1,159 @@ +/* + * AudioFormatSet.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled; + +import java.util.Collection; +import java.util.Iterator; + +import javax.sound.sampled.AudioFormat; + +import com.github.trilarion.share.ArraySet; +import com.github.trilarion.share.sampled.AudioFormats; + + +/** + * A set where the elements are uniquely referenced by + * AudioFormats.equals rather than their object reference. + * No 2 equal AudioFormats can exist in the set. + *

+ * This class provide convenience methods like + * getAudioFormat(AudioFormat) and + * matches(AudioFormat). + *

+ * The contains(Object elem) and get(Object elem) + * fail, if elem is not an instance of AudioFormat. + *

+ * You shouldn't use the ArrayList specific functions + * like those that take index parameters. + *

+ * It is not possible to add null elements. + *

+ * Currently, the methods equals(.,.) and matches(.,.) of + * class AudioFormats are used. Let's hope that they will + * be integrated into AudioFormat. + */ + +public class AudioFormatSet extends ArraySet +{ + private static final long serialVersionUID = 1; + + protected static final AudioFormat[] EMPTY_FORMAT_ARRAY = new AudioFormat[0]; + + public AudioFormatSet() { + super(); + } + + public AudioFormatSet(Collection c) { + super(c); + } + + @Override + public boolean add(AudioFormat elem) { + if (elem==null) { + return false; + } + return super.add(elem); + } + + public boolean contains(AudioFormat elem) { + if (elem==null) { + return false; + } + AudioFormat comp= elem; + Iterator it=iterator(); + while (it.hasNext()) { + if (AudioFormats.equals(comp, it.next())) { + return true; + } + } + return false; + } + + public AudioFormat get(AudioFormat elem) { + if (elem==null) { + return null; + } + AudioFormat comp= elem; + Iterator it=iterator(); + while (it.hasNext()) { + AudioFormat thisElem=it.next(); + if (AudioFormats.equals(comp, thisElem)) { + return thisElem; + } + } + return null; + } + + public AudioFormat getAudioFormat(AudioFormat elem) { + return get(elem); + } + + /** + * Checks whether this Set contains an AudioFormat + * that matches elem. + * The first matching format is returned. If no element + * matches elem, null is returned. + *

+ * @see AudioFormats#matches(AudioFormat, AudioFormat) + */ + public AudioFormat matches(AudioFormat elem) { + if (elem==null) { + return null; + } + Iterator it=iterator(); + while (it.hasNext()) { + AudioFormat thisElem=it.next(); + if (AudioFormats.matches(elem, thisElem)) { + return thisElem; + } + } + return null; + } + + + // $$mp: TODO: remove; should be obsolete + public AudioFormat[] toAudioFormatArray() { + return toArray(EMPTY_FORMAT_ARRAY); + } + + + @Override + public void add(int index, AudioFormat element) { + throw new UnsupportedOperationException("unsupported"); + } + + @Override + public AudioFormat set(int index, AudioFormat element) { + throw new UnsupportedOperationException("unsupported"); + } +} + +/*** AudioFormatSet.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/AudioFormats.java b/src/main/java/com/github/trilarion/share/sampled/AudioFormats.java new file mode 100644 index 0000000..c5aabc7 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/AudioFormats.java @@ -0,0 +1,131 @@ +/* + * AudioFormats.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999,2000 by Matthias Pfisterer + * Copyright (c) 1999 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; + + + +public class AudioFormats +{ + private static boolean doMatch(int i1, int i2) + { + return i1 == AudioSystem.NOT_SPECIFIED + || i2 == AudioSystem.NOT_SPECIFIED + || i1 == i2; + } + + + + private static boolean doMatch(float f1, float f2) + { + return f1 == AudioSystem.NOT_SPECIFIED + || f2 == AudioSystem.NOT_SPECIFIED + || Math.abs(f1 - f2) < 1.0e-9; + } + + + + /** + * Tests whether 2 AudioFormats have matching formats. + * A field matches when it is AudioSystem.NOT_SPECIFIED in + * at least one of the formats or the field is the same + * in both formats.
+ * Exceptions: + *

    + *
  • Encoding must always be equal for a match. + *
  • For a match, endianness must be equal if SampleSizeInBits is not + * AudioSystem.NOT_SPECIFIED and greater than 8bit in both formats.
    + * In other words: If SampleSizeInBits is AudioSystem.NOT_SPECIFIED + * in either format or both formats have a SampleSizeInBits<8, + * endianness does not matter. + *
+ * This is a proposition to be used as AudioFormat.matches. + * It can therefore be considered as a temporary workaround. + */ + // IDEA: create a special "NOT_SPECIFIED" encoding + // and a AudioFormat.Encoding.matches method. + public static boolean matches(AudioFormat format1, + AudioFormat format2) + { + //$$fb 19 Dec 99: endian must be checked, too. + // + // we do have a problem with redundant elements: + // e.g. + // encoding=ALAW || ULAW -> bigEndian and samplesizeinbits don't matter + // sample size in bits == 8 -> bigEndian doesn't matter + // sample size in bits > 8 -> PCM is always signed. + // This is an overall issue in JavaSound, I think. + // At present, it is not consistently implemented to support these + // redundancies and implicit definitions + // + // As a workaround of this issue I return in the converters + // all combinations, e.g. for ULAW I return bigEndian and !bigEndian formats. +/* old version +*/ + // as proposed by florian + return format1.getEncoding().equals(format2.getEncoding()) + && (format2.getSampleSizeInBits()<=8 + || format1.getSampleSizeInBits()==AudioSystem.NOT_SPECIFIED + || format2.getSampleSizeInBits()==AudioSystem.NOT_SPECIFIED + || format1.isBigEndian()==format2.isBigEndian()) + && doMatch(format1.getChannels(),format2.getChannels()) + && doMatch(format1.getSampleSizeInBits(), format2.getSampleSizeInBits()) + && doMatch(format1.getFrameSize(), format2.getFrameSize()) + && doMatch(format1.getSampleRate(), format2.getSampleRate()) + && doMatch(format1.getFrameRate(),format2.getFrameRate()); + } + + /** + * Tests for exact equality of 2 AudioFormats. + * This is the behaviour of AudioFormat.matches in JavaSound 1.0. + *

+ * This is a proposition to be used as AudioFormat.equals. + * It can therefore be considered as a temporary workaround. + */ + public static boolean equals(AudioFormat format1, + AudioFormat format2) + { + return format1.getEncoding().equals(format2.getEncoding()) + && format1.getChannels() == format2.getChannels() + && format1.getSampleSizeInBits() == format2.getSampleSizeInBits() + && format1.getFrameSize() == format2.getFrameSize() + && (Math.abs(format1.getSampleRate() - format2.getSampleRate()) < 1.0e-9) + && (Math.abs(format1.getFrameRate() - format2.getFrameRate()) < 1.0e-9); + } + +} + + + +/*** AudioFormats.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/AudioSystemShadow.java b/src/main/java/com/github/trilarion/share/sampled/AudioSystemShadow.java new file mode 100644 index 0000000..c5d7f1c --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/AudioSystemShadow.java @@ -0,0 +1,115 @@ +/* + * AudioSystemShadow.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999, 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled; + +import java.io.File; +import java.io.OutputStream; +import java.io.IOException; + +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioFormat; + +import com.github.trilarion.share.sampled.file.AudioOutputStream; +import com.github.trilarion.share.sampled.file.TDataOutputStream; +import com.github.trilarion.share.sampled.file.TSeekableDataOutputStream; +import com.github.trilarion.share.sampled.file.TNonSeekableDataOutputStream; +import com.github.trilarion.sampled.file.AiffAudioOutputStream; +import com.github.trilarion.sampled.file.AuAudioOutputStream; +import com.github.trilarion.sampled.file.WaveAudioOutputStream; + + + +/** Experminatal area for AudioSystem. + * This class is used to host features that may become part of the + * Java Sound API (In which case they will be moved to AudioSystem). + */ +public class AudioSystemShadow +{ + public static TDataOutputStream getDataOutputStream(File file) + throws IOException + { + return new TSeekableDataOutputStream(file); + } + + + + public static TDataOutputStream getDataOutputStream(OutputStream stream) + throws IOException + { + return new TNonSeekableDataOutputStream(stream); + } + + + + // TODO: lLengthInBytes actually should be lLengthInFrames (design problem of A.O.S.) + public static AudioOutputStream getAudioOutputStream(AudioFileFormat.Type type, AudioFormat audioFormat, long lLengthInBytes, TDataOutputStream dataOutputStream) + { + AudioOutputStream audioOutputStream = null; + + if (type.equals(AudioFileFormat.Type.AIFF) || + type.equals(AudioFileFormat.Type.AIFF)) + { + audioOutputStream = new AiffAudioOutputStream(audioFormat, type, lLengthInBytes, dataOutputStream); + } + else if (type.equals(AudioFileFormat.Type.AU)) + { + audioOutputStream = new AuAudioOutputStream(audioFormat, lLengthInBytes, dataOutputStream); + } + else if (type.equals(AudioFileFormat.Type.WAVE)) + { + audioOutputStream = new WaveAudioOutputStream(audioFormat, lLengthInBytes, dataOutputStream); + } + return audioOutputStream; + } + + + + public static AudioOutputStream getAudioOutputStream(AudioFileFormat.Type type, AudioFormat audioFormat, long lLengthInBytes, File file) + throws IOException + { + TDataOutputStream dataOutputStream = getDataOutputStream(file); + AudioOutputStream audioOutputStream = getAudioOutputStream(type, audioFormat, lLengthInBytes, dataOutputStream); + return audioOutputStream; + } + + + + public static AudioOutputStream getAudioOutputStream(AudioFileFormat.Type type, AudioFormat audioFormat, long lLengthInBytes, OutputStream outputStream) + throws IOException + { + TDataOutputStream dataOutputStream = getDataOutputStream(outputStream); + AudioOutputStream audioOutputStream = getAudioOutputStream(type, audioFormat, lLengthInBytes, dataOutputStream); + return audioOutputStream; + } +} + + +/*** AudioSystemShadow.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/AudioUtils.java b/src/main/java/com/github/trilarion/share/sampled/AudioUtils.java new file mode 100644 index 0000000..6119846 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/AudioUtils.java @@ -0,0 +1,343 @@ +/* + * AudioUtils.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled; + +import java.util.Iterator; + +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.Mixer; + + + +@SuppressWarnings("cast") +public class AudioUtils +{ + public static long getLengthInBytes(AudioInputStream audioInputStream) + { + return getLengthInBytes(audioInputStream.getFormat(), + audioInputStream.getFrameLength()); +/* + long lLengthInFrames = audioInputStream.getFrameLength(); + int nFrameSize = audioInputStream.getFormat().getFrameSize(); + if (lLengthInFrames >= 0 && nFrameSize >= 1) + { + return lLengthInFrames * nFrameSize; + } + else + { + return AudioSystem.NOT_SPECIFIED; + } +*/ + } + + + + /** + * if the passed value for lLength is + * AudioSystem.NOT_SPECIFIED (unknown + * length), the length in bytes becomes + * AudioSystem.NOT_SPECIFIED, too. + */ + public static long getLengthInBytes(AudioFormat audioFormat, + long lLengthInFrames) + { + int nFrameSize = audioFormat.getFrameSize(); + if (lLengthInFrames >= 0 && nFrameSize >= 1) + { + return lLengthInFrames * nFrameSize; + } + else + { + return AudioSystem.NOT_SPECIFIED; + } + } + + + + @SuppressWarnings("unchecked") + public static boolean containsFormat(AudioFormat sourceFormat, + Iterator possibleFormats) + { + while (possibleFormats.hasNext()) + { + AudioFormat format = (AudioFormat) possibleFormats.next(); + if (AudioFormats.matches(format, sourceFormat)) + { + return true; + } + } + return false; + } + + /** @return the frame size, given the sample size in bits and number of channels */ + public static int getFrameSize(int channels, int sampleSizeInBits) { + if (channels < 0 || sampleSizeInBits < 0) { + return AudioSystem.NOT_SPECIFIED; + } + return ((sampleSizeInBits + 7) / 8) * channels; + } + + /** Conversion milliseconds to bytes */ + public static long millis2Bytes(long ms, AudioFormat format) { + return millis2Bytes(ms, (double) format.getFrameRate(), format.getFrameSize()); + } + /** Conversion milliseconds to bytes */ + public static long millis2Bytes(long ms, double frameRate, int frameSize) { + return (long) (ms*frameRate/1000*frameSize); + } + /** convert milliseconds to bytes. Be careful to not exceed the integer maximum value */ + public static int millis2Bytes(int ms, AudioFormat format) { + return millis2Bytes(ms, (double) format.getFrameRate(), format.getFrameSize()); + } + /** convert milliseconds to bytes. Be careful to not exceed the integer maximum value */ + public static int millis2Bytes(int ms, double frameRate, int frameSize) { + return (int) (ms*frameRate/1000*frameSize); + } + /** convert milliseconds to bytes. */ + public static long millis2Bytes(double ms, AudioFormat format) { + return millis2Bytes(ms, format.getFrameRate(), format.getFrameSize()); + } + /** convert milliseconds to bytes. */ + public static long millis2Bytes(double ms, double frameRate, int frameSize) { + return (long) (ms*frameRate/1000.0*frameSize); + } + + /** Conversion milliseconds to bytes, return value is frame-aligned */ + public static long millis2BytesFrameAligned(long ms, AudioFormat format) { + return millis2BytesFrameAligned(ms, (double) format.getFrameRate(), format.getFrameSize()); + } + /** Conversion milliseconds to bytes, return value is frame-aligned */ + public static long millis2BytesFrameAligned(long ms, double frameRate, int frameSize) { + return ((long) (ms*frameRate/1000))*frameSize; + } + /** Conversion milliseconds to bytes, return value is frame-aligned */ + public static int millis2BytesFrameAligned(int ms, AudioFormat format) { + return millis2BytesFrameAligned(ms, (double) format.getFrameRate(), format.getFrameSize()); + } + /** Conversion milliseconds to bytes, return value is frame-aligned */ + public static int millis2BytesFrameAligned(int ms, double frameRate, int frameSize) { + return ((int) (ms*frameRate/1000))*frameSize; + } + /** Conversion milliseconds to bytes, return value is frame-aligned */ + public static long millis2BytesFrameAligned(double ms, AudioFormat format) { + return millis2BytesFrameAligned(ms, (double) format.getFrameRate(), format.getFrameSize()); + } + /** Conversion milliseconds to bytes, return value is frame-aligned */ + public static long millis2BytesFrameAligned(double ms, double frameRate, int frameSize) { + return ((long) (ms*frameRate/1000))*frameSize; + } + + /** Conversion milliseconds to frames (samples) */ + public static long millis2Frames(long ms, AudioFormat format) { + return millis2Frames(ms, (double) format.getFrameRate()); + } + /** Conversion milliseconds to frames (samples) */ + public static long millis2Frames(long ms, double frameRate) { + return (long) (ms*frameRate/1000.0); + } + /** Conversion milliseconds to frames (samples) */ + public static int millis2Frames(int ms, AudioFormat format) { + return millis2Frames(ms, (double) format.getFrameRate()); + } + /** Conversion milliseconds to frames (samples) */ + public static int millis2Frames(int ms, double frameRate) { + return (int) (ms*frameRate/1000.0); + } + /** Conversion milliseconds to frames (samples) */ + public static long millis2Frames(double ms, AudioFormat format) { + return (long) millis2FramesD(ms, (double) format.getFrameRate()); + } + /** Conversion milliseconds to frames (samples) */ + public static long millis2Frames(double ms, double frameRate) { + return (long) millis2FramesD(ms, frameRate); + } + /** Conversion milliseconds to frames (samples) */ + public static double millis2FramesD(double ms, AudioFormat format) { + return millis2FramesD(ms, (double) format.getFrameRate()); + } + /** Conversion milliseconds to frames (samples) */ + public static double millis2FramesD(double ms, double frameRate) { + return ms*frameRate/1000.0; + } + + /** Conversion bytes to milliseconds */ + public static long bytes2Millis(long bytes, AudioFormat format) { + return (long) frames2MillisD(bytes/format.getFrameSize(), format.getFrameRate()); + } + /** Conversion bytes to milliseconds */ + public static int bytes2Millis(int bytes, AudioFormat format) { + return (int) frames2MillisD(bytes/format.getFrameSize(), format.getFrameRate()); + } + /** Conversion bytes to milliseconds */ + public static double bytes2MillisD(long bytes, AudioFormat format) { + return frames2MillisD(bytes/format.getFrameSize(), format.getFrameRate()); + } + /** Conversion bytes to milliseconds */ + public static double bytes2MillisD(long bytes, double frameRate, int frameSize) { + return frames2MillisD(bytes/frameSize, frameRate); + } + /** Conversion frames to milliseconds */ + public static long frames2Millis(long frames, AudioFormat format) { + return (long) frames2MillisD(frames, format.getFrameRate()); + } + /** Conversion frames to milliseconds */ + public static int frames2Millis(int frames, AudioFormat format) { + return (int) frames2MillisD(frames, format.getFrameRate()); + } + /** Conversion frames to milliseconds */ + public static double frames2MillisD(long frames, AudioFormat format) { + return frames2MillisD(frames, format.getFrameRate()); + } + /** Conversion frames to milliseconds */ + public static double frames2MillisD(long frames, double frameRate) { + return frames/frameRate*1000.0; + } + + /** + * + * @param sr1 the first sample rate to compare + * @param sr2 the second sample rate to compare + * @return true if the sample rates are (almost) identical + */ + public static boolean sampleRateEquals(float sr1, float sr2) { + return Math.abs(sr1-sr2)<0.0000001; + } + + /** + * @param format the audio format to test + * @return true if the format is either PCM_SIGNED or PCM_UNSIGNED + */ + public static boolean isPCM(AudioFormat format) { + return format.getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED) + || format.getEncoding().equals(AudioFormat.Encoding.PCM_UNSIGNED); + } + + /** + * Return if the passed mixer info is the Java Sound Audio Engine. + * + * @param mixerInfo the mixer info to query + * @return true if the mixer info describes the Java Sound Audio Engine + */ + public static boolean isJavaSoundAudioEngine(Mixer.Info mixerInfo) { + return (mixerInfo != null) && (mixerInfo.getName() != null) + && mixerInfo.getName().equals("Java Sound Audio Engine"); + } + + /** + * Return if the passed line is writing to or reading from the Java Sound Audio Engine. + * + * @param line the data line to query + * @return true if the line is using the Java Sound Audio Engine + */ + public static boolean isJavaSoundAudioEngine(DataLine line) { + if (line != null) { + String clazz = line.getClass().toString(); + return clazz.indexOf("MixerSourceLine") >= 0 + || clazz.indexOf("MixerClip") >= 0 + || clazz.indexOf("SimpleInputDevice") >= 0; + } + return false; + } + + /** + * tries to guess if this program is running on a big endian platform + * @return true if the system's native endianness is big endian + */ + public static boolean isSystemBigEndian() { + return java.nio.ByteOrder.nativeOrder().equals(java.nio.ByteOrder.BIG_ENDIAN); + } + + + //$$fb 2000-07-18: added these debugging functions + public static String NS_or_number(int number) { + return (number==AudioSystem.NOT_SPECIFIED)?"NOT_SPECIFIED":String.valueOf(number); + } + public static String NS_or_number(float number) { + return (number==AudioSystem.NOT_SPECIFIED)?"NOT_SPECIFIED":String.valueOf(number); + } + + /** + * For debugging purposes. + */ + public static String format2ShortStr(AudioFormat format) { + return format.getEncoding() + "-" + + NS_or_number(format.getChannels()) + "ch-" + + NS_or_number(format.getSampleSizeInBits()) + "bit-" + + NS_or_number(((int)format.getSampleRate())) + "Hz-"+ + (format.isBigEndian() ? "be" : "le"); + } + + /** + * The value used for negative infinity in decibels. The default value is + * -100.0, which is approximately the s/n ratio achieved with 16-bit samples. + * If you use higher resolution, set this to a lower value, like -150.0. + */ + public static double SILENCE_DECIBEL = -100.0; + + /** + * Get decibel from a linear factor. + * + * @param linearFactor 0..1..inf + * @return the converted decibel (SILENCE_DECIBEL...0...inf) + */ + public final static double linear2decibel(double linearFactor) { + if (linearFactor <= 0.0) { + return SILENCE_DECIBEL; + } + double ret = Math.log10(linearFactor) * 20.0; + if (ret < SILENCE_DECIBEL) { + ret = SILENCE_DECIBEL; + } + return ret; + } + + /** + * Calculate the linear factor corresponding to the specified decibel level. + * + * @param decibels [SILENCE_DECIBEL...0...inf] + * @return linear factor [0...1...inf] + */ + public final static double decibel2linear(double decibels) { + if (decibels <= SILENCE_DECIBEL) { + return 0.0; + } + return Math.pow(10.0, decibels * 0.05); + } + + + +} + + + +/*** AudioUtils.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/Encodings.java b/src/main/java/com/github/trilarion/share/sampled/Encodings.java new file mode 100644 index 0000000..30ac8fa --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/Encodings.java @@ -0,0 +1,182 @@ +/* + * Encodings.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + + +package com.github.trilarion.share.sampled; + +import java.util.Iterator; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.AudioFormat; +import com.github.trilarion.share.StringHashedSet; + +/** + * This class is a proposal for generic handling of encodings. + * The main purpose is to provide a standardized way of + * implementing encoding types. Like this, encodings + * are only identified by their String name, and not, as currently, + * by their object instance. + *

+ * A registry of standard encoding names will + * be maintained by the Tritonus team. + *

+ * In a specification request to JavaSoft, the static method + * getEncoding should be integrated into + * AudioFormat.Encoding(String name) (possibly + * renamed to getInstance(String name).
+ * The static instances of ULAW, ALAW PCM_UNSIGNED and PCM_SIGNED + * encodings in that class should be retrieved using that function, + * too (internally).
+ * At best, the protected constructor of that class + * should also be replaced to be a private constructor. + * Like this it will be prevented that developers create their own + * instances of Encoding, which causes problems with the + * equals method. In fact, the equals method should be redefined anyway + * so that it compares the names and not the objects. + *

+ * Also, a specification request should be made to integrate + * getEncodings() into AudioSystem (this is + * especially annoying as the relevant methods already exist + * in the provider interfaces of file readers, file writers and + * converters). + * + * @author Florian Bomers + */ +public class Encodings extends AudioFormat.Encoding { + + /** contains all known encodings */ + private static StringHashedSet encodings = new StringHashedSet(); + + // initially add the standard encodings + static { + encodings.add(AudioFormat.Encoding.PCM_SIGNED); + encodings.add(AudioFormat.Encoding.PCM_UNSIGNED); + encodings.add(AudioFormat.Encoding.ULAW); + encodings.add(AudioFormat.Encoding.ALAW); + } + + Encodings(String name) { + super(name); + } + + /** + * Use this method for retrieving an instance of + * AudioFormat.Encoding of the specified + * name. A standard registry of encoding names will + * be maintained by the Tritonus team. + *

+ * Every file reader, file writer, and format converter + * provider should exclusively use this method for + * retrieving instances of AudioFormat.Encoding. + */ + /* + MP2000/09/11: + perhaps it is not a good idea to allow user programs the creation of new + encodings. The problem with it is that a plain typo will produce an encoding + object that is not supported. Instead, some indication of an error should be + signaled to the user program. And, there should be a second interface for + service providers allowing them to register encodings supported by themselves. + + $$fb2000/09/26: + The problem is what you see as second issue: it can never be assured + that this class knows all available encodings. So at the moment, there + is no choice than to allow users to create any Encoding they wish. + The encodings database will simplify things. + A problem with an interface to retrieve supported encodings (or API + function in spi.FormatConversionProvider) is that this requires + loading of all providers very early. Hmmm, maybe this is necessary in any + case when the user issues something like AudioSystem.isConversionSupported. + */ + public static AudioFormat.Encoding getEncoding(String name) { + AudioFormat.Encoding res=encodings.get(name); + if (res==null) { + // it is not already in the string set. Create a new encoding instance. + res=new Encodings(name); + // and save it for the future + encodings.add(res); + } + return res; + } + + /** + * Tests for equality of 2 encodings. They are equal when their strings match. + *

+ * This function should be AudioFormat.Encoding.equals and must + * be considered as a temporary work around until it flows into the + * JavaSound API. + */ + // IDEA: create a special "NOT_SPECIFIED" encoding + // and a AudioFormat.Encoding.matches method. + public static boolean equals(AudioFormat.Encoding e1, AudioFormat.Encoding e2) { + return e2.toString().equals(e1.toString()); + } + + + /** + * Returns all "supported" encodings. + * Supported means that it is possible to read or + * write files with this encoding, or that a converter + * accepts this encoding as source or target format. + *

+ * Currently, this method returns a best guess and + * the search algorithm is far from complete: with standard + * methods of AudioSystem, only the target encodings + * of the converters can be retrieved - neither + * the source encodings of converters nor the encodings + * of file readers and file writers cannot be retrieved. + */ + public static AudioFormat.Encoding[] getEncodings() { + StringHashedSet iteratedSources=new StringHashedSet(); + StringHashedSet retrievedTargets=new StringHashedSet(); + Iterator sourceFormats=encodings.iterator(); + while (sourceFormats.hasNext()) { + AudioFormat.Encoding source=sourceFormats.next(); + iterateEncodings(source, iteratedSources, retrievedTargets); + } + return retrievedTargets.toArray( + new AudioFormat.Encoding[retrievedTargets.size()]); + } + + + private static void iterateEncodings(AudioFormat.Encoding source, + StringHashedSet iteratedSources, + StringHashedSet retrievedTargets) { + if (!iteratedSources.contains(source)) { + iteratedSources.add(source); + AudioFormat.Encoding[] targets=AudioSystem.getTargetEncodings(source); + for (int i=0; i + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + |<--- this code is formatted to fit into 80 columns --->| + */ +package com.github.trilarion.share.sampled; + +import java.io.*; +import javax.sound.sampled.*; + +/** + * An implementation of AudioInputStream that implements the FloatSampleInput + * interface. This is a convenience class to instantly make any AudioInputStream + * capable of fulfilling the FloatSampleInput interface, or vice versa: make an + * existing FloatSampleInput class compatible with AudioInputStream. + *

+ * All calls to FloatSampleInput.read() will cause implicit conversion to + * FloatSampleBuffer. If the underlying stream implementes FloatSampleInput, the + * FloatSampleInput.read method is used for reading. + * + * @author florian + */ +public class FloatInputStream extends AudioInputStream implements + FloatSampleInput { + + // set this if we can read from an AudioInputStream + private InputStream sourceStream; + // set this if we can read from an FloatSampleInput + private FloatSampleInput sourceInput; + + /** + * true if the source stream returned eof, or if this stream was closed. + */ + private boolean eofReached = false; + + /** + * a temporary byte buffer for reading from an underlying input stream + */ + private byte[] tempBuffer = null; + + /** + * Create a new FloatInputStream that shadows the sourceStream. + * + * @param sourceStream + * @throws IllegalArgumentException if the stream's format is not compatible + */ + public FloatInputStream(AudioInputStream sourceStream) { + super(sourceStream, sourceStream.getFormat(), + sourceStream.getFrameLength()); + this.sourceStream = sourceStream; + init(); + } + + /** + * Create a new FloatInputStream that shadows the sourceStream. + * + * @param sourceStream + * @param format the native format of sourceStream + * @param frameLength the length in frames of the streams, or + * AudioSystem.NOT_SPECIFIED if not known or unlimited. + * @throws IllegalArgumentException if the stream's format is not compatible + */ + public FloatInputStream(InputStream sourceStream, AudioFormat format, + long frameLength) { + super(sourceStream, format, frameLength); + this.sourceStream = sourceStream; + init(); + } + + /** + * Create a new FloatInputStream that will make the specified + * FloatSampleInput a complete AudioInputStream. + * + * @param sourceInput + * @param format the native format for the read(byte[]) method + * @param frameLength the length in frames of the stream, or + * AudioSystem.NOT_SPECIFIED if not known or unlimited. + * @throws IllegalArgumentException if the format is not compatible + */ + public FloatInputStream(FloatSampleInput sourceInput, AudioFormat format, + long frameLength) { + super(new ByteArrayInputStream(new byte[0]), format, frameLength); + this.sourceStream = null; + this.sourceInput = sourceInput; + init(); + } + + // interface FloatSampleInput + public void read(FloatSampleBuffer outBuffer) { + read(outBuffer, 0, outBuffer.getSampleCount()); + } + + private void init() { + if (sourceStream != null && (sourceStream instanceof FloatSampleInput)) { + sourceInput = (FloatSampleInput) sourceStream; + } + // make sure format is supported, and remember format code + FloatSampleBuffer.checkFormatSupported(format); + } + + public void read(FloatSampleBuffer buffer, int offset, int sampleCount) { + if (sampleCount == 0 || isDone()) { + buffer.setSampleCount(offset, true); + return; + } + if (buffer.getChannelCount() != getChannels()) { + throw new IllegalArgumentException( + "read: passed buffer has different channel count"); + } + if (sourceInput != null) { + sourceInput.read(buffer, offset, sampleCount); + } else { + // read into temporary byte buffer + int byteBufferSize = buffer.getSampleCount() + * getFormat().getFrameSize(); + byte[] lTempBuffer = tempBuffer; + if (lTempBuffer == null || byteBufferSize > lTempBuffer.length) { + lTempBuffer = new byte[byteBufferSize]; + tempBuffer = lTempBuffer; + } + int readSamples = 0; + int byteOffset = 0; + while (readSamples < sampleCount) { + int readBytes; + try { + readBytes = sourceStream.read(lTempBuffer, byteOffset, + byteBufferSize); + } catch (IOException ioe) { + readBytes = -1; + } + if (readBytes < 0) { + eofReached = true; + readBytes = 0; + break; + } else if (readBytes == 0) { + Thread.yield(); + } else { + readSamples += readBytes / getFormat().getFrameSize(); + byteBufferSize -= readBytes; + byteOffset += readBytes; + } + } + buffer.setSampleCount(offset + readSamples, (offset > 0)); + if (readSamples > 0) { + // convert + buffer.setSamplesFromBytes(lTempBuffer, 0, getFormat(), offset, + readSamples); + } + } + } + + /* + * (non-Javadoc) + * + * @see org.tritonus.share.sampled.FloatSampleInput#getChannels() + */ + public int getChannels() { + return getFormat().getChannels(); + } + + /* + * (non-Javadoc) + * + * @see org.tritonus.share.sampled.FloatSampleInput#getSampleRate() + */ + public float getSampleRate() { + return getFormat().getSampleRate(); + } + + /* + * (non-Javadoc) + * + * @see org.tritonus.share.sampled.FloatSampleInput#isDone() + */ + public boolean isDone() { + if (!eofReached && sourceInput != null) { + return sourceInput.isDone(); + } + return eofReached; + } + + // interface AudioInputStream + + @Override + public int read() throws IOException { + if (getFormat().getFrameSize() != 1) { + throw new IOException("frame size must be 1 to read a single byte"); + } + // very ugly, but efficient. Who uses this method anyway ? + byte[] temp = new byte[1]; + int result = read(temp); + if (result <= 0) { + return -1; + } + return temp[0] & 0xFF; + } + + /** + * @see #read(byte[], int, int) + */ + @Override + public int read(byte[] abData) throws IOException { + return read(abData, 0, abData.length); + } + + private FloatSampleBuffer tempFloatBuffer = null; + + /** + * If an underlying InputStream is available, read from it, otherwise read + * from an underlying FloatSampleInput stream and convert to a byte array. + */ + @Override + public int read(byte[] abData, int nOffset, int nLength) throws IOException { + if (isDone()) { + return -1; + } + // read from sourceStream, if available + if (sourceStream != null) { + return readBytesFromInputStream(abData, nOffset, nLength); + } + // otherwise read from sourceInput + return readBytesFromFloatInput(abData, nOffset, nLength); + } + + /** + * internal method to read from the underlying InputStream.
+ * Precondition: sourceStream!=null + */ + protected int readBytesFromInputStream(byte[] abData, int nOffset, + int nLength) throws IOException { + int readBytes = sourceStream.read(abData, nOffset, nLength); + if (readBytes < 0) { + eofReached = true; + } + return readBytes; + } + + /** + * internal method to read from the underlying InputStream.
+ * Precondition: sourceInput!=null + * + * @param abData the byte array to fill, or null if just skipping + */ + protected int readBytesFromFloatInput(byte[] abData, int nOffset, + int nLength) throws IOException { + FloatSampleInput lInput = sourceInput; + if (lInput.isDone()) { + return -1; + } + int frameCount = nLength / getFormat().getFrameSize(); + FloatSampleBuffer lTempBuffer = tempFloatBuffer; + if (lTempBuffer == null) { + lTempBuffer = new FloatSampleBuffer(getFormat().getChannels(), + frameCount, getFormat().getSampleRate()); + tempFloatBuffer = lTempBuffer; + } else { + lTempBuffer.setSampleCount(frameCount, false); + } + lInput.read(lTempBuffer); + if (lInput.isDone()) { + return -1; + } + if (abData != null) { + int writtenBytes = tempFloatBuffer.convertToByteArray(abData, + nOffset, getFormat()); + return writtenBytes; + } + // special mode: allow abData to be null for skip() + return frameCount * getFormat().getFrameSize(); + } + + @Override + public synchronized long skip(long nSkip) throws IOException { + // only returns integral frames + long skipFrames = nSkip / getFormat().getFrameSize(); + if (sourceStream != null) { + return sourceStream.skip(skipFrames * getFormat().getFrameSize()); + } + // for FloatSampleInput, there is no skip() method, so just read into + // the tempBuffer + if (isDone() || skipFrames <= 0) { + // cannot skip backwards + return 0; + } + return readBytesFromFloatInput(null, 0, + (int) (skipFrames * getFormat().getFrameSize())); + } + + @Override + public int available() throws IOException { + if (sourceStream != null) { + return sourceStream.available(); + } + return AudioSystem.NOT_SPECIFIED; + } + + @Override + public void mark(int readlimit) { + if (sourceStream != null) { + sourceStream.mark(readlimit); + } else { + // what to do? + } + } + + @Override + public void reset() throws IOException { + if (sourceStream != null) { + sourceStream.reset(); + } else { + // what to do? + } + } + + @Override + public boolean markSupported() { + if (sourceStream != null) { + return sourceStream.markSupported(); + } + return false; + } + + @Override + public void close() throws IOException { + if (eofReached) { + return; + } + eofReached = true; + if (sourceStream != null) { + sourceStream.close(); + } + // clean memory, this will also be an indicator that + // the stream is closed + tempBuffer = null; + tempFloatBuffer = null; + } + +} diff --git a/src/main/java/com/github/trilarion/share/sampled/FloatSampleBuffer.java b/src/main/java/com/github/trilarion/share/sampled/FloatSampleBuffer.java new file mode 100644 index 0000000..dd955d8 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/FloatSampleBuffer.java @@ -0,0 +1,1181 @@ +/* + * FloatSampleBuffer.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000-2006 by Florian Bomers + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* + |<--- this code is formatted to fit into 80 columns --->| + */ + +package com.github.trilarion.share.sampled; + +import javax.sound.sampled.AudioFormat; + +/** + * A class for small buffers of samples in linear, 32-bit floating point format. + *

+ * It is supposed to be a replacement of the byte[] stream architecture of + * JavaSound, especially for chains of AudioInputStreams. Ideally, all involved + * AudioInputStreams handle reading into a FloatSampleBuffer. + *

+ * Specifications: + *

    + *
  1. Channels are separated, i.e. for stereo there are 2 float arrays with + * the samples for the left and right channel + *
  2. All data is handled in samples, where one sample means one float value + * in each channel + *
  3. All samples are normalized to the interval [-1.0...1.0] + *
+ *

+ * When a cascade of AudioInputStreams use FloatSampleBuffer for processing, + * they may implement the interface FloatSampleInput. This signals that this + * stream may provide float buffers for reading. The data is not + * converted back to bytes, but stays in a single buffer that is passed from + * stream to stream. For that serves the read(FloatSampleBuffer) method, which + * is then used as replacement for the byte-based read functions of + * AudioInputStream.
+ * However, backwards compatibility must always be retained, so even when an + * AudioInputStream implements FloatSampleInput, it must work the same way when + * any of the byte-based read methods is called.
+ * As an example, consider the following set-up:
+ *

    + *
  • auAIS is an AudioInputStream (AIS) that reads from an AU file in 8bit + * pcm at 8000Hz. It does not implement FloatSampleInput. + *
  • pcmAIS1 is an AIS that reads from auAIS and converts the data to PCM + * 16bit. This stream implements FloatSampleInput, i.e. it can generate float + * audio data from the ulaw samples. + *
  • pcmAIS2 reads from pcmAIS1 and adds a reverb. It operates entirely on + * floating point samples. + *
  • The method that reads from pcmAIS2 (i.e. AudioSystem.write) does not + * handle floating point samples. + *
+ * So, what happens when a block of samples is read from pcmAIS2 ? + *
    + *
  1. the read(byte[]) method of pcmAIS2 is called + *
  2. pcmAIS2 always operates on floating point samples, so it uses an own + * instance of FloatSampleBuffer and initializes it with the number of samples + * requested in the read(byte[]) method. + *
  3. It queries pcmAIS1 for the FloatSampleInput interface. As it implements + * it, pcmAIS2 calls the read(FloatSampleBuffer) method of pcmAIS1. + *
  4. pcmAIS1 notes that its underlying stream does not support floats, so it + * instantiates a byte buffer which can hold the number of samples of the + * FloatSampleBuffer passed to it. It calls the read(byte[]) method of auAIS. + *
  5. auAIS fills the buffer with the bytes. + *
  6. pcmAIS1 calls the initFromByteArray method of the float + * buffer to initialize it with the 8 bit data. + *
  7. Then pcmAIS1 processes the data: as the float buffer is normalized, it + * does nothing with the buffer - and returns control to pcmAIS2. The + * SampleSizeInBits field of the AudioFormat of pcmAIS1 defines that it should + * be 16 bits. + *
  8. pcmAIS2 receives the filled buffer from pcmAIS1 and does its processing + * on the buffer - it adds the reverb. + *
  9. As pcmAIS2's read(byte[]) method had been called, pcmAIS2 calls the + * convertToByteArray method of the float buffer to fill the byte + * buffer with the resulting samples. + *
+ *

+ * To summarize, here are some advantages when using a FloatSampleBuffer for + * streaming: + *

    + *
  • no conversions from/to bytes need to be done during processing + *
  • the sample size in bits is irrelevant - normalized range + *
  • higher quality for processing + *
  • separated channels (easy process/remove/add channels) + *
  • potentially less copying of audio data, as processing the float samples + * is generally done in-place. The same instance of a FloatSampleBuffer may be + * used from the original data source to the final data sink. + *
+ *

+ * Simple benchmarks showed that the processing requirements for the conversion + * to and from float is about the same as when converting it to shorts or ints + * without dithering, and significantly higher with dithering. An own + * implementation of a random number generator may improve this. + *

+ * "Lazy" deletion of samples and channels:
+ *

    + *
  • When the sample count is reduced, the arrays are not resized, but only + * the member variable sampleCount is reduced. A subsequent + * increase of the sample count (which will occur frequently), will check that + * and eventually reuse the existing array. + *
  • When a channel is deleted, it is not removed from memory but only + * hidden. Subsequent insertions of a channel will check whether a hidden + * channel can be reused. + *
+ * The lazy mechanism can save many array instantiation (and copy-) operations + * for the sake of performance. All relevant methods exist in a second version + * which allows explicitely to disable lazy deletion. + *

+ * Use the reset functions to clear the memory and remove hidden + * samples and channels. + *

+ * Note that the lazy mechanism implies that the arrays returned from + * getChannel(int) may have a greater size than getSampleCount(). + * Consequently, be sure to never rely on the length field of the sample arrays. + *

+ * As an example, consider a chain of converters that all act on the same + * instance of FloatSampleBuffer. Some converters may decrease the sample count + * (e.g. sample rate converter) and delete channels (e.g. PCM2PCM converter). + * So, processing of one block will decrease both. For the next block, all + * starts from the beginning. With the lazy mechanism, all float arrays are only + * created once for processing all blocks.
+ * Having lazy disabled would require for each chunk that is processed + *

    + *
  1. new instantiation of all channel arrays at the converter chain beginning + * as they have been either deleted or decreased in size during processing of + * the previous chunk, and + *
  2. re-instantiation of all channel arrays for the reduction of the sample + * count. + *
+ *

+ * The format and the number of samples of this float buffer are not + * changed, so if the byte array has more samples than fit into this float + * buffer, it is not expanded. + * + * @param buffer the byte buffer to write to this float buffer + * @param srcByteOffset the offset in bytes in buffer where to start reading + * @param format the audio format of the bytes in buffer + * @param dstSampleOffset the offset in samples where to start writing the + * converted float data into this float buffer + * @param aSampleCount the number of samples to write + * @return the number of samples actually written + */ + public int writeByteBuffer(byte[] buffer, int srcByteOffset, + AudioFormat format, int dstSampleOffset, int aSampleCount) { + if (dstSampleOffset + aSampleCount > getSampleCount()) { + aSampleCount = getSampleCount() - dstSampleOffset; + } + int lChannels = format.getChannels(); + if (lChannels > getChannelCount()) { + lChannels = getChannelCount(); + } + if (lChannels > format.getChannels()) { + lChannels = format.getChannels(); + } + for (int channel = 0; channel < lChannels; channel++) { + float[] data = getChannel(channel); + + FloatSampleTools.byte2floatGeneric(buffer, srcByteOffset, + format.getFrameSize(), data, dstSampleOffset, aSampleCount, + format); + srcByteOffset += format.getFrameSize() / format.getChannels(); + } + return aSampleCount; + } + + /** + * Deletes all channels, frees memory... This also removes hidden channels + * by lazy remove. + */ + public void reset() { + init(0, 0, 1, false); + } + + /** + * Destroys any existing data and creates new channels. It also destroys + * lazy removed channels and samples. Channels will not be silenced, though. + */ + public void reset(int newChannels, int newSampleCount, float newSampleRate) { + init(newChannels, newSampleCount, newSampleRate, false); + } + + // //////////////////////// conversion back to bytes /////////////////// + + /** + * @return the required size of the buffer for calling + * convertToByteArray(..) is called + */ + public int getByteArrayBufferSize(AudioFormat format) { + return getByteArrayBufferSize(format, getSampleCount()); + } + + /** + * @param lenInSamples how many samples to be considered + * @return the required size of the buffer for the given number of samples + * for calling convertToByteArray(..) + */ + public int getByteArrayBufferSize(AudioFormat format, int lenInSamples) { + // make sure this format is supported + checkFormatSupported(format); + return format.getFrameSize() * lenInSamples; + } + + /** + * Writes this sample buffer's audio data to buffer as an + * interleaved byte array. buffer must be large enough to + * hold all data. + * + * @throws IllegalArgumentException when buffer is too small or + * format doesn't match + * @return number of bytes written to buffer + */ + public int convertToByteArray(byte[] buffer, int offset, AudioFormat format) { + return convertToByteArray(0, getSampleCount(), buffer, offset, format); + } + + // cache for performance + private AudioFormat lastConvertToByteArrayFormat = null; + private int lastConvertToByteArrayFormatCode = 0; + + /** + * Writes this sample buffer's audio data to buffer as an + * interleaved byte array. buffer must be large enough to + * hold all data. + * + * @param readOffset the sample offset from where samples are read from this + * FloatSampleBuffer + * @param lenInSamples how many samples are converted + * @param buffer the byte buffer written to + * @param writeOffset the byte offset in buffer + * @throws IllegalArgumentException when buffer is too small or + * format doesn't match + * @return number of bytes written to buffer + */ + public int convertToByteArray(int readOffset, int lenInSamples, + byte[] buffer, int writeOffset, AudioFormat format) { + int byteCount = format.getFrameSize() * lenInSamples; + if (writeOffset + byteCount > buffer.length) { + throw new IllegalArgumentException( + "FloatSampleBuffer.convertToByteArray: buffer too small."); + } + if (format != lastConvertToByteArrayFormat) { + if (format.getSampleRate() != getSampleRate()) { + throw new IllegalArgumentException( + "FloatSampleBuffer.convertToByteArray: different samplerates."); + } + if (format.getChannels() != getChannelCount()) { + throw new IllegalArgumentException( + "FloatSampleBuffer.convertToByteArray: different channel count."); + } + lastConvertToByteArrayFormat = format; + lastConvertToByteArrayFormatCode = FloatSampleTools.getFormatType(format); + } + FloatSampleTools.float2byte(channels, readOffset, buffer, writeOffset, + lenInSamples, lastConvertToByteArrayFormatCode, + format.getChannels(), format.getFrameSize(), + getConvertDitherBits(lastConvertToByteArrayFormatCode)); + + return byteCount; + } + + /** + * Creates a new byte[] buffer, fills it with the audio data, and returns + * it. + * + * @throws IllegalArgumentException when sample rate or channels do not + * match + * @see #convertToByteArray(byte[], int, AudioFormat) + */ + public byte[] convertToByteArray(AudioFormat format) { + // throws exception when sampleRate doesn't match + // creates a new byte[] buffer and returns it + byte[] res = new byte[getByteArrayBufferSize(format)]; + convertToByteArray(res, 0, format); + return res; + } + + // ////////////////////////////// actions ///////////////////////////////// + + /** + * Resizes this buffer. + *

+ * If keepOldSamples is true, as much as possible samples are + * retained. If the buffer is enlarged, silence is added at the end. If + * keepOldSamples is false, existing samples may get + * discarded, the buffer may then contain random samples. + */ + public void changeSampleCount(int newSampleCount, boolean keepOldSamples) { + int oldSampleCount = getSampleCount(); + + // shortcut: if we just make this buffer smaller, just set new + // sampleCount + if (oldSampleCount >= newSampleCount) { + setSampleCountImpl(newSampleCount); + return; + } + // shortcut for one or 2 channels + if (channelCount == 1 || channelCount == 2) { + float[] ch = getChannel(0); + if (ch.length < newSampleCount) { + float[] newCh = new float[newSampleCount]; + if (keepOldSamples && oldSampleCount > 0) { + // copy old samples + System.arraycopy(ch, 0, newCh, 0, oldSampleCount); + } + channels[0] = newCh; + } else if (keepOldSamples) { + // silence out excess samples (according to the specification) + for (int i = oldSampleCount; i < newSampleCount; i++) { + ch[i] = 0.0f; + } + } + if (channelCount == 2) { + ch = getChannel(1); + if (ch.length < newSampleCount) { + float[] newCh = new float[newSampleCount]; + if (keepOldSamples && oldSampleCount > 0) { + // copy old samples + System.arraycopy(ch, 0, newCh, 0, oldSampleCount); + } + channels[1] = newCh; + } else if (keepOldSamples) { + // silence out excess samples (according to the + // specification) + for (int i = oldSampleCount; i < newSampleCount; i++) { + ch[i] = 0.0f; + } + } + } + setSampleCountImpl(newSampleCount); + return; + } + + Object[] oldChannels = null; + if (keepOldSamples) { + oldChannels = getAllChannels(); + } + init(getChannelCount(), newSampleCount, getSampleRate()); + if (keepOldSamples) { + // copy old channels and eventually silence out new samples + int copyCount = newSampleCount < oldSampleCount ? newSampleCount + : oldSampleCount; + for (int ch = 0; ch < this.channelCount; ch++) { + float[] oldSamples = (float[]) oldChannels[ch]; + float[] newSamples = (float[]) channels[ch]; + if (oldSamples != newSamples) { + // if this sample array was not object of lazy delete + System.arraycopy(oldSamples, 0, newSamples, 0, copyCount); + } + if (oldSampleCount < newSampleCount) { + // silence out new samples + for (int i = oldSampleCount; i < newSampleCount; i++) { + newSamples[i] = 0.0f; + } + } + } + } + } + + /** + * Silence the entire audio buffer. + */ + public void makeSilence() { + makeSilence(0, getSampleCount()); + } + + /** + * Silence the entire buffer in the specified range on all channels. + */ + public void makeSilence(int offset, int count) { + if (offset < 0 || (count + offset) > getSampleCount() || count < 0) { + throw new IllegalArgumentException( + "offset and/or sampleCount out of bounds"); + } + // silence all channels + int localChannelCount = getChannelCount(); + for (int ch = 0; ch < localChannelCount; ch++) { + makeSilence(getChannel(ch), offset, count); + } + } + + /** + * Silence the specified channel + */ + public void makeSilence(int channel) { + makeSilence(channel, 0, getSampleCount()); + } + + /** + * Silence the specified channel in the specified range + */ + public void makeSilence(int channel, int offset, int count) { + if (offset < 0 || (count + offset) > getSampleCount() || count < 0) { + throw new IllegalArgumentException( + "offset and/or sampleCount out of bounds"); + } + makeSilence(getChannel(channel), offset, count); + } + + private void makeSilence(float[] samples, int offset, int count) { + count += offset; + for (int i = offset; i < count; i++) { + samples[i] = 0.0f; + } + } + + /** + * Fade the volume level of this buffer from the given start volume to the end volume. + * E.g. to implement a fade in, use startVol=0 and endVol=1. + * + * @param startVol the start volume as a linear factor [0..1] + * @param endVol the end volume as a linear factor [0..1] + */ + public void linearFade(float startVol, float endVol) { + linearFade(startVol, endVol, 0, getSampleCount()); + } + + /** + * Fade the volume level of this buffer from the given start volume to the end volume. + * The fade will start at the offset, and will have reached endVol after count samples. + * E.g. to implement a fade in, use startVol=0 and endVol=1. + * + * @param startVol the start volume as a linear factor [0..1] + * @param endVol the end volume as a linear factor [0..1] + * @param offset the offset in this buffer where to start the fade (in samples) + * @param count the number of samples to fade + */ + public void linearFade(float startVol, float endVol, int offset, int count) { + for (int channel = 0; channel < getChannelCount(); channel++) { + linearFade(channel, startVol, endVol, offset, count); + } + } + + /** + * Fade the volume level of the specified channel from the given start volume to + * the end volume. + * The fade will start at the offset, and will have reached endVol after count + * samples. + * E.g. to implement a fade in, use startVol=0 and endVol=1. + * + * @param channel the channel to do the fade + * @param startVol the start volume as a linear factor [0..1] + * @param endVol the end volume as a linear factor [0..1] + * @param offset the offset in this buffer where to start the fade (in samples) + * @param count the number of samples to fade + */ + public void linearFade(int channel, float startVol, float endVol, int offset, int count) { + if (count <= 0) return; + float end = count+offset; + float inc = (endVol - startVol) / count; + float[] samples = getChannel(channel); + float curr = startVol; + for (int i = offset; i < end; i++) { + samples[i] *= curr; + curr += inc; + } + } + + /** + * Add a channel to this buffer, e.g. adding a channel to a mono buffer will make it a stereo buffer. + * + * @param silent if true, the channel is explicitly silenced. Otherwise the new channel may contain random data. + */ + public void addChannel(boolean silent) { + // creates new, silent channel + insertChannel(getChannelCount(), silent); + } + + /** + * Insert a (silent) channel at position index. If + * LAZY_DEFAULT is true, this is done lazily. + */ + public void insertChannel(int index, boolean silent) { + insertChannel(index, silent, LAZY_DEFAULT); + } + + /** + * Inserts a channel at position index. + *

+ * If silent is true, the new channel will be silent. + * Otherwise it will contain random data. + *

+ * If lazy is true, hidden channels which have at least + * getSampleCount() elements will be examined for reusage as inserted + * channel.
+ * If lazy is false, still hidden channels are reused, but it + * is assured that the inserted channel has exactly getSampleCount() + * elements, thus not wasting memory. + */ + public void insertChannel(int index, boolean silent, boolean lazy) { + // first grow the array of channels, if necessary. Intentionally lazy + grow(this.channelCount + 1, true); + int physSize = channels.length; + int virtSize = this.channelCount; + float[] newChannel = null; + if (physSize > virtSize) { + // there are hidden channels. Try to use one. + for (int ch = virtSize; ch < physSize; ch++) { + float[] thisChannel = (float[]) channels[ch]; + if (thisChannel != null + && ((lazy && thisChannel.length >= getSampleCount()) || (!lazy && thisChannel.length == getSampleCount()))) { + // we found a matching channel. Use it ! + newChannel = thisChannel; + channels[ch] = null; + break; + } + } + } + if (newChannel == null) { + newChannel = new float[getSampleCount()]; + } + // move channels after index + for (int i = index; i < virtSize; i++) { + channels[i + 1] = channels[i]; + } + channels[index] = newChannel; + setChannelCountImpl(this.channelCount + 1); + if (silent) { + makeSilence(index); + } + // if not lazy, remove old channels + grow(this.channelCount, lazy); + } + + /** performs a lazy remove of the channel */ + public void removeChannel(int channel) { + removeChannel(channel, LAZY_DEFAULT); + } + + /** + * Removes a channel. If lazy is true, the channel is not physically + * removed, but only hidden. These hidden channels are reused by subsequent + * calls to addChannel or insertChannel. + */ + public void removeChannel(int channel, boolean lazy) { + float[] toBeDeleted = (float[]) channels[channel]; + // move all channels after it + for (int i = channel; i < this.channelCount - 1; i++) { + channels[i] = channels[i + 1]; + } + if (!lazy) { + grow(this.channelCount - 1, true); + } else { + // if not already, insert this channel at the end + channels[this.channelCount - 1] = toBeDeleted; + } + setChannelCountImpl(channelCount - 1); + } + + /** + * Copy sourceChannel's audio data to targetChannel, identified by their + * indices in the channel list. Both source and target channel have to + * exist. targetChannel will be overwritten + */ + public void copyChannel(int sourceChannel, int targetChannel) { + float[] source = getChannel(sourceChannel); + float[] target = getChannel(targetChannel); + System.arraycopy(source, 0, target, 0, getSampleCount()); + } + + /** + * Copy sampleCount samples from sourceChannel at position srcOffset to + * targetChannel at position targetOffset. sourceChannel and targetChannel + * are indices in the channel list. Both source and target channel have to + * exist. targetChannel will be overwritten + */ + public void copyChannel(int sourceChannel, int sourceOffset, + int targetChannel, int targetOffset, int aSampleCount) { + float[] source = getChannel(sourceChannel); + float[] target = getChannel(targetChannel); + System.arraycopy(source, sourceOffset, target, targetOffset, + aSampleCount); + } + + /** + * Copies data inside all channel. When the 2 regions overlap, the behavior + * is not specified. + */ + public void copy(int sourceIndex, int destIndex, int length) { + int count = getChannelCount(); + for (int i = 0; i < count; i++) { + copy(i, sourceIndex, destIndex, length); + } + } + + /** + * Copies data inside a channel. When the 2 regions overlap, the behavior is + * not specified. + */ + public void copy(int channel, int sourceIndex, int destIndex, int length) { + float[] data = getChannel(channel); + int bufferCount = getSampleCount(); + if (sourceIndex + length > bufferCount + || destIndex + length > bufferCount || sourceIndex < 0 + || destIndex < 0 || length < 0) { + throw new IndexOutOfBoundsException("parameters exceed buffer size"); + } + System.arraycopy(data, sourceIndex, data, destIndex, length); + } + + /** + * Mix up of 1 channel to n channels.
+ * It copies the first channel to all newly created channels. + * + * @param targetChannelCount the number of channels that this sample buffer + * will have after expanding. NOT the number of channels to add ! + * @exception IllegalArgumentException if this buffer does not have one + * channel before calling this method. + */ + public void expandChannel(int targetChannelCount) { + // even more sanity... + if (getChannelCount() != 1) { + throw new IllegalArgumentException( + "FloatSampleBuffer: can only expand channels for mono signals."); + } + for (int ch = 1; ch < targetChannelCount; ch++) { + addChannel(false); + copyChannel(0, ch); + } + } + + /** + * Mix down of n channels to one channel.
+ * It uses a simple mixdown: all other channels are added to first channel.
+ * The volume is NOT lowered ! Be aware, this might cause clipping when + * converting back to integer samples. + */ + public void mixDownChannels() { + float[] firstChannel = getChannel(0); + int localSampleCount = getSampleCount(); + for (int ch = getChannelCount() - 1; ch > 0; ch--) { + float[] thisChannel = getChannel(ch); + for (int i = 0; i < localSampleCount; i++) { + firstChannel[i] += thisChannel[i]; + } + removeChannel(ch); + } + } + + /** + * Mixes source to this buffer by adding all samples. At + * most, source's number of samples, number of channels are + * mixed. None of the sample count, channel count or sample rate of either + * buffer are changed. In particular, the caller needs to assure that the + * sample rate of the buffers match. + * + * @param source the buffer to be mixed to this buffer + */ + public void mix(FloatSampleBuffer source) { + int count = getSampleCount(); + if (count > source.getSampleCount()) { + count = source.getSampleCount(); + } + int localChannelCount = getChannelCount(); + if (localChannelCount > source.getChannelCount()) { + localChannelCount = source.getChannelCount(); + } + for (int ch = 0; ch < localChannelCount; ch++) { + float[] thisChannel = getChannel(ch); + float[] otherChannel = source.getChannel(ch); + for (int i = 0; i < count; i++) { + thisChannel[i] += otherChannel[i]; + } + } + } + + /** + * Mixes source samples to this buffer by adding the sample values. + * None of the sample count, channel count or sample rate of either + * buffer are changed. In particular, the caller needs to assure that the + * sample rate of the buffers match. + *

+ * This method is not error tolerant, in particular, runtime exceptions + * will be thrown if the channel counts do not match, or if the + * offsets and count exceed the buffer's capacity. + * + * @param source the source buffer from where to take samples and mix to this one + * @param sourceOffset offset in source where to start reading samples + * @param thisOffset offset in this buffer from where to start mixing samples + * @param count number of samples to mix + */ + public void mix(FloatSampleBuffer source, int sourceOffset, int thisOffset, int count) { + int localChannelCount = getChannelCount(); + for (int ch = 0; ch < localChannelCount; ch++) { + float[] thisChannel = getChannel(ch); + float[] otherChannel = source.getChannel(ch); + for (int i = 0; i < count; i++) { + thisChannel[i+thisOffset] += otherChannel[i+sourceOffset]; + } + } + } + + /** + * Copies the contents of this buffer to the destination buffer at the + * destOffset. At most, dest's number of samples, number of + * channels are copied. None of the sample count, channel count or sample + * rate of either buffer are changed. In particular, the caller needs to + * assure that the sample rate of the buffers match. + * + * @param dest the buffer to write to + * @param destOffset the position in dest where to start + * writing the samples of this buffer + * @param count the number of samples to be copied + * @return the number of samples copied + */ + public int copyTo(FloatSampleBuffer dest, int destOffset, int count) { + return copyTo(0, dest, destOffset, count); + } + + /** + * Copies the specified part of this buffer to the destination buffer. + * At most, dest's number of samples, number of + * channels are copied. None of the sample count, channel count or sample + * rate of either buffer are changed. In particular, the caller needs to + * assure that the sample rate of the buffers match. + * + * @param srcOffset the start position in this buffer, where to start reading samples + * @param dest the buffer to write to + * @param destOffset the position in dest where to start + * writing the samples + * @param count the number of samples to be copied + * @return the number of samples copied + */ + public int copyTo(int srcOffset, FloatSampleBuffer dest, int destOffset, int count) { + if (srcOffset + count > getSampleCount()) { + count = getSampleCount() - srcOffset; + } + if (count + destOffset > dest.getSampleCount()) { + count = dest.getSampleCount() - destOffset; + } + int localChannelCount = getChannelCount(); + if (localChannelCount > dest.getChannelCount()) { + localChannelCount = dest.getChannelCount(); + } + for (int ch = 0; ch < localChannelCount; ch++) { + System.arraycopy(getChannel(ch), srcOffset, dest.getChannel(ch), + destOffset, count); + } + return count; + } + + /** + * Initializes audio data from the provided byte array. The float samples + * are written at destOffset. This FloatSampleBuffer must be + * big enough to accomodate the samples. + *

+ * srcBuffer is read from index srcOffset to + * (srcOffset + (lengthInSamples * format.getFrameSize()))input + * @param format input buffer's audio format + * @param floatOffset the offset where to write the float samples + * @param frameCount number of samples to write to this sample buffer + */ + public void setSamplesFromBytes(byte[] input, int inByteOffset, + AudioFormat format, int floatOffset, int frameCount) { + if (floatOffset < 0 || frameCount < 0 || inByteOffset < 0) { + throw new IllegalArgumentException( + "FloatSampleBuffer.setSamplesFromBytes: negative inByteOffset, floatOffset, or frameCount"); + } + if (inByteOffset + (frameCount * format.getFrameSize()) > input.length) { + throw new IllegalArgumentException( + "FloatSampleBuffer.setSamplesFromBytes: input buffer too small."); + } + if (floatOffset + frameCount > getSampleCount()) { + throw new IllegalArgumentException( + "FloatSampleBuffer.setSamplesFromBytes: frameCount too large"); + } + FloatSampleTools.byte2float(input, inByteOffset, channels, floatOffset, + frameCount, format, false); + } + + // ////////////////////////////// properties ///////////////////////////// + + public int getChannelCount() { + return channelCount; + } + + public int getSampleCount() { + return sampleCount; + } + + public float getSampleRate() { + return sampleRate; + } + + /** + * internal setter for channel count, just change the variable. From + * outside, use addChannel, insertChannel, removeChannel + */ + protected void setChannelCountImpl(int newChannelCount) { + if (channelCount != newChannelCount) { + channelCount = newChannelCount; + // remove cache + this.lastConvertToByteArrayFormat = null; + } + } + + /** + * internal setter for sample count, just change the variable. From outside, + * use changeSampleCount + */ + protected void setSampleCountImpl(int newSampleCount) { + if (sampleCount != newSampleCount) { + sampleCount = newSampleCount; + } + } + + /** + * Alias for changeSampleCount + * + * @param newSampleCount the new number of samples for this buffer + * @param keepOldSamples if true, the new buffer will keep the current + * samples in the arrays + * @see #changeSampleCount(int, boolean) + */ + public void setSampleCount(int newSampleCount, boolean keepOldSamples) { + changeSampleCount(newSampleCount, keepOldSamples); + } + + /** + * Sets the sample rate of this buffer. NOTE: no conversion is done. The + * samples are only re-interpreted. + */ + public void setSampleRate(float sampleRate) { + if (sampleRate <= 0) { + throw new IllegalArgumentException( + "Invalid samplerate for FloatSampleBuffer."); + } + if (this.sampleRate != sampleRate) { + this.sampleRate = sampleRate; + // remove cache + lastConvertToByteArrayFormat = null; + } + } + + /** + * Get the actual audio data of one channel.
+ * Modifying this array will modify the audio samples of this + * FloatSampleBuffer.
+ * NOTE: the returned array may be larger than sampleCount. So in any case, + * sampleCount is to be respected. + * @throws IllegalArgumentException if channel is out of bounds + */ + public float[] getChannel(int channel) { + if (channel >= this.channelCount) { + throw new IllegalArgumentException( + "FloatSampleBuffer: invalid channel number."); + } + return (float[]) channels[channel]; + } + + /** + * Low-level method to directly set the array for the given channel. + * Normally, you do not need this method, as you can conveniently + * resize the array with changeSampleCount(). This method + * may be useful for advanced optimization techniques. + * @param channel the channel to replace + * @param data the audio sample array + * @return the audio data array that was replaced + * @throws IllegalArgumentException if channel is out of bounds or data is null + * @see #changeSampleCount(int, boolean) + */ + public float[] setRawChannel(int channel, float[] data) { + if (data == null) { + throw new IllegalArgumentException( + "cannot set a channel to a null array"); + } + float[] ret = getChannel(channel); + channels[channel] = data; + return ret; + } + + /** + * Get an array of all channels. + * @return all channels as array + */ + public Object[] getAllChannels() { + Object[] res = new Object[getChannelCount()]; + for (int ch = 0; ch < getChannelCount(); ch++) { + res[ch] = getChannel(ch); + } + return res; + } + + /** + * Set the number of bits for dithering. Typically, a value between 0.2 and + * 0.9 gives best results. + *

+ * Note: this value is only used, when dithering is actually performed. + */ + public void setDitherBits(float ditherBits) { + if (ditherBits <= 0) { + throw new IllegalArgumentException( + "DitherBits must be greater than 0"); + } + this.ditherBits = ditherBits; + } + + public float getDitherBits() { + return ditherBits; + } + + /** + * Sets the mode for dithering. This can be one of: + *

    + *
  • DITHER_MODE_AUTOMATIC: it is decided automatically, whether + * dithering is necessary - in general when sample size is decreased. + *
  • DITHER_MODE_ON: dithering will be forced + *
  • DITHER_MODE_OFF: dithering will not be done. + *
+ */ + public void setDitherMode(int mode) { + if (mode != DITHER_MODE_AUTOMATIC && mode != DITHER_MODE_ON + && mode != DITHER_MODE_OFF) { + throw new IllegalArgumentException("Illegal DitherMode"); + } + this.ditherMode = mode; + } + + public int getDitherMode() { + return ditherMode; + } + + /** + * @return the ditherBits parameter for the float2byte functions + */ + protected float getConvertDitherBits(int newFormatType) { + // let's see whether dithering is necessary + boolean doDither = false; + switch (ditherMode) { + case DITHER_MODE_AUTOMATIC: + doDither = (originalFormatType & FloatSampleTools.F_SAMPLE_WIDTH_MASK) > (newFormatType & FloatSampleTools.F_SAMPLE_WIDTH_MASK); + break; + case DITHER_MODE_ON: + doDither = true; + break; + case DITHER_MODE_OFF: + doDither = false; + break; + } + return doDither ? ditherBits : 0.0f; + } +} diff --git a/src/main/java/com/github/trilarion/share/sampled/FloatSampleInput.java b/src/main/java/com/github/trilarion/share/sampled/FloatSampleInput.java new file mode 100644 index 0000000..d915282 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/FloatSampleInput.java @@ -0,0 +1 @@ +/* * FloatSampleInput.java * * This file is part of Tritonus: http://www.tritonus.org/ */ /* * Copyright (c) 2006 by Florian Bomers * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. */ /* |<--- this code is formatted to fit into 80 columns --->| */ package com.github.trilarion.share.sampled; /** * Master interface for all classes providing audio data in FloatSampleBuffers. * * @author florian */ public interface FloatSampleInput { /** * Fill the entire buffer with audio data. If fewer samples are read, this * method will use buffer.changeSampleCount() to adjust the size of the * buffer. If no samples can be written to the buffer, the buffer's sample * count will be set to 0. *

* The buffer's channel count and sample rate may not be changed by the * implementation of this method. * * @param buffer the buffer to be filled */ public void read(FloatSampleBuffer buffer); /** * Fill the specified portion of the buffer with the next audio data to be * read. If fewer samples are read, this method will use * buffer.changeSampleCount() to adjust the size of the buffer. If no * samples can be written to the buffer, the buffer's sample count will be * set to offset. *

* The buffer's channel count and sample rate may not be changed by the * implementation of this method. * * @param buffer the buffer to be filled * @param offset the start index, in samples, where to start filling the * buffer * @param sampleCount the number fo samples to fill into the buffer */ public void read(FloatSampleBuffer buffer, int offset, int sampleCount); /** * Determine if this stream has reached its end. If true, subsequent calls * to read() will return 0-sized buffers. * * @return true if this stream reached its end. */ public boolean isDone(); /** * @return the number of audio channels of the audio data that this stream * provides. If it can support a variable number of channels, this * method returns AudioSystem.NOT_SPECIFIED. */ public int getChannels(); /** * @return the sample rate of the audio data that this stream provides. If * it can support different sample rates, this method returns a * negative number, e.g. AudioSystem.NOT_SPECIFIED. */ public float getSampleRate(); } \ No newline at end of file diff --git a/src/main/java/com/github/trilarion/share/sampled/FloatSampleTools.java b/src/main/java/com/github/trilarion/share/sampled/FloatSampleTools.java new file mode 100644 index 0000000..7344a2f --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/FloatSampleTools.java @@ -0,0 +1,877 @@ +/* + * FloatSampleTools.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000-2006 by Florian Bomers + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* + |<--- this code is formatted to fit into 80 columns --->| + */ + +package com.github.trilarion.share.sampled; + +import java.util.*; +import javax.sound.sampled.*; + +/** + * Utility functions for handling data in normalized float arrays. Each sample + * is linear in the range of [-1.0f, +1.0f]. + *

+ * Currently, the following bit sizes are supported: + *

    + *
  • 8-bit + *
  • 16-bit + *
  • packed 24-bit (stored in 3 bytes) + *
  • unpacked 24-bit (stored in 4 bytes) + *
  • 32-bit + *
+ * 8-bit data can be unsigned or signed. All other data is only supported in + * signed encoding. + * + * @see FloatSampleBuffer + * @author Florian Bomers + */ + +public class FloatSampleTools { + + /** default number of bits to be dithered: 0.7f */ + public static final float DEFAULT_DITHER_BITS = 0.7f; + + private static Random random = null; + + // sample width (must be in order !) + static final int F_8 = 1; + static final int F_16 = 2; + static final int F_24_3 = 3; + static final int F_24_4 = 4; + static final int F_32 = 5; + static final int F_SAMPLE_WIDTH_MASK = F_8 | F_16 | F_24_3 | F_24_4 | F_32; + + // format bit-flags + static final int F_SIGNED = 8; + static final int F_BIGENDIAN = 16; + + // supported formats + static final int CT_8S = F_8 | F_SIGNED; + static final int CT_8U = F_8; + static final int CT_16SB = F_16 | F_SIGNED | F_BIGENDIAN; + static final int CT_16SL = F_16 | F_SIGNED; + static final int CT_24_3SB = F_24_3 | F_SIGNED | F_BIGENDIAN; + static final int CT_24_3SL = F_24_3 | F_SIGNED; + static final int CT_24_4SB = F_24_4 | F_SIGNED | F_BIGENDIAN; + static final int CT_24_4SL = F_24_4 | F_SIGNED; + static final int CT_32SB = F_32 | F_SIGNED | F_BIGENDIAN; + static final int CT_32SL = F_32 | F_SIGNED; + + // ///////////////////////// initialization ////////////////////// // + + /** prevent instanciation */ + private FloatSampleTools() { + } + + // /////////////// FORMAT / FORMAT TYPE /////////////////////////// // + + /** + * only allow "packed" samples -- currently no support for 18, 20 bits -- + * except 24 bits stored in 4 bytes. + * + * @throws IllegalArgumentException + */ + static void checkSupportedSampleSize(int ssib, int channels, int frameSize) { + if (ssib == 24 && frameSize == 4 * channels) { + // 24 bits stored in 4 bytes is OK (24_4) + return; + } + if ((ssib * channels) != frameSize * 8) { + throw new IllegalArgumentException("unsupported sample size: " + + ssib + " bits stored in " + (frameSize / channels) + + " bytes."); + } + } + + /** + * Get the formatType code from the given format. + * + * @throws IllegalArgumentException + */ + static int getFormatType(AudioFormat format) { + boolean signed = format.getEncoding().equals( + AudioFormat.Encoding.PCM_SIGNED); + if (!signed + && !format.getEncoding().equals( + AudioFormat.Encoding.PCM_UNSIGNED)) { + throw new IllegalArgumentException( + "unsupported encoding: only PCM encoding supported."); + } + if (!signed && format.getSampleSizeInBits() != 8) { + throw new IllegalArgumentException( + "unsupported encoding: only 8-bit can be unsigned"); + } + checkSupportedSampleSize(format.getSampleSizeInBits(), + format.getChannels(), format.getFrameSize()); + + int formatType = getFormatType(format.getSampleSizeInBits(), + format.getFrameSize() / format.getChannels(), signed, + format.isBigEndian()); + return formatType; + } + + /** + * @throws IllegalArgumentException + */ + static int getFormatType(int ssib, int bytesPerSample, boolean signed, + boolean bigEndian) { + int res = 0; + if (ssib == 24 || (bytesPerSample == ssib / 8)) { + if (ssib == 8) { + res = F_8; + } else if (ssib == 16) { + res = F_16; + } else if (ssib == 24) { + if (bytesPerSample == 3) { + res = F_24_3; + } else if (bytesPerSample == 4) { + res = F_24_4; + } + } else if (ssib == 32) { + res = F_32; + } + } + if (res == 0) { + throw new IllegalArgumentException( + "ConversionTool: unsupported sample size of " + ssib + + " bits per sample in " + bytesPerSample + + " bytes."); + } + if (!signed && bytesPerSample > 1) { + throw new IllegalArgumentException( + "ConversionTool: unsigned samples larger than " + + "8 bit are not supported"); + } + if (signed) { + res |= F_SIGNED; + } + if (bigEndian && (ssib != 8)) { + res |= F_BIGENDIAN; + } + return res; + } + + static int getSampleSize(int formatType) { + switch (formatType & F_SAMPLE_WIDTH_MASK) { + case F_8: + return 1; + case F_16: + return 2; + case F_24_3: + return 3; + case F_24_4: + return 4; + case F_32: + return 4; + } + return 0; + } + + /** + * Return a string representation of this format + */ + static String formatType2Str(int formatType) { + String res = "" + formatType + ": "; + switch (formatType & F_SAMPLE_WIDTH_MASK) { + case F_8: + res += "8bit"; + break; + case F_16: + res += "16bit"; + break; + case F_24_3: + res += "24_3bit"; + break; + case F_24_4: + res += "24_4bit"; + break; + case F_32: + res += "32bit"; + break; + } + res += ((formatType & F_SIGNED) == F_SIGNED) ? " signed" : " unsigned"; + if ((formatType & F_SAMPLE_WIDTH_MASK) != F_8) { + res += ((formatType & F_BIGENDIAN) == F_BIGENDIAN) ? " big endian" + : " little endian"; + } + return res; + } + + // /////////////////// BYTE 2 FLOAT /////////////////////////////////// // + + private static final float twoPower7 = 128.0f; + private static final float twoPower15 = 32768.0f; + private static final float twoPower23 = 8388608.0f; + private static final float twoPower31 = 2147483648.0f; + + private static final float invTwoPower7 = 1 / twoPower7; + private static final float invTwoPower15 = 1 / twoPower15; + private static final float invTwoPower23 = 1 / twoPower23; + private static final float invTwoPower31 = 1 / twoPower31; + + /** + * @see #byte2float(byte[] input, int inByteOffset, Object[] output, int + * outOffset, int frameCount, AudioFormat format, boolean + * allowAddChannel) + */ + public static void byte2float(byte[] input, int inByteOffset, + List output, int outOffset, int frameCount, + AudioFormat format) { + + byte2float(input, inByteOffset, output, outOffset, frameCount, format, + true); + } + + /** + * @param output an array of float[] arrays + * @throws ArrayIndexOutOfBoundsException if output does not + * format.getChannels() elements + * @see #byte2float(byte[] input, int inByteOffset, Object[] output, int + * outOffset, int frameCount, AudioFormat format, boolean + * allowAddChannel) + */ + public static void byte2float(byte[] input, int inByteOffset, + Object[] output, int outOffset, int frameCount, AudioFormat format) { + + byte2float(input, inByteOffset, output, outOffset, frameCount, format, + true); + } + + /** + * @param output an array of float[] arrays + * @param allowAddChannel if true, and output has fewer channels than + * format, then only output.length channels are filled + * @throws ArrayIndexOutOfBoundsException if output does not + * format.getChannels() elements + * @see #byte2float(byte[] input, int inByteOffset, Object[] output, int + * outOffset, int frameCount, AudioFormat format, boolean + * allowAddChannel) + */ + public static void byte2float(byte[] input, int inByteOffset, + Object[] output, int outOffset, int frameCount, AudioFormat format, + boolean allowAddChannel) { + + int channels = format.getChannels(); + if (!allowAddChannel && channels > output.length) { + channels = output.length; + } + if (output.length < channels) { + throw new ArrayIndexOutOfBoundsException( + "too few channel output array"); + } + for (int channel = 0; channel < channels; channel++) { + float[] data = (float[]) output[channel]; + if (data.length < frameCount + outOffset) { + data = new float[frameCount + outOffset]; + output[channel] = data; + } + + byte2floatGeneric(input, inByteOffset, format.getFrameSize(), data, + outOffset, frameCount, format); + inByteOffset += format.getFrameSize() / format.getChannels(); + } + } + + /** + * Conversion function to convert an interleaved byte array to a List of + * interleaved float arrays. The float arrays will contain normalized + * samples in the range [-1.0, +1.0]. The input array provides bytes in the + * format specified in format. + *

+ * Only PCM formats are accepted. The method will convert all byte values + * from input[inByteOffset] to + * input[inByteOffset + (frameCount * format.getFrameSize()) - 1] + * to floats from output(n)[outOffset] to + * output(n)[outOffset + frameCount - 1] + * + * @param input the audio data in an byte array + * @param inByteOffset index in input where to start the conversion + * @param output list of float[] arrays which receive the converted audio + * data. if the list does not contain enough elements, or + * individual float arrays are not large enough, they are + * created. + * @param outOffset the start offset in output + * @param frameCount number of frames to be converted + * @param format the input format. Only packed PCM is allowed + * @param allowAddChannel if true, channels may be added to + * output to match the number of input channels, + * otherwise, only the first output.size() channels of input data + * are converted. + * @throws IllegalArgumentException if one of the parameters is out of + * bounds + * @see #byte2floatInterleaved(byte[],int,float[],int,int,AudioFormat) + */ + public static void byte2float(byte[] input, int inByteOffset, + List output, int outOffset, int frameCount, + AudioFormat format, boolean allowAddChannel) { + + int channels = format.getChannels(); + if (!allowAddChannel && channels > output.size()) { + channels = output.size(); + } + for (int channel = 0; channel < channels; channel++) { + float[] data; + if (output.size() < channel) { + data = new float[frameCount + outOffset]; + output.add(data); + } else { + data = output.get(channel); + if (data.length < frameCount + outOffset) { + data = new float[frameCount + outOffset]; + output.set(channel, data); + } + } + + byte2floatGeneric(input, inByteOffset, format.getFrameSize(), data, + outOffset, frameCount, format); + inByteOffset += format.getFrameSize() / format.getChannels(); + } + } + + /** + * Conversion function to convert one audio channel in an interleaved byte + * array to a float array. The float array will contain normalized samples + * in the range [-1.0, +1.0]. The input array provides bytes in the format + * specified in format. + *

+ * Only PCM formats are accepted. The method will convert all byte values + * from input[inByteOffset] to + * input[inByteOffset + (frameCount * format.getFrameSize()) - 1] + * to floats from output(n)[outOffset] to + * output(n)[outOffset + frameCount - 1] + * + * @param channel the channel number to extract from the input audio data + * @param input the audio data in an byte array + * @param inByteOffset index in input where to start the conversion + * @param output the of float array which receives the converted audio data. + * @param outOffset the start offset in output + * @param frameCount number of frames to be converted + * @param format the input format. Only packed PCM is allowed + * @throws IllegalArgumentException if one of the parameters is out of + * bounds + */ + public static void byte2float(int channel, byte[] input, int inByteOffset, + float[] output, int outOffset, int frameCount, AudioFormat format) { + + if (channel >= format.getChannels()) { + throw new IllegalArgumentException("channel out of bounds"); + } + if (output.length < frameCount + outOffset) { + throw new IllegalArgumentException("data is too small"); + } + + // "select" the channel + inByteOffset += format.getFrameSize() / format.getChannels() * channel; + byte2floatGeneric(input, inByteOffset, format.getFrameSize(), output, + outOffset, frameCount, format); + } + + /** + * Conversion function to convert an interleaved byte array to an + * interleaved float array. The float array will contain normalized samples + * in the range [-1.0f, +1.0f]. The input array provides bytes in the format + * specified in format. + *

+ * Only PCM formats are accepted. The method will convert all byte values + * from input[inByteOffset] to + * input[inByteOffset + (frameCount * format.getFrameSize()) - 1] + * to floats from output[outOffset] to + * output[outOffset + (frameCount * format.getChannels()) - 1] + * + * @param input the audio data in an byte array + * @param inByteOffset index in input where to start the conversion + * @param output the float array that receives the converted audio data + * @param outOffset the start offset in output + * @param frameCount number of frames to be converted + * @param format the input format. Only packed PCM is allowed + * @throws IllegalArgumentException if one of the parameters is out of + * bounds + * @see #byte2float(byte[],int,List,int,int,AudioFormat) + */ + public static void byte2floatInterleaved(byte[] input, int inByteOffset, + float[] output, int outOffset, int frameCount, AudioFormat format) { + + byte2floatGeneric(input, inByteOffset, format.getFrameSize() + / format.getChannels(), output, outOffset, frameCount + * format.getChannels(), format); + } + + /** + * Generic conversion function to convert a byte array to a float array. + *

+ * Only PCM formats are accepted. The method will convert all bytes from + * input[inByteOffset] to + * input[inByteOffset + (sampleCount * (inByteStep - 1)] to + * samples from output[outOffset] to + * output[outOffset+sampleCount-1]. + *

+ * The format's channel count is ignored. + *

+ * For mono data, set inByteOffset to + * format.getFrameSize().
+ * For converting interleaved input data, multiply sampleCount + * by the number of channels and set inByteStep to + * format.getFrameSize() / format.getChannels(). + * + * @param sampleCount number of samples to be written to output + * @param inByteStep how many bytes advance for each output sample in + * output. + * @throws IllegalArgumentException if one of the parameters is out of + * bounds + * @see #byte2floatInterleaved(byte[],int,float[],int,int,AudioFormat) + * @see #byte2float(byte[],int,List,int,int,AudioFormat) + */ + static void byte2floatGeneric(byte[] input, int inByteOffset, + int inByteStep, float[] output, int outOffset, int sampleCount, + AudioFormat format) { + int formatType = getFormatType(format); + + byte2floatGeneric(input, inByteOffset, inByteStep, output, outOffset, + sampleCount, formatType); + } + + /** + * Central conversion function from a byte array to a normalized float + * array. In order to accomodate interleaved and non-interleaved samples, + * this method takes inByteStep as parameter which can be used to flexibly + * convert the data. + *

+ * E.g.:
+ * mono->mono: inByteStep=format.getFrameSize()
+ * interleaved_stereo->interleaved_stereo: + * inByteStep=format.getFrameSize()/2, sampleCount*2
+ * stereo->2 mono arrays:
+ * ---inByteOffset=0, outOffset=0, inByteStep=format.getFrameSize()
+ * ---inByteOffset=format.getFrameSize()/2, outOffset=1, + * inByteStep=format.getFrameSize()
+ */ + static void byte2floatGeneric(byte[] input, int inByteOffset, + int inByteStep, float[] output, int outOffset, int sampleCount, + int formatType) { + // if (TDebug.TraceAudioConverter) { + // TDebug.out("FloatSampleTools.byte2floatGeneric, formatType=" + // +formatType2Str(formatType)); + // } + int endCount = outOffset + sampleCount; + int inIndex = inByteOffset; + for (int outIndex = outOffset; outIndex < endCount; outIndex++, inIndex += inByteStep) { + // do conversion + switch (formatType) { + case CT_8S: + output[outIndex] = input[inIndex] * invTwoPower7; + break; + case CT_8U: + output[outIndex] = ((input[inIndex] & 0xFF) - 128) * invTwoPower7; + break; + case CT_16SB: + output[outIndex] = ((input[inIndex] << 8) + | (input[inIndex + 1] & 0xFF)) + * invTwoPower15; + break; + case CT_16SL: + output[outIndex] = ((input[inIndex + 1] << 8) + | (input[inIndex] & 0xFF)) + * invTwoPower15; + break; + case CT_24_3SB: + output[outIndex] = ((input[inIndex] << 16) + | ((input[inIndex + 1] & 0xFF) << 8) + | (input[inIndex + 2] & 0xFF)) + * invTwoPower23; + break; + case CT_24_3SL: + output[outIndex] = ((input[inIndex + 2] << 16) + | ((input[inIndex + 1] & 0xFF) << 8) + | (input[inIndex] & 0xFF)) + * invTwoPower23; + break; + case CT_24_4SB: + output[outIndex] = ((input[inIndex + 1] << 16) + | ((input[inIndex + 2] & 0xFF) << 8) + | (input[inIndex + 3] & 0xFF)) + * invTwoPower23; + break; + case CT_24_4SL: + // TODO: verify the indexes + output[outIndex] = ((input[inIndex + 3] << 16) + | ((input[inIndex + 2] & 0xFF) << 8) + | (input[inIndex + 1] & 0xFF)) + * invTwoPower23; + break; + case CT_32SB: + output[outIndex] = ((input[inIndex] << 24) + | ((input[inIndex + 1] & 0xFF) << 16) + | ((input[inIndex + 2] & 0xFF) << 8) + | (input[inIndex + 3] & 0xFF)) + * invTwoPower31; + break; + case CT_32SL: + output[outIndex] = ((input[inIndex + 3] << 24) + | ((input[inIndex + 2] & 0xFF) << 16) + | ((input[inIndex + 1] & 0xFF) << 8) + | (input[inIndex] & 0xFF)) + * invTwoPower31; + break; + default: + throw new IllegalArgumentException("unsupported format=" + + formatType2Str(formatType)); + } + } + } + + // /////////////////// FLOAT 2 BYTE /////////////////////////////////// // + + private static byte quantize8(float sample, float ditherBits) { + if (ditherBits != 0) { + sample += random.nextFloat() * ditherBits; + } + if (sample >= 127.0f) { + return (byte) 127; + } else if (sample <= -128.0f) { + return (byte) -128; + } else { + return (byte) (sample < 0 ? (sample - 0.5f) : (sample + 0.5f)); + } + } + + private static int quantize16(float sample, float ditherBits) { + if (ditherBits != 0) { + sample += random.nextFloat() * ditherBits; + } + if (sample >= 32767.0f) { + return 32767; + } else if (sample <= -32768.0f) { + return -32768; + } else { + return (int) (sample < 0 ? (sample - 0.5f) : (sample + 0.5f)); + } + } + + private static int quantize24(float sample, float ditherBits) { + if (ditherBits != 0) { + sample += random.nextFloat() * ditherBits; + } + if (sample >= 8388607.0f) { + return 8388607; + } else if (sample <= -8388608.0f) { + return -8388608; + } else { + return (int) (sample < 0 ? (sample - 0.5f) : (sample + 0.5f)); + } + } + + private static int quantize32(float sample, float ditherBits) { + if (ditherBits != 0) { + sample += random.nextFloat() * ditherBits; + } + if (sample >= 2147483647.0f) { + return 2147483647; + } else if (sample <= -2147483648.0f) { + return -2147483648; + } else { + return (int) (sample < 0 ? (sample - 0.5f) : (sample + 0.5f)); + } + } + + /** + * Conversion function to convert a non-interleaved float audio data to an + * interleaved byte array. The float arrays contains normalized samples in + * the range [-1.0f, +1.0f]. The output array will receive bytes in the + * format specified in format. Exactly + * format.getChannels() channels are converted regardless of + * the number of elements in input. If input + * does not provide enough channels, an IllegalArgumentException + * is thrown. + *

+ * Only PCM formats are accepted. The method will convert all samples from + * input(n)[inOffset] to + * input(n)[inOffset + frameCount - 1] to byte values from + * output[outByteOffset] to + * output[outByteOffset + (frameCount * format.getFrameSize()) - 1] + *

+ * Dithering should be used when the output resolution is significantly + * lower than the original resolution. This includes if the original data + * was 16-bit and it is now converted to 8-bit, or if the data was generated + * in the float domain. No dithering need to be used if the original sample + * data was in e.g. 8-bit and the resulting output data has a higher + * resolution. If dithering is used, a sensitive value is + * DEFAULT_DITHER_BITS. + * + * @param input a List of float arrays with the input audio data + * @param inOffset index in the input arrays where to start the conversion + * @param output the byte array that receives the converted audio data + * @param outByteOffset the start offset in output + * @param frameCount number of frames to be converted. + * @param format the output format. Only packed PCM is allowed + * @param ditherBits if 0, do not dither. Otherwise the number of bits to be + * dithered + * @throws IllegalArgumentException if one of the parameters is out of + * bounds + * @see #DEFAULT_DITHER_BITS + * @see #float2byteInterleaved(float[],int,byte[],int,int,AudioFormat,float) + */ + public static void float2byte(List input, int inOffset, + byte[] output, int outByteOffset, int frameCount, + AudioFormat format, float ditherBits) { + for (int channel = 0; channel < format.getChannels(); channel++) { + float[] data = input.get(channel); + float2byteGeneric(data, inOffset, output, outByteOffset, + format.getFrameSize(), frameCount, format, ditherBits); + outByteOffset += format.getFrameSize() / format.getChannels(); + } + } + + /** + * @param input an array of float[] arrays + * @throws ArrayIndexOutOfBoundsException if one of the parameters is out of + * bounds + * @see #float2byte(Object[], int, byte[], int, int, AudioFormat, float) + */ + public static void float2byte(Object[] input, int inOffset, byte[] output, + int outByteOffset, int frameCount, AudioFormat format, + float ditherBits) { + int channels = format.getChannels(); + for (int channel = 0; channel < channels; channel++) { + float[] data = (float[]) input[channel]; + float2byteGeneric(data, inOffset, output, outByteOffset, + format.getFrameSize(), frameCount, format, ditherBits); + outByteOffset += format.getFrameSize() / format.getChannels(); + } + } + + /** + * @param input an array of float[] arrays + * @param channels how many channels to use from the input array + * @param frameSize only as optimization, the number of bytes per sample + * frame + * @throws ArrayIndexOutOfBoundsException if one of the parameters is out of + * bounds + * @see #float2byte(Object[], int, byte[], int, int, AudioFormat, float) + */ + static void float2byte(Object[] input, int inOffset, byte[] output, + int outByteOffset, int frameCount, int formatCode, int channels, + int frameSize, float ditherBits) { + int sampleSize = frameSize / channels; + for (int channel = 0; channel < channels; channel++) { + float[] data = (float[]) input[channel]; + float2byteGeneric(data, inOffset, output, outByteOffset, frameSize, + frameCount, formatCode, ditherBits); + outByteOffset += sampleSize; + } + } + + /** + * Conversion function to convert an interleaved float array to an + * interleaved byte array. The float array contains normalized samples in + * the range [-1.0f, +1.0f]. The output array will receive bytes in the + * format specified in format. + *

+ * Only PCM formats are accepted. The method will convert all samples from + * input[inOffset] to + * input[inOffset + (frameCount * format.getChannels()) - 1] + * to byte values from output[outByteOffset] to + * output[outByteOffset + (frameCount * format.getFrameSize()) - 1] + *

+ * Dithering should be used when the output resolution is significantly + * lower than the original resolution. This includes if the original data + * was 16-bit and it is now converted to 8-bit, or if the data was generated + * in the float domain. No dithering need to be used if the original sample + * data was in e.g. 8-bit and the resulting output data has a higher + * resolution. If dithering is used, a sensitive value is + * DEFAULT_DITHER_BITS. + * + * @param input the audio data in normalized samples + * @param inOffset index in input where to start the conversion + * @param output the byte array that receives the converted audio data + * @param outByteOffset the start offset in output + * @param frameCount number of frames to be converted. + * @param format the output format. Only packed PCM is allowed + * @param ditherBits if 0, do not dither. Otherwise the number of bits to be + * dithered + * @throws IllegalArgumentException if one of the parameters is out of + * bounds + * @see #DEFAULT_DITHER_BITS + * @see #float2byte(List,int,byte[],int,int,AudioFormat,float) + */ + public static void float2byteInterleaved(float[] input, int inOffset, + byte[] output, int outByteOffset, int frameCount, + AudioFormat format, float ditherBits) { + float2byteGeneric(input, inOffset, output, outByteOffset, + format.getFrameSize() / format.getChannels(), frameCount + * format.getChannels(), format, ditherBits); + } + + /** + * Generic conversion function to convert a float array to a byte array. + *

+ * Only PCM formats are accepted. The method will convert all samples from + * input[inOffset] to + * input[inOffset+sampleCount-1] to byte values from + * output[outByteOffset] to + * output[outByteOffset + (sampleCount * (outByteStep - 1)]. + *

+ * The format's channel count is ignored. + *

+ * For mono data, set outByteOffset to + * format.getFrameSize().
+ * For converting interleaved input data, multiply sampleCount + * by the number of channels and set outByteStep to + * format.getFrameSize() / format.getChannels(). + * + * @param sampleCount number of samples in input to be converted. + * @param outByteStep how many bytes advance for each input sample in + * input. + * @throws IllegalArgumentException if one of the parameters is out of + * bounds + * @see #float2byteInterleaved(float[],int,byte[],int,int,AudioFormat,float) + * @see #float2byte(List,int,byte[],int,int,AudioFormat,float) + */ + static void float2byteGeneric(float[] input, int inOffset, byte[] output, + int outByteOffset, int outByteStep, int sampleCount, + AudioFormat format, float ditherBits) { + int formatType = getFormatType(format); + + float2byteGeneric(input, inOffset, output, outByteOffset, outByteStep, + sampleCount, formatType, ditherBits); + } + + /** + * Central conversion function from normalized float array to a byte array. + * In order to accomodate interleaved and non-interleaved samples, this + * method takes outByteStep as parameter which can be used to flexibly + * convert the data. + *

+ * E.g.:
+ * mono->mono: outByteStep=format.getFrameSize()
+ * interleaved stereo->interleaved stereo: + * outByteStep=format.getFrameSize()/2, sampleCount*2
+ * 2 mono arrays->stereo:
+ * ---inOffset=0, outByteOffset=0, outByteStep=format.getFrameSize()
+ * ---inOffset=1, outByteOffset=format.getFrameSize()/2, + * outByteStep=format.getFrameSize()
+ */ + static void float2byteGeneric(float[] input, int inOffset, byte[] output, + int outByteOffset, int outByteStep, int sampleCount, + int formatType, float ditherBits) { + // if (TDebug.TraceAudioConverter) { + // TDebug.out("FloatSampleBuffer.float2byteGeneric, formatType=" + // +"formatType2Str(formatType)); + // } + + if (inOffset < 0 || inOffset + sampleCount > input.length + || sampleCount < 0) { + throw new IllegalArgumentException("invalid input index: " + + "input.length=" + input.length + " inOffset=" + inOffset + + " sampleCount=" + sampleCount); + } + if (outByteOffset < 0 + || outByteOffset + (sampleCount * outByteStep) >= (output.length + outByteStep) + || outByteStep < getSampleSize(formatType)) { + throw new IllegalArgumentException("invalid output index: " + + "output.length=" + output.length + " outByteOffset=" + + outByteOffset + " outByteStep=" + outByteStep + + " sampleCount=" + sampleCount + " format=" + + formatType2Str(formatType)); + } + + if (ditherBits != 0.0f && random == null) { + // create the random number generator for dithering + random = new Random(); + } + int endSample = inOffset + sampleCount; + int iSample; + int outIndex = outByteOffset; + for (int inIndex = inOffset; inIndex < endSample; inIndex++, outIndex += outByteStep) { + // do conversion + switch (formatType) { + case CT_8S: + output[outIndex] = quantize8(input[inIndex] * twoPower7, + ditherBits); + break; + case CT_8U: + output[outIndex] = (byte) (quantize8( + (input[inIndex] * twoPower7), ditherBits) + 128); + break; + case CT_16SB: + iSample = quantize16(input[inIndex] * twoPower15, ditherBits); + output[outIndex] = (byte) (iSample >> 8); + output[outIndex + 1] = (byte) (iSample & 0xFF); + break; + case CT_16SL: + iSample = quantize16(input[inIndex] * twoPower15, ditherBits); + output[outIndex + 1] = (byte) (iSample >> 8); + output[outIndex] = (byte) (iSample & 0xFF); + break; + case CT_24_3SB: + iSample = quantize24(input[inIndex] * twoPower23, ditherBits); + output[outIndex] = (byte) (iSample >> 16); + output[outIndex + 1] = (byte) ((iSample >>> 8) & 0xFF); + output[outIndex + 2] = (byte) (iSample & 0xFF); + break; + case CT_24_3SL: + iSample = quantize24(input[inIndex] * twoPower23, ditherBits); + output[outIndex + 2] = (byte) (iSample >> 16); + output[outIndex + 1] = (byte) ((iSample >>> 8) & 0xFF); + output[outIndex] = (byte) (iSample & 0xFF); + break; + case CT_24_4SB: + // TODO: verify + iSample = quantize24(input[inIndex] * twoPower23, ditherBits); + output[outIndex + 0] = 0; + output[outIndex + 1] = (byte) (iSample >> 16); + output[outIndex + 2] = (byte) ((iSample >>> 8) & 0xFF); + output[outIndex + 3] = (byte) (iSample & 0xFF); + break; + case CT_24_4SL: + // TODO: verify + iSample = quantize24(input[inIndex] * twoPower23, ditherBits); + output[outIndex + 3] = (byte) (iSample >> 16); + output[outIndex + 2] = (byte) ((iSample >>> 8) & 0xFF); + output[outIndex + 1] = (byte) (iSample & 0xFF); + output[outIndex + 0] = 0; + break; + case CT_32SB: + iSample = quantize32(input[inIndex] * twoPower31, ditherBits); + output[outIndex] = (byte) (iSample >> 24); + output[outIndex + 1] = (byte) ((iSample >>> 16) & 0xFF); + output[outIndex + 2] = (byte) ((iSample >>> 8) & 0xFF); + output[outIndex + 3] = (byte) (iSample & 0xFF); + break; + case CT_32SL: + iSample = quantize32(input[inIndex] * twoPower31, ditherBits); + output[outIndex + 3] = (byte) (iSample >> 24); + output[outIndex + 2] = (byte) ((iSample >>> 16) & 0xFF); + output[outIndex + 1] = (byte) ((iSample >>> 8) & 0xFF); + output[outIndex] = (byte) (iSample & 0xFF); + break; + default: + throw new IllegalArgumentException("unsupported format=" + + formatType2Str(formatType)); + } + } + } +} diff --git a/src/main/java/com/github/trilarion/share/sampled/TAudioFormat.java b/src/main/java/com/github/trilarion/share/sampled/TAudioFormat.java new file mode 100644 index 0000000..1c9b08e --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/TAudioFormat.java @@ -0,0 +1,163 @@ +/* + * TAudioFormat.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2003 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import javax.sound.sampled.AudioFormat; + + + +public class TAudioFormat +extends AudioFormat +{ + private Map m_properties; + private Map m_unmodifiableProperties; + + + public TAudioFormat(AudioFormat.Encoding encoding, + float sampleRate, + int sampleSizeInBits, + int channels, + int frameSize, + float frameRate, + boolean bigEndian, + Map properties) + { + super(encoding, + sampleRate, + sampleSizeInBits, + channels, + frameSize, + frameRate, + bigEndian); + initMaps(properties); + } + + /** + * Create an instance of TAudioFormat as a copy of the supplied audio + * format. + * + * @param format the instance to copy + */ + public TAudioFormat(AudioFormat format) + { + this(format.getEncoding(), + format.getSampleRate(), + format.getSampleSizeInBits(), + format.getChannels(), + format.getFrameSize(), + format.getFrameRate(), + format.isBigEndian(), + format.properties()); + } + + /** + * Create an instance of TAudioFormat as a copy of the supplied audio + * format, adding the given properties to any properties supplied by + * format. Duplicate properties in the supplied + * properties will overwrite the ones in format. + * + * @param format the instance to copy + * @param properties properties to be added to this TAudioFormat + */ + public TAudioFormat(AudioFormat format, + Map properties) + { + this(format); + m_properties.putAll(properties); + } + + public TAudioFormat(float sampleRate, + int sampleSizeInBits, + int channels, + boolean signed, + boolean bigEndian, + Map properties) + { + super(sampleRate, + sampleSizeInBits, + channels, + signed, + bigEndian); + initMaps(properties); + } + + + + private void initMaps(Map properties) + { + /* Here, we make a shallow copy of the map. It's unclear if this + is sufficient (or if a deep copy should be made). + */ + m_properties = new HashMap(); + if (properties != null) { + m_properties.putAll(properties); + } + m_unmodifiableProperties = Collections.unmodifiableMap(m_properties); + } + + + + @Override + public Map properties() + { + if (m_properties == null) + { + initMaps(null); + } + return m_unmodifiableProperties; + } + + + @Override + public Object getProperty(String key) + { + if (m_properties == null) + { + return null; + } + return m_properties.get(key); + } + + + protected void setProperty(String key, Object value) + { + if (m_properties == null) { + initMaps(null); + } + m_properties.put(key, value); + } +} + + + +/*** TAudioFormat.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/TConversionTool.java b/src/main/java/com/github/trilarion/share/sampled/TConversionTool.java new file mode 100644 index 0000000..f50be0a --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/TConversionTool.java @@ -0,0 +1,1224 @@ +/* + * TConversionTool.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999,2000 by Florian Bomers + * Copyright (c) 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled; + + +/** + * Useful methods for converting audio data. + * + * @author Florian Bomers + * @author Matthias Pfisterer + */ + +/* +For convenience, a list of available methods is maintained here. +Some hints: +- buffers: always byte arrays +- offsets: always in bytes +- sampleCount: number of SAMPLES to read/write, as opposed to FRAMES or BYTES! +- when in buffer and out buffer are given, the data is copied, + otherwise it is replaced in the same buffer (buffer size is not checked!) +- a number (except "2") gives the number of bits in which format + the samples have to be. +- >8 bits per sample is always treated signed. +- all functions are tried to be optimized - hints welcome ! + + +** "high level" methods ** +changeOrderOrSign(buffer, nOffset, nByteLength, nBytesPerSample) +changeOrderOrSign(inBuffer, nInOffset, outBuffer, nOutOffset, nByteLength, nBytesPerSample) + + +** PCM byte order and sign conversion ** +void convertSign8(buffer, byteOffset, sampleCount) +void swapOrder16(buffer, byteOffset, sampleCount) +void swapOrder24(buffer, byteOffset, sampleCount) +void swapOrder32(buffer, byteOffset, sampleCount) +void convertSign8(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount) +void swapOrder16(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount) +void swapOrder24(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount) +void swapOrder32(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount) + + +** conversion functions for byte arrays ** +** these are for reference to see how to implement these conversions ** +short bytesToShort16(highByte, lowByte) +short bytesToShort16(buffer, byteOffset, bigEndian) +short bytesToInt16(highByte, lowByte) +short bytesToInt16(buffer, byteOffset, bigEndian) +short bytesToInt24(buffer, byteOffset, bigEndian) +short bytesToInt32(buffer, byteOffset, bigEndian) +void shortToBytes16(sample, buffer, byteOffset, bigEndian) +void intToBytes24(sample, buffer, byteOffset, bigEndian) +void intToBytes32(sample, buffer, byteOffset, bigEndian) + + +** ULAW <-> PCM ** +byte linear2ulaw(int sample) +short ulaw2linear(int ulawbyte) +void pcm162ulaw(buffer, byteOffset, sampleCount, bigEndian) +void pcm162ulaw(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount, bigEndian) +void pcm82ulaw(buffer, byteOffset, sampleCount, signed) +void pcm82ulaw(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount, signed) +void ulaw2pcm16(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount, bigEndian) +void ulaw2pcm8(buffer, byteOffset, sampleCount, signed) +void ulaw2pcm8(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount, signed) + + +** ALAW <-> PCM ** +byte linear2alaw(short pcm_val) +short alaw2linear(byte ulawbyte) +void pcm162alaw(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount, bigEndian) +void pcm162alaw(buffer, byteOffset, sampleCount, bigEndian) +void pcm82alaw(buffer, byteOffset, sampleCount, signed) +void pcm82alaw(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount, signed) +void alaw2pcm16(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount, bigEndian) +void alaw2pcm8(buffer, byteOffset, sampleCount, signed) +void alaw2pcm8(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount, signed) + + +** ULAW <-> ALAW ** +byte ulaw2alaw(byte sample) +void ulaw2alaw(buffer, byteOffset, sampleCount) +void ulaw2alaw(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount) +byte alaw2ulaw(byte sample) +void alaw2ulaw(buffer, byteOffset, sampleCount) +void alaw2ulaw(inBuffer, inByteOffset, outBuffer, outByteOffset, sampleCount) + +*/ + +public class TConversionTool { + + ///////////////// sign/byte-order conversion /////////////////////////////////// + + public static void convertSign8(byte[] buffer, int byteOffset, int sampleCount) { + sampleCount+=byteOffset; + for (int i=byteOffset; i0) { + outBuffer[outByteOffset++]=(byte)(inBuffer[inByteOffset++]+128); + sampleCount--; + } + } + + public static void swapOrder16(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, int sampleCount) { + while (sampleCount>0) { + outBuffer[outByteOffset++]=inBuffer[inByteOffset+1]; + outBuffer[outByteOffset++]=inBuffer[inByteOffset++]; + inByteOffset++; + sampleCount--; + } + } + + public static void swapOrder24(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, int sampleCount) { + while (sampleCount>0) { + outBuffer[outByteOffset++]=inBuffer[inByteOffset+2]; + outByteOffset++; + outBuffer[outByteOffset++]=inBuffer[inByteOffset++]; + inByteOffset++; + inByteOffset++; + sampleCount--; + } + } + + public static void swapOrder32(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, int sampleCount) { + while (sampleCount>0) { + outBuffer[outByteOffset++]=inBuffer[inByteOffset+3]; + outBuffer[outByteOffset++]=inBuffer[inByteOffset+2]; + outBuffer[outByteOffset++]=inBuffer[inByteOffset+1]; + outBuffer[outByteOffset++]=inBuffer[inByteOffset++]; + inByteOffset++; + inByteOffset++; + inByteOffset++; + sampleCount--; + } + } + + + ///////////////// conversion functions for byte arrays //////////////////////////// + + + /** + * Converts 2 bytes to a signed sample of type short. + *

This is a reference function. + */ + public static short bytesToShort16(byte highByte, byte lowByte) { + return (short) ((highByte<<8) | (lowByte & 0xFF)); + } + + /** + * Converts 2 successive bytes starting at byteOffset in + * buffer to a signed sample of type short. + *

+ * For little endian, buffer[byteOffset] is interpreted as low byte, + * whereas it is interpreted as high byte in big endian. + *

This is a reference function. + */ + public static short bytesToShort16(byte[] buffer, int byteOffset, boolean bigEndian) { + return bigEndian? + ((short) ((buffer[byteOffset]<<8) | (buffer[byteOffset+1] & 0xFF))): + ((short) ((buffer[byteOffset+1]<<8) | (buffer[byteOffset] & 0xFF))); + } + + /** + * Converts 2 bytes to a signed integer sample with 16bit range. + *

This is a reference function. + */ + public static int bytesToInt16(byte highByte, byte lowByte) { + return (highByte<<8) | (lowByte & 0xFF); + } + + /** + * Converts 2 successive bytes starting at byteOffset in + * buffer to a signed integer sample with 16bit range. + *

+ * For little endian, buffer[byteOffset] is interpreted as low byte, + * whereas it is interpreted as high byte in big endian. + *

This is a reference function. + */ + public static int bytesToInt16(byte[] buffer, int byteOffset, boolean bigEndian) { + return bigEndian? + ((buffer[byteOffset]<<8) | (buffer[byteOffset+1] & 0xFF)): + ((buffer[byteOffset+1]<<8) | (buffer[byteOffset] & 0xFF)); + } + + /** + * Converts 3 successive bytes starting at byteOffset in + * buffer to a signed integer sample with 24bit range. + *

+ * For little endian, buffer[byteOffset] is interpreted as lowest byte, + * whereas it is interpreted as highest byte in big endian. + *

This is a reference function. + */ + public static int bytesToInt24(byte[] buffer, int byteOffset, boolean bigEndian) { + return bigEndian? + ((buffer[byteOffset]<<16) // let Java handle sign-bit + | ((buffer[byteOffset+1] & 0xFF)<<8) // inhibit sign-bit handling + | (buffer[byteOffset+2] & 0xFF)): + ((buffer[byteOffset+2]<<16) // let Java handle sign-bit + | ((buffer[byteOffset+1] & 0xFF)<<8) // inhibit sign-bit handling + | (buffer[byteOffset] & 0xFF)); + } + + /** + * Converts a 4 successive bytes starting at byteOffset in + * buffer to a signed 32bit integer sample. + *

+ * For little endian, buffer[byteOffset] is interpreted as lowest byte, + * whereas it is interpreted as highest byte in big endian. + *

This is a reference function. + */ + public static int bytesToInt32(byte[] buffer, int byteOffset, boolean bigEndian) { + return bigEndian? + ((buffer[byteOffset]<<24) // let Java handle sign-bit + | ((buffer[byteOffset+1] & 0xFF)<<16) // inhibit sign-bit handling + | ((buffer[byteOffset+2] & 0xFF)<<8) // inhibit sign-bit handling + | (buffer[byteOffset+3] & 0xFF)): + ((buffer[byteOffset+3]<<24) // let Java handle sign-bit + | ((buffer[byteOffset+2] & 0xFF)<<16) // inhibit sign-bit handling + | ((buffer[byteOffset+1] & 0xFF)<<8) // inhibit sign-bit handling + | (buffer[byteOffset] & 0xFF)); + } + + + /** + * Converts a sample of type short to 2 bytes in an array. + * sample is interpreted as signed (as Java does). + *

+ * For little endian, buffer[byteOffset] is filled with low byte of sample, + * and buffer[byteOffset+1] is filled with high byte of sample. + *

For big endian, this is reversed. + *

This is a reference function. + */ + public static void shortToBytes16(short sample, byte[] buffer, int byteOffset, boolean bigEndian) { + intToBytes16(sample, buffer, byteOffset, bigEndian); + } + + /** + * Converts a 16 bit sample of type int to 2 bytes in an array. + * sample is interpreted as signed (as Java does). + *

+ * For little endian, buffer[byteOffset] is filled with low byte of sample, + * and buffer[byteOffset+1] is filled with high byte of sample + sign bit. + *

For big endian, this is reversed. + *

Before calling this function, it should be assured that sample + * is in the 16bit range - it will not be clipped. + *

This is a reference function. + */ + public static void intToBytes16(int sample, byte[] buffer, int byteOffset, boolean bigEndian) { + if (bigEndian) { + buffer[byteOffset++]=(byte) (sample >> 8); + buffer[byteOffset]=(byte) (sample & 0xFF); + } else { + buffer[byteOffset++]=(byte) (sample & 0xFF); + buffer[byteOffset]=(byte) (sample >> 8); + } + } + + /** + * Converts a 24 bit sample of type int to 3 bytes in an array. + * sample is interpreted as signed (as Java does). + *

+ * For little endian, buffer[byteOffset] is filled with low byte of sample, + * and buffer[byteOffset+2] is filled with the high byte of sample + sign bit. + *

For big endian, this is reversed. + *

Before calling this function, it should be assured that sample + * is in the 24bit range - it will not be clipped. + *

This is a reference function. + */ + public static void intToBytes24(int sample, byte[] buffer, int byteOffset, boolean bigEndian) { + if (bigEndian) { + buffer[byteOffset++]=(byte) (sample >> 16); + buffer[byteOffset++]=(byte) ((sample >>> 8) & 0xFF); + buffer[byteOffset]=(byte) (sample & 0xFF); + } else { + buffer[byteOffset++]=(byte) (sample & 0xFF); + buffer[byteOffset++]=(byte) ((sample >>> 8) & 0xFF); + buffer[byteOffset]=(byte) (sample >> 16); + } + } + + + /** + * Converts a 32 bit sample of type int to 4 bytes in an array. + * sample is interpreted as signed (as Java does). + *

+ * For little endian, buffer[byteOffset] is filled with lowest byte of sample, + * and buffer[byteOffset+3] is filled with the high byte of sample + sign bit. + *

For big endian, this is reversed. + *

+ * Dithering:
+ * By default, this class uses dithering for reduction of sample width (e.g. + * original data was 16bit, target data is 8bit). As dithering may be needed in + * other cases (especially when the float samples are processed using DSP + * algorithms), or it is preferred to switch it off, dithering can be + * explicitely switched on or off with the method setDitherMode(int).
+ * For a discussion about dithering, see
here + * and + * here. + * + * @author Florian Bomers + */ + +public class FloatSampleBuffer { + + /** Whether the functions without lazy parameter are lazy or not. */ + private static final boolean LAZY_DEFAULT = true; + + // one float array for each channel + private Object[] channels = new Object[2]; + private int sampleCount = 0; + private int channelCount = 0; + private float sampleRate = 0; + private int originalFormatType = 0; + + /** + * Constant for setDitherMode: dithering will be enabled if sample size is + * decreased + */ + public static final int DITHER_MODE_AUTOMATIC = 0; + /** Constant for setDitherMode: dithering will be done */ + public static final int DITHER_MODE_ON = 1; + /** Constant for setDitherMode: dithering will not be done */ + public static final int DITHER_MODE_OFF = 2; + + private float ditherBits = FloatSampleTools.DEFAULT_DITHER_BITS; + + // e.g. the sample rate converter may want to force dithering + private int ditherMode = DITHER_MODE_AUTOMATIC; + + // ////////////////////////////// initialization ////////////////////// + + /** + * Create an instance with initially no channels. + */ + public FloatSampleBuffer() { + this(0, 0, 1); + } + + /** + * Create an empty FloatSampleBuffer with the specified number of channels, + * samples, and the specified sample rate. + */ + public FloatSampleBuffer(int channelCount, int sampleCount, float sampleRate) { + init(channelCount, sampleCount, sampleRate, LAZY_DEFAULT); + } + + /** + * Creates a new instance of FloatSampleBuffer and initializes it with audio + * data given in the interleaved byte array buffer. + */ + public FloatSampleBuffer(byte[] buffer, int offset, int byteCount, + AudioFormat format) { + this(format.getChannels(), byteCount + / (format.getSampleSizeInBits() / 8 * format.getChannels()), + format.getSampleRate()); + initFromByteArray(buffer, offset, byteCount, format); + } + + /** + * Initialize this sample buffer to have the specified channels, sample + * count, and sample rate. If LAZY_DEFAULT is true, as much as possible will + * existing arrays be reused. Otherwise, any hidden channels are freed. + * + * @param newChannelCount + * @param newSampleCount + * @param newSampleRate + * @throws IllegalArgumentException if newChannelCount or newSampleCount are + * negative, or newSampleRate is not positive. + */ + public void init(int newChannelCount, int newSampleCount, + float newSampleRate) { + init(newChannelCount, newSampleCount, newSampleRate, LAZY_DEFAULT); + } + + /** + * Initialize this sample buffer to have the specified channels, sample + * count, and sample rate. If lazy is true, as much as possible will + * existing arrays be reused. Otherwise, any hidden channels are freed. + * + * @param newChannelCount + * @param newSampleCount + * @param newSampleRate + * @param lazy + * @throws IllegalArgumentException if newChannelCount or newSampleCount are + * negative, or newSampleRate is not positive. + */ + public void init(int newChannelCount, int newSampleCount, + float newSampleRate, boolean lazy) { + if (newChannelCount < 0 || newSampleCount < 0 || newSampleRate <= 0.0f) { + throw new IllegalArgumentException( + "invalid parameters in initialization of FloatSampleBuffer."); + } + setSampleRate(newSampleRate); + if (this.sampleCount != newSampleCount + || this.channelCount != newChannelCount) { + createChannels(newChannelCount, newSampleCount, lazy); + } + } + + /** + * Verify that the specified AudioFormat can be converted to and from. If + * the format is not supported, an IllegalArgumentException is thrown. + * + * @throws IllegalArgumentException if the format is not supported + */ + public static void checkFormatSupported(AudioFormat format) { + FloatSampleTools.getFormatType(format); + } + + /** + * Grow the channels array to allow at least channelCount elements. If + * !lazy, then channels will be resized to be exactly channelCount elements. + * The new elements will be null. + * + * @param newChannelCount + * @param lazy + */ + private final void grow(int newChannelCount, boolean lazy) { + if (channels.length < newChannelCount || !lazy) { + Object[] newChannels = new Object[newChannelCount]; + System.arraycopy(channels, 0, newChannels, 0, + (channelCount < newChannelCount) ? channelCount + : newChannelCount); + this.channels = newChannels; + } + } + + private final void createChannels(int newChannelCount, int newSampleCount, + boolean lazy) { + // shortcut + if (lazy && newChannelCount <= channelCount + && newSampleCount <= this.sampleCount) { + setSampleCountImpl(newSampleCount); + setChannelCountImpl(newChannelCount); + return; + } + setSampleCountImpl(newSampleCount); + // grow the array, if necessary. Intentionally lazy here! + grow(newChannelCount, true); + // lazy delete of all channels. Intentionally lazy ! + setChannelCountImpl(0); + for (int ch = 0; ch < newChannelCount; ch++) { + insertChannel(ch, false, lazy); + } + // if not lazy, remove hidden channels + grow(newChannelCount, lazy); + } + + /** + * Resets this buffer with the audio data specified in the arguments. This + * FloatSampleBuffer's sample count will be set to + * byteCount / format.getFrameSize(). If LAZY_DEFAULT is + * true, it will use lazy deletion. + * + * @throws IllegalArgumentException + */ + public void initFromByteArray(byte[] buffer, int offset, int byteCount, + AudioFormat format) { + initFromByteArray(buffer, offset, byteCount, format, LAZY_DEFAULT); + } + + /** + * Resets this buffer with the audio data specified in the arguments. This + * FloatSampleBuffer's sample count will be set to + * byteCount / format.getFrameSize(). + * + * @param lazy if true, then existing channels will be tried to be re-used + * to minimize garbage collection. + * @throws IllegalArgumentException + */ + public void initFromByteArray(byte[] buffer, int offset, int byteCount, + AudioFormat format, boolean lazy) { + if (offset + byteCount > buffer.length) { + throw new IllegalArgumentException( + "FloatSampleBuffer.initFromByteArray: buffer too small."); + } + + int thisSampleCount = byteCount / format.getFrameSize(); + init(format.getChannels(), thisSampleCount, format.getSampleRate(), + lazy); + + // save format for automatic dithering mode + originalFormatType = FloatSampleTools.getFormatType(format); + + FloatSampleTools.byte2float(buffer, offset, channels, 0, sampleCount, + format); + } + + /** + * Resets this sample buffer with the data in source. + */ + public void initFromFloatSampleBuffer(FloatSampleBuffer source) { + init(source.getChannelCount(), source.getSampleCount(), + source.getSampleRate()); + for (int ch = 0; ch < getChannelCount(); ch++) { + System.arraycopy(source.getChannel(ch), 0, getChannel(ch), 0, + sampleCount); + } + } + + /** + * Write the contents of the byte array to this buffer, overwriting existing + * data. If the byte array has fewer channels than this float buffer, only + * the first channels are written. Vice versa, if the byte buffer has more + * channels than this float buffer, only the first channels of the byte + * buffer are written to this buffer. + *

H>zvnds8t~*?T0&5I&Pl$C8l(Ox}+X33iND(Bq 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 bW;({kGy+_B+w;EO_f^7otH0gO&dK~gY%vZ} literal 0 HcmV?d00001 diff --git a/precursors/tritonus_share-0.3.6.jar b/precursors/tritonus_share-0.3.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..b9b7ac087378a31749b11adace823b1bec66659d GIT binary patch literal 105684 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

This is a reference function. + */ + public static void intToBytes32(int sample, byte[] buffer, int byteOffset, boolean bigEndian) { + if (bigEndian) { + buffer[byteOffset++]=(byte) (sample >> 24); + buffer[byteOffset++]=(byte) ((sample >>> 16) & 0xFF); + buffer[byteOffset++]=(byte) ((sample >>> 8) & 0xFF); + buffer[byteOffset]=(byte) (sample & 0xFF); + } else { + buffer[byteOffset++]=(byte) (sample & 0xFF); + buffer[byteOffset++]=(byte) ((sample >>> 8) & 0xFF); + buffer[byteOffset++]=(byte) ((sample >>> 16) & 0xFF); + buffer[byteOffset]=(byte) (sample >> 24); + } + } + + + /////////////////////// ULAW /////////////////////////////////////////// + + private static final boolean ZEROTRAP=true; + private static final short BIAS=0x84; + private static final int CLIP=32635; + private static final int exp_lut1[] ={ + 0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 + }; + + + /** + * Converts a linear signed 16bit sample to a uLaw byte. + * Ported to Java by fb. + *
Originally by:
+ * Craig Reese: IDA/Supercomputing Research Center
+ * Joe Campbell: Department of Defense
+ * 29 September 1989
+ */ + public static byte linear2ulaw(int sample) { + int sign, exponent, mantissa, ulawbyte; + + if (sample>32767) sample=32767; + else if (sample<-32768) sample=-32768; + /* Get the sample into sign-magnitude. */ + sign = (sample >> 8) & 0x80; /* set aside the sign */ + if (sign != 0) sample = -sample; /* get magnitude */ + if (sample > CLIP) sample = CLIP; /* clip the magnitude */ + + /* Convert from 16 bit linear to ulaw. */ + sample = sample + BIAS; + exponent = exp_lut1[(sample >> 7) & 0xFF]; + mantissa = (sample >> (exponent + 3)) & 0x0F; + ulawbyte = ~(sign | (exponent << 4) | mantissa); + if (ZEROTRAP) + if (ulawbyte == 0) ulawbyte = 0x02; /* optional CCITT trap */ + return((byte) ulawbyte); + } + + /* u-law to linear conversion table */ + private static short[] u2l = { + -32124, -31100, -30076, -29052, -28028, -27004, -25980, -24956, + -23932, -22908, -21884, -20860, -19836, -18812, -17788, -16764, + -15996, -15484, -14972, -14460, -13948, -13436, -12924, -12412, + -11900, -11388, -10876, -10364, -9852, -9340, -8828, -8316, + -7932, -7676, -7420, -7164, -6908, -6652, -6396, -6140, + -5884, -5628, -5372, -5116, -4860, -4604, -4348, -4092, + -3900, -3772, -3644, -3516, -3388, -3260, -3132, -3004, + -2876, -2748, -2620, -2492, -2364, -2236, -2108, -1980, + -1884, -1820, -1756, -1692, -1628, -1564, -1500, -1436, + -1372, -1308, -1244, -1180, -1116, -1052, -988, -924, + -876, -844, -812, -780, -748, -716, -684, -652, + -620, -588, -556, -524, -492, -460, -428, -396, + -372, -356, -340, -324, -308, -292, -276, -260, + -244, -228, -212, -196, -180, -164, -148, -132, + -120, -112, -104, -96, -88, -80, -72, -64, + -56, -48, -40, -32, -24, -16, -8, 0, + 32124, 31100, 30076, 29052, 28028, 27004, 25980, 24956, + 23932, 22908, 21884, 20860, 19836, 18812, 17788, 16764, + 15996, 15484, 14972, 14460, 13948, 13436, 12924, 12412, + 11900, 11388, 10876, 10364, 9852, 9340, 8828, 8316, + 7932, 7676, 7420, 7164, 6908, 6652, 6396, 6140, + 5884, 5628, 5372, 5116, 4860, 4604, 4348, 4092, + 3900, 3772, 3644, 3516, 3388, 3260, 3132, 3004, + 2876, 2748, 2620, 2492, 2364, 2236, 2108, 1980, + 1884, 1820, 1756, 1692, 1628, 1564, 1500, 1436, + 1372, 1308, 1244, 1180, 1116, 1052, 988, 924, + 876, 844, 812, 780, 748, 716, 684, 652, + 620, 588, 556, 524, 492, 460, 428, 396, + 372, 356, 340, 324, 308, 292, 276, 260, + 244, 228, 212, 196, 180, 164, 148, 132, + 120, 112, 104, 96, 88, 80, 72, 64, + 56, 48, 40, 32, 24, 16, 8, 0 + }; + public static short ulaw2linear(byte ulawbyte) { + return u2l[ulawbyte & 0xFF]; + } + + + + /** + * Converts a buffer of signed 16bit big endian samples to uLaw. + * The uLaw bytes overwrite the original 16 bit values. + * The first byte-offset of the uLaw bytes is byteOffset. + * It will be written sampleCount/2 bytes. + */ + public static void pcm162ulaw(byte[] buffer, int byteOffset, int sampleCount, boolean bigEndian) { + int shortIndex=byteOffset; + int ulawIndex=shortIndex; + if (bigEndian) { + while (sampleCount>0) { + buffer[ulawIndex++]=linear2ulaw + (bytesToInt16(buffer[shortIndex], buffer[shortIndex+1])); + shortIndex++; + shortIndex++; + sampleCount--; + } + } else { + while (sampleCount>0) { + buffer[ulawIndex++]=linear2ulaw + (bytesToInt16(buffer[shortIndex+1], buffer[shortIndex])); + shortIndex++; + shortIndex++; + sampleCount--; + } + } + } + + /** + * Fills outBuffer with ulaw samples. + * reading starts from inBuffer[inByteOffset]. + * writing starts at outBuffer[outByteOffset]. + * There will be sampleCount*2 bytes read from inBuffer; + * There will be sampleCount bytes written to outBuffer. + */ + public static void pcm162ulaw(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, + int sampleCount, boolean bigEndian) { + int shortIndex=inByteOffset; + int ulawIndex=outByteOffset; + if (bigEndian) { + while (sampleCount>0) { + outBuffer[ulawIndex++]=linear2ulaw + (bytesToInt16(inBuffer[shortIndex], inBuffer[shortIndex+1])); + shortIndex++; + shortIndex++; + sampleCount--; + } + } else { + while (sampleCount>0) { + outBuffer[ulawIndex++]=linear2ulaw + (bytesToInt16(inBuffer[shortIndex+1], inBuffer[shortIndex])); + shortIndex++; + shortIndex++; + sampleCount--; + } + } + } + + // TODO: either direct 8bit pcm to ulaw, or better conversion from 8bit to 16bit + /** + * Converts a buffer of 8bit samples to uLaw. + * The uLaw bytes overwrite the original 8 bit values. + * The first byte-offset of the uLaw bytes is byteOffset. + * It will be written sampleCount bytes. + */ + public static void pcm82ulaw(byte[] buffer, int byteOffset, int sampleCount, boolean signed) { + sampleCount+=byteOffset; + if (signed) { + for (int i=byteOffset; ibytes
written to outBuffer. + */ + public static void pcm82ulaw(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, int sampleCount, boolean signed) { + int ulawIndex=outByteOffset; + int pcmIndex=inByteOffset; + if (signed) { + while (sampleCount>0) { + outBuffer[ulawIndex++]=linear2ulaw(inBuffer[pcmIndex++] << 8); + sampleCount--; + } + } else { + while (sampleCount>0) { + outBuffer[ulawIndex++]=linear2ulaw(((byte) (inBuffer[pcmIndex++]+128)) << 8); + sampleCount--; + } + } + } + + /** + * Fills outBuffer with pcm signed 16 bit samples. + * reading starts from inBuffer[inByteOffset]. + * writing starts at outBuffer[outByteOffset]. + * There will be sampleCount bytes read from inBuffer; + * There will be sampleCount*2 bytes written to outBuffer. + */ + public static void ulaw2pcm16(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, + int sampleCount, boolean bigEndian) { + int shortIndex=outByteOffset; + int ulawIndex=inByteOffset; + while (sampleCount>0) { + intToBytes16 + (u2l[inBuffer[ulawIndex++] & 0xFF], outBuffer, shortIndex++, bigEndian); + shortIndex++; + sampleCount--; + } + } + + + // TODO: either direct 8bit pcm to ulaw, or better conversion from 8bit to 16bit + /** + * Inplace-conversion of a ulaw buffer to 8bit samples. + * The 8bit bytes overwrite the original ulaw values. + * The first byte-offset of the uLaw bytes is byteOffset. + * It will be written sampleCount bytes. + */ + public static void ulaw2pcm8(byte[] buffer, int byteOffset, int sampleCount, boolean signed) { + sampleCount+=byteOffset; + if (signed) { + for (int i=byteOffset; i> 8) & 0xFF); + } + } else { + for (int i=byteOffset; i>8)+128); + } + } + } + + /** + * Fills outBuffer with ulaw samples. + * reading starts from inBuffer[inByteOffset]. + * writing starts at outBuffer[outByteOffset]. + * There will be sampleCount bytes written to outBuffer. + */ + public static void ulaw2pcm8(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, int sampleCount, boolean signed) { + int ulawIndex=inByteOffset; + int pcmIndex=outByteOffset; + if (signed) { + while (sampleCount>0) { + outBuffer[pcmIndex++]= + (byte) ((u2l[inBuffer[ulawIndex++] & 0xFF] >> 8) & 0xFF); + sampleCount--; + } + } else { + while (sampleCount>0) { + outBuffer[pcmIndex++]= + (byte) ((u2l[inBuffer[ulawIndex++] & 0xFF]>>8)+128); + sampleCount--; + } + } + } + + + //////////////////// ALAW //////////////////////////// + + + /* + * This source code is a product of Sun Microsystems, Inc. and is provided + * for unrestricted use. Users may copy or modify this source code without + * charge. + * + * linear2alaw() - Convert a 16-bit linear PCM value to 8-bit A-law + * + * linear2alaw() accepts an 16-bit integer and encodes it as A-law data. + * + * Linear Input Code Compressed Code + * ------------------------ --------------- + * 0000000wxyza 000wxyz + * 0000001wxyza 001wxyz + * 000001wxyzab 010wxyz + * 00001wxyzabc 011wxyz + * 0001wxyzabcd 100wxyz + * 001wxyzabcde 101wxyz + * 01wxyzabcdef 110wxyz + * 1wxyzabcdefg 111wxyz + * + * For further information see John C. Bellamy's Digital Telephony, 1982, + * John Wiley & Sons, pps 98-111 and 472-476. + */ + private static final byte QUANT_MASK = 0xf; /* Quantization field mask. */ + private static final byte SEG_SHIFT = 4; /* Left shift for segment number. */ + private static final short[] seg_end = { + 0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF + }; + + public static byte linear2alaw(short pcm_val) /* 2's complement (16-bit range) */ + { + byte mask; + byte seg=8; + byte aval; + + if (pcm_val >= 0) { + mask = (byte) 0xD5; /* sign (7th) bit = 1 */ + } else { + mask = 0x55; /* sign bit = 0 */ + pcm_val = (short) (-pcm_val - 8); + } + + /* Convert the scaled magnitude to segment number. */ + for (int i = 0; i < 8; i++) { + if (pcm_val <= seg_end[i]) { + seg=(byte) i; + break; + } + } + + /* Combine the sign, segment, and quantization bits. */ + if (seg >= 8) /* out of range, return maximum value. */ + return (byte) ((0x7F ^ mask) & 0xFF); + else { + aval = (byte) (seg << SEG_SHIFT); + if (seg < 2) + aval |= (pcm_val >> 4) & QUANT_MASK; + else + aval |= (pcm_val >> (seg + 3)) & QUANT_MASK; + return (byte) ((aval ^ mask) & 0xFF); + } + } + + private static short[] a2l = { + -5504, -5248, -6016, -5760, -4480, -4224, -4992, -4736, + -7552, -7296, -8064, -7808, -6528, -6272, -7040, -6784, + -2752, -2624, -3008, -2880, -2240, -2112, -2496, -2368, + -3776, -3648, -4032, -3904, -3264, -3136, -3520, -3392, + -22016, -20992, -24064, -23040, -17920, -16896, -19968, -18944, + -30208, -29184, -32256, -31232, -26112, -25088, -28160, -27136, + -11008, -10496, -12032, -11520, -8960, -8448, -9984, -9472, + -15104, -14592, -16128, -15616, -13056, -12544, -14080, -13568, + -344, -328, -376, -360, -280, -264, -312, -296, + -472, -456, -504, -488, -408, -392, -440, -424, + -88, -72, -120, -104, -24, -8, -56, -40, + -216, -200, -248, -232, -152, -136, -184, -168, + -1376, -1312, -1504, -1440, -1120, -1056, -1248, -1184, + -1888, -1824, -2016, -1952, -1632, -1568, -1760, -1696, + -688, -656, -752, -720, -560, -528, -624, -592, + -944, -912, -1008, -976, -816, -784, -880, -848, + 5504, 5248, 6016, 5760, 4480, 4224, 4992, 4736, + 7552, 7296, 8064, 7808, 6528, 6272, 7040, 6784, + 2752, 2624, 3008, 2880, 2240, 2112, 2496, 2368, + 3776, 3648, 4032, 3904, 3264, 3136, 3520, 3392, + 22016, 20992, 24064, 23040, 17920, 16896, 19968, 18944, + 30208, 29184, 32256, 31232, 26112, 25088, 28160, 27136, + 11008, 10496, 12032, 11520, 8960, 8448, 9984, 9472, + 15104, 14592, 16128, 15616, 13056, 12544, 14080, 13568, + 344, 328, 376, 360, 280, 264, 312, 296, + 472, 456, 504, 488, 408, 392, 440, 424, + 88, 72, 120, 104, 24, 8, 56, 40, + 216, 200, 248, 232, 152, 136, 184, 168, + 1376, 1312, 1504, 1440, 1120, 1056, 1248, 1184, + 1888, 1824, 2016, 1952, 1632, 1568, 1760, 1696, + 688, 656, 752, 720, 560, 528, 624, 592, + 944, 912, 1008, 976, 816, 784, 880, 848 + }; + + public static short alaw2linear(byte ulawbyte) { + return a2l[ulawbyte & 0xFF]; + } + + /** + * Converts a buffer of signed 16bit big endian samples to uLaw. + * The uLaw bytes overwrite the original 16 bit values. + * The first byte-offset of the uLaw bytes is byteOffset. + * It will be written sampleCount/2 bytes. + */ + public static void pcm162alaw(byte[] buffer, int byteOffset, int sampleCount, boolean bigEndian) { + int shortIndex=byteOffset; + int alawIndex=shortIndex; + if (bigEndian) { + while (sampleCount>0) { + buffer[alawIndex++]= + linear2alaw(bytesToShort16 + (buffer[shortIndex], buffer[shortIndex+1])); + shortIndex++; + shortIndex++; + sampleCount--; + } + } else { + while (sampleCount>0) { + buffer[alawIndex++]= + linear2alaw(bytesToShort16 + (buffer[shortIndex+1], buffer[shortIndex])); + shortIndex++; + shortIndex++; + sampleCount--; + } + } + } + + /** + * Fills outBuffer with alaw samples. + * reading starts from inBuffer[inByteOffset]. + * writing starts at outBuffer[outByteOffset]. + * There will be sampleCount*2 bytes read from inBuffer; + * There will be sampleCount bytes written to outBuffer. + */ + public static void pcm162alaw(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, int sampleCount, boolean bigEndian) { + int shortIndex=inByteOffset; + int alawIndex=outByteOffset; + if (bigEndian) { + while (sampleCount>0) { + outBuffer[alawIndex++]=linear2alaw + (bytesToShort16(inBuffer[shortIndex], inBuffer[shortIndex+1])); + shortIndex++; + shortIndex++; + sampleCount--; + } + } else { + while (sampleCount>0) { + outBuffer[alawIndex++]=linear2alaw + (bytesToShort16(inBuffer[shortIndex+1], inBuffer[shortIndex])); + shortIndex++; + shortIndex++; + sampleCount--; + } + } + } + + /** + * Converts a buffer of 8bit samples to alaw. + * The alaw bytes overwrite the original 8 bit values. + * The first byte-offset of the aLaw bytes is byteOffset. + * It will be written sampleCount bytes. + */ + public static void pcm82alaw(byte[] buffer, int byteOffset, int sampleCount, boolean signed) { + sampleCount+=byteOffset; + if (signed) { + for (int i=byteOffset; ibytes
written to outBuffer. + */ + public static void pcm82alaw(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, int sampleCount, boolean signed) { + int alawIndex=outByteOffset; + int pcmIndex=inByteOffset; + if (signed) { + while (sampleCount>0) { + outBuffer[alawIndex++]= + linear2alaw((short) (inBuffer[pcmIndex++] << 8)); + sampleCount--; + } + } else { + while (sampleCount>0) { + outBuffer[alawIndex++]= + linear2alaw((short) (((byte) (inBuffer[pcmIndex++]+128)) << 8)); + sampleCount--; + } + } + } + + + + /** + * Converts an alaw buffer to 8bit pcm samples + * The 8bit bytes overwrite the original alaw values. + * The first byte-offset of the aLaw bytes is byteOffset. + * It will be written sampleCount bytes. + */ + public static void alaw2pcm8(byte[] buffer, int byteOffset, int sampleCount, boolean signed) { + sampleCount+=byteOffset; + if (signed) { + for (int i=byteOffset; i> 8) & 0xFF); + } + } else { + for (int i=byteOffset; i>8)+128); + } + } + } + + /** + * Fills outBuffer with alaw samples. + * reading starts from inBuffer[inByteOffset]. + * writing starts at outBuffer[outByteOffset]. + * There will be sampleCount bytes written to outBuffer. + */ + public static void alaw2pcm8(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, int sampleCount, boolean signed) { + int alawIndex=inByteOffset; + int pcmIndex=outByteOffset; + if (signed) { + while (sampleCount>0) { + outBuffer[pcmIndex++]= + (byte) ((a2l[inBuffer[alawIndex++] & 0xFF] >> 8) & 0xFF); + sampleCount--; + } + } else { + while (sampleCount>0) { + outBuffer[pcmIndex++]= + (byte) ((a2l[inBuffer[alawIndex++] & 0xFF]>>8)+128); + sampleCount--; + } + } + } + + /** + * Fills outBuffer with pcm signed 16 bit samples. + * reading starts from inBuffer[inByteOffset]. + * writing starts at outBuffer[outByteOffset]. + * There will be sampleCount bytes read from inBuffer; + * There will be sampleCount*2 bytes written to outBuffer. + */ + public static void alaw2pcm16(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, + int sampleCount, boolean bigEndian) { + int shortIndex=outByteOffset; + int alawIndex=inByteOffset; + while (sampleCount>0) { + intToBytes16 + (a2l[inBuffer[alawIndex++] & 0xFF], outBuffer, shortIndex++, bigEndian); + shortIndex++; + sampleCount--; + } + } + + //////////////////////// cross conversion alaw <-> ulaw //////////////////////////////////////// + + private static byte[] u2a = { + -86, -85, -88, -87, -82, -81, -84, -83, -94, -93, -96, -95, -90, -89, -92, -91, + -70, -69, -72, -71, -66, -65, -68, -67, -78, -77, -80, -79, -74, -73, -76, -75, + -118, -117, -120, -119, -114, -113, -116, -115, -126, -125, -128, -127, -122, -121, -124, -123, + -101, -104, -103, -98, -97, -100, -99, -110, -109, -112, -111, -106, -105, -108, -107, -22, + -24, -23, -18, -17, -20, -19, -30, -29, -32, -31, -26, -25, -28, -27, -6, -8, + -2, -1, -4, -3, -14, -13, -16, -15, -10, -9, -12, -11, -53, -55, -49, -51, + -62, -61, -64, -63, -58, -57, -60, -59, -38, -37, -40, -39, -34, -33, -36, -35, + -46, -46, -45, -45, -48, -48, -47, -47, -42, -42, -41, -41, -44, -44, -43, -43, + 42, 43, 40, 41, 46, 47, 44, 45, 34, 35, 32, 33, 38, 39, 36, 37, + 58, 59, 56, 57, 62, 63, 60, 61, 50, 51, 48, 49, 54, 55, 52, 53, + 10, 11, 8, 9, 14, 15, 12, 13, 2, 3, 0, 1, 6, 7, 4, 5, + 27, 24, 25, 30, 31, 28, 29, 18, 19, 16, 17, 22, 23, 20, 21, 106, + 104, 105, 110, 111, 108, 109, 98, 99, 96, 97, 102, 103, 100, 101, 122, 120, + 126, 127, 124, 125, 114, 115, 112, 113, 118, 119, 116, 117, 75, 73, 79, 77, + 66, 67, 64, 65, 70, 71, 68, 69, 90, 91, 88, 89, 94, 95, 92, 93, + 82, 82, 83, 83, 80, 80, 81, 81, 86, 86, 87, 87, 84, 84, 85, 85, + }; + + public static byte ulaw2alaw(byte sample) { + return u2a[sample & 0xFF]; + } + + /** + * Converts a buffer of uLaw samples to aLaw. + */ + public static void ulaw2alaw(byte[] buffer, int byteOffset, int sampleCount) { + sampleCount+=byteOffset; + for (int i=byteOffset; i0) { + outBuffer[alawIndex++]=u2a[inBuffer[ulawIndex++] & 0xFF]; + sampleCount--; + } + } + + private static byte[] a2u = { + -86, -85, -88, -87, -82, -81, -84, -83, -94, -93, -96, -95, -90, -89, -92, -91, + -71, -70, -73, -72, -67, -66, -69, -68, -79, -78, -80, -80, -75, -74, -77, -76, + -118, -117, -120, -119, -114, -113, -116, -115, -126, -125, -128, -127, -122, -121, -124, -123, + -102, -101, -104, -103, -98, -97, -100, -99, -110, -109, -112, -111, -106, -105, -108, -107, + -30, -29, -32, -31, -26, -25, -28, -27, -35, -35, -36, -36, -33, -33, -34, -34, + -12, -10, -16, -14, -4, -2, -8, -6, -22, -21, -24, -23, -18, -17, -20, -19, + -56, -55, -58, -57, -52, -51, -54, -53, -64, -63, -65, -65, -60, -59, -62, -61, + -42, -41, -44, -43, -38, -37, -40, -39, -49, -49, -50, -50, -46, -45, -48, -47, + 42, 43, 40, 41, 46, 47, 44, 45, 34, 35, 32, 33, 38, 39, 36, 37, + 57, 58, 55, 56, 61, 62, 59, 60, 49, 50, 48, 48, 53, 54, 51, 52, + 10, 11, 8, 9, 14, 15, 12, 13, 2, 3, 0, 1, 6, 7, 4, 5, + 26, 27, 24, 25, 30, 31, 28, 29, 18, 19, 16, 17, 22, 23, 20, 21, + 98, 99, 96, 97, 102, 103, 100, 101, 93, 93, 92, 92, 95, 95, 94, 94, + 116, 118, 112, 114, 124, 126, 120, 122, 106, 107, 104, 105, 110, 111, 108, 109, + 72, 73, 70, 71, 76, 77, 74, 75, 64, 65, 63, 63, 68, 69, 66, 67, + 86, 87, 84, 85, 90, 91, 88, 89, 79, 79, 78, 78, 82, 83, 80, 81, + }; + + public static byte alaw2ulaw(byte sample) { + return a2u[sample & 0xFF]; + } + + /** + * Converts a buffer of aLaw samples to uLaw. + * The uLaw bytes overwrite the original aLaw values. + * The first byte-offset of the uLaw bytes is byteOffset. + * It will be written sampleCount bytes. + */ + public static void alaw2ulaw(byte[] buffer, int byteOffset, int sampleCount) { + sampleCount+=byteOffset; + for (int i=byteOffset; ibytes
written to outBuffer. + */ + public static void alaw2ulaw(byte[] inBuffer, int inByteOffset, + byte[] outBuffer, int outByteOffset, int sampleCount) { + int ulawIndex=outByteOffset; + int alawIndex=inByteOffset; + while (sampleCount>0) { + outBuffer[ulawIndex++]=a2u[inBuffer[alawIndex++] & 0xFF]; + sampleCount--; + } + } + + + //////////////////////// high level methods ///////////////////////////////////////////////// + + /* + * !! Here, unlike other functions in this class, the length is + * in bytes rather than samples !! + */ + public static void changeOrderOrSign(byte[] buffer, int nOffset, + int nByteLength, int nBytesPerSample) { + switch (nBytesPerSample) { + case 1: + convertSign8(buffer, nOffset, nByteLength); + break; + + case 2: + swapOrder16(buffer, nOffset, nByteLength / 2); + break; + + case 3: + swapOrder24(buffer, nOffset, nByteLength / 3); + break; + + case 4: + swapOrder32(buffer, nOffset, nByteLength / 4); + break; + } + } + + + + /* + * !! Here, unlike other functions in this class, the length is + * in bytes rather than samples !! + */ + public static void changeOrderOrSign( + byte[] inBuffer, int nInOffset, + byte[] outBuffer, int nOutOffset, + int nByteLength, int nBytesPerSample) { + switch (nBytesPerSample) { + case 1: + convertSign8( + inBuffer, nInOffset, + outBuffer, nOutOffset, + nByteLength); + break; + + case 2: + swapOrder16( + inBuffer, nInOffset, + outBuffer, nOutOffset, + nByteLength / 2); + break; + + case 3: + swapOrder24( + inBuffer, nInOffset, + outBuffer, nOutOffset, + nByteLength / 3); + break; + + case 4: + swapOrder32( + inBuffer, nInOffset, + outBuffer, nOutOffset, + nByteLength / 4); + break; + } + } + + + ///////////////// Annexe: how the arrays were created. ////////////////////////////////// + + /* + * Converts a uLaw byte to a linear signed 16bit sample. + * Ported to Java by fb. + *
Originally by:
+ * + * Craig Reese: IDA/Supercomputing Research Center
+ * 29 September 1989
+ * + * References:
+ *

    + *
  1. CCITT Recommendation G.711 (very difficult to follow)
  2. + *
  3. MIL-STD-188-113,"Interoperability and Performance Standards + * for Analog-to_Digital Conversion Techniques," + * 17 February 1987
  4. + *
+ */ + /* + private static final int exp_lut2[] = { + 0,132,396,924,1980,4092,8316,16764 +}; + + public static short _ulaw2linear(int ulawbyte) { + int sign, exponent, mantissa, sample; + + ulawbyte = ~ulawbyte; + sign = (ulawbyte & 0x80); + exponent = (ulawbyte >> 4) & 0x07; + mantissa = ulawbyte & 0x0F; + sample = exp_lut2[exponent] + (mantissa << (exponent + 3)); + if (sign != 0) sample = -sample; + return((short) sample); +}*/ + + + /* u- to A-law conversions: copied from CCITT G.711 specifications */ + /* + private static byte[] _u2a = { + 1, 1, 2, 2, 3, 3, 4, 4, + 5, 5, 6, 6, 7, 7, 8, 8, + 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, + 25, 27, 29, 31, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, + 46, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, + 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, + 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, (byte) 128}; + */ + + /* u-law to A-law conversion */ + /* + * This source code is a product of Sun Microsystems, Inc. and is provided + * for unrestricted use. Users may copy or modify this source code without + * charge. + */ + /* + public static byte _ulaw2alaw(byte sample) { + sample &= 0xff; + return (byte) (((sample & 0x80)!=0) ? (0xD5 ^ (_u2a[(0x7F ^ sample) & 0x7F] - 1)) : + (0x55 ^ (_u2a[(0x7F ^ sample) & 0x7F] - 1))); +}*/ + + /* A- to u-law conversions */ + /* + private static byte[] _a2u = { + 1, 3, 5, 7, 9, 11, 13, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, + 32, 32, 33, 33, 34, 34, 35, 35, + 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 48, 49, 49, + 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 64, + 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 79, + 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127}; + */ + + /* + * This source code is a product of Sun Microsystems, Inc. and is provided + * for unrestricted use. Users may copy or modify this source code without + * charge. + */ + /* + public static byte _alaw2ulaw(byte sample) { + sample &= 0xff; + return (byte) (((sample & 0x80)!=0) ? (0xFF ^ _a2u[(sample ^ 0xD5) & 0x7F]) : + (0x7F ^ _a2u[(sample ^ 0x55) & 0x7F])); +} + + public static void print_a2u() { + System.out.println("\tprivate static byte[] a2u = {"); + for (int i=-128; i<128; i++) { + if (((i+128) % 16)==0) { + System.out.print("\t\t"); + } + byte b=(byte) i; + System.out.print(_alaw2ulaw(b)+", "); + if (((i+128) % 16)==15) { + System.out.println(""); + } +} + System.out.println("\t};"); +} + + public static void print_u2a() { + System.out.println("\tprivate static byte[] u2a = {"); + for (int i=-128; i<128; i++) { + if (((i+128) % 16)==0) { + System.out.print("\t\t"); + } + byte b=(byte) i; + System.out.print(_ulaw2alaw(b)+", "); + if (((i+128) % 16)==15) { + System.out.println(""); + } +} + System.out.println("\t};"); +} + */ + +} + + +/*** TConversionTool.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/TVolumeUtils.java b/src/main/java/com/github/trilarion/share/sampled/TVolumeUtils.java new file mode 100644 index 0000000..221d376 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/TVolumeUtils.java @@ -0,0 +1,55 @@ +/* + * TVolumeUtils.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled; + + + +public class TVolumeUtils +{ + private static final double FACTOR1 = 20.0 / Math.log(10.0); + private static final double FACTOR2 = 1 / 20.0; + + + + public static double lin2log(double dLinear) + { + return FACTOR1 * Math.log(dLinear); + } + + + + public static double log2lin(double dLogarithmic) + { + return Math.pow(10.0, dLogarithmic * FACTOR2); + } +} + + + +/*** TVolumeUtils.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/convert/TAsynchronousFilteredAudioInputStream.java b/src/main/java/com/github/trilarion/share/sampled/convert/TAsynchronousFilteredAudioInputStream.java new file mode 100644 index 0000000..bec41b1 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/convert/TAsynchronousFilteredAudioInputStream.java @@ -0,0 +1,265 @@ +/* + * TAsynchronousFilteredAudioInputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999, 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.convert; + +import java.io.ByteArrayInputStream; +import java.io.IOException; + +import javax.sound.sampled.AudioFormat; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.TCircularBuffer; + + + +/** Base class for asynchronus converters. + This class serves as base class for + converters that do not have a fixed + ratio between the size of a block of input + data and the size of a block of output data. + These types of converters therefore need an + internal buffer, which is realized in this + class. + + @author Matthias Pfisterer +*/ +public abstract class TAsynchronousFilteredAudioInputStream +extends TAudioInputStream +implements TCircularBuffer.Trigger +{ + private static final int DEFAULT_BUFFER_SIZE = 327670; + private static final int DEFAULT_MIN_AVAILABLE = 4096; + private static final byte[] EMPTY_BYTE_ARRAY = new byte[0]; + + + // must be protected because it's accessed by the native CDDA lib + protected TCircularBuffer m_circularBuffer; + private int m_nMinAvailable; + private byte[] m_abSingleByte; + + + + /** Constructor. + This constructor uses the default buffer size and the default + min available amount. + + @param lLength length of this stream in frames. May be + AudioSystem.NOT_SPECIFIED. + */ + public TAsynchronousFilteredAudioInputStream(AudioFormat outputFormat, long lLength) + { + this(outputFormat, lLength, + DEFAULT_BUFFER_SIZE, + DEFAULT_MIN_AVAILABLE); + } + + + + /** Constructor. + With this constructor, the buffer size and the minimum + available amount can be specified as parameters. + + @param lLength length of this stream in frames. May be + AudioSystem.NOT_SPECIFIED. + + @param nBufferSize size of the circular buffer in bytes. + */ + public TAsynchronousFilteredAudioInputStream( + AudioFormat outputFormat, long lLength, + int nBufferSize, + int nMinAvailable) + { + /* The usage of a ByteArrayInputStream is a hack. + * (the infamous "JavaOne hack", because I did it on June + * 6th 2000 in San Francisco, only hours before a + * JavaOne session where I wanted to show mp3 playback + * with Java Sound.) It is necessary because in the FCS + * version of the Sun jdk1.3, the constructor of + * AudioInputStream throws an exception if its first + * argument is null. So we have to pass a dummy non-null + * value. + */ + super(new ByteArrayInputStream(EMPTY_BYTE_ARRAY), + outputFormat, + lLength); + if (TDebug.TraceAudioConverter) { TDebug.out("TAsynchronousFilteredAudioInputStream.(): begin"); } + m_circularBuffer = new TCircularBuffer( + nBufferSize, + false, // blocking read + true, // blocking write + this); // trigger + m_nMinAvailable = nMinAvailable; + if (TDebug.TraceAudioConverter) { TDebug.out("TAsynchronousFilteredAudioInputStream.(): end"); } + } + + + /** Returns the circular buffer. + */ + protected TCircularBuffer getCircularBuffer() + { + return m_circularBuffer; + } + + + + /** Check if writing more data to the circular buffer is recommanded. + This checks the available write space in the circular buffer + against the minimum available property. If the available write + space is greater than th minimum available property, more + writing is encouraged, so this method returns true. + Note that this is only a hint to subclasses. However, + it is an important hint. + + @return true if more writing to the circular buffer is + recommanden. Otherwise, false is returned. + */ + protected boolean writeMore() + { + return getCircularBuffer().availableWrite() > m_nMinAvailable; + } + + + + @Override + public int read() + throws IOException + { + // if (TDebug.TraceAudioConverter) { TDebug.out("TAsynchronousFilteredAudioInputStream.read(): begin"); } + int nByte = -1; + if (m_abSingleByte == null) + { + m_abSingleByte = new byte[1]; + } + int nReturn = read(m_abSingleByte); + if (nReturn == -1) + { + nByte = -1; + } + else + { + //$$fb 2001-04-14 nobody really knows that... + nByte = m_abSingleByte[0] & 0xFF; + } + // if (TDebug.TraceAudioConverter) { TDebug.out("TAsynchronousFilteredAudioInputStream.read(): end"); } + return nByte; + } + + + + @Override + public int read(byte[] abData) + throws IOException + { + if (TDebug.TraceAudioConverter) { TDebug.out("TAsynchronousFilteredAudioInputStream.read(byte[]): begin"); } + int nRead = read(abData, 0, abData.length); + if (TDebug.TraceAudioConverter) { TDebug.out("TAsynchronousFilteredAudioInputStream.read(byte[]): end"); } + return nRead; + } + + + + @Override + public int read(byte[] abData, int nOffset, int nLength) + throws IOException + { + if (TDebug.TraceAudioConverter) { TDebug.out("TAsynchronousFilteredAudioInputStream.read(byte[], int, int): begin"); } + //$$fb 2001-04-22: this returns at maximum circular buffer + // length. This is not very efficient... + //$$fb 2001-04-25: we should check that we do not exceed getFrameLength() ! + int nRead = m_circularBuffer.read(abData, nOffset, nLength); + if (TDebug.TraceAudioConverter) { TDebug.out("TAsynchronousFilteredAudioInputStream.read(byte[], int, int): end"); } + return nRead; + } + + + + @Override + public long skip(long lSkip) + throws IOException + { + // TODO: this is quite inefficient + for (long lSkipped = 0; lSkipped < lSkip; lSkipped++) + { + int nReturn = read(); + if (nReturn == -1) + { + return lSkipped; + } + } + return lSkip; + } + + + + @Override + public int available() + throws IOException + { + return m_circularBuffer.availableRead(); + } + + + + @Override + public void close() + throws IOException + { + m_circularBuffer.close(); + } + + + + @Override + public boolean markSupported() + { + return false; + } + + + + @Override + public void mark(int nReadLimit) + { + } + + + + @Override + public void reset() + throws IOException + { + throw new IOException("mark not supported"); + } +} + + + +/*** TAsynchronousFilteredAudioInputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/convert/TAudioInputStream.java b/src/main/java/com/github/trilarion/share/sampled/convert/TAudioInputStream.java new file mode 100644 index 0000000..cf49101 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/convert/TAudioInputStream.java @@ -0,0 +1,120 @@ +/* + * TAudioInputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2003 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.convert; + +import java.io.InputStream; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; + + +/** AudioInputStream base class. This class implements "dynamic" + properties. "Dynamic" properties are properties that may change + during the life time of the objects. This is typically used to + pass information like the current frame number, volume of subbands + and similar values. "Dynamic" properties are different from + properties in AudioFormat and AudioFileFormat, which are + considered "static", as they aren't allowed to change after + creating of the object, thereby maintaining the immutable + character of these classes. +*/ + +public class TAudioInputStream +extends AudioInputStream +{ + private Map m_properties; + private Map m_unmodifiableProperties; + + + /** Constructor without properties. + Creates an empty properties map. + */ + public TAudioInputStream(InputStream inputStream, + AudioFormat audioFormat, + long lLengthInFrames) + { + super(inputStream, audioFormat, lLengthInFrames); + initMaps(new HashMap()); + } + + + /** Constructor with properties. + The passed properties map is not copied. This allows subclasses + to change values in the map after creation, and the changes are + reflected in the map the application program can obtain. + */ + public TAudioInputStream(InputStream inputStream, + AudioFormat audioFormat, + long lLengthInFrames, + Map properties) + { + super(inputStream, audioFormat, lLengthInFrames); + initMaps(properties); + } + + + private void initMaps(Map properties) + { + /* Here, we make a shallow copy of the map. It's unclear if this + is sufficient (of if a deep copy should be made). + */ + m_properties = properties; + m_unmodifiableProperties = Collections.unmodifiableMap(m_properties); + } + + + /** Obtain a Map containing the properties. This method returns a + Map that cannot be modified by the application program, but + reflects changes to the map made by the implementation. + + @return a map containing the properties. + */ + public Map properties() + { + return m_unmodifiableProperties; + } + + + /** Set a property. Unlike in AudioFormat and AudioFileFormat, + this method may be used anywhere by subclasses - it is not + restricted to be used in the constructor. + */ + protected void setProperty(String key, Object value) + { + m_properties.put(key, value); + } +} + + + +/*** TAudioInputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/convert/TEncodingFormatConversionProvider.java b/src/main/java/com/github/trilarion/share/sampled/convert/TEncodingFormatConversionProvider.java new file mode 100644 index 0000000..e33f38f --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/convert/TEncodingFormatConversionProvider.java @@ -0,0 +1,131 @@ +/* + * TEncodingFormatConversionProvider.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.convert; + +import java.util.Collection; +import java.util.Iterator; + +import javax.sound.sampled.AudioFormat; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.ArraySet; + + +// this class depends on handling of AudioSystem.NOT_SPECIFIED in AudioFormat.matches() + +/** + * This is a base class for FormatConversionProviders that only + * change the encoding, i.e. they never + *
    + *
  • change the sample size in bits without changing the encoding + *
  • change the sample rate + *
  • change the number of channels + *
+ *

It is assumed that each source format can be encoded to all + * target formats. + *

In the sourceFormats and targetFormats collections that are passed to + * the constructor of this class, fields may be set to AudioSystem.NOT_SPECIFIED. + * This means that it handles all values of that field, but cannot change it. + *

This class prevents that a conversion is done (e.g. for sample rates), + * because the overriding class specified AudioSystem.NOT_SPECIFIED as sample rate, + * meaning it handles all sample rates. + *

Overriding classes must implement at least + * AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream) + * and provide a constructor that calls the protected constructor of this class. + * + * @author Florian Bomers + */ +public abstract class TEncodingFormatConversionProvider +extends TSimpleFormatConversionProvider +{ + + /** create an instance. The given formats can be set to null. */ + protected TEncodingFormatConversionProvider( + Collection sourceFormats, + Collection targetFormats) + { + super(sourceFormats, targetFormats); + } + + + + /** + * This implementation assumes that the converter can convert + * from each of its source formats to each of its target + * formats. If this is not the case, the converter has to + * override this method. + *

When conversion is supported, for every target encoding, + * the fields sample size in bits, channels and sample rate are checked: + *

    + *
  • When a field in both the source and target format is AudioSystem.NOT_SPECIFIED, + * one instance of that targetFormat is returned with this field set to AudioSystem.NOT_SPECIFIED. + *
  • When a field in sourceFormat is set and it is AudioSystem.NOT_SPECIFIED in the target format, + * the value of the field of source format is set in the returned format. + *
  • The same applies for the other way round. + *
+ * For this, replaceNotSpecified(sourceFormat, targetFormat) in the base + * class TSimpleFormatConversionProvider is used - and accordingly, the frameSize + * is recalculated with getFrameSize(...) if a field with AudioSystem.NOT_SPECIFIED + * is replaced. Inheriting classes may wish to override this method if the + * default mode of calculating the frame size is not appropriate. + */ + @Override + public AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat) { + if (TDebug.TraceAudioConverter) { + TDebug.out(">TEncodingFormatConversionProvider.getTargetFormats(AudioFormat.Encoding, AudioFormat):"); + TDebug.out("checking if conversion possible"); + TDebug.out("from: " + sourceFormat); + TDebug.out("to: " + targetEncoding); + } + if (isConversionSupported(targetEncoding, sourceFormat)) { + // TODO: check that no duplicates may occur... + ArraySet result=new ArraySet(); + Iterator iterator = getCollectionTargetFormats().iterator(); + while (iterator.hasNext()) { + AudioFormat targetFormat = iterator.next(); + targetFormat=replaceNotSpecified(sourceFormat, targetFormat); + result.add(targetFormat); + } + if (TDebug.TraceAudioConverter) { + TDebug.out("< returning "+result.size()+" elements."); + } + return result.toArray(EMPTY_FORMAT_ARRAY); + } else { + if (TDebug.TraceAudioConverter) { + TDebug.out("< returning empty array."); + } + return EMPTY_FORMAT_ARRAY; + } + } + +} + +/*** TEncodingFormatConversionProvider.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/convert/TFormatConversionProvider.java b/src/main/java/com/github/trilarion/share/sampled/convert/TFormatConversionProvider.java new file mode 100644 index 0000000..a58d0d0 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/convert/TFormatConversionProvider.java @@ -0,0 +1,172 @@ +/* + * TFormatConversionProvider.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999, 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.convert; + +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.spi.FormatConversionProvider; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.AudioFormats; + + + +/** Base class for all conversion providers of Tritonus. + * + * @author Matthias Pfisterer + */ +public abstract class TFormatConversionProvider +extends FormatConversionProvider +{ + protected static final AudioFormat.Encoding[] EMPTY_ENCODING_ARRAY = new AudioFormat.Encoding[0]; + protected static final AudioFormat[] EMPTY_FORMAT_ARRAY = new AudioFormat[0]; + + + + // $$fb2000-10-04: use AudioSystem.NOT_SPECIFIED for all fields. + @Override + public AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding, AudioInputStream audioInputStream) + { + AudioFormat sourceFormat = audioInputStream.getFormat(); + AudioFormat targetFormat = new AudioFormat( + targetEncoding, + AudioSystem.NOT_SPECIFIED, // sample rate + AudioSystem.NOT_SPECIFIED, // sample size in bits + AudioSystem.NOT_SPECIFIED, // channels + AudioSystem.NOT_SPECIFIED, // frame size + AudioSystem.NOT_SPECIFIED, // frame rate + sourceFormat.isBigEndian()); // big endian + if (TDebug.TraceAudioConverter) + { + TDebug.out("TFormatConversionProvider.getAudioInputStream(AudioFormat.Encoding, AudioInputStream):"); + TDebug.out("trying to convert to " + targetFormat); + } + return getAudioInputStream(targetFormat, audioInputStream); + } + + + + /** + * WARNING: this method uses getTargetFormats(AudioFormat.Encoding, AudioFormat) + * which may create infinite loops if the latter is overwritten. + *

+ * This method is overwritten here to make use of org.tritonus.share.sampled.AudioFormats.matches + * and is considered temporary until AudioFormat.matches is corrected in the JavaSound API. + */ + /* $$mp: if we decide to use getMatchingFormat(), this method should be + implemented by simply calling getMatchingFormat() and comparing the + result against null. + */ + @Override + public boolean isConversionSupported( + AudioFormat targetFormat, + AudioFormat sourceFormat) + { + if (TDebug.TraceAudioConverter) + { + TDebug.out(">TFormatConversionProvider.isConversionSupported(AudioFormat, AudioFormat):"); + TDebug.out("class: "+getClass().getName()); + TDebug.out("checking if conversion possible"); + TDebug.out("from: " + sourceFormat); + TDebug.out("to: " + targetFormat); + } + AudioFormat[] aTargetFormats = getTargetFormats(targetFormat.getEncoding(), sourceFormat); + for (int i = 0; i < aTargetFormats.length; i++) + { + if (TDebug.TraceAudioConverter) + { + TDebug.out("checking against possible target format: " + aTargetFormats[i]); + } + if (aTargetFormats[i] != null + && AudioFormats.matches(aTargetFormats[i], targetFormat)) + { + if (TDebug.TraceAudioConverter) + { + TDebug.out("getTargetFormats(AudioFormat.Encoding, AudioFormat) + * which may create infinite loops if the latter is overwritten. + *

+ * This method is overwritten here to make use of org.tritonus.share.sampled.AudioFormats.matches + * and is considered temporary until AudioFormat.matches is corrected in the JavaSound API. + */ + public AudioFormat getMatchingFormat( + AudioFormat targetFormat, + AudioFormat sourceFormat) + { + if (TDebug.TraceAudioConverter) + { + TDebug.out(">TFormatConversionProvider.isConversionSupported(AudioFormat, AudioFormat):"); + TDebug.out("class: "+getClass().getName()); + TDebug.out("checking if conversion possible"); + TDebug.out("from: " + sourceFormat); + TDebug.out("to: " + targetFormat); + } + AudioFormat[] aTargetFormats = getTargetFormats(targetFormat.getEncoding(), sourceFormat); + for (int i = 0; i < aTargetFormats.length; i++) + { + if (TDebug.TraceAudioConverter) + { + TDebug.out("checking against possible target format: " + aTargetFormats[i]); + } + if (aTargetFormats[i] != null + && AudioFormats.matches(aTargetFormats[i], targetFormat)) + { + if (TDebug.TraceAudioConverter) + { + TDebug.out(" + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + + +package com.github.trilarion.share.sampled.convert; + + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.HashMap; +import java.util.ArrayList; +import java.util.Iterator; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.spi.FormatConversionProvider; + +import com.github.trilarion.share.sampled.AudioFormats; +import com.github.trilarion.share.ArraySet; + +/** + * Base class for arbitrary formatConversionProviders. + * + * @author Matthias Pfisterer + */ + + +public abstract class TMatrixFormatConversionProvider + extends TSimpleFormatConversionProvider +{ + /* + * keys: source AudioFormat + * values: collection of possible target encodings + * + * Note that accessing values with get() is not appropriate, + * since the equals() method in AudioFormat is not overloaded. + * The hashtable is just used as a convenient storage + * organization. + */ + private Map m_targetEncodingsFromSourceFormat; + + + /* + * keys: source AudioFormat + * values: a Map that contains a mapping from target encodings + * (keys) to a collection of target formats (values). + * + * Note that accessing values with get() is not appropriate, + * since the equals() method in AudioFormat is not overloaded. + * The hashtable is just used as a convenient storage + * organization. + */ + private Map m_targetFormatsFromSourceFormat; + + + + protected TMatrixFormatConversionProvider( + List sourceFormats, + List targetFormats, + boolean[][] abConversionPossible) + { + super(sourceFormats, + targetFormats); + m_targetEncodingsFromSourceFormat = new HashMap(); + m_targetFormatsFromSourceFormat = new HashMap(); + + for (int nSourceFormat = 0; + nSourceFormat < sourceFormats.size(); + nSourceFormat++) + { + AudioFormat sourceFormat = (AudioFormat) sourceFormats.get(nSourceFormat); + List supportedTargetEncodings = new ArraySet(); + m_targetEncodingsFromSourceFormat.put(sourceFormat, supportedTargetEncodings); + Map targetFormatsFromTargetEncodings = new HashMap(); + m_targetFormatsFromSourceFormat.put(sourceFormat, targetFormatsFromTargetEncodings); + for (int nTargetFormat = 0; + nTargetFormat < targetFormats.size(); + nTargetFormat++) + { + AudioFormat targetFormat = (AudioFormat) targetFormats.get(nTargetFormat); + if (abConversionPossible[nSourceFormat][nTargetFormat]) + { + AudioFormat.Encoding targetEncoding = targetFormat.getEncoding(); + supportedTargetEncodings.add(targetEncoding); + Collection supportedTargetFormats = (Collection) targetFormatsFromTargetEncodings.get(targetEncoding); + if (supportedTargetFormats == null) + { + supportedTargetFormats = new ArraySet(); + targetFormatsFromTargetEncodings.put(targetEncoding, supportedTargetFormats); + } + supportedTargetFormats.add(targetFormat); + } + } + } + } + + + + public AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat) + { + Iterator iterator = m_targetEncodingsFromSourceFormat.entrySet().iterator(); + while (iterator.hasNext()) + { + Map.Entry entry = (Map.Entry) iterator.next(); + AudioFormat format = (AudioFormat) entry.getKey(); + if (AudioFormats.matches(format, sourceFormat)) + { + Collection targetEncodings = (Collection) entry.getValue(); + return (AudioFormat.Encoding[]) targetEncodings.toArray(EMPTY_ENCODING_ARRAY); + } + + } + return EMPTY_ENCODING_ARRAY; + } + + + + // TODO: this should work on the array returned by getTargetEncodings(AudioFormat) +/* + public boolean isConversionSupported(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat) + { + return isAllowedSourceFormat(sourceFormat) && + isTargetEncodingSupported(targetEncoding); + } +*/ + + + + public AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat) + { + Iterator iterator = m_targetFormatsFromSourceFormat.entrySet().iterator(); + while (iterator.hasNext()) + { + Map.Entry entry = (Map.Entry) iterator.next(); + AudioFormat format = (AudioFormat) entry.getKey(); + if (AudioFormats.matches(format, sourceFormat)) + { + Map targetEncodings = (Map) entry.getValue(); + Collection targetFormats = (Collection) targetEncodings.get(targetEncoding); + if (targetFormats != null) + { + return (AudioFormat[]) targetFormats.toArray(EMPTY_FORMAT_ARRAY); + } + else + { + return EMPTY_FORMAT_ARRAY; + } + } + + } + return EMPTY_FORMAT_ARRAY; + } + + +} + + + +/*** TMatrixFormatConversionProvider.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/convert/TSimpleFormatConversionProvider.java b/src/main/java/com/github/trilarion/share/sampled/convert/TSimpleFormatConversionProvider.java new file mode 100644 index 0000000..665fc96 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/convert/TSimpleFormatConversionProvider.java @@ -0,0 +1,379 @@ +/* + * TSimpleFormatConversionProvider.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2004 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.convert; + +import java.util.Collection; +import java.util.Iterator; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; + +import com.github.trilarion.share.sampled.AudioFormats; +import com.github.trilarion.share.ArraySet; +import com.github.trilarion.share.TDebug; + + +/** + * This is a base class for FormatConversionProviders that can convert + * from each source encoding/format to each target encoding/format. + * If this is not the case, use TEncodingFormatConversionProvider. + * + *

Overriding classes must + * provide a constructor that calls the protected constructor of this class and override + * AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream). + * The latter method should be able to handle the case that all fields are NOT_SPECIFIED + * and provide appropriate default values. + * + * @author Matthias Pfisterer + */ + +// todo: +// - declare a constant ALL_BUT_SAME_VALUE (==-2) or so that can be used in format lists +// - consistent implementation of replacing NOT_SPECIFIED when not given in conversion + +public abstract class TSimpleFormatConversionProvider +extends TFormatConversionProvider +{ + private Collection m_sourceEncodings; + private Collection m_targetEncodings; + private Collection m_sourceFormats; + private Collection m_targetFormats; + + + + protected TSimpleFormatConversionProvider( + Collection sourceFormats, + Collection targetFormats) + { + m_sourceEncodings = new ArraySet(); + m_targetEncodings = new ArraySet(); + if (sourceFormats == null) { + sourceFormats = new ArraySet(); + } + if (targetFormats == null) { + targetFormats = new ArraySet(); + } + m_sourceFormats = sourceFormats; + m_targetFormats = targetFormats; + collectEncodings(m_sourceFormats, m_sourceEncodings); + collectEncodings(m_targetFormats, m_targetEncodings); + } + + + + /** Disables this FormatConversionProvider. + This may be useful when e.g. native libraries are not present. + TODO: enable method, better implementation + */ + protected void disable() + { + if (TDebug.TraceAudioConverter) { TDebug.out("TSimpleFormatConversionProvider.disable(): disabling " + getClass().getName()); } + m_sourceEncodings = new ArraySet(); + m_targetEncodings = new ArraySet(); + m_sourceFormats = new ArraySet(); + m_targetFormats = new ArraySet(); + } + + + + private static void collectEncodings(Collection formats, + Collection encodings) + { + Iterator iterator = formats.iterator(); + while (iterator.hasNext()) + { + AudioFormat format = iterator.next(); + encodings.add(format.getEncoding()); + } + } + + + + @Override + public AudioFormat.Encoding[] getSourceEncodings() + { + return m_sourceEncodings.toArray(EMPTY_ENCODING_ARRAY); + } + + + + @Override + public AudioFormat.Encoding[] getTargetEncodings() + { + return m_targetEncodings.toArray(EMPTY_ENCODING_ARRAY); + } + + + + // overwritten of FormatConversionProvider + @Override + public boolean isSourceEncodingSupported(AudioFormat.Encoding sourceEncoding) + { + return m_sourceEncodings.contains(sourceEncoding); + } + + + + // overwritten of FormatConversionProvider + @Override + public boolean isTargetEncodingSupported(AudioFormat.Encoding targetEncoding) + { + return m_targetEncodings.contains(targetEncoding); + } + + + + /** + * This implementation assumes that the converter can convert + * from each of its source encodings to each of its target + * encodings. If this is not the case, the converter has to + * override this method. + */ + @Override + public AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat) + { + if (isAllowedSourceFormat(sourceFormat)) + { + return getTargetEncodings(); + } + else + { + return EMPTY_ENCODING_ARRAY; + } + } + + + + /** + * This implementation assumes that the converter can convert + * from each of its source formats to each of its target + * formats. If this is not the case, the converter has to + * override this method. + */ + @Override + public AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat) + { + if (isConversionSupported(targetEncoding, sourceFormat)) + { + return m_targetFormats.toArray(EMPTY_FORMAT_ARRAY); + } + else + { + return EMPTY_FORMAT_ARRAY; + } + } + + + // TODO: check if necessary + protected boolean isAllowedSourceEncoding(AudioFormat.Encoding sourceEncoding) + { + return m_sourceEncodings.contains(sourceEncoding); + } + + + + protected boolean isAllowedTargetEncoding(AudioFormat.Encoding targetEncoding) + { + return m_targetEncodings.contains(targetEncoding); + } + + + + protected boolean isAllowedSourceFormat(AudioFormat sourceFormat) + { + Iterator iterator = m_sourceFormats.iterator(); + while (iterator.hasNext()) + { + AudioFormat format = iterator.next(); + if (AudioFormats.matches(format, sourceFormat)) + { + return true; + } + } + return false; + } + + + + protected boolean isAllowedTargetFormat(AudioFormat targetFormat) + { + Iterator iterator = m_targetFormats.iterator(); + while (iterator.hasNext()) + { + AudioFormat format = iterator.next(); + if (AudioFormats.matches(format, targetFormat)) + { + return true; + } + } + return false; + } + + // $$fb 2000-04-02 added some convenience methods for overriding classes + protected Collection getCollectionSourceEncodings() + { + return m_sourceEncodings; + } + + protected Collection getCollectionTargetEncodings() + { + return m_targetEncodings; + } + + protected Collection getCollectionSourceFormats() { + return m_sourceFormats; + } + + protected Collection getCollectionTargetFormats() { + return m_targetFormats; + } + + /** + * Utility method to check whether these values match, + * taking into account AudioSystem.NOT_SPECIFIED. + * @return true if any of the values is AudioSystem.NOT_SPECIFIED + * or both values have the same value. + */ + //$$fb 2000-08-16: moved from TEncodingFormatConversionProvider + protected static boolean doMatch(int i1, int i2) { + return i1==AudioSystem.NOT_SPECIFIED + || i2==AudioSystem.NOT_SPECIFIED + || i1==i2; + } + + /** + * @see #doMatch(int,int) + */ + //$$fb 2000-08-16: moved from TEncodingFormatConversionProvider + protected static boolean doMatch(float f1, float f2) { + return f1==AudioSystem.NOT_SPECIFIED + || f2==AudioSystem.NOT_SPECIFIED + || Math.abs(f1 - f2) < 1.0e-9; + } + + /** + * Utility method, replaces all occurences of AudioSystem.NOT_SPECIFIED + * in targetFormat with the corresponding value in sourceFormat. + * If targetFormat does not contain any fields with AudioSystem.NOT_SPECIFIED, + * it is returned unmodified. The endian-ness and encoding remain the same in all cases. + *

+ * If any of the fields is AudioSystem.NOT_SPECIFIED in both sourceFormat and + * targetFormat, it will remain not specified. + *

+ * This method uses getFrameSize(...) (see below) to set the new frameSize, + * if a new AudioFormat instance is created. + *

+ * This method isn't used in TSimpleFormatConversionProvider - it is solely there + * for inheriting classes. + */ + //$$fb 2000-08-16: moved from TEncodingFormatConversionProvider + protected AudioFormat replaceNotSpecified(AudioFormat sourceFormat, AudioFormat targetFormat) { + boolean bSetSampleSize=false; + boolean bSetChannels=false; + boolean bSetSampleRate=false; + boolean bSetFrameRate=false; + if (targetFormat.getSampleSizeInBits()==AudioSystem.NOT_SPECIFIED + && sourceFormat.getSampleSizeInBits()!=AudioSystem.NOT_SPECIFIED) { + bSetSampleSize=true; + } + if (targetFormat.getChannels()==AudioSystem.NOT_SPECIFIED + && sourceFormat.getChannels()!=AudioSystem.NOT_SPECIFIED) { + bSetChannels=true; + } + if (targetFormat.getSampleRate()==AudioSystem.NOT_SPECIFIED + && sourceFormat.getSampleRate()!=AudioSystem.NOT_SPECIFIED) { + bSetSampleRate=true; + } + if (targetFormat.getFrameRate()==AudioSystem.NOT_SPECIFIED + && sourceFormat.getFrameRate()!=AudioSystem.NOT_SPECIFIED) { + bSetFrameRate=true; + } + if (bSetSampleSize || bSetChannels || bSetSampleRate || bSetFrameRate + || (targetFormat.getFrameSize()==AudioSystem.NOT_SPECIFIED + && sourceFormat.getFrameSize()!=AudioSystem.NOT_SPECIFIED)) { + // create new format in place of the original target format + float sampleRate=bSetSampleRate? + sourceFormat.getSampleRate():targetFormat.getSampleRate(); + float frameRate=bSetFrameRate? + sourceFormat.getFrameRate():targetFormat.getFrameRate(); + int sampleSize=bSetSampleSize? + sourceFormat.getSampleSizeInBits():targetFormat.getSampleSizeInBits(); + int channels=bSetChannels? + sourceFormat.getChannels():targetFormat.getChannels(); + int frameSize=getFrameSize( + targetFormat.getEncoding(), + sampleRate, + sampleSize, + channels, + frameRate, + targetFormat.isBigEndian(), + targetFormat.getFrameSize()); + targetFormat= new AudioFormat( + targetFormat.getEncoding(), + sampleRate, + sampleSize, + channels, + frameSize, + frameRate, + targetFormat.isBigEndian()); + } + return targetFormat; + } + + /** + * Calculates the frame size for the given format description. + * The default implementation returns AudioSystem.NOT_SPECIFIED + * if either sampleSize or channels is AudioSystem.NOT_SPECIFIED, + * otherwise sampleSize*channels/8 is returned. + *

+ * If this does not reflect the way to calculate the right frame size, + * inheriting classes should overwrite this method if they use + * replaceNotSpecified(...). It is not used elsewhere in this class. + */ + //$$fb 2000-08-16: added + protected int getFrameSize( + AudioFormat.Encoding encoding, + float sampleRate, + int sampleSize, + int channels, + float frameRate, + boolean bigEndian, + int oldFrameSize) { + if (sampleSize==AudioSystem.NOT_SPECIFIED || channels==AudioSystem.NOT_SPECIFIED) { + return AudioSystem.NOT_SPECIFIED; + } + return ((sampleSize + 7) / 8) * channels; + } + + + +} + +/*** TSimpleFormatConversionProvider.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/convert/TSynchronousFilteredAudioInputStream.java b/src/main/java/com/github/trilarion/share/sampled/convert/TSynchronousFilteredAudioInputStream.java new file mode 100644 index 0000000..ba041d2 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/convert/TSynchronousFilteredAudioInputStream.java @@ -0,0 +1,424 @@ +/* + * TSynchronousFilteredAudioInputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999,2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.convert; + +import java.io.IOException; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.AudioUtils; +import com.github.trilarion.share.sampled.FloatSampleBuffer; +import com.github.trilarion.share.sampled.FloatSampleInput; + + + +/** + * Base class for types of audio filter/converter that translate one frame to another frame.
+ * It provides all the transformation of frame sizes.
+ * It does NOT handle different sample rates of original stream and this stream ! + * + * @author Florian Bomers + */ +public abstract class TSynchronousFilteredAudioInputStream +extends TAudioInputStream implements FloatSampleInput { + + private AudioInputStream originalStream; + + /** the same originalStream cast to FloatSampleInput, if it is one */ + private FloatSampleInput originalStreamFloat; + + private AudioFormat originalFormat; + /** 1 if original format's frame size is NOT_SPECIFIED */ + private int originalFrameSize; + /** 1 if original format's frame size is NOT_SPECIFIED */ + private int newFrameSize; + + private boolean EOF = false; + + /** + * The intermediate buffer used during convert actions + * (if not convertInPlace is used). + * It remains until this audioStream is closed or destroyed + * and grows with the time - it always has the size of the + * largest intermediate buffer ever needed. + */ + protected byte[] m_buffer=null; + + /** + * For use of the more efficient method convertInPlace. + * it will be set to true when (frameSizeFactor==1) + */ + private boolean m_bConvertInPlace = false; + + /** if this flag is set, convert(FloatSampleBuffer) is implemented by overriding classes */ + private boolean m_enableFloatConversion = false; + + public TSynchronousFilteredAudioInputStream(AudioInputStream audioInputStream, AudioFormat newFormat) { + // the super class will do nothing... we override everything + super(audioInputStream, newFormat, audioInputStream.getFrameLength()); + originalStream=audioInputStream; + originalFormat=audioInputStream.getFormat(); + originalFrameSize=(originalFormat.getFrameSize()<=0) ? + 1 : originalFormat.getFrameSize(); + newFrameSize=(getFormat().getFrameSize()<=0) ? + 1 : getFormat().getFrameSize(); + if (originalStream instanceof FloatSampleInput) { + originalStreamFloat = (FloatSampleInput) originalStream; + } + if (TDebug.TraceAudioConverter) { + TDebug.out("TSynchronousFilteredAudioInputStream: original format =" + +AudioUtils.format2ShortStr(originalFormat)); + TDebug.out("TSynchronousFilteredAudioInputStream: converted format=" + +AudioUtils.format2ShortStr(getFormat())); + } + m_bConvertInPlace = false; + m_enableFloatConversion = false; + } + + /** + * descendant classes should call this method if they have implemented + * convertInPlace(). ConvertInPlace will only be used if the converted frame + * size is larger than the original frame size. + */ + protected boolean enableConvertInPlace() { + if (newFrameSize >= originalFrameSize) { + m_bConvertInPlace = true; + } + return m_bConvertInPlace; + } + + /** + * Descendant classes should call this method if they have implemented + * convert(FloatSampleBuffer). That convert method will only be called + * if this class' FloatSampleInput.read() is used. + */ + protected void enableFloatConversion() { + m_enableFloatConversion = true; + } + + + + /** + * Override this method to do the actual conversion. + * inBuffer starts always at index 0 (it is an internal buffer) + * You should always override this. + * inFrameCount is the number of frames in inBuffer. These + * frames are of the format originalFormat. + * @return the resulting number of frames converted and put into + * outBuffer. The return value is in the format of this stream. + */ + protected abstract int convert(byte[] inBuffer, byte[] outBuffer, int outByteOffset, int inFrameCount); + + + + /** + * Override this method to provide in-place conversion of samples. + * To use it, call "enableConvertInPlace()". It will only be used when + * input bytes per frame >= output bytes per frame. + * This method must always convert frameCount frames, so no return value is necessary. + */ + protected void convertInPlace(byte[] buffer, int byteOffset, int frameCount) { + throw new RuntimeException("illegal call to convertInPlace"); + } + + /** + * Override this method to do the actual conversion in the + * FloatSampleBuffer. Use buffer's methods to shrink the number of samples, + * if necessary. This method will only be called if this stream is accessed + * by way of FloatSampleInput methods. + * + * @param buffer the buffer to convert + * @param offset the offset in buffer in samples + * @param count the number of samples in buffer to convert + */ + protected void convert(FloatSampleBuffer buffer, int offset, int count) { + throw new RuntimeException("illegal call to convert(FloatSampleBuffer)"); + } + + + @Override + public int read() + throws IOException { + if (newFrameSize != 1) { + throw new IOException("frame size must be 1 to read a single byte"); + } + // very ugly, but efficient. Who uses this method anyway ? + byte[] temp = new byte[1]; + int result = read(temp); + if (result == -1) { + return -1; + } + if (result == 0) { + // what in this case ??? Let's hope it never occurs. + return -1; + } + return temp[0] & 0xFF; + } + + + /** remove the temporary read buffer to save heap */ + private void clearBuffer() { + m_buffer = null; + m_floatByteBuffer = null; + } + + public AudioInputStream getOriginalStream() { + return originalStream; + } + + public AudioFormat getOriginalFormat() { + return originalFormat; + } + + /** + * Read nLength bytes that will be the converted samples + * of the original InputStream. + * When nLength is not an integral number of frames, + * this method may read less than nLength bytes. + */ + @Override + public final int read(byte[] abData, int nOffset, int nLength) + throws IOException { + // number of frames that we have to read from the underlying stream. + int nFrameLength = nLength/newFrameSize; + + // number of bytes that we need to read from underlying stream. + int originalBytes = nFrameLength * originalFrameSize; + + if (TDebug.TraceAudioConverter) { + TDebug.out("> TSynchronousFilteredAIS.read(buffer["+abData.length+"], " + +nOffset+" ,"+nLength+" bytes ^="+nFrameLength+" frames)"); + } + int nFramesConverted = 0; + + // set up buffer to read + byte readBuffer[]; + int readOffset; + if (m_bConvertInPlace) { + readBuffer=abData; + readOffset=nOffset; + } else { + // assert that the buffer fits + if (m_buffer == null || m_buffer.length < originalBytes) { + m_buffer = new byte[originalBytes]; + } + readBuffer=m_buffer; + readOffset=0; + } + int nBytesRead = originalStream.read(readBuffer, readOffset, originalBytes); + if (nBytesRead == -1) { + // end of stream + clearBuffer(); + EOF = true; + return -1; + } + int nFramesRead = nBytesRead / originalFrameSize; + if (TDebug.TraceAudioConverter) { + TDebug.out("original.read returned " + +nBytesRead+" bytes ^="+nFramesRead+" frames"); + } + if (m_bConvertInPlace) { + convertInPlace(abData, nOffset, nFramesRead); + nFramesConverted=nFramesRead; + } else { + nFramesConverted = convert(m_buffer, abData, nOffset, nFramesRead); + } + if (TDebug.TraceAudioConverter) { + TDebug.out("< converted "+nFramesConverted+" frames"); + } + return nFramesConverted*newFrameSize; + } + + + @Override + public long skip(long nSkip) + throws IOException { + // only returns integral frames + long skipFrames = nSkip / newFrameSize; + long originalSkippedBytes = originalStream.skip(skipFrames*originalFrameSize); + long skippedFrames = originalSkippedBytes/originalFrameSize; + return skippedFrames * newFrameSize; + } + + + @Override + public int available() + throws IOException { + int origAvailFrames = originalStream.available()/originalFrameSize; + return origAvailFrames*newFrameSize; + } + + + @Override + public void close() + throws IOException { + EOF = true; + originalStream.close(); + clearBuffer(); + } + + + + @Override + public void mark(int readlimit) { + int readLimitFrames=readlimit/newFrameSize; + originalStream.mark(readLimitFrames*originalFrameSize); + } + + + + @Override + public void reset() + throws IOException { + originalStream.reset(); + } + + + @Override + public boolean markSupported() { + return originalStream.markSupported(); + } + + // interface FloatSampleInput + + public int getChannels() { + return format.getChannels(); + } + + public float getSampleRate() { + return format.getSampleRate(); + } + + public boolean isDone() { + // if this class was closed, never return open again + if (EOF) return true; + if (originalStreamFloat != null) { + return originalStreamFloat.isDone(); + } + return false; + } + + /** temporary byte buffer for conversion from/to byte/float arrays */ + private byte[] m_floatByteBuffer = null; + + /** + * read sampleCount converted samples at the specified offset. The current + * implementation requires that offset is 0 and sampleCount == + * buffer.getSampleCount(). + */ + public void read(FloatSampleBuffer buffer, int offset, int sampleCount) { + try { + // Case 1: reading cannot, but processing can be done in float + // layer, + // so read unconverted bytes, then convert to float and process + if (originalStreamFloat == null && m_enableFloatConversion) { + // currently cannot convert in the middle of the buffer + if (offset > 0 || sampleCount != buffer.getSampleCount()) { + throw new IllegalArgumentException( + "float reading with offset not supported"); + } + // allocate a byte array large enough to hold the byte data + int reqSize = sampleCount * originalFrameSize; + if (m_floatByteBuffer == null + || m_floatByteBuffer.length < reqSize) { + m_floatByteBuffer = new byte[reqSize]; + } + // read into byte array -- is already processed + int bytesRead = originalStream.read(m_floatByteBuffer, 0, + reqSize); + // convert the byte array to float + if (bytesRead <= 0) { + // EOF or nothing read + buffer.setSampleCount(0, false); + return; + } + // convert to float + buffer.initFromByteArray(m_floatByteBuffer, 0, bytesRead, + originalFormat); + // do the processing + convert(buffer, 0, buffer.getSampleCount()); + } else + // Case 2: reading or processing cannot be done in float layer, + // do the conversion with byte array and convert afterwards + if (originalStreamFloat == null || !m_enableFloatConversion) { + // currently cannot convert in the middle of the buffer + if (offset > 0 || sampleCount != buffer.getSampleCount()) { + throw new IllegalArgumentException( + "float reading with offset not supported"); + } + // allocate a byte array large enough to hold the converted data + int reqSize = sampleCount * format.getFrameSize(); + if (m_floatByteBuffer == null + || m_floatByteBuffer.length < reqSize) { + m_floatByteBuffer = new byte[reqSize]; + } + // read into byte array -- is already processed + int bytesRead = read(m_floatByteBuffer, 0, reqSize); + // convert the byte array to float + if (bytesRead <= 0) { + // EOF or nothing read + buffer.setSampleCount(0, false); + return; + } + // convert to float + buffer.initFromByteArray(m_floatByteBuffer, 0, bytesRead, + format); + } else { + // read from the source stream + originalStreamFloat.read(buffer, offset, sampleCount); + if (offset + sampleCount > buffer.getSampleCount()) { + sampleCount = buffer.getSampleCount() - offset; + if (sampleCount < 0) { + sampleCount = 0; + } + } + // do the actual processing + convert(buffer, offset, sampleCount); + } + + } catch (IOException ioe) { + if (TDebug.TraceAllExceptions) { + ioe.printStackTrace(); + } + buffer.setSampleCount(0, false); + } + } + + public void read(FloatSampleBuffer buffer) { + read(buffer, 0, buffer.getSampleCount()); + } + +} + + +/*** TSynchronousFilteredAudioInputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/convert/package.html b/src/main/java/com/github/trilarion/share/sampled/convert/package.html new file mode 100644 index 0000000..d0cc35c --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/convert/package.html @@ -0,0 +1,17 @@ + + + + + + +

Base classes for the implementation of FormatConversionProviders. + The classes provided here .

+ + @see javax.sound.sampled.spi.FormatConversionProvider + @see org.tritonus.sampled.convert + @see org.tritonus.sampled.convert.gsm + @see org.tritonus.sampled.convert.jorbis + @see org.tritonus.sampled.convert.lame + @see org.tritonus.sampled.convert.vorbis + + diff --git a/src/main/java/com/github/trilarion/share/sampled/file/AudioOutputStream.java b/src/main/java/com/github/trilarion/share/sampled/file/AudioOutputStream.java new file mode 100644 index 0000000..4a14655 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/AudioOutputStream.java @@ -0,0 +1,113 @@ +/* + * AudioOutputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.io.IOException; + +import javax.sound.sampled.AudioFormat; + + + +/** Represents a one-time writing of audio data to a destination (file or output stream). + * + * This interface is the lowest abstraction level of writing audio data. + * Implementations of this interface should, when write() is called, never + * do buffering and they should never do format conversions. However, + * this interface is intended to abstract the file format (how the + * headers and data chunks look like) and the way of writing to the + * destination object. (implementation note [non-normative]: the last + * should be done by using TDataOutputStream implementing classes). + * + * One reasoning behind this interface was to allow direct, unbuffered + * writing of recorded data. + * In JS API 0.90, there was no obvious way for this. + * Data have had to be recorded to a buffer, then written to a file + * from that buffer. + * This gave problems with long recordings, where the main + * memory of the machine is not big enough to hold all data. There are + * two ways so solve this: + * + * a) Having a special AudioInputStream that fetches its data from a + * TargetDataLine. This way, the loop inside the AudioFileWriters reads + * directely from the recording line via the special AudioInputStream. + * This is the solution Sun adopted for JS 1.0. + * + * b) The other way is to expose a direct interface to the writing of the + * audio file with no loop inside it. This is to enable the application + * programmer to write the main loop itself, possibly doing some + * additional processing inside it. This is the more flexible way. + * The drawback is that it requires a new architecture for writing files. + * + * This interface is the central part of a proposal for the second + * solution. + * The idea is now to use the new structure inside the old one to gain + * experience with it before proposing to make it a public interface + * (public in the sense that it is part of the javax.sound.sampled + * package). + * + * @author Matthias Pfisterer + */ +public interface AudioOutputStream +{ + /** + * Retrieves the AufioFormat of this AudioOutputStream. + */ + public AudioFormat getFormat(); + + + /** Gives length of the stream. + * This value is in bytes. It may be AudioSystem.NOT_SPECIFIED + * to express that the length is unknown. + */ + public long getLength(); + + + + /** + * Writes a chunk of audio data to the destination (file or output stream). + */ + // IDEA: use long? + public int write(byte[] abData, int nOffset, int nLength) + throws IOException; + + + + /** Closes the stream. + * This does write remaining buffered data to the destination, + * backpatch the header, if necessary, and closes the destination. + */ + public void close() + throws IOException; +} + + + +/*** AudioOutputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/file/HeaderlessAudioOutputStream.java b/src/main/java/com/github/trilarion/share/sampled/file/HeaderlessAudioOutputStream.java new file mode 100644 index 0000000..6f0dcc4 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/HeaderlessAudioOutputStream.java @@ -0,0 +1,59 @@ +/* + * HeaderlessAudioOutputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.io.IOException; +import javax.sound.sampled.AudioFormat; + + +/** + * AudioOutputStream for files without a header; the input is written as it is. + * + * @author Florian Bomers + */ + +// todo: implement directly AudioOutputStream without using TAudioOutputStream + +public class HeaderlessAudioOutputStream extends TAudioOutputStream { + + public HeaderlessAudioOutputStream(AudioFormat audioFormat, + long lLength, + TDataOutputStream dataOutputStream) { + super(audioFormat, lLength, dataOutputStream, false); + } + + @Override + protected void writeHeader() throws IOException + { + } +} + +/*** HeaderlessAudioOutputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/file/TAudioFileFormat.java b/src/main/java/com/github/trilarion/share/sampled/file/TAudioFileFormat.java new file mode 100644 index 0000000..183e6c5 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/TAudioFileFormat.java @@ -0,0 +1,114 @@ +/* + * TAudioFileFormat.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioFormat; + + + +/** + * This class is just to have a public constructor taking the + * number of bytes of the whole file. The public constructor of + * AudioFileFormat doesn't take this parameter, the one who takes + * it is protected. + * + * @author Matthias Pfisterer + */ +public class TAudioFileFormat +extends AudioFileFormat +{ + private Map m_properties; + private Map m_unmodifiableProperties; + + + /* + * Note that the order of the arguments is different from + * the one in AudioFileFormat. + */ + public TAudioFileFormat(Type type, + AudioFormat audioFormat, + int nLengthInFrames, + int nLengthInBytes) + { + super(type, + nLengthInBytes, + audioFormat, + nLengthInFrames); + } + + + public TAudioFileFormat(Type type, + AudioFormat audioFormat, + int nLengthInFrames, + int nLengthInBytes, + Map properties) + { + super(type, + nLengthInBytes, + audioFormat, + nLengthInFrames); + initMaps(properties); + } + + + private void initMaps(Map properties) + { + /* Here, we make a shallow copy of the map. It's unclear if this + is sufficient (of if a deep copy should be made). + */ + m_properties = new HashMap(); + m_properties.putAll(properties); + m_unmodifiableProperties = Collections.unmodifiableMap(m_properties); + } + + + @Override + public Map properties() + { + return m_unmodifiableProperties; + } + + + + protected void setProperty(String key, Object value) + { + m_properties.put(key, value); + } +} + + + +/*** TAudioFileFormat.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/file/TAudioFileReader.java b/src/main/java/com/github/trilarion/share/sampled/file/TAudioFileReader.java new file mode 100644 index 0000000..35a5afc --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/TAudioFileReader.java @@ -0,0 +1,532 @@ +/* + * TAudioFileReader.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Matthias Pfisterer + * Copyright (c) 2001 by Florian Bomers + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.DataInputStream; +import java.io.InputStream; +import java.io.IOException; +import java.io.EOFException; + +import java.net.URL; +import java.net.URLConnection; + +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.UnsupportedAudioFileException; +import javax.sound.sampled.spi.AudioFileReader; + +import com.github.trilarion.share.TDebug; + + + +/** Base class for audio file readers. + This is Tritonus' base class for classes that provide the facility + of detecting an audio file type and reading its header. + Classes should be derived from this class or one of its subclasses + rather than from javax.sound.sampled.spi.AudioFileReader. + + @author Matthias Pfisterer + @author Florian Bomers +*/ +public abstract class TAudioFileReader +extends AudioFileReader +{ + private int m_nMarkLimit = -1; + private boolean m_bRereading; + + + protected TAudioFileReader(int nMarkLimit) + { + this(nMarkLimit, false); + } + + + + protected TAudioFileReader(int nMarkLimit, boolean bRereading) + { + m_nMarkLimit = nMarkLimit; + m_bRereading = bRereading; + } + + + + private int getMarkLimit() + { + return m_nMarkLimit; + } + + + + private boolean isRereading() + { + return m_bRereading; + } + + + + /** Get an AudioFileFormat object for a File. + This method calls getAudioFileFormat(InputStream, long). + Subclasses should not override this method unless there are + really severe reasons. Normally, it is sufficient to + implement getAudioFileFormat(InputStream, long). + + @param file the file to read from. + @return an AudioFileFormat instance containing + information from the header of the file passed in. + */ + @Override + public AudioFileFormat getAudioFileFormat(File file) + throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioFileFormat(File): begin (class: "+getClass().getSimpleName()+")"); } + long lFileLengthInBytes = file.length(); + InputStream inputStream = new FileInputStream(file); + AudioFileFormat audioFileFormat = null; + try + { + audioFileFormat = getAudioFileFormat(inputStream, lFileLengthInBytes); + } + finally + { + inputStream.close(); + } + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioFileFormat(File): end"); } + return audioFileFormat; + } + + + + /** Get an AudioFileFormat object for a URL. + This method calls getAudioFileFormat(InputStream, long). + Subclasses should not override this method unless there are + really severe reasons. Normally, it is sufficient to + implement getAudioFileFormat(InputStream, long). + + @param url the URL to read from. + @return an AudioFileFormat instance containing + information from the header of the URL passed in. + */ + @Override + public AudioFileFormat getAudioFileFormat(URL url) + throws UnsupportedAudioFileException, IOException + + { + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioFileFormat(URL): begin (class: "+getClass().getSimpleName()+")"); } + long lFileLengthInBytes = getDataLength(url); + InputStream inputStream = url.openStream(); + AudioFileFormat audioFileFormat = null; + try + { + audioFileFormat = getAudioFileFormat(inputStream, lFileLengthInBytes); + } + finally + { + inputStream.close(); + } + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioFileFormat(URL): end"); } + return audioFileFormat; + } + + + + /** Get an AudioFileFormat object for an InputStream. + This method calls getAudioFileFormat(InputStream, long). + Subclasses should not override this method unless there are + really severe reasons. Normally, it is sufficient to + implement getAudioFileFormat(InputStream, long). + + @param inputStream the stream to read from. + @return an AudioFileFormat instance containing + information from the header of the stream passed in. + */ + @Override + public AudioFileFormat getAudioFileFormat(InputStream inputStream) + throws UnsupportedAudioFileException, IOException + + { + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioFileFormat(InputStream): begin (class: "+getClass().getSimpleName()+")"); } + long lFileLengthInBytes = AudioSystem.NOT_SPECIFIED; + if (!inputStream.markSupported()) { + inputStream = new BufferedInputStream(inputStream, getMarkLimit()); + } + inputStream.mark(getMarkLimit()); + AudioFileFormat audioFileFormat = null; + try + { + audioFileFormat = getAudioFileFormat(inputStream, lFileLengthInBytes); + } + finally + { + /* TODO: required semantics is unclear: should reset() + be executed only when there is an exception or + should it be done always? + */ + inputStream.reset(); + } + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioFileFormat(InputStream): end"); } + return audioFileFormat; + } + + + + /** + * Get an AudioFileFormat (internal implementation). Subclasses must + * implement this method in a way specific to the file format they handle. + * Note that depending on the implementation of this method, you should or + * should not override getAudioInputStream(InputStream, long), too (see + * comment there). + * + * @param inputStream The InputStream to read from. It should be tested if + * it is markable. If not, and it is re-reading, wrap it into a + * BufferedInputStream with getMarkLimit() size. + * @param lFileLengthInBytes The size of the originating file, if known. If + * it isn't known, AudioSystem.NOT_SPECIFIED should be passed. + * This value may be used for byteLength in AudioFileFormat, if + * this value can't be derived from the informmation in the file + * header. + * @return an AudioFileFormat instance containing information from the + * header of the stream passed in as inputStream. + */ + protected abstract AudioFileFormat getAudioFileFormat( + InputStream inputStream, long lFileLengthInBytes) + throws UnsupportedAudioFileException, IOException; + + + + /** Get an AudioInputStream object for a file. + This method calls getAudioInputStream(InputStream, long). + Subclasses should not override this method unless there are + really severe reasons. Normally, it is sufficient to + implement getAudioFileFormat(InputStream, long) and perhaps + override getAudioInputStream(InputStream, long). + + @param file the File object to read from. + @return an AudioInputStream instance containing + the audio data from this file. + */ + @Override + public AudioInputStream getAudioInputStream(File file) + throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioInputStream(File): begin (class: "+getClass().getSimpleName()+")"); } + long lFileLengthInBytes = file.length(); + InputStream inputStream = new FileInputStream(file); + AudioInputStream audioInputStream = null; + try + { + audioInputStream = getAudioInputStream(inputStream, lFileLengthInBytes); + } + catch (UnsupportedAudioFileException e) + { + inputStream.close(); + throw e; + } + catch (IOException e) + { + inputStream.close(); + throw e; + } + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioInputStream(File): end"); } + return audioInputStream; + } + + + + /** Get an AudioInputStream object for a URL. + This method calls getAudioInputStream(InputStream, long). + Subclasses should not override this method unless there are + really severe reasons. Normally, it is sufficient to + implement getAudioFileFormat(InputStream, long) and perhaps + override getAudioInputStream(InputStream, long). + + @param url the URL to read from. + @return an AudioInputStream instance containing + the audio data from this URL. + */ + @Override + public AudioInputStream getAudioInputStream(URL url) + throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioInputStream(URL): begin (class: "+getClass().getSimpleName()+")"); } + long lFileLengthInBytes = getDataLength(url); + InputStream inputStream = url.openStream(); + AudioInputStream audioInputStream = null; + try + { + audioInputStream = getAudioInputStream(inputStream, lFileLengthInBytes); + } + catch (UnsupportedAudioFileException e) + { + inputStream.close(); + throw e; + } + catch (IOException e) + { + inputStream.close(); + throw e; + } + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioInputStream(URL): end"); } + return audioInputStream; + } + + + + /** Get an AudioInputStream object for an InputStream. + This method calls getAudioInputStream(InputStream, long). + Subclasses should not override this method unless there are + really severe reasons. Normally, it is sufficient to + implement getAudioFileFormat(InputStream, long) and perhaps + override getAudioInputStream(InputStream, long). + + @param inputStream the stream to read from. + @return an AudioInputStream instance containing + the audio data from this stream. + */ + @Override + public AudioInputStream getAudioInputStream(InputStream inputStream) + throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioInputStream(InputStream): begin (class: "+getClass().getSimpleName()+")"); } + long lFileLengthInBytes = AudioSystem.NOT_SPECIFIED; + AudioInputStream audioInputStream = null; + if (!inputStream.markSupported()) { + inputStream = new BufferedInputStream(inputStream, getMarkLimit()); + } + inputStream.mark(getMarkLimit()); + try + { + audioInputStream = getAudioInputStream(inputStream, lFileLengthInBytes); + } + catch (UnsupportedAudioFileException e) + { + inputStream.reset(); + throw e; + } + catch (IOException e) + { + try { + inputStream.reset(); + } catch (IOException e2) { + if (e2.getCause() == null) { + e2.initCause(e); + throw e2; + } + } + throw e; + } + if (TDebug.TraceAudioFileReader) {TDebug.out("TAudioFileReader.getAudioInputStream(InputStream): end"); } + return audioInputStream; + } + + + + /** + * Get an AudioInputStream (internal implementation). This implementation + * calls getAudioFileFormat() with the same arguments as passed in here. + * Then, it constructs an AudioInputStream instance. This instance takes the + * passed inputStream in the state it is left after getAudioFileFormat() did + * its work. In other words, the implementation here assumes that + * getAudioFileFormat() reads the entire header up to a position exactly + * where the audio data starts. If this can't be realized for a certain + * format, this method should be overridden. + * + * @param inputStream The InputStream to read from. It should be tested if + * it is markable. If not, and it is re-reading, wrap it into a + * BufferedInputStream with getMarkLimit() size. + * @param lFileLengthInBytes The size of the originating file, if known. If + * it isn't known, AudioSystem.NOT_SPECIFIED should be passed. + * This value may be used for byteLength in AudioFileFormat, if + * this value can't be derived from the information in the file + * header. + */ + protected AudioInputStream getAudioInputStream(InputStream inputStream, + long lFileLengthInBytes) throws UnsupportedAudioFileException, + IOException { + if (TDebug.TraceAudioFileReader) { + TDebug.out("TAudioFileReader.getAudioInputStream(InputStream, long): begin (class: " + + getClass().getSimpleName() + ")"); + } + if (isRereading()) { + if (!inputStream.markSupported()) { + inputStream = new BufferedInputStream(inputStream, + getMarkLimit()); + } + inputStream.mark(getMarkLimit()); + } + AudioFileFormat audioFileFormat = getAudioFileFormat(inputStream, + lFileLengthInBytes); + if (isRereading()) { + inputStream.reset(); + } + AudioInputStream audioInputStream = new AudioInputStream(inputStream, + audioFileFormat.getFormat(), audioFileFormat.getFrameLength()); + if (TDebug.TraceAudioFileReader) { + TDebug.out("TAudioFileReader.getAudioInputStream(InputStream, long): end"); + } + return audioInputStream; + } + + + + protected static int calculateFrameSize(int nSampleSize, int nNumChannels) + { + return ((nSampleSize + 7) / 8) * nNumChannels; + } + + + + private static long getDataLength(URL url) + throws IOException + { + long lFileLengthInBytes = AudioSystem.NOT_SPECIFIED; + URLConnection connection = url.openConnection(); + connection.connect(); + int nLength = connection.getContentLength(); + if (nLength > 0) + { + lFileLengthInBytes = nLength; + } + return lFileLengthInBytes; + } + + + + public static int readLittleEndianInt(InputStream is) + throws IOException + { + int b0 = is.read(); + int b1 = is.read(); + int b2 = is.read(); + int b3 = is.read(); + if ((b0 | b1 | b2 | b3) < 0) + { + throw new EOFException(); + } + return (b3 << 24) + (b2 << 16) + (b1 << 8) + (b0 << 0); + } + + + + public static short readLittleEndianShort(InputStream is) + throws IOException + { + int b0 = is.read(); + int b1 = is.read(); + if ((b0 | b1) < 0) + { + throw new EOFException(); + } + return (short) ((b1 << 8) + (b0 << 0)); + } + + + +/* + * C O N V E R T F R O M I E E E E X T E N D E D + */ + +/* + * Copyright (C) 1988-1991 Apple Computer, Inc. + * All rights reserved. + * + * Machine-independent I/O routines for IEEE floating-point numbers. + * + * NaN's and infinities are converted to HUGE_VAL or HUGE, which + * happens to be infinity on IEEE machines. Unfortunately, it is + * impossible to preserve NaN's in a machine-independent way. + * Infinities are, however, preserved on IEEE machines. + * + * These routines have been tested on the following machines: + * Apple Macintosh, MPW 3.1 C compiler + * Apple Macintosh, THINK C compiler + * Silicon Graphics IRIS, MIPS compiler + * Cray X/MP and Y/MP + * Digital Equipment VAX + * + * + * Implemented by Malcolm Slaney and Ken Turkowski. + * + * Malcolm Slaney contributions during 1988-1990 include big- and little- + * endian file I/O, conversion to and from Motorola's extended 80-bit + * floating-point format, and conversions to and from IEEE single- + * precision floating-point format. + * + * In 1991, Ken Turkowski implemented the conversions to and from + * IEEE double-precision format, added more precision to the extended + * conversions, and accommodated conversions involving +/- infinity, + * NaN's, and denormalized numbers. + */ + + public static double readIeeeExtended(DataInputStream dis) + throws IOException + { + double f = 0.0D; + int expon = 0; + long hiMant = 0L; + long loMant = 0L; + double HUGE = 3.4028234663852886E+038D; + expon = dis.readUnsignedShort(); + long t1 = dis.readUnsignedShort(); + long t2 = dis.readUnsignedShort(); + hiMant = t1 << 16 | t2; + t1 = dis.readUnsignedShort(); + t2 = dis.readUnsignedShort(); + loMant = t1 << 16 | t2; + if(expon == 0 && hiMant == 0L && loMant == 0L) + { + f = 0.0D; + } + else + { + if(expon == 32767) + { + f = HUGE; + } + else + { + expon -= 16383; + expon -= 31; + f = hiMant * Math.pow(2D, expon); + expon -= 32; + f += loMant * Math.pow(2D, expon); + } + } + return f; + } +} + + + +/*** TAudioFileReader.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/sampled/file/TAudioFileWriter.java b/src/main/java/com/github/trilarion/share/sampled/file/TAudioFileWriter.java new file mode 100644 index 0000000..f98b787 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/TAudioFileWriter.java @@ -0,0 +1,487 @@ +/* + * TAudioFileWriter.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999, 2000 by Matthias Pfisterer + * Copyright (c) 1999, 2000 by Florian Bomers + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Collection; +import java.util.Iterator; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.spi.AudioFileWriter; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.AudioFormats; +import com.github.trilarion.share.sampled.AudioUtils; +import com.github.trilarion.share.sampled.TConversionTool; +import com.github.trilarion.share.ArraySet; + +/** + * Common base class for implementing classes of AudioFileWriter. + *

It provides often-used functionality and the new architecture using + * an AudioOutputStream. + *

There should be only one set of audio formats supported by any given + * class of TAudioFileWriter. This class assumes implicitly that all + * supported file types have a common set of audio formats they can handle. + * + * @author Matthias Pfisterer + * @author Florian Bomers + */ + +public abstract class TAudioFileWriter +extends AudioFileWriter +{ + protected static final int ALL = AudioSystem.NOT_SPECIFIED; + + protected static final AudioFormat.Encoding PCM_SIGNED = AudioFormat.Encoding.PCM_SIGNED; + protected static final AudioFormat.Encoding PCM_UNSIGNED = AudioFormat.Encoding.PCM_UNSIGNED; + + /** Buffer length for the loop in the write() method. + * This is in bytes. Perhaps it should be in frames to give an + * equal amount of latency. + */ + private static final int BUFFER_LENGTH = 16384; + + // only needed for Collection.toArray() + protected static final AudioFileFormat.Type[] NULL_TYPE_ARRAY = new AudioFileFormat.Type[0]; + + + /** The audio file types (AudioFileFormat.Type) that can be + * handled by the AudioFileWriter. + */ + private Collection m_audioFileTypes; + + + + /** The AudioFormats that can be handled by the + * AudioFileWriter. + */ + // IDEA: implement a special collection that uses matches() to test whether an element is already in + private Collection m_audioFormats; + + + /** + * Inheriting classes should call this constructor + * in order to make use of the functionality of TAudioFileWriter. + */ + protected TAudioFileWriter(Collection fileTypes, + Collection audioFormats) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("TAudioFileWriter.(): begin"); } + m_audioFileTypes = fileTypes; + m_audioFormats = audioFormats; + if (TDebug.TraceAudioFileWriter) { TDebug.out("TAudioFileWriter.(): end"); } + } + + // implementing the interface + @Override + public AudioFileFormat.Type[] getAudioFileTypes() + { + return m_audioFileTypes.toArray(NULL_TYPE_ARRAY); + } + + + // implementing the interface + @Override + public boolean isFileTypeSupported(AudioFileFormat.Type fileType) + { + return m_audioFileTypes.contains(fileType); + } + + + + // implementing the interface + @Override + public AudioFileFormat.Type[] getAudioFileTypes( + AudioInputStream audioInputStream) + { + //$$fb 2000-08-16: rewrote this method. We need to check for *each* + // file type, whether the format is supported ! + AudioFormat format = audioInputStream.getFormat(); + ArraySet res=new ArraySet(); + Iterator it=m_audioFileTypes.iterator(); + while (it.hasNext()) { + AudioFileFormat.Type thisType = it.next(); + if (isAudioFormatSupportedImpl(format, thisType)) { + res.add(thisType); + } + } + return res.toArray(NULL_TYPE_ARRAY); + } + + + + // implementing the interface + @Override + public boolean isFileTypeSupported(AudioFileFormat.Type fileType, AudioInputStream audioInputStream) + { + // $$fb 2000-08-16: finally this method works reliably ! + return isFileTypeSupported(fileType) + && (isAudioFormatSupportedImpl(audioInputStream.getFormat(), fileType) + || findConvertableFormat(audioInputStream.getFormat(), fileType)!=null); + // we may soft it up by including the possibility of endian/sign + // changing for PCM formats. + // I prefer to return false if the format is not exactly supported + // but still execute the write, if only sign/endian changing is necessary. + } + + + + // implementing the interface + @Override + public int write(AudioInputStream audioInputStream, + AudioFileFormat.Type fileType, + File file) + throws IOException + { + if (TDebug.TraceAudioFileWriter) + { + TDebug.out(">TAudioFileWriter.write(.., File): called"); + TDebug.out("class: "+getClass().getName()); + } + //$$fb added this check + if (!isFileTypeSupported(fileType)) { + if (TDebug.TraceAudioFileWriter) + { + TDebug.out("< file type is not supported"); + } + throw new IllegalArgumentException("file type is not supported."); + } + + AudioFormat inputFormat = audioInputStream.getFormat(); + if (TDebug.TraceAudioFileWriter) { TDebug.out("input format: " + inputFormat); } + AudioFormat outputFormat = null; + boolean bNeedsConversion = false; + if (isAudioFormatSupportedImpl(inputFormat, fileType)) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("input format is supported directely"); } + outputFormat = inputFormat; + bNeedsConversion = false; + } + else + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("input format is not supported directely; trying to find a convertable format"); } + outputFormat = findConvertableFormat(inputFormat, fileType); + if (outputFormat != null) + { + bNeedsConversion = true; + // $$fb 2000-08-16 made consistent with new conversion trials + // if 8 bit and only endianness changed, don't convert ! + if (outputFormat.getSampleSizeInBits()==8 + && outputFormat.getEncoding().equals(inputFormat.getEncoding())) { + bNeedsConversion = false; + } + } + else + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("< input format is not supported and not convertable."); } + throw new IllegalArgumentException("format not supported and not convertable"); + } + } + long lLengthInBytes = AudioUtils.getLengthInBytes(audioInputStream); + TDataOutputStream dataOutputStream = new TSeekableDataOutputStream(file); + AudioOutputStream audioOutputStream = + getAudioOutputStream( + outputFormat, + lLengthInBytes, + fileType, + dataOutputStream); + int written=writeImpl(audioInputStream, + audioOutputStream, + bNeedsConversion); + if (TDebug.TraceAudioFileWriter) + { + TDebug.out("< wrote "+written+" bytes."); + } + return written; + } + + + + // implementing the interface + @Override + public int write(AudioInputStream audioInputStream, + AudioFileFormat.Type fileType, + OutputStream outputStream) + throws IOException + { + //$$fb added this check + if (!isFileTypeSupported(fileType)) { + throw new IllegalArgumentException("file type is not supported."); + } + if (TDebug.TraceAudioFileWriter) + { + TDebug.out(">TAudioFileWriter.write(.., OutputStream): called"); + TDebug.out("class: "+getClass().getName()); + } + AudioFormat inputFormat = audioInputStream.getFormat(); + if (TDebug.TraceAudioFileWriter) { TDebug.out("input format: " + inputFormat); } + AudioFormat outputFormat = null; + boolean bNeedsConversion = false; + if (isAudioFormatSupportedImpl(inputFormat, fileType)) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("input format is supported directely"); } + outputFormat = inputFormat; + bNeedsConversion = false; + } + else + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("input format is not supported directely; trying to find a convertable format"); } + outputFormat = findConvertableFormat(inputFormat, fileType); + if (outputFormat != null) + { + bNeedsConversion = true; + // $$fb 2000-08-16 made consistent with new conversion trials + // if 8 bit and only endianness changed, don't convert ! + if (outputFormat.getSampleSizeInBits()==8 + && outputFormat.getEncoding().equals(inputFormat.getEncoding())) { + bNeedsConversion = false; + } + } + else + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("< format is not supported"); } + throw new IllegalArgumentException("format not supported and not convertable"); + } + } + long lLengthInBytes = AudioUtils.getLengthInBytes(audioInputStream); + TDataOutputStream dataOutputStream = new TNonSeekableDataOutputStream(outputStream); + AudioOutputStream audioOutputStream = + getAudioOutputStream( + outputFormat, + lLengthInBytes, + fileType, + dataOutputStream); + int written=writeImpl(audioInputStream, + audioOutputStream, + bNeedsConversion); + if (TDebug.TraceAudioFileWriter) { TDebug.out("< wrote "+written+" bytes."); } + return written; + } + + + + protected int writeImpl( + AudioInputStream audioInputStream, + AudioOutputStream audioOutputStream, + boolean bNeedsConversion) + throws IOException + { + if (TDebug.TraceAudioFileWriter) + { + TDebug.out(">TAudioFileWriter.writeImpl(): called"); + TDebug.out("class: "+getClass().getName()); + } + int nTotalWritten = 0; + AudioFormat outputFormat = audioOutputStream.getFormat(); + + // TODO: handle case when frame size is unknown ? + int nBytesPerSample = outputFormat.getFrameSize() / outputFormat.getChannels(); + + //$$fb 2000-07-18: BUFFER_LENGTH must be a multiple of frame size... + int nBufferSize=(BUFFER_LENGTH/outputFormat.getFrameSize())*outputFormat.getFrameSize(); + byte[] abBuffer = new byte[nBufferSize]; + while (true) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("trying to read (bytes): " + abBuffer.length); } + int nBytesRead = audioInputStream.read(abBuffer); + if (TDebug.TraceAudioFileWriter) { TDebug.out("read (bytes): " + nBytesRead); } + if (nBytesRead == -1) + { + break; + } + if (bNeedsConversion) + { + TConversionTool.changeOrderOrSign(abBuffer, 0, + nBytesRead, nBytesPerSample); + } + int nWritten = audioOutputStream.write(abBuffer, 0, nBytesRead); + nTotalWritten += nWritten; + } + if (TDebug.TraceAudioFileWriter) { TDebug.out(" getSupportedAudioFormats(AudioFileFormat.Type fileType) + { + return m_audioFormats.iterator(); + } + + + /** Checks whether the passed AudioFormat can be handled. + * In this simple implementation, it is only checked if the + * passed AudioFormat matches one of the generally handled + * formats (i.e. the fileType argument is ignored). If the + * handled AudioFormats depend on the file type, this method + * or getSupportedAudioFormats() (on which this method relies) + * has to be overwritten by subclasses. + *

+ * This is the central method for checking if a FORMAT is supported. + * Inheriting classes can overwrite this for performance + * or to exclude/include special type/format combinations. + *

+ * This method is only called when the fileType + * is in the list of supported file types ! Overriding + * classes need not check this. + */ + //$$fb 2000-08-16 changed name, changed documentation. Semantics ! + protected boolean isAudioFormatSupportedImpl( + AudioFormat audioFormat, + AudioFileFormat.Type fileType) + { + if (TDebug.TraceAudioFileWriter) + { + TDebug.out("> TAudioFileWriter.isAudioFormatSupportedImpl(): format to test: " + audioFormat); + TDebug.out("class: "+getClass().getName()); + } + Iterator audioFormats = getSupportedAudioFormats(fileType); + while (audioFormats.hasNext()) + { + AudioFormat handledFormat = audioFormats.next(); + if (TDebug.TraceAudioFileWriter) { TDebug.out("matching against format : " + handledFormat); } + if (AudioFormats.matches(handledFormat, audioFormat)) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("<...succeeded."); } + return true; + } + } + if (TDebug.TraceAudioFileWriter) { TDebug.out("< ... failed"); } + return false; + } + + + + protected abstract AudioOutputStream getAudioOutputStream( + AudioFormat audioFormat, + long lLengthInBytes, + AudioFileFormat.Type fileType, + TDataOutputStream dataOutputStream) + throws IOException; + + private AudioFormat findConvertableFormat( + AudioFormat inputFormat, + AudioFileFormat.Type fileType) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("TAudioFileWriter.findConvertableFormat(): input format: " + inputFormat); } + if (!isFileTypeSupported(fileType)) { + if (TDebug.TraceAudioFileWriter) { TDebug.out("< input file type is not supported."); } + return null; + } + AudioFormat.Encoding inputEncoding = inputFormat.getEncoding(); + if ((inputEncoding.equals(PCM_SIGNED) || inputEncoding.equals(PCM_UNSIGNED)) + && inputFormat.getSampleSizeInBits() == 8) + { + AudioFormat outputFormat = convertFormat(inputFormat, true, false); + if (TDebug.TraceAudioFileWriter) { TDebug.out("trying output format: " + outputFormat); } + if (isAudioFormatSupportedImpl(outputFormat, fileType)) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("< ... succeeded"); } + return outputFormat; + } + //$$fb 2000-08-16: added trial of other endianness for 8bit. We try harder ! + outputFormat = convertFormat(inputFormat, false, true); + if (TDebug.TraceAudioFileWriter) { TDebug.out("trying output format: " + outputFormat); } + if (isAudioFormatSupportedImpl(outputFormat, fileType)) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("< ... succeeded"); } + return outputFormat; + } + outputFormat = convertFormat(inputFormat, true, true); + if (TDebug.TraceAudioFileWriter) { TDebug.out("trying output format: " + outputFormat); } + if (isAudioFormatSupportedImpl(outputFormat, fileType)) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("< ... succeeded"); } + return outputFormat; + } + if (TDebug.TraceAudioFileWriter) { TDebug.out("< ... failed"); } + return null; + } + else if (inputEncoding.equals(PCM_SIGNED) && + (inputFormat.getSampleSizeInBits() == 16 || + inputFormat.getSampleSizeInBits() == 24 || + inputFormat.getSampleSizeInBits() == 32) ) + { + // TODO: possible to allow all sample sized > 8 bit? + // $$ fb: don't think that this is necessary. Well, let's talk about that in 5 years :) + AudioFormat outputFormat = convertFormat(inputFormat, false, true); + if (TDebug.TraceAudioFileWriter) { TDebug.out("trying output format: " + outputFormat); } + if (isAudioFormatSupportedImpl(outputFormat, fileType)) + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("< ... succeeded"); } + return outputFormat; + } + else + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("< ... failed"); } + return null; + } + } + else + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("< ... failed"); } + return null; + } + } + + // $$fb 2000-08-16: added convenience method + private AudioFormat convertFormat(AudioFormat format, boolean changeSign, boolean changeEndian) { + AudioFormat.Encoding enc=PCM_SIGNED; + if (format.getEncoding().equals(PCM_UNSIGNED)!=changeSign) { + enc=PCM_UNSIGNED; + } + return new AudioFormat( + enc, + format.getSampleRate(), + format.getSampleSizeInBits(), + format.getChannels(), + format.getFrameSize(), + format.getFrameRate(), + format.isBigEndian() ^ changeEndian); + } + +} + + + +/*** TAudioFileWriter.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/file/TAudioOutputStream.java b/src/main/java/com/github/trilarion/share/sampled/file/TAudioOutputStream.java new file mode 100644 index 0000000..5775876 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/TAudioOutputStream.java @@ -0,0 +1,248 @@ +/* + * TAudioOutputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.io.IOException; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; + +import static com.github.trilarion.share.sampled.AudioUtils.isPCM; +import static com.github.trilarion.share.sampled.TConversionTool.convertSign8; +import static com.github.trilarion.share.sampled.TConversionTool.swapOrder16; +import static com.github.trilarion.share.sampled.TConversionTool.swapOrder24; +import static com.github.trilarion.share.sampled.TConversionTool.swapOrder32; +import com.github.trilarion.share.TDebug; + + +/** + * Base class for classes implementing AudioOutputStream. + * + * @author Matthias Pfisterer + */ + +public abstract class TAudioOutputStream +implements AudioOutputStream +{ + private AudioFormat m_audioFormat; + private long m_lLength; // in bytes + private long m_lCalculatedLength; + private TDataOutputStream m_dataOutputStream; + private boolean m_bDoBackPatching; + private boolean m_bHeaderWritten; + /** if this flag is set, do sign conversion for 8-bit PCM data */ + private boolean m_doSignConversion; + + /** if this flag is set, do endian conversion for 16-bit PCM data */ + private boolean m_doEndianConversion; + + protected TAudioOutputStream(AudioFormat audioFormat, + long lLength, + TDataOutputStream dataOutputStream, + boolean bDoBackPatching) + { + m_audioFormat = audioFormat; + m_lLength = lLength; + m_lCalculatedLength = 0; + m_dataOutputStream = dataOutputStream; + m_bDoBackPatching = bDoBackPatching; + m_bHeaderWritten = false; + } + + /** + * descendants should call this method if implicit sign conversion for 8-bit + * data should be done + */ + protected void requireSign8bit(boolean signed) { + if (m_audioFormat.getSampleSizeInBits() == 8 && isPCM(m_audioFormat)) { + boolean si = m_audioFormat.getEncoding().equals( + AudioFormat.Encoding.PCM_SIGNED); + m_doSignConversion = signed != si; + } + } + + /** + * descendants should call this method if implicit endian conversion should + * be done. Currently supported for 16, 24, and 32 bits per sample. + */ + protected void requireEndianness(boolean bigEndian) { + int ssib = m_audioFormat.getSampleSizeInBits(); + if ((ssib == 16 || ssib == 24 || ssib == 32) && isPCM(m_audioFormat)) { + m_doEndianConversion = bigEndian != m_audioFormat.isBigEndian(); + } + } + + public AudioFormat getFormat() + { + return m_audioFormat; + } + + + + /** Gives length of the stream. + * This value is in bytes. It may be AudioSystem.NOT_SPECIFIED + * to express that the length is unknown. + */ + public long getLength() + { + return m_lLength; + } + + + + /** Gives number of bytes already written. + */ + // IDEA: rename this to BytesWritten or something like that ? + public long getCalculatedLength() + { + return m_lCalculatedLength; + } + + protected TDataOutputStream getDataOutputStream() + { + return m_dataOutputStream; + } + + /** do sign or endianness conversion */ + private void handleImplicitConversions(byte[] abData, int nOffset, int nLength) { + if (m_doSignConversion) { + convertSign8(abData, nOffset, nLength); + } + if (m_doEndianConversion) { + switch (m_audioFormat.getSampleSizeInBits()) { + case 16: swapOrder16(abData, nOffset, nLength / 2); + break; + case 24: swapOrder24(abData, nOffset, nLength / 3); + break; + case 32: + swapOrder32(abData, nOffset, nLength / 4); + break; + } + } + } + + + /** Writes audio data to the destination (file or output stream). + */ + // IDEA: use long? + public int write(byte[] abData, int nOffset, int nLength) + throws IOException + { + if (TDebug.TraceAudioOutputStream) + { + TDebug.out("TAudioOutputStream.write(): wanted length: " + nLength); + } + if (! m_bHeaderWritten) + { + writeHeader(); + m_bHeaderWritten = true; + } + // $$fb added + // check that total writes do not exceed specified length + long lTotalLength=getLength(); + if (lTotalLength!=AudioSystem.NOT_SPECIFIED && (m_lCalculatedLength+nLength)>lTotalLength) { + if (TDebug.TraceAudioOutputStream) { + TDebug.out("TAudioOutputStream.write(): requested more bytes to write than possible."); + } + nLength=(int) (lTotalLength-m_lCalculatedLength); + // sanity + if (nLength<0) { + nLength=0; + } + } + // TODO: throw an exception if nLength==0 ? (to indicate end of file ?) + if (nLength>0) { + handleImplicitConversions(abData, nOffset, nLength); + m_dataOutputStream.write(abData, nOffset, nLength); + m_lCalculatedLength += nLength; + // if we converted something, need to undo the conversion to + // guarantee integrity of data + handleImplicitConversions(abData, nOffset, nLength); + } + if (TDebug.TraceAudioOutputStream) + { + TDebug.out("TAudioOutputStream.write(): calculated (total) length: " + m_lCalculatedLength+" bytes = "+(m_lCalculatedLength/getFormat().getFrameSize())+" frames"); + } + return nLength; + } + + + + /** Writes the header of the audio file. + */ + protected abstract void writeHeader() + throws IOException; + + + + /** Closes the stream. + * This does write remaining buffered data to the destination, + * backpatch the header, if necessary, and closes the destination. + */ + public void close() + throws IOException + { + if (TDebug.TraceAudioOutputStream) + { + TDebug.out("TAudioOutputStream.close(): called"); + } + // flush? + if (m_bDoBackPatching) + { + if (TDebug.TraceAudioOutputStream) + { + TDebug.out("TAudioOutputStream.close(): patching header"); + } + patchHeader(); + } + m_dataOutputStream.close(); + } + + + + protected void patchHeader() + throws IOException + { + TDebug.out("TAudioOutputStream.patchHeader(): called"); + // DO NOTHING + } + + + + protected void setLengthFromCalculatedLength() + { + m_lLength = m_lCalculatedLength; + } +} + + + +/*** TAudioOutputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/file/TDataOutputStream.java b/src/main/java/com/github/trilarion/share/sampled/file/TDataOutputStream.java new file mode 100644 index 0000000..f9bbc1b --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/TDataOutputStream.java @@ -0,0 +1,78 @@ +/* + * TDataOutputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Florian Bomers + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.io.DataOutput; +import java.io.IOException; + + +/** + * Interface for the file writing classes. + *

Like that it is possible to write to a file without knowing + * the length before. + * + * @author Florian Bomers + */ +public interface TDataOutputStream +extends DataOutput +{ + public boolean supportsSeek(); + + + + public void seek(long position) + throws IOException; + + + + public long getFilePointer() + throws IOException; + + + + public long length() + throws IOException; + + + public void writeLittleEndian32(int value) + throws IOException; + + + public void writeLittleEndian16(short value) + throws IOException; + + public void close() + throws IOException; +} + + + +/*** TDataOutputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/file/THeaderlessAudioFileWriter.java b/src/main/java/com/github/trilarion/share/sampled/file/THeaderlessAudioFileWriter.java new file mode 100644 index 0000000..ca52c94 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/THeaderlessAudioFileWriter.java @@ -0,0 +1,85 @@ +/* + * THeaderlessAudioFileWriter.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 by Florian Bomers + * Copyright (c) 2000 - 2002 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.io.IOException; +import java.util.Collection; + +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioFormat; + +import com.github.trilarion.share.TDebug; + + + +/** Base class for formats without extra header. + This AudioFileWriter is typically used for compressed formats + where the encoder puts a header into the encoded stream. In this + case, the AudioFileWriter needs not to add a header. This is why + THeaderlessAudioOutputStream is used here. + + @author Florian Bomers + @author Matthias Pfisterer +*/ +public class THeaderlessAudioFileWriter +extends TAudioFileWriter +{ + protected THeaderlessAudioFileWriter(Collection fileTypes, + Collection audioFormats) + { + super(fileTypes, audioFormats); + if (TDebug.TraceAudioFileWriter) { TDebug.out("THeaderlessAudioFileWriter.(): begin"); } + if (TDebug.TraceAudioFileWriter) { TDebug.out("THeaderlessAudioFileWriter.(): end"); } + } + + + + @Override + protected AudioOutputStream getAudioOutputStream( + AudioFormat audioFormat, + long lLengthInBytes, + AudioFileFormat.Type fileType, + TDataOutputStream dataOutputStream) + throws IOException + { + if (TDebug.TraceAudioFileWriter) { TDebug.out("THeaderlessAudioFileWriter.getAudioOutputStream(): begin"); } + AudioOutputStream aos = new HeaderlessAudioOutputStream( + audioFormat, + lLengthInBytes, + dataOutputStream); + if (TDebug.TraceAudioFileWriter) { TDebug.out("THeaderlessAudioFileWriter.getAudioOutputStream(): end"); } + return aos; + } + +} + + + +/*** THeaderlessAudioFileWriter.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/file/TNonSeekableDataOutputStream.java b/src/main/java/com/github/trilarion/share/sampled/file/TNonSeekableDataOutputStream.java new file mode 100644 index 0000000..f6ab1c8 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/TNonSeekableDataOutputStream.java @@ -0,0 +1,109 @@ +/* + * TNonSeekableDataOutputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Florian Bomers + * Copyright (c) 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.io.IOException; +import java.io.OutputStream; +import java.io.DataOutputStream; + + + +/** + * A TDataOutputStream that does not allow seeking. + * + * @author Florian Bomers + * @author Matthias Pfisterer + */ +public class TNonSeekableDataOutputStream +extends DataOutputStream +implements TDataOutputStream +{ + public TNonSeekableDataOutputStream(OutputStream outputStream) + { + super(outputStream); + } + + + + public boolean supportsSeek() + { + return false; + } + + + + public void seek(long position) + throws IOException + { + throw new IllegalArgumentException("TNonSeekableDataOutputStream: Call to seek not allowed."); + } + + + + public long getFilePointer() + throws IOException + { + throw new IllegalArgumentException("TNonSeekableDataOutputStream: Call to getFilePointer not allowed."); + } + + + + public long length() + throws IOException + { + throw new IllegalArgumentException("TNonSeekableDataOutputStream: Call to length not allowed."); + } + + + + public void writeLittleEndian32(int value) + throws IOException + { + writeByte(value & 0xFF); + writeByte((value >> 8) & 0xFF); + writeByte((value >> 16) & 0xFF); + writeByte((value >> 24) & 0xFF); + } + + + + public void writeLittleEndian16(short value) + throws IOException + { + writeByte(value & 0xFF); + writeByte((value >> 8) & 0xFF); + } +} + + + +/*** TNonSeekableDataOutputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/file/TSeekableDataOutputStream.java b/src/main/java/com/github/trilarion/share/sampled/file/TSeekableDataOutputStream.java new file mode 100644 index 0000000..a90cae7 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/TSeekableDataOutputStream.java @@ -0,0 +1,86 @@ +/* + * TSeekableDataOutputStream.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Florian Bomers + * Copyright (c) 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.file; + +import java.io.File; +import java.io.RandomAccessFile; +import java.io.IOException; + + + +/** + * A TDataOutputStream that allows seeking. + * + * @author Florian Bomers + * @author Matthias Pfisterer + */ +public class TSeekableDataOutputStream +extends RandomAccessFile +implements TDataOutputStream +{ + public TSeekableDataOutputStream(File file) + throws IOException + { + super(file, "rw"); + } + + + + public boolean supportsSeek() + { + return true; + } + + + + public void writeLittleEndian32(int value) + throws IOException + { + writeByte(value & 0xFF); + writeByte((value >> 8) & 0xFF); + writeByte((value >> 16) & 0xFF); + writeByte((value >> 24) & 0xFF); + } + + + + public void writeLittleEndian16(short value) + throws IOException + { + writeByte(value & 0xFF); + writeByte((value >> 8) & 0xFF); + } +} + + + +/*** TSeekableDataOutputStream.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/file/package.html b/src/main/java/com/github/trilarion/share/sampled/file/package.html new file mode 100644 index 0000000..a792740 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/file/package.html @@ -0,0 +1,18 @@ + + + + + + +

Base classes for the implementation of AudioFileReaders and AudioFileWriters. + The classes provided here .

+ + @see javax.sound.sampled.spi.AudioFileReader + @see javax.sound.sampled.spi.AudioFileWriter + @see org.tritonus.sampled.file + @see org.tritonus.sampled.file.gsm + @see org.tritonus.sampled.file.jorbis + @see org.tritonus.sampled.file.mpeg + @see org.tritonus.sampled.file.vorbis + + diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TBaseDataLine.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TBaseDataLine.java new file mode 100644 index 0000000..75b36ea --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TBaseDataLine.java @@ -0,0 +1,100 @@ +/* + * TBaseDataLine.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2004 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import java.util.Collection; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.Control; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.LineUnavailableException; + +import com.github.trilarion.share.TDebug; + + + +/** Base class for implementing SourceDataLine or TargetDataLine. + */ +public abstract class TBaseDataLine +extends TDataLine +{ + public TBaseDataLine(TMixer mixer, + DataLine.Info info) + { + super(mixer, + info); + } + + + + public TBaseDataLine(TMixer mixer, + DataLine.Info info, + Collection controls) + { + super(mixer, + info, + controls); + } + + + + public void open(AudioFormat format, int nBufferSize) + throws LineUnavailableException + { + if (TDebug.TraceDataLine) { TDebug.out("TBaseDataLine.open(AudioFormat, int): called with buffer size: " + nBufferSize); } + setBufferSize(nBufferSize); + open(format); + } + + + + public void open(AudioFormat format) + throws LineUnavailableException + { + if (TDebug.TraceDataLine) { TDebug.out("TBaseDataLine.open(AudioFormat): called"); } + setFormat(format); + open(); + } + + + // IDEA: move to TDataLine or TLine? + // necessary and wise at all? + protected void finalize() + { + if (isOpen()) + { + close(); + } + } +} + + + +/*** TBaseDataLine.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TBooleanControl.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TBooleanControl.java new file mode 100644 index 0000000..f99fdf7 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TBooleanControl.java @@ -0,0 +1,128 @@ +/* + * TBooleanControl.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2001 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import javax.sound.sampled.BooleanControl; + +import com.github.trilarion.share.TDebug; + + + + +/** Base class for classes implementing BooleanControl. + */ +public class TBooleanControl +extends BooleanControl +implements TControllable +{ + private TControlController m_controller; + + + + public TBooleanControl(BooleanControl.Type type, + boolean bInitialValue) + { + this(type, bInitialValue, null); + } + + + + public TBooleanControl(BooleanControl.Type type, + boolean bInitialValue, + TCompoundControl parentControl) + { + super(type, bInitialValue); + if (TDebug.TraceControl) + { + TDebug.out("TBooleanControl.: begin"); + } + m_controller = new TControlController(); + if (TDebug.TraceControl) + { + TDebug.out("TBooleanControl.: end"); + } + } + + + + public TBooleanControl(BooleanControl.Type type, + boolean bInitialValue, + String strTrueStateLabel, + String strFalseStateLabel) + { + this(type, bInitialValue, strTrueStateLabel, strFalseStateLabel, null); + } + + + + public TBooleanControl(BooleanControl.Type type, + boolean bInitialValue, + String strTrueStateLabel, + String strFalseStateLabel, + TCompoundControl parentControl) + { + super(type, bInitialValue, strTrueStateLabel, strFalseStateLabel); + if (TDebug.TraceControl) + { + TDebug.out("TBooleanControl.: begin"); + } + m_controller = new TControlController(); + if (TDebug.TraceControl) + { + TDebug.out("TBooleanControl.: end"); + } + } + + + + public void setParentControl(TCompoundControl compoundControl) + { + m_controller.setParentControl(compoundControl); + } + + + + public TCompoundControl getParentControl() + { + return m_controller.getParentControl(); + } + + + + public void commit() + { + m_controller.commit(); + } +} + + + +/*** TBooleanControl.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TClip.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TClip.java new file mode 100644 index 0000000..7c34926 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TClip.java @@ -0,0 +1,339 @@ +/* + * TClip.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2004 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import java.io.IOException; +import java.io.ByteArrayInputStream; +import java.util.Collection; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.Clip; +import javax.sound.sampled.Control; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.LineUnavailableException; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.mixer.TDataLine; + + + +public class TClip +extends TDataLine +implements Clip +{ + //$$fb the following fields are never used + //private static final Class[] CONTROL_CLASSES = {/*GainControl.class*/}; + //private static final int BUFFER_FRAMES = 16384; + + + public TClip(DataLine.Info info) + { + super(null, // TMixer + info); + } + + + + public TClip(DataLine.Info info, + Collection controls) + { + super(null, // TMixer + info, + controls); + } + + + + public void open(AudioFormat audioFormat, + byte[] abData, + int nOffset, + int nLength) + throws LineUnavailableException + { + // int nBufferLength = nNumFrames * audioFormat.getFrameSize(); + // TODO: check if nOffset + nBufferLength <= abData.length + // perhaps truncate automatically + ByteArrayInputStream bais = new ByteArrayInputStream(abData, nOffset, nLength); + AudioInputStream audioInputStream = new AudioInputStream(bais, audioFormat, AudioSystem.NOT_SPECIFIED); + try + { + open(audioInputStream); + } + catch (IOException e) + { + if (TDebug.TraceAllExceptions) + { + TDebug.out(e); + } + throw new LineUnavailableException("IOException occured"); + } + } + + + + public void open(AudioInputStream audioInputStream) + throws LineUnavailableException, IOException + { + AudioFormat audioFormat = audioInputStream.getFormat(); + // TOOD: + DataLine.Info info = new DataLine.Info(Clip.class, + audioFormat, -1/*nBufferSize*/); + setLineInfo(info); + /* + int nFrameSize = audioFormat.getFrameSize(); + long lTotalLength = audioInputStream.getFrameLength() * nFrameSize; + int nFormat = Esd.ESD_STREAM | Esd.ESD_PLAY | EsdUtils.getEsdFormat(audioFormat); + if (TDebug.TraceClip) + { + TDebug.out("format: " + nFormat); + TDebug.out("sample rate: " + audioFormat.getSampleRate()); + } + // m_esdSample.open(nFormat, (int) audioFormat.getSampleRate(), (int) lTotalLength); + if (TDebug.TraceClip) + { + TDebug.out("size in esd: " + audioInputStream.getFrameLength() * nFrameSize); + } + int nBufferLength = BUFFER_FRAMES * nFrameSize; + byte[] abData = new byte[nBufferLength]; + int nBytesRead = 0; + int nTotalBytes = 0; + while (nBytesRead != -1) + { + try + { + nBytesRead = audioInputStream.read(abData, 0, abData.length); + } + catch (IOException e) + { + if (TDebug.TraceClip || TDebug.TraceAllExceptions) + { + TDebug.out(e); + } + } + if (nBytesRead >= 0) + { + nTotalBytes += nBytesRead; + if (TDebug.TraceClip) + { + TDebug.out("TClip.open(): total bytes: " + nTotalBytes); + TDebug.out("TClip.open(): Trying to write: " + nBytesRead); + } + int nBytesWritten = 0; //m_esdSample.write(abData, 0, nBytesRead); + if (TDebug.TraceClip) + { + TDebug.out("TClip.open(): Written: " + nBytesWritten); + } + } + } + // to trigger the events + // open(); + */ + } + + + + public int getFrameLength() + { + // TODO: + return -1; + } + + + + public long getMicrosecondLength() + { + // TODO: + return -1; + } + + + + public void setFramePosition(int nPosition) + { + // TOOD: + } + + + + public void setMicrosecondPosition(long lPosition) + { + // TOOD: + } + + + + public int getFramePosition() + { + // TOOD: + return -1; + } + + + + public long getMicrosecondPosition() + { + // TOOD: + return -1; + } + + + + public void setLoopPoints(int nStart, int nEnd) + { + // TOOD: + } + + + + public void loop(int nCount) + { + if (TDebug.TraceClip) + { + TDebug.out("TClip.loop(int): called; count = " + nCount); + } + if (false/*isStarted()*/) + { + /* + * only allow zero count to stop the looping + * at the end of an iteration. + */ + if (nCount == 0) + { + if (TDebug.TraceClip) + { + TDebug.out("TClip.loop(int): stopping sample"); + } + // m_esdSample.stop(); + } + } + else + { + if (nCount == 0) + { + if (TDebug.TraceClip) + { + TDebug.out("TClip.loop(int): starting sample (once)"); + } + // m_esdSample.play(); + } + else + { + /* + * we're ignoring the count, because esd + * cannot loop for a fixed number of + * times. + */ + // TDebug.out("hallo"); + if (TDebug.TraceClip) + { + TDebug.out("TClip.loop(int): starting sample (forever)"); + } + // m_esdSample.loop(); + } + } + // TOOD: + } + + + + public void flush() + { + // TOOD: + } + + + + public void drain() + { + // TOOD: + } + + + + public void close() + { + // m_esdSample.free(); + // m_esdSample.close(); + // TOOD: + } + + + + + public void open() + { + // TODO: + } + + + + public void start() + { + if (TDebug.TraceClip) + { + TDebug.out("TClip.start(): called"); + } + /* + * This is a hack. What start() really should do is + * start playing at the position playback was stopped. + */ + if (TDebug.TraceClip) + { + TDebug.out("TClip.start(): calling 'loop(0)' [hack]"); + } + loop(0); + } + + + + public void stop() + { + // TODO: + // m_esdSample.kill(); + } + + + + /* + * This method is enforced by DataLine, but doesn't make any + * sense for Clips. + */ + public int available() + { + return -1; + } +} + + + +/*** TClip.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TCompoundControl.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TCompoundControl.java new file mode 100644 index 0000000..6648a12 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TCompoundControl.java @@ -0,0 +1,90 @@ +/* + * TCompoundControl.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2001 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import javax.sound.sampled.CompoundControl; +import javax.sound.sampled.Control; + +import com.github.trilarion.share.TDebug; + + + + +/** Base class for classes implementing Line. + */ +public class TCompoundControl +extends CompoundControl +implements TControllable +{ + private TControlController m_controller; + + + + public TCompoundControl(CompoundControl.Type type, + Control[] aMemberControls) + { + super(type, aMemberControls); + if (TDebug.TraceControl) + { + TDebug.out("TCompoundControl.: begin"); + } + m_controller = new TControlController(); + if (TDebug.TraceControl) + { + TDebug.out("TCompoundControl.: end"); + } + } + + + + public void setParentControl(TCompoundControl compoundControl) + { + m_controller.setParentControl(compoundControl); + } + + + + public TCompoundControl getParentControl() + { + return m_controller.getParentControl(); + } + + + + public void commit() + { + m_controller.commit(); + } +} + + + +/*** TCompoundControl.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TCompoundControlType.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TCompoundControlType.java new file mode 100644 index 0000000..20d3b29 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TCompoundControlType.java @@ -0,0 +1,55 @@ +/* + * TCompoundControlType.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2001 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import javax.sound.sampled.CompoundControl; + + + +/** CompoundControl.Type class. + This class is only needed to provide a public constructor. + */ +public class TCompoundControlType +extends CompoundControl.Type +{ + /** Constructor. + Constructs a CompoundControl.Type with the + name given. + + @param strName The name of the control. + */ + public TCompoundControlType(String strName) + { + super(strName); + } +} + + + +/*** TCompoundControlType.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TControlController.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TControlController.java new file mode 100644 index 0000000..940dae8 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TControlController.java @@ -0,0 +1,83 @@ +/* + * TControlController.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2001 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import com.github.trilarion.share.TDebug; + + + + +/** Base class for classes implementing Line. + */ +public class TControlController +implements TControllable +{ + /** The parent (compound) control. + In case this control is part of a compound control, the parentControl + property is set to a value other than null. + */ + private TCompoundControl m_parentControl; + + + public TControlController() + { + } + + + + public void setParentControl(TCompoundControl compoundControl) + { + m_parentControl = compoundControl; + } + + + public TCompoundControl getParentControl() + { + return m_parentControl; + } + + + public void commit() + { + if (TDebug.TraceControl) + { + TDebug.out("TControlController.commit(): called [" + this.getClass().getName() + "]"); + } + if (getParentControl() != null) + { + getParentControl().commit(); + } + } +} + + + +/*** TControlController.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TControllable.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TControllable.java new file mode 100644 index 0000000..064dc4f --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TControllable.java @@ -0,0 +1,44 @@ +/* + * TControllable.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2001 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + + + +public interface TControllable +{ + public void setParentControl(TCompoundControl compoundControl); + public TCompoundControl getParentControl(); + public void commit(); +} + + + +/*** TControllable.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TDataLine.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TDataLine.java new file mode 100644 index 0000000..b335c71 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TDataLine.java @@ -0,0 +1,299 @@ +/* + * TDataLine.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2004 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import java.util.Collection; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.Control; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.LineEvent; + +import com.github.trilarion.share.TDebug; + + + +/** Base class for classes implementing DataLine. + */ +public abstract class TDataLine +extends TLine +implements DataLine +{ + private static final int DEFAULT_BUFFER_SIZE = 128000; + + private AudioFormat m_format; + private int m_nBufferSize; + private boolean m_bRunning; + // private boolean m_bActive; + + + + + public TDataLine(TMixer mixer, + DataLine.Info info) + { + super(mixer, + info); + init(info); + } + + + + public TDataLine(TMixer mixer, + DataLine.Info info, + Collection controls) + { + super(mixer, + info, + controls); + init(info); + } + + + + // IDEA: extract format and bufsize from info? + private void init(DataLine.Info info) + { + m_format = null; + m_nBufferSize = AudioSystem.NOT_SPECIFIED; + setRunning(false); + // setActive(false); + } + + + + // not defined here: + // public void drain() + // public void flush() + + + + public void start() + { + if (TDebug.TraceSourceDataLine) + { + TDebug.out("TDataLine.start(): called"); + } + setRunning(true); + } + + + + public void stop() + { + if (TDebug.TraceSourceDataLine) + { + TDebug.out("TDataLine.stop(): called"); + } + setRunning(false); + } + + + + public boolean isRunning() + { + return m_bRunning; + } + + + + // TODO: recheck + protected void setRunning(boolean bRunning) + { + boolean bOldValue = isRunning(); + m_bRunning = bRunning; + if (bOldValue != isRunning()) + { + if (isRunning()) + { + startImpl(); + notifyLineEvent(LineEvent.Type.START); + } + else + { + stopImpl(); + notifyLineEvent(LineEvent.Type.STOP); + } + } + } + + + + protected void startImpl() + { + } + + + + protected void stopImpl() + { + } + + + + /** + * This implementation returns the status of isRunning(). + * Subclasses should overwrite this method if there is more + * precise information about the status of the line available. + */ + public boolean isActive() + { + return isRunning(); + } + + +/* + public boolean isStarted() + { + return m_bStarted; + } +*/ + + // TODO: should only ALLOW engaging in data I/O. + // actual START event should only be sent when line really becomes active +/* + protected void setStarted(boolean bStarted) + { + m_bStarted = bStarted; + if (!isRunning()) + { + setActive(false); + } + } +*/ + + + public AudioFormat getFormat() + { + return m_format; + } + + + + protected void setFormat(AudioFormat format) + { + if (TDebug.TraceDataLine) + { + TDebug.out("TDataLine.setFormat(): setting: " + format); + } + m_format = format; + } + + + + public int getBufferSize() + { + return m_nBufferSize; + } + + + + protected void setBufferSize(int nBufferSize) + { + if (TDebug.TraceDataLine) + { + TDebug.out("TDataLine.setBufferSize(): setting: " + nBufferSize); + } + m_nBufferSize = nBufferSize; + } + + + + // not defined here: + // public int available() + + + + public int getFramePosition() + { + // TODO: + return -1; + } + + + + public long getLongFramePosition() + { + // TODO: + return -1; + } + + + + public long getMicrosecondPosition() + { + return (long) (getFramePosition() * getFormat().getFrameRate() * 1000000); + } + + + + /* + * Has to be overridden to be useful. + */ + public float getLevel() + { + return AudioSystem.NOT_SPECIFIED; + } + + + + protected void checkOpen() + { + if (getFormat() == null) + { + throw new IllegalStateException("format must be specified"); + } + if (getBufferSize() == AudioSystem.NOT_SPECIFIED) + { + setBufferSize(getDefaultBufferSize()); + } + } + + + + protected int getDefaultBufferSize() + { + return DEFAULT_BUFFER_SIZE; + } + + + + protected void notifyLineEvent(LineEvent.Type type) + { + notifyLineEvent(new LineEvent(this, type, getFramePosition())); + } +} + + + +/*** TDataLine.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TEnumControl.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TEnumControl.java new file mode 100644 index 0000000..53f5213 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TEnumControl.java @@ -0,0 +1,92 @@ +/* + * TEnumControl.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2001 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import javax.sound.sampled.EnumControl; + +import com.github.trilarion.share.TDebug; + + + + +/** Base class for classes implementing Line. + */ +public class TEnumControl +extends EnumControl +implements TControllable +{ + private TControlController m_controller; + + + + public TEnumControl(EnumControl.Type type, + Object[] aValues, + Object value) + { + super(type, + aValues, + value); + if (TDebug.TraceControl) + { + TDebug.out("TEnumControl.: begin"); + } + m_controller = new TControlController(); + if (TDebug.TraceControl) + { + TDebug.out("TEnumControl.: end"); + } + } + + + + public void setParentControl(TCompoundControl compoundControl) + { + m_controller.setParentControl(compoundControl); + } + + + + public TCompoundControl getParentControl() + { + return m_controller.getParentControl(); + } + + + + public void commit() + { + m_controller.commit(); + } +} + + + +/*** TEnumControl.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TFloatControl.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TFloatControl.java new file mode 100644 index 0000000..fc67868 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TFloatControl.java @@ -0,0 +1,134 @@ +/* + * TFloatControl.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2001 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import javax.sound.sampled.FloatControl; + +import com.github.trilarion.share.TDebug; + + + + +/** Base class for classes implementing Line. + */ +public class TFloatControl +extends FloatControl +implements TControllable +{ + private TControlController m_controller; + + + + public TFloatControl(FloatControl.Type type, + float fMinimum, + float fMaximum, + float fPrecision, + int nUpdatePeriod, + float fInitialValue, + String strUnits) + { + super(type, + fMinimum, + fMaximum, + fPrecision, + nUpdatePeriod, + fInitialValue, + strUnits); + if (TDebug.TraceControl) + { + TDebug.out("TFloatControl.: begin"); + } + m_controller = new TControlController(); + if (TDebug.TraceControl) + { + TDebug.out("TFloatControl.: end"); + } + } + + + + public TFloatControl(FloatControl.Type type, + float fMinimum, + float fMaximum, + float fPrecision, + int nUpdatePeriod, + float fInitialValue, + String strUnits, + String strMinLabel, + String strMidLabel, + String strMaxLabel) + { + super(type, + fMinimum, + fMaximum, + fPrecision, + nUpdatePeriod, + fInitialValue, + strUnits, + strMinLabel, + strMidLabel, + strMaxLabel); + if (TDebug.TraceControl) + { + TDebug.out("TFloatControl.: begin"); + } + m_controller = new TControlController(); + if (TDebug.TraceControl) + { + TDebug.out("TFloatControl.: end"); + } + } + + + + public void setParentControl(TCompoundControl compoundControl) + { + m_controller.setParentControl(compoundControl); + } + + + + public TCompoundControl getParentControl() + { + return m_controller.getParentControl(); + } + + + + public void commit() + { + m_controller.commit(); + } +} + + + +/*** TFloatControl.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TLine.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TLine.java new file mode 100644 index 0000000..17c99f5 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TLine.java @@ -0,0 +1,362 @@ +/* + * TLine.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2004 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import java.util.Collection; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.Control; +import javax.sound.sampled.Line; +import javax.sound.sampled.LineEvent; +import javax.sound.sampled.LineListener; +import javax.sound.sampled.LineUnavailableException; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.TNotifier; + + + + +/** Base class for classes implementing Line. + */ +public abstract class TLine +implements Line +{ + private static final Control[] EMPTY_CONTROL_ARRAY = new Control[0]; + + private Line.Info m_info; + private boolean m_bOpen; + private List m_controls; + private Set m_lineListeners; + private TMixer m_mixer; + + + + protected TLine(TMixer mixer, + Line.Info info) + { + setLineInfo(info); + setOpen(false); + m_controls = new ArrayList(); + m_lineListeners = new HashSet(); + m_mixer = mixer; + } + + + + protected TLine(TMixer mixer, + Line.Info info, + Collection controls) + { + this (mixer, info); + m_controls.addAll(controls); + } + + + protected TMixer getMixer() + { + return m_mixer; + } + + + public Line.Info getLineInfo() + { + return m_info; + } + + + + protected void setLineInfo(Line.Info info) + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.setLineInfo(): setting: " + info); + } + synchronized (this) + { + m_info = info; + } + } + + + + public void open() + throws LineUnavailableException + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.open(): called"); + } + if (! isOpen()) + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.open(): opening"); + } + openImpl(); + if (getMixer() != null) + { + getMixer().registerOpenLine(this); + } + setOpen(true); + } + else + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.open(): already open"); + } + } + } + + + + /** + * Subclasses should override this method. + */ + protected void openImpl() + throws LineUnavailableException + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.openImpl(): called"); + } + } + + + + public void close() + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.close(): called"); + } + if (isOpen()) + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.close(): closing"); + } + if (getMixer() != null) + { + getMixer().unregisterOpenLine(this); + } + closeImpl(); + setOpen(false); + } + else + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.close(): not open"); + } + } + } + + + + /** + * Subclasses should override this method. + */ + protected void closeImpl() + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.closeImpl(): called"); + } + } + + + + + + public boolean isOpen() + { + return m_bOpen; + } + + + + + protected void setOpen(boolean bOpen) + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.setOpen(): called, value: " + bOpen); + } + boolean bOldValue = isOpen(); + m_bOpen = bOpen; + if (bOldValue != isOpen()) + { + if (isOpen()) + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.setOpen(): opened"); + } + notifyLineEvent(LineEvent.Type.OPEN); + } + else + { + if (TDebug.TraceLine) + { + TDebug.out("TLine.setOpen(): closed"); + } + notifyLineEvent(LineEvent.Type.CLOSE); + } + } + } + + + + protected void addControl(Control control) + { + synchronized (m_controls) + { + m_controls.add(control); + } + } + + + + protected void removeControl(Control control) + { + synchronized (m_controls) + { + m_controls.remove(control); + } + } + + + + public Control[] getControls() + { + synchronized (m_controls) + { + return m_controls.toArray(EMPTY_CONTROL_ARRAY); + } + } + + + + public Control getControl(Control.Type controlType) + { + synchronized (m_controls) + { + Iterator it = m_controls.iterator(); + while (it.hasNext()) + { + Control control = it.next(); + if (control.getType().equals(controlType)) + { + return control; + } + } + throw new IllegalArgumentException("no control of type " + controlType); + } + } + + + + public boolean isControlSupported(Control.Type controlType) + { + // TDebug.out("TLine.isSupportedControl(): called"); + try + { + return getControl(controlType) != null; + } + catch (IllegalArgumentException e) + { + if (TDebug.TraceAllExceptions) + { + TDebug.out(e); + } + // TDebug.out("TLine.isSupportedControl(): returning false"); + return false; + } + } + + + + public void addLineListener(LineListener listener) + { + // TDebug.out("%% TChannel.addListener(): called"); + synchronized (m_lineListeners) + { + m_lineListeners.add(listener); + } + } + + + + public void removeLineListener(LineListener listener) + { + synchronized (m_lineListeners) + { + m_lineListeners.remove(listener); + } + } + + + + private Set getLineListeners() + { + synchronized (m_lineListeners) + { + return new HashSet(m_lineListeners); + } + } + + + // is overridden in TDataLine to provide a position + protected void notifyLineEvent(LineEvent.Type type) + { + notifyLineEvent(new LineEvent(this, type, AudioSystem.NOT_SPECIFIED)); + } + + + + protected void notifyLineEvent(LineEvent event) + { + // TDebug.out("%% TChannel.notifyChannelEvent(): called"); + // Channel.Event event = new Channel.Event(this, type, getPosition()); + TNotifier.notifier.addEntry(event, getLineListeners()); + } +} + + + +/*** TLine.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TMixer.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TMixer.java new file mode 100644 index 0000000..ce0bc8f --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TMixer.java @@ -0,0 +1,506 @@ +/* + * TMixer.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2004 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.Set; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.Clip; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.Line; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.Mixer; +import javax.sound.sampled.Port; +import javax.sound.sampled.SourceDataLine; +import javax.sound.sampled.TargetDataLine; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.AudioFormats; +import com.github.trilarion.share.ArraySet; + + + +// TODO: global controls (that use the system mixer) +public abstract class TMixer +extends TLine +implements Mixer +{ + private static Line.Info[] EMPTY_LINE_INFO_ARRAY = new Line.Info[0]; + private static Line[] EMPTY_LINE_ARRAY = new Line[0]; + + private Mixer.Info m_mixerInfo; + private Collection m_supportedSourceFormats; + private Collection m_supportedTargetFormats; + private Collection m_supportedSourceLineInfos; + private Collection m_supportedTargetLineInfos; + private Set m_openSourceDataLines; + private Set m_openTargetDataLines; + + + /** Constructor for mixers that use setSupportInformation(). + */ + protected TMixer(Mixer.Info mixerInfo, + Line.Info lineInfo) + { + this(mixerInfo, + lineInfo, + new ArrayList(), + new ArrayList(), + new ArrayList(), + new ArrayList()); + } + + + + /** Constructor for mixers. + */ + protected TMixer(Mixer.Info mixerInfo, + Line.Info lineInfo, + Collection supportedSourceFormats, + Collection supportedTargetFormats, + Collection supportedSourceLineInfos, + Collection supportedTargetLineInfos) + { + super(null, // TMixer + lineInfo); + if (TDebug.TraceMixer) { TDebug.out("TMixer.(): begin"); } + m_mixerInfo = mixerInfo; + setSupportInformation( + supportedSourceFormats, + supportedTargetFormats, + supportedSourceLineInfos, + supportedTargetLineInfos); + m_openSourceDataLines = new ArraySet(); + m_openTargetDataLines = new ArraySet(); + if (TDebug.TraceMixer) { TDebug.out("TMixer.(): end"); } + } + + + + protected void setSupportInformation( + Collection supportedSourceFormats, + Collection supportedTargetFormats, + Collection supportedSourceLineInfos, + Collection supportedTargetLineInfos) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.setSupportInformation(): begin"); } + m_supportedSourceFormats = supportedSourceFormats; + m_supportedTargetFormats = supportedTargetFormats; + m_supportedSourceLineInfos = supportedSourceLineInfos; + m_supportedTargetLineInfos = supportedTargetLineInfos; + if (TDebug.TraceMixer) { TDebug.out("TMixer.setSupportInformation(): end"); } + } + + + + public Mixer.Info getMixerInfo() + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getMixerInfo(): begin"); } + if (TDebug.TraceMixer) { TDebug.out("TMixer.getMixerInfo(): end"); } + return m_mixerInfo; + } + + + + public Line.Info[] getSourceLineInfo() + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSourceLineInfo(): begin"); } + Line.Info[] infos = (Line.Info[]) m_supportedSourceLineInfos.toArray(EMPTY_LINE_INFO_ARRAY); + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSourceLineInfo(): end"); } + return infos; + } + + + + public Line.Info[] getTargetLineInfo() + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getTargetLineInfo(): begin"); } + Line.Info[] infos = (Line.Info[]) m_supportedTargetLineInfos.toArray(EMPTY_LINE_INFO_ARRAY); + if (TDebug.TraceMixer) { TDebug.out("TMixer.getTargetLineInfo(): end"); } + return infos; + } + + + + public Line.Info[] getSourceLineInfo(Line.Info info) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSourceLineInfo(Line.Info): info to test: " + info); } + // TODO: + return EMPTY_LINE_INFO_ARRAY; + } + + + + public Line.Info[] getTargetLineInfo(Line.Info info) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getTargetLineInfo(Line.Info): info to test: " + info); } + // TODO: + return EMPTY_LINE_INFO_ARRAY; + } + + + + public boolean isLineSupported(Line.Info info) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.isLineSupported(): info to test: " + info); } + Class lineClass = info.getLineClass(); + if (lineClass.equals(SourceDataLine.class)) + { + return isLineSupportedImpl(info, m_supportedSourceLineInfos); + } + else if (lineClass.equals(TargetDataLine.class)) + { + return isLineSupportedImpl(info, m_supportedTargetLineInfos); + } + else if (lineClass.equals(Port.class)) + { + return isLineSupportedImpl(info, m_supportedSourceLineInfos) || isLineSupportedImpl(info, m_supportedTargetLineInfos); + } + else + { + return false; + } + } + + + + private static boolean isLineSupportedImpl(Line.Info info, Collection supportedLineInfos) + { + Iterator iterator = supportedLineInfos.iterator(); + while (iterator.hasNext()) + { + Line.Info info2 = (Line.Info) iterator.next(); + if (info2.matches(info)) + { + return true; + } + } + return false; + } + + + + public Line getLine(Line.Info info) + throws LineUnavailableException + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getLine(): begin"); } + Class lineClass = info.getLineClass(); + DataLine.Info dataLineInfo = null; + Port.Info portInfo = null; + AudioFormat[] aFormats = null; + if (info instanceof DataLine.Info) + { + dataLineInfo = (DataLine.Info) info; + aFormats = dataLineInfo.getFormats(); + } + else if (info instanceof Port.Info) + { + portInfo = (Port.Info) info; + } + AudioFormat format = null; + Line line = null; + if (lineClass == SourceDataLine.class) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getLine(): type: SourceDataLine"); } + if (dataLineInfo == null) + { + throw new IllegalArgumentException("need DataLine.Info for SourceDataLine"); + } + format = getSupportedSourceFormat(aFormats); + line = getSourceDataLine(format, dataLineInfo.getMaxBufferSize()); + } + else if (lineClass == Clip.class) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getLine(): type: Clip"); } + if (dataLineInfo == null) + { + throw new IllegalArgumentException("need DataLine.Info for Clip"); + } + format = getSupportedSourceFormat(aFormats); + line = getClip(format); + } + else if (lineClass == TargetDataLine.class) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getLine(): type: TargetDataLine"); } + if (dataLineInfo == null) + { + throw new IllegalArgumentException("need DataLine.Info for TargetDataLine"); + } + format = getSupportedTargetFormat(aFormats); + line = getTargetDataLine(format, dataLineInfo.getMaxBufferSize()); + } + else if (lineClass == Port.class) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getLine(): type: TargetDataLine"); } + if (portInfo == null) + { + throw new IllegalArgumentException("need Port.Info for Port"); + } + line = getPort(portInfo); + } + else + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getLine(): unknown line type, will throw exception"); } + throw new LineUnavailableException("unknown line class: " + lineClass); + } + if (TDebug.TraceMixer) { TDebug.out("TMixer.getLine(): end"); } + return line; + } + + + + protected SourceDataLine getSourceDataLine(AudioFormat format, int nBufferSize) + throws LineUnavailableException + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSourceDataLine(): begin"); } + throw new IllegalArgumentException("this mixer does not support SourceDataLines"); + } + + + + protected Clip getClip(AudioFormat format) + throws LineUnavailableException + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getClip(): begin"); } + throw new IllegalArgumentException("this mixer does not support Clips"); + } + + + + protected TargetDataLine getTargetDataLine(AudioFormat format, int nBufferSize) + throws LineUnavailableException + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getTargetDataLine(): begin"); } + throw new IllegalArgumentException("this mixer does not support TargetDataLines"); + } + + + + protected Port getPort(Port.Info info) + throws LineUnavailableException + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getTargetDataLine(): begin"); } + throw new IllegalArgumentException("this mixer does not support Ports"); + } + + + + private AudioFormat getSupportedSourceFormat(AudioFormat[] aFormats) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSupportedSourceFormat(): begin"); } + AudioFormat format = null; + for (int i = 0; i < aFormats.length; i++) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSupportedSourceFormat(): checking " + aFormats[i] + "..."); } + if (isSourceFormatSupported(aFormats[i])) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSupportedSourceFormat(): ...supported"); } + format = aFormats[i]; + break; + } + else + { + if (TDebug.TraceMixer) + { + TDebug.out("TMixer.getSupportedSourceFormat(): ...no luck"); + } + } + } + if (format == null) + { + throw new IllegalArgumentException("no line matchine one of the passed formats"); + } + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSupportedSourceFormat(): end"); } + return format; + } + + + + private AudioFormat getSupportedTargetFormat(AudioFormat[] aFormats) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSupportedTargetFormat(): begin"); } + AudioFormat format = null; + for (int i = 0; i < aFormats.length; i++) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSupportedTargetFormat(): checking " + aFormats[i] + " ..."); } + if (isTargetFormatSupported(aFormats[i])) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSupportedTargetFormat(): ...supported"); } + format = aFormats[i]; + break; + } + else + { + if (TDebug.TraceMixer) + { + TDebug.out("TMixer.getSupportedTargetFormat(): ...no luck"); + } + } + } + if (format == null) + { + throw new IllegalArgumentException("no line matchine one of the passed formats"); + } + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSupportedTargetFormat(): end"); } + return format; + } + + + +/* + not implemented here: + getMaxLines(Line.Info) +*/ + + + + public Line[] getSourceLines() + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getSourceLines(): called"); } + return (Line[]) m_openSourceDataLines.toArray(EMPTY_LINE_ARRAY); + } + + + + public Line[] getTargetLines() + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.getTargetLines(): called"); } + return (Line[]) m_openTargetDataLines.toArray(EMPTY_LINE_ARRAY); + } + + + + public void synchronize(Line[] aLines, + boolean bMaintainSync) + { + throw new IllegalArgumentException("synchronization not supported"); + } + + + + public void unsynchronize(Line[] aLines) + { + throw new IllegalArgumentException("synchronization not supported"); + } + + + + public boolean isSynchronizationSupported(Line[] aLines, + boolean bMaintainSync) + { + return false; + } + + + + protected boolean isSourceFormatSupported(AudioFormat format) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.isSourceFormatSupported(): format to test: " + format); } + Iterator iterator = m_supportedSourceFormats.iterator(); + while (iterator.hasNext()) + { + AudioFormat supportedFormat = iterator.next(); + if (AudioFormats.matches(supportedFormat, format)) + { + return true; + } + } + return false; + } + + + + protected boolean isTargetFormatSupported(AudioFormat format) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.isTargetFormatSupported(): format to test: " + format); } + Iterator iterator = m_supportedTargetFormats.iterator(); + while (iterator.hasNext()) + { + AudioFormat supportedFormat = iterator.next(); + if (AudioFormats.matches(supportedFormat, format)) + { + return true; + } + } + return false; + } + + + + /*package*/ void registerOpenLine(Line line) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.registerOpenLine(): line to register: " + line); + } + if (line instanceof SourceDataLine) + { + synchronized (m_openSourceDataLines) + { + m_openSourceDataLines.add((SourceDataLine) line); + } + } + else if (line instanceof TargetDataLine) + { + synchronized (m_openSourceDataLines) + { + m_openTargetDataLines.add((TargetDataLine) line); + } + } + } + + + + /*package*/ void unregisterOpenLine(Line line) + { + if (TDebug.TraceMixer) { TDebug.out("TMixer.unregisterOpenLine(): line to unregister: " + line); } + if (line instanceof SourceDataLine) + { + synchronized (m_openSourceDataLines) + { + m_openSourceDataLines.remove((SourceDataLine) line); + } + } + else if (line instanceof TargetDataLine) + { + synchronized (m_openTargetDataLines) + { + m_openTargetDataLines.remove((TargetDataLine) line); + } + } + } +} + + + +/*** TMixer.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TMixerInfo.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TMixerInfo.java new file mode 100644 index 0000000..09e869c --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TMixerInfo.java @@ -0,0 +1,54 @@ +/* + * TMixerInfo.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999, 2000 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import javax.sound.sampled.Mixer; + + + + +/* + * This is needed only because Mixer.Info's constructor + * is protected (in the Sun jdk1.3). + */ +public class TMixerInfo +extends Mixer.Info +{ + public TMixerInfo(String a, String b, String c, String d) + { + super(a, b, c, d); + } +} + + + +/*** TMixerInfo.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TMixerProvider.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TMixerProvider.java new file mode 100644 index 0000000..ecc9d84 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TMixerProvider.java @@ -0,0 +1,240 @@ +/* + * TMixerProvider.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2004 by Matthias Pfisterer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.sound.sampled.Mixer; +import javax.sound.sampled.spi.MixerProvider; + +import com.github.trilarion.share.TDebug; + + + +public abstract class TMixerProvider +extends MixerProvider +{ + private static final Mixer.Info[] EMPTY_MIXER_INFO_ARRAY = new Mixer.Info[0]; + + private static Map sm_mixerProviderStructs = new HashMap(); + + private boolean m_bDisabled = false; + + + + + public TMixerProvider() + { + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.(): begin"); } + // currently does nothing + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.(): end"); } + } + + + + /* + Override this method if you want a thread-safe static initializaiton. + */ + protected void staticInit() + { + } + + + + private MixerProviderStruct getMixerProviderStruct() + { + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.getMixerProviderStruct(): begin"); } + Class cls = this.getClass(); + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.getMixerProviderStruct(): called from " + cls); } + // Thread.dumpStack(); + synchronized (TMixerProvider.class) + { + MixerProviderStruct struct = sm_mixerProviderStructs.get(cls); + if (struct == null) + { + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.getMixerProviderStruct(): creating new MixerProviderStruct for " + cls); } + struct = new MixerProviderStruct(); + sm_mixerProviderStructs.put(cls, struct); + } + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.getMixerProviderStruct(): end"); } + return struct; + } + } + + + + protected void disable() + { + if (TDebug.TraceMixerProvider) { TDebug.out("disabling " + getClass().getName()); } + m_bDisabled = true; + } + + + protected boolean isDisabled() + { + return m_bDisabled; + } + + + + protected void addMixer(Mixer mixer) + { + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.addMixer(): begin"); } + MixerProviderStruct struct = getMixerProviderStruct(); + synchronized (struct) + { + struct.m_mixers.add(mixer); + if (struct.m_defaultMixer == null) + { + struct.m_defaultMixer = mixer; + } + } + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.addMixer(): end"); } + } + + + + protected void removeMixer(Mixer mixer) + { + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.removeMixer(): begin"); } + MixerProviderStruct struct = getMixerProviderStruct(); + synchronized (struct) + { + struct.m_mixers.remove(mixer); + // TODO: should search for another mixer + if (struct.m_defaultMixer == mixer) + { + struct.m_defaultMixer = null; + } + } + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.removeMixer(): end"); } + } + + + // $$mp 2003/01/11: TODO: this implementation may become obsolete once the overridden method in spi.MixerProvider is implemented in a way documented officially. + public boolean isMixerSupported(Mixer.Info info) + { + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.isMixerSupported(): begin"); } + boolean bIsSupported = false; + Mixer.Info[] infos = getMixerInfo(); + for (int i = 0; i < infos.length; i++) + { + if (infos[i].equals(info)) + { + bIsSupported = true; + break; + } + } + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.isMixerSupported(): end"); } + return bIsSupported; + } + + + + /** + */ + public Mixer getMixer(Mixer.Info info) + { + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.getMixer(): begin"); } + MixerProviderStruct struct = getMixerProviderStruct(); + Mixer mixerResult = null; + synchronized (struct) + { + if (info == null) + { + mixerResult = struct.m_defaultMixer; + } + else + { + Iterator mixers = struct.m_mixers.iterator(); + while (mixers.hasNext()) + { + Mixer mixer = (Mixer) mixers.next(); + if (mixer.getMixerInfo().equals(info)) + { + mixerResult = mixer; + break; + } + } + } + } + if (mixerResult == null) + { + throw new IllegalArgumentException("no mixer available for " + info); + } + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.getMixer(): end"); } + return mixerResult; + } + + + + public Mixer.Info[] getMixerInfo() + { + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.getMixerInfo(): begin"); } + Set mixerInfos = new HashSet(); + MixerProviderStruct struct = getMixerProviderStruct(); + synchronized (struct) + { + Iterator mixers = struct.m_mixers.iterator(); + while (mixers.hasNext()) + { + Mixer mixer = mixers.next(); + mixerInfos.add(mixer.getMixerInfo()); + } + } + if (TDebug.TraceMixerProvider) { TDebug.out("TMixerProvider.getMixerInfo(): end"); } + return mixerInfos.toArray(EMPTY_MIXER_INFO_ARRAY); + } + + + + private class MixerProviderStruct + { + public List m_mixers; + public Mixer m_defaultMixer; + + + + public MixerProviderStruct() + { + m_mixers = new ArrayList(); + m_defaultMixer = null; + } + } +} + + + +/*** TMixerProvider.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TPort.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TPort.java new file mode 100644 index 0000000..605d5ff --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TPort.java @@ -0,0 +1,66 @@ +/* + * TPort.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 - 2004 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import java.util.Collection; + +import javax.sound.sampled.Control; +import javax.sound.sampled.Line; +import javax.sound.sampled.Port; + + + + +/** Base class for Ports. + */ +public class TPort +extends TLine +implements Port +{ + public TPort(TMixer mixer, + Line.Info info) + { + super(mixer, info); + } + + + + public TPort(TMixer mixer, + Line.Info info, + Collection controls) + { + super(mixer, info, controls); + } +} + + + +/*** TPort.java ***/ diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/TSoftClip.java b/src/main/java/com/github/trilarion/share/sampled/mixer/TSoftClip.java new file mode 100644 index 0000000..382c1f1 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/TSoftClip.java @@ -0,0 +1,317 @@ +/* + * TSoftClip.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 1999 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package com.github.trilarion.share.sampled.mixer; + +import java.io.IOException; +import java.io.ByteArrayOutputStream; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.SourceDataLine; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.Mixer; + +import com.github.trilarion.share.TDebug; + + + +public class TSoftClip +extends TClip +implements Runnable +{ + //$$fb the following field is never used + //private static final Class[] CONTROL_CLASSES = {/*GainControl.class*/}; + private static final int BUFFER_SIZE = 16384; + + + //$$fb the following field is never used + //private Mixer m_mixer; + private SourceDataLine m_line; + private byte[] m_abClip; + private int m_nRepeatCount; + private Thread m_thread; + + public TSoftClip(Mixer mixer, AudioFormat format) + throws LineUnavailableException + { + // TODO: info object +/* + DataLine.Info info = new DataLine.Info(Clip.class, + audioFormat, -1); +*/ + super(null); + //m_mixer = mixer; + DataLine.Info info = new DataLine.Info( + SourceDataLine.class, + // TODO: should pass a real AudioFormat object that isn't too restrictive + format); + m_line = (SourceDataLine) AudioSystem.getLine(info); + } + + + + public void open(AudioInputStream audioInputStream) + throws LineUnavailableException, IOException + { + AudioFormat audioFormat = audioInputStream.getFormat(); + setFormat(audioFormat); + int nFrameSize = audioFormat.getFrameSize(); + if (nFrameSize < 1) + { + throw new IllegalArgumentException("frame size must be positive"); + } + if (TDebug.TraceClip) + { + TDebug.out("TSoftClip.open(): format: " + audioFormat); + // TDebug.out("sample rate: " + audioFormat.getSampleRate()); + } + byte[] abData = new byte[BUFFER_SIZE]; + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + int nBytesRead = 0; + while (nBytesRead != -1) + { + try + { + nBytesRead = audioInputStream.read(abData, 0, abData.length); + } + catch (IOException e) + { + if (TDebug.TraceClip || TDebug.TraceAllExceptions) + { + TDebug.out(e); + } + } + if (nBytesRead >= 0) + { + if (TDebug.TraceClip) + { + TDebug.out("TSoftClip.open(): Trying to write: " + nBytesRead); + } + baos.write(abData, 0, nBytesRead); + if (TDebug.TraceClip) + { + TDebug.out("TSoftClip.open(): Written: " + nBytesRead); + } + } + } + m_abClip = baos.toByteArray(); + setBufferSize(m_abClip.length); + // open the line + m_line.open(getFormat()); + // to trigger the events + // open(); + } + + + + public int getFrameLength() + { + if (isOpen()) + { + return getBufferSize() / getFormat().getFrameSize(); + } + else + { + return AudioSystem.NOT_SPECIFIED; + } + } + + + + public long getMicrosecondLength() + { + if (isOpen()) + { + return (long) (getFrameLength() * getFormat().getFrameRate() * 1000000); + } + else + { + return AudioSystem.NOT_SPECIFIED; + } + } + + + + public void setFramePosition(int nPosition) + { + // TOOD: + } + + + + public void setMicrosecondPosition(long lPosition) + { + // TOOD: + } + + + + public int getFramePosition() + { + // TOOD: + return -1; + } + + + + public long getMicrosecondPosition() + { + // TOOD: + return -1; + } + + + + public void setLoopPoints(int nStart, int nEnd) + { + // TOOD: + } + + + + public void loop(int nCount) + { + if (TDebug.TraceClip) + { + TDebug.out("TSoftClip.loop(int): called; count = " + nCount); + } + if (false/*isStarted()*/) + { + /* + * only allow zero count to stop the looping + * at the end of an iteration. + */ + if (nCount == 0) + { + if (TDebug.TraceClip) + { + TDebug.out("TSoftClip.loop(int): stopping sample"); + } + // m_esdSample.stop(); + } + } + else + { + m_nRepeatCount = nCount; + m_thread = new Thread(this); + m_thread.start(); + } + // TOOD: + } + + + + public void flush() + { + // TOOD: + } + + + + public void drain() + { + // TOOD: + } + + + + public void close() + { + // m_esdSample.free(); + // m_esdSample.close(); + // TOOD: + } + + + + + public void open() + { + // TODO: + } + + + + public void start() + { + if (TDebug.TraceClip) + { + TDebug.out("TSoftClip.start(): called"); + } + /* + * This is a hack. What start() really should do is + * start playing at the position playback was stopped. + */ + if (TDebug.TraceClip) + { + TDebug.out("TSoftClip.start(): calling 'loop(0)' [hack]"); + } + loop(0); + } + + + + public void stop() + { + // TODO: + // m_esdSample.kill(); + } + + + + /* + * This method is enforced by DataLine, but doesn't make any + * sense for Clips. + */ + public int available() + { + return -1; + } + + + + public void run() + { + while (m_nRepeatCount >= 0) + { + m_line.write(m_abClip, 0, m_abClip.length); + m_nRepeatCount--; + } + } + +} + + + +/*** TSoftClip.java ***/ + diff --git a/src/main/java/com/github/trilarion/share/sampled/mixer/package.html b/src/main/java/com/github/trilarion/share/sampled/mixer/package.html new file mode 100644 index 0000000..681024b --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/mixer/package.html @@ -0,0 +1,14 @@ + + + + + + +

Base classes for the implementation of MixerProviders. + The classes provided here .

+ + @see javax.sound.sampled.spi.MixerProvider + @see org.tritonus.sampled.mixer.alsa + @see org.tritonus.sampled.mixer.esd + + diff --git a/src/main/java/com/github/trilarion/share/sampled/package.html b/src/main/java/com/github/trilarion/share/sampled/package.html new file mode 100644 index 0000000..f7a6b56 --- /dev/null +++ b/src/main/java/com/github/trilarion/share/sampled/package.html @@ -0,0 +1,10 @@ + + + + + + +

Helper classes for the implementation of sampled audio stuff. + The classes provided here .

+ + diff --git a/src/main/java/com/github/trilarion/spi/PropertiesContainer.java b/src/main/java/com/github/trilarion/spi/PropertiesContainer.java new file mode 100644 index 0000000..870d75c --- /dev/null +++ b/src/main/java/com/github/trilarion/spi/PropertiesContainer.java @@ -0,0 +1,31 @@ +/* + * PropertiesContainer. + * + * JavaZOOM : vorbisspi@javazoom.net + * http://www.javazoom.net + * + *----------------------------------------------------------------------- + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + *---------------------------------------------------------------------- + */ + +package com.github.trilarion.spi; + +import java.util.Map; + +public interface PropertiesContainer +{ + public Map properties(); +} diff --git a/src/main/java/com/github/trilarion/spi/vorbis/sampled/convert/DecodedVorbisAudioInputStream.java b/src/main/java/com/github/trilarion/spi/vorbis/sampled/convert/DecodedVorbisAudioInputStream.java new file mode 100644 index 0000000..19ae85e --- /dev/null +++ b/src/main/java/com/github/trilarion/spi/vorbis/sampled/convert/DecodedVorbisAudioInputStream.java @@ -0,0 +1,519 @@ +/* + * DecodedVorbisAudioInputStream + * + * JavaZOOM : vorbisspi@javazoom.net + * http://www.javazoom.net + * + * ---------------------------------------------------------------------------- + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * ---------------------------------------------------------------------------- + */ + +package com.github.trilarion.spi.vorbis.sampled.convert; + +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; + +import com.github.trilarion.spi.PropertiesContainer; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.convert.TAsynchronousFilteredAudioInputStream; + +import com.github.trilarion.jcraft.jogg.Packet; +import com.github.trilarion.jcraft.jogg.Page; +import com.github.trilarion.jcraft.jogg.StreamState; +import com.github.trilarion.jcraft.jogg.SyncState; +import com.github.trilarion.jcraft.jorbis.Block; +import com.github.trilarion.jcraft.jorbis.Comment; +import com.github.trilarion.jcraft.jorbis.DspState; +import com.github.trilarion.jcraft.jorbis.Info; + +/** + * This class implements the Vorbis decoding. + */ +public class DecodedVorbisAudioInputStream extends TAsynchronousFilteredAudioInputStream implements PropertiesContainer +{ + private InputStream oggBitStream_ = null; + + private SyncState oggSyncState_ = null; + private StreamState oggStreamState_ = null; + private Page oggPage_ = null; + private Packet oggPacket_ = null; + private Info vorbisInfo = null; + private Comment vorbisComment = null; + private DspState vorbisDspState = null; + private Block vorbisBlock = null; + + static final int playState_NeedHeaders = 0; + static final int playState_ReadData = 1; + static final int playState_WriteData = 2; + static final int playState_Done = 3; + static final int playState_BufferFull = 4; + static final int playState_Corrupt = -1; + private int playState; + + private int bufferMultiple_ = 4; + private int bufferSize_ = bufferMultiple_ * 256 * 2; + private int convsize = bufferSize_ * 2; + private byte[] convbuffer = new byte[convsize]; + private byte[] buffer = null; + private int bytes = 0; + private float[][][] _pcmf = null; + private int[] _index = null; + private int index = 0; + private int i = 0; + // bout is now a global so that we can continue from when we have a buffer full. + int bout = 0; + + private HashMap properties = null; + private long currentBytes = 0; + + /** + * Constructor. + */ + public DecodedVorbisAudioInputStream(AudioFormat outputFormat, AudioInputStream bitStream) + { + super(outputFormat, -1); + this.oggBitStream_ = bitStream; + init_jorbis(); + index = 0; + playState = playState_NeedHeaders; + properties = new HashMap(); + } + + /** + * Initializes all the jOrbis and jOgg vars that are used for song playback. + */ + private void init_jorbis() + { + oggSyncState_ = new SyncState(); + oggStreamState_ = new StreamState(); + oggPage_ = new Page(); + oggPacket_ = new Packet(); + vorbisInfo = new Info(); + vorbisComment = new Comment(); + vorbisDspState = new DspState(); + vorbisBlock = new Block(vorbisDspState); + buffer = null; + bytes = 0; + currentBytes = 0L; + oggSyncState_.init(); + } + + /** + * Return dynamic properties. + * + *
    + *
  • ogg.position.byte [Long], current position in bytes in the stream. + *
+ */ + public Map properties() + { + properties.put("ogg.position.byte",new Long(currentBytes)); + return properties; + } + /** + * Main loop. + */ + public void execute() + { + if(TDebug.TraceAudioConverter) + { + switch(playState) + { + case playState_NeedHeaders: + TDebug.out("playState = playState_NeedHeaders"); + break; + case playState_ReadData: + TDebug.out("playState = playState_ReadData"); + break; + case playState_WriteData: + TDebug.out("playState = playState_WriteData"); + break; + case playState_Done: + TDebug.out("playState = playState_Done"); + break; + case playState_BufferFull: + TDebug.out("playState = playState_BufferFull"); + break; + case playState_Corrupt: + TDebug.out("playState = playState_Corrupt"); + break; + } + } + // This code was developed by the jCraft group, as JOrbisPlayer.java, slightly + // modified by jOggPlayer developer and adapted by JavaZOOM to suit the JavaSound + // SPI. Then further modified by Tom Kimpton to correctly play ogg files that + // would hang the player. + switch(playState) + { + case playState_NeedHeaders: + try + { + // Headers (+ Comments). + readHeaders(); + } + catch(IOException ioe) + { + playState = playState_Corrupt; + return; + } + playState = playState_ReadData; + break; + + case playState_ReadData: + int result; + index = oggSyncState_.buffer(bufferSize_); + buffer = oggSyncState_.data; + bytes = readFromStream(buffer, index, bufferSize_); + if(TDebug.TraceAudioConverter) TDebug.out("More data : " + bytes); + if(bytes == -1) + { + playState = playState_Done; + if(TDebug.TraceAudioConverter) TDebug.out("Ogg Stream empty. Settings playState to playState_Done."); + break; + } + else + { + oggSyncState_.wrote(bytes); + if(bytes == 0) + { + if((oggPage_.eos() != 0) || (oggStreamState_.e_o_s != 0) || (oggPacket_.e_o_s != 0)) + { + if(TDebug.TraceAudioConverter) TDebug.out("oggSyncState wrote 0 bytes: settings playState to playState_Done."); + playState = playState_Done; + } + if(TDebug.TraceAudioConverter) TDebug.out("oggSyncState wrote 0 bytes: but stream not yet empty."); + break; + } + } + + result = oggSyncState_.pageout(oggPage_); + if(result == 0) + { + if(TDebug.TraceAudioConverter) TDebug.out("Setting playState to playState_ReadData."); + playState = playState_ReadData; + break; + } // need more data + if(result == -1) + { // missing or corrupt data at this page position + if(TDebug.TraceAudioConverter) TDebug.out("Corrupt or missing data in bitstream; setting playState to playState_ReadData"); + playState = playState_ReadData; + break; + } + + oggStreamState_.pagein(oggPage_); + + if(TDebug.TraceAudioConverter) TDebug.out("Setting playState to playState_WriteData."); + playState = playState_WriteData; + break; + + case playState_WriteData: + // Decoding ! + if(TDebug.TraceAudioConverter) TDebug.out("Decoding"); + while(true) + { + result = oggStreamState_.packetout(oggPacket_); + if(result == 0) + { + if(TDebug.TraceAudioConverter) TDebug.out("Packetout returned 0, going to read state."); + playState = playState_ReadData; + break; + } // need more data + else if(result == -1) + { + // missing or corrupt data at this page position + // no reason to complain; already complained above + if(TDebug.TraceAudioConverter) TDebug.out("Corrupt or missing data in packetout bitstream; going to read state..."); + // playState = playState_ReadData; + // break; + continue; + } + else + { + // we have a packet. Decode it + if(vorbisBlock.synthesis(oggPacket_) == 0) + { // test for success! + vorbisDspState.synthesis_blockin(vorbisBlock); + } + else + { + //if(TDebug.TraceAudioConverter) TDebug.out("vorbisBlock.synthesis() returned !0, going to read state"); + if(TDebug.TraceAudioConverter) TDebug.out("VorbisBlock.synthesis() returned !0, continuing."); + continue; + } + + outputSamples(); + if(playState == playState_BufferFull) + return; + + } // else result != -1 + } // while(true) + if(oggPage_.eos() != 0) + { + if(TDebug.TraceAudioConverter) TDebug.out("Settings playState to playState_Done."); + playState = playState_Done; + } + break; + case playState_BufferFull: + continueFromBufferFull(); + break; + + case playState_Corrupt: + if(TDebug.TraceAudioConverter) TDebug.out("Corrupt Song."); + // drop through to playState_Done... + case playState_Done: + oggStreamState_.clear(); + vorbisBlock.clear(); + vorbisDspState.clear(); + vorbisInfo.clear(); + oggSyncState_.clear(); + if(TDebug.TraceAudioConverter) TDebug.out("Done Song."); + try + { + if(oggBitStream_ != null) + { + oggBitStream_.close(); + } + getCircularBuffer().close(); + } + catch(Exception e) + { + if(TDebug.TraceAudioConverter) TDebug.out(e.getMessage()); + } + break; + } // switch + } + + /** + * This routine was extracted so that when the output buffer fills up, + * we can break out of the loop, let the music channel drain, then + * continue from where we were. + */ + private void outputSamples() + { + int samples; + while((samples = vorbisDspState.synthesis_pcmout(_pcmf, _index)) > 0) + { + float[][] pcmf = _pcmf[0]; + bout = (samples < convsize ? samples : convsize); + double fVal = 0.0; + // convert doubles to 16 bit signed ints (host order) and + // interleave + for(i = 0; i < vorbisInfo.channels; i++) + { + int pointer = i * 2; + //int ptr=i; + int mono = _index[i]; + for(int j = 0; j < bout; j++) + { + fVal = pcmf[i][mono + j] * 32767.; + int val = (int) (fVal); + if(val > 32767) + { + val = 32767; + } + if(val < -32768) + { + val = -32768; + } + if(val < 0) + { + val = val | 0x8000; + } + convbuffer[pointer] = (byte) (val); + convbuffer[pointer + 1] = (byte) (val >>> 8); + pointer += 2 * (vorbisInfo.channels); + } + } + if(TDebug.TraceAudioConverter) TDebug.out("about to write: " + 2 * vorbisInfo.channels * bout); + if(getCircularBuffer().availableWrite() < 2 * vorbisInfo.channels * bout) + { + if(TDebug.TraceAudioConverter) TDebug.out("Too much data in this data packet, better return, let the channel drain, and try again..."); + playState = playState_BufferFull; + return; + } + getCircularBuffer().write(convbuffer, 0, 2 * vorbisInfo.channels * bout); + if(bytes < bufferSize_) + if(TDebug.TraceAudioConverter) TDebug.out("Finished with final buffer of music?"); + if(vorbisDspState.synthesis_read(bout) != 0) + { + if(TDebug.TraceAudioConverter) TDebug.out("VorbisDspState.synthesis_read returned -1."); + } + } // while(samples...) + playState = playState_ReadData; + } + + private void continueFromBufferFull() + { + if(getCircularBuffer().availableWrite() < 2 * vorbisInfo.channels * bout) + { + if(TDebug.TraceAudioConverter) TDebug.out("Too much data in this data packet, better return, let the channel drain, and try again..."); + // Don't change play state. + return; + } + getCircularBuffer().write(convbuffer, 0, 2 * vorbisInfo.channels * bout); + // Don't change play state. Let outputSamples change play state, if necessary. + outputSamples(); + } + /** + * Reads headers and comments. + */ + private void readHeaders() throws IOException + { + if(TDebug.TraceAudioConverter) TDebug.out("readHeaders("); + index = oggSyncState_.buffer(bufferSize_); + buffer = oggSyncState_.data; + bytes = readFromStream(buffer, index, bufferSize_); + if(bytes == -1) + { + if(TDebug.TraceAudioConverter) TDebug.out("Cannot get any data from selected Ogg bitstream."); + throw new IOException("Cannot get any data from selected Ogg bitstream."); + } + oggSyncState_.wrote(bytes); + if(oggSyncState_.pageout(oggPage_) != 1) + { + if(bytes < bufferSize_) + { + throw new IOException("EOF"); + } + if(TDebug.TraceAudioConverter) TDebug.out("Input does not appear to be an Ogg bitstream."); + throw new IOException("Input does not appear to be an Ogg bitstream."); + } + oggStreamState_.init(oggPage_.serialno()); + vorbisInfo.init(); + vorbisComment.init(); + if(oggStreamState_.pagein(oggPage_) < 0) + { + // error; stream version mismatch perhaps + if(TDebug.TraceAudioConverter) TDebug.out("Error reading first page of Ogg bitstream data."); + throw new IOException("Error reading first page of Ogg bitstream data."); + } + if(oggStreamState_.packetout(oggPacket_) != 1) + { + // no page? must not be vorbis + if(TDebug.TraceAudioConverter) TDebug.out("Error reading initial header packet."); + throw new IOException("Error reading initial header packet."); + } + if(vorbisInfo.synthesis_headerin(vorbisComment, oggPacket_) < 0) + { + // error case; not a vorbis header + if(TDebug.TraceAudioConverter) TDebug.out("This Ogg bitstream does not contain Vorbis audio data."); + throw new IOException("This Ogg bitstream does not contain Vorbis audio data."); + } + //int i = 0; + i = 0; + while(i < 2) + { + while(i < 2) + { + int result = oggSyncState_.pageout(oggPage_); + if(result == 0) + { + break; + } // Need more data + if(result == 1) + { + oggStreamState_.pagein(oggPage_); + while(i < 2) + { + result = oggStreamState_.packetout(oggPacket_); + if(result == 0) + { + break; + } + if(result == -1) + { + if(TDebug.TraceAudioConverter) TDebug.out("Corrupt secondary header. Exiting."); + throw new IOException("Corrupt secondary header. Exiting."); + } + vorbisInfo.synthesis_headerin(vorbisComment, oggPacket_); + i++; + } + } + } + index = oggSyncState_.buffer(bufferSize_); + buffer = oggSyncState_.data; + bytes = readFromStream(buffer, index, bufferSize_); + if(bytes == -1) + { + break; + } + if(bytes == 0 && i < 2) + { + if(TDebug.TraceAudioConverter) TDebug.out("End of file before finding all Vorbis headers!"); + throw new IOException("End of file before finding all Vorbis headers!"); + } + oggSyncState_.wrote(bytes); + } + + byte[][] ptr = vorbisComment.user_comments; + String currComment = ""; + + for(int j = 0; j < ptr.length; j++) + { + if(ptr[j] == null) + { + break; + } + currComment = (new String(ptr[j], 0, ptr[j].length - 1)).trim(); + if(TDebug.TraceAudioConverter) TDebug.out("Comment: " + currComment); + } + convsize = bufferSize_ / vorbisInfo.channels; + vorbisDspState.synthesis_init(vorbisInfo); + vorbisBlock.init(vorbisDspState); + _pcmf = new float[1][][]; + _index = new int[vorbisInfo.channels]; + } + + /** + * Reads from the oggBitStream_ a specified number of Bytes(bufferSize_) worth + * starting at index and puts them in the specified buffer[]. + * + * @param buffer + * @param index + * @param bufferSize_ + * @return the number of bytes read or -1 if error. + */ + private int readFromStream(byte[] buffer, int index, int bufferSize_) + { + int bytes = 0; + try + { + bytes = oggBitStream_.read(buffer, index, bufferSize_); + } + catch(Exception e) + { + if(TDebug.TraceAudioConverter) TDebug.out("Cannot Read Selected Song"); + bytes = -1; + } + currentBytes = currentBytes + bytes; + return bytes; + } + + /** + * Close the stream. + */ + public void close() throws IOException + { + super.close(); + oggBitStream_.close(); + } +} diff --git a/src/main/java/com/github/trilarion/spi/vorbis/sampled/convert/VorbisFormatConversionProvider.java b/src/main/java/com/github/trilarion/spi/vorbis/sampled/convert/VorbisFormatConversionProvider.java new file mode 100644 index 0000000..75452b4 --- /dev/null +++ b/src/main/java/com/github/trilarion/spi/vorbis/sampled/convert/VorbisFormatConversionProvider.java @@ -0,0 +1,244 @@ +/* + * VorbisFormatConversionProvider. + * + * JavaZOOM : vorbisspi@javazoom.net + * http://www.javazoom.net + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +package com.github.trilarion.spi.vorbis.sampled.convert; + +import java.util.Arrays; +import com.github.trilarion.spi.vorbis.sampled.file.VorbisEncoding; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; + +import com.github.trilarion.share.sampled.convert.TMatrixFormatConversionProvider; + +/** + * ConversionProvider for VORBIS files. + */ +public class VorbisFormatConversionProvider extends TMatrixFormatConversionProvider +{ + private static final AudioFormat[] INPUT_FORMATS = + { + new AudioFormat(VorbisEncoding.VORBISENC, 32000.0F, -1, 1, -1, -1, false), // 0 + new AudioFormat(VorbisEncoding.VORBISENC, 32000.0F, -1, 2, -1, -1, false), // 1 + new AudioFormat(VorbisEncoding.VORBISENC, 44100.0F, -1, 1, -1, -1, false), // 2 + new AudioFormat(VorbisEncoding.VORBISENC, 44100.0F, -1, 2, -1, -1, false), // 3 + new AudioFormat(VorbisEncoding.VORBISENC, 48000.0F, -1, 1, -1, -1, false), // 4 + new AudioFormat(VorbisEncoding.VORBISENC, 48000.0F, -1, 2, -1, -1, false), // 5 + + new AudioFormat(VorbisEncoding.VORBISENC, 16000.0F, -1, 1, -1, -1, false), // 18 + new AudioFormat(VorbisEncoding.VORBISENC, 16000.0F, -1, 2, -1, -1, false), // 19 + new AudioFormat(VorbisEncoding.VORBISENC, 22050.0F, -1, 1, -1, -1, false), // 20 + new AudioFormat(VorbisEncoding.VORBISENC, 22050.0F, -1, 2, -1, -1, false), // 21 + new AudioFormat(VorbisEncoding.VORBISENC, 24000.0F, -1, 1, -1, -1, false), // 22 + new AudioFormat(VorbisEncoding.VORBISENC, 24000.0F, -1, 2, -1, -1, false), // 23 + + new AudioFormat(VorbisEncoding.VORBISENC, 8000.0F, -1, 1, -1, -1, false), // 36 + new AudioFormat(VorbisEncoding.VORBISENC, 8000.0F, -1, 2, -1, -1, false), // 37 + new AudioFormat(VorbisEncoding.VORBISENC, 11025.0F, -1, 1, -1, -1, false), // 38 + new AudioFormat(VorbisEncoding.VORBISENC, 11025.0F, -1, 2, -1, -1, false), // 39 + new AudioFormat(VorbisEncoding.VORBISENC, 12000.0F, -1, 1, -1, -1, false), // 40 + new AudioFormat(VorbisEncoding.VORBISENC, 12000.0F, -1, 2, -1, -1, false), // 41 + }; + + private static final AudioFormat[] OUTPUT_FORMATS = + { + new AudioFormat(8000.0F, 16, 1, true, false), // 0 + new AudioFormat(8000.0F, 16, 1, true, true), // 1 + new AudioFormat(8000.0F, 16, 2, true, false), // 2 + new AudioFormat(8000.0F, 16, 2, true, true), // 3 + /* 24 and 32 bit not yet possible + new AudioFormat(8000.0F, 24, 1, true, false), + new AudioFormat(8000.0F, 24, 1, true, true), + new AudioFormat(8000.0F, 24, 2, true, false), + new AudioFormat(8000.0F, 24, 2, true, true), + new AudioFormat(8000.0F, 32, 1, true, false), + new AudioFormat(8000.0F, 32, 1, true, true), + new AudioFormat(8000.0F, 32, 2, true, false), + new AudioFormat(8000.0F, 32, 2, true, true), + */ + new AudioFormat(11025.0F, 16, 1, true, false), // 4 + new AudioFormat(11025.0F, 16, 1, true, true), // 5 + new AudioFormat(11025.0F, 16, 2, true, false), // 6 + new AudioFormat(11025.0F, 16, 2, true, true), // 7 + /* 24 and 32 bit not yet possible + new AudioFormat(11025.0F, 24, 1, true, false), + new AudioFormat(11025.0F, 24, 1, true, true), + new AudioFormat(11025.0F, 24, 2, true, false), + new AudioFormat(11025.0F, 24, 2, true, true), + new AudioFormat(11025.0F, 32, 1, true, false), + new AudioFormat(11025.0F, 32, 1, true, true), + new AudioFormat(11025.0F, 32, 2, true, false), + new AudioFormat(11025.0F, 32, 2, true, true), + */ + new AudioFormat(12000.0F, 16, 1, true, false), // 8 + new AudioFormat(12000.0F, 16, 1, true, true), // 9 + new AudioFormat(12000.0F, 16, 2, true, false), // 10 + new AudioFormat(12000.0F, 16, 2, true, true), // 11 + /* 24 and 32 bit not yet possible + new AudioFormat(12000.0F, 24, 1, true, false), + new AudioFormat(12000.0F, 24, 1, true, true), + new AudioFormat(12000.0F, 24, 2, true, false), + new AudioFormat(12000.0F, 24, 2, true, true), + new AudioFormat(12000.0F, 32, 1, true, false), + new AudioFormat(12000.0F, 32, 1, true, true), + new AudioFormat(12000.0F, 32, 2, true, false), + new AudioFormat(12000.0F, 32, 2, true, true), + */ + new AudioFormat(16000.0F, 16, 1, true, false), // 12 + new AudioFormat(16000.0F, 16, 1, true, true), // 13 + new AudioFormat(16000.0F, 16, 2, true, false), // 14 + new AudioFormat(16000.0F, 16, 2, true, true), // 15 + /* 24 and 32 bit not yet possible + new AudioFormat(16000.0F, 24, 1, true, false), + new AudioFormat(16000.0F, 24, 1, true, true), + new AudioFormat(16000.0F, 24, 2, true, false), + new AudioFormat(16000.0F, 24, 2, true, true), + new AudioFormat(16000.0F, 32, 1, true, false), + new AudioFormat(16000.0F, 32, 1, true, true), + new AudioFormat(16000.0F, 32, 2, true, false), + new AudioFormat(16000.0F, 32, 2, true, true), + */ + new AudioFormat(22050.0F, 16, 1, true, false), // 16 + new AudioFormat(22050.0F, 16, 1, true, true), // 17 + new AudioFormat(22050.0F, 16, 2, true, false), // 18 + new AudioFormat(22050.0F, 16, 2, true, true), // 19 + /* 24 and 32 bit not yet possible + new AudioFormat(22050.0F, 24, 1, true, false), + new AudioFormat(22050.0F, 24, 1, true, true), + new AudioFormat(22050.0F, 24, 2, true, false), + new AudioFormat(22050.0F, 24, 2, true, true), + new AudioFormat(22050.0F, 32, 1, true, false), + new AudioFormat(22050.0F, 32, 1, true, true), + new AudioFormat(22050.0F, 32, 2, true, false), + new AudioFormat(22050.0F, 32, 2, true, true), + */ + new AudioFormat(24000.0F, 16, 1, true, false), // 20 + new AudioFormat(24000.0F, 16, 1, true, true), // 21 + new AudioFormat(24000.0F, 16, 2, true, false), // 22 + new AudioFormat(24000.0F, 16, 2, true, true), // 23 + /* 24 and 32 bit not yet possible + new AudioFormat(24000.0F, 24, 1, true, false), + new AudioFormat(24000.0F, 24, 1, true, true), + new AudioFormat(24000.0F, 24, 2, true, false), + new AudioFormat(24000.0F, 24, 2, true, true), + new AudioFormat(24000.0F, 32, 1, true, false), + new AudioFormat(24000.0F, 32, 1, true, true), + new AudioFormat(24000.0F, 32, 2, true, false), + new AudioFormat(24000.0F, 32, 2, true, true), + */ + new AudioFormat(32000.0F, 16, 1, true, false), // 24 + new AudioFormat(32000.0F, 16, 1, true, true), // 25 + new AudioFormat(32000.0F, 16, 2, true, false), // 26 + new AudioFormat(32000.0F, 16, 2, true, true), // 27 + /* 24 and 32 bit not yet possible + new AudioFormat(32000.0F, 24, 1, true, false), + new AudioFormat(32000.0F, 24, 1, true, true), + new AudioFormat(32000.0F, 24, 2, true, false), + new AudioFormat(32000.0F, 24, 2, true, true), + new AudioFormat(32000.0F, 32, 1, true, false), + new AudioFormat(32000.0F, 32, 1, true, true), + new AudioFormat(32000.0F, 32, 2, true, false), + new AudioFormat(32000.0F, 32, 2, true, true), + */ + new AudioFormat(44100.0F, 16, 1, true, false), // 28 + new AudioFormat(44100.0F, 16, 1, true, true), // 29 + new AudioFormat(44100.0F, 16, 2, true, false), // 30 + new AudioFormat(44100.0F, 16, 2, true, true), // 31 + /* 24 and 32 bit not yet possible + new AudioFormat(44100.0F, 24, 1, true, false), + new AudioFormat(44100.0F, 24, 1, true, true), + new AudioFormat(44100.0F, 24, 2, true, false), + new AudioFormat(44100.0F, 24, 2, true, true), + new AudioFormat(44100.0F, 32, 1, true, false), + new AudioFormat(44100.0F, 32, 1, true, true), + new AudioFormat(44100.0F, 32, 2, true, false), + new AudioFormat(44100.0F, 32, 2, true, true), + */ + new AudioFormat(48000.0F, 16, 1, true, false), // 32 + new AudioFormat(48000.0F, 16, 1, true, true), // 33 + new AudioFormat(48000.0F, 16, 2, true, false), // 34 + new AudioFormat(48000.0F, 16, 2, true, true), // 35 + /* 24 and 32 bit not yet possible + new AudioFormat(48000.0F, 24, 1, true, false), + new AudioFormat(48000.0F, 24, 1, true, true), + new AudioFormat(48000.0F, 24, 2, true, false), + new AudioFormat(48000.0F, 24, 2, true, true), + new AudioFormat(48000.0F, 32, 1, true, false), + new AudioFormat(48000.0F, 32, 1, true, true), + new AudioFormat(48000.0F, 32, 2, true, false), + new AudioFormat(48000.0F, 32, 2, true, true), + */ + }; + + private static final boolean t = true; + private static final boolean f = false; + + /* + * One row for each source format. + */ + private static final boolean[][] CONVERSIONS = + { + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,t,t,f,f,f,f, f,f,f,f,f,f}, // 0 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,t,t,f,f, f,f,f,f,f,f}, // 1 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,t,t, f,f,f,f,f,f}, // 2 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, t,t,f,f,f,f}, // 3 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,t,t,f,f}, // 4 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,t,t}, // 5 + + {f,f,f,f,f,f,f,f,f,f, f,f,t,t,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 18 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,t,t,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 19 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,t,t,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 20 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,t,t, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 21 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, t,t,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 22 + {f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,t,t,f,f,f,f,f,f, f,f,f,f,f,f}, // 23 + + {t,t,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 36 + {f,f,t,t,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 37 + {f,f,f,f,t,t,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 38 + {f,f,f,f,f,f,t,t,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 39 + {f,f,f,f,f,f,f,f,t,t, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 40 + {f,f,f,f,f,f,f,f,f,f, t,t,f,f,f,f,f,f,f,f, f,f,f,f,f,f,f,f,f,f, f,f,f,f,f,f}, // 41 + + }; + + /** + * Constructor. + */ + public VorbisFormatConversionProvider() + { + super(Arrays.asList(INPUT_FORMATS), Arrays.asList(OUTPUT_FORMATS), CONVERSIONS); + } + + /** + * Returns converted AudioInputStream. + */ + public AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream audioInputStream) + { + if (isConversionSupported(targetFormat, audioInputStream.getFormat())) + { + return new DecodedVorbisAudioInputStream(targetFormat, audioInputStream); + } + else + { + throw new IllegalArgumentException("conversion not supported"); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFileFormat.java b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFileFormat.java new file mode 100644 index 0000000..ba1b517 --- /dev/null +++ b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFileFormat.java @@ -0,0 +1,85 @@ +/* + * VorbisAudioFileFormat. + * + * JavaZOOM : vorbisspi@javazoom.net + * http://www.javazoom.net + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +package com.github.trilarion.spi.vorbis.sampled.file; + +import java.util.Map; + +import javax.sound.sampled.AudioFormat; + +import com.github.trilarion.share.sampled.file.TAudioFileFormat; + +/** + * @author JavaZOOM + */ +public class VorbisAudioFileFormat extends TAudioFileFormat +{ + /** + * Contructor. + * @param type + * @param audioFormat + * @param nLengthInFrames + * @param nLengthInBytes + */ + public VorbisAudioFileFormat(Type type, AudioFormat audioFormat, int nLengthInFrames, int nLengthInBytes, Map properties) + { + super(type, audioFormat, nLengthInFrames, nLengthInBytes, properties); + } + + /** + * Ogg Vorbis audio file format parameters. + * Some parameters might be unavailable. So availability test is required before reading any parameter. + * + *
AudioFileFormat parameters. + *
    + *
  • duration [Long], duration in microseconds. + *
  • title [String], Title of the stream. + *
  • author [String], Name of the artist of the stream. + *
  • album [String], Name of the album of the stream. + *
  • date [String], The date (year) of the recording or release of the stream. + *
  • copyright [String], Copyright message of the stream. + *
  • comment [String], Comment of the stream. + *
+ *
Ogg Vorbis parameters. + *
    + *
  • ogg.length.bytes [Integer], length in bytes. + *
  • ogg.bitrate.min.bps [Integer], minimum bitrate. + *
  • ogg.bitrate.nominal.bps [Integer], nominal bitrate. + *
  • ogg.bitrate.max.bps [Integer], maximum bitrate. + *
  • ogg.channels [Integer], number of channels 1 : mono, 2 : stereo. + *
  • ogg.frequency.hz [Integer], sampling rate in hz. + *
  • ogg.version [Integer], version. + *
  • ogg.serial [Integer], serial number. + *
  • ogg.comment.track [String], track number. + *
  • ogg.comment.genre [String], genre field. + *
  • ogg.comment.encodedby [String], encoded by field. + *
  • ogg.comment.ext [String], extended comments (indexed): + *
    For instance : + *
    ogg.comment.ext.1=Something + *
    ogg.comment.ext.2=Another comment + *
+ */ + public Map properties() + { + return super.properties(); + } +} diff --git a/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFileReader.java b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFileReader.java new file mode 100644 index 0000000..68229e5 --- /dev/null +++ b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFileReader.java @@ -0,0 +1,508 @@ +/* + * VorbisAudioFileReader. + * + * JavaZOOM : vorbisspi@javazoom.net + * http://www.javazoom.net + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +package com.github.trilarion.spi.vorbis.sampled.file; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.HashMap; +import java.util.StringTokenizer; + +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.UnsupportedAudioFileException; + +import com.github.trilarion.share.TDebug; +import com.github.trilarion.share.sampled.file.TAudioFileReader; + +import com.github.trilarion.jcraft.jogg.Packet; +import com.github.trilarion.jcraft.jogg.Page; +import com.github.trilarion.jcraft.jogg.StreamState; +import com.github.trilarion.jcraft.jogg.SyncState; +import com.github.trilarion.jcraft.jorbis.Block; +import com.github.trilarion.jcraft.jorbis.Comment; +import com.github.trilarion.jcraft.jorbis.DspState; +import com.github.trilarion.jcraft.jorbis.Info; +import com.github.trilarion.jcraft.jorbis.JOrbisException; +import com.github.trilarion.jcraft.jorbis.VorbisFile; + +/** + * This class implements the AudioFileReader class and provides an + * Ogg Vorbis file reader for use with the Java Sound Service Provider Interface. + */ +public class VorbisAudioFileReader extends TAudioFileReader +{ + private SyncState oggSyncState_ = null; + private StreamState oggStreamState_ = null; + private Page oggPage_ = null; + private Packet oggPacket_ = null; + private Info vorbisInfo = null; + private Comment vorbisComment = null; + private DspState vorbisDspState = null; + private Block vorbisBlock = null; + private int bufferMultiple_ = 4; + private int bufferSize_ = bufferMultiple_ * 256 * 2; + private byte[] buffer = null; + private int bytes = 0; + + private int index = 0; + private InputStream oggBitStream_ = null; + + private static final int INITAL_READ_LENGTH = 64000; + private static final int MARK_LIMIT = INITAL_READ_LENGTH + 1; + + public VorbisAudioFileReader() + { + super(MARK_LIMIT, true); + } + + /** + * Return the AudioFileFormat from the given file. + */ + public AudioFileFormat getAudioFileFormat(File file) throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) TDebug.out("getAudioFileFormat(File file)"); + InputStream inputStream = null; + try + { + inputStream = new BufferedInputStream(new FileInputStream(file)); + inputStream.mark(MARK_LIMIT); + AudioFileFormat aff = getAudioFileFormat(inputStream); + inputStream.reset(); + // Get Vorbis file info such as length in seconds. + VorbisFile vf = new VorbisFile(file.getAbsolutePath()); + return getAudioFileFormat(inputStream,(int) file.length(), (int) Math.round((vf.time_total(-1))*1000)); + } + catch (JOrbisException e) + { + throw new IOException(e.getMessage()); + } + finally + { + if (inputStream != null) inputStream.close(); + } + } + + /** + * Return the AudioFileFormat from the given URL. + */ + public AudioFileFormat getAudioFileFormat(URL url) throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) TDebug.out("getAudioFileFormat(URL url)"); + InputStream inputStream = url.openStream(); + try + { + return getAudioFileFormat(inputStream); + } + finally + { + if (inputStream != null) inputStream.close(); + } + } + + /** + * Return the AudioFileFormat from the given InputStream. + */ + public AudioFileFormat getAudioFileFormat(InputStream inputStream) throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) TDebug.out("getAudioFileFormat(InputStream inputStream)"); + try + { + if (!inputStream.markSupported()) inputStream = new BufferedInputStream(inputStream); + inputStream.mark(MARK_LIMIT); + return getAudioFileFormat(inputStream, AudioSystem.NOT_SPECIFIED, AudioSystem.NOT_SPECIFIED); + } + finally + { + inputStream.reset(); + } + } + + /** + * Return the AudioFileFormat from the given InputStream and length in bytes. + */ + public AudioFileFormat getAudioFileFormat(InputStream inputStream, long medialength) throws UnsupportedAudioFileException, IOException + { + return getAudioFileFormat(inputStream, (int) medialength, AudioSystem.NOT_SPECIFIED); + } + + + /** + * Return the AudioFileFormat from the given InputStream, length in bytes and length in milliseconds. + */ + protected AudioFileFormat getAudioFileFormat(InputStream bitStream, int mediaLength, int totalms) throws UnsupportedAudioFileException, IOException + { + HashMap aff_properties = new HashMap(); + HashMap af_properties = new HashMap(); + if (totalms == AudioSystem.NOT_SPECIFIED) + { + totalms = 0; + } + if (totalms <= 0) + { + totalms = 0; + } + else + { + aff_properties.put("duration",new Long(totalms*1000)); + } + oggBitStream_ = bitStream; + init_jorbis(); + index = 0; + try + { + readHeaders(aff_properties, af_properties); + } + catch (IOException ioe) + { + if (TDebug.TraceAudioFileReader) + { + TDebug.out(ioe.getMessage()); + } + throw new UnsupportedAudioFileException(ioe.getMessage()); + } + + String dmp = vorbisInfo.toString(); + if (TDebug.TraceAudioFileReader) + { + TDebug.out(dmp); + } + int ind = dmp.lastIndexOf("bitrate:"); + int minbitrate = -1; + int nominalbitrate = -1; + int maxbitrate = -1; + if (ind != -1) + { + dmp = dmp.substring(ind + 8, dmp.length()); + StringTokenizer st = new StringTokenizer(dmp, ","); + if (st.hasMoreTokens()) + { + minbitrate = Integer.parseInt(st.nextToken()); + } + if (st.hasMoreTokens()) + { + nominalbitrate = Integer.parseInt(st.nextToken()); + } + if (st.hasMoreTokens()) + { + maxbitrate = Integer.parseInt(st.nextToken()); + } + } + if (nominalbitrate > 0) af_properties.put("bitrate",new Integer(nominalbitrate)); + af_properties.put("vbr",new Boolean(true)); + + if (minbitrate > 0) aff_properties.put("ogg.bitrate.min.bps",new Integer(minbitrate)); + if (maxbitrate > 0) aff_properties.put("ogg.bitrate.max.bps",new Integer(maxbitrate)); + if (nominalbitrate > 0) aff_properties.put("ogg.bitrate.nominal.bps",new Integer(nominalbitrate)); + if (vorbisInfo.channels > 0) aff_properties.put("ogg.channels",new Integer(vorbisInfo.channels)); + if (vorbisInfo.rate > 0) aff_properties.put("ogg.frequency.hz",new Integer(vorbisInfo.rate)); + if (mediaLength > 0) aff_properties.put("ogg.length.bytes",new Integer(mediaLength)); + aff_properties.put("ogg.version",new Integer(vorbisInfo.version)); + + //AudioFormat.Encoding encoding = VorbisEncoding.VORBISENC; + //AudioFormat format = new VorbisAudioFormat(encoding, vorbisInfo.rate, AudioSystem.NOT_SPECIFIED, vorbisInfo.channels, AudioSystem.NOT_SPECIFIED, AudioSystem.NOT_SPECIFIED, true,af_properties); + + // Patch from MS to ensure more SPI compatibility ... + float frameRate = -1; + if (nominalbitrate > 0) frameRate = nominalbitrate / 8; + else if (minbitrate > 0) frameRate = minbitrate / 8; + + AudioFormat.Encoding encoding = VorbisEncoding.VORBISENC; + // New Patch from MS: + AudioFormat format = new VorbisAudioFormat(encoding, vorbisInfo.rate, AudioSystem.NOT_SPECIFIED, vorbisInfo.channels, 1, frameRate, false, af_properties); + // Patch end + + return new VorbisAudioFileFormat(VorbisFileFormatType.OGG, format, AudioSystem.NOT_SPECIFIED, mediaLength,aff_properties); + } + + /** + * Return the AudioInputStream from the given InputStream. + */ + public AudioInputStream getAudioInputStream(InputStream inputStream) throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) TDebug.out("getAudioInputStream(InputStream inputStream)"); + return getAudioInputStream(inputStream, AudioSystem.NOT_SPECIFIED, AudioSystem.NOT_SPECIFIED); + } + + /** + * Return the AudioInputStream from the given InputStream. + */ + public AudioInputStream getAudioInputStream(InputStream inputStream, int medialength, int totalms) throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) TDebug.out("getAudioInputStream(InputStream inputStreamint medialength, int totalms)"); + try + { + if (!inputStream.markSupported()) inputStream = new BufferedInputStream(inputStream); + inputStream.mark(MARK_LIMIT); + AudioFileFormat audioFileFormat = getAudioFileFormat(inputStream, medialength, totalms); + inputStream.reset(); + return new AudioInputStream(inputStream, audioFileFormat.getFormat(), audioFileFormat.getFrameLength()); + } + catch (UnsupportedAudioFileException e) + { + inputStream.reset(); + throw e; + } + catch (IOException e) + { + inputStream.reset(); + throw e; + } + } + + /** + * Return the AudioInputStream from the given File. + */ + public AudioInputStream getAudioInputStream(File file) throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) TDebug.out("getAudioInputStream(File file)"); + InputStream inputStream = new FileInputStream(file); + try + { + return getAudioInputStream(inputStream); + } + catch (UnsupportedAudioFileException e) + { + if (inputStream != null) inputStream.close(); + throw e; + } + catch (IOException e) + { + if (inputStream != null) inputStream.close(); + throw e; + } + } + + /** + * Return the AudioInputStream from the given URL. + */ + public AudioInputStream getAudioInputStream(URL url) throws UnsupportedAudioFileException, IOException + { + if (TDebug.TraceAudioFileReader) TDebug.out("getAudioInputStream(URL url)"); + InputStream inputStream = url.openStream(); + try + { + return getAudioInputStream(inputStream); + } + catch (UnsupportedAudioFileException e) + { + if (inputStream != null) inputStream.close(); + throw e; + } + catch (IOException e) + { + if (inputStream != null) inputStream.close(); + throw e; + } + } + + /** + * Reads headers and comments. + */ + private void readHeaders(HashMap aff_properties, HashMap af_properties) throws IOException + { + if(TDebug.TraceAudioConverter) TDebug.out("readHeaders("); + index = oggSyncState_.buffer(bufferSize_); + buffer = oggSyncState_.data; + bytes = readFromStream(buffer, index, bufferSize_); + if(bytes == -1) + { + if(TDebug.TraceAudioConverter) TDebug.out("Cannot get any data from selected Ogg bitstream."); + throw new IOException("Cannot get any data from selected Ogg bitstream."); + } + oggSyncState_.wrote(bytes); + if(oggSyncState_.pageout(oggPage_) != 1) + { + if(bytes < bufferSize_) + { + throw new IOException("EOF"); + } + if(TDebug.TraceAudioConverter) TDebug.out("Input does not appear to be an Ogg bitstream."); + throw new IOException("Input does not appear to be an Ogg bitstream."); + } + oggStreamState_.init(oggPage_.serialno()); + vorbisInfo.init(); + vorbisComment.init(); + aff_properties.put("ogg.serial",new Integer(oggPage_.serialno())); + if(oggStreamState_.pagein(oggPage_) < 0) + { + // error; stream version mismatch perhaps + if(TDebug.TraceAudioConverter) TDebug.out("Error reading first page of Ogg bitstream data."); + throw new IOException("Error reading first page of Ogg bitstream data."); + } + if(oggStreamState_.packetout(oggPacket_) != 1) + { + // no page? must not be vorbis + if(TDebug.TraceAudioConverter) TDebug.out("Error reading initial header packet."); + throw new IOException("Error reading initial header packet."); + } + if(vorbisInfo.synthesis_headerin(vorbisComment, oggPacket_) < 0) + { + // error case; not a vorbis header + if(TDebug.TraceAudioConverter) TDebug.out("This Ogg bitstream does not contain Vorbis audio data."); + throw new IOException("This Ogg bitstream does not contain Vorbis audio data."); + } + int i = 0; + while(i < 2) + { + while(i < 2) + { + int result = oggSyncState_.pageout(oggPage_); + if(result == 0) + { + break; + } // Need more data + if(result == 1) + { + oggStreamState_.pagein(oggPage_); + while(i < 2) + { + result = oggStreamState_.packetout(oggPacket_); + if(result == 0) + { + break; + } + if(result == -1) + { + if(TDebug.TraceAudioConverter) TDebug.out("Corrupt secondary header. Exiting."); + throw new IOException("Corrupt secondary header. Exiting."); + } + vorbisInfo.synthesis_headerin(vorbisComment, oggPacket_); + i++; + } + } + } + index = oggSyncState_.buffer(bufferSize_); + buffer = oggSyncState_.data; + bytes = readFromStream(buffer, index, bufferSize_); + if(bytes == -1) + { + break; + } + if(bytes == 0 && i < 2) + { + if(TDebug.TraceAudioConverter) TDebug.out("End of file before finding all Vorbis headers!"); + throw new IOException("End of file before finding all Vorbis headers!"); + } + oggSyncState_.wrote(bytes); + } + // Read Ogg Vorbis comments. + byte[][] ptr = vorbisComment.user_comments; + String currComment = ""; + int c = 0; + for(int j = 0; j < ptr.length; j++) + { + if(ptr[j] == null) + { + break; + } + currComment = (new String(ptr[j], 0, ptr[j].length - 1,"UTF-8")).trim(); + if(TDebug.TraceAudioConverter) TDebug.out(currComment); + if (currComment.toLowerCase().startsWith("artist")) + { + aff_properties.put("author",currComment.substring(7)); + } + else if (currComment.toLowerCase().startsWith("title")) + { + aff_properties.put("title",currComment.substring(6)); + } + else if (currComment.toLowerCase().startsWith("album")) + { + aff_properties.put("album",currComment.substring(6)); + } + else if (currComment.toLowerCase().startsWith("date")) + { + aff_properties.put("date",currComment.substring(5)); + } + else if (currComment.toLowerCase().startsWith("copyright")) + { + aff_properties.put("copyright",currComment.substring(10)); + } + else if (currComment.toLowerCase().startsWith("comment")) + { + aff_properties.put("comment",currComment.substring(8)); + } + else if (currComment.toLowerCase().startsWith("genre")) + { + aff_properties.put("ogg.comment.genre",currComment.substring(6)); + } + else if (currComment.toLowerCase().startsWith("tracknumber")) + { + aff_properties.put("ogg.comment.track",currComment.substring(12)); + } + else + { + c++; + aff_properties.put("ogg.comment.ext."+c,currComment); + } + aff_properties.put("ogg.comment.encodedby",new String(vorbisComment.vendor, 0, vorbisComment.vendor.length - 1)); + } + } + + /** + * Reads from the oggBitStream_ a specified number of Bytes(bufferSize_) worth + * starting at index and puts them in the specified buffer[]. + * + * @return the number of bytes read or -1 if error. + */ + private int readFromStream(byte[] buffer, int index, int bufferSize_) + { + int bytes = 0; + try + { + bytes = oggBitStream_.read(buffer, index, bufferSize_); + } + catch (Exception e) + { + if (TDebug.TraceAudioFileReader) + { + TDebug.out("Cannot Read Selected Song"); + } + bytes = -1; + } + return bytes; + } + + /** + * Initializes all the jOrbis and jOgg vars that are used for song playback. + */ + private void init_jorbis() + { + oggSyncState_ = new SyncState(); + oggStreamState_ = new StreamState(); + oggPage_ = new Page(); + oggPacket_ = new Packet(); + vorbisInfo = new Info(); + vorbisComment = new Comment(); + vorbisDspState = new DspState(); + vorbisBlock = new Block(vorbisDspState); + buffer = null; + bytes = 0; + oggSyncState_.init(); + } +} diff --git a/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFormat.java b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFormat.java new file mode 100644 index 0000000..c451505 --- /dev/null +++ b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisAudioFormat.java @@ -0,0 +1,66 @@ +/* + * VorbisAudioFormat. + * + * JavaZOOM : vorbisspi@javazoom.net + * http://www.javazoom.net + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +package com.github.trilarion.spi.vorbis.sampled.file; + +import java.util.Map; + +import javax.sound.sampled.AudioFormat; + +import com.github.trilarion.share.sampled.TAudioFormat; + +/** + * @author JavaZOOM + */ +public class VorbisAudioFormat extends TAudioFormat +{ + /** + * Constructor. + * @param encoding + * @param nFrequency + * @param SampleSizeInBits + * @param nChannels + * @param FrameSize + * @param FrameRate + * @param isBigEndian + * @param properties + */ + public VorbisAudioFormat(AudioFormat.Encoding encoding, float nFrequency, int SampleSizeInBits, int nChannels, int FrameSize, float FrameRate, boolean isBigEndian, Map properties) + { + super(encoding, nFrequency, SampleSizeInBits, nChannels, FrameSize, FrameRate, isBigEndian, properties); + } + + /** + * Ogg Vorbis audio format parameters. + * Some parameters might be unavailable. So availability test is required before reading any parameter. + * + *
AudioFormat parameters. + *
    + *
  • bitrate [Integer], bitrate in bits per seconds, average bitrate for VBR enabled stream. + *
  • vbr [Boolean], VBR flag. + *
+ */ + public Map properties() + { + return super.properties(); + } +} diff --git a/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisEncoding.java b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisEncoding.java new file mode 100644 index 0000000..4805996 --- /dev/null +++ b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisEncoding.java @@ -0,0 +1,41 @@ +/* + * VorbisEncoding. + * + * JavaZOOM : vorbisspi@javazoom.net + * http://www.javazoom.net + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +package com.github.trilarion.spi.vorbis.sampled.file; + +import javax.sound.sampled.AudioFormat; + +/** + * Encodings used by the VORBIS audio decoder. + */ +public class VorbisEncoding extends AudioFormat.Encoding +{ + public static final AudioFormat.Encoding VORBISENC = new VorbisEncoding("VORBISENC"); + + /** + * Constructors. + */ + public VorbisEncoding(String name) + { + super(name); + } +} diff --git a/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisFileFormatType.java b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisFileFormatType.java new file mode 100644 index 0000000..8fc0153 --- /dev/null +++ b/src/main/java/com/github/trilarion/spi/vorbis/sampled/file/VorbisFileFormatType.java @@ -0,0 +1,41 @@ +/* + * VorbisFileFormatType. + * + * JavaZOOM : vorbisspi@javazoom.net + * http://www.javazoom.net + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +package com.github.trilarion.spi.vorbis.sampled.file; + +import javax.sound.sampled.AudioFileFormat; + +/** + * FileFormatTypes used by the VORBIS audio decoder. + */ +public class VorbisFileFormatType extends AudioFileFormat.Type +{ + public static final AudioFileFormat.Type VORBIS = new VorbisFileFormatType("VORBIS", "ogg"); + public static final AudioFileFormat.Type OGG = new VorbisFileFormatType("OGG", "ogg"); + /** + * Constructor. + */ + public VorbisFileFormatType(String name, String extension) + { + super(name, extension); + } +} diff --git a/src/main/java/com/github/trilarion/vorbis/util/VorbisException.java b/src/main/java/com/github/trilarion/vorbis/util/VorbisException.java new file mode 100644 index 0000000..943ca30 --- /dev/null +++ b/src/main/java/com/github/trilarion/vorbis/util/VorbisException.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2013 Trilarion + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ +package com.github.trilarion.vorbis.util; + +import java.util.logging.Logger; + +/** + * + * @author + */ +public class VorbisException extends Exception { + + /** + * Only a constructor with a string argument to force users to give + * meaningful messages. + * + * @param s + */ + public VorbisException(String s) { + super("Vorbis exception " + s); + } + + private static final Logger LOG = Logger.getLogger(VorbisException.class.getName()); +} diff --git a/src/main/resources/META-INF/license.txt b/src/main/resources/META-INF/license.txt new file mode 100644 index 0000000..42899c2 --- /dev/null +++ b/src/main/resources/META-INF/license.txt @@ -0,0 +1,24 @@ +This work is based on three libraries: + +JOrbis (http://www.jcraft.com/jorbis/), VorbisSPI (http://www.javazoom.net/vorbisspi/vorbisspi.html) and Tritonus-Share (http://www.tritonus.org/plugins.html) which are all published under the LGPLv2+ license. + +Here they are combined and further developed. + +This library is licensed under LGPLv3 (http://www.gnu.org/licenses/lgpl-3.0.txt) and Java 7 or later is required. + +Please refer to https://github.com/Trilarion/java-vorbis-support as homepage of this library. + +--- + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published +by the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this program. If not, see . diff --git a/src/main/resources/META-INF/services/javax.sound.sampled.spi.AudioFileReader b/src/main/resources/META-INF/services/javax.sound.sampled.spi.AudioFileReader new file mode 100644 index 0000000..b6bec7b --- /dev/null +++ b/src/main/resources/META-INF/services/javax.sound.sampled.spi.AudioFileReader @@ -0,0 +1,2 @@ +# provider of ogg-vorbis decoding services +com.github.trilarion.spi.vorbis.sampled.file.VorbisAudioFileReader \ No newline at end of file diff --git a/src/main/resources/META-INF/services/javax.sound.sampled.spi.FormatConversionProvider b/src/main/resources/META-INF/services/javax.sound.sampled.spi.FormatConversionProvider new file mode 100644 index 0000000..e633fe2 --- /dev/null +++ b/src/main/resources/META-INF/services/javax.sound.sampled.spi.FormatConversionProvider @@ -0,0 +1,2 @@ +# provider of ogg-vorbis decoding services +com.github.trilarion.spi.vorbis.sampled.convert.VorbisFormatConversionProvider diff --git a/src/test/java/com/github/trilarion/vorbis/spi/SPIDecoderTest.java b/src/test/java/com/github/trilarion/vorbis/spi/SPIDecoderTest.java new file mode 100644 index 0000000..fb8b814 --- /dev/null +++ b/src/test/java/com/github/trilarion/vorbis/spi/SPIDecoderTest.java @@ -0,0 +1,169 @@ +/* + * Copyright (C) 2005 Javazoom + * 2013 Trilarion + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ +package com.github.trilarion.vorbis.spi; + +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.Properties; +import java.util.logging.Logger; +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.SourceDataLine; +import javax.sound.sampled.UnsupportedAudioFileException; +import com.github.trilarion.spi.PropertiesContainer; +import org.junit.Assert; +import org.junit.Test; + +/** + * Simple player (based on SPI) unit test. + */ +public class SPIDecoderTest { + + private String filename = null; + private String fileurl = null; + + /** + * + * @throws IOException + */ + public SPIDecoderTest() throws IOException { + + Properties props = new Properties(); + props.load(this.getClass().getClassLoader().getResourceAsStream("spi.test.properties")); + filename = props.getProperty("filename"); + fileurl = props.getProperty("stream"); + } + + /** + * + */ + @Test + public void testPlayFile() { + try { + System.out.println("Start : " + filename); + File file = new File("Agogo.ogg"); + + AudioFileFormat aff = AudioSystem.getAudioFileFormat(file); + System.out.println(" Audio Type : " + aff.getType()); + + AudioInputStream in = AudioSystem.getAudioInputStream(file); + if (in != null) { + AudioFormat baseFormat = in.getFormat(); + System.out.println(" Source Format : " + baseFormat.toString()); + + AudioFormat decodedFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), + 16, baseFormat.getChannels(), baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false); + System.out.println(" Target Format : " + decodedFormat.toString()); + + AudioInputStream dataIn = AudioSystem.getAudioInputStream(decodedFormat, in); + if (dataIn instanceof PropertiesContainer) { + // it's a PropertiesContainer = OK + } else { + Assert.fail("Wrong PropertiesContainer instance"); + } + // play + rawplay(decodedFormat, dataIn); + + in.close(); + System.out.println("Stop : " + filename); + + // testPlay has been okay + } + } catch (UnsupportedAudioFileException | IOException | LineUnavailableException e) { + Assert.fail("testPlay : " + e.getMessage()); + } + } + + /** + * + */ + @Test + public void testPlayURL() { + try { + System.out.println("Start : " + fileurl); + URL url = new URL(fileurl); + + AudioFileFormat aff = AudioSystem.getAudioFileFormat(url); + System.out.println(" Audio Type : " + aff.getType()); + + AudioInputStream in = AudioSystem.getAudioInputStream(url); + if (in != null) { + AudioFormat baseFormat = in.getFormat(); + System.out.println(" Source Format : " + baseFormat.toString()); + + AudioFormat decodedFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, + baseFormat.getSampleRate(), 16, baseFormat.getChannels(), + baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false); + System.out.println(" Target Format : " + decodedFormat.toString()); + + AudioInputStream dataIn = AudioSystem.getAudioInputStream(decodedFormat, in); + if (dataIn instanceof PropertiesContainer) { + // it's a PropertiesContainer = OK + } else { + Assert.fail("Wrong PropertiesContainer instance"); + } + rawplay(decodedFormat, dataIn); + + System.out.println("Stop : " + filename); + + // testPlay has been OK + } + } catch (UnsupportedAudioFileException | IOException | LineUnavailableException e) { + Assert.fail("testPlay : " + e.getMessage()); + } + } + + private void rawplay(AudioFormat targetFormat, AudioInputStream dataIn) throws IOException, LineUnavailableException { + // get buffer + byte[] data = new byte[4096]; + + // get line + DataLine.Info info = new DataLine.Info(SourceDataLine.class, targetFormat); + SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info); + + if (line != null) { + // open it + line.open(); + + // start + line.start(); + int nBytesRead = 0, nBytesWritten = 0; + while (nBytesRead != -1) { + nBytesRead = dataIn.read(data, 0, data.length); + if (nBytesRead != -1) { + nBytesWritten = line.write(data, 0, nBytesRead); + } + } + + // stop line + line.drain(); + line.stop(); + line.close(); + + // stop input stream + dataIn.close(); + } + } + private static final Logger LOG = Logger.getLogger(SPIDecoderTest.class.getName()); +} diff --git a/src/test/java/com/github/trilarion/vorbis/spi/vorbis/sampled/file/PropertiesTest.java b/src/test/java/com/github/trilarion/vorbis/spi/vorbis/sampled/file/PropertiesTest.java new file mode 100644 index 0000000..014a58c --- /dev/null +++ b/src/test/java/com/github/trilarion/vorbis/spi/vorbis/sampled/file/PropertiesTest.java @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2005 Javazoom + * 2013 Trilarion + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ +package com.github.trilarion.vorbis.spi.vorbis.sampled.file; + +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.util.Map; +import java.util.Properties; +import java.util.logging.Logger; +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.UnsupportedAudioFileException; +import org.junit.Assert; +import org.junit.Test; + +/** + * PropertiesContainer unit test. It matches test.ogg properties to + * test.ogg.properties expected results. As we don't ship test.ogg, you have to + * generate your own test.ogg.properties Uncomment out = System.out; in setUp() + * method to generated it on stdout from your own Ogg Vorbis file. + */ +public class PropertiesTest { + + private String filename = null; + private String fileurl = null; + + /** + * + * @throws IOException + */ + public PropertiesTest() throws IOException { + + Properties props = new Properties(); + props.load(this.getClass().getClassLoader().getResourceAsStream("spi.test.properties")); + filename = (String) props.getProperty("filename"); + fileurl = (String) props.getProperty("stream"); + } + + /** + * + */ + @Test + public void testPropertiesFile() { + String[] testPropsAFF = {"duration", "title", "author", "album", "date", "comment", + "copyright", "ogg.bitrate.min", "ogg.bitrate.nominal", "ogg.bitrate.max"}; + String[] testPropsAF = {"vbr", "bitrate"}; + + try { + File file = new File(filename); + + AudioFileFormat baseFileFormat = AudioSystem.getAudioFileFormat(file); + AudioFormat baseFormat = baseFileFormat.getFormat(); + System.out.println("-> Filename : " + filename + " <-"); + System.out.println(baseFileFormat); + Map properties = baseFileFormat.properties(); + System.out.println(properties); + for (String key : testPropsAFF) { + if (properties.get(key) != null) { + String val = (properties.get(key)).toString(); + System.out.println(key + "=" + val); + } + } + for (String key : testPropsAF) { + if (properties.get(key) != null) { + String val = (properties.get(key)).toString(); + System.out.println(key + "=" + val); + } + } + + } catch (UnsupportedAudioFileException | IOException e) { + Assert.fail("testPropertiesFile : " + e.getMessage()); + } + } + + /** + * + */ + @Test + public void testPropertiesURL() { + String[] testPropsAFF = {"duration", "title", "author", "album", "date", "comment", + "copyright", "ogg.bitrate.min", "ogg.bitrate.nominal", "ogg.bitrate.max"}; + String[] testPropsAF = {"vbr", "bitrate"}; + try { + URL url = new URL(fileurl); + AudioFileFormat baseFileFormat = AudioSystem.getAudioFileFormat(url); + AudioFormat baseFormat = baseFileFormat.getFormat(); + System.out.println("-> URL : " + fileurl + " <-"); + System.out.println(baseFileFormat); + Map properties = baseFileFormat.properties(); + System.out.println(properties); + for (String key : testPropsAFF) { + if (properties.get(key) != null) { + String val = (properties.get(key)).toString(); + System.out.println(key + "=" + val); + } + } + + for (String key : testPropsAF) { + if (properties.get(key) != null) { + String val = (properties.get(key)).toString(); + System.out.println(key + "=" + val); + } + } + + } catch (UnsupportedAudioFileException | IOException e) { + Assert.fail("testPropertiesURL : " + e.getMessage()); + } + } + private static final Logger LOG = Logger.getLogger(PropertiesTest.class.getName()); +} diff --git a/src/test/java/com/github/trilarion/vorbis/spi/vorbis/sampled/file/VorbisAudioFileReaderTest.java b/src/test/java/com/github/trilarion/vorbis/spi/vorbis/sampled/file/VorbisAudioFileReaderTest.java new file mode 100644 index 0000000..d6b80f3 --- /dev/null +++ b/src/test/java/com/github/trilarion/vorbis/spi/vorbis/sampled/file/VorbisAudioFileReaderTest.java @@ -0,0 +1,219 @@ +/* + * Copyright (C) 2005 Javazoom + * 2013 Trilarion + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ +package com.github.trilarion.vorbis.spi.vorbis.sampled.file; + +import java.io.BufferedInputStream; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.logging.Logger; +import javax.sound.sampled.AudioFileFormat; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.UnsupportedAudioFileException; +import org.junit.Test; + +/** + * This test case doesn't include assert, so it's not a jUnit test as you used + * to have. However, it helps in testing all methods of SPI. + */ +public class VorbisAudioFileReaderTest { + + private final String[] names = {"Agogo.ogg"}; + + /** + * + */ + @Test + public void testGetAudioFileFormat() { + for (String name : names) { + _testGetAudioFileFormatFile(name); + _testGetAudioFileFormatURL(name); + _testGetAudioFileFormatInputStream(name); + } + } + + /** + * + */ + @Test + public void testGetAudioInputStream() { + for (String name : names) { + _testGetAudioInputStreamFile(name); + _testGetAudioInputStreamURL(name); + _testGetAudioInputStreamInputStream(name); + } + //_testGetInfo(); + } + + /* + * Test for AudioFileFormat getAudioFileFormat(File) + */ + private void _testGetAudioFileFormatFile(String filename) { + System.out.println("*** testGetAudioFileFormatFile ***"); + try { + File file = new File(filename); + AudioFileFormat baseFileFormat = AudioSystem.getAudioFileFormat(file); + dumpAudioFileFormat(baseFileFormat, file.toString()); + // TODO : Add assert(); + } catch (UnsupportedAudioFileException | IOException e) { + // TODO e.printStackTrace(); + } + } + + /* + * Test for AudioFileFormat getAudioFileFormat(URL) + */ + private void _testGetAudioFileFormatURL(String fileurl) { + System.out.println("*** testGetAudioFileFormatURL ***"); + try { + URL url = new URL(fileurl); + AudioFileFormat baseFileFormat = AudioSystem.getAudioFileFormat(url); + dumpAudioFileFormat(baseFileFormat, url.toString()); + // TODO : Add assert(); + } catch (UnsupportedAudioFileException | IOException e) { + // TODO e.printStackTrace(); + } + } + + /* + * Test for AudioFileFormat getAudioFileFormat(InputStream) + */ + private void _testGetAudioFileFormatInputStream(String filename) { + System.out.println("*** testGetAudioFileFormatInputStream ***"); + try (InputStream in = new BufferedInputStream(new FileInputStream(filename))) { + AudioFileFormat baseFileFormat = AudioSystem.getAudioFileFormat(in); + dumpAudioFileFormat(baseFileFormat, in.toString()); + } catch (UnsupportedAudioFileException | IOException e) { + // TODO e.printStackTrace(); + } + } + + /* + * Test for AudioInputStream getAudioInputStream(InputStream) + */ + private void _testGetAudioInputStreamInputStream(String filename) { + System.out.println("*** testGetAudioInputStreamInputStream ***"); + try { + AudioInputStream in; + try (InputStream fin = new BufferedInputStream(new FileInputStream(filename))) { + in = AudioSystem.getAudioInputStream(fin); + dumpAudioInputStream(in, fin.toString()); + } + in.close(); + // TODO : Add assert(); + } catch (UnsupportedAudioFileException | IOException e) { + // TODO e.printStackTrace(); + } + } + + /* + * Test for AudioInputStream getAudioInputStream(File) + */ + private void _testGetAudioInputStreamFile(String filename) { + System.out.println("*** testGetAudioInputStreamFile ***"); + try { + File file = new File(filename); + try (AudioInputStream in = AudioSystem.getAudioInputStream(file)) { + dumpAudioInputStream(in, file.toString()); + } + } catch (UnsupportedAudioFileException | IOException e) { + // TODO e.printStackTrace(); + } + } + + /* + * Test for AudioInputStream getAudioInputStream(URL) + */ + private void _testGetAudioInputStreamURL(String fileurl) { + System.out.println("*** testGetAudioInputStreamURL ***"); + try { + URL url = new URL(fileurl); + try (AudioInputStream in = AudioSystem.getAudioInputStream(url)) { + dumpAudioInputStream(in, url.toString()); + } + } catch (UnsupportedAudioFileException | IOException e) { + // TODO e.printStackTrace(); + } + } + + /** + * + * @param filename + */ + public void _testGetInfo(String filename) { + System.out.println("*** testGetInfo ***"); + try { + byte[] audioData = getByteArrayFromFile(new File(filename)); + AudioInputStream ais = AudioSystem.getAudioInputStream(new ByteArrayInputStream(audioData)); + } catch (IOException | UnsupportedAudioFileException e) { + // TODO e.printStackTrace(); + } + } + + private static byte[] getByteArrayFromFile(final File file) throws FileNotFoundException, IOException { + try (FileInputStream fis = new FileInputStream(file)) { + final ByteArrayOutputStream bos = new ByteArrayOutputStream((int) file.length()); + final byte[] buffer = new byte[1024]; + int cnt; + while ((cnt = fis.read(buffer)) != -1) { + bos.write(buffer, 0, cnt); + } + return bos.toByteArray(); + } + } + + private void dumpAudioFileFormat(AudioFileFormat baseFileFormat, String info) throws UnsupportedAudioFileException { + // AudioFileFormat + System.out.println(" ----- " + info + " -----"); + System.out.println(" ByteLength=" + baseFileFormat.getByteLength()); + System.out.println(" getFrameLength=" + baseFileFormat.getFrameLength()); + System.out.println(" getType=" + baseFileFormat.getType()); + AudioFormat baseFormat = baseFileFormat.getFormat(); + // AudioFormat + System.out.println(" Source Format=" + baseFormat.toString()); + System.out.println(" Channels=" + baseFormat.getChannels()); + System.out.println(" FrameRate=" + baseFormat.getFrameRate()); + System.out.println(" FrameSize=" + baseFormat.getFrameSize()); + System.out.println(" SampleRate=" + baseFormat.getSampleRate()); + System.out.println(" SampleSizeInBits=" + baseFormat.getSampleSizeInBits()); + System.out.println(" Encoding=" + baseFormat.getEncoding()); + } + + private void dumpAudioInputStream(AudioInputStream in, String info) throws IOException { + System.out.println(" ----- " + info + " -----"); + System.out.println(" Available=" + in.available()); + System.out.println(" FrameLength=" + in.getFrameLength()); + AudioFormat baseFormat = in.getFormat(); + // AudioFormat + System.out.println(" Source Format=" + baseFormat.toString()); + System.out.println(" Channels=" + baseFormat.getChannels()); + System.out.println(" FrameRate=" + baseFormat.getFrameRate()); + System.out.println(" FrameSize=" + baseFormat.getFrameSize()); + System.out.println(" SampleRate=" + baseFormat.getSampleRate()); + System.out.println(" SampleSizeInBits=" + baseFormat.getSampleSizeInBits()); + System.out.println(" Encoding=" + baseFormat.getEncoding()); + } + private static final Logger LOG = Logger.getLogger(VorbisAudioFileReaderTest.class.getName()); +} diff --git a/src/test/resources/spi.test.properties b/src/test/resources/spi.test.properties new file mode 100644 index 0000000..d376436 --- /dev/null +++ b/src/test/resources/spi.test.properties @@ -0,0 +1,3 @@ +# Ogg Vorbis file +filename=Agogo.ogg +stream=http://www.twelvepm.de/vorbis/Agogo.ogg

FI(n>DIN`a7G__uK`Ieey1lj~ z=fCQp;co^}HsIb`-ZPlWM%DIo!a%ZBDpJ}guR&uJnn~xWP-QTCZ819CIBexH;-_?; z1H!G_z*mS8it(h}$86-DXwv@H)XN9E=@Ruq;(Kx@$4m;*v}F-97`Ygqmxs>uZD4Eg zibYt3M%nJr)_Om%H&5c~7!vIC%k{#KnMyY;Rv(F%DE%O&LBZVMiWhzDUshh*yPwlY z;1>2fGR#lQ4~Cs@QSKHi%x}%ZO}4XRa`>{T%!Nhomn|j$kQ;Cs(rZqAlk?n&-2-E3)UFt|dHDN^d2Ywrev4z3gLD z1Lrfw6m@1^$i`>Bh+#@g{)D>bzSk@l6S7rLRIY47n&j9JznJ4d?HRkHl zged;^vMZ$KzjZk8c*{>*&TW9C{?9AT3!XkG?e1!iF`hIhRf-6w!iM(X(-TTNPBjO@ zeI1!$taKur5s;-Njac(JbZE`M+!^dO{8Cc&NT;Dued<(g!bioIGgOnUQ79Jk;D_QO zwT~#rpb699NMz?!_6)J)3=o3#hpIT;6zOV>IyJE(=pMLU!i&?DfHg@M!TYQpi1I{j zuYx+YoE-MI1!YU)Zfyzs6HSe^%>!X5;Z}mhq&A(+<}SxEf160Tjpws4|}&!OQb$2? zfIzc~Lh)KP7KB5pnHE&Zx)3w&r3wGHctK%dQ4i9HkVw3?eJ>L?$#hFt9abw0VSl6i zg*Lh&peRGlBzWCcq&AVzm<>2zXfs3Jft8`=rdllL33ydfHpaaU5UUO6#_C{ZGL}5f z-#Jg6sHmyna`PzX^)OYcTJTBO!aZ(&-Fse-gdn^)<1-b1OxA72%xD&a@8b$p0Uek zT$0@8Y|aNBV4B=pE;C8?AVr7N_Pb*Q>^wI`LW50StjccuA#Eej-Gg~aa;%?G7F3sf zHyDxyh6cs{{~#&oMhTELlj_8oOaxfvX}}K({EKDaJ!RO7*31i4uk>XKur?^o?QD%r z0aI0gD47FHwR|Dd4)Fio}Gy_p4Uf!v-tERv9&#yd>uS zwI2fp_k3QT*I(3-bsadmYQ0Mp|{^`Mb$E}DtR>_gqaPwer7fY-Q?afHZhiLsZ zCQ2krah7on+Quo1iXF{n6NFCvqA{yA za}gq{bX&5gh+0rX1}gelpQ-Z5Y zRPhsFv}y2y!oYxSvcDi?SPWtu03}t~s!2F6Kx*j3U~)NIrZt1C+%PsQHe?ELDjUysHG{;nT(t+M`SVBOrT-bPzQch1>Fj?p%!F0c(GTV*MzKz zsiHx%E{ap;?CIs#qU6J8Vpv|Lup5Py z4e4W0UD_%9Koy4^+_TAUjDVm(s`)hgdT#*VGJPBd7_PDJ{D}avtCOfN*%!h2q~^49 zRsiqLC*2187c92Jm)z9;-E}!iB&Lkjd%({^e7KM6UX*}s({ux*is&$=kbfvNA$(77U$@x>wy9gVDs++qgJgS~2&v%5Fe^F2B;4MS-NicG^-0-|At zm>9JF9bi3|TFHA2H$y{(xah+4t$6@oB@BT!&X%Mjz&uQBwKUKGBFSpRum9@O^~sAJ zIR6PboQZKRFe8MLTU;|YGU1|D3Rv&p)Z=K)0-cN8Bf|B3IZ=~ALsmjoGk;=r1X8gI zHb6|~1`;E?#Dv|yV?+E%%SedO-FubqEl)Rp=*MHu&q5z!RXl|BM96GXSEI{mvH<#8!0GDn zt1{tDxG6b_H0ehrYJ;EZ11U@e4QHgBVVQl*(WOyG3n+nuoRt*@^bYi`H-8bMog_yx zdJ($%W9~&vpMf^;iQwH@>437EHbA#=$9HFn5;dTqG=O28AGLO$7?&wF@mmoV`BXsL znGVZP0OYNGDMZNOVmNG>w#Ng!GDLX&wPNEb?{HAUPu(R(&ww0+ugRd^5n?9fj#pfi zP8y)aKH+s^?0V(vc9s{|0YBLmeH=TA7LK9nkigFt^G)80WpqdO*m?67pvvcX+b+&F zy6#6YWf(LZ7)rbsP9>t1Y{Vh7m?;y0RXQZ`;`BBo*e5BE{=vAeAnfOOl)!s2@&w;;+zw)&wd< zYM{+8ZcxLlSNJ4%r4xwRj=DPTY7hLr zIbqzCmU(Dkm*79vv1ae~PaoKCV#6ZK1wd;$Tsk8^! z^FIN^5Stv57h=iV>(@qs@&#ae0llwUyxs+QY8`R<+I?mu-yVpmyezdH&l_Ha1qMji z@+3kh=&9H#r4EC0qiJ7wBcyFNk<=HbdVOV##{iuj{U#ndS_B=2VsD7CzXS_z{|k0~ z?(F{|X$X~73VaTbay6lmAy@fj@kis(K;A@Jv(|P+oh*gd_BazyF_vG+IhY8=B|)OA z2=L{H9mGahC95#<9hcbw4moM@>k{aFY^99{6X6$w{9KQ_S>GB(;oM1o%8TN->zZBK zYDr~#KMiX6+OA*Uy^Ro0q4)2`l%sbV$Qg@UkSxWr`@+$MIh%A$sOn=Kl#-)3@Q6u^ zq-eyea_00p5z|h^|MTPxM^YW#D1l;Xs?XS)L!^Sas{((ns7>BII!sy> zW{zhLE*i{;=7KLaqzyd8q{Qu06s%-bbPC$>?A|VY_M&{%XoS<602x@*LuDyDJ+4}8 z!^)D_t}YPgGLh`#`hF06GhH4j5t$LHb2&Z5{tEYccMzrz^Rs&}u>i4r_Xiui!y zl$c@LAQ{kqwWs*oH`t&zwU1S9l?RR5OKdFP@N0)hhT(sC{1w)kmjn%Vju+{YV@l)D zm`D3lZDrWUBrP636zR)Oc(FNM7KyiaOtM0@%n{e|^%l;+@=sp{Apvaj%UYv4U*U(( zaE{&v;o|o3mrS2g6Bn^^jL-YD zy4kP0E$Zy*xL#Yx>gTyo&|aG;(u2AG1t?IzUOiXTT^7kUX79AE%m@!ti;fp=TVk*d z+~=}&wA!6r50Pj~FW#O*i!9=)G-%3eNN;ap>r{v8q+X_DH&)>OpthL)U7}BQUNj!eVANC*C2t}&Co@z>#Yj&`Yv%#6aKAEEQ z7X)`CwrAqx!q$|7&tEBXS^WAU9m+MF!CL-7OQLz*sNhsFlvpoRvYLL9MsTYY1E137aa{i9ehd z{*7MXysa)DL4U6vFyth93F7!tThX#-53Ai2y}87wA-ghF-Si7=C1MAA!|c4>{#w<2 zPO^{Y@x{2n3FeM=!WqoNy0^`;0^cYi`d&~qk*t>L7f&T(WfAIRwpg)T)kxMA5^GB% znqZteQkI@on`lWc6Ok#oQsL4mdv9V7I3Xq5D-6ykq8{^SQOSi){-RAt7@0r?a-3ey zl;yJ5(pJN-?aKOdCd-gE?qzwgboYkxU+X~Ksi9!m6$~p<&2(xengJyW0(AS>qCd$d z0_ERU$7=z4HM!Hjzc$Js9^7VnP;biCrZOT&^dwfv7FzpXwB0I+%|-VVSQi8f4WOix zHu6H;%2bxhtwH!yM8{qSYxulrjKc%J#h*S0e=hv+hQauhgnUZO)lrKWIAqY=-PF<+ z6BlWg)j<*IP8gcQOmWXy6_ax&Im#k7NQVC+a`xJp7c0iU&UvL|djD7+gtP{t!viSq z$n?N`e8HvPMH0U$j~j#6o~vQOa@>9}9w2On0u~BcxNaRdGxVX4bD6U}@*=t2cwJgj zCMYd46Jb=j5+HxP0GWgxe{BjuQW&4t@vFsf{_rXTnzKiWLZ^?WQIW2F&foT?ItWF0 z28%6ExdgLDMCk}+EM$9zJFNIGv2gk`Jh!q$#chO%B&Oe$&)!a=T_R0(2cm5xYn9ab zqpb!G?PMX(@1vCGOKCLDUdAh-U^e5+AfKt{wR#gzbjxxRVyh%S$|3Y@!;&?-s8b~c zVAn(>Wucbub|RW`TCesyes{XG@{WZ)yC@rA$LKI z`4p$Uc{_s4v`v~mK!L85Yov1B2vkc3rnV5%@^VC!MCrq=f}s+5>{x)M5r|rJwj0ny|@WQj`xjg)a#<_tkfuhP0=R`+emSG<9N1FKvQukOiz?^V5 zF|*~pP_Lbx_3+!{wzg7aocWRaKQZDQSM5^`z!D(oB|$02PPRuPE{H4@9#p=Y*J5*!d$7!V?`8F zG-`WQW-90BrpSytSb-v5g2ivf<$1AHNf$gi5W_6*?pSOAWbJf4ptS`_8RyzcX3~ID zGA@!c2COAzrxGg?9HZS$W$(g|LNCQ$c7Vk&>s2KqPf>*Af6%~%PxjI~aHYDfsJ~ad zFn627(FxbSs2sU;+_xi;2&UxBAnL6yrna4CLUd@<-jy&kmfe;Oc&K-;&O}YKfugYK z%B?y-BJG!Dwk3vcZ24`2QOw1-%2GPcJwa-B4*y6ABlM7|rfLJr{bA9n*u&~Ulb+k` zEn)KKe=CR~f@5Rcj&>alpZBc<&YV8OS_mx2+?%=yY9=wxu)3|RY_w1KHFpU?fxPhf z2naE3RWHlvYs;8ELo$uckJ;+#nP<)!1$sWW^zoTGWt1$FP?mOB{{GEgO_t4LWGiiu zlxl)k4!z;$9;N_XZZc=Mz6VO(HI62)=dgTh#0QV{usOY3D`uu5C>D4_0C+01u{seE zNYkUc{{cbsh`%@t1Akmn$Xp9X#&)Ko^e?Tj&wJKy5dVjh8dPd-S3%nU^Nb=~X}p98 z?#!upxn1!GG&=XvfP2olu_d;Fb-l}sS_x~A2QEzLFO<(z-9**$xzaICe+B$QsV$So zkGqpw3aQoNa{9Xo7+m8Po_(HBiYLH0*Pu~ymf=0(zO-g*IDKo*#1peYp(kqDKG28RAmcJ z4jbG05fk02Q|Q?aP)i_`wRTH8R}40$Sm8 znR77lpUx-1l2Feym2^F3Lc#N~R(F-9i_=!|ped-S;X*GsTy_-n*@YJj{n5RNEEFix zf@Q1&XPGE3!H2=F-jM(j(#r3Xi`m%5ls9nhA`%qi;+@WstUtg1guNNZ!aSgK8 zg%6s$7?&~eetI5;)=8GAdm zi8_X=8wgV?YWRA|jw#hT%sFbPP$$(VMmtP*GObsdhbfwje${iaqh`N#qu=A^jGvy5 zagVW0!3y~*YJzJ)-)Y;Z4hyRzUktS2?ji(lmqF8tA(C@BMy*%4QNfZV4JiUXL9lsS&~QyU<3?z--(9(J+&caMMo1 z0Q7}J+XM4kqf($s9oPbG_bQ91b&)Nh8_xUi0O8E$v19eI%T#nyKY-L~F7ccaJ1Dlq zs{HtiW^8kU^2weI5 z*!W~*V!^^FXF_kADcO8G(1jm^=%41Q?et1J5@^R(Alw)7`?{e|=06k|1^enWEftJB zv60={H4;n=wm4-K#nlz^dDP1~6g6+$&VA$*sd#?jE2`|7;n1~~l{cM@&;uBRt{ZmX zepONhZhaUm3elCQ%9N*GU`=o9&yFwVpTE=A5cQw5o?m`OO3?d#M?;XtVgb@_x>F49? zjjvn`TGyPXQHp!Oj&t+k?>EFQyXrU}^+N?r@0fNzA;@1vC+?eSrEsrYXQ&0@ViipVn7bdQ=AD(y#%g8hVxRtr zki~As-@}40r||7X@d}saAa1nD6-ZdW#v+xrK~6q~5dKI0nSNHA4;VufCO|kDsaQey z?%eo)e%-aps(%3O9^v3K{3J;}3yt*LM!Lpig)u z3wOj&Y9+ofwhs);5b=jioiLb7o`TZI5$K4Io^6||Vb2=2Do-r+OMryFXC~4=ZBI1pu`RJ58h(6 z>VtYTzPAyMWx;AyN@2siY0?cNg}3m|0+x%@`xztz$a&q;xdG<)@64e%fi$MOjNs8(w*A;P3 zjE~)MiW<0N^5le;-oN0JXMC>4v-JU!#*D4eSw%`x*sV2)96SOn6~RW6drfs?2RLN1 znoGhZNY^0X;o`ESITpcxKWAPqZvW|Nd{C~)*0Isaw4 zz%2f-^FY%9<~D5C@0CX%Y4b`MB?YaYU*L7!p@Ee>|&Z;HoKPKdQ$ri@RuyQ9wj>CctJsR<*f^Ria|4sh(si1AbXBp#7(=V1ShTj4bW=s_mB zZH_wL)PA&`8&{}N8_yiQvgi53N-kao-eg;waRW#({irS9@Dre4&r`7Ks)?}~0{bN+ z<&hrN{2*Xi<01Pe9G-Ip>5`GArC+q|+2Af+`?ek&49@>X8|_aoQFj7JOS5hHX-;1p ziIndqoo>WoE{0I^V)1_J9(MnO=&k=EdhV*_+8@9Di0Z$X-v6d9RK~#G{#PK$@E>>^ z>%RcKZY(ROP1b*%exMofF~*aLS0(K^ChaQQMK0u#JS|S`(W6NL;_`tqfiwaVD%f8y zo1pv%dFGQ6oTn0xeY|yRY^fL5iC^1aB(UrAxH@xykk91G|MdA{h{hue2Lbnqj0@K2 z&x9?7`;AD5I=i!X=-$4#bM4!OT*oaksvUW=QHxwQ$ilvSbE}XXb_siPPnfAV&4|v3 z@cPqUIOw6s#*AH*^YIQR<=g-Z+=7@n6waXhq=zF>n5b?@DHRI<50z1<9kcc}<^29x zugE-{L*^4PL##51etWszZ*qKgdb@!Vkzq1spo+LIUDBpa+DfbtOS1dmFcv0CV@!yV zLQ7ET+l@F0rb(AT5>GPsrs4j}RW<<6LvvznzJG#2Yvj&8VJ5u$Gl5CW7!yf4z3yMN zzyVoCzyaM(=YUDqb2}cuS!dj&@e>84X-~skNrw0A@;M*gF zXF)P?V|Q2aj3hMLI}i>DrXnk3WpnAM-v-b5s<4YT!nTwHZYicvSK7NeDZJ4nav0ZceFrDqtL-}jZ1 zi@W~Dj}PmajhFE5!K-Ggc6vHG39F}R#=>->X{%!~v^61SFuPIg+HKKdd< zI!qM^zKWQt)nO7xAuJ;l8$swch;x#v7MwwxKh>x<=u4y>d$3IkG^sb`q=26jHJV)q z2#T;8_lHH*b?$kd!}?$6Bf3$nEoj+r451;za|%Dw;pne98e9t>T2VmoXp=|+o0jiI ztORUG;GclKxg2`~Z5>q$;rCm88((Ef;LWr;){Y|uM4+;6ykn`hh#&6vjuck|d61-e z)+p+lVz%RQ z2c22L5)3L@cs?DN_CJ*xrqp8-?^kb+y#N&L?v-)3gy_c2=r&AJ7$Z#9Uf)+vDMA%h z8Lp&=zZWK!FNw*NO)OR^)g);t zSbgFnwhS#DWZ-U$^jUq46r$;yI+FHcKKFj1Er6mj>q^iusn_wYT_)iBIiDv}^jkv= z0XFdm4lgjwX#AN4wIB>#nA$iIo?4|%`fKet*tJH;H(MBP0GON3!{!v9>lr_F1wo4+ zVi=S?@IXooS%~q65>lyZuY!*D{DLF7bFXJJM3QqBfjeM8T$ew>uy{kBmm-*cEEu}V z%deh0WF+diB2a=Cbq%N(h?5+ZjsnsZb`A$%^(8ec0)QhDQ~+LQA{bpk zx^#gVljsQ0)Nilg9rz2KF||K{NK_yjMiEHo^6sE{CAD2}jX<+;vt?d=A_ zTpiA&yHX49l`UXVU>~-g%oHW#H2r)+CVx0z;7=G7JmXkmf(1x&MqTz*MTS+@h>RLJ z_=;Sgua3$;EpS{%ec(b(*Yjt<(~y3RO0_$pmhlR`dd&}@v}~ z5gW-_-k#iIeAApc$|1@}TF|&oZrRc>T5`(`*U>Nz`Fm!#OM3ZYa4u_jh79eWdeJZ! zh#Cge*{Fs};9CYkc0j`V7vL%7A?j@d!9M*pz{1h&(h^6uW(pO)vQiDkALJU85XHn> z1-Y6AmK@y}m#>1*Q}lH)giDteL7g-Xq(qt+lgMKZsgNU#ytR?RWx&iWOz0bdUX=%S zbYDRqLAc?OAsw5PV}PnapwsBk>Y$d)cbybi+L@^5oqnN&O9h-I;Fo%vPk>6-4}t6F z;e>Kd3bLsCI!eY$n-($iaSLYa$hlJc3Uv`$(nW`#Me^Z>PX;`=Ww(dxq3U|s0P>+Z z4~Uua`TP<}WxO_8?_jI*z5w&x5NgTFYr3>%t*OH`z$&XZlfmRLo2hP@^27dXtQJkX zO1e#?V5@sgU3(t4y$yZf2jjDwoAU?!xeYVtuP2(L(4gy+!cga89Kq@(7R9t~g@4Uv z%=EoHWPx$z#&c47^uj!Dykw%dYLJR_z9AG=t?eR)n;Qd^77k8cPErj7f2Tw+8VMQs zK^R!7jPTbX5X$+}by(8Yw0x4J)D;5($kd3^kIVP`$`w#qW7)S1t8)*T+sLCLuFH&^ zq|Is=w52> zP@$&FAr?s|%K0ovyknj+{n@tq`tFHL=;ZfcQ~o5w@%c1BZ>L9C{Nb{d%#4N1SGJVE z;jVK$M_Y0A4_k4rm&94Ui_7C!sUgG63?~cW&-CwytyULoe;(#m5Mpj))-Qzn&O|#o z09=VwbC*#_5|X)Aq^T4jP>#gRW6BpR1vWp(8Js2vBJR^M5HZI<(){;}OdIwI1G14a z?PbnuGf=9m7PP2kNoKU3t{z!?-=8eME^l6{^{y=*5j+h*`w`#x~!F&)^QmOvt+s6nAHwfM>k7SPeYn zfhL@zM7@Iys zwI~V9AZPi!_xCq<6JE2V0R%wC!Q!(UnD0xWP_%Bz+ z&MR5$hY*kT%@f4StJNfHXIr(%Y8N%L)XoIO5P@}OiF3KcHd(d7joaxp+tOrt!~sbC zS$N&cub1*I+UD89akHPSzwB>c+wI8L*}l0dH>5SQ@E`7KON2V%Iq?APUZ9L5-|Yl| zkD?p?(0c?3FqghDfaid_^P3|CTYH+;4X=2kr}CLMYPh>QS3OVvFqH-OO#dz6C1Wr# z&(|@uT&ByRriAb-g3}*)a+aCY33qi+6Cobw)LLH@L%w7s!us-hSV3`UP6E(w zvjqzb&N(vp$3p8HKuJ+cbC&Pp$BeUFSbnGZkX}D|hwhzG$AQ>1$2!eR%r3r5@#j&z zTL4FJqL#(mM;qih%b3ADb0K`|SqshmZ<|i7SeN>Jn-w@$@eN9Ot`0Gn{92=r4!f1> zqD53&t2If+BQVcz@a_o<7)zD%oaGCS>MI4;u#<*4ZR*EP{46;Wo-4OP+SQM+=In_B zr)8T|2X6e5K%c`Meyy*I^+?~GYu%ae7B;#~V}Qa#LJoHg!9EaH)9d4-yN|S1C>1`! zfZAh!HNzK~Nxif&Alu#X*uhFHesxpu&{fzg$ICpb?VrI!a2VBEj&)Wnxd2Hh_ z9DHYji&^Z)UR&-NzQB|EGDczKDF_ghEjR6 z?hqq7@!5VqdYj9H?z^hrnXaMyZFth^v&or&Kx_^*<&Do)9Jxq&Z%gGRmKsqW+i1Ip! z$IJ#3upS@^V8@h(99vZ>J9q0k022NouT_Z#WrpZ~+^y!5+T>=yRv?f;qxuz!Q0{~I~Iq}=~a|A@F7nbc6f#~l)W6O9B_mZMPCQgfs=_-RM-+L>FVu4;)91V1~Nisf_ASp4XYZYNV5 zW~QP(Fz-PVrp&&IUMvEf;>oM$eJAau3_V%=nbFc1ASthOb7zW)bNEl9KHfQXIk8Tg6YNGO8HsR&TxWKBQ2k;w*r?dDbrz0s zmk#I8?Ac*@OJn8|FOTx%@gO1jjwyp!v@@H6IOAJU_w~0MD9yv#)>z!1s9?WC7O9ve_J4j9#))#0bD7f6n*Od1n7AATT1|o~&#g%RU$^t~ z5qIxlq7`H~3GN?a^)Mz>;eeoO(pwxu^YQ`8l_{OJc??zGYpYSmE_UPNyIAl1ukYlY4CGg_Pj-}|Sfvm*-v)5f6+ETVG zq#xGK>}q_GfhTJpzh=#S&mQ4ukuL4olFUu_h+)(A^xB%xzQ|zJ%Y(RX(V4sy6Fw#= z$+Vtq&^KPkN}fd;CcJVUhe@RcFS2rX^NW+wYn1p~6=jR*mgQ*)ax)JRCk$*N9QShZ zl|#K4v~;Cf;xRhW*W+t!U7B0O+xAu^6;fF=&u-1)Sxc#@ zPAojN$8y{s$XyrLqGEp+YUig!MJ|Foblu0P!`h@;9=!OCa~^nDZ+%HhM;mn~>ba!F ziqD1V1=Ht`+FCnu8&S0*{5!K#J(I0HH^WN{C1VH!~F`L`me)y#_1c5Z92C( zFRHR-+!|L|v%9owlg6FRBN{NJ3Ph8$Uo*a6fW;*XaJbI5cSbWUa3cT!5diT0m-2+( zvwf+Ep5H@j&eMaxFjKg%qS#Zbym_#Yb3|yUKS;ABrql01$P;Gv^ydiua?qIQ;Kjpm zBD|IE-U>)&5~M^2_v5V>tk;SC@KBlQyvQ}q2=RYUC!q9FsR`>RE`y%oe7!rtV>cm0 zK80(jKVBI&;_Z3siiwH{GVb&ZjzVxspAVO~v* z`i2>Wc_JDowctUUn_9IQtOOJ6-8c<-iBlLGVx&>wWBhD~p!u!Rk;w^K3N$8hpF$Kj z2wR3LB`A6{`V90#U3ruNqiy=p;)rRjP5MR+h}1|6(I_+r4K%OTDvSeCO&aPA{^`)L^X-^~L57><{kITc+ z5|0YD`>{>2TO4aO9c``&ZNtb5NYOVi8Q`9RYcvWCaAWz?qXr~KP2v9nw>Jx?p$r?d z&ykwTho;N?S?X>1n5EzdYEq5E#Hjalz&Kl{{V}O)dO*c{I9798n*VP3W8k)WD5ai;00xOX(Cc08!?#bYRJtAhd9pSvnXlL`}!~>#ue-4mn#+FdcTHbP}%vY-YsXlN*v5 z>f%s`xE;gO*krC=-$+7&^a|1jNyZEe{`B7MXAqqDmt60|*wHH(1`7wrn0Z@~BZNz7 z&fkLH)Ssh}kh>lVN!ANqSI&N@uV>GT5&3;jrzrK%b z{zairCLO$c!&#InDhZX-I=DW>00R-TB(%=1d(l!WMUW{{>9TAuL zE!__d}NE7*=v=F!}s%DRl$oV8ZiT#ZD_e2qHou~xW$ z<66t-onjXzIN@L0Hy%eJGe}&jXgMCX-rvcuRx0afu*-)A;_Q+At+i?*qB#Ci1EQdJ z5PDcFlA~1X@aX~RoBN!&+dHig+hCS8dKUTIGQtNLI}yO5yb?%I_Y1Ew$0uZM!BvGh z5nrBVe@KJ9%AX47F(^R%G(%Vo4!FDt>jRt*t6yI{pU=4EE!5?EB|A*3B)Lf4&F8@8 zv1gJfkblvWePbl5mAglxaP{Ix(aw;yyGuGG%9dZrLYcY?0$YlFT*_k+=jFb4EnN z#s{Fw_nYMp6Lke{Cy_&67;C3sjgm`C`4LOiBL;4QUBu>Pcn3_7N5PmfhF znqVwry^2|qkt0hR>JT}MI~JGMvQ4`|v`3@lU;bLlm8j~*8K#VnGh{Gg2s6oGD#mF# zY@vUd%aFJLH>CV*Gt9auAF;mwO{=9T0%4*gSryY)fn7HtEbq{VtFo+Y)MiYphTU9_ zd^4+w3_pn0u^G{>$+eGSN_25ZldZqXEvT{B^6U&)VTF#H^_H6q#xTO?*4ncf^~@u4 zw$W}aq;(!O%Y~sBfMivyv%e1joOT;va%n;&Yp}}$Q|~C3AFY`Ag`^3R+4Tf~5jx2d z8FQ`dwhC?DDz{HfS$cx(K_5mD7((4GLxH^N3c(gJ_0y{M4vqXqyTe3$;dl2D=L{QA zwdXl~^Yz)bH(b4p>6&+p1T*5;zU@|HQ2$2D<2tvTvHlPuNoxdG8r>6$#)(pxrS7s8 z0%w&YRL$lVS-@n50fNM-N!IR156aPmT0?T&7vX^i(F+wazhyky%R?IHYQ<(`c{RaQ z8`jh+({?r?QH^8@afvk{K7Bt(2}NtRkFhAbnY#riYu;)c&V%VQf}=yMH5m+Ww?!IB zCw@tItSZOkZA`MqEF$sWSWrD!n3`Go4Vf@o-BegGpv`QN9oNdKaUll zHle6ugAqTiyX+DEVM=z&xvH1eeg9TuYNJ|Fr)SAV^mynB2=l!$pvH9l|@yRubbpAl9Wdvj;7FtyG~mmWbzrNup5Hq8UWJmtLp#~04S zG~D>|th0~Lx_LW=SY$jOqqSIzLA>s@l+b@_E^v;pKb(C&J8O9f>shuX5gqhq9&45C2X#zTYx3^&>%F3kqWU^`=_Ors#fM29^U zk+)n%N42B{fYt@S#eTGr6L+PX-N`*M!rp9SqG{_})CnwBXdM(0OZ@!V4G6hJe9~%* z6z<pKSxqQpe4FyyfpbLM%61g1 zT{+*>+DyH6!F%p^)Z$Qd*J114t+`keID8|h!oK_O8qDH8sX;ky>_er@Tb;oUH37pJ zsfO!54%h>Ggp0^7Knb4M@!ag$7t9y+$Mxi;*58I`igEZV(ktChWbN)_~X8RHABtv>z;GC8lA+ZuHpnEDC71y`~3^Bd?8t!l&F z6x3_uz{fkXnL(jNw%u9y*EI*mI$54G?a+IqnMF*nYiDfmzqQdThtYON?wsr18}Z&K z-8Mwh3X-}3@;`Am?imGAF zLOB_X*tzkhX&#eUEHVQVs?JTw1&M^UzUsOSUA)t1q$-n1EB<=@Md#^PV_`3I3 zRf6r`NaS+Ih4V9dX|}O+I-RNU_=jO9oqoKvt3X)Bs7GztXn>5yz|$kAP=#5iiU_ey zOLu~-{jWuK{dVA_TRBUt5wh#F7Ms+2Yxwl_>nEPHMnU!3tIu0M*`Z5X{)wXtDJKOe z&21=*I3>fwlUpRBj$=!94|FcJs9)xoYgM_-FJYGr{ab|@Fi_L6 z2YT*HcWRzr>}go6W?uqDd1Nk$z9z6a;<4(hk+gkmY0kFXylBqr6zaHd=!@)&Dv`GJ zb_6KyfW#GjLlBECB-7rW6F(R$dP|Cd7*hHeEn%4OC{<(W-p&vyP&J+X(k*4qXyKl| z#KB2^pNryz&U5$!7I#rx2P$^uti*!!8fc)z&?4|NS#n`YiaSOu24eGECdvNuJWmlv zIgmUOlGkB#OV$holBBa;vM8==eEg^!>cBYc@KlOl%6-h>`kPnntQK4AcJQ}rdG*F6 zG`id7d;x4@?XCMY10P%S*van(~t#J zh0eA$cp<@bMj_<^4u ze$f6t#}NYvXwnr3i0XgfgdyT!>hzxl@cIAN!Efnk{G<)E_&nE|@lT;rAtBe>C4#NK zypf~Gnb0sKW;&b!g8)#_!I=rIM3e7)druxf9$@?$@cxLQjT=9oU0Qi}*z+A;1iesv zUD~vB`KJ0vFi0Hhm4@=%yPiK9sAPv?kTRrH7Ti@ny!AmvdPPQ$jsGodM7gWYojCuv z3CoK6)A{M0-n*r2d}AdsaO)<0WgD6K>vgq}Sx2q#MARk13G634_gJNwdhGGjUDzYs z_v@Bk_-@h4^*ty->5X7vKSw#Usf{zvLR@_qv9q9qBDM8pmfvUgIdf6x^$8jfNk-w; ztP%h1`E~Eg-|x$y+Z#l+eN|s5qjEVrJ9Bk)B`ey{jM%)K$Q%s&@Dwj+(TCN;!FySTfO$T;vQFPdercmuqj6ZPuIy~m)`@%H z@=PcOr&62zkWYSne76w2gE{eTp{WPmb?oUGZFuhcM24hTuIS>8+sg2HJ&COye|~jN zPkBDftu$0A(Ym{TKex^iv~QtCpt*oRuOA&4gjlijmecZybaWp-5$f6M2Qp8-j(}~L z$nPN~P(1?fNkkeMkgfZ5?I_|xhE;@ClSkUg+k%5^e9B&(QPKy^O^|U!FIa6ho4Mr^ z>`-l2@A~QjYejL5So!#V3DpT?csF^kw)6S$hUWfuP`T4nsad@)I;PZ8M^t&{uOM9=05~I^yW@YZ|65*v?TgAMGS6-)YM^A7GGVRy} zn)=ZIoOo9C6*A2jMzXQ@8lA$0SPanGxlgC_o7I8?mb`;}xCT3(o3R2dBb3POq9pz? zERQZ`%!wU%kPCNg5s`4?&)KDOI>XMuC_zqwJ*G(HFZa(oD*EG#`9klEts+}B#_J6w zn}X}IH$5JYBbyMG6{QNf|U&&&F*$$!iQFk3~N=4D)a~h!pewL!M#u& z1Z)_RKI2r-c?8o;gnDtaW_(ltGTa#kh*#BisuP@03gd+{qn`@VXBn2vE7bCIny}St zJw6A+orS=kX>sAF9CT=cyr2DGRaY;Cd4T<}MW(Jf8$APz`xf?bON~QTCM((rPs1fO z9prSxIeTp4{-+BKI>R)iBmo^=ph0l)?h@+T>U8H4dHqD&Wex9!A4~Y)mwW1qpprdG)EK(2 zAnmKOQViaqK=$<>MoYo|?-#nvH?Q`=2`x&U9m!8Lt^AdT4KA!jm4@236&2(tP~DcT z%cqk=n?zf+yr^q6FTp<48==3Z0%zw!Af4E4RAxT9sYrJ-_w+@zd1cr12l>iEYy0I8 zJ?^e#D77tZ@#aao$hxN_BX?oLwt#wGVa4{^f*?f#DY=N9CM>k017q6iK>GTZY~P zEnm*vHEUm;6{|is7db>Ra`g`OUq@-4o$~p*8lYTUYN{>X*V-#yC?Wd84rmNu6^SM+ z=u!)&$#>spl-EHuW$*E-;r`|^8sLx)BxRrx5}9Q(tJUY4TlGTgBiR9`E`{s`j=%F7 z(JKe5{d;Sbat@J4Cg0d4-LZ7gyh_-&!m%iR-yq$2|M&2>YJ0C}TL)wqT(gy(1a~da zp1x^;r(a%>t}uqt;QiCClSfeXob{XsE4Luzp-PQxurGYk}V$E>NnhF}|#P zQoezXTJ==ea<;f7Ekg0;;v&I>%i2;OgG5_OglP+xYbM3Jw%cjep&c4%nmTYvYepVt zvTzdJH48z)=hnRy(Z2WmYwvjG`I~2`j>gKR6NY^a2BM-4#4rn{Alm|@SE=Smg;2T# zn<6kGebQlcSXGoVb5g2ieMz9)Ti0fugG_3S-L?Vu9CR7 za%$0}og&J0J%}x4g(RGf z?g)*Ss8k+HLfnZf0p%Mp2?bFcB_KNlh@YICX$+p zbR_7h(LRr(m>#-|piu8m2zG>E48rQMXA=^={bGn~j;V^#(2zYro3e&Tb8)|VOKm9n|`4JnyLk_?ZY;S zH%&H*-NsvK&G*X*vmqs)iJ*Ldi9p;jE4J7^_H}5^U`SJJ#H$Eq)C+goo-bvjr)b?t z$Sm39)TGz}0i+jbxIVYM6WT2ajC8-h%)&lun2&CSUDQ-%j#yDkq`BLiZ4)P`%?Bw( z6Jyz#ue$NlDWkCL+zt_b?W#h>{`uEyatHktrXQBP5!SSkCqq*JFo}@>;%{fOi@(@% zB1X%We< zlU~w@--sOti#Xkh{tbvrd=SnGL^qZo<4UW{BNOGudRZqZdncu|>(EOpQRPj(wb(e( z=?N0cpDn;QQ7Y9ym>N%E?AsOd5Zws}3Xqj{BLvQ43aLR)r=%M}F|gvCyXwc+Hw(7C z1{mS2Uuy$@FqwP%J%u(jplb1!`@nqu+;E5PfGdU*#)?r(Wf?{Q1ODqakccoCyCcMF zjyNw~H;Wyd7m&L$59R~jfYxQ}BLi$Bo1Dz?TF=xlNbuIIm~!K`Q_QihSlo+~x?Wmf;X zS;N^7%99JVIrmE^B{A_p4W{VX^C;tq z+A8Jjgd)j(`8c_?#Hh)=5~J0a2ZBm$Iv?rw9*0MLHF9)!2w2X$3kuudXEt7V74^op&EPKi1krK&eL@(@d*lY-YQi;+_EvOt-g=|YLH)E~P6Vt2+ylo$2syeXvL$Z~O* z=;Gxi5X<7u_;xF@a0q>z+)S^knv{EfGnCG{8i#CxXltSDWJoSpE>`6AGQZZg8iGfi zX3F4+pg6&-{d^qRkh6wAIPVV1Tw zg#rATm*jgkF zj$NvIYL!oqC@|UbAN8l2`L1O9m753J7FnDHKKWiZx$;wo(RtI=15_PHg|g?Chc>He zJyj5g&peHi$lNHdPCB^cwaxLTD-pIDbLHe$?PqBop2#T_@=Ku?Vi_rLmvb3HFGye-)ic(`dcf>{!B9b^E( z5k6M|l#6kZ-NTIt(rUm!`J1TbC{zkXG~FzAwj9p+N%VoED5xFe4!^A7p#D(W2w-9@Gn$1C zie&tnNBCWU4-kX(TMS$T^2~_WC}%0$hw@JnGd1!l+HyWO|8B0&kN!NKzzk~*qHkz{ z?)aK| zr+KI#K@@MeW_WPz(WTEo!wPGP+vL$VQx%>4M<*krS3*xK-8^eX^4Y;DQ_9K?3B$@D zWI&NZMXe< z`4E$0;uldmv;|ltHbJ}x=jDCJZY(%d)(8$bN}4A$P|q#nmWPzlfj!ORKNgq?ABI!! zimW$8C`o&JDklW>6sl6rxy#! zcA4{oQ14R~fv?u@CzhUeaW4ZU)g}bZ^uZjD^o0%0J_W&kfl4-2<3Loj%XE2X{bYO) z2_g0}b3m-l9P&{FY^bN%4ihN2ZfQZSjL(kT39Ed z8ZTt6Rc4W^+pzJIh{i@@C;ek>+~weK1dlWq{l?M7n5t?4u>4YAT;r*0pMM%E9z>287p^48F3u2>U|r7jUr3KijHw55cS1;$ zCw2BF$c}itC2^Ye1(A-0x(NXglxDEKd=|;s11_*z=Pg5C5sRn-l(|w%TySH7FuQa4 z<|-SZy*@Zq(&b%x5LsP@5EC(7$b zL0v3xV4?3oG7`~s!lZ-bZM!<-D)w_oC}I7SOL&!n3;(u?`nRy=ep^5>^;qO5$Bo%V zDPHo3xn{ljg}8qfuY!#%TArrP((Yf@e@`FOp9{Tcj8ABbl}kQNG>x#;$S5^Y4eAU^ z*T?)sB$hnM(5wjS_@-;f4_wGiQ_?)J46#5nSaXi`+FE?VOYsGw?I(ZRhgSJ7CD)k~ z(FjxUmQD}zXKH8DiMPw+-MYQJETW4FmEP&Zg)tnt?6ve01;3{pEmQo+nKmK+&`)0l zq{}YXaPJ7OCj3PU%J$|JamG)2z5~D%rc7tJCYvoeMqhu%L9&-cp-~1tdpQ;|LeUm` z$LqQ9M1#r{ZoLCoZmf?Uad70XF$Saq`f>myy@cjOAQR|@U&Lv_gieoCV?2=Q@f0pu zoHL#$ZCuh*9pzwqfm#1@ZLuWhnL_+Ktm>1myqIxR=OdJt=&Oh8&{cQ`K&nR|m>d^u zt4fpc-B^ojTN33st}o7eg?c_oN*Npo%?nBec$yF|1U|?eU_=asV2^?p?WtX9$xpp7 zwo0?;xnh1*^k~NZ+WUAh8d6heoW*(~C{7RuJM~pTW|4OLvxs@sH zUf*Uva{Hb9h^G7*#bVdv6H$7NT^rrd6;gOLz8w3CTp4|Sq=fLjjp%NIiTqoLtnpiJ zB_gzYXtqL%F5#;PBlGW$?xWfwJPGot3+?ntA(Q*6xZ&N)_g0weHv9t0zY%?pg%dWu zq>|X8Yiwiu;PZJQk%8zf0p44#X#stMyUsV?`UQlg_XYX(lBIkZlfe^9z?ef0FHdORRl`>#SaM1(H^N6PFhCk2&8MMuI*;f+GmZ?7UJQd=ER5*7-TLh1Pxpb{Zq(%Nck_=DuXKNq%8dovPDSwRz} zoFJ%#Wq^r=;8kDUdKhKrC0x0+vxAShF0}hs%QB@B%M$5dZ~-u&|BQM6XUqd$?y?l1 zKtRzya=!n`Ng+iOM{{Fmlm8Z)O!@!Q@mbrhOCWt+=`lUShXGTRb}AhdRYWF)P(zOi zEK&+Buj3!UKh-pM3V5r0dH#W;TGlC+tlQplKmO}}Y_b;UQ>%9dH=8@G8Wi`0Vqmhq z>TWZiof}N35;F0aEpdTgW;`xChvPAb@0FD%qKW9ixZrGbSYbDZ<-A7=1!6|s{Iqv4 z7Pk3nl#GB0*~No-hD$AxaZmCPkm@>1H3(T=v)yuo?n|KzT7zU^-EY2zbJgSkudV#y z{;aYxEReaZg+$E_bPPUla{FK^)a%Anh*X&o4s-JFe$TFT<0q6YWDcS=6*Ramj&PKM z)-(^TJ9@!yEq@tpKsK}aaWBzko~rmLuiD#9ch1E6VImC1EE7khj?0zXfH6qSmJkgF z&UAr`Br#ezF6IE=Vh}9pPx^1K*8B?`A6(pwiGZ1n!O(Z`&50qX#Xd-7GZE-T8O4dD z8YN})^bnCHFLT(1IM(VDwozv8A&}J!d?Z;5G!V%KoV9{_rw|s8NWj`z-&r90+^-lk z%sIAqXMYq;7+0ra=?^YM@pi0cl}YVW?Dm?N;VWYe#dQNCrkx}{B_vGzk^9VXLxlNH z5*`tI+^tyxVUSLtM6}kn(gYP9Nkei2F*~D+gWk>v@!yBY-2^)^C$Y499z4Ch8PmHS z$iiTYlsU2DksFjDXT&+OrfQ&mSPtse=)Sp@W8qB;NwaX-amCi2{@=067E%T&Sj|i5 z<%d)gbl_BF=KqeLkBk#m)qb|uDwbtrN2eCTj`N!C4a9|mdGNn!SQl|EFF|Ju5PiSz zG2m00k*v#GNEFD#Olj7)MUk?yzg|Z|hiMI&gl8*7JJ4y0+A8}EL~=Kt5P2Es(#gbV z8sT$5e2V91e6+!Kc>Y0^myJYdfpK3;W!D&FzAyrEn4IhAyvL;IHW%;A0gSnOO-h=d zkz%dl5|LNGZK|IHcoTFW3_MF7Ts1v9fZXHJf5Mq?`@m+oA#*6&KMt5*4D?GV$hkN* zbQe_V2Lq3WxoZw*(sJ?OJE9flUXinUBn_FW0*wB&A(n30yr96Rpno3_;9fFpM?T~I z=Qmu7DCKxkydmL00s>lQ0s>4@_? z;ae{k1h6GmG}M}HEVnd9<9Qj~vOlWv~Q!MwO=gB+4RAtz>(e~=z=Z$nR!4jkny z5;>&so##vX^~RokdLe)tjxlbL`0te%qZ-4S2^$W=urbP(YrmF35$iZR(rulDL-5;6 z(mAJ6U7DQ&?Ud^CzI0XzEqoP_Wjl11@b$ik(XIKA z;N(MY%+m-&fG+v*xxXc6dwcRZDiznJ{i{GUr&jju^U-6=aq=x7oaG`ccxp)Gmp8K# zOZ?E9)|v8H^F%^1@;PbuIM=={w6Giz`Xr9+hk<{;O2(8@JL(H|iDWn}^nJ7Rvbt4* zkhBS{BHN-y&ObmrO}=A6XKqmtki*Je$Ow!CfAO?v&4LMeLY(i%(X{w&V@?tCR#uSLn#PCy2^}E%P(~NN0CjeNl!<&uMz-nT$AWVn>6A@ZKIO0*NSPt zAS4t?I};13@bP%R4dn2>k9=|Z`ucp$MC^?M&SF5Gs?ai#KRcpc=z|+k1cVrz`hMPh zM&{NXe!LFP{(MD*uB+qac7J!L*yZuAn-%GLa?P*Z_40E6>Un#0@a}5Mp!XEirYwRk zb!(szi6oHJ(uAUtwsweSzx%K2wO$oo(I(-V(mR01;&aCX zu=#=powrBu1iJm?d!Ge6UMer)$p#yV4VM_c z_X0kcmEv%_oQnBl?1z&52U6YdtXR9+iKi83SFJ~bN|ys_pHvmX0<$h&#u?vwh*|^9 z_?g9?rcfw8lR`=}qPxHl3%1b|6$!q`0gC1i8jf2h%WzqEL_%{KnEJ$8>IN;SXShr7jzb0&u>Rd$^D^kT_xvHb;biSY$@R z@toj7H5Rjye~Jy>_DJ46&0D_V6-i!vD9>rsuMq@o9|4|UdpDmq-)q*|R0 ziesV*D8cG#%3aV<*C?)ygBKnhM42CO>NL@*M0~b_Jx`q(1J?3DqQlOH8W8pb`52>T z!#VX8m=c2_OvcN@$JDfjfp<-zXCGd-pY0ODrvn!Q{1$#YrS=07cotZVlRC<1x<;G&vgptQ^pSX5=3vNe2iJ zYKu^ynB&?zb#b%0K#VTI5h;c7SC;1}V2-U$llXvK-3yWf{KJeHj-Q*;Q3M*Qc#BCjmaDrpsqr7Fspu#!*N(}8{=J;@veI8V+0B{ZE}q(2 z=3wQY{hfiwt(|m4d@eYRiv5nQmlY3j_w7q#S}PLu2``L)7Rxw^??$CX4aB|Z8@dJt zAw^9zQC;JWoWPD^?!ie|`+4fc18k$UXyGL%sSN*cFY7XAkih)v*LHqmWD|4gk3ryw7Ys#}YEMy&_D7 z8q0RS_s9kmwIHLJC;P4_GEUfW~kx z>m(;s4IPbG5~oz$=hu>7GqQ4)2|bY?yot{+X1%|6l27no;o+t*m9=RpS}3#2r5FFE zRCGxgCHmPVb4W=tNrnz#->}&KQcbi;$^up)EZ&;M7O$Tk;U37|#%vJR%!J`Ccsx(f94?4Nk+onk>vWKs8xF1GE1n%9hF4l!`PP1Q6qe zqPbIbRcCR@#mz)?aOYJbN)V}J&5X7W=^jLD%RAl8yJviF%=*}2nLQn!%DDojJO?sr zB9orBEHfk&NupLAec^rEDOQxjUQkhHcN7g-&v2R5c8ILa+EGofpgFfNY#k#Hjxj}z zE{4kIt~8$U>Q0*;7N-G~JY=YYFs7>55>UN0d&SaC6|N2u|6R3eDhfR_Ecttj!pEvPIG{K`~?2r*)eau82k>Y7Rs<0EHE0uNXkf0(P zG`4cprupE1vyzA2Llj9_%h^-@DbaF3ea=V(8*VjF%}nhsVdT_PGdZjkWA5TS2#Vj` zsABs|sXNY|e~g{EExPX!TVJNFnb5b9&9Y2qJJ!%G2)3>_q> zR?$dKKU4o2^W>bJZT|8#!!omyJIy&97gkbQP<514t7WUk22EnhomhBPUInEP-Si{z zGhk6!=Ds1zk3IYXU9!p+M6LLB8JzDP%u3Iww`gp#EV_W9+RG@k505BcmL(C#UJHj< z<|rWo!pNKPAg`!^7Nj~JlF!>nyeSi|ZsQtYo<8cJ3s~mln?^>?ph21a^QEB9G~aX0 zQPrUOTipaguxe!!z7AJ6+VT&ykOuS7eN@A=hsDDb|1ytak2xuqKx2MFNBqMj0+{Dw zd8mthNhE8r;@-1XJgNlLz^YNS;&r1`<8o>K!N11)AokqOk!uehsE(M>N3uuojc|RG zVg2troxQs7Im%7*uy-RPNr||(nNQl|d2CM!f*)7F)nV_9wZhPD&9cY`V0a$45Z1+* z>MNmcD*cxGqrK~Aj@nJ4H;=7()HfHRn)Bu_T{<3FNN%<|@h?{yoPG8YKTS+Re;mwg zybxuz#MfrT>U3VdZ9P~%Vnnysr)6)7PS_n^*%m2m3+lASX7oy(ZOyYI^Y`tt&ugtA zyL|au1sW);^g7p+dsaP&9#A*309S$U?nknpYrw^&M)-xBc+Pc8TZu@_0P96sx%URNO9DtdzeE<&0hbn;p`>6T~BXM%&113Ug z(@I{s*;6XO%clg!mK=O3Ql;okbH*m(46SwFQ^9B;$Gobf{ew6_I*)5BjdgT(;5@yo zkJKodnzKlumc@^4zQPWZsg))5*Xx>8L+8x14xjkuSrv4+c`VvjlFip1Q`1$Fkr{0i6V;R@k@#=qY~b=cCb#2gJJybf z;=0D-A#1+!Ctm#pODy$IOFHuT$(FozOU2T$|EGSUDP|a>ZYbc-rbyTEQf`w)m zVdB>UI%qM3x5r+0Gws7$1oTC@tA2n8Kdp}To_#_bqyM%9K6%|kvfFss)8P1fV8MpC zytEnO2mv>sc=abt1!g0iNvZR9ahv0pTjptcB;hxY*~)uW2z62?>|({9F$2k)Nw&@U z!j+;m1Z+K`;0jqZeJvgtq=8 zC?aeqolslwIx?mB4tX6dixlP$n_6rwtBkj(DR^D-Zgm|xsoE4RUP(I1IxK%v#9^F3 zv{G-(sF1EG-E?y*37!cc%Wg^JAGbynR6q_Bmv=ipuOk>$Ih3yO_G4sCS zHooMy;xx_1p90g3kesZ^hyzn{iMTEF9@2HU%6d<`p2{2w`uZID{YWEsZvX(=P%YhC zoi*kk{jJt%if1I=k3Zt_Y}R5CaQScldH&F-xmoHh=9+x=lW*v6L!))ibJu2HQz~!K zATOz>Izej>n%=O0)9g^|sDP(5f3J0HCS8Lsg$`dz?KeI=N zxwOAvTk>t26XllsbKh#z*JI%K1mdEED}!#27ofU_qlCikS1y|rms5jugi&Ke&UE@a zaT4lS-!QbO?-$gE&Vo4YW$BwCy04~H(8ej&06QA)gJ~e-w3NP&jAS`jZxErPj3}v{ z&CPwE_Qz#!jb8W1d#C=`^4HAS>WOW@yxldcsvdtYM=zYu$6l<_C>jDIeX^Cn455Em zZAW}IoTsYUgKXkX9x7FK!&ufaINg5hx;M-V5${PA`>|^$z2NRco)d9xLB3jOjeCEs zc5hV$K~caR0?4^+WlpQc^HD75y*;|%*8-jODqq8E12daaqj5nFp~51AZ?yKGIF~2% zcq~OY_9@>r4hWj*rz4SVcdo!!tk(Kd=f2rpt z`c17xXd!xWys$zZusjo`JM`03ae;tn|E~p=+-;2h z3wZpu{6N|N4LV+GXgQ*^Bm2zOn(4}3ydYC-S}>Kc4@Gvr1C@L*cBDriF zBq|yfL2vmpyv8v=JRJu8^yK>VygRGJD?5#F(O*xk#+5xy*A%m1$AJl_pN#Qa=jC2K zvivd!6_9)C=i{|f-rV4K`%gpWEz9TQi;n2dr{E4ldgkF;v>t>TV>lYPvd_9pEm)`j zKFjCxiC5xS0eD4PDyf-`^{bVyZ@cyr=muY%!wha3 zET|FS4Vr`^4~9pp1bavkJ6TGd+S{n(2EgPTU~}7Y+n?&FP1~Gd9uMl1WkJ z7h0zXDWH25$Pn<-orKjJ0JmbXe|2zMBG=4kkDt==3bo+7fu&+X}E0mylF|7BF z{o{J8b~+p0L_7^=N+4}ta|ZL`sRj) z_pN-fh6Rfc5RP1GAwFq|V1&g_x)vL>DZ)HP?aPGugT1s9yvl2O^o{@dfO zqt}8oqD@Bw$Spi*Ub+h7;ECa_S%qR}$ZambxTbqa|-{4LAIq4F|7KmBgPY zL*Je{w}QhZ;V2qr4F<5s<95K&(Z@x5V$FA%`Nt`3>E{wLNMA+~R(N_v=ifYr332wR zA%K+x%$?+4xQ4kf_(JR8T|Wj2@?Pcw-uc8|B&Ly|q>R`!UW4D%*Cm*#kXrf6fEqyx z4fkR|e36kvH(*F9PzhMH~*N(RHKqmtcoE8Zd^Oe5jWRYRTny$PH&Ou554?t4ME z%ywPY9QeZFy!V6`jkfJ5*P~x(NJ;R1`Tb4~KW9o(2Uq>0$J@1X+AKs5*beh?l2AXH z-)*H3Mh>pV7d6{UfCe{=q^T=eWlsc06hpi?;;efeMBX8#uA~OX04te`HE^F}=*SZ9t|5Q0e-VPss0Pg)#kBh?dEl zg|%5GaHVMob`lN3eqd?+JII~T4wyuqSLPtuf`D5`Kwj(mNjneuLKplj55Am1^O@az z(hfdxFacqNOblLe6AzUp`=TEOqd%TcR}Z(XSGQl(Mll!QE~V0lB+%QOvQMwlv+;&Q^LyW6t}Hmpzw9NtU|-N{bzT=^p)BBL;eN36 z5@zHV?pW}ltw!0f)l5Bd&&XBK#ZF-+txg|`0x`+!gyQxhZ&`e!-uOTzWZ~B0RxW>K z@C-2BG`3WzP5A;8;kLI#Cq}2j-Dn8nzp83#emd1kFl*Y`a27}gPI5e@QHOOkD)e?(9I>4BhClQ;2B(JYp>NrxB=|Ot&+eKlh7Ye34@& zIaAJ)fPed(I<*?gz49a_qRJvd?&Hm?&AUdRW%d|G1)~lgKf>@r_aQUA1ki+b=`t}UmgS*#RdAPlz~pjGTY2xi;if)_9v|E`vpcS{L0Sp(!OC~*5;ezT zj_kRY^V(x^g4R{xgi$; zDG%MX8`L)XxbnZ0$~ShnHILaOHD|9zs5TALyrvri0XMj8gumjE@LMK}@YJ~2cTwvT zE>7>Xt|1mRFV{FfHVX?qQ()&;fm1fb^nJb_xFM&rL)D@KF2fNrMPePtnNAPnvCo^E=;OSHSK(;!p7jVwP;2+z6_mYiANWPQ)d{xeji;Y!JZPYdzl$P8iNAM-EZ_&C zPQN~`c`s@zDrl&kK48eaoSpk7m|b6sJbo)lvrp1=S(%C1( zL>juSl(n8$qBGnr_u60~g5x_!RO+yB3P3GLyOp3Tw7bzxwB+&k(HwWS`19=G^B|Gb zKutEy>_2b>pdjr;9~g3zzfpLY)D3Hr z;CDd0Hk9p4NYi-wZpaO6LP?$@zvE)ZwTdRWba{LA5C)r$ijnzc&bgq6FfSuL;Yii) zMdR2^C(h~cbnkSp*R_-QgR7HxcH#O@s31@%2MEM)|DM><-bml-)~;Ck)~+}f@1LTb z4i~ij-P&{-m2?G?6B5QsoZlYv^cWhf*eAYjgOEfCNFZ}0GZL4*n6+`D2j=vgQw2J(mtr4KLiIU~33HCJ55RDN)}Ke=(dDbG#sT5a^@l}HSq zq0Q(wnO;2?iV!JcT&@;)m;&-7{hF-UFQoJ3;$qZ?JTjV87+a0pLtc>Pp>k8o%m7y*<)TD~s!^4HOUNOXc3v?u zAM;5`{jC*B`Is>rlK!KLM%mHO0II!%1}}yF3G<{Q!4^am5gHRcdu0vv%z7U=@m%3G zpATVUFx`0QjqQgRAL6|ApkzdWRDpAb!dNP>I)ym9PjX(5&_~Idyl0NTSj+|JweqAk zZMT!cayGn!+xiT`1|hUq@xCm6@G&ofocw3G(x%^<_h^s*VS{OG5U*MW0~qB4Fa$Do zQc3EfsZR-{v*E3udz5%3wD$Eg$URMc|a`MO6Dt;i%Ek z5$zW}a5B)+NBr*dX;4EvE)B=$7DnVG1QMZ9bO=0zbaav@_6!7RRbVCO+&m}5*!=Py z;O(res4N(J^EQ#HO})NRXab3^iTRRw$eLv^%s%^hH%Xi`$|Tf;8<_~>Alr~IWPYn(;@|+boKcBYGENql z-qV8J{$j<^kxh@;26ouA#q9g{Wn$k@Rkw(PgG~^7xlN+Q)R{;gZ!8|2wbn2xk%4t( z>rfl*2nikmDfsE+5XP6t1tM=ZpA%L*;~Bg4F*Lbo;zD+LLch~;FHR@OHG~F2j~qp( zBt8^($D_)?+8z7Oxb(-=H?Scv_ z96Mmk!5SU^G^)3(s|28J?_ zU9H24Vc&|yz6px-=Xs!^40{I%wabK6wKtMj)XCqw2!p_|T>zG-GA?O9--1L(A7MK>OSA@$(c{m2Qs0M$)>F6%eElhFC%Z{ieDYkIMLpz( zsz{if5}gCx17o?r1a>6nSdZiknBP=q% zKEkFyKcf-~d!giOo3LW(-4R2fkEWzSp-4mZQ^hzcUo1P#wx@DYDwK&oT|3m=29Eug z3P`fFPnwcbY6r{_ad6ULzGe;$6;8)W5l)OkxRH59nC$z5Irf(7MRYH$4cu{))>$+X zTPdP__*zs2|H++5gk%sL@$;hNonAFQ<-RhW53L~0kKAk{@e^FHH~ZHGEc_oT3L3Iq z;EOF~pr0V=A6QHpdBXE=t#m;meC$ePYiwHVrClU&`7C$QWi=m3=DY<(i&sr%XA-%m zaz>+}_K|kZB`a3jdx0jx?rTOX{-p5Q(rm|SSBL3yCpb9C^C)lV41Y{qTuc8fU5c~= z6jh_D517q*a~DMTuizg!q6AJJ@N*9&F*D?I?stfGor#PPRO?EA3nRGihud=@gf zYMvv>epSbAVEq~YglDYoDI|5mHaYpDw)`;-iu%2wq@D1>5z`tDLcgBx`pq1^%pOJS zef-D$=vz$=2D_%I_Q<3>v&6#2pIAlolV1_;!FZaXTt+@hKo6)zg8sDA(%8?F@akz^ ztmd2WFhZE&YQxZF-;ybj^@DyZX*31O>hQqS$)yBQgCarsrnKSqC(vOXftcz1$Z}1f zK^4n_5y}~4LL$*XF3xJ&6D>*E#GymAFq48(FDBt{V#o2#ivDmAL(t%KK0oYd!p}j0 z5r|`ZrAtoA!qkkG*-Bcxf&6SmqcjB2x>h+&P95h5WMV=d<<&G!^ANpL(#;c=GD-$pkv#J2Eui(fR`X{)^43DXkIIDDWyZ zj*DnSs5UYb5nL4rBW-AZC^4Mzlkl4Pl+N_JFWS3M&EZibwuld3;9)dZzdv$WjQ7P~ zqoO@Kjv`bY)4+)x(a*C&mD?7<8tn)!Qsv$eThT!C1u_YvsV-KN)(xIF$f?w1B|Lja z3q550jkdBQCBphOnaESAl$ z%O7o!z->9YX40GC5lin;vMxvAOisfAeu(aq@?jDkA8&0-5zS{^v27yQi)!S2Kaq^S zDXU5fk$2h}_;%)r8^Dl`|9qY^x|HyRXq8*Gqbf?mV%k~_^1yq{FvSO&eE8pbvyf#-p6V(8q=aKyJi z;igJ`W)ao@REZ#O^%rIGGj<2M*k`flV$4L5{%o_J@(^q(2%S$VjyC%c`CEV(xnfh<Y=qs(;Q4vL>kL z9Sb60u>_IY;{}D)h3GklwWGbJY+u5!6*>@WjCeyJ5i+q`qy%izdwoB|Fu|zi(S~Q1 zM6XJjE`C`#e}E|NgeVurZ*p>Gwu;)k-pAp%2}ORT`+mx*oZaySmJ7|1nfgwbXr;LGf`m2M7v*No3;NEg zx3co*0rT#Vd$q9yYr~3EVL#p*Gl*GN?0L_nqC?Z{Zw{=sQC>{rfwvQnyLvmB4-7JZ z?=Uooh`)avrU`FqORCGx*r+)^>Bnj2cBz*Ta%wVkp_6JZ73MD>0IxFgF~yd%j^o1) zJEGI)&2Nvoe@zqkWixfIu9+{m8V(!Q=1b2#`c}IMBe681PequhhgZR&jJktvZcQ0d zCOXe=h3@xx*yV(&u#!o%uqJZCnTungREy75>`i$;cD?6bh)=r_L8;Pcw0vnGpDRXu zIP{k~8MoDvQ=btwn@YXa@p6+6n&W2Uhv1U(eonN$+@XRK=D81_Z7EScl$U1tW zVA+0I5vHPYm@myWYu2}T&AxUeWirogO@i4CHDP9Un;nz2K3gs?^Em93o^9l(3-Tl~ zq?J9lj6jb8>-)16EYv^-RoG5G%a#W(Wya{l11>-p3Q;IM2l4d! z3$-3Tg`w5y+Ai`E&4>bo)tHlI^!6eiatkEm4-G64WsA#dcXN2aG89rJ{c<_oJo%^Bze+@A{ z9P$}7TvpaI9A`)EjshDxw|U=E*w2Wo1zQ_oofPs3fss;pHa5B8wR@6dZqCYaID{PN z0bA73Fd6L}moq*;ojez?y1HLX>p}6KX4-wTnXOx8i`zasti@(h)?#!LaJ6%l8)`oA zt**T=pUAGoD}^~?ALmb2zc?$N*=R(b4-MLWK#CB+_pXTbjLy$3XPC!1r^Nz}b>so~ zjy9&8bZzl#8SXU}AE{By8Zo=R2s~$D(F+@u!na$@zk2bz1U8G(#d{IJ72IqeKNXl4 zq{bQ4tZMLPa@+1x%39{Bg*2f%^t2-(lmJJtYh z5fiSjQonY-P;*Y}p@vTJK6jax%@RvWI_0n=ddPqQi8<4~EO|T;18-*y#0^&i&J8Z`bCctcRu}s;AGcrKRiwABHd+ zbw;&;^o(O95Qy^L4?_z2CfCkM#cq8ODpLEMoT2@)bt*nul7NZLCX9rK!CW(+LRhF6 zTionp0{hI@Bh3vcgXzOBv)vPVRC4d01T~D+_VJx{clFj(!<@OFMJDZkv$1T{-aVqE z!>Mgw15U^yvgO=X*VmT$-Z?5`FN_$wOKD!9t0Y`qB1Z zN#g)_zECeN_Nb!LNQO5Np7POy7QCBhFB*d^&XH^+sF{G$cp_Nm(+jxLLUY3-{>;KwQPXL6jABTh7zV$>%Fw1FW}NcCcbf^0lnxibex zrL#XhNKEo;Gf?oLQ7USAUd# zr5*aDJ$J4`n5Hy=0vV&-e{)?33^9>GmKkl>j%qsDKm%u4hyr+@>KM<06-D6fR^ILt zeMg0Ykb1U&Jj!Xf`fR#sWyW@_7I(G=cEqPeqkfJ%HaJRwn3X5{A*Mv}ul?!WbBMPG zmz!SeZ)`dOLN8C&r%fTTM@3f~(>U>u`)mXb1DQVIAQeB}!38~%`yhkiMPRWT$rkmn zk9t(bKQ9mJblMseD339PDIY*!WcQn+%A(T0^j5bf2rxvYDB%WnGVC?a`#y zpMiL1H$=c5LVqgTYs}EQ*tje59+!BTh|XK=6%-a!CT{!z)AZ>!A>WcGVwOh&<#YmL zkKWnt>WsKY_#^2wTTL#Q_Zw*r$%FZ*`!3lK_#PKEDTexf2Xa%+Yj9_=opg%Mh~M4A zUdBf0LC9{*8@toFtZBUHd6M%@z_!3Y+42Euy;0t5avM73uOY7uo()MM4(S&>MW@&+ z1KhisMQe*=0m~_7O4QBSzLT+NZDx31wVS(De6!<9FI*4v>*Sv&w6dVlRg?*tN_T@l zear99>oAHYyHfW3Wjp^wAYD@8%U4@ZT0}TKQOipQ;iZSm@_HLw4?>YKC6IpVoc~~2 z!eemenU1T4>L>}>s19lLw-7fTjHRSu%$3aM#*%HoIcg{wdNpkyH5k#Sg7mUg%Fa2L z!v3u)>VQkDf}B!UXu7GjTI4{JAEKS}&x;K|_l2PeJY^FXu~#m=If4mVm`6d+cPgBk zA`7Had-{u?&oSz8jp;KHz`m2?Lv~eSNz~Wvw1!gMki|h}B7VS_+$(u8n;)ySg|Fkq zP=6>=_k-npGQLq>2U_qY&bjG>`c5KEm293R_(>7E)W{t*#fndsO9%SQvYjKfXKnO);215dGfo&t|>>+sTN*m9$Qu`P!p3yQdR4iJW+?*_Gr^LL{Bl|0Thf;qbi;h+{k*ouR2&DB0jwN$V~$Dj%K=rA8Tjkg zF^flJkuM?*-4kfurBp!{=dV(`ZkU($L~2QC;S>iHLDwt|)G_a6kl|{>(KMxC*j?(J zU8|G74Lr5IlRJ}mfW*34;K_YYZ9w48jDo(Qh0(RzfI_#P+W{(8Ho)!w%NgByo7Xf} zUr~tF*yvU8XeUPU8DGPtuSIcn6m>lNRLdq7{43mZO~s6u$k^c=;%)*%1T*q*67Mt<>V=dRYN+%l7g*}RX!{dKMeGN&i2Ylsc49IeHm4ia#H zj5>!RCN3X2&Inj2Xl1kHNV^4;%!N8ps|0VyI3SlaaEQ}`i;FE5D*0!;d==iOxH8mi zKl$ALU^FaQ?N0x0IGRuyQSl+m3aDWeXMz1F2aPQUA8A<_SjvxYK~np8W9elFNR*CP z(YF05tRSnoCtSr1-o@P8D0~;9)k|h!N;Sl_Ww;&=k&cJpQ}3A9 z=?*+jUP0eKFd!pWriTsO#tv(k!FNXb;u$nCN#v4B0h6O*z2j=UNOd-Kltz>?Sz1N# zTIW%eI6L`BjdMUV$(uzKx=T|9a@hPl1Kg+Ects3FJ1rJ*kx5ER{4NEK7U@~ZyBT`B z0a=xpH7z;w$L2J$0lx^(!Twx4+X80glmXHRJfdW_aK(U0v68R(Mw)7XGp9kPFGOw=j_wwu79IIh6U^0$Nvko} zOGAR0WVr9`r&)p)`JQQ)o+vU>>&=eGG}CVRmlyl4*_E6oQ+R=s%@^t|vp(8rznDQC zB$}VT*H1O(w6qHXrnhlh~kIlLRaREmM~dEgi9Q4}|%I z22f)}8VIV%eUJ3pMwuQ7!19>*U|80~VI-)$tooz?N-$a89Gb!{XN<9nP;mjXrNpnR zt`9o4qzN8t#9LPu*8cQN{uxK}8qOg^z8+I>>|2Dmhs}=I<~mfm+ZBwqjRT;_*Jqw- z2%}Jzxv;hf1Ql6AF;QO&A+YsO^GHz|)TK(mY0?=Y^Jt9U^C6pka>!H-u3MzdU#C$m z)mpAeaC!wCUwDX8Ka0l>Y;+yRN57%*5AEtW{5egaJ@r~2vMOV5aewpj!W5zEcwzEg?GK6u z0#)k(4G)3QIpW+l=2Qn7I0wIo2kSeJ;&_BOr@58PMavdhJ2_U#ga-?q`r?&+TGWEO zF2o;l(qtvJV!dcs`GBNlNs~X3p#^L-e0 zf}r-yfna+_f+k_4u`#5Zu*3KLtd4Tks!9FR13Pl5uidH&C8Ob@t?HQ#Ql*H4;NY($ zOy-z~G7RedM~|_wR~7^rO8UO8sIQDh3$NrD`j40Ft%32O@gdDwoJni_8X}3b65Srb z{JBe+xQ0_8M>82X#SV0d=aob1aT**hCOJkJmo%D;sFfouGAZQAv&6F>jc^a#0vN!q5|VeAslDAW_2xIlpY_ivaES+68O$57P~y zQpcM0`ioa_9HkWY$3~lBHMjDbCCT4<()<96U4Hf8km-dvhC8}D8d9b7vcx5H*jHpz zUMHBXA#*#HLX`c?sH*&)`9~s2C)h?R>O9JG`!c=SQeySFZ&|bKg2oxvJ0F$k4fb*qnKw%v_5e|i+7R!1ab9KDb0vkg!Gw<)^Fj;c0Ymk? zNjY0-$3sUIP&4keLP{lh#r?@O>4j8rO!~nXFTVyF5D+jhw6T^Y4vq}?h+quO3lVIk zs;ErBk&i$t_Okdl(Fva8ptGt7@P}2Zp2FCP#2ne$Mj4X~6pbU}EX~`RCbO{#p~-;j z6Hz|IiIGEX6<}z1D3tsNf(l}oUgSl%R2o95H6=uxt#?Pdod*UT0Ve$m-mJKYqGC6< zb7-Z>sb7u}@hRQ7ZRhw@$6AyfYwwc#5#MJcx&KsC$aLoRs@UIbOHX@CYCdO_tJ0K( z%@$UMYh0(Vu1UF8N%oYj4ol$ar<8fNUSzs1V#_6k=@88BPaUhDQmEw>_xfH_461IV zq-68;d}C`KB$a4uc%q?6W)_|yo>mMNV_)(5{dDiVeud=>&6({RgsGTF#zzSnFgqw& zP5Ok&ZI$qp#_8DsAz#sr*%xTkkhb>U`E_%;reO7zD_vsOEWVRP#gis27`8tj%n@Ov z_W7BB>8`ke7uxBk`Ex;h$l`=*m)}j{P@$P4;j$=P22QPgeWp9kn6t|_L6&0n(q?yO zYR;}{4@Ve%g~&;+tk`Jr)JGvBMiCA~i_e<-IMQ4jt;f0?Lm} zKX8lO_Ge3Hh(8O*YG!Aixum9lZXBEFGE3F>oZxcxH{nW6_we0Em@bOh84oH1Umg(k zz{k*X+de$XMBI$O^5nH7t1oxDjH-K$I(9Kb1{fvR(mS$-WpJ`ovC*TUS#fZ zfh84ST5Ky`BjA=JO;qC9IQrv+WOHqfQ9&9E92?^I-Ej?=+#7etkwA$5-XccI9p47S0nr1 z!!s+qy43!kyx+sK0CpCu^H~+2ae)760RmCn7@phzChvD^EQNoB|GUWm^p^t4g5L)0 zmCLevYjJHV1C6)nfES9JfC$q6WxzK8rjAyY|5)UszMSZ7z?G*EOY?M&fZ8QY2q56J z|F@@p8<>y$HbB%=-`d1T#>V6hm;JVJU40P?;FtgTLvX{!9yGTl8roP{8Cg5(8a+32 zwE5T8eqa1WZjaP3LY8&}JDwRH7}^T(@6nBscHbxWT4YEbZTnl+mV z*Z>u%#lUz&Ivw3TqyBAh(ch~4ap^BJ7va0~h=pv(d`$*~un7o+bA!afeVZgIub?3* z_n1LOQsf_--yHpKn@d;Sv^m-ho5SnemI>JWcTjtNxNhj*!VCaI|Bv^8AO0I42!sOK z5|+PHn7N_7zOmzPnNMz*_qWXETN97?#sJ^_UowAB@ZX{@@0f!4zlsRcMRH#iqY_j9fo|Md(5AWU~a8URRD#|auMG6<9l zIGp7M#MSJ6h?tQfP=`d^Mc>NS@|s4gcRa@?0a)G(z2XnRb9^6|anv_psIK?JWS<-U z_n8Dxh~N%|)`4;=ss{nOaDYNtjJLf*|u82}Jz3n6%}fGQWj)AgqN6F=OKkhC_o`NM#_ zgE0*-)SyU$W`Ly<4wy7_H`K6hyq}@q;41T{s19H)(mOD{00yTVV^RW`oA}VTA2$Up z_hYV}0slt8AB`aIKve^%8u6@bJz#AnhP&#zd3|kGX}=!@tk!1MX4WQu&C%&Q;$RWL zSz&$#5d)eT0|vbLbi?bpANQ|TEPvFZy+f@ofMbv7ai9QjasUf5+)(RX|NWdR3rbkp z*!=f}25{Bo9SYR}pd-=wz(L@l^9bnHax)@ihVBRbwV*HFftdm@kJ`Uxcmetp19Rvm z#&ha^3=nuXx^_(^PBjevFKR?H|uz-+>qe5HR&4xFx_8 zN&|xKW(1fl-;cObLl#&R{%{cP;0yztSGi9hssS}F2(Q{;UJq=iwfi|&^Yq0vZP4zZ zbOIDb_eQooED&hq@oh@j;r*0o{(y`*Huo!ZoF?+OXcH{M{PrI^{z3e#*5*QGg~_jiPQd{;pT~htc5EZFN86 zTJ=hRaaFzYHskO5kbfANJ`L9QGj3Ij1UOgKB5!m4E`WEP^Vt4=&Yk7(0NPbKyg#(x z?;w9CwEw34ey>^b{Xc2{q_+ctuhQH92>$)<_;+Iabu~Er?h|}F%^kp8rMch6{GBUw z9U~QfFXpezApmrhIdmKJ_uZ50Aj7o#K-X@f0EDZXD7OiJpOaoE;AG!VxOQp^Fs@Eb sZ!`Wr^|{U{$-9qn;|vI3T%7^^Whmx;=Nj}f5%2PU7%$^ZZW literal 0 HcmV?d00001 diff --git a/precursors/tritonus-2015-04-01.zip b/precursors/tritonus-2015-04-01.zip new file mode 100644 index 0000000000000000000000000000000000000000..2b64a08f11d2e3bbd0d8a7cb67528083030d3a9b GIT binary patch literal 1881022 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