mirror of
https://github.com/unidoc/unipdf.git
synced 2025-04-30 13:48:51 +08:00
12 lines
184 KiB
Go
12 lines
184 KiB
Go
//
|
|
// Copyright 2020 FoxyUtils ehf. All rights reserved.
|
|
//
|
|
// This is a commercial product and requires a license to operate.
|
|
// A trial license can be obtained at https://unidoc.io
|
|
//
|
|
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
|
|
//
|
|
// Use of this source code is governed by the UniDoc End User License Agreement
|
|
// terms that can be accessed at https://unidoc.io/eula/
|
|
|
|
package segments ;import (_eg "encoding/binary";_eb "errors";_ae "fmt";_gbc "github.com/unidoc/unipdf/v3/common";_dc "github.com/unidoc/unipdf/v3/internal/bitwise";_gf "github.com/unidoc/unipdf/v3/internal/jbig2/basic";_gd "github.com/unidoc/unipdf/v3/internal/jbig2/bitmap";_af "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/arithmetic";_c "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/huffman";_fc "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/mmr";_dg "github.com/unidoc/unipdf/v3/internal/jbig2/encoder/arithmetic";_gb "github.com/unidoc/unipdf/v3/internal/jbig2/errors";_e "image";_ec "io";_g "math";_f "strings";_a "time";);func (_dafb *Header )writeFlags (_fbag _dc .BinaryWriter )(_abae error ){const _ccd ="\u0048\u0065\u0061\u0064\u0065\u0072\u002e\u0077\u0072\u0069\u0074\u0065F\u006c\u0061\u0067\u0073";_dbdb :=byte (_dafb .Type );if _abae =_fbag .WriteByte (_dbdb );_abae !=nil {return _gb .Wrap (_abae ,_ccd ,"\u0077\u0072\u0069ti\u006e\u0067\u0020\u0073\u0065\u0067\u006d\u0065\u006et\u0020t\u0079p\u0065 \u006e\u0075\u006d\u0062\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0065\u0064");};if !_dafb .RetainFlag &&!_dafb .PageAssociationFieldSize {return nil ;};if _abae =_fbag .SkipBits (-8);_abae !=nil {return _gb .Wrap (_abae ,_ccd ,"\u0073\u006bi\u0070\u0070\u0069\u006e\u0067\u0020\u0062\u0061\u0063\u006b\u0020\u0074\u0068\u0065\u0020\u0062\u0069\u0074\u0073\u0020\u0066\u0061il\u0065\u0064");};var _bffg int ;if _dafb .RetainFlag {_bffg =1;};if _abae =_fbag .WriteBit (_bffg );_abae !=nil {return _gb .Wrap (_abae ,_ccd ,"\u0072\u0065\u0074\u0061in\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067\u0073");};_bffg =0;if _dafb .PageAssociationFieldSize {_bffg =1;};if _abae =_fbag .WriteBit (_bffg );_abae !=nil {return _gb .Wrap (_abae ,_ccd ,"p\u0061\u0067\u0065\u0020as\u0073o\u0063\u0069\u0061\u0074\u0069o\u006e\u0020\u0066\u006c\u0061\u0067");};_fbag .FinishByte ();return nil ;};func (_dbea *HalftoneRegion )shiftAndFill (_eagca int )int {_eagca >>=8;if _eagca < 0{_febd :=int (_g .Log (float64 (_abac (_eagca )))/_g .Log (2));_fcgc :=31-_febd ;for _ecfb :=1;_ecfb < _fcgc ;_ecfb ++{_eagca |=1<<uint (31-_ecfb );};};return _eagca ;};func (_gfc *GenericRegion )writeGBAtPixels (_ccg _dc .BinaryWriter )(_eac int ,_ace error ){const _bfgd ="\u0077r\u0069t\u0065\u0047\u0042\u0041\u0074\u0050\u0069\u0078\u0065\u006c\u0073";if _gfc .UseMMR {return 0,nil ;};_dead :=1;if _gfc .GBTemplate ==0{_dead =4;}else if _gfc .UseExtTemplates {_dead =12;};if len (_gfc .GBAtX )!=_dead {return 0,_gb .Errorf (_bfgd ,"\u0067\u0062\u0020\u0061\u0074\u0020\u0070\u0061\u0069\u0072\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020d\u006f\u0065\u0073\u006e\u0027\u0074\u0020m\u0061\u0074\u0063\u0068\u0020\u0074\u006f\u0020\u0047\u0042\u0041t\u0058\u0020\u0073\u006c\u0069\u0063\u0065\u0020\u006c\u0065\u006e");};if len (_gfc .GBAtY )!=_dead {return 0,_gb .Errorf (_bfgd ,"\u0067\u0062\u0020\u0061\u0074\u0020\u0070\u0061\u0069\u0072\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020d\u006f\u0065\u0073\u006e\u0027\u0074\u0020m\u0061\u0074\u0063\u0068\u0020\u0074\u006f\u0020\u0047\u0042\u0041t\u0059\u0020\u0073\u006c\u0069\u0063\u0065\u0020\u006c\u0065\u006e");};for _cdg :=0;_cdg < _dead ;_cdg ++{if _ace =_ccg .WriteByte (byte (_gfc .GBAtX [_cdg ]));_ace !=nil {return _eac ,_gb .Wrap (_ace ,_bfgd ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0058");};_eac ++;if _ace =_ccg .WriteByte (byte (_gfc .GBAtY [_cdg ]));_ace !=nil {return _eac ,_gb .Wrap (_ace ,_bfgd ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0059");};_eac ++;};return _eac ,nil ;};func (_dfdef *TableSegment )HtOOB ()int32 {return _dfdef ._bgfd };type GenericRegion struct{_dae _dc .StreamReader ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;RegionSegment *RegionSegment ;UseExtTemplates bool ;IsTPGDon bool ;GBTemplate byte ;IsMMREncoded bool ;UseMMR bool ;GBAtX []int8 ;GBAtY []int8 ;GBAtOverride []bool ;_cfe bool ;Bitmap *_gd .Bitmap ;_afag *_af .Decoder ;_aee *_af .DecoderStats ;_bgd *_fc .Decoder ;};func (_ggd *GenericRefinementRegion )decodeOptimized (_bef ,_ecab ,_gba ,_ff ,_dd ,_cbb ,_gc int )error {var (_edb error ;_gbb int ;_ecb int ;);_df :=_bef -int (_ggd .ReferenceDY );if _abb :=int (-_ggd .ReferenceDX );_abb > 0{_gbb =_abb ;};_fae :=_ggd .ReferenceBitmap .GetByteIndex (_gbb ,_df );if _ggd .ReferenceDX > 0{_ecb =int (_ggd .ReferenceDX );};_gbg :=_ggd .RegionBitmap .GetByteIndex (_ecb ,_bef );switch _ggd .TemplateID {case 0:_edb =_ggd .decodeTemplate (_bef ,_ecab ,_gba ,_ff ,_dd ,_cbb ,_gc ,_gbg ,_df ,_fae ,_ggd ._fb );case 1:_edb =_ggd .decodeTemplate (_bef ,_ecab ,_gba ,_ff ,_dd ,_cbb ,_gc ,_gbg ,_df ,_fae ,_ggd ._ce );};return _edb ;};func (_cbca *PageInformationSegment )Init (h *Header ,r _dc .StreamReader )(_dbbe error ){_cbca ._eegd =r ;if _dbbe =_cbca .parseHeader ();_dbbe !=nil {return _gb .Wrap (_dbbe ,"P\u0061\u0067\u0065\u0049\u006e\u0066o\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065g\u006d\u0065\u006et\u002eI\u006e\u0069\u0074","");};return nil ;};func (_fadb *SymbolDictionary )decodeDifferenceWidth ()(int64 ,error ){if _fadb .IsHuffmanEncoded {switch _fadb .SdHuffDecodeWidthSelection {case 0:_cdbcb ,_afaa :=_c .GetStandardTable (2);if _afaa !=nil {return 0,_afaa ;};return _cdbcb .Decode (_fadb ._baagg );case 1:_cfgg ,_edebc :=_c .GetStandardTable (3);if _edebc !=nil {return 0,_edebc ;};return _cfgg .Decode (_fadb ._baagg );case 3:if _fadb ._bcea ==nil {var _gdde int ;if _fadb .SdHuffDecodeHeightSelection ==3{_gdde ++;};_cdgb ,_gdgc :=_fadb .getUserTable (_gdde );if _gdgc !=nil {return 0,_gdgc ;};_fadb ._bcea =_cdgb ;};return _fadb ._bcea .Decode (_fadb ._baagg );};}else {_cebg ,_gbgc :=_fadb ._febdb .DecodeInt (_fadb ._dcacd );if _gbgc !=nil {return 0,_gbgc ;};if _cebg ==_g .MaxInt32 {return int64 (_g .MaxInt64 ),nil ;};return int64 (_cebg ),nil ;};return 0,nil ;};func (_daf *GenericRegion )GetRegionBitmap ()(_dcfb *_gd .Bitmap ,_bccgc error ){if _daf .Bitmap !=nil {return _daf .Bitmap ,nil ;};if _daf .IsMMREncoded {if _daf ._bgd ==nil {_daf ._bgd ,_bccgc =_fc .New (_daf ._dae ,int (_daf .RegionSegment .BitmapWidth ),int (_daf .RegionSegment .BitmapHeight ),_daf .DataOffset ,_daf .DataLength );if _bccgc !=nil {return nil ,_bccgc ;};};_daf .Bitmap ,_bccgc =_daf ._bgd .UncompressMMR ();return _daf .Bitmap ,_bccgc ;};if _bccgc =_daf .updateOverrideFlags ();_bccgc !=nil {return nil ,_bccgc ;};var _acfac int ;if _daf ._afag ==nil {_daf ._afag ,_bccgc =_af .New (_daf ._dae );if _bccgc !=nil {return nil ,_bccgc ;};};if _daf ._aee ==nil {_daf ._aee =_af .NewStats (65536,1);};_daf .Bitmap =_gd .New (int (_daf .RegionSegment .BitmapWidth ),int (_daf .RegionSegment .BitmapHeight ));_abf :=int (uint32 (_daf .Bitmap .Width +7)&(^uint32 (7)));for _ccba :=0;_ccba < _daf .Bitmap .Height ;_ccba ++{if _daf .IsTPGDon {var _dcc int ;_dcc ,_bccgc =_daf .decodeSLTP ();if _bccgc !=nil {return nil ,_bccgc ;};_acfac ^=_dcc ;};if _acfac ==1{if _ccba > 0{if _bccgc =_daf .copyLineAbove (_ccba );_bccgc !=nil {return nil ,_bccgc ;};};}else {if _bccgc =_daf .decodeLine (_ccba ,_daf .Bitmap .Width ,_abf );_bccgc !=nil {return nil ,_bccgc ;};};};return _daf .Bitmap ,nil ;};func (_acdc *PageInformationSegment )readCombinationOperator ()error {_dcab ,_efbd :=_acdc ._eegd .ReadBits (2);if _efbd !=nil {return _efbd ;};_acdc ._gccc =_gd .CombinationOperator (int (_dcab ));return nil ;};func (_cgga *TableSegment )HtLow ()int32 {return _cgga ._cdfe };func (_gcee *SymbolDictionary )readAtPixels (_ccag int )error {_gcee .SdATX =make ([]int8 ,_ccag );_gcee .SdATY =make ([]int8 ,_ccag );var (_fgbc byte ;_adde error ;);for _gcgaf :=0;_gcgaf < _ccag ;_gcgaf ++{_fgbc ,_adde =_gcee ._baagg .ReadByte ();if _adde !=nil {return _adde ;};_gcee .SdATX [_gcgaf ]=int8 (_fgbc );_fgbc ,_adde =_gcee ._baagg .ReadByte ();if _adde !=nil {return _adde ;};_gcee .SdATY [_gcgaf ]=int8 (_fgbc );};return nil ;};var _ templater =&template0 {};func _gfde (_cecdf _dc .StreamReader ,_fcdg *Header )*TextRegion {_dfab :=&TextRegion {_cecd :_cecdf ,Header :_fcdg ,RegionInfo :NewRegionSegment (_cecdf )};return _dfab ;};func (_edda *RegionSegment )readCombinationOperator ()error {_dcbf ,_efed :=_edda ._becc .ReadBits (3);if _efed !=nil {return _efed ;};_edda .CombinaionOperator =_gd .CombinationOperator (_dcbf &0xF);return nil ;};func (_dade *Header )Encode (w _dc .BinaryWriter )(_efbf int ,_eddd error ){const _bcd ="\u0048\u0065\u0061d\u0065\u0072\u002e\u0057\u0072\u0069\u0074\u0065";var _fbe _dc .BinaryWriter ;_gbc .Log .Trace ("\u005b\u0053\u0045G\u004d\u0045\u004e\u0054-\u0048\u0045\u0041\u0044\u0045\u0052\u005d[\u0045\u004e\u0043\u004f\u0044\u0045\u005d\u0020\u0042\u0065\u0067\u0069\u006e\u0073");defer func (){if _eddd !=nil {_gbc .Log .Trace ("[\u0053\u0045\u0047\u004d\u0045\u004eT\u002d\u0048\u0045\u0041\u0044\u0045R\u005d\u005b\u0045\u004e\u0043\u004f\u0044E\u005d\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u002e\u0020%\u0076",_eddd );}else {_gbc .Log .Trace ("\u005b\u0053\u0045\u0047ME\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0025\u0076",_dade );_gbc .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045N\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u005b\u0045\u004e\u0043O\u0044\u0045\u005d\u0020\u0046\u0069\u006ei\u0073\u0068\u0065\u0064");};}();w .FinishByte ();if _dade .SegmentData !=nil {_gcb ,_ddbf :=_dade .SegmentData .(SegmentEncoder );if !_ddbf {return 0,_gb .Errorf (_bcd ,"\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u003a\u0020\u0025\u0054\u0020\u0064\u006f\u0065s\u006e\u0027\u0074\u0020\u0069\u006d\u0070\u006c\u0065\u006d\u0065\u006e\u0074 \u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0045\u006e\u0063\u006f\u0064er\u0020\u0069\u006e\u0074\u0065\u0072\u0066\u0061\u0063\u0065",_dade .SegmentData );};_fbe =_dc .BufferedMSB ();_efbf ,_eddd =_gcb .Encode (_fbe );if _eddd !=nil {return 0,_gb .Wrap (_eddd ,_bcd ,"");};_dade .SegmentDataLength =uint64 (_efbf );};if _dade .pageSize ()==4{_dade .PageAssociationFieldSize =true ;};var _defe int ;_defe ,_eddd =_dade .writeSegmentNumber (w );if _eddd !=nil {return 0,_gb .Wrap (_eddd ,_bcd ,"");};_efbf +=_defe ;if _eddd =_dade .writeFlags (w );_eddd !=nil {return _efbf ,_gb .Wrap (_eddd ,_bcd ,"");};_efbf ++;_defe ,_eddd =_dade .writeReferredToCount (w );if _eddd !=nil {return 0,_gb .Wrap (_eddd ,_bcd ,"");};_efbf +=_defe ;_defe ,_eddd =_dade .writeReferredToSegments (w );if _eddd !=nil {return 0,_gb .Wrap (_eddd ,_bcd ,"");};_efbf +=_defe ;_defe ,_eddd =_dade .writeSegmentPageAssociation (w );if _eddd !=nil {return 0,_gb .Wrap (_eddd ,_bcd ,"");};_efbf +=_defe ;_defe ,_eddd =_dade .writeSegmentDataLength (w );if _eddd !=nil {return 0,_gb .Wrap (_eddd ,_bcd ,"");};_efbf +=_defe ;_dade .HeaderLength =int64 (_efbf )-int64 (_dade .SegmentDataLength );if _fbe !=nil {if _ ,_eddd =w .Write (_fbe .Data ());_eddd !=nil {return _efbf ,_gb .Wrap (_eddd ,_bcd ,"\u0077r\u0069t\u0065\u0020\u0073\u0065\u0067m\u0065\u006et\u0020\u0064\u0061\u0074\u0061");};};return _efbf ,nil ;};type EndOfStripe struct{_b _dc .StreamReader ;_be int ;};var (_bee Segmenter ;_gedc =map[Type ]func ()Segmenter {TSymbolDictionary :func ()Segmenter {return &SymbolDictionary {}},TIntermediateTextRegion :func ()Segmenter {return &TextRegion {}},TImmediateTextRegion :func ()Segmenter {return &TextRegion {}},TImmediateLosslessTextRegion :func ()Segmenter {return &TextRegion {}},TPatternDictionary :func ()Segmenter {return &PatternDictionary {}},TIntermediateHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TImmediateHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TImmediateLosslessHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TIntermediateGenericRegion :func ()Segmenter {return &GenericRegion {}},TImmediateGenericRegion :func ()Segmenter {return &GenericRegion {}},TImmediateLosslessGenericRegion :func ()Segmenter {return &GenericRegion {}},TIntermediateGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TImmediateGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TImmediateLosslessGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TPageInformation :func ()Segmenter {return &PageInformationSegment {}},TEndOfPage :func ()Segmenter {return _bee },TEndOfStrip :func ()Segmenter {return &EndOfStripe {}},TEndOfFile :func ()Segmenter {return _bee },TProfiles :func ()Segmenter {return _bee },TTables :func ()Segmenter {return &TableSegment {}},TExtension :func ()Segmenter {return _bee },TBitmap :func ()Segmenter {return _bee }};);func (_cdf *GenericRegion )overrideAtTemplate1 (_gada ,_gecf ,_efgb ,_bfag ,_ada int )int {_gada &=0x1FF7;if _cdf .GBAtY [0]==0&&_cdf .GBAtX [0]>=-int8 (_ada ){_gada |=(_bfag >>uint (7-(int8 (_ada )+_cdf .GBAtX [0]))&0x1)<<3;}else {_gada |=int (_cdf .getPixel (_gecf +int (_cdf .GBAtX [0]),_efgb +int (_cdf .GBAtY [0])))<<3;};return _gada ;};func (_cfb *GenericRegion )decodeSLTP ()(int ,error ){switch _cfb .GBTemplate {case 0:_cfb ._aee .SetIndex (0x9B25);case 1:_cfb ._aee .SetIndex (0x795);case 2:_cfb ._aee .SetIndex (0xE5);case 3:_cfb ._aee .SetIndex (0x195);};return _cfb ._afag .DecodeBit (_cfb ._aee );};func (_defc *RegionSegment )Size ()int {return 17};func (_ecdgg *TextRegion )decodeStripT ()(_beaf int64 ,_cdee error ){if _ecdgg .IsHuffmanEncoded {if _ecdgg .SbHuffDT ==3{if _ecdgg ._agac ==nil {var _gbdf int ;if _ecdgg .SbHuffFS ==3{_gbdf ++;};if _ecdgg .SbHuffDS ==3{_gbdf ++;};_ecdgg ._agac ,_cdee =_ecdgg .getUserTable (_gbdf );if _cdee !=nil {return 0,_cdee ;};};_beaf ,_cdee =_ecdgg ._agac .Decode (_ecdgg ._cecd );if _cdee !=nil {return 0,_cdee ;};}else {var _dafa _c .Tabler ;_dafa ,_cdee =_c .GetStandardTable (11+int (_ecdgg .SbHuffDT ));if _cdee !=nil {return 0,_cdee ;};_beaf ,_cdee =_dafa .Decode (_ecdgg ._cecd );if _cdee !=nil {return 0,_cdee ;};};}else {var _gadcg int32 ;_gadcg ,_cdee =_ecdgg ._fabb .DecodeInt (_ecdgg ._dfdefc );if _cdee !=nil {return 0,_cdee ;};_beaf =int64 (_gadcg );};_beaf *=int64 (-_ecdgg .SbStrips );return _beaf ,nil ;};func (_edad *GenericRegion )setParametersWithAt (_fbf bool ,_adgc byte ,_eaac ,_ceef bool ,_eea ,_egb []int8 ,_cgec ,_ggaf uint32 ,_fbfc *_af .DecoderStats ,_caee *_af .Decoder ){_edad .IsMMREncoded =_fbf ;_edad .GBTemplate =_adgc ;_edad .IsTPGDon =_eaac ;_edad .GBAtX =_eea ;_edad .GBAtY =_egb ;_edad .RegionSegment .BitmapHeight =_ggaf ;_edad .RegionSegment .BitmapWidth =_cgec ;_edad ._bgd =nil ;_edad .Bitmap =nil ;if _fbfc !=nil {_edad ._aee =_fbfc ;};if _caee !=nil {_edad ._afag =_caee ;};_gbc .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0047\u0049O\u004e\u005d\u0020\u0073\u0065\u0074P\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073\u0020\u0053\u0044\u0041t\u003a\u0020\u0025\u0073",_edad );};func (_bcee *GenericRegion )overrideAtTemplate0b (_aedc ,_bfcb ,_egca ,_cda ,_ebc ,_efgd int )int {if _bcee .GBAtOverride [0]{_aedc &=0xFFFD;if _bcee .GBAtY [0]==0&&_bcee .GBAtX [0]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [0]&0x1))<<1;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [0]),_egca +int (_bcee .GBAtY [0])))<<1;};};if _bcee .GBAtOverride [1]{_aedc &=0xDFFF;if _bcee .GBAtY [1]==0&&_bcee .GBAtX [1]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [1]&0x1))<<13;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [1]),_egca +int (_bcee .GBAtY [1])))<<13;};};if _bcee .GBAtOverride [2]{_aedc &=0xFDFF;if _bcee .GBAtY [2]==0&&_bcee .GBAtX [2]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [2]&0x1))<<9;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [2]),_egca +int (_bcee .GBAtY [2])))<<9;};};if _bcee .GBAtOverride [3]{_aedc &=0xBFFF;if _bcee .GBAtY [3]==0&&_bcee .GBAtX [3]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [3]&0x1))<<14;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [3]),_egca +int (_bcee .GBAtY [3])))<<14;};};if _bcee .GBAtOverride [4]{_aedc &=0xEFFF;if _bcee .GBAtY [4]==0&&_bcee .GBAtX [4]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [4]&0x1))<<12;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [4]),_egca +int (_bcee .GBAtY [4])))<<12;};};if _bcee .GBAtOverride [5]{_aedc &=0xFFDF;if _bcee .GBAtY [5]==0&&_bcee .GBAtX [5]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [5]&0x1))<<5;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [5]),_egca +int (_bcee .GBAtY [5])))<<5;};};if _bcee .GBAtOverride [6]{_aedc &=0xFFFB;if _bcee .GBAtY [6]==0&&_bcee .GBAtX [6]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [6]&0x1))<<2;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [6]),_egca +int (_bcee .GBAtY [6])))<<2;};};if _bcee .GBAtOverride [7]{_aedc &=0xFFF7;if _bcee .GBAtY [7]==0&&_bcee .GBAtX [7]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [7]&0x1))<<3;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [7]),_egca +int (_bcee .GBAtY [7])))<<3;};};if _bcee .GBAtOverride [8]{_aedc &=0xF7FF;if _bcee .GBAtY [8]==0&&_bcee .GBAtX [8]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [8]&0x1))<<11;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [8]),_egca +int (_bcee .GBAtY [8])))<<11;};};if _bcee .GBAtOverride [9]{_aedc &=0xFFEF;if _bcee .GBAtY [9]==0&&_bcee .GBAtX [9]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [9]&0x1))<<4;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [9]),_egca +int (_bcee .GBAtY [9])))<<4;};};if _bcee .GBAtOverride [10]{_aedc &=0x7FFF;if _bcee .GBAtY [10]==0&&_bcee .GBAtX [10]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [10]&0x1))<<15;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [10]),_egca +int (_bcee .GBAtY [10])))<<15;};};if _bcee .GBAtOverride [11]{_aedc &=0xFDFF;if _bcee .GBAtY [11]==0&&_bcee .GBAtX [11]>=-int8 (_ebc ){_aedc |=(_cda >>uint (int8 (_efgd )-_bcee .GBAtX [11]&0x1))<<10;}else {_aedc |=int (_bcee .getPixel (_bfcb +int (_bcee .GBAtX [11]),_egca +int (_bcee .GBAtY [11])))<<10;};};return _aedc ;};func (_gfgf *GenericRegion )Size ()int {return _gfgf .RegionSegment .Size ()+1+2*len (_gfgf .GBAtX )};func (_dcfa *PageInformationSegment )CombinationOperator ()_gd .CombinationOperator {return _dcfa ._gccc ;};func (_bfge *TextRegion )InitEncode (globalSymbolsMap ,localSymbolsMap map[int ]int ,comps []int ,inLL *_gd .Points ,symbols *_gd .Bitmaps ,classIDs *_gf .IntSlice ,boxes *_gd .Boxes ,width ,height ,symbits int ){_bfge .RegionInfo =&RegionSegment {BitmapWidth :uint32 (width ),BitmapHeight :uint32 (height )};_bfge ._bdbf =globalSymbolsMap ;_bfge ._dggc =localSymbolsMap ;_bfge ._facg =comps ;_bfge ._ffec =inLL ;_bfge ._cgea =symbols ;_bfge ._dcfcg =classIDs ;_bfge ._dfgfg =boxes ;_bfge ._eaca =symbits ;};func (_ggb *GenericRefinementRegion )decodeTypicalPredictedLineTemplate1 (_cc ,_de ,_caf ,_ef ,_eab ,_fbgg ,_aea ,_fga ,_gcc int )(_bea error ){var (_dea ,_bcc int ;_adf ,_fbb int ;_bccg ,_dee int ;_bdf byte ;);if _cc > 0{_bdf ,_bea =_ggb .RegionBitmap .GetByte (_aea -_caf );if _bea !=nil {return ;};_adf =int (_bdf );};if _fga > 0&&_fga <=_ggb .ReferenceBitmap .Height {_bdf ,_bea =_ggb .ReferenceBitmap .GetByte (_gcc -_ef +_fbgg );if _bea !=nil {return ;};_fbb =int (_bdf )<<2;};if _fga >=0&&_fga < _ggb .ReferenceBitmap .Height {_bdf ,_bea =_ggb .ReferenceBitmap .GetByte (_gcc +_fbgg );if _bea !=nil {return ;};_bccg =int (_bdf );};if _fga > -2&&_fga < _ggb .ReferenceBitmap .Height -1{_bdf ,_bea =_ggb .ReferenceBitmap .GetByte (_gcc +_ef +_fbgg );if _bea !=nil {return ;};_dee =int (_bdf );};_dea =((_adf >>5)&0x6)|((_dee >>2)&0x30)|(_bccg &0xc0)|(_fbb &0x200);_bcc =((_dee >>2)&0x70)|(_bccg &0xc0)|(_fbb &0x700);var _cbaa int ;for _edd :=0;_edd < _eab ;_edd =_cbaa {var (_bda int ;_dac int ;);_cbaa =_edd +8;if _bda =_de -_edd ;_bda > 8{_bda =8;};_eec :=_cbaa < _de ;_ebbb :=_cbaa < _ggb .ReferenceBitmap .Width ;_adfg :=_fbgg +1;if _cc > 0{_bdf =0;if _eec {_bdf ,_bea =_ggb .RegionBitmap .GetByte (_aea -_caf +1);if _bea !=nil {return ;};};_adf =(_adf <<8)|int (_bdf );};if _fga > 0&&_fga <=_ggb .ReferenceBitmap .Height {var _bdd int ;if _ebbb {_bdf ,_bea =_ggb .ReferenceBitmap .GetByte (_gcc -_ef +_adfg );if _bea !=nil {return ;};_bdd =int (_bdf )<<2;};_fbb =(_fbb <<8)|_bdd ;};if _fga >=0&&_fga < _ggb .ReferenceBitmap .Height {_bdf =0;if _ebbb {_bdf ,_bea =_ggb .ReferenceBitmap .GetByte (_gcc +_adfg );if _bea !=nil {return ;};};_bccg =(_bccg <<8)|int (_bdf );};if _fga > -2&&_fga < (_ggb .ReferenceBitmap .Height -1){_bdf =0;if _ebbb {_bdf ,_bea =_ggb .ReferenceBitmap .GetByte (_gcc +_ef +_adfg );if _bea !=nil {return ;};};_dee =(_dee <<8)|int (_bdf );};for _aec :=0;_aec < _bda ;_aec ++{var _eagf int ;_gfg :=(_bcc >>4)&0x1ff;switch _gfg {case 0x1ff:_eagf =1;case 0x00:_eagf =0;default:_ggb ._dbd .SetIndex (int32 (_dea ));_eagf ,_bea =_ggb ._cee .DecodeBit (_ggb ._dbd );if _bea !=nil {return ;};};_eeca :=uint (7-_aec );_dac |=int (_eagf <<_eeca );_dea =((_dea &0x0d6)<<1)|_eagf |(_adf >>_eeca +5)&0x002|((_dee >>_eeca +2)&0x010)|((_bccg >>_eeca )&0x040)|((_fbb >>_eeca )&0x200);_bcc =((_bcc &0xdb)<<1)|((_dee >>_eeca +2)&0x010)|((_bccg >>_eeca )&0x080)|((_fbb >>_eeca )&0x400);};_bea =_ggb .RegionBitmap .SetByte (_aea ,byte (_dac ));if _bea !=nil {return ;};_aea ++;_gcc ++;};return nil ;};func (_gcec *SymbolDictionary )decodeNewSymbols (_cgaa ,_abgc uint32 ,_bcgc *_gd .Bitmap ,_aegbb ,_cfdd int32 )error {if _gcec ._ebgbg ==nil {_gcec ._ebgbg =_cg (_gcec ._baagg ,nil );if _gcec ._febdb ==nil {var _baaf error ;_gcec ._febdb ,_baaf =_af .New (_gcec ._baagg );if _baaf !=nil {return _baaf ;};};if _gcec ._cgfb ==nil {_gcec ._cgfb =_af .NewStats (65536,1);};};_gcec ._ebgbg .setParameters (_gcec ._cgfb ,_gcec ._febdb ,_gcec .SdrTemplate ,_cgaa ,_abgc ,_bcgc ,_aegbb ,_cfdd ,false ,_gcec .SdrATX ,_gcec .SdrATY );return _gcec .addSymbol (_gcec ._ebgbg );};func (_eef *GenericRefinementRegion )updateOverride ()error {if _eef .GrAtX ==nil ||_eef .GrAtY ==nil {return _eb .New ("\u0041\u0054\u0020\u0070\u0069\u0078\u0065\u006c\u0073\u0020\u006e\u006ft\u0020\u0073\u0065\u0074");};if len (_eef .GrAtX )!=len (_eef .GrAtY ){return _eb .New ("A\u0054\u0020\u0070\u0069xe\u006c \u0069\u006e\u0063\u006f\u006es\u0069\u0073\u0074\u0065\u006e\u0074");};_eef ._beg =make ([]bool ,len (_eef .GrAtX ));switch _eef .TemplateID {case 0:if _eef .GrAtX [0]!=-1&&_eef .GrAtY [0]!=-1{_eef ._beg [0]=true ;_eef ._gg =true ;};if _eef .GrAtX [1]!=-1&&_eef .GrAtY [1]!=-1{_eef ._beg [1]=true ;_eef ._gg =true ;};case 1:_eef ._gg =false ;};return nil ;};func (_bf *GenericRefinementRegion )Init (header *Header ,r _dc .StreamReader )error {_bf ._db =header ;_bf ._ea =r ;_bf .RegionInfo =NewRegionSegment (r );return _bf .parseHeader ();};func (_cfcc *PatternDictionary )setGbAtPixels (){if _cfcc .HDTemplate ==0{_cfcc .GBAtX =make ([]int8 ,4);_cfcc .GBAtY =make ([]int8 ,4);_cfcc .GBAtX [0]=-int8 (_cfcc .HdpWidth );_cfcc .GBAtY [0]=0;_cfcc .GBAtX [1]=-3;_cfcc .GBAtY [1]=-1;_cfcc .GBAtX [2]=2;_cfcc .GBAtY [2]=-2;_cfcc .GBAtX [3]=-2;_cfcc .GBAtY [3]=-2;}else {_cfcc .GBAtX =[]int8 {-int8 (_cfcc .HdpWidth )};_cfcc .GBAtY =[]int8 {0};};};func (_feg *TextRegion )checkInput ()error {const _feeb ="\u0063\u0068\u0065\u0063\u006b\u0049\u006e\u0070\u0075\u0074";if !_feg .UseRefinement {if _feg .SbrTemplate !=0{_gbc .Log .Debug ("\u0053\u0062\u0072Te\u006d\u0070\u006c\u0061\u0074\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030");_feg .SbrTemplate =0;};};if _feg .SbHuffFS ==2||_feg .SbHuffRDWidth ==2||_feg .SbHuffRDHeight ==2||_feg .SbHuffRDX ==2||_feg .SbHuffRDY ==2{return _gb .Error (_feeb ,"h\u0075\u0066\u0066\u006d\u0061\u006e \u0066\u006c\u0061\u0067\u0020\u0076a\u006c\u0075\u0065\u0020\u0069\u0073\u0020n\u006f\u0074\u0020\u0070\u0065\u0072\u006d\u0069\u0074\u0074e\u0064");};if !_feg .UseRefinement {if _feg .SbHuffRSize !=0{_gbc .Log .Debug ("\u0053\u0062\u0048uf\u0066\u0052\u0053\u0069\u007a\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030");_feg .SbHuffRSize =0;};if _feg .SbHuffRDY !=0{_gbc .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044Y\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030");_feg .SbHuffRDY =0;};if _feg .SbHuffRDX !=0{_gbc .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044X\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030");_feg .SbHuffRDX =0;};if _feg .SbHuffRDWidth !=0{_gbc .Log .Debug ("\u0053b\u0048\u0075\u0066\u0066R\u0044\u0057\u0069\u0064\u0074h\u0020s\u0068o\u0075\u006c\u0064\u0020\u0062\u0065\u00200");_feg .SbHuffRDWidth =0;};if _feg .SbHuffRDHeight !=0{_gbc .Log .Debug ("\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0048\u0065\u0069g\u0068\u0074\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020b\u0065\u0020\u0030");_feg .SbHuffRDHeight =0;};};return nil ;};func (_edgge *GenericRegion )overrideAtTemplate3 (_eaab ,_fgd ,_gcga ,_edeb ,_dfa int )int {_eaab &=0x3EF;if _edgge .GBAtY [0]==0&&_edgge .GBAtX [0]>=-int8 (_dfa ){_eaab |=(_edeb >>uint (7-(int8 (_dfa )+_edgge .GBAtX [0]))&0x1)<<4;}else {_eaab |=int (_edgge .getPixel (_fgd +int (_edgge .GBAtX [0]),_gcga +int (_edgge .GBAtY [0])))<<4;};return _eaab ;};func (_ee *GenericRefinementRegion )decodeTypicalPredictedLineTemplate0 (_ebb ,_ggf ,_cec ,_eag ,_faeb ,_bbg ,_dag ,_ffb ,_bab int )error {var (_ade ,_eaa ,_baa ,_fbg ,_aad ,_bc int ;_fff byte ;_dadg error ;);if _ebb > 0{_fff ,_dadg =_ee .RegionBitmap .GetByte (_dag -_cec );if _dadg !=nil {return _dadg ;};_baa =int (_fff );};if _ffb > 0&&_ffb <=_ee .ReferenceBitmap .Height {_fff ,_dadg =_ee .ReferenceBitmap .GetByte (_bab -_eag +_bbg );if _dadg !=nil {return _dadg ;};_fbg =int (_fff )<<4;};if _ffb >=0&&_ffb < _ee .ReferenceBitmap .Height {_fff ,_dadg =_ee .ReferenceBitmap .GetByte (_bab +_bbg );if _dadg !=nil {return _dadg ;};_aad =int (_fff )<<1;};if _ffb > -2&&_ffb < _ee .ReferenceBitmap .Height -1{_fff ,_dadg =_ee .ReferenceBitmap .GetByte (_bab +_eag +_bbg );if _dadg !=nil {return _dadg ;};_bc =int (_fff );};_ade =((_baa >>5)&0x6)|((_bc >>2)&0x30)|(_aad &0x180)|(_fbg &0xc00);var _ca int ;for _bgc :=0;_bgc < _faeb ;_bgc =_ca {var _ceg int ;_ca =_bgc +8;var _agb int ;if _agb =_ggf -_bgc ;_agb > 8{_agb =8;};_dab :=_ca < _ggf ;_bce :=_ca < _ee .ReferenceBitmap .Width ;_ddc :=_bbg +1;if _ebb > 0{_fff =0;if _dab {_fff ,_dadg =_ee .RegionBitmap .GetByte (_dag -_cec +1);if _dadg !=nil {return _dadg ;};};_baa =(_baa <<8)|int (_fff );};if _ffb > 0&&_ffb <=_ee .ReferenceBitmap .Height {var _dda int ;if _bce {_fff ,_dadg =_ee .ReferenceBitmap .GetByte (_bab -_eag +_ddc );if _dadg !=nil {return _dadg ;};_dda =int (_fff )<<4;};_fbg =(_fbg <<8)|_dda ;};if _ffb >=0&&_ffb < _ee .ReferenceBitmap .Height {var _bbd int ;if _bce {_fff ,_dadg =_ee .ReferenceBitmap .GetByte (_bab +_ddc );if _dadg !=nil {return _dadg ;};_bbd =int (_fff )<<1;};_aad =(_aad <<8)|_bbd ;};if _ffb > -2&&_ffb < (_ee .ReferenceBitmap .Height -1){_fff =0;if _bce {_fff ,_dadg =_ee .ReferenceBitmap .GetByte (_bab +_eag +_ddc );if _dadg !=nil {return _dadg ;};};_bc =(_bc <<8)|int (_fff );};for _bd :=0;_bd < _agb ;_bd ++{var _fca int ;_ga :=false ;_aca :=(_ade >>4)&0x1ff;if _aca ==0x1ff{_ga =true ;_fca =1;}else if _aca ==0x00{_ga =true ;};if !_ga {if _ee ._gg {_eaa =_ee .overrideAtTemplate0 (_ade ,_bgc +_bd ,_ebb ,_ceg ,_bd );_ee ._dbd .SetIndex (int32 (_eaa ));}else {_ee ._dbd .SetIndex (int32 (_ade ));};_fca ,_dadg =_ee ._cee .DecodeBit (_ee ._dbd );if _dadg !=nil {return _dadg ;};};_acb :=uint (7-_bd );_ceg |=int (_fca <<_acb );_ade =((_ade &0xdb6)<<1)|_fca |(_baa >>_acb +5)&0x002|((_bc >>_acb +2)&0x010)|((_aad >>_acb )&0x080)|((_fbg >>_acb )&0x400);};_dadg =_ee .RegionBitmap .SetByte (_dag ,byte (_ceg ));if _dadg !=nil {return _dadg ;};_dag ++;_bab ++;};return nil ;};func (_gefe *SymbolDictionary )Encode (w _dc .BinaryWriter )(_bdag int ,_beeb error ){const _cbfg ="\u0053\u0079\u006dbo\u006c\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0045\u006e\u0063\u006f\u0064\u0065";if _gefe ==nil {return 0,_gb .Error (_cbfg ,"\u0073\u0079m\u0062\u006f\u006c\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006e\u006f\u0074\u0020\u0064\u0065\u0066in\u0065\u0064");};if _bdag ,_beeb =_gefe .encodeFlags (w );_beeb !=nil {return _bdag ,_gb .Wrap (_beeb ,_cbfg ,"");};_cgba ,_beeb :=_gefe .encodeATFlags (w );if _beeb !=nil {return _bdag ,_gb .Wrap (_beeb ,_cbfg ,"");};_bdag +=_cgba ;if _cgba ,_beeb =_gefe .encodeRefinementATFlags (w );_beeb !=nil {return _bdag ,_gb .Wrap (_beeb ,_cbfg ,"");};_bdag +=_cgba ;if _cgba ,_beeb =_gefe .encodeNumSyms (w );_beeb !=nil {return _bdag ,_gb .Wrap (_beeb ,_cbfg ,"");};_bdag +=_cgba ;if _cgba ,_beeb =_gefe .encodeSymbols (w );_beeb !=nil {return _bdag ,_gb .Wrap (_beeb ,_cbfg ,"");};_bdag +=_cgba ;return _bdag ,nil ;};func (_fdf *template0 )setIndex (_ecef *_af .DecoderStats ){_ecef .SetIndex (0x100)};func (_eefc *TextRegion )decodeRdx ()(int64 ,error ){const _fabc ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064x";if _eefc .IsHuffmanEncoded {if _eefc .SbHuffRDX ==3{if _eefc ._bafdb ==nil {var (_feba int ;_dfbd error ;);if _eefc .SbHuffFS ==3{_feba ++;};if _eefc .SbHuffDS ==3{_feba ++;};if _eefc .SbHuffDT ==3{_feba ++;};if _eefc .SbHuffRDWidth ==3{_feba ++;};if _eefc .SbHuffRDHeight ==3{_feba ++;};_eefc ._bafdb ,_dfbd =_eefc .getUserTable (_feba );if _dfbd !=nil {return 0,_gb .Wrap (_dfbd ,_fabc ,"");};};return _eefc ._bafdb .Decode (_eefc ._cecd );};_bfae ,_cbgc :=_c .GetStandardTable (14+int (_eefc .SbHuffRDX ));if _cbgc !=nil {return 0,_gb .Wrap (_cbgc ,_fabc ,"");};return _bfae .Decode (_eefc ._cecd );};_cfga ,_ecfgf :=_eefc ._fabb .DecodeInt (_eefc ._gdbff );if _ecfgf !=nil {return 0,_gb .Wrap (_ecfgf ,_fabc ,"");};return int64 (_cfga ),nil ;};func (_gef *GenericRegion )setParameters (_gac bool ,_dgbg ,_aef int64 ,_ddcb ,_acgg uint32 ){_gef .IsMMREncoded =_gac ;_gef .DataOffset =_dgbg ;_gef .DataLength =_aef ;_gef .RegionSegment .BitmapHeight =_ddcb ;_gef .RegionSegment .BitmapWidth =_acgg ;_gef ._bgd =nil ;_gef .Bitmap =nil ;};func (_eabc *SymbolDictionary )readNumberOfNewSymbols ()error {_gfdb ,_dgdg :=_eabc ._baagg .ReadBits (32);if _dgdg !=nil {return _dgdg ;};_eabc .NumberOfNewSymbols =uint32 (_gfdb &_g .MaxUint32 );return nil ;};func (_acca *GenericRegion )parseHeader ()(_cbc error ){_gbc .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052I\u0043\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0050\u0061\u0072s\u0069\u006e\u0067\u0048\u0065\u0061\u0064e\u0072\u002e\u002e\u002e");defer func (){if _cbc !=nil {_gbc .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0047\u0049\u004f\u004e]\u0020\u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065\u0061\u0064\u0065r\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u0020\u0077\u0069th\u0020\u0065\u0072\u0072\u006f\u0072\u002e\u0020\u0025\u0076",_cbc );}else {_gbc .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049C\u002d\u0052\u0045G\u0049\u004f\u004e]\u0020\u0050a\u0072\u0073\u0069\u006e\u0067\u0048e\u0061de\u0072\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u0020\u0053\u0075\u0063\u0063\u0065\u0073\u0073\u0066\u0075\u006c\u006c\u0079\u002e\u002e\u002e");};}();var (_ebgf int ;_ead uint64 ;);if _cbc =_acca .RegionSegment .parseHeader ();_cbc !=nil {return _cbc ;};if _ ,_cbc =_acca ._dae .ReadBits (3);_cbc !=nil {return _cbc ;};_ebgf ,_cbc =_acca ._dae .ReadBit ();if _cbc !=nil {return _cbc ;};if _ebgf ==1{_acca .UseExtTemplates =true ;};_ebgf ,_cbc =_acca ._dae .ReadBit ();if _cbc !=nil {return _cbc ;};if _ebgf ==1{_acca .IsTPGDon =true ;};_ead ,_cbc =_acca ._dae .ReadBits (2);if _cbc !=nil {return _cbc ;};_acca .GBTemplate =byte (_ead &0xf);_ebgf ,_cbc =_acca ._dae .ReadBit ();if _cbc !=nil {return _cbc ;};if _ebgf ==1{_acca .IsMMREncoded =true ;};if !_acca .IsMMREncoded {_ddcf :=1;if _acca .GBTemplate ==0{_ddcf =4;if _acca .UseExtTemplates {_ddcf =12;};};if _cbc =_acca .readGBAtPixels (_ddcf );_cbc !=nil {return _cbc ;};};if _cbc =_acca .computeSegmentDataStructure ();_cbc !=nil {return _cbc ;};_gbc .Log .Trace ("\u0025\u0073",_acca );return nil ;};func (_fbge *Header )writeReferredToCount (_dccb _dc .BinaryWriter )(_ffgc int ,_cbda error ){const _gcda ="w\u0072i\u0074\u0065\u0052\u0065\u0066\u0065\u0072\u0072e\u0064\u0054\u006f\u0043ou\u006e\u0074";_fbge .RTSNumbers =make ([]int ,len (_fbge .RTSegments ));for _fcdb ,_gggb :=range _fbge .RTSegments {_fbge .RTSNumbers [_fcdb ]=int (_gggb .SegmentNumber );};if len (_fbge .RTSNumbers )<=4{var _bcaf byte ;if len (_fbge .RetainBits )>=1{_bcaf =byte (_fbge .RetainBits [0]);};_bcaf |=byte (len (_fbge .RTSNumbers ))<<5;if _cbda =_dccb .WriteByte (_bcaf );_cbda !=nil {return 0,_gb .Wrap (_cbda ,_gcda ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return 1,nil ;};_cege :=uint32 (len (_fbge .RTSNumbers ));_gggbf :=make ([]byte ,4+_gf .Ceil (len (_fbge .RTSNumbers )+1,8));_cege |=0x7<<29;_eg .BigEndian .PutUint32 (_gggbf ,_cege );copy (_gggbf [1:],_fbge .RetainBits );_ffgc ,_cbda =_dccb .Write (_gggbf );if _cbda !=nil {return 0,_gb .Wrap (_cbda ,_gcda ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return _ffgc ,nil ;};func (_efabe *SymbolDictionary )decodeHeightClassDeltaHeightWithHuffman ()(int64 ,error ){switch _efabe .SdHuffDecodeHeightSelection {case 0:_gaadd ,_gbbc :=_c .GetStandardTable (4);if _gbbc !=nil {return 0,_gbbc ;};return _gaadd .Decode (_efabe ._baagg );case 1:_bedd ,_bbdd :=_c .GetStandardTable (5);if _bbdd !=nil {return 0,_bbdd ;};return _bedd .Decode (_efabe ._baagg );case 3:if _efabe ._cafe ==nil {_daba ,_fcge :=_c .GetStandardTable (0);if _fcge !=nil {return 0,_fcge ;};_efabe ._cafe =_daba ;};return _efabe ._cafe .Decode (_efabe ._baagg );};return 0,nil ;};func (_cbdc *TextRegion )decodeRdw ()(int64 ,error ){const _cbcae ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064w";if _cbdc .IsHuffmanEncoded {if _cbdc .SbHuffRDWidth ==3{if _cbdc ._abed ==nil {var (_dedc int ;_adga error ;);if _cbdc .SbHuffFS ==3{_dedc ++;};if _cbdc .SbHuffDS ==3{_dedc ++;};if _cbdc .SbHuffDT ==3{_dedc ++;};_cbdc ._abed ,_adga =_cbdc .getUserTable (_dedc );if _adga !=nil {return 0,_gb .Wrap (_adga ,_cbcae ,"");};};return _cbdc ._abed .Decode (_cbdc ._cecd );};_ggc ,_beaa :=_c .GetStandardTable (14+int (_cbdc .SbHuffRDWidth ));if _beaa !=nil {return 0,_gb .Wrap (_beaa ,_cbcae ,"");};return _ggc .Decode (_cbdc ._cecd );};_bedc ,_fgec :=_cbdc ._fabb .DecodeInt (_cbdc ._bgfga );if _fgec !=nil {return 0,_gb .Wrap (_fgec ,_cbcae ,"");};return int64 (_bedc ),nil ;};type PageInformationSegment struct{_eegd _dc .StreamReader ;PageBMHeight int ;PageBMWidth int ;ResolutionX int ;ResolutionY int ;_afge bool ;_gccc _gd .CombinationOperator ;_eegg bool ;_gcccb uint8 ;_bde bool ;IsLossless bool ;IsStripe bool ;MaxStripeSize uint16 ;};func (_fbd *GenericRegion )copyLineAbove (_bceg int )error {_fdbc :=_bceg *_fbd .Bitmap .RowStride ;_dbg :=_fdbc -_fbd .Bitmap .RowStride ;for _bfg :=0;_bfg < _fbd .Bitmap .RowStride ;_bfg ++{_ebbf ,_gbcf :=_fbd .Bitmap .GetByte (_dbg );if _gbcf !=nil {return _gbcf ;};_dbg ++;if _gbcf =_fbd .Bitmap .SetByte (_fdbc ,_ebbf );_gbcf !=nil {return _gbcf ;};_fdbc ++;};return nil ;};func (_gfdd *SymbolDictionary )setInSyms ()error {if _gfdd .Header .RTSegments !=nil {return _gfdd .retrieveImportSymbols ();};_gfdd ._gdee =make ([]*_gd .Bitmap ,0);return nil ;};func (_fbab *Header )readSegmentPageAssociation (_bec Documenter ,_ecg _dc .StreamReader ,_daee uint64 ,_efdb ...int )(_cdad error ){const _cbgd ="\u0072\u0065\u0061\u0064\u0053\u0065\u0067\u006d\u0065\u006e\u0074P\u0061\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061t\u0069\u006f\u006e";if !_fbab .PageAssociationFieldSize {_fbad ,_abg :=_ecg .ReadBits (8);if _abg !=nil {return _gb .Wrap (_abg ,_cbgd ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_fbab .PageAssociation =int (_fbad &0xFF);}else {_debg ,_bgac :=_ecg .ReadBits (32);if _bgac !=nil {return _gb .Wrap (_bgac ,_cbgd ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_fbab .PageAssociation =int (_debg &_g .MaxInt32 );};if _daee ==0{return nil ;};if _fbab .PageAssociation !=0{_aacb ,_cdb :=_bec .GetPage (_fbab .PageAssociation );if _cdb !=nil {return _gb .Wrap (_cdb ,_cbgd ,"\u0061s\u0073\u006f\u0063\u0069a\u0074\u0065\u0064\u0020\u0070a\u0067e\u0020n\u006f\u0074\u0020\u0066\u006f\u0075\u006ed");};var _baag int ;for _aafa :=uint64 (0);_aafa < _daee ;_aafa ++{_baag =_efdb [_aafa ];_fbab .RTSegments [_aafa ],_cdb =_aacb .GetSegment (_baag );if _cdb !=nil {var _cfbde error ;_fbab .RTSegments [_aafa ],_cfbde =_bec .GetGlobalSegment (_baag );if _cfbde !=nil {return _gb .Wrapf (_cdb ,_cbgd ,"\u0072\u0065\u0066\u0065\u0072\u0065n\u0063\u0065\u0020s\u0065\u0067\u006de\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075n\u0064\u0020\u0061\u0074\u0020pa\u0067\u0065\u003a\u0020\u0027\u0025\u0064\u0027\u0020\u006e\u006f\u0072\u0020\u0069\u006e\u0020\u0067\u006c\u006f\u0062\u0061\u006c\u0073",_fbab .PageAssociation );};};};return nil ;};for _bggc :=uint64 (0);_bggc < _daee ;_bggc ++{_fbab .RTSegments [_bggc ],_cdad =_bec .GetGlobalSegment (_efdb [_bggc ]);if _cdad !=nil {return _gb .Wrapf (_cdad ,_cbgd ,"\u0067\u006c\u006f\u0062\u0061\u006c\u0020\u0073\u0065\u0067m\u0065\u006e\u0074\u003a\u0020\u0027\u0025d\u0027\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_efdb [_bggc ]);};};return nil ;};func (_gdcc *Header )parse (_cgac Documenter ,_ceeg _dc .StreamReader ,_aebd int64 ,_ebga OrganizationType )(_bggf error ){const _cfbd ="\u0070\u0061\u0072s\u0065";_gbc .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u002d\u0048E\u0041\u0044\u0045\u0052\u005d\u005b\u0050A\u0052\u0053\u0045\u005d\u0020\u0042\u0065\u0067\u0069\u006e\u0073");defer func (){if _bggf !=nil {_gbc .Log .Trace ("\u005b\u0053\u0045GM\u0045\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045R\u005d[\u0050A\u0052S\u0045\u005d\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0076",_bggf );}else {_gbc .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052]\u005bP\u0041\u0052\u0053\u0045\u005d\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064");};}();_ ,_bggf =_ceeg .Seek (_aebd ,_ec .SeekStart );if _bggf !=nil {return _gb .Wrap (_bggf ,_cfbd ,"\u0073\u0065\u0065\u006b\u0020\u0073\u0074\u0061\u0072\u0074");};if _bggf =_gdcc .readSegmentNumber (_ceeg );_bggf !=nil {return _gb .Wrap (_bggf ,_cfbd ,"");};if _bggf =_gdcc .readHeaderFlags ();_bggf !=nil {return _gb .Wrap (_bggf ,_cfbd ,"");};var _gcaaf uint64 ;_gcaaf ,_bggf =_gdcc .readNumberOfReferredToSegments (_ceeg );if _bggf !=nil {return _gb .Wrap (_bggf ,_cfbd ,"");};_gdcc .RTSNumbers ,_bggf =_gdcc .readReferredToSegmentNumbers (_ceeg ,int (_gcaaf ));if _bggf !=nil {return _gb .Wrap (_bggf ,_cfbd ,"");};_bggf =_gdcc .readSegmentPageAssociation (_cgac ,_ceeg ,_gcaaf ,_gdcc .RTSNumbers ...);if _bggf !=nil {return _gb .Wrap (_bggf ,_cfbd ,"");};if _gdcc .Type !=TEndOfFile {if _bggf =_gdcc .readSegmentDataLength (_ceeg );_bggf !=nil {return _gb .Wrap (_bggf ,_cfbd ,"");};};_gdcc .readDataStartOffset (_ceeg ,_ebga );_gdcc .readHeaderLength (_ceeg ,_aebd );_gbc .Log .Trace ("\u0025\u0073",_gdcc );return nil ;};func (_eagg *SymbolDictionary )getSymbol (_gfdc int )(*_gd .Bitmap ,error ){const _abec ="\u0067e\u0074\u0053\u0079\u006d\u0062\u006fl";_defa ,_egg :=_eagg ._cgc .GetBitmap (_eagg ._accd [_gfdc ]);if _egg !=nil {return nil ,_gb .Wrap (_egg ,_abec ,"\u0063\u0061n\u0027\u0074\u0020g\u0065\u0074\u0020\u0073\u0079\u006d\u0062\u006f\u006c");};return _defa ,nil ;};func (_ffff *TextRegion )readHuffmanFlags ()error {var (_debgb int ;_ccdd uint64 ;_fgcd error ;);_ ,_fgcd =_ffff ._cecd .ReadBit ();if _fgcd !=nil {return _fgcd ;};_debgb ,_fgcd =_ffff ._cecd .ReadBit ();if _fgcd !=nil {return _fgcd ;};_ffff .SbHuffRSize =int8 (_debgb );_ccdd ,_fgcd =_ffff ._cecd .ReadBits (2);if _fgcd !=nil {return _fgcd ;};_ffff .SbHuffRDY =int8 (_ccdd )&0xf;_ccdd ,_fgcd =_ffff ._cecd .ReadBits (2);if _fgcd !=nil {return _fgcd ;};_ffff .SbHuffRDX =int8 (_ccdd )&0xf;_ccdd ,_fgcd =_ffff ._cecd .ReadBits (2);if _fgcd !=nil {return _fgcd ;};_ffff .SbHuffRDHeight =int8 (_ccdd )&0xf;_ccdd ,_fgcd =_ffff ._cecd .ReadBits (2);if _fgcd !=nil {return _fgcd ;};_ffff .SbHuffRDWidth =int8 (_ccdd )&0xf;_ccdd ,_fgcd =_ffff ._cecd .ReadBits (2);if _fgcd !=nil {return _fgcd ;};_ffff .SbHuffDT =int8 (_ccdd )&0xf;_ccdd ,_fgcd =_ffff ._cecd .ReadBits (2);if _fgcd !=nil {return _fgcd ;};_ffff .SbHuffDS =int8 (_ccdd )&0xf;_ccdd ,_fgcd =_ffff ._cecd .ReadBits (2);if _fgcd !=nil {return _fgcd ;};_ffff .SbHuffFS =int8 (_ccdd )&0xf;return nil ;};func (_geeab *Header )String ()string {_ddbaf :=&_f .Builder {};_ddbaf .WriteString ("\u000a[\u0053E\u0047\u004d\u0045\u004e\u0054-\u0048\u0045A\u0044\u0045\u0052\u005d\u000a");_ddbaf .WriteString (_ae .Sprintf ("\t\u002d\u0020\u0053\u0065gm\u0065n\u0074\u004e\u0075\u006d\u0062e\u0072\u003a\u0020\u0025\u0076\u000a",_geeab .SegmentNumber ));_ddbaf .WriteString (_ae .Sprintf ("\u0009\u002d\u0020T\u0079\u0070\u0065\u003a\u0020\u0025\u0076\u000a",_geeab .Type ));_ddbaf .WriteString (_ae .Sprintf ("\u0009-\u0020R\u0065\u0074\u0061\u0069\u006eF\u006c\u0061g\u003a\u0020\u0025\u0076\u000a",_geeab .RetainFlag ));_ddbaf .WriteString (_ae .Sprintf ("\u0009\u002d\u0020Pa\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_geeab .PageAssociation ));_ddbaf .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0050\u0061\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061\u0074i\u006fn\u0046\u0069\u0065\u006c\u0064\u0053\u0069\u007a\u0065\u003a\u0020\u0025\u0076\u000a",_geeab .PageAssociationFieldSize ));_ddbaf .WriteString ("\u0009-\u0020R\u0054\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u0053\u003a\u000a");for _ ,_aeec :=range _geeab .RTSNumbers {_ddbaf .WriteString (_ae .Sprintf ("\u0009\t\u002d\u0020\u0025\u0064\u000a",_aeec ));};_ddbaf .WriteString (_ae .Sprintf ("\t\u002d \u0048\u0065\u0061\u0064\u0065\u0072\u004c\u0065n\u0067\u0074\u0068\u003a %\u0076\u000a",_geeab .HeaderLength ));_ddbaf .WriteString (_ae .Sprintf ("\u0009-\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061L\u0065n\u0067\u0074\u0068\u003a\u0020\u0025\u0076\n",_geeab .SegmentDataLength ));_ddbaf .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074D\u0061\u0074\u0061\u0053\u0074\u0061\u0072t\u004f\u0066\u0066\u0073\u0065\u0074\u003a\u0020\u0025\u0076\u000a",_geeab .SegmentDataStartOffset ));return _ddbaf .String ();};func (_dgdc *TextRegion )Init (header *Header ,r _dc .StreamReader )error {_dgdc .Header =header ;_dgdc ._cecd =r ;_dgdc .RegionInfo =NewRegionSegment (_dgdc ._cecd );return _dgdc .parseHeader ();};func (_bdde *GenericRegion )overrideAtTemplate0a (_ccbg ,_gggf ,_cd ,_bgcf ,_faf ,_deaa int )int {if _bdde .GBAtOverride [0]{_ccbg &=0xFFEF;if _bdde .GBAtY [0]==0&&_bdde .GBAtX [0]>=-int8 (_faf ){_ccbg |=(_bgcf >>uint (int8 (_deaa )-_bdde .GBAtX [0]&0x1))<<4;}else {_ccbg |=int (_bdde .getPixel (_gggf +int (_bdde .GBAtX [0]),_cd +int (_bdde .GBAtY [0])))<<4;};};if _bdde .GBAtOverride [1]{_ccbg &=0xFBFF;if _bdde .GBAtY [1]==0&&_bdde .GBAtX [1]>=-int8 (_faf ){_ccbg |=(_bgcf >>uint (int8 (_deaa )-_bdde .GBAtX [1]&0x1))<<10;}else {_ccbg |=int (_bdde .getPixel (_gggf +int (_bdde .GBAtX [1]),_cd +int (_bdde .GBAtY [1])))<<10;};};if _bdde .GBAtOverride [2]{_ccbg &=0xF7FF;if _bdde .GBAtY [2]==0&&_bdde .GBAtX [2]>=-int8 (_faf ){_ccbg |=(_bgcf >>uint (int8 (_deaa )-_bdde .GBAtX [2]&0x1))<<11;}else {_ccbg |=int (_bdde .getPixel (_gggf +int (_bdde .GBAtX [2]),_cd +int (_bdde .GBAtY [2])))<<11;};};if _bdde .GBAtOverride [3]{_ccbg &=0x7FFF;if _bdde .GBAtY [3]==0&&_bdde .GBAtX [3]>=-int8 (_faf ){_ccbg |=(_bgcf >>uint (int8 (_deaa )-_bdde .GBAtX [3]&0x1))<<15;}else {_ccbg |=int (_bdde .getPixel (_gggf +int (_bdde .GBAtX [3]),_cd +int (_bdde .GBAtY [3])))<<15;};};return _ccbg ;};func NewRegionSegment (r _dc .StreamReader )*RegionSegment {return &RegionSegment {_becc :r }};func (_addb *SymbolDictionary )checkInput ()error {if _addb .SdHuffDecodeHeightSelection ==2{_gbc .Log .Debug ("\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0044\u0065\u0063\u006f\u0064\u0065\u0020\u0048\u0065\u0069g\u0068\u0020\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0064\u0020\u0076\u0061l\u0075\u0065\u0020\u006e\u006f\u0074 \u0070\u0065r\u006d\u0069t\u0074e\u0064",_addb .SdHuffDecodeHeightSelection );};if _addb .SdHuffDecodeWidthSelection ==2{_gbc .Log .Debug ("\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0044\u0065\u0063\u006f\u0064\u0065\u0020\u0057\u0069\u0064t\u0068\u0020\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0064\u0020\u0076\u0061l\u0075\u0065\u0020\u006e\u006f\u0074 \u0070\u0065r\u006d\u0069t\u0074e\u0064",_addb .SdHuffDecodeWidthSelection );};if _addb .IsHuffmanEncoded {if _addb .SdTemplate !=0{_gbc .Log .Debug ("\u0053\u0044T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0020\u003d\u0020\u0025\u0064\u0020\u0028\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062e \u0030\u0029",_addb .SdTemplate );};if !_addb .UseRefinementAggregation {if !_addb .UseRefinementAggregation {if _addb ._geee {_gbc .Log .Debug ("\u0049\u0073\u0043\u006f\u0064\u0069\u006e\u0067C\u006f\u006e\u0074ex\u0074\u0052\u0065\u0074\u0061\u0069n\u0065\u0064\u0020\u003d\u0020\u0074\u0072\u0075\u0065\u0020\u0028\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0066\u0061\u006cs\u0065\u0029");_addb ._geee =false ;};if _addb ._beb {_gbc .Log .Debug ("\u0069s\u0043\u006fd\u0069\u006e\u0067\u0043o\u006e\u0074\u0065x\u0074\u0055\u0073\u0065\u0064\u0020\u003d\u0020\u0074ru\u0065\u0020\u0028s\u0068\u006fu\u006c\u0064\u0020\u0062\u0065\u0020f\u0061\u006cs\u0065\u0029");_addb ._beb =false ;};};};}else {if _addb .SdHuffBMSizeSelection !=0{_gbc .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066B\u004d\u0053\u0069\u007a\u0065\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u0030");_addb .SdHuffBMSizeSelection =0;};if _addb .SdHuffDecodeWidthSelection !=0{_gbc .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0057\u0069\u0064\u0074\u0068\u0053\u0065\u006c\u0065\u0063\u0074\u0069o\u006e\u0020\u0073\u0068\u006fu\u006c\u0064 \u0062\u0065\u0020\u0030");_addb .SdHuffDecodeWidthSelection =0;};if _addb .SdHuffDecodeHeightSelection !=0{_gbc .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0048e\u0069\u0067\u0068\u0074\u0053\u0065l\u0065\u0063\u0074\u0069\u006f\u006e\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u0030");_addb .SdHuffDecodeHeightSelection =0;};};if !_addb .UseRefinementAggregation {if _addb .SdrTemplate !=0{_gbc .Log .Debug ("\u0053\u0044\u0052\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u003d\u0020\u0025\u0064\u0020\u0028s\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030\u0029",_addb .SdrTemplate );_addb .SdrTemplate =0;};};if !_addb .IsHuffmanEncoded ||!_addb .UseRefinementAggregation {if _addb .SdHuffAggInstanceSelection {_gbc .Log .Debug ("\u0053d\u0048\u0075f\u0066\u0041\u0067g\u0049\u006e\u0073\u0074\u0061\u006e\u0063e\u0053\u0065\u006c\u0065\u0063\u0074i\u006f\u006e\u0020\u003d\u0020\u0025\u0064\u0020\u0028\u0073\u0068o\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030\u0029",_addb .SdHuffAggInstanceSelection );};};return nil ;};func (_ag *GenericRefinementRegion )decodeTypicalPredictedLine (_ceec ,_dcf ,_ffg ,_bac ,_gfa ,_edg int )error {_gca :=_ceec -int (_ag .ReferenceDY );_bg :=_ag .ReferenceBitmap .GetByteIndex (0,_gca );_fg :=_ag .RegionBitmap .GetByteIndex (0,_ceec );var _agf error ;switch _ag .TemplateID {case 0:_agf =_ag .decodeTypicalPredictedLineTemplate0 (_ceec ,_dcf ,_ffg ,_bac ,_gfa ,_edg ,_fg ,_gca ,_bg );case 1:_agf =_ag .decodeTypicalPredictedLineTemplate1 (_ceec ,_dcf ,_ffg ,_bac ,_gfa ,_edg ,_fg ,_gca ,_bg );};return _agf ;};type Segmenter interface{Init (_faefa *Header ,_acggd _dc .StreamReader )error ;};func (_bfcf *TextRegion )readUseRefinement ()error {if !_bfcf .UseRefinement ||_bfcf .SbrTemplate !=0{return nil ;};var (_egce byte ;_facga error ;);_bfcf .SbrATX =make ([]int8 ,2);_bfcf .SbrATY =make ([]int8 ,2);_egce ,_facga =_bfcf ._cecd .ReadByte ();if _facga !=nil {return _facga ;};_bfcf .SbrATX [0]=int8 (_egce );_egce ,_facga =_bfcf ._cecd .ReadByte ();if _facga !=nil {return _facga ;};_bfcf .SbrATY [0]=int8 (_egce );_egce ,_facga =_bfcf ._cecd .ReadByte ();if _facga !=nil {return _facga ;};_bfcf .SbrATX [1]=int8 (_egce );_egce ,_facga =_bfcf ._cecd .ReadByte ();if _facga !=nil {return _facga ;};_bfcf .SbrATY [1]=int8 (_egce );return nil ;};func (_ecdf *Header )readHeaderLength (_eeec _dc .StreamReader ,_dbcc int64 ){_ecdf .HeaderLength =_eeec .StreamPosition ()-_dbcc ;};func (_efba *TextRegion )Encode (w _dc .BinaryWriter )(_aagd int ,_dce error ){const _bead ="\u0054\u0065\u0078\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u002e\u0045n\u0063\u006f\u0064\u0065";if _aagd ,_dce =_efba .RegionInfo .Encode (w );_dce !=nil {return _aagd ,_gb .Wrap (_dce ,_bead ,"");};var _bdec int ;if _bdec ,_dce =_efba .encodeFlags (w );_dce !=nil {return _aagd ,_gb .Wrap (_dce ,_bead ,"");};_aagd +=_bdec ;if _bdec ,_dce =_efba .encodeSymbols (w );_dce !=nil {return _aagd ,_gb .Wrap (_dce ,_bead ,"");};_aagd +=_bdec ;return _aagd ,nil ;};func (_agca *PageInformationSegment )CombinationOperatorOverrideAllowed ()bool {return _agca ._afge };func NewHeader (d Documenter ,r _dc .StreamReader ,offset int64 ,organizationType OrganizationType )(*Header ,error ){_bed :=&Header {Reader :r };if _fcbg :=_bed .parse (d ,r ,offset ,organizationType );_fcbg !=nil {return nil ,_gb .Wrap (_fcbg ,"\u004ee\u0077\u0048\u0065\u0061\u0064\u0065r","");};return _bed ,nil ;};type GenericRefinementRegion struct{_fb templater ;_ce templater ;_ea _dc .StreamReader ;_db *Header ;RegionInfo *RegionSegment ;IsTPGROn bool ;TemplateID int8 ;Template templater ;GrAtX []int8 ;GrAtY []int8 ;RegionBitmap *_gd .Bitmap ;ReferenceBitmap *_gd .Bitmap ;ReferenceDX int32 ;ReferenceDY int32 ;_cee *_af .Decoder ;_dbd *_af .DecoderStats ;_gg bool ;_beg []bool ;};func (_edfc *Header )readSegmentNumber (_fea _dc .StreamReader )error {const _abdf ="\u0072\u0065\u0061\u0064\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u004eu\u006d\u0062\u0065\u0072";_ecfg :=make ([]byte ,4);_ ,_fbbcd :=_fea .Read (_ecfg );if _fbbcd !=nil {return _gb .Wrap (_fbbcd ,_abdf ,"");};_edfc .SegmentNumber =_eg .BigEndian .Uint32 (_ecfg );return nil ;};func (_gddd *GenericRegion )Encode (w _dc .BinaryWriter )(_gfdg int ,_dgde error ){const _cag ="G\u0065n\u0065\u0072\u0069\u0063\u0052\u0065\u0067\u0069o\u006e\u002e\u0045\u006eco\u0064\u0065";if _gddd .Bitmap ==nil {return 0,_gb .Error (_cag ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070");};_bacb ,_dgde :=_gddd .RegionSegment .Encode (w );if _dgde !=nil {return 0,_gb .Wrap (_dgde ,_cag ,"\u0052\u0065\u0067\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065\u006e\u0074");};_gfdg +=_bacb ;if _dgde =w .SkipBits (4);_dgde !=nil {return _gfdg ,_gb .Wrap (_dgde ,_cag ,"\u0073k\u0069p\u0020\u0072\u0065\u0073\u0065r\u0076\u0065d\u0020\u0062\u0069\u0074\u0073");};var _edga int ;if _gddd .IsTPGDon {_edga =1;};if _dgde =w .WriteBit (_edga );_dgde !=nil {return _gfdg ,_gb .Wrap (_dgde ,_cag ,"\u0074\u0070\u0067\u0064\u006f\u006e");};_edga =0;if _dgde =w .WriteBit (int (_gddd .GBTemplate >>1)&0x01);_dgde !=nil {return _gfdg ,_gb .Wrap (_dgde ,_cag ,"f\u0069r\u0073\u0074\u0020\u0067\u0062\u0074\u0065\u006dp\u006c\u0061\u0074\u0065 b\u0069\u0074");};if _dgde =w .WriteBit (int (_gddd .GBTemplate )&0x01);_dgde !=nil {return _gfdg ,_gb .Wrap (_dgde ,_cag ,"s\u0065\u0063\u006f\u006ed \u0067b\u0074\u0065\u006d\u0070\u006ca\u0074\u0065\u0020\u0062\u0069\u0074");};if _gddd .UseMMR {_edga =1;};if _dgde =w .WriteBit (_edga );_dgde !=nil {return _gfdg ,_gb .Wrap (_dgde ,_cag ,"u\u0073\u0065\u0020\u004d\u004d\u0052\u0020\u0062\u0069\u0074");};_gfdg ++;if _bacb ,_dgde =_gddd .writeGBAtPixels (w );_dgde !=nil {return _gfdg ,_gb .Wrap (_dgde ,_cag ,"");};_gfdg +=_bacb ;_cab :=_dg .New ();if _dgde =_cab .EncodeBitmap (_gddd .Bitmap ,_gddd .IsTPGDon );_dgde !=nil {return _gfdg ,_gb .Wrap (_dgde ,_cag ,"");};_cab .Final ();var _ebaf int64 ;if _ebaf ,_dgde =_cab .WriteTo (w );_dgde !=nil {return _gfdg ,_gb .Wrap (_dgde ,_cag ,"");};_gfdg +=int (_ebaf );return _gfdg ,nil ;};func (_gff *TableSegment )HtPS ()int32 {return _gff ._eafe };var _ _c .BasicTabler =&TableSegment {};func (_gfbc *TextRegion )decodeRdh ()(int64 ,error ){const _fcgb ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064h";if _gfbc .IsHuffmanEncoded {if _gfbc .SbHuffRDHeight ==3{if _gfbc ._eacfd ==nil {var (_facgc int ;_ceed error ;);if _gfbc .SbHuffFS ==3{_facgc ++;};if _gfbc .SbHuffDS ==3{_facgc ++;};if _gfbc .SbHuffDT ==3{_facgc ++;};if _gfbc .SbHuffRDWidth ==3{_facgc ++;};_gfbc ._eacfd ,_ceed =_gfbc .getUserTable (_facgc );if _ceed !=nil {return 0,_gb .Wrap (_ceed ,_fcgb ,"");};};return _gfbc ._eacfd .Decode (_gfbc ._cecd );};_debfd ,_acaea :=_c .GetStandardTable (14+int (_gfbc .SbHuffRDHeight ));if _acaea !=nil {return 0,_gb .Wrap (_acaea ,_fcgb ,"");};return _debfd .Decode (_gfbc ._cecd );};_cbaf ,_efge :=_gfbc ._fabb .DecodeInt (_gfbc ._gadc );if _efge !=nil {return 0,_gb .Wrap (_efge ,_fcgb ,"");};return int64 (_cbaf ),nil ;};func (_egag *TableSegment )StreamReader ()_dc .StreamReader {return _egag ._dage };func (_gbdg *Header )writeReferredToSegments (_acbg _dc .BinaryWriter )(_gcbg int ,_cggc error ){const _adecg ="\u0077\u0072\u0069te\u0052\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073";var (_adbc uint16 ;_gace uint32 ;);_gccd :=_gbdg .referenceSize ();_gcdac :=1;_bdca :=make ([]byte ,_gccd );for _ ,_abca :=range _gbdg .RTSNumbers {switch _gccd {case 4:_gace =uint32 (_abca );_eg .BigEndian .PutUint32 (_bdca ,_gace );_gcdac ,_cggc =_acbg .Write (_bdca );if _cggc !=nil {return 0,_gb .Wrap (_cggc ,_adecg ,"u\u0069\u006e\u0074\u0033\u0032\u0020\u0073\u0069\u007a\u0065");};case 2:_adbc =uint16 (_abca );_eg .BigEndian .PutUint16 (_bdca ,_adbc );_gcdac ,_cggc =_acbg .Write (_bdca );if _cggc !=nil {return 0,_gb .Wrap (_cggc ,_adecg ,"\u0075\u0069\u006e\u0074\u0031\u0036");};default:if _cggc =_acbg .WriteByte (byte (_abca ));_cggc !=nil {return 0,_gb .Wrap (_cggc ,_adecg ,"\u0075\u0069\u006et\u0038");};};_gcbg +=_gcdac ;};return _gcbg ,nil ;};func (_cgge *PageInformationSegment )encodeStripingInformation (_gefa _dc .BinaryWriter )(_affg int ,_dfd error ){const _fged ="\u0065n\u0063\u006f\u0064\u0065S\u0074\u0072\u0069\u0070\u0069n\u0067I\u006ef\u006f\u0072\u006d\u0061\u0074\u0069\u006fn";if !_cgge .IsStripe {if _affg ,_dfd =_gefa .Write ([]byte {0x00,0x00});_dfd !=nil {return 0,_gb .Wrap (_dfd ,_fged ,"n\u006f\u0020\u0073\u0074\u0072\u0069\u0070\u0069\u006e\u0067");};return _affg ,nil ;};_fdfd :=make ([]byte ,2);_eg .BigEndian .PutUint16 (_fdfd ,_cgge .MaxStripeSize |1<<15);if _affg ,_dfd =_gefa .Write (_fdfd );_dfd !=nil {return 0,_gb .Wrapf (_dfd ,_fged ,"\u0073\u0074\u0072i\u0070\u0069\u006e\u0067\u003a\u0020\u0025\u0064",_cgge .MaxStripeSize );};return _affg ,nil ;};func (_fgg *Header )referenceSize ()uint {switch {case _fgg .SegmentNumber <=255:return 1;case _fgg .SegmentNumber <=65535:return 2;default:return 4;};};func (_adbe *TextRegion )decodeDT ()(_cbbf int64 ,_efec error ){if _adbe .IsHuffmanEncoded {if _adbe .SbHuffDT ==3{_cbbf ,_efec =_adbe ._agac .Decode (_adbe ._cecd );if _efec !=nil {return 0,_efec ;};}else {var _eaabf _c .Tabler ;_eaabf ,_efec =_c .GetStandardTable (11+int (_adbe .SbHuffDT ));if _efec !=nil {return 0,_efec ;};_cbbf ,_efec =_eaabf .Decode (_adbe ._cecd );if _efec !=nil {return 0,_efec ;};};}else {var _dbbf int32 ;_dbbf ,_efec =_adbe ._fabb .DecodeInt (_adbe ._dfdefc );if _efec !=nil {return ;};_cbbf =int64 (_dbbf );};_cbbf *=int64 (_adbe .SbStrips );return _cbbf ,nil ;};func (_fdbb *Header )readHeaderFlags ()error {const _fdac ="\u0072e\u0061d\u0048\u0065\u0061\u0064\u0065\u0072\u0046\u006c\u0061\u0067\u0073";_gaa ,_gce :=_fdbb .Reader .ReadBit ();if _gce !=nil {return _gb .Wrap (_gce ,_fdac ,"r\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067");};if _gaa !=0{_fdbb .RetainFlag =true ;};_gaa ,_gce =_fdbb .Reader .ReadBit ();if _gce !=nil {return _gb .Wrap (_gce ,_fdac ,"\u0070\u0061g\u0065\u0020\u0061s\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e");};if _gaa !=0{_fdbb .PageAssociationFieldSize =true ;};_ffa ,_gce :=_fdbb .Reader .ReadBits (6);if _gce !=nil {return _gb .Wrap (_gce ,_fdac ,"\u0073\u0065\u0067m\u0065\u006e\u0074\u0020\u0074\u0079\u0070\u0065");};_fdbb .Type =Type (int (_ffa ));return nil ;};type template0 struct{};func (_dcbd *TextRegion )GetRegionInfo ()*RegionSegment {return _dcbd .RegionInfo };type TextRegion struct{_cecd _dc .StreamReader ;RegionInfo *RegionSegment ;SbrTemplate int8 ;SbdsOffset int8 ;DefaultPixel int8 ;CombinationOperator _gd .CombinationOperator ;IsTransposed int8 ;ReferenceCorner int16 ;LogSBStrips int16 ;UseRefinement bool ;IsHuffmanEncoded bool ;SbHuffRSize int8 ;SbHuffRDY int8 ;SbHuffRDX int8 ;SbHuffRDHeight int8 ;SbHuffRDWidth int8 ;SbHuffDT int8 ;SbHuffDS int8 ;SbHuffFS int8 ;SbrATX []int8 ;SbrATY []int8 ;NumberOfSymbolInstances uint32 ;_fbae int64 ;SbStrips int8 ;NumberOfSymbols uint32 ;RegionBitmap *_gd .Bitmap ;Symbols []*_gd .Bitmap ;_fabb *_af .Decoder ;_dcge *GenericRefinementRegion ;_dfdefc *_af .DecoderStats ;_dgg *_af .DecoderStats ;_ffda *_af .DecoderStats ;_aebfb *_af .DecoderStats ;_fgac *_af .DecoderStats ;_bgfga *_af .DecoderStats ;_gadc *_af .DecoderStats ;_edfa *_af .DecoderStats ;_gdbff *_af .DecoderStats ;_dfdd *_af .DecoderStats ;_fdfc *_af .DecoderStats ;_gdbb int8 ;_ccdb *_c .FixedSizeTable ;Header *Header ;_afbd _c .Tabler ;_bgcd _c .Tabler ;_agac _c .Tabler ;_abed _c .Tabler ;_eacfd _c .Tabler ;_bafdb _c .Tabler ;_gaceb _c .Tabler ;_ddac _c .Tabler ;_bdbf ,_dggc map[int ]int ;_facg []int ;_ffec *_gd .Points ;_cgea *_gd .Bitmaps ;_dcfcg *_gf .IntSlice ;_fbfbd ,_eaca int ;_dfgfg *_gd .Boxes ;};type template1 struct{};func (_ddfea *GenericRegion )overrideAtTemplate2 (_baaa ,_ged ,_gda ,_gee ,_cef int )int {_baaa &=0x3FB;if _ddfea .GBAtY [0]==0&&_ddfea .GBAtX [0]>=-int8 (_cef ){_baaa |=(_gee >>uint (7-(int8 (_cef )+_ddfea .GBAtX [0]))&0x1)<<2;}else {_baaa |=int (_ddfea .getPixel (_ged +int (_ddfea .GBAtX [0]),_gda +int (_ddfea .GBAtY [0])))<<2;};return _baaa ;};func (_ceecc *PatternDictionary )checkInput ()error {if _ceecc .HdpHeight < 1||_ceecc .HdpWidth < 1{return _eb .New ("in\u0076\u0061l\u0069\u0064\u0020\u0048\u0065\u0061\u0064\u0065\u0072 \u0056\u0061\u006c\u0075\u0065\u003a\u0020\u0057\u0069\u0064\u0074\u0068\u002f\u0048\u0065\u0069\u0067\u0068\u0074\u0020\u006d\u0075\u0073\u0074\u0020\u0062\u0065\u0020g\u0072e\u0061\u0074\u0065\u0072\u0020\u0074\u0068\u0061n\u0020z\u0065\u0072o");};if _ceecc .IsMMREncoded {if _ceecc .HDTemplate !=0{_gbc .Log .Debug ("\u0076\u0061\u0072\u0069\u0061\u0062\u006c\u0065\u0020\u0048\u0044\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e \u0074\u0068\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u0030");};};return nil ;};func (_bccd *GenericRegion )decodeTemplate1 (_egef ,_badf ,_fad int ,_edbc ,_afd int )(_fec error ){const _ccbd ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0031";var (_cge ,_dfbf int ;_bfeg ,_ecba int ;_dace byte ;_acg ,_aeaa int ;);if _egef >=1{_dace ,_fec =_bccd .Bitmap .GetByte (_afd );if _fec !=nil {return _gb .Wrap (_fec ,_ccbd ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_bfeg =int (_dace );};if _egef >=2{_dace ,_fec =_bccd .Bitmap .GetByte (_afd -_bccd .Bitmap .RowStride );if _fec !=nil {return _gb .Wrap (_fec ,_ccbd ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_ecba =int (_dace )<<5;};_cge =((_bfeg >>1)&0x1f8)|((_ecba >>1)&0x1e00);for _aff :=0;_aff < _fad ;_aff =_acg {var (_abbc byte ;_adfe int ;);_acg =_aff +8;if _dbb :=_badf -_aff ;_dbb > 8{_adfe =8;}else {_adfe =_dbb ;};if _egef > 0{_bfeg <<=8;if _acg < _badf {_dace ,_fec =_bccd .Bitmap .GetByte (_afd +1);if _fec !=nil {return _gb .Wrap (_fec ,_ccbd ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_bfeg |=int (_dace );};};if _egef > 1{_ecba <<=8;if _acg < _badf {_dace ,_fec =_bccd .Bitmap .GetByte (_afd -_bccd .Bitmap .RowStride +1);if _fec !=nil {return _gb .Wrap (_fec ,_ccbd ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_ecba |=int (_dace )<<5;};};for _eecaf :=0;_eecaf < _adfe ;_eecaf ++{if _bccd ._cfe {_dfbf =_bccd .overrideAtTemplate1 (_cge ,_aff +_eecaf ,_egef ,int (_abbc ),_eecaf );_bccd ._aee .SetIndex (int32 (_dfbf ));}else {_bccd ._aee .SetIndex (int32 (_cge ));};_aeaa ,_fec =_bccd ._afag .DecodeBit (_bccd ._aee );if _fec !=nil {return _gb .Wrap (_fec ,_ccbd ,"");};_abbc |=byte (_aeaa )<<uint (7-_eecaf );_ddbc :=uint (8-_eecaf );_cge =((_cge &0xefb)<<1)|_aeaa |((_bfeg >>_ddbc )&0x8)|((_ecba >>_ddbc )&0x200);};if _deg :=_bccd .Bitmap .SetByte (_edbc ,_abbc );_deg !=nil {return _gb .Wrap (_deg ,_ccbd ,"");};_edbc ++;_afd ++;};return nil ;};var (_ Regioner =&TextRegion {};_ Segmenter =&TextRegion {};);func (_ccgg *HalftoneRegion )Init (hd *Header ,r _dc .StreamReader )error {_ccgg ._fgcc =r ;_ccgg ._bege =hd ;_ccgg .RegionSegment =NewRegionSegment (r );return _ccgg .parseHeader ();};func (_caeb *PageInformationSegment )readResolution ()error {_dbcce ,_afab :=_caeb ._eegd .ReadBits (32);if _afab !=nil {return _afab ;};_caeb .ResolutionX =int (_dbcce &_g .MaxInt32 );_dbcce ,_afab =_caeb ._eegd .ReadBits (32);if _afab !=nil {return _afab ;};_caeb .ResolutionY =int (_dbcce &_g .MaxInt32 );return nil ;};func (_cggd *SymbolDictionary )setSymbolsArray ()error {if _cggd ._gdee ==nil {if _caga :=_cggd .retrieveImportSymbols ();_caga !=nil {return _caga ;};};if _cggd ._fde ==nil {_cggd ._fde =append (_cggd ._fde ,_cggd ._gdee ...);};return nil ;};func (_dbcg *SymbolDictionary )setAtPixels ()error {if _dbcg .IsHuffmanEncoded {return nil ;};_gbee :=1;if _dbcg .SdTemplate ==0{_gbee =4;};if _agdf :=_dbcg .readAtPixels (_gbee );_agdf !=nil {return _agdf ;};return nil ;};func (_ffaa *SymbolDictionary )encodeSymbols (_fcgcc _dc .BinaryWriter )(_bafc int ,_agg error ){const _cgfd ="\u0065\u006e\u0063o\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c";_dfed :=_dg .New ();_dfed .Init ();_adda ,_agg :=_ffaa ._cgc .SelectByIndexes (_ffaa ._accd );if _agg !=nil {return 0,_gb .Wrap (_agg ,_cgfd ,"\u0069n\u0069\u0074\u0069\u0061\u006c");};_bcbc :=map[*_gd .Bitmap ]int {};for _edab ,_aega :=range _adda .Values {_bcbc [_aega ]=_edab ;};_adda .SortByHeight ();var _fbabc ,_gea int ;_bbdf ,_agg :=_adda .GroupByHeight ();if _agg !=nil {return 0,_gb .Wrap (_agg ,_cgfd ,"");};for _ ,_egcb :=range _bbdf .Values {_fgbg :=_egcb .Values [0].Height ;_ggbcg :=_fgbg -_fbabc ;if _agg =_dfed .EncodeInteger (_dg .IADH ,_ggbcg );_agg !=nil {return 0,_gb .Wrapf (_agg ,_cgfd ,"\u0049\u0041\u0044\u0048\u0020\u0066\u006f\u0072\u0020\u0064\u0068\u003a \u0027\u0025\u0064\u0027",_ggbcg );};_fbabc =_fgbg ;_adeg ,_cgfe :=_egcb .GroupByWidth ();if _cgfe !=nil {return 0,_gb .Wrapf (_cgfe ,_cgfd ,"\u0068\u0065\u0069g\u0068\u0074\u003a\u0020\u0027\u0025\u0064\u0027",_fgbg );};var _fbbg int ;for _ ,_fggb :=range _adeg .Values {for _ ,_gfb :=range _fggb .Values {_gcac :=_gfb .Width ;_cdd :=_gcac -_fbbg ;if _cgfe =_dfed .EncodeInteger (_dg .IADW ,_cdd );_cgfe !=nil {return 0,_gb .Wrapf (_cgfe ,_cgfd ,"\u0049\u0041\u0044\u0057\u0020\u0066\u006f\u0072\u0020\u0064\u0077\u003a \u0027\u0025\u0064\u0027",_cdd );};_fbbg +=_cdd ;if _cgfe =_dfed .EncodeBitmap (_gfb ,false );_cgfe !=nil {return 0,_gb .Wrapf (_cgfe ,_cgfd ,"H\u0065i\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u0020W\u0069\u0064\u0074\u0068: \u0025\u0064",_fgbg ,_gcac );};_bdfe :=_bcbc [_gfb ];_ffaa ._ffbe [_bdfe ]=_gea ;_gea ++;};};if _cgfe =_dfed .EncodeOOB (_dg .IADW );_cgfe !=nil {return 0,_gb .Wrap (_cgfe ,_cgfd ,"\u0049\u0041\u0044\u0057");};};if _agg =_dfed .EncodeInteger (_dg .IAEX ,0);_agg !=nil {return 0,_gb .Wrap (_agg ,_cgfd ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};if _agg =_dfed .EncodeInteger (_dg .IAEX ,len (_ffaa ._accd ));_agg !=nil {return 0,_gb .Wrap (_agg ,_cgfd ,"\u006e\u0075\u006d\u0062\u0065\u0072\u0020\u006f\u0066\u0020\u0073\u0079m\u0062\u006f\u006c\u0073");};_dfed .Final ();_edaf ,_agg :=_dfed .WriteTo (_fcgcc );if _agg !=nil {return 0,_gb .Wrap (_agg ,_cgfd ,"\u0077\u0072i\u0074\u0069\u006e\u0067 \u0065\u006ec\u006f\u0064\u0065\u0072\u0020\u0063\u006f\u006et\u0065\u0078\u0074\u0020\u0074\u006f\u0020\u0027\u0077\u0027\u0020\u0077r\u0069\u0074\u0065\u0072");};return int (_edaf ),nil ;};func (_agbc *HalftoneRegion )combineGrayscalePlanes (_ggba []*_gd .Bitmap ,_bdb int )error {_cbde :=0;for _cbfa :=0;_cbfa < _ggba [_bdb ].Height ;_cbfa ++{for _agd :=0;_agd < _ggba [_bdb ].Width ;_agd +=8{_bcf ,_abcd :=_ggba [_bdb +1].GetByte (_cbde );if _abcd !=nil {return _abcd ;};_eee ,_abcd :=_ggba [_bdb ].GetByte (_cbde );if _abcd !=nil {return _abcd ;};_abcd =_ggba [_bdb ].SetByte (_cbde ,_gd .CombineBytes (_eee ,_bcf ,_gd .CmbOpXor ));if _abcd !=nil {return _abcd ;};_cbde ++;};};return nil ;};type HalftoneRegion struct{_fgcc _dc .StreamReader ;_bege *Header ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;RegionSegment *RegionSegment ;HDefaultPixel int8 ;CombinationOperator _gd .CombinationOperator ;HSkipEnabled bool ;HTemplate byte ;IsMMREncoded bool ;HGridWidth uint32 ;HGridHeight uint32 ;HGridX int32 ;HGridY int32 ;HRegionX uint16 ;HRegionY uint16 ;HalftoneRegionBitmap *_gd .Bitmap ;Patterns []*_gd .Bitmap ;};func (_ffca *Header )pageSize ()uint {if _ffca .PageAssociation <=255{return 1;};return 4;};func (_cdfg *PageInformationSegment )checkInput ()error {if _cdfg .PageBMHeight ==_g .MaxInt32 {if !_cdfg .IsStripe {_gbc .Log .Debug ("P\u0061\u0067\u0065\u0049\u006e\u0066\u006f\u0072\u006da\u0074\u0069\u006f\u006e\u0053\u0065\u0067me\u006e\u0074\u002e\u0049s\u0053\u0074\u0072\u0069\u0070\u0065\u0020\u0073\u0068ou\u006c\u0064 \u0062\u0065\u0020\u0074\u0072\u0075\u0065\u002e");};};return nil ;};type Pager interface{GetSegment (int )(*Header ,error );GetBitmap ()(*_gd .Bitmap ,error );};func (_dcff *GenericRegion )decodeTemplate0b (_fdag ,_cfa ,_bfa int ,_aaac ,_fab int )(_ecee error ){const _edeg ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0062";var (_cfdb ,_fbbb int ;_bbfc ,_dcda int ;_dgc byte ;_faec int ;);if _fdag >=1{_dgc ,_ecee =_dcff .Bitmap .GetByte (_fab );if _ecee !=nil {return _gb .Wrap (_ecee ,_edeg ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_bbfc =int (_dgc );};if _fdag >=2{_dgc ,_ecee =_dcff .Bitmap .GetByte (_fab -_dcff .Bitmap .RowStride );if _ecee !=nil {return _gb .Wrap (_ecee ,_edeg ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_dcda =int (_dgc )<<6;};_cfdb =(_bbfc &0xf0)|(_dcda &0x3800);for _dfgea :=0;_dfgea < _bfa ;_dfgea =_faec {var (_ddcd byte ;_acd int ;);_faec =_dfgea +8;if _dfb :=_cfa -_dfgea ;_dfb > 8{_acd =8;}else {_acd =_dfb ;};if _fdag > 0{_bbfc <<=8;if _faec < _cfa {_dgc ,_ecee =_dcff .Bitmap .GetByte (_fab +1);if _ecee !=nil {return _gb .Wrap (_ecee ,_edeg ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_bbfc |=int (_dgc );};};if _fdag > 1{_dcda <<=8;if _faec < _cfa {_dgc ,_ecee =_dcff .Bitmap .GetByte (_fab -_dcff .Bitmap .RowStride +1);if _ecee !=nil {return _gb .Wrap (_ecee ,_edeg ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_dcda |=int (_dgc )<<6;};};for _dff :=0;_dff < _acd ;_dff ++{_bgg :=uint (7-_dff );if _dcff ._cfe {_fbbb =_dcff .overrideAtTemplate0b (_cfdb ,_dfgea +_dff ,_fdag ,int (_ddcd ),_dff ,int (_bgg ));_dcff ._aee .SetIndex (int32 (_fbbb ));}else {_dcff ._aee .SetIndex (int32 (_cfdb ));};var _agc int ;_agc ,_ecee =_dcff ._afag .DecodeBit (_dcff ._aee );if _ecee !=nil {return _gb .Wrap (_ecee ,_edeg ,"");};_ddcd |=byte (_agc <<uint (_bgg ));_cfdb =((_cfdb &0x7bf7)<<1)|_agc |((_bbfc >>_bgg )&0x10)|((_dcda >>_bgg )&0x800);};if _bag :=_dcff .Bitmap .SetByte (_aaac ,_ddcd );_bag !=nil {return _gb .Wrap (_bag ,_edeg ,"");};_aaac ++;_fab ++;};return nil ;};func (_dagad *SymbolDictionary )getToExportFlags ()([]int ,error ){var (_efac int ;_gbfe int32 ;_ccgab error ;_deff =int32 (_dagad ._cfcb +_dagad .NumberOfNewSymbols );_aefa =make ([]int ,_deff ););for _gafe :=int32 (0);_gafe < _deff ;_gafe +=_gbfe {if _dagad .IsHuffmanEncoded {_bfde ,_dfgf :=_c .GetStandardTable (1);if _dfgf !=nil {return nil ,_dfgf ;};_abbd ,_dfgf :=_bfde .Decode (_dagad ._baagg );if _dfgf !=nil {return nil ,_dfgf ;};_gbfe =int32 (_abbd );}else {_gbfe ,_ccgab =_dagad ._febdb .DecodeInt (_dagad ._ffe );if _ccgab !=nil {return nil ,_ccgab ;};};if _gbfe !=0{for _geed :=_gafe ;_geed < _gafe +_gbfe ;_geed ++{_aefa [_geed ]=_efac ;};};if _efac ==0{_efac =1;}else {_efac =0;};};return _aefa ,nil ;};func (_badg *SymbolDictionary )decodeHeightClassDeltaHeight ()(int64 ,error ){if _badg .IsHuffmanEncoded {return _badg .decodeHeightClassDeltaHeightWithHuffman ();};_cbagg ,_dddf :=_badg ._febdb .DecodeInt (_badg ._cgacf );if _dddf !=nil {return 0,_dddf ;};return int64 (_cbagg ),nil ;};func (_bdaa *SymbolDictionary )GetDictionary ()([]*_gd .Bitmap ,error ){_gbc .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c-\u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e");defer func (){_gbc .Log .Trace ("\u005b\u0053\u0059M\u0042\u004f\u004c\u002d\u0044\u0049\u0043\u0054\u0049\u004f\u004e\u0041\u0052\u0059\u005d\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064");_gbc .Log .Trace ("\u005b\u0053Y\u004d\u0042\u004f\u004c\u002dD\u0049\u0043\u0054\u0049\u004fN\u0041\u0052\u0059\u005d\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0020\u000a\u0045\u0078\u003a\u0020\u0027\u0025\u0073\u0027\u002c\u0020\u000a\u006e\u0065\u0077\u003a\u0027\u0025\u0073\u0027",_bdaa ._bded ,_bdaa ._ega );}();if _bdaa ._bded ==nil {var _abdce error ;if _bdaa .UseRefinementAggregation {_bdaa ._ccac =_bdaa .getSbSymCodeLen ();};if !_bdaa .IsHuffmanEncoded {if _abdce =_bdaa .setCodingStatistics ();_abdce !=nil {return nil ,_abdce ;};};_bdaa ._ega =make ([]*_gd .Bitmap ,_bdaa .NumberOfNewSymbols );var _aebf []int ;if _bdaa .IsHuffmanEncoded &&!_bdaa .UseRefinementAggregation {_aebf =make ([]int ,_bdaa .NumberOfNewSymbols );};if _abdce =_bdaa .setSymbolsArray ();_abdce !=nil {return nil ,_abdce ;};var _ebfd ,_afee int64 ;_bdaa ._ggeg =0;for _bdaa ._ggeg < _bdaa .NumberOfNewSymbols {_afee ,_abdce =_bdaa .decodeHeightClassDeltaHeight ();if _abdce !=nil {return nil ,_abdce ;};_ebfd +=_afee ;var _fadf ,_ggde uint32 ;_bcg :=int64 (_bdaa ._ggeg );for {var _abff int64 ;_abff ,_abdce =_bdaa .decodeDifferenceWidth ();if _abdce !=nil {return nil ,_abdce ;};if _abff ==int64 (_g .MaxInt64 )||_bdaa ._ggeg >=_bdaa .NumberOfNewSymbols {break ;};_fadf +=uint32 (_abff );_ggde +=_fadf ;if !_bdaa .IsHuffmanEncoded ||_bdaa .UseRefinementAggregation {if !_bdaa .UseRefinementAggregation {_abdce =_bdaa .decodeDirectlyThroughGenericRegion (_fadf ,uint32 (_ebfd ));if _abdce !=nil {return nil ,_abdce ;};}else {_abdce =_bdaa .decodeAggregate (_fadf ,uint32 (_ebfd ));if _abdce !=nil {return nil ,_abdce ;};};}else if _bdaa .IsHuffmanEncoded &&!_bdaa .UseRefinementAggregation {_aebf [_bdaa ._ggeg ]=int (_fadf );};_bdaa ._ggeg ++;};if _bdaa .IsHuffmanEncoded &&!_bdaa .UseRefinementAggregation {var _gadg int64 ;if _bdaa .SdHuffBMSizeSelection ==0{var _fbcb _c .Tabler ;_fbcb ,_abdce =_c .GetStandardTable (1);if _abdce !=nil {return nil ,_abdce ;};_gadg ,_abdce =_fbcb .Decode (_bdaa ._baagg );if _abdce !=nil {return nil ,_abdce ;};}else {_gadg ,_abdce =_bdaa .huffDecodeBmSize ();if _abdce !=nil {return nil ,_abdce ;};};_bdaa ._baagg .Align ();var _fddd *_gd .Bitmap ;_fddd ,_abdce =_bdaa .decodeHeightClassCollectiveBitmap (_gadg ,uint32 (_ebfd ),_ggde );if _abdce !=nil {return nil ,_abdce ;};_abdce =_bdaa .decodeHeightClassBitmap (_fddd ,_bcg ,int (_ebfd ),_aebf );if _abdce !=nil {return nil ,_abdce ;};};};_fcgg ,_abdce :=_bdaa .getToExportFlags ();if _abdce !=nil {return nil ,_abdce ;};_bdaa .setExportedSymbols (_fcgg );};return _bdaa ._bded ,nil ;};func (_dcb *HalftoneRegion )checkInput ()error {if _dcb .IsMMREncoded {if _dcb .HTemplate !=0{_gbc .Log .Debug ("\u0048\u0054\u0065\u006d\u0070l\u0061\u0074\u0065\u0020\u003d\u0020\u0025\u0064\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0020\u0074\u0068\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u0030",_dcb .HTemplate );};if _dcb .HSkipEnabled {_gbc .Log .Debug ("\u0048\u0053\u006b\u0069\u0070\u0045\u006e\u0061\u0062\u006c\u0065\u0064\u0020\u0030\u0020\u0025\u0076\u0020(\u0073\u0068\u006f\u0075\u006c\u0064\u0020c\u006f\u006e\u0074\u0061\u0069\u006e\u0020\u0074\u0068\u0065\u0020v\u0061\u006c\u0075\u0065\u0020\u0066\u0061\u006c\u0073\u0065\u0029",_dcb .HSkipEnabled );};};return nil ;};func (_dcfg *TableSegment )HtRS ()int32 {return _dcfg ._eaae };func (_aaa *GenericRegion )decodeLine (_dfg ,_gaf ,_gagc int )error {const _ffbb ="\u0064\u0065\u0063\u006f\u0064\u0065\u004c\u0069\u006e\u0065";_age :=_aaa .Bitmap .GetByteIndex (0,_dfg );_faef :=_age -_aaa .Bitmap .RowStride ;switch _aaa .GBTemplate {case 0:if !_aaa .UseExtTemplates {return _aaa .decodeTemplate0a (_dfg ,_gaf ,_gagc ,_age ,_faef );};return _aaa .decodeTemplate0b (_dfg ,_gaf ,_gagc ,_age ,_faef );case 1:return _aaa .decodeTemplate1 (_dfg ,_gaf ,_gagc ,_age ,_faef );case 2:return _aaa .decodeTemplate2 (_dfg ,_gaf ,_gagc ,_age ,_faef );case 3:return _aaa .decodeTemplate3 (_dfg ,_gaf ,_gagc ,_age ,_faef );};return _gb .Errorf (_ffbb ,"\u0069\u006e\u0076a\u006c\u0069\u0064\u0020G\u0042\u0054\u0065\u006d\u0070\u006c\u0061t\u0065\u0020\u0070\u0072\u006f\u0076\u0069\u0064\u0065\u0064\u003a\u0020\u0025\u0064",_aaa .GBTemplate );};func (_eeed *HalftoneRegion )computeY (_dcca ,_gbd int )int {return _eeed .shiftAndFill (int (_eeed .HGridY )+_dcca *int (_eeed .HRegionX )-_gbd *int (_eeed .HRegionY ));};func (_fffb *GenericRegion )decodeTemplate0a (_bfef ,_bdc ,_gbe int ,_dabc ,_cebf int )(_abd error ){const _eagc ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0061";var (_feb ,_fcb int ;_ebe ,_afgd int ;_gad byte ;_dfge int ;);if _bfef >=1{_gad ,_abd =_fffb .Bitmap .GetByte (_cebf );if _abd !=nil {return _gb .Wrap (_abd ,_eagc ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_ebe =int (_gad );};if _bfef >=2{_gad ,_abd =_fffb .Bitmap .GetByte (_cebf -_fffb .Bitmap .RowStride );if _abd !=nil {return _gb .Wrap (_abd ,_eagc ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_afgd =int (_gad )<<6;};_feb =(_ebe &0xf0)|(_afgd &0x3800);for _bbf :=0;_bbf < _gbe ;_bbf =_dfge {var (_ded byte ;_aaec int ;);_dfge =_bbf +8;if _ccae :=_bdc -_bbf ;_ccae > 8{_aaec =8;}else {_aaec =_ccae ;};if _bfef > 0{_ebe <<=8;if _dfge < _bdc {_gad ,_abd =_fffb .Bitmap .GetByte (_cebf +1);if _abd !=nil {return _gb .Wrap (_abd ,_eagc ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_ebe |=int (_gad );};};if _bfef > 1{_agfe :=_cebf -_fffb .Bitmap .RowStride +1;_afgd <<=8;if _dfge < _bdc {_gad ,_abd =_fffb .Bitmap .GetByte (_agfe );if _abd !=nil {return _gb .Wrap (_abd ,_eagc ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_afgd |=int (_gad )<<6;}else {_afgd |=0;};};for _edfb :=0;_edfb < _aaec ;_edfb ++{_dfgg :=uint (7-_edfb );if _fffb ._cfe {_fcb =_fffb .overrideAtTemplate0a (_feb ,_bbf +_edfb ,_bfef ,int (_ded ),_edfb ,int (_dfgg ));_fffb ._aee .SetIndex (int32 (_fcb ));}else {_fffb ._aee .SetIndex (int32 (_feb ));};var _acacb int ;_acacb ,_abd =_fffb ._afag .DecodeBit (_fffb ._aee );if _abd !=nil {return _gb .Wrap (_abd ,_eagc ,"");};_ded |=byte (_acacb )<<uint (_dfgg );_feb =((_feb &0x7bf7)<<1)|_acacb |((_ebe >>_dfgg )&0x10)|((_afgd >>_dfgg )&0x800);};if _cbg :=_fffb .Bitmap .SetByte (_dabc ,_ded );_cbg !=nil {return _gb .Wrap (_cbg ,_eagc ,"");};_dabc ++;_cebf ++;};return nil ;};type Regioner interface{GetRegionBitmap ()(*_gd .Bitmap ,error );GetRegionInfo ()*RegionSegment ;};type Documenter interface{GetPage (int )(Pager ,error );GetGlobalSegment (int )(*Header ,error );};func (_gge *GenericRefinementRegion )overrideAtTemplate0 (_dbe ,_abe ,_cae ,_fba ,_gga int )int {if _gge ._beg [0]{_dbe &=0xfff7;if _gge .GrAtY [0]==0&&int (_gge .GrAtX [0])>=-_gga {_dbe |=(_fba >>uint (7-(_gga +int (_gge .GrAtX [0])))&0x1)<<3;}else {_dbe |=_gge .getPixel (_gge .RegionBitmap ,_abe +int (_gge .GrAtX [0]),_cae +int (_gge .GrAtY [0]))<<3;};};if _gge ._beg [1]{_dbe &=0xefff;if _gge .GrAtY [1]==0&&int (_gge .GrAtX [1])>=-_gga {_dbe |=(_fba >>uint (7-(_gga +int (_gge .GrAtX [1])))&0x1)<<12;}else {_dbe |=_gge .getPixel (_gge .ReferenceBitmap ,_abe +int (_gge .GrAtX [1]),_cae +int (_gge .GrAtY [1]));};};return _dbe ;};func (_gdbc *TextRegion )decodeSymInRefSize ()(int64 ,error ){const _cfgc ="\u0064e\u0063o\u0064\u0065\u0053\u0079\u006dI\u006e\u0052e\u0066\u0053\u0069\u007a\u0065";if _gdbc .SbHuffRSize ==0{_faead ,_dgcb :=_c .GetStandardTable (1);if _dgcb !=nil {return 0,_gb .Wrap (_dgcb ,_cfgc ,"");};return _faead .Decode (_gdbc ._cecd );};if _gdbc ._ddac ==nil {var (_bcba int ;_fcga error ;);if _gdbc .SbHuffFS ==3{_bcba ++;};if _gdbc .SbHuffDS ==3{_bcba ++;};if _gdbc .SbHuffDT ==3{_bcba ++;};if _gdbc .SbHuffRDWidth ==3{_bcba ++;};if _gdbc .SbHuffRDHeight ==3{_bcba ++;};if _gdbc .SbHuffRDX ==3{_bcba ++;};if _gdbc .SbHuffRDY ==3{_bcba ++;};_gdbc ._ddac ,_fcga =_gdbc .getUserTable (_bcba );if _fcga !=nil {return 0,_gb .Wrap (_fcga ,_cfgc ,"");};};_fbea ,_cfgcd :=_gdbc ._ddac .Decode (_gdbc ._cecd );if _cfgcd !=nil {return 0,_gb .Wrap (_cfgcd ,_cfgc ,"");};return _fbea ,nil ;};func (_cbac *PatternDictionary )extractPatterns (_egf *_gd .Bitmap )error {var _cgf int ;_cde :=make ([]*_gd .Bitmap ,_cbac .GrayMax +1);for _cgf <=int (_cbac .GrayMax ){_aceg :=int (_cbac .HdpWidth )*_cgf ;_daef :=_e .Rect (_aceg ,0,_aceg +int (_cbac .HdpWidth ),int (_cbac .HdpHeight ));_gbcfe ,_bae :=_gd .Extract (_daef ,_egf );if _bae !=nil {return _bae ;};_cde [_cgf ]=_gbcfe ;_cgf ++;};_cbac .Patterns =_cde ;return nil ;};var _ SegmentEncoder =&RegionSegment {};type EncodeInitializer interface{InitEncode ();};const BorderSize =6;func (_faff *SymbolDictionary )decodeDirectlyThroughGenericRegion (_aggf ,_bagdf uint32 )error {if _faff ._cfdg ==nil {_faff ._cfdg =NewGenericRegion (_faff ._baagg );};_faff ._cfdg .setParametersWithAt (false ,byte (_faff .SdTemplate ),false ,false ,_faff .SdATX ,_faff .SdATY ,_aggf ,_bagdf ,_faff ._cgfb ,_faff ._febdb );return _faff .addSymbol (_faff ._cfdg );};func (_caa *GenericRegion )String ()string {_dfec :=&_f .Builder {};_dfec .WriteString ("\u000a[\u0047E\u004e\u0045\u0052\u0049\u0043 \u0052\u0045G\u0049\u004f\u004e\u005d\u000a");_dfec .WriteString (_caa .RegionSegment .String ()+"\u000a");_dfec .WriteString (_ae .Sprintf ("\u0009\u002d\u0020Us\u0065\u0045\u0078\u0074\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0073\u003a\u0020\u0025\u0076\u000a",_caa .UseExtTemplates ));_dfec .WriteString (_ae .Sprintf ("\u0009\u002d \u0049\u0073\u0054P\u0047\u0044\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_caa .IsTPGDon ));_dfec .WriteString (_ae .Sprintf ("\u0009-\u0020G\u0042\u0054\u0065\u006d\u0070l\u0061\u0074e\u003a\u0020\u0025\u0064\u000a",_caa .GBTemplate ));_dfec .WriteString (_ae .Sprintf ("\t\u002d \u0049\u0073\u004d\u004d\u0052\u0045\u006e\u0063o\u0064\u0065\u0064\u003a %\u0076\u000a",_caa .IsMMREncoded ));_dfec .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0047\u0042\u0041\u0074\u0058\u003a\u0020\u0025\u0076\u000a",_caa .GBAtX ));_dfec .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0047\u0042\u0041\u0074\u0059\u003a\u0020\u0025\u0076\u000a",_caa .GBAtY ));_dfec .WriteString (_ae .Sprintf ("\t\u002d \u0047\u0042\u0041\u0074\u004f\u0076\u0065\u0072r\u0069\u0064\u0065\u003a %\u0076\u000a",_caa .GBAtOverride ));return _dfec .String ();};func (_cced *SymbolDictionary )retrieveImportSymbols ()error {for _ ,_ddggb :=range _cced .Header .RTSegments {if _ddggb .Type ==0{_ffcb ,_gdae :=_ddggb .GetSegmentData ();if _gdae !=nil {return _gdae ;};_bdba ,_dfbfg :=_ffcb .(*SymbolDictionary );if !_dfbfg {return _ae .Errorf ("\u0070\u0072\u006f\u0076\u0069\u0064\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u0044\u0061\u0074a\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0053\u0079\u006d\u0062\u006f\u006c\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u003a\u0020%\u0054",_ffcb );};_gfee ,_gdae :=_bdba .GetDictionary ();if _gdae !=nil {return _ae .Errorf ("\u0072\u0065\u006c\u0061\u0074\u0065\u0064 \u0073\u0065\u0067m\u0065\u006e\u0074 \u0077\u0069t\u0068\u0020\u0069\u006e\u0064\u0065x\u003a %\u0064\u0020\u0067\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0073",_ddggb .SegmentNumber ,_gdae .Error ());};_cced ._gdee =append (_cced ._gdee ,_gfee ...);_cced ._cfcb +=_bdba .NumberOfExportedSymbols ;};};return nil ;};func (_dcg *GenericRefinementRegion )parseHeader ()(_ceb error ){_gbc .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072s\u0069\u006e\u0067\u0020\u0048e\u0061\u0064e\u0072\u002e\u002e\u002e");_gag :=_a .Now ();defer func (){if _ceb ==nil {_gbc .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045G\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020h\u0065\u0061\u0064\u0065\u0072\u0020\u0066\u0069\u006e\u0069\u0073\u0068id\u0020\u0069\u006e\u003a\u0020\u0025\u0064\u0020\u006e\u0073",_a .Since (_gag ).Nanoseconds ());}else {_gbc .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020\u0068\u0065\u0061\u0064\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0073",_ceb );};}();if _ceb =_dcg .RegionInfo .parseHeader ();_ceb !=nil {return _ceb ;};_ ,_ceb =_dcg ._ea .ReadBits (6);if _ceb !=nil {return _ceb ;};_dcg .IsTPGROn ,_ceb =_dcg ._ea .ReadBool ();if _ceb !=nil {return _ceb ;};var _cbbe int ;_cbbe ,_ceb =_dcg ._ea .ReadBit ();if _ceb !=nil {return _ceb ;};_dcg .TemplateID =int8 (_cbbe );switch _dcg .TemplateID {case 0:_dcg .Template =_dcg ._fb ;if _ceb =_dcg .readAtPixels ();_ceb !=nil {return ;};case 1:_dcg .Template =_dcg ._ce ;};return nil ;};func (_bfee *SymbolDictionary )InitEncode (symbols *_gd .Bitmaps ,symbolList []int ,symbolMap map[int ]int ,unborderSymbols bool )error {const _bagd ="S\u0079\u006d\u0062\u006f\u006c\u0044i\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002eI\u006e\u0069\u0074E\u006ec\u006f\u0064\u0065";_bfee .SdATX =[]int8 {3,-3,2,-2};_bfee .SdATY =[]int8 {-1,-1,-2,-2};_bfee ._cgc =symbols ;_bfee ._accd =make ([]int ,len (symbolList ));copy (_bfee ._accd ,symbolList );if len (_bfee ._accd )!=_bfee ._cgc .Size (){return _gb .Error (_bagd ,"s\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0061\u006e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u004ci\u0073\u0074\u0020\u006f\u0066\u0020\u0064\u0069\u0066\u0066er\u0065\u006e\u0074 \u0073i\u007a\u0065");};_bfee .NumberOfNewSymbols =uint32 (symbols .Size ());_bfee .NumberOfExportedSymbols =uint32 (symbols .Size ());_bfee ._ffbe =symbolMap ;_bfee ._efgg =unborderSymbols ;return nil ;};func (_beab *PageInformationSegment )readContainsRefinement ()error {_dcdd ,_dgeb :=_beab ._eegd .ReadBit ();if _dgeb !=nil {return _dgeb ;};if _dcdd ==1{_beab ._bde =true ;};return nil ;};func (_ffgcc *SymbolDictionary )setRetainedCodingContexts (_dddfa *SymbolDictionary ){_ffgcc ._febdb =_dddfa ._febdb ;_ffgcc .IsHuffmanEncoded =_dddfa .IsHuffmanEncoded ;_ffgcc .UseRefinementAggregation =_dddfa .UseRefinementAggregation ;_ffgcc .SdTemplate =_dddfa .SdTemplate ;_ffgcc .SdrTemplate =_dddfa .SdrTemplate ;_ffgcc .SdATX =_dddfa .SdATX ;_ffgcc .SdATY =_dddfa .SdATY ;_ffgcc .SdrATX =_dddfa .SdrATX ;_ffgcc .SdrATY =_dddfa .SdrATY ;_ffgcc ._cgfb =_dddfa ._cgfb ;};func (_dacb *SymbolDictionary )readNumberOfExportedSymbols ()error {_bgcb ,_feda :=_dacb ._baagg .ReadBits (32);if _feda !=nil {return _feda ;};_dacb .NumberOfExportedSymbols =uint32 (_bgcb &_g .MaxUint32 );return nil ;};func (_aba *GenericRegion )computeSegmentDataStructure ()error {_aba .DataOffset =_aba ._dae .StreamPosition ();_aba .DataHeaderLength =_aba .DataOffset -_aba .DataHeaderOffset ;_aba .DataLength =int64 (_aba ._dae .Length ())-_aba .DataHeaderLength ;return nil ;};func (_cbef *PageInformationSegment )encodeFlags (_cbgb _dc .BinaryWriter )(_aegb error ){const _febb ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _aegb =_cbgb .SkipBits (1);_aegb !=nil {return _gb .Wrap (_aegb ,_febb ,"\u0072\u0065\u0073e\u0072\u0076\u0065\u0064\u0020\u0062\u0069\u0074");};var _cbdaa int ;if _cbef .CombinationOperatorOverrideAllowed (){_cbdaa =1;};if _aegb =_cbgb .WriteBit (_cbdaa );_aegb !=nil {return _gb .Wrap (_aegb ,_febb ,"\u0063\u006f\u006db\u0069\u006e\u0061\u0074i\u006f\u006e\u0020\u006f\u0070\u0065\u0072a\u0074\u006f\u0072\u0020\u006f\u0076\u0065\u0072\u0072\u0069\u0064\u0064\u0065\u006e");};_cbdaa =0;if _cbef ._eegg {_cbdaa =1;};if _aegb =_cbgb .WriteBit (_cbdaa );_aegb !=nil {return _gb .Wrap (_aegb ,_febb ,"\u0072e\u0071\u0075\u0069\u0072e\u0073\u0020\u0061\u0075\u0078i\u006ci\u0061r\u0079\u0020\u0062\u0075\u0066\u0066\u0065r");};if _aegb =_cbgb .WriteBit ((int (_cbef ._gccc )>>1)&0x01);_aegb !=nil {return _gb .Wrap (_aegb ,_febb ,"\u0063\u006f\u006d\u0062\u0069\u006e\u0061\u0074\u0069\u006fn\u0020\u006f\u0070\u0065\u0072\u0061\u0074o\u0072\u0020\u0066\u0069\u0072\u0073\u0074\u0020\u0062\u0069\u0074");};if _aegb =_cbgb .WriteBit (int (_cbef ._gccc )&0x01);_aegb !=nil {return _gb .Wrap (_aegb ,_febb ,"\u0063\u006f\u006db\u0069\u006e\u0061\u0074i\u006f\u006e\u0020\u006f\u0070\u0065\u0072a\u0074\u006f\u0072\u0020\u0073\u0065\u0063\u006f\u006e\u0064\u0020\u0062\u0069\u0074");};_cbdaa =int (_cbef ._gcccb );if _aegb =_cbgb .WriteBit (_cbdaa );_aegb !=nil {return _gb .Wrap (_aegb ,_febb ,"\u0064e\u0066\u0061\u0075\u006c\u0074\u0020\u0070\u0061\u0067\u0065\u0020p\u0069\u0078\u0065\u006c\u0020\u0076\u0061\u006c\u0075\u0065");};_cbdaa =0;if _cbef ._bde {_cbdaa =1;};if _aegb =_cbgb .WriteBit (_cbdaa );_aegb !=nil {return _gb .Wrap (_aegb ,_febb ,"\u0063\u006f\u006e\u0074ai\u006e\u0073\u0020\u0072\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074");};_cbdaa =0;if _cbef .IsLossless {_cbdaa =1;};if _aegb =_cbgb .WriteBit (_cbdaa );_aegb !=nil {return _gb .Wrap (_aegb ,_febb ,"p\u0061\u0067\u0065\u0020\u0069\u0073 \u0065\u0076\u0065\u006e\u0074\u0075\u0061\u006c\u006cy\u0020\u006c\u006fs\u0073l\u0065\u0073\u0073");};return nil ;};func (_acfa *GenericRefinementRegion )setParameters (_dcfc *_af .DecoderStats ,_gec *_af .Decoder ,_ggdb int8 ,_bgcc ,_dgd uint32 ,_aed *_gd .Bitmap ,_fgf ,_dgb int32 ,_bga bool ,_cfg []int8 ,_dfe []int8 ){_gbc .Log .Trace ("\u005b\u0047\u0045NE\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052E\u0047I\u004fN\u005d \u0073\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073");if _dcfc !=nil {_acfa ._dbd =_dcfc ;};if _gec !=nil {_acfa ._cee =_gec ;};_acfa .TemplateID =_ggdb ;_acfa .RegionInfo .BitmapWidth =_bgcc ;_acfa .RegionInfo .BitmapHeight =_dgd ;_acfa .ReferenceBitmap =_aed ;_acfa .ReferenceDX =_fgf ;_acfa .ReferenceDY =_dgb ;_acfa .IsTPGROn =_bga ;_acfa .GrAtX =_cfg ;_acfa .GrAtY =_dfe ;_acfa .RegionBitmap =nil ;_gbc .Log .Trace ("[\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052E\u0046\u002d\u0052\u0045\u0047\u0049\u004fN]\u0020\u0073\u0065\u0074P\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073 f\u0069\u006ei\u0073\u0068\u0065\u0064\u002e\u0020\u0025\u0073",_acfa );};func (_gdef *PatternDictionary )Init (h *Header ,r _dc .StreamReader )error {_gdef ._dgded =r ;return _gdef .parseHeader ();};func (_dfgc *PageInformationSegment )readCombinationOperatorOverrideAllowed ()error {_eadfe ,_gaea :=_dfgc ._eegd .ReadBit ();if _gaea !=nil {return _gaea ;};if _eadfe ==1{_dfgc ._afge =true ;};return nil ;};func (_dcac *GenericRegion )getPixel (_gdcb ,_cgg int )int8 {if _gdcb < 0||_gdcb >=_dcac .Bitmap .Width {return 0;};if _cgg < 0||_cgg >=_dcac .Bitmap .Height {return 0;};if _dcac .Bitmap .GetPixel (_gdcb ,_cgg ){return 1;};return 0;};func (_fgdda *TextRegion )readRegionFlags ()error {var (_affa int ;_becf uint64 ;_debeg error ;);_affa ,_debeg =_fgdda ._cecd .ReadBit ();if _debeg !=nil {return _debeg ;};_fgdda .SbrTemplate =int8 (_affa );_becf ,_debeg =_fgdda ._cecd .ReadBits (5);if _debeg !=nil {return _debeg ;};_fgdda .SbdsOffset =int8 (_becf );if _fgdda .SbdsOffset > 0x0f{_fgdda .SbdsOffset -=0x20;};_affa ,_debeg =_fgdda ._cecd .ReadBit ();if _debeg !=nil {return _debeg ;};_fgdda .DefaultPixel =int8 (_affa );_becf ,_debeg =_fgdda ._cecd .ReadBits (2);if _debeg !=nil {return _debeg ;};_fgdda .CombinationOperator =_gd .CombinationOperator (int (_becf )&0x3);_affa ,_debeg =_fgdda ._cecd .ReadBit ();if _debeg !=nil {return _debeg ;};_fgdda .IsTransposed =int8 (_affa );_becf ,_debeg =_fgdda ._cecd .ReadBits (2);if _debeg !=nil {return _debeg ;};_fgdda .ReferenceCorner =int16 (_becf )&0x3;_becf ,_debeg =_fgdda ._cecd .ReadBits (2);if _debeg !=nil {return _debeg ;};_fgdda .LogSBStrips =int16 (_becf )&0x3;_fgdda .SbStrips =1<<uint (_fgdda .LogSBStrips );_affa ,_debeg =_fgdda ._cecd .ReadBit ();if _debeg !=nil {return _debeg ;};if _affa ==1{_fgdda .UseRefinement =true ;};_affa ,_debeg =_fgdda ._cecd .ReadBit ();if _debeg !=nil {return _debeg ;};if _affa ==1{_fgdda .IsHuffmanEncoded =true ;};return nil ;};func NewGenericRegion (r _dc .StreamReader )*GenericRegion {return &GenericRegion {RegionSegment :NewRegionSegment (r ),_dae :r };};func (_egd *Header )readNumberOfReferredToSegments (_bdgb _dc .StreamReader )(uint64 ,error ){const _baf ="\u0072\u0065\u0061\u0064\u004e\u0075\u006d\u0062\u0065\u0072O\u0066\u0052\u0065\u0066\u0065\u0072\u0072e\u0064\u0054\u006f\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073";_fdg ,_bccc :=_bdgb .ReadBits (3);if _bccc !=nil {return 0,_gb .Wrap (_bccc ,_baf ,"\u0063\u006f\u0075n\u0074\u0020\u006f\u0066\u0020\u0072\u0074\u0073");};_fdg &=0xf;var _bgce []byte ;if _fdg <=4{_bgce =make ([]byte ,5);for _adc :=0;_adc <=4;_adc ++{_bacd ,_aaf :=_bdgb .ReadBit ();if _aaf !=nil {return 0,_gb .Wrap (_aaf ,_baf ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_bgce [_adc ]=byte (_bacd );};}else {_fdg ,_bccc =_bdgb .ReadBits (29);if _bccc !=nil {return 0,_bccc ;};_fdg &=_g .MaxInt32 ;_bgb :=(_fdg +8)>>3;_bgb <<=3;_bgce =make ([]byte ,_bgb );var _dde uint64 ;for _dde =0;_dde < _bgb ;_dde ++{_agdd ,_ffbdg :=_bdgb .ReadBit ();if _ffbdg !=nil {return 0,_gb .Wrap (_ffbdg ,_baf ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_bgce [_dde ]=byte (_agdd );};};return _fdg ,nil ;};func (_fgaf *PageInformationSegment )readRequiresAuxiliaryBuffer ()error {_cdfb ,_eccbc :=_fgaf ._eegd .ReadBit ();if _eccbc !=nil {return _eccbc ;};if _cdfb ==1{_fgaf ._eegg =true ;};return nil ;};func (_ede *GenericRegion )GetRegionInfo ()*RegionSegment {return _ede .RegionSegment };func (_adb *HalftoneRegion )GetRegionBitmap ()(*_gd .Bitmap ,error ){if _adb .HalftoneRegionBitmap !=nil {return _adb .HalftoneRegionBitmap ,nil ;};var _edbd error ;_adb .HalftoneRegionBitmap =_gd .New (int (_adb .RegionSegment .BitmapWidth ),int (_adb .RegionSegment .BitmapHeight ));if _adb .Patterns ==nil ||len (_adb .Patterns )==0{_adb .Patterns ,_edbd =_adb .GetPatterns ();if _edbd !=nil {return nil ,_edbd ;};};if _adb .HDefaultPixel ==1{_adb .HalftoneRegionBitmap .SetDefaultPixel ();};_gfge :=_g .Ceil (_g .Log (float64 (len (_adb .Patterns )))/_g .Log (2));_efe :=int (_gfge );var _eccc [][]int ;_eccc ,_edbd =_adb .grayScaleDecoding (_efe );if _edbd !=nil {return nil ,_edbd ;};if _edbd =_adb .renderPattern (_eccc );_edbd !=nil {return nil ,_edbd ;};return _adb .HalftoneRegionBitmap ,nil ;};func (_fgbd *template1 )form (_aedd ,_bad ,_deb ,_efd ,_gcg int16 )int16 {return ((_aedd &0x02)<<8)|(_bad <<6)|((_deb &0x03)<<4)|(_efd <<1)|_gcg ;};func (_bgfg *Header )GetSegmentData ()(Segmenter ,error ){var _bcfg Segmenter ;if _bgfg .SegmentData !=nil {_bcfg =_bgfg .SegmentData ;};if _bcfg ==nil {_afaga ,_fbdd :=_gedc [_bgfg .Type ];if !_fbdd {return nil ,_ae .Errorf ("\u0074\u0079\u0070\u0065\u003a\u0020\u0025\u0073\u002f\u0020\u0025\u0064\u0020\u0063\u0072e\u0061t\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064\u002e\u0020",_bgfg .Type ,_bgfg .Type );};_bcfg =_afaga ();_gbc .Log .Trace ("\u005b\u0053E\u0047\u004d\u0045\u004e\u0054-\u0048\u0045\u0041\u0044\u0045R\u005d\u005b\u0023\u0025\u0064\u005d\u0020\u0047\u0065\u0074\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0044\u0061\u0074\u0061\u0020\u0061\u0074\u0020\u004f\u0066\u0066\u0073\u0065\u0074\u003a\u0020\u0025\u0030\u0034\u0058",_bgfg .SegmentNumber ,_bgfg .SegmentDataStartOffset );_ffbd ,_bbcf :=_bgfg .subInputReader ();if _bbcf !=nil {return nil ,_bbcf ;};if _gcd :=_bcfg .Init (_bgfg ,_ffbd );_gcd !=nil {_gbc .Log .Debug ("\u0049\u006e\u0069\u0074 \u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0076 \u0066o\u0072\u0020\u0074\u0079\u0070\u0065\u003a \u0025\u0054",_gcd ,_bcfg );return nil ,_gcd ;};_bgfg .SegmentData =_bcfg ;};return _bcfg ,nil ;};func (_dfda *TableSegment )parseHeader ()error {var (_befeg int ;_gafeb uint64 ;_aaeee error ;);_befeg ,_aaeee =_dfda ._dage .ReadBit ();if _aaeee !=nil {return _aaeee ;};if _befeg ==1{return _ae .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0074\u0061\u0062\u006c\u0065 \u0073\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u0064e\u0066\u0069\u006e\u0069\u0074\u0069\u006f\u006e\u002e\u0020\u0042\u002e\u0032\u002e1\u0020\u0043\u006f\u0064\u0065\u0020\u0054\u0061\u0062\u006c\u0065\u0020\u0066\u006c\u0061\u0067\u0073\u003a\u0020\u0042\u0069\u0074\u0020\u0037\u0020\u006d\u0075\u0073\u0074\u0020b\u0065\u0020\u007a\u0065\u0072\u006f\u002e\u0020\u0057a\u0073\u003a \u0025\u0064",_befeg );};if _gafeb ,_aaeee =_dfda ._dage .ReadBits (3);_aaeee !=nil {return _aaeee ;};_dfda ._eaae =(int32 (_gafeb )+1)&0xf;if _gafeb ,_aaeee =_dfda ._dage .ReadBits (3);_aaeee !=nil {return _aaeee ;};_dfda ._eafe =(int32 (_gafeb )+1)&0xf;if _gafeb ,_aaeee =_dfda ._dage .ReadBits (32);_aaeee !=nil {return _aaeee ;};_dfda ._cdfe =int32 (_gafeb &_g .MaxInt32 );if _gafeb ,_aaeee =_dfda ._dage .ReadBits (32);_aaeee !=nil {return _aaeee ;};_dfda ._cddb =int32 (_gafeb &_g .MaxInt32 );return nil ;};func (_bdcg *PatternDictionary )readPatternWidthAndHeight ()error {_fgfc ,_geeg :=_bdcg ._dgded .ReadByte ();if _geeg !=nil {return _geeg ;};_bdcg .HdpWidth =_fgfc ;_fgfc ,_geeg =_bdcg ._dgded .ReadByte ();if _geeg !=nil {return _geeg ;};_bdcg .HdpHeight =_fgfc ;return nil ;};func (_cb *EndOfStripe )Init (h *Header ,r _dc .StreamReader )error {_cb ._b =r ;return _cb .parseHeader (h ,r );};func (_gdegg *Header )subInputReader ()(_dc .StreamReader ,error ){return _dc .NewSubstreamReader (_gdegg .Reader ,_gdegg .SegmentDataStartOffset ,_gdegg .SegmentDataLength );};func (_gdga *PatternDictionary )readIsMMREncoded ()error {_ecdg ,_ggda :=_gdga ._dgded .ReadBit ();if _ggda !=nil {return _ggda ;};if _ecdg !=0{_gdga .IsMMREncoded =true ;};return nil ;};func (_edcb *TextRegion )getUserTable (_ebcaf int )(_c .Tabler ,error ){const _acggg ="\u0067\u0065\u0074U\u0073\u0065\u0072\u0054\u0061\u0062\u006c\u0065";var _gggg int ;for _ ,_baca :=range _edcb .Header .RTSegments {if _baca .Type ==53{if _gggg ==_ebcaf {_eddf ,_efbda :=_baca .GetSegmentData ();if _efbda !=nil {return nil ,_efbda ;};_bbdb ,_dbbd :=_eddf .(*TableSegment );if !_dbbd {_gbc .Log .Debug (_ae .Sprintf ("\u0073\u0065\u0067\u006d\u0065\u006e\u0074 \u0077\u0069\u0074h\u0020\u0054\u0079p\u0065\u00205\u0033\u0020\u002d\u0020\u0061\u006ed\u0020in\u0064\u0065\u0078\u003a\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0054\u0061\u0062\u006c\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074",_baca .SegmentNumber ));return nil ,_gb .Error (_acggg ,"\u0073\u0065\u0067\u006d\u0065\u006e\u0074 \u0077\u0069\u0074h\u0020\u0054\u0079\u0070e\u0020\u0035\u0033\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u002a\u0054\u0061\u0062\u006c\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074");};return _c .NewEncodedTable (_bbdb );};_gggg ++;};};return nil ,nil ;};type Header struct{SegmentNumber uint32 ;Type Type ;RetainFlag bool ;PageAssociation int ;PageAssociationFieldSize bool ;RTSegments []*Header ;HeaderLength int64 ;SegmentDataLength uint64 ;SegmentDataStartOffset uint64 ;Reader _dc .StreamReader ;SegmentData Segmenter ;RTSNumbers []int ;RetainBits []uint8 ;};func (_bbbg *PatternDictionary )computeSegmentDataStructure ()error {_bbbg .DataOffset =_bbbg ._dgded .StreamPosition ();_bbbg .DataHeaderLength =_bbbg .DataOffset -_bbbg .DataHeaderOffset ;_bbbg .DataLength =int64 (_bbbg ._dgded .Length ())-_bbbg .DataHeaderLength ;return nil ;};type OrganizationType uint8 ;func (_fadfc *TextRegion )decodeIds ()(int64 ,error ){const _ccade ="\u0064e\u0063\u006f\u0064\u0065\u0049\u0064s";if _fadfc .IsHuffmanEncoded {if _fadfc .SbHuffDS ==3{if _fadfc ._bgcd ==nil {_fegg :=0;if _fadfc .SbHuffFS ==3{_fegg ++;};var _eaaec error ;_fadfc ._bgcd ,_eaaec =_fadfc .getUserTable (_fegg );if _eaaec !=nil {return 0,_gb .Wrap (_eaaec ,_ccade ,"");};};return _fadfc ._bgcd .Decode (_fadfc ._cecd );};_ddbef ,_fgddc :=_c .GetStandardTable (8+int (_fadfc .SbHuffDS ));if _fgddc !=nil {return 0,_gb .Wrap (_fgddc ,_ccade ,"");};return _ddbef .Decode (_fadfc ._cecd );};_ebca ,_fdfb :=_fadfc ._fabb .DecodeInt (_fadfc ._ffda );if _fdfb !=nil {return 0,_gb .Wrap (_fdfb ,_ccade ,"\u0063\u0078\u0049\u0041\u0044\u0053");};return int64 (_ebca ),nil ;};func (_fffc Type )String ()string {switch _fffc {case TSymbolDictionary :return "\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069o\u006e\u0061\u0072\u0079";case TIntermediateTextRegion :return "\u0049n\u0074\u0065\u0072\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020T\u0065\u0078\u0074\u0020\u0052\u0065\u0067\u0069\u006f\u006e";case TImmediateTextRegion :return "I\u006d\u006d\u0065\u0064ia\u0074e\u0020\u0054\u0065\u0078\u0074 \u0052\u0065\u0067\u0069\u006f\u006e";case TImmediateLosslessTextRegion :return "\u0049\u006d\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020L\u006f\u0073\u0073\u006c\u0065\u0073\u0073 \u0054\u0065\u0078\u0074\u0020\u0052\u0065\u0067\u0069\u006f\u006e";case TPatternDictionary :return "\u0050a\u0074t\u0065\u0072\u006e\u0020\u0044i\u0063\u0074i\u006f\u006e\u0061\u0072\u0079";case TIntermediateHalftoneRegion :return "\u0049\u006e\u0074\u0065r\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0048\u0061l\u0066t\u006f\u006e\u0065\u0020\u0052\u0065\u0067i\u006f\u006e";case TImmediateHalftoneRegion :return "\u0049m\u006d\u0065\u0064\u0069a\u0074\u0065\u0020\u0048\u0061l\u0066t\u006fn\u0065\u0020\u0052\u0065\u0067\u0069\u006fn";case TImmediateLosslessHalftoneRegion :return "\u0049\u006d\u006ded\u0069\u0061\u0074\u0065\u0020\u004c\u006f\u0073\u0073l\u0065s\u0073 \u0048a\u006c\u0066\u0074\u006f\u006e\u0065\u0020\u0052\u0065\u0067\u0069\u006f\u006e";case TIntermediateGenericRegion :return "I\u006e\u0074\u0065\u0072\u006d\u0065d\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006e\u0065r\u0069\u0063\u0020R\u0065g\u0069\u006f\u006e";case TImmediateGenericRegion :return "\u0049m\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006ee\u0072\u0069\u0063\u0020\u0052\u0065\u0067\u0069\u006f\u006e";case TImmediateLosslessGenericRegion :return "\u0049\u006d\u006d\u0065\u0064\u0069a\u0074\u0065\u0020\u004c\u006f\u0073\u0073\u006c\u0065\u0073\u0073\u0020\u0047e\u006e\u0065\u0072\u0069\u0063\u0020\u0052e\u0067\u0069\u006f\u006e";case TIntermediateGenericRefinementRegion :return "\u0049\u006e\u0074\u0065\u0072\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006e\u0065\u0072\u0069\u0063\u0020\u0052\u0065\u0066i\u006e\u0065\u006d\u0065\u006et\u0020\u0052e\u0067\u0069\u006f\u006e";case TImmediateGenericRefinementRegion :return "I\u006d\u006d\u0065\u0064\u0069\u0061t\u0065\u0020\u0047\u0065\u006e\u0065r\u0069\u0063\u0020\u0052\u0065\u0066\u0069n\u0065\u006d\u0065\u006e\u0074\u0020\u0052\u0065\u0067\u0069o\u006e";case TImmediateLosslessGenericRefinementRegion :return "\u0049m\u006d\u0065d\u0069\u0061\u0074\u0065 \u004c\u006f\u0073s\u006c\u0065\u0073\u0073\u0020\u0047\u0065\u006e\u0065ri\u0063\u0020\u0052e\u0066\u0069n\u0065\u006d\u0065\u006e\u0074\u0020R\u0065\u0067i\u006f\u006e";case TPageInformation :return "\u0050\u0061g\u0065\u0020\u0049n\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e";case TEndOfPage :return "E\u006e\u0064\u0020\u004f\u0066\u0020\u0050\u0061\u0067\u0065";case TEndOfStrip :return "\u0045\u006e\u0064 \u004f\u0066\u0020\u0053\u0074\u0072\u0069\u0070";case TEndOfFile :return "E\u006e\u0064\u0020\u004f\u0066\u0020\u0046\u0069\u006c\u0065";case TProfiles :return "\u0050\u0072\u006f\u0066\u0069\u006c\u0065\u0073";case TTables :return "\u0054\u0061\u0062\u006c\u0065\u0073";case TExtension :return "\u0045x\u0074\u0065\u006e\u0073\u0069\u006fn";case TBitmap :return "\u0042\u0069\u0074\u006d\u0061\u0070";};return "I\u006ev\u0061\u006c\u0069\u0064\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u0020Ki\u006e\u0064";};func _cg (_aeddf _dc .StreamReader ,_bfe *Header )*GenericRefinementRegion {return &GenericRefinementRegion {_ea :_aeddf ,RegionInfo :NewRegionSegment (_aeddf ),_db :_bfe ,_fb :&template0 {},_ce :&template1 {}};};func (_deec *HalftoneRegion )parseHeader ()error {if _abbgg :=_deec .RegionSegment .parseHeader ();_abbgg !=nil {return _abbgg ;};_fed ,_eeg :=_deec ._fgcc .ReadBit ();if _eeg !=nil {return _eeg ;};_deec .HDefaultPixel =int8 (_fed );_fcc ,_eeg :=_deec ._fgcc .ReadBits (3);if _eeg !=nil {return _eeg ;};_deec .CombinationOperator =_gd .CombinationOperator (_fcc &0xf);_fed ,_eeg =_deec ._fgcc .ReadBit ();if _eeg !=nil {return _eeg ;};if _fed ==1{_deec .HSkipEnabled =true ;};_fcc ,_eeg =_deec ._fgcc .ReadBits (2);if _eeg !=nil {return _eeg ;};_deec .HTemplate =byte (_fcc &0xf);_fed ,_eeg =_deec ._fgcc .ReadBit ();if _eeg !=nil {return _eeg ;};if _fed ==1{_deec .IsMMREncoded =true ;};_fcc ,_eeg =_deec ._fgcc .ReadBits (32);if _eeg !=nil {return _eeg ;};_deec .HGridWidth =uint32 (_fcc &_g .MaxUint32 );_fcc ,_eeg =_deec ._fgcc .ReadBits (32);if _eeg !=nil {return _eeg ;};_deec .HGridHeight =uint32 (_fcc &_g .MaxUint32 );_fcc ,_eeg =_deec ._fgcc .ReadBits (32);if _eeg !=nil {return _eeg ;};_deec .HGridX =int32 (_fcc &_g .MaxInt32 );_fcc ,_eeg =_deec ._fgcc .ReadBits (32);if _eeg !=nil {return _eeg ;};_deec .HGridY =int32 (_fcc &_g .MaxInt32 );_fcc ,_eeg =_deec ._fgcc .ReadBits (16);if _eeg !=nil {return _eeg ;};_deec .HRegionX =uint16 (_fcc &_g .MaxUint16 );_fcc ,_eeg =_deec ._fgcc .ReadBits (16);if _eeg !=nil {return _eeg ;};_deec .HRegionY =uint16 (_fcc &_g .MaxUint16 );if _eeg =_deec .computeSegmentDataStructure ();_eeg !=nil {return _eeg ;};return _deec .checkInput ();};func (_fdba *HalftoneRegion )computeSegmentDataStructure ()error {_fdba .DataOffset =_fdba ._fgcc .StreamPosition ();_fdba .DataHeaderLength =_fdba .DataOffset -_fdba .DataHeaderOffset ;_fdba .DataLength =int64 (_fdba ._fgcc .Length ())-_fdba .DataHeaderLength ;return nil ;};func (_bggcc *SymbolDictionary )decodeRefinedSymbol (_dfde ,_cdeb uint32 )error {var (_gfcg int ;_ccbf ,_aebe int32 ;);if _bggcc .IsHuffmanEncoded {_ecff ,_dbf :=_bggcc ._baagg .ReadBits (byte (_bggcc ._ccac ));if _dbf !=nil {return _dbf ;};_gfcg =int (_ecff );_eeb ,_dbf :=_c .GetStandardTable (15);if _dbf !=nil {return _dbf ;};_cdadf ,_dbf :=_eeb .Decode (_bggcc ._baagg );if _dbf !=nil {return _dbf ;};_ccbf =int32 (_cdadf );_cdadf ,_dbf =_eeb .Decode (_bggcc ._baagg );if _dbf !=nil {return _dbf ;};_aebe =int32 (_cdadf );_eeb ,_dbf =_c .GetStandardTable (1);if _dbf !=nil {return _dbf ;};if _ ,_dbf =_eeb .Decode (_bggcc ._baagg );_dbf !=nil {return _dbf ;};_bggcc ._baagg .Align ();}else {_bcab ,_affd :=_bggcc ._febdb .DecodeIAID (uint64 (_bggcc ._ccac ),_bggcc ._deac );if _affd !=nil {return _affd ;};_gfcg =int (_bcab );_ccbf ,_affd =_bggcc ._febdb .DecodeInt (_bggcc ._dagf );if _affd !=nil {return _affd ;};_aebe ,_affd =_bggcc ._febdb .DecodeInt (_bggcc ._fcce );if _affd !=nil {return _affd ;};};if _bfcgd :=_bggcc .setSymbolsArray ();_bfcgd !=nil {return _bfcgd ;};_deacg :=_bggcc ._fde [_gfcg ];if _gbcfc :=_bggcc .decodeNewSymbols (_dfde ,_cdeb ,_deacg ,_ccbf ,_aebe );_gbcfc !=nil {return _gbcfc ;};if _bggcc .IsHuffmanEncoded {_bggcc ._baagg .Align ();};return nil ;};func (_dbcca *SymbolDictionary )readRefinementAtPixels (_gebg int )error {_dbcca .SdrATX =make ([]int8 ,_gebg );_dbcca .SdrATY =make ([]int8 ,_gebg );var (_cabg byte ;_fef error ;);for _cagg :=0;_cagg < _gebg ;_cagg ++{_cabg ,_fef =_dbcca ._baagg .ReadByte ();if _fef !=nil {return _fef ;};_dbcca .SdrATX [_cagg ]=int8 (_cabg );_cabg ,_fef =_dbcca ._baagg .ReadByte ();if _fef !=nil {return _fef ;};_dbcca .SdrATY [_cagg ]=int8 (_cabg );};return nil ;};func (_aebg *HalftoneRegion )grayScaleDecoding (_eecb int )([][]int ,error ){var (_geea []int8 ;_ffc []int8 ;);if !_aebg .IsMMREncoded {_geea =make ([]int8 ,4);_ffc =make ([]int8 ,4);if _aebg .HTemplate <=1{_geea [0]=3;}else if _aebg .HTemplate >=2{_geea [0]=2;};_ffc [0]=-1;_geea [1]=-3;_ffc [1]=-1;_geea [2]=2;_ffc [2]=-2;_geea [3]=-2;_ffc [3]=-2;};_ebfb :=make ([]*_gd .Bitmap ,_eecb );_cgag :=NewGenericRegion (_aebg ._fgcc );_cgag .setParametersMMR (_aebg .IsMMREncoded ,_aebg .DataOffset ,_aebg .DataLength ,_aebg .HGridHeight ,_aebg .HGridWidth ,_aebg .HTemplate ,false ,_aebg .HSkipEnabled ,_geea ,_ffc );_caba :=_eecb -1;var _afad error ;_ebfb [_caba ],_afad =_cgag .GetRegionBitmap ();if _afad !=nil {return nil ,_afad ;};for _caba > 0{_caba --;_cgag .Bitmap =nil ;_ebfb [_caba ],_afad =_cgag .GetRegionBitmap ();if _afad !=nil {return nil ,_afad ;};if _afad =_aebg .combineGrayscalePlanes (_ebfb ,_caba );_afad !=nil {return nil ,_afad ;};};return _aebg .computeGrayScalePlanes (_ebfb ,_eecb );};func (_cbdeg *PageInformationSegment )Size ()int {return 19};func (_efdc *PageInformationSegment )readWidthAndHeight ()error {_ffd ,_deaf :=_efdc ._eegd .ReadBits (32);if _deaf !=nil {return _deaf ;};_efdc .PageBMWidth =int (_ffd &_g .MaxInt32 );_ffd ,_deaf =_efdc ._eegd .ReadBits (32);if _deaf !=nil {return _deaf ;};_efdc .PageBMHeight =int (_ffd &_g .MaxInt32 );return nil ;};var _ templater =&template1 {};func (_gcba *SymbolDictionary )decodeHeightClassCollectiveBitmap (_dfeb int64 ,_deeg ,_egfd uint32 )(*_gd .Bitmap ,error ){if _dfeb ==0{_cbace :=_gd .New (int (_egfd ),int (_deeg ));var (_dagfc byte ;_bbfb error ;);for _addf :=0;_addf < len (_cbace .Data );_addf ++{_dagfc ,_bbfb =_gcba ._baagg .ReadByte ();if _bbfb !=nil {return nil ,_bbfb ;};if _bbfb =_cbace .SetByte (_addf ,_dagfc );_bbfb !=nil {return nil ,_bbfb ;};};return _cbace ,nil ;};if _gcba ._cfdg ==nil {_gcba ._cfdg =NewGenericRegion (_gcba ._baagg );};_gcba ._cfdg .setParameters (true ,_gcba ._baagg .StreamPosition (),_dfeb ,_deeg ,_egfd );_gcdd ,_dbec :=_gcba ._cfdg .GetRegionBitmap ();if _dbec !=nil {return nil ,_dbec ;};return _gcdd ,nil ;};func (_adec *GenericRegion )Init (h *Header ,r _dc .StreamReader )error {_adec .RegionSegment =NewRegionSegment (r );_adec ._dae =r ;return _adec .parseHeader ();};func (_gfca *SymbolDictionary )setRefinementAtPixels ()error {if !_gfca .UseRefinementAggregation ||_gfca .SdrTemplate !=0{return nil ;};if _eadg :=_gfca .readRefinementAtPixels (2);_eadg !=nil {return _eadg ;};return nil ;};func (_agga *TextRegion )encodeSymbols (_eecf _dc .BinaryWriter )(_fced int ,_dbeb error ){const _edag ="\u0065\u006e\u0063\u006f\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c\u0073";_fdaaf :=make ([]byte ,4);_eg .BigEndian .PutUint32 (_fdaaf ,_agga .NumberOfSymbols );if _fced ,_dbeb =_eecf .Write (_fdaaf );_dbeb !=nil {return _fced ,_gb .Wrap (_dbeb ,_edag ,"\u004e\u0075\u006dbe\u0072\u004f\u0066\u0053\u0079\u006d\u0062\u006f\u006c\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0073");};_fgbgd ,_dbeb :=_gd .NewClassedPoints (_agga ._ffec ,_gf .IntSlice (_agga ._facg ));if _dbeb !=nil {return 0,_gb .Wrap (_dbeb ,_edag ,"");};var _ebbd ,_accc int ;_afec :=_dg .New ();_afec .Init ();if _dbeb =_afec .EncodeInteger (_dg .IADT ,0);_dbeb !=nil {return _fced ,_gb .Wrap (_dbeb ,_edag ,"\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0020\u0044\u0054");};_ccace ,_dbeb :=_fgbgd .GroupByY ();if _dbeb !=nil {return 0,_gb .Wrap (_dbeb ,_edag ,"");};for _ ,_cdfd :=range _ccace {_beef :=int (_cdfd .YAtIndex (0));_dfbfa :=_beef -_ebbd ;if _dbeb =_afec .EncodeInteger (_dg .IADT ,_dfbfa );_dbeb !=nil {return _fced ,_gb .Wrap (_dbeb ,_edag ,"");};var _cage int ;for _ggbe ,_dgcf :=range _cdfd .IntSlice {switch _ggbe {case 0:_dabe :=int (_cdfd .XAtIndex (_ggbe ))-_accc ;if _dbeb =_afec .EncodeInteger (_dg .IAFS ,_dabe );_dbeb !=nil {return _fced ,_gb .Wrap (_dbeb ,_edag ,"");};_accc +=_dabe ;_cage =_accc ;default:_ggdac :=int (_cdfd .XAtIndex (_ggbe ))-_cage ;if _dbeb =_afec .EncodeInteger (_dg .IADS ,_ggdac );_dbeb !=nil {return _fced ,_gb .Wrap (_dbeb ,_edag ,"");};_cage +=_ggdac ;};_cafb ,_cecc :=_agga ._dcfcg .Get (_dgcf );if _cecc !=nil {return _fced ,_gb .Wrap (_cecc ,_edag ,"");};_efdf ,_beaea :=_agga ._bdbf [_cafb ];if !_beaea {_efdf ,_beaea =_agga ._dggc [_cafb ];if !_beaea {return _fced ,_gb .Errorf (_edag ,"\u0053\u0079\u006d\u006f\u0062\u006c:\u0020\u0027\u0025d\u0027\u0020\u0069s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064 \u0069\u006e\u0020\u0067\u006cob\u0061\u006c\u0020\u0061\u006e\u0064\u0020\u006c\u006f\u0063\u0061\u006c\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0020\u006d\u0061\u0070",_cafb );};};if _cecc =_afec .EncodeIAID (_agga ._eaca ,_efdf );_cecc !=nil {return _fced ,_gb .Wrap (_cecc ,_edag ,"");};};if _dbeb =_afec .EncodeOOB (_dg .IADS );_dbeb !=nil {return _fced ,_gb .Wrap (_dbeb ,_edag ,"");};};_afec .Final ();_bcde ,_dbeb :=_afec .WriteTo (_eecf );if _dbeb !=nil {return _fced ,_gb .Wrap (_dbeb ,_edag ,"");};_fced +=int (_bcde );return _fced ,nil ;};func (_dcbc *TextRegion )decodeID ()(int64 ,error ){if _dcbc .IsHuffmanEncoded {if _dcbc ._ccdb ==nil {_gaec ,_eeea :=_dcbc ._cecd .ReadBits (byte (_dcbc ._gdbb ));return int64 (_gaec ),_eeea ;};return _dcbc ._ccdb .Decode (_dcbc ._cecd );};return _dcbc ._fabb .DecodeIAID (uint64 (_dcbc ._gdbb ),_dcbc ._edfa );};func (_cfgd *GenericRegion )decodeTemplate3 (_gde ,_add ,_dfc int ,_ebbfc ,_edgg int )(_ggdc error ){const _bfc ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0033";var (_dbca ,_gab int ;_ddg int ;_ecd byte ;_aab ,_fbgc int ;);if _gde >=1{_ecd ,_ggdc =_cfgd .Bitmap .GetByte (_edgg );if _ggdc !=nil {return _gb .Wrap (_ggdc ,_bfc ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_ddg =int (_ecd );};_dbca =(_ddg >>1)&0x70;for _bddc :=0;_bddc < _dfc ;_bddc =_aab {var (_ageb byte ;_dge int ;);_aab =_bddc +8;if _ggfa :=_add -_bddc ;_ggfa > 8{_dge =8;}else {_dge =_ggfa ;};if _gde >=1{_ddg <<=8;if _aab < _add {_ecd ,_ggdc =_cfgd .Bitmap .GetByte (_edgg +1);if _ggdc !=nil {return _gb .Wrap (_ggdc ,_bfc ,"\u0069\u006e\u006e\u0065\u0072\u0020\u002d\u0020\u006c\u0069\u006e\u0065 \u003e\u003d\u0020\u0031");};_ddg |=int (_ecd );};};for _dgdf :=0;_dgdf < _dge ;_dgdf ++{if _cfgd ._cfe {_gab =_cfgd .overrideAtTemplate3 (_dbca ,_bddc +_dgdf ,_gde ,int (_ageb ),_dgdf );_cfgd ._aee .SetIndex (int32 (_gab ));}else {_cfgd ._aee .SetIndex (int32 (_dbca ));};_fbgc ,_ggdc =_cfgd ._afag .DecodeBit (_cfgd ._aee );if _ggdc !=nil {return _gb .Wrap (_ggdc ,_bfc ,"");};_ageb |=byte (_fbgc )<<byte (7-_dgdf );_dbca =((_dbca &0x1f7)<<1)|_fbgc |((_ddg >>uint (8-_dgdf ))&0x010);};if _effc :=_cfgd .Bitmap .SetByte (_ebbfc ,_ageb );_effc !=nil {return _gb .Wrap (_effc ,_bfc ,"");};_ebbfc ++;_edgg ++;};return nil ;};func (_fedg *SymbolDictionary )getUserTable (_cgbe int )(_c .Tabler ,error ){var _ecbag int ;for _ ,_fbaa :=range _fedg .Header .RTSegments {if _fbaa .Type ==53{if _ecbag ==_cgbe {_bega ,_beabd :=_fbaa .GetSegmentData ();if _beabd !=nil {return nil ,_beabd ;};_edbdf :=_bega .(_c .BasicTabler );return _c .NewEncodedTable (_edbdf );};_ecbag ++;};};return nil ,nil ;};func (_bbba *PatternDictionary )readTemplate ()error {_gacd ,_eagfd :=_bbba ._dgded .ReadBits (2);if _eagfd !=nil {return _eagfd ;};_bbba .HDTemplate =byte (_gacd );return nil ;};func (_fffcd *SymbolDictionary )parseHeader ()(_gafdf error ){_gbc .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c \u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e");defer func (){if _gafdf !=nil {_gbc .Log .Trace ("\u005bS\u0059\u004dB\u004f\u004c\u0020\u0044I\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u005b\u0050\u0041\u0052SE\u002d\u0048\u0045A\u0044\u0045R\u005d\u0020\u0066\u0061\u0069\u006ce\u0064\u002e \u0025\u0076",_gafdf );}else {_gbc .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c \u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u002e");};}();if _gafdf =_fffcd .readRegionFlags ();_gafdf !=nil {return _gafdf ;};if _gafdf =_fffcd .setAtPixels ();_gafdf !=nil {return _gafdf ;};if _gafdf =_fffcd .setRefinementAtPixels ();_gafdf !=nil {return _gafdf ;};if _gafdf =_fffcd .readNumberOfExportedSymbols ();_gafdf !=nil {return _gafdf ;};if _gafdf =_fffcd .readNumberOfNewSymbols ();_gafdf !=nil {return _gafdf ;};if _gafdf =_fffcd .setInSyms ();_gafdf !=nil {return _gafdf ;};if _fffcd ._beb {_adgcg :=_fffcd .Header .RTSegments ;for _acaee :=len (_adgcg )-1;_acaee >=0;_acaee --{if _adgcg [_acaee ].Type ==0{_fbbd ,_gcgg :=_adgcg [_acaee ].SegmentData .(*SymbolDictionary );if !_gcgg {_gafdf =_ae .Errorf ("\u0072\u0065\u006c\u0061\u0074\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074:\u0020\u0025\u0076\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020S\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006fna\u0072\u0079\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074",_adgcg [_acaee ]);return _gafdf ;};if _fbbd ._beb {_fffcd .setRetainedCodingContexts (_fbbd );};break ;};};};if _gafdf =_fffcd .checkInput ();_gafdf !=nil {return _gafdf ;};return nil ;};type SegmentEncoder interface{Encode (_fgfe _dc .BinaryWriter )(_cbag int ,_ebgb error );};func (_debe *Header )writeSegmentDataLength (_efab _dc .BinaryWriter )(_gbf int ,_bacfd error ){_bagf :=make ([]byte ,4);_eg .BigEndian .PutUint32 (_bagf ,uint32 (_debe .SegmentDataLength ));if _gbf ,_bacfd =_efab .Write (_bagf );_bacfd !=nil {return 0,_gb .Wrap (_bacfd ,"\u0048\u0065a\u0064\u0065\u0072\u002e\u0077\u0072\u0069\u0074\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0044\u0061\u0074\u0061\u004c\u0065ng\u0074\u0068","");};return _gbf ,nil ;};func (_eacf *SymbolDictionary )huffDecodeRefAggNInst ()(int64 ,error ){if !_eacf .SdHuffAggInstanceSelection {_edbcc ,_fbde :=_c .GetStandardTable (1);if _fbde !=nil {return 0,_fbde ;};return _edbcc .Decode (_eacf ._baagg );};if _eacf ._ggdf ==nil {var (_eegb int ;_faea error ;);if _eacf .SdHuffDecodeHeightSelection ==3{_eegb ++;};if _eacf .SdHuffDecodeWidthSelection ==3{_eegb ++;};if _eacf .SdHuffBMSizeSelection ==3{_eegb ++;};_eacf ._ggdf ,_faea =_eacf .getUserTable (_eegb );if _faea !=nil {return 0,_faea ;};};return _eacf ._ggdf .Decode (_eacf ._baagg );};func _abac (_bbe int )int {if _bbe ==0{return 0;};_bbe |=_bbe >>1;_bbe |=_bbe >>2;_bbe |=_bbe >>4;_bbe |=_bbe >>8;_bbe |=_bbe >>16;return (_bbe +1)>>1;};func (_dbab *SymbolDictionary )setExportedSymbols (_cebgc []int ){for _degga :=uint32 (0);_degga < _dbab ._cfcb +_dbab .NumberOfNewSymbols ;_degga ++{if _cebgc [_degga ]==1{var _adac *_gd .Bitmap ;if _degga < _dbab ._cfcb {_adac =_dbab ._gdee [_degga ];}else {_adac =_dbab ._ega [_degga -_dbab ._cfcb ];};_gbc .Log .Trace ("\u005bS\u0059\u004dB\u004f\u004c\u002d\u0044I\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u0020\u0041\u0064\u0064 E\u0078\u0070\u006fr\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c:\u0020\u0027%\u0073\u0027",_adac );_dbab ._bded =append (_dbab ._bded ,_adac );};};};func (_egffc *TextRegion )GetRegionBitmap ()(*_gd .Bitmap ,error ){if _egffc .RegionBitmap !=nil {return _egffc .RegionBitmap ,nil ;};if !_egffc .IsHuffmanEncoded {if _fcfa :=_egffc .setCodingStatistics ();_fcfa !=nil {return nil ,_fcfa ;};};if _aaab :=_egffc .createRegionBitmap ();_aaab !=nil {return nil ,_aaab ;};if _ebgge :=_egffc .decodeSymbolInstances ();_ebgge !=nil {return nil ,_ebgge ;};return _egffc .RegionBitmap ,nil ;};type RegionSegment struct{_becc _dc .StreamReader ;BitmapWidth uint32 ;BitmapHeight uint32 ;XLocation uint32 ;YLocation uint32 ;CombinaionOperator _gd .CombinationOperator ;};func (_bfgg *TextRegion )blit (_bfea *_gd .Bitmap ,_dfdad int64 )error {if _bfgg .IsTransposed ==0&&(_bfgg .ReferenceCorner ==2||_bfgg .ReferenceCorner ==3){_bfgg ._fbae +=int64 (_bfea .Width -1);}else if _bfgg .IsTransposed ==1&&(_bfgg .ReferenceCorner ==0||_bfgg .ReferenceCorner ==2){_bfgg ._fbae +=int64 (_bfea .Height -1);};_ceeca :=_bfgg ._fbae ;if _bfgg .IsTransposed ==1{_ceeca ,_dfdad =_dfdad ,_ceeca ;};switch _bfgg .ReferenceCorner {case 0:_dfdad -=int64 (_bfea .Height -1);case 2:_dfdad -=int64 (_bfea .Height -1);_ceeca -=int64 (_bfea .Width -1);case 3:_ceeca -=int64 (_bfea .Width -1);};_faca :=_gd .Blit (_bfea ,_bfgg .RegionBitmap ,int (_ceeca ),int (_dfdad ),_bfgg .CombinationOperator );if _faca !=nil {return _faca ;};if _bfgg .IsTransposed ==0&&(_bfgg .ReferenceCorner ==0||_bfgg .ReferenceCorner ==1){_bfgg ._fbae +=int64 (_bfea .Width -1);};if _bfgg .IsTransposed ==1&&(_bfgg .ReferenceCorner ==1||_bfgg .ReferenceCorner ==3){_bfgg ._fbae +=int64 (_bfea .Height -1);};return nil ;};func (_fgdb *GenericRegion )setOverrideFlag (_bfd int ){_fgdb .GBAtOverride [_bfd ]=true ;_fgdb ._cfe =true ;};func (_gead *TextRegion )readAmountOfSymbolInstances ()error {_ggae ,_befae :=_gead ._cecd .ReadBits (32);if _befae !=nil {return _befae ;};_gead .NumberOfSymbolInstances =uint32 (_ggae &_g .MaxUint32 );_dcae :=_gead .RegionInfo .BitmapWidth *_gead .RegionInfo .BitmapHeight ;if _dcae < _gead .NumberOfSymbolInstances {_gbc .Log .Debug ("\u004c\u0069\u006d\u0069t\u0069\u006e\u0067\u0020t\u0068\u0065\u0020n\u0075\u006d\u0062\u0065\u0072\u0020o\u0066\u0020d\u0065\u0063\u006f\u0064e\u0064\u0020\u0073\u0079m\u0062\u006f\u006c\u0020\u0069n\u0073\u0074\u0061\u006e\u0063\u0065\u0073 \u0074\u006f\u0020\u006f\u006ee\u0020\u0070\u0065\u0072\u0020\u0070\u0069\u0078\u0065l\u0020\u0028\u0020\u0025\u0064\u0020\u0069\u006e\u0073\u0074\u0065\u0061\u0064\u0020\u006f\u0066\u0020\u0025\u0064\u0029",_dcae ,_gead .NumberOfSymbolInstances );_gead .NumberOfSymbolInstances =_dcae ;};return nil ;};func (_bbfg *RegionSegment )parseHeader ()error {const _eeef ="p\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072";_gbc .Log .Trace ("\u005b\u0052\u0045\u0047I\u004f\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002dH\u0045A\u0044\u0045\u0052\u005d\u0020\u0042\u0065g\u0069\u006e");defer func (){_gbc .Log .Trace ("\u005b\u0052\u0045G\u0049\u004f\u004e\u005d[\u0050\u0041\u0052\u0053\u0045\u002d\u0048E\u0041\u0044\u0045\u0052\u005d\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064");}();_fbfb ,_fbgaa :=_bbfg ._becc .ReadBits (32);if _fbgaa !=nil {return _gb .Wrap (_fbgaa ,_eeef ,"\u0077\u0069\u0064t\u0068");};_bbfg .BitmapWidth =uint32 (_fbfb &_g .MaxUint32 );_fbfb ,_fbgaa =_bbfg ._becc .ReadBits (32);if _fbgaa !=nil {return _gb .Wrap (_fbgaa ,_eeef ,"\u0068\u0065\u0069\u0067\u0068\u0074");};_bbfg .BitmapHeight =uint32 (_fbfb &_g .MaxUint32 );_fbfb ,_fbgaa =_bbfg ._becc .ReadBits (32);if _fbgaa !=nil {return _gb .Wrap (_fbgaa ,_eeef ,"\u0078\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_bbfg .XLocation =uint32 (_fbfb &_g .MaxUint32 );_fbfb ,_fbgaa =_bbfg ._becc .ReadBits (32);if _fbgaa !=nil {return _gb .Wrap (_fbgaa ,_eeef ,"\u0079\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_bbfg .YLocation =uint32 (_fbfb &_g .MaxUint32 );if _ ,_fbgaa =_bbfg ._becc .ReadBits (5);_fbgaa !=nil {return _gb .Wrap (_fbgaa ,_eeef ,"\u0064i\u0072\u0079\u0020\u0072\u0065\u0061d");};if _fbgaa =_bbfg .readCombinationOperator ();_fbgaa !=nil {return _gb .Wrap (_fbgaa ,_eeef ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};return nil ;};func (_agbe *TextRegion )initSymbols ()error {const _bcefc ="i\u006e\u0069\u0074\u0053\u0079\u006d\u0062\u006f\u006c\u0073";for _ ,_daec :=range _agbe .Header .RTSegments {if _daec ==nil {return _gb .Error (_bcefc ,"\u006e\u0069\u006c\u0020\u0073\u0065\u0067\u006de\u006e\u0074\u0020pr\u006f\u0076\u0069\u0064\u0065\u0064 \u0066\u006f\u0072\u0020\u0074\u0068\u0065\u0020\u0074\u0065\u0078\u0074\u0020\u0072\u0065g\u0069\u006f\u006e\u0020\u0053\u0079\u006d\u0062o\u006c\u0073");};if _daec .Type ==0{_bafb ,_ecca :=_daec .GetSegmentData ();if _ecca !=nil {return _gb .Wrap (_ecca ,_bcefc ,"");};_eeba ,_ebgd :=_bafb .(*SymbolDictionary );if !_ebgd {return _gb .Error (_bcefc ,"\u0072e\u0066\u0065r\u0072\u0065\u0064 \u0054\u006f\u0020\u0053\u0065\u0067\u006de\u006e\u0074\u0020\u0069\u0073\u0020n\u006f\u0074\u0020\u0061\u0020\u0053\u0079\u006d\u0062\u006f\u006cD\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};_eeba ._deac =_agbe ._edfa ;_fgcaf ,_ecca :=_eeba .GetDictionary ();if _ecca !=nil {return _gb .Wrap (_ecca ,_bcefc ,"");};_agbe .Symbols =append (_agbe .Symbols ,_fgcaf ...);};};_agbe .NumberOfSymbols =uint32 (len (_agbe .Symbols ));return nil ;};func (_bafd *PageInformationSegment )readIsStriped ()error {_dedd ,_fceg :=_bafd ._eegd .ReadBit ();if _fceg !=nil {return _fceg ;};if _dedd ==1{_bafd .IsStripe =true ;};return nil ;};func (_ccecb *PageInformationSegment )DefaultPixelValue ()uint8 {return _ccecb ._gcccb };func (_fdagd *SymbolDictionary )encodeATFlags (_bdgf _dc .BinaryWriter )(_befe int ,_abdc error ){const _edfd ="\u0065\u006e\u0063\u006f\u0064\u0065\u0041\u0054\u0046\u006c\u0061\u0067\u0073";if _fdagd .IsHuffmanEncoded ||_fdagd .SdTemplate !=0{return 0,nil ;};_fdec :=4;if _fdagd .SdTemplate !=0{_fdec =1;};for _eeeca :=0;_eeeca < _fdec ;_eeeca ++{if _abdc =_bdgf .WriteByte (byte (_fdagd .SdATX [_eeeca ]));_abdc !=nil {return _befe ,_gb .Wrapf (_abdc ,_edfd ,"\u0053d\u0041\u0054\u0058\u005b\u0025\u0064]",_eeeca );};_befe ++;if _abdc =_bdgf .WriteByte (byte (_fdagd .SdATY [_eeeca ]));_abdc !=nil {return _befe ,_gb .Wrapf (_abdc ,_edfd ,"\u0053d\u0041\u0054\u0059\u005b\u0025\u0064]",_eeeca );};_befe ++;};return _befe ,nil ;};func (_aga *Header )readSegmentDataLength (_fdaa _dc .StreamReader )(_debb error ){_aga .SegmentDataLength ,_debb =_fdaa .ReadBits (32);if _debb !=nil {return _debb ;};_aga .SegmentDataLength &=_g .MaxInt32 ;return nil ;};func (_fgda *TextRegion )decodeCurrentT ()(int64 ,error ){if _fgda .SbStrips !=1{if _fgda .IsHuffmanEncoded {_fgcg ,_eeae :=_fgda ._cecd .ReadBits (byte (_fgda .LogSBStrips ));return int64 (_fgcg ),_eeae ;};_gbbd ,_fbgd :=_fgda ._fabb .DecodeInt (_fgda ._aebfb );if _fbgd !=nil {return 0,_fbgd ;};return int64 (_gbbd ),nil ;};return 0,nil ;};func (_ebcb *Header )writeSegmentNumber (_gdab _dc .BinaryWriter )(_aeeb int ,_cfbe error ){_efda :=make ([]byte ,4);_eg .BigEndian .PutUint32 (_efda ,_ebcb .SegmentNumber );if _aeeb ,_cfbe =_gdab .Write (_efda );_cfbe !=nil {return 0,_gb .Wrap (_cfbe ,"\u0048e\u0061\u0064\u0065\u0072.\u0077\u0072\u0069\u0074\u0065S\u0065g\u006de\u006e\u0074\u004e\u0075\u006d\u0062\u0065r","");};return _aeeb ,nil ;};type SymbolDictionary struct{_baagg _dc .StreamReader ;SdrTemplate int8 ;SdTemplate int8 ;_geee bool ;_beb bool ;SdHuffAggInstanceSelection bool ;SdHuffBMSizeSelection int8 ;SdHuffDecodeWidthSelection int8 ;SdHuffDecodeHeightSelection int8 ;UseRefinementAggregation bool ;IsHuffmanEncoded bool ;SdATX []int8 ;SdATY []int8 ;SdrATX []int8 ;SdrATY []int8 ;NumberOfExportedSymbols uint32 ;NumberOfNewSymbols uint32 ;Header *Header ;_cfcb uint32 ;_gdee []*_gd .Bitmap ;_ggeg uint32 ;_ega []*_gd .Bitmap ;_cafe _c .Tabler ;_bcea _c .Tabler ;_cbbda _c .Tabler ;_ggdf _c .Tabler ;_bded []*_gd .Bitmap ;_fde []*_gd .Bitmap ;_febdb *_af .Decoder ;_degg *TextRegion ;_cfdg *GenericRegion ;_ebgbg *GenericRefinementRegion ;_cgfb *_af .DecoderStats ;_cgacf *_af .DecoderStats ;_dcacd *_af .DecoderStats ;_bdcba *_af .DecoderStats ;_ffe *_af .DecoderStats ;_dagf *_af .DecoderStats ;_fcce *_af .DecoderStats ;_bfda *_af .DecoderStats ;_deac *_af .DecoderStats ;_ccac int8 ;_cgc *_gd .Bitmaps ;_accd []int ;_ffbe map[int ]int ;_efgg bool ;};func (_cf *GenericRefinementRegion )GetRegionInfo ()*RegionSegment {return _cf .RegionInfo };func (_abcgg *SymbolDictionary )decodeHeightClassBitmap (_dabcb *_gd .Bitmap ,_cgca int64 ,_egad int ,_dffe []int )error {for _egbb :=_cgca ;_egbb < int64 (_abcgg ._ggeg );_egbb ++{var _cdec int ;for _ccbc :=_cgca ;_ccbc <=_egbb -1;_ccbc ++{_cdec +=_dffe [_ccbc ];};_bafe :=_e .Rect (_cdec ,0,_cdec +_dffe [_egbb ],_egad );_agab ,_fbbe :=_gd .Extract (_bafe ,_dabcb );if _fbbe !=nil {return _fbbe ;};_abcgg ._ega [_egbb ]=_agab ;_abcgg ._fde =append (_abcgg ._fde ,_agab );};return nil ;};func (_fd *GenericRefinementRegion )getGrReference ()(*_gd .Bitmap ,error ){segments :=_fd ._db .RTSegments ;if len (segments )==0{return nil ,_eb .New ("\u0052\u0065f\u0065\u0072\u0065\u006e\u0063\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0065\u0078is\u0074\u0073");};_ad ,_ebg :=segments [0].GetSegmentData ();if _ebg !=nil {return nil ,_ebg ;};_gdd ,_dad :=_ad .(Regioner );if !_dad {return nil ,_ae .Errorf ("\u0072\u0065\u0066\u0065\u0072r\u0065\u0064\u0020\u0074\u006f\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074 \u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0052\u0065\u0067\u0069\u006f\u006e\u0065\u0072\u003a\u0020\u0025\u0054",_ad );};return _gdd .GetRegionBitmap ();};func (_fdad *TextRegion )decodeSymbolInstances ()error {_fggbe ,_cdca :=_fdad .decodeStripT ();if _cdca !=nil {return _cdca ;};var (_cbad int64 ;_ecge uint32 ;);for _ecge < _fdad .NumberOfSymbolInstances {_bcef ,_bede :=_fdad .decodeDT ();if _bede !=nil {return _bede ;};_fggbe +=_bcef ;var _daae int64 ;_beae :=true ;_fdad ._fbae =0;for {if _beae {_daae ,_bede =_fdad .decodeDfs ();if _bede !=nil {return _bede ;};_cbad +=_daae ;_fdad ._fbae =_cbad ;_beae =false ;}else {_gaef ,_bfgb :=_fdad .decodeIds ();if _bfgb !=nil {return _bfgb ;};if _gaef ==_g .MaxInt32 ||_ecge >=_fdad .NumberOfSymbolInstances {break ;};_fdad ._fbae +=_gaef +int64 (_fdad .SbdsOffset );};_ddaa ,_fbfbde :=_fdad .decodeCurrentT ();if _fbfbde !=nil {return _fbfbde ;};_fdcg :=_fggbe +_ddaa ;_gfad ,_fbfbde :=_fdad .decodeID ();if _fbfbde !=nil {return _fbfbde ;};_bdae ,_fbfbde :=_fdad .decodeRI ();if _fbfbde !=nil {return _fbfbde ;};_cff ,_fbfbde :=_fdad .decodeIb (_bdae ,_gfad );if _fbfbde !=nil {return _fbfbde ;};if _fbfbde =_fdad .blit (_cff ,_fdcg );_fbfbde !=nil {return _fbfbde ;};_ecge ++;};};return nil ;};func (_cbae *GenericRefinementRegion )decodeSLTP ()(int ,error ){_cbae .Template .setIndex (_cbae ._dbd );return _cbae ._cee .DecodeBit (_cbae ._dbd );};func (_abc *GenericRegion )readGBAtPixels (_ccad int )error {const _gfab ="\u0072\u0065\u0061\u0064\u0047\u0042\u0041\u0074\u0050i\u0078\u0065\u006c\u0073";_abc .GBAtX =make ([]int8 ,_ccad );_abc .GBAtY =make ([]int8 ,_ccad );for _afe :=0;_afe < _ccad ;_afe ++{_ecaf ,_cbbd :=_abc ._dae .ReadByte ();if _cbbd !=nil {return _gb .Wrapf (_cbbd ,_gfab ,"\u0058\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_afe );};_abc .GBAtX [_afe ]=int8 (_ecaf );_ecaf ,_cbbd =_abc ._dae .ReadByte ();if _cbbd !=nil {return _gb .Wrapf (_cbbd ,_gfab ,"\u0059\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_afe );};_abc .GBAtY [_afe ]=int8 (_ecaf );};return nil ;};func (_ffbc *TextRegion )computeSymbolCodeLength ()error {if _ffbc .IsHuffmanEncoded {return _ffbc .symbolIDCodeLengths ();};_ffbc ._gdbb =int8 (_g .Ceil (_g .Log (float64 (_ffbc .NumberOfSymbols ))/_g .Log (2)));return nil ;};func (_gecb *template0 )form (_caef ,_acbc ,_ecf ,_eaeb ,_dca int16 )int16 {return (_caef <<10)|(_acbc <<7)|(_ecf <<4)|(_eaeb <<1)|_dca ;};func (_gdbf *TableSegment )Init (h *Header ,r _dc .StreamReader )error {_gdbf ._dage =r ;return _gdbf .parseHeader ();};func (_daa *SymbolDictionary )encodeRefinementATFlags (_fbgca _dc .BinaryWriter )(_efbc int ,_becd error ){const _fgab ="\u0065\u006e\u0063od\u0065\u0052\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074\u0041\u0054\u0046\u006c\u0061\u0067\u0073";if !_daa .UseRefinementAggregation ||_daa .SdrTemplate !=0{return 0,nil ;};for _fee :=0;_fee < 2;_fee ++{if _becd =_fbgca .WriteByte (byte (_daa .SdrATX [_fee ]));_becd !=nil {return _efbc ,_gb .Wrapf (_becd ,_fgab ,"\u0053\u0064\u0072\u0041\u0054\u0058\u005b\u0025\u0064\u005d",_fee );};_efbc ++;if _becd =_fbgca .WriteByte (byte (_daa .SdrATY [_fee ]));_becd !=nil {return _efbc ,_gb .Wrapf (_becd ,_fgab ,"\u0053\u0064\u0072\u0041\u0054\u0059\u005b\u0025\u0064\u005d",_fee );};_efbc ++;};return _efbc ,nil ;};func (_eeab *PatternDictionary )parseHeader ()error {_gbc .Log .Trace ("\u005b\u0050\u0041\u0054\u0054\u0045\u0052\u004e\u002d\u0044\u0049\u0043\u0054I\u004f\u004e\u0041\u0052\u0059\u005d[\u0070\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072\u005d\u0020b\u0065\u0067\u0069\u006e");defer func (){_gbc .Log .Trace ("\u005b\u0050\u0041T\u0054\u0045\u0052\u004e\u002d\u0044\u0049\u0043\u0054\u0049\u004f\u004e\u0041\u0052\u0059\u005d\u005b\u0070\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072\u005d \u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064");}();_ ,_bcb :=_eeab ._dgded .ReadBits (5);if _bcb !=nil {return _bcb ;};if _bcb =_eeab .readTemplate ();_bcb !=nil {return _bcb ;};if _bcb =_eeab .readIsMMREncoded ();_bcb !=nil {return _bcb ;};if _bcb =_eeab .readPatternWidthAndHeight ();_bcb !=nil {return _bcb ;};if _bcb =_eeab .readGrayMax ();_bcb !=nil {return _bcb ;};if _bcb =_eeab .computeSegmentDataStructure ();_bcb !=nil {return _bcb ;};return _eeab .checkInput ();};func (_gadb *PageInformationSegment )readDefaultPixelValue ()error {_fgeb ,_bfefe :=_gadb ._eegd .ReadBit ();if _bfefe !=nil {return _bfefe ;};_gadb ._gcccb =uint8 (_fgeb &0xf);return nil ;};func (_ccec *Header )writeSegmentPageAssociation (_cdae _dc .BinaryWriter )(_cabd int ,_gacb error ){const _cdbc ="w\u0072\u0069\u0074\u0065\u0053\u0065g\u006d\u0065\u006e\u0074\u0050\u0061\u0067\u0065\u0041s\u0073\u006f\u0063i\u0061t\u0069\u006f\u006e";if _ccec .pageSize ()!=4{if _gacb =_cdae .WriteByte (byte (_ccec .PageAssociation ));_gacb !=nil {return 0,_gb .Wrap (_gacb ,_cdbc ,"\u0070\u0061\u0067\u0065\u0053\u0069\u007a\u0065\u0020\u0021\u003d\u0020\u0034");};return 1,nil ;};_agege :=make ([]byte ,4);_eg .BigEndian .PutUint32 (_agege ,uint32 (_ccec .PageAssociation ));if _cabd ,_gacb =_cdae .Write (_agege );_gacb !=nil {return 0,_gb .Wrap (_gacb ,_cdbc ,"\u0034 \u0062y\u0074\u0065\u0020\u0070\u0061g\u0065\u0020n\u0075\u006d\u0062\u0065\u0072");};return _cabd ,nil ;};func (_gbfg *PageInformationSegment )Encode (w _dc .BinaryWriter )(_edfba int ,_abba error ){const _gfgad ="\u0050\u0061g\u0065\u0049\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u002e\u0045\u006eco\u0064\u0065";_gbeg :=make ([]byte ,4);_eg .BigEndian .PutUint32 (_gbeg ,uint32 (_gbfg .PageBMWidth ));_edfba ,_abba =w .Write (_gbeg );if _abba !=nil {return _edfba ,_gb .Wrap (_abba ,_gfgad ,"\u0077\u0069\u0064t\u0068");};_eg .BigEndian .PutUint32 (_gbeg ,uint32 (_gbfg .PageBMHeight ));var _dfcf int ;_dfcf ,_abba =w .Write (_gbeg );if _abba !=nil {return _dfcf +_edfba ,_gb .Wrap (_abba ,_gfgad ,"\u0068\u0065\u0069\u0067\u0068\u0074");};_edfba +=_dfcf ;_eg .BigEndian .PutUint32 (_gbeg ,uint32 (_gbfg .ResolutionX ));_dfcf ,_abba =w .Write (_gbeg );if _abba !=nil {return _dfcf +_edfba ,_gb .Wrap (_abba ,_gfgad ,"\u0078\u0020\u0072e\u0073\u006f\u006c\u0075\u0074\u0069\u006f\u006e");};_edfba +=_dfcf ;_eg .BigEndian .PutUint32 (_gbeg ,uint32 (_gbfg .ResolutionY ));if _dfcf ,_abba =w .Write (_gbeg );_abba !=nil {return _dfcf +_edfba ,_gb .Wrap (_abba ,_gfgad ,"\u0079\u0020\u0072e\u0073\u006f\u006c\u0075\u0074\u0069\u006f\u006e");};_edfba +=_dfcf ;if _abba =_gbfg .encodeFlags (w );_abba !=nil {return _edfba ,_gb .Wrap (_abba ,_gfgad ,"");};_edfba ++;if _dfcf ,_abba =_gbfg .encodeStripingInformation (w );_abba !=nil {return _edfba ,_gb .Wrap (_abba ,_gfgad ,"");};_edfba +=_dfcf ;return _edfba ,nil ;};func (_gadbc *TextRegion )decodeDfs ()(int64 ,error ){if _gadbc .IsHuffmanEncoded {if _gadbc .SbHuffFS ==3{if _gadbc ._afbd ==nil {var _gfadf error ;_gadbc ._afbd ,_gfadf =_gadbc .getUserTable (0);if _gfadf !=nil {return 0,_gfadf ;};};return _gadbc ._afbd .Decode (_gadbc ._cecd );};_cfbed ,_bgfc :=_c .GetStandardTable (6+int (_gadbc .SbHuffFS ));if _bgfc !=nil {return 0,_bgfc ;};return _cfbed .Decode (_gadbc ._cecd );};_ecdga ,_deeb :=_gadbc ._fabb .DecodeInt (_gadbc ._dgg );if _deeb !=nil {return 0,_deeb ;};return int64 (_ecdga ),nil ;};func (_abef *PageInformationSegment )readIsLossless ()error {_gcad ,_fbee :=_abef ._eegd .ReadBit ();if _fbee !=nil {return _fbee ;};if _gcad ==1{_abef .IsLossless =true ;};return nil ;};var _ SegmentEncoder =&GenericRegion {};func (_ge *GenericRefinementRegion )decodeTemplate (_efg ,_fac ,_gcaa ,_cca ,_egeb ,_adg ,_fe ,_beag ,_fcg ,_daga int ,_eae templater )(_bgf error ){var (_abbg ,_cbd ,_fgb ,_acc ,_ddf int16 ;_ecc ,_egc ,_acf ,_aae int ;_egcc byte ;);if _fcg >=1&&(_fcg -1)< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga -_cca );if _bgf !=nil {return ;};_ecc =int (_egcc );};if _fcg >=0&&(_fcg )< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga );if _bgf !=nil {return ;};_egc =int (_egcc );};if _fcg >=-1&&(_fcg +1)< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga +_cca );if _bgf !=nil {return ;};_acf =int (_egcc );};_daga ++;if _efg >=1{_egcc ,_bgf =_ge .RegionBitmap .GetByte (_beag -_gcaa );if _bgf !=nil {return ;};_aae =int (_egcc );};_beag ++;_ggg :=_ge .ReferenceDX %8;_def :=6+_ggg ;_ebf :=_daga %_cca ;if _def >=0{if _def < 8{_abbg =int16 (_ecc >>uint (_def ))&0x07;};if _def < 8{_cbd =int16 (_egc >>uint (_def ))&0x07;};if _def < 8{_fgb =int16 (_acf >>uint (_def ))&0x07;};if _def ==6&&_ebf > 1{if _fcg >=1&&(_fcg -1)< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga -_cca -2);if _bgf !=nil {return _bgf ;};_abbg |=int16 (_egcc <<2)&0x04;};if _fcg >=0&&_fcg < _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga -2);if _bgf !=nil {return _bgf ;};_cbd |=int16 (_egcc <<2)&0x04;};if _fcg >=-1&&_fcg +1< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga +_cca -2);if _bgf !=nil {return _bgf ;};_fgb |=int16 (_egcc <<2)&0x04;};};if _def ==0{_ecc =0;_egc =0;_acf =0;if _ebf < _cca -1{if _fcg >=1&&_fcg -1< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga -_cca );if _bgf !=nil {return _bgf ;};_ecc =int (_egcc );};if _fcg >=0&&_fcg < _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga );if _bgf !=nil {return _bgf ;};_egc =int (_egcc );};if _fcg >=-1&&_fcg +1< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga +_cca );if _bgf !=nil {return _bgf ;};_acf =int (_egcc );};};_daga ++;};}else {_abbg =int16 (_ecc <<1)&0x07;_cbd =int16 (_egc <<1)&0x07;_fgb =int16 (_acf <<1)&0x07;_ecc =0;_egc =0;_acf =0;if _ebf < _cca -1{if _fcg >=1&&_fcg -1< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga -_cca );if _bgf !=nil {return _bgf ;};_ecc =int (_egcc );};if _fcg >=0&&_fcg < _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga );if _bgf !=nil {return _bgf ;};_egc =int (_egcc );};if _fcg >=-1&&_fcg +1< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga +_cca );if _bgf !=nil {return _bgf ;};_acf =int (_egcc );};_daga ++;};_abbg |=int16 ((_ecc >>7)&0x07);_cbd |=int16 ((_egc >>7)&0x07);_fgb |=int16 ((_acf >>7)&0x07);};_acc =int16 (_aae >>6);_ddf =0;_cbe :=(2-_ggg )%8;_ecc <<=uint (_cbe );_egc <<=uint (_cbe );_acf <<=uint (_cbe );_aae <<=2;var _ece int ;for _dcd :=0;_dcd < _fac ;_dcd ++{_gfga :=_dcd &0x07;_afa :=_eae .form (_abbg ,_cbd ,_fgb ,_acc ,_ddf );if _ge ._gg {_egcc ,_bgf =_ge .RegionBitmap .GetByte (_ge .RegionBitmap .GetByteIndex (_dcd ,_efg ));if _bgf !=nil {return _bgf ;};_ge ._dbd .SetIndex (int32 (_ge .overrideAtTemplate0 (int (_afa ),_dcd ,_efg ,int (_egcc ),_gfga )));}else {_ge ._dbd .SetIndex (int32 (_afa ));};_ece ,_bgf =_ge ._cee .DecodeBit (_ge ._dbd );if _bgf !=nil {return _bgf ;};if _bgf =_ge .RegionBitmap .SetPixel (_dcd ,_efg ,byte (_ece ));_bgf !=nil {return _bgf ;};_abbg =((_abbg <<1)|0x01&int16 (_ecc >>7))&0x07;_cbd =((_cbd <<1)|0x01&int16 (_egc >>7))&0x07;_fgb =((_fgb <<1)|0x01&int16 (_acf >>7))&0x07;_acc =((_acc <<1)|0x01&int16 (_aae >>7))&0x07;_ddf =int16 (_ece );if (_dcd -int (_ge .ReferenceDX ))%8==5{_ecc =0;_egc =0;_acf =0;if ((_dcd -int (_ge .ReferenceDX ))/8)+1< _ge .ReferenceBitmap .RowStride {if _fcg >=1&&(_fcg -1)< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga -_cca );if _bgf !=nil {return _bgf ;};_ecc =int (_egcc );};if _fcg >=0&&_fcg < _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga );if _bgf !=nil {return _bgf ;};_egc =int (_egcc );};if _fcg >=-1&&(_fcg +1)< _ge .ReferenceBitmap .Height {_egcc ,_bgf =_ge .ReferenceBitmap .GetByte (_daga +_cca );if _bgf !=nil {return _bgf ;};_acf =int (_egcc );};};_daga ++;}else {_ecc <<=1;_egc <<=1;_acf <<=1;};if _gfga ==5&&_efg >=1{if ((_dcd >>3)+1)>=_ge .RegionBitmap .RowStride {_aae =0;}else {_egcc ,_bgf =_ge .RegionBitmap .GetByte (_beag -_gcaa );if _bgf !=nil {return _bgf ;};_aae =int (_egcc );};_beag ++;}else {_aae <<=1;};};return nil ;};type Type int ;func (_gbbe *SymbolDictionary )encodeFlags (_aacba _dc .BinaryWriter )(_dabd int ,_egff error ){const _ecdd ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _egff =_aacba .SkipBits (3);_egff !=nil {return 0,_gb .Wrap (_egff ,_ecdd ,"\u0065\u006d\u0070\u0074\u0079\u0020\u0062\u0069\u0074\u0073");};var _baec int ;if _gbbe .SdrTemplate > 0{_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"s\u0064\u0072\u0074\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_baec =0;if _gbbe .SdTemplate > 1{_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0073\u0064\u0074\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_baec =0;if _gbbe .SdTemplate ==1||_gbbe .SdTemplate ==3{_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0073\u0064\u0074\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_baec =0;if _gbbe ._geee {_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0063\u006f\u0064in\u0067\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0065\u0064");};_baec =0;if _gbbe ._beb {_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0063\u006f\u0064\u0069ng\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0075\u0073\u0065\u0064");};_baec =0;if _gbbe .SdHuffAggInstanceSelection {_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0073\u0064\u0068\u0075\u0066\u0066\u0061\u0067\u0067\u0069\u006e\u0073\u0074");};_baec =int (_gbbe .SdHuffBMSizeSelection );if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0073\u0064\u0068u\u0066\u0066\u0062\u006d\u0073\u0069\u007a\u0065");};_baec =0;if _gbbe .SdHuffDecodeWidthSelection > 1{_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"s\u0064\u0068\u0075\u0066\u0066\u0077\u0069\u0064\u0074\u0068");};_baec =0;switch _gbbe .SdHuffDecodeWidthSelection {case 1,3:_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"s\u0064\u0068\u0075\u0066\u0066\u0077\u0069\u0064\u0074\u0068");};_baec =0;if _gbbe .SdHuffDecodeHeightSelection > 1{_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0073\u0064\u0068u\u0066\u0066\u0068\u0065\u0069\u0067\u0068\u0074");};_baec =0;switch _gbbe .SdHuffDecodeHeightSelection {case 1,3:_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0073\u0064\u0068u\u0066\u0066\u0068\u0065\u0069\u0067\u0068\u0074");};_baec =0;if _gbbe .UseRefinementAggregation {_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0073\u0064\u0072\u0065\u0066\u0061\u0067\u0067");};_baec =0;if _gbbe .IsHuffmanEncoded {_baec =1;};if _egff =_aacba .WriteBit (_baec );_egff !=nil {return _dabd ,_gb .Wrap (_egff ,_ecdd ,"\u0073\u0064\u0068\u0075\u0066\u0066");};return 2,nil ;};func (_dgfa *TextRegion )encodeFlags (_ccf _dc .BinaryWriter )(_abee int ,_gcf error ){const _caea ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _gcf =_ccf .WriteBit (int (_dgfa .SbrTemplate ));_gcf !=nil {return _abee ,_gb .Wrap (_gcf ,_caea ,"s\u0062\u0072\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};if _ ,_gcf =_ccf .WriteBits (uint64 (_dgfa .SbdsOffset ),5);_gcf !=nil {return _abee ,_gb .Wrap (_gcf ,_caea ,"\u0073\u0062\u0064\u0073\u004f\u0066\u0066\u0073\u0065\u0074");};if _gcf =_ccf .WriteBit (int (_dgfa .DefaultPixel ));_gcf !=nil {return _abee ,_gb .Wrap (_gcf ,_caea ,"\u0044\u0065\u0066a\u0075\u006c\u0074\u0050\u0069\u0078\u0065\u006c");};if _ ,_gcf =_ccf .WriteBits (uint64 (_dgfa .CombinationOperator ),2);_gcf !=nil {return _abee ,_gb .Wrap (_gcf ,_caea ,"\u0043\u006f\u006d\u0062in\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065\u0072\u0061\u0074\u006f\u0072");};if _gcf =_ccf .WriteBit (int (_dgfa .IsTransposed ));_gcf !=nil {return _abee ,_gb .Wrap (_gcf ,_caea ,"\u0069\u0073\u0020\u0074\u0072\u0061\u006e\u0073\u0070\u006f\u0073\u0065\u0064");};if _ ,_gcf =_ccf .WriteBits (uint64 (_dgfa .ReferenceCorner ),2);_gcf !=nil {return _abee ,_gb .Wrap (_gcf ,_caea ,"\u0072\u0065f\u0065\u0072\u0065n\u0063\u0065\u0020\u0063\u006f\u0072\u006e\u0065\u0072");};if _ ,_gcf =_ccf .WriteBits (uint64 (_dgfa .LogSBStrips ),2);_gcf !=nil {return _abee ,_gb .Wrap (_gcf ,_caea ,"L\u006f\u0067\u0053\u0042\u0053\u0074\u0072\u0069\u0070\u0073");};var _ggbce int ;if _dgfa .UseRefinement {_ggbce =1;};if _gcf =_ccf .WriteBit (_ggbce );_gcf !=nil {return _abee ,_gb .Wrap (_gcf ,_caea ,"\u0075\u0073\u0065\u0020\u0072\u0065\u0066\u0069\u006ee\u006d\u0065\u006e\u0074");};_ggbce =0;if _dgfa .IsHuffmanEncoded {_ggbce =1;};if _gcf =_ccf .WriteBit (_ggbce );_gcf !=nil {return _abee ,_gb .Wrap (_gcf ,_caea ,"u\u0073\u0065\u0020\u0068\u0075\u0066\u0066\u006d\u0061\u006e");};_abee =2;return _abee ,nil ;};func (_cgbad *SymbolDictionary )decodeThroughTextRegion (_eddae ,_gcab ,_efgbf uint32 )error {if _cgbad ._degg ==nil {_cgbad ._degg =_gfde (_cgbad ._baagg ,nil );_cgbad ._degg .setContexts (_cgbad ._cgfb ,_af .NewStats (512,1),_af .NewStats (512,1),_af .NewStats (512,1),_af .NewStats (512,1),_cgbad ._deac ,_af .NewStats (512,1),_af .NewStats (512,1),_af .NewStats (512,1),_af .NewStats (512,1));};if _ddgf :=_cgbad .setSymbolsArray ();_ddgf !=nil {return _ddgf ;};_cgbad ._degg .setParameters (_cgbad ._febdb ,_cgbad .IsHuffmanEncoded ,true ,_eddae ,_gcab ,_efgbf ,1,_cgbad ._cfcb +_cgbad ._ggeg ,0,0,0,1,0,0,0,0,0,0,0,0,0,_cgbad .SdrTemplate ,_cgbad .SdrATX ,_cgbad .SdrATY ,_cgbad ._fde ,_cgbad ._ccac );return _cgbad .addSymbol (_cgbad ._degg );};func (_fcea *PageInformationSegment )parseHeader ()(_dec error ){_gbc .Log .Trace ("\u005b\u0050\u0061\u0067\u0065I\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065\u0067m\u0065\u006e\u0074\u005d\u0020\u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065\u0061\u0064\u0065\u0072\u002e\u002e\u002e");defer func (){var _cfbee ="[\u0050\u0061\u0067\u0065\u0049\u006e\u0066\u006f\u0072m\u0061\u0074\u0069\u006f\u006e\u0053\u0065gm\u0065\u006e\u0074\u005d \u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065ad\u0065\u0072 \u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064";if _dec !=nil {_cfbee +="\u0020\u0077\u0069t\u0068\u0020\u0065\u0072\u0072\u006f\u0072\u0020"+_dec .Error ();}else {_cfbee +="\u0020\u0073\u0075\u0063\u0063\u0065\u0073\u0073\u0066\u0075\u006c\u006c\u0079";};_gbc .Log .Trace (_cfbee );}();if _dec =_fcea .readWidthAndHeight ();_dec !=nil {return _dec ;};if _dec =_fcea .readResolution ();_dec !=nil {return _dec ;};_ ,_dec =_fcea ._eegd .ReadBit ();if _dec !=nil {return _dec ;};if _dec =_fcea .readCombinationOperatorOverrideAllowed ();_dec !=nil {return _dec ;};if _dec =_fcea .readRequiresAuxiliaryBuffer ();_dec !=nil {return _dec ;};if _dec =_fcea .readCombinationOperator ();_dec !=nil {return _dec ;};if _dec =_fcea .readDefaultPixelValue ();_dec !=nil {return _dec ;};if _dec =_fcea .readContainsRefinement ();_dec !=nil {return _dec ;};if _dec =_fcea .readIsLossless ();_dec !=nil {return _dec ;};if _dec =_fcea .readIsStriped ();_dec !=nil {return _dec ;};if _dec =_fcea .readMaxStripeSize ();_dec !=nil {return _dec ;};if _dec =_fcea .checkInput ();_dec !=nil {return _dec ;};_gbc .Log .Trace ("\u0025\u0073",_fcea );return nil ;};const (TSymbolDictionary Type =0;TIntermediateTextRegion Type =4;TImmediateTextRegion Type =6;TImmediateLosslessTextRegion Type =7;TPatternDictionary Type =16;TIntermediateHalftoneRegion Type =20;TImmediateHalftoneRegion Type =22;TImmediateLosslessHalftoneRegion Type =23;TIntermediateGenericRegion Type =36;TImmediateGenericRegion Type =38;TImmediateLosslessGenericRegion Type =39;TIntermediateGenericRefinementRegion Type =40;TImmediateGenericRefinementRegion Type =42;TImmediateLosslessGenericRefinementRegion Type =43;TPageInformation Type =48;TEndOfPage Type =49;TEndOfStrip Type =50;TEndOfFile Type =51;TProfiles Type =52;TTables Type =53;TExtension Type =62;TBitmap Type =70;);func (_cac *PatternDictionary )readGrayMax ()error {_bbbaa ,_gfce :=_cac ._dgded .ReadBits (32);if _gfce !=nil {return _gfce ;};_cac .GrayMax =uint32 (_bbbaa &_g .MaxUint32 );return nil ;};func (_afeef *SymbolDictionary )decodeAggregate (_ebgg ,_bdga uint32 )error {var (_egdd int64 ;_bfegb error ;);if _afeef .IsHuffmanEncoded {_egdd ,_bfegb =_afeef .huffDecodeRefAggNInst ();if _bfegb !=nil {return _bfegb ;};}else {_eedg ,_edcf :=_afeef ._febdb .DecodeInt (_afeef ._bdcba );if _edcf !=nil {return _edcf ;};_egdd =int64 (_eedg );};if _egdd > 1{return _afeef .decodeThroughTextRegion (_ebgg ,_bdga ,uint32 (_egdd ));}else if _egdd ==1{return _afeef .decodeRefinedSymbol (_ebgg ,_bdga );};return nil ;};func (_cegb *HalftoneRegion )computeX (_fbc ,_cbdde int )int {return _cegb .shiftAndFill (int (_cegb .HGridX )+_fbc *int (_cegb .HRegionY )+_cbdde *int (_cegb .HRegionX ));};func (_fcba *SymbolDictionary )readRegionFlags ()error {var (_caed uint64 ;_gdbe int ;);_ ,_eace :=_fcba ._baagg .ReadBits (3);if _eace !=nil {return _eace ;};_gdbe ,_eace =_fcba ._baagg .ReadBit ();if _eace !=nil {return _eace ;};_fcba .SdrTemplate =int8 (_gdbe );_caed ,_eace =_fcba ._baagg .ReadBits (2);if _eace !=nil {return _eace ;};_fcba .SdTemplate =int8 (_caed &0xf);_gdbe ,_eace =_fcba ._baagg .ReadBit ();if _eace !=nil {return _eace ;};if _gdbe ==1{_fcba ._geee =true ;};_gdbe ,_eace =_fcba ._baagg .ReadBit ();if _eace !=nil {return _eace ;};if _gdbe ==1{_fcba ._beb =true ;};_gdbe ,_eace =_fcba ._baagg .ReadBit ();if _eace !=nil {return _eace ;};if _gdbe ==1{_fcba .SdHuffAggInstanceSelection =true ;};_gdbe ,_eace =_fcba ._baagg .ReadBit ();if _eace !=nil {return _eace ;};_fcba .SdHuffBMSizeSelection =int8 (_gdbe );_caed ,_eace =_fcba ._baagg .ReadBits (2);if _eace !=nil {return _eace ;};_fcba .SdHuffDecodeWidthSelection =int8 (_caed &0xf);_caed ,_eace =_fcba ._baagg .ReadBits (2);if _eace !=nil {return _eace ;};_fcba .SdHuffDecodeHeightSelection =int8 (_caed &0xf);_gdbe ,_eace =_fcba ._baagg .ReadBit ();if _eace !=nil {return _eace ;};if _gdbe ==1{_fcba .UseRefinementAggregation =true ;};_gdbe ,_eace =_fcba ._baagg .ReadBit ();if _eace !=nil {return _eace ;};if _gdbe ==1{_fcba .IsHuffmanEncoded =true ;};return nil ;};func (_ba *GenericRefinementRegion )GetRegionBitmap ()(*_gd .Bitmap ,error ){var _gbcg error ;_gbc .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0047\u0065\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006d\u0061\u0070\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e");defer func (){if _gbcg !=nil {_gbc .Log .Trace ("[\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052E\u0046\u002d\u0052\u0045\u0047\u0049\u004fN]\u0020\u0047\u0065\u0074R\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006dap\u0020\u0066a\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0076",_gbcg );}else {_gbc .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0047\u0065\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006d\u0061\u0070\u0020\u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u002e");};}();if _ba .RegionBitmap !=nil {return _ba .RegionBitmap ,nil ;};_ab :=0;if _ba .ReferenceBitmap ==nil {_ba .ReferenceBitmap ,_gbcg =_ba .getGrReference ();if _gbcg !=nil {return nil ,_gbcg ;};};if _ba ._cee ==nil {_ba ._cee ,_gbcg =_af .New (_ba ._ea );if _gbcg !=nil {return nil ,_gbcg ;};};if _ba ._dbd ==nil {_ba ._dbd =_af .NewStats (8192,1);};_ba .RegionBitmap =_gd .New (int (_ba .RegionInfo .BitmapWidth ),int (_ba .RegionInfo .BitmapHeight ));if _ba .TemplateID ==0{if _gbcg =_ba .updateOverride ();_gbcg !=nil {return nil ,_gbcg ;};};_eca :=(_ba .RegionBitmap .Width +7)&-8;var _cba int ;if _ba .IsTPGROn {_cba =int (-_ba .ReferenceDY )*_ba .ReferenceBitmap .RowStride ;};_eba :=_cba +1;for _ege :=0;_ege < _ba .RegionBitmap .Height ;_ege ++{if _ba .IsTPGROn {_afg ,_edf :=_ba .decodeSLTP ();if _edf !=nil {return nil ,_edf ;};_ab ^=_afg ;};if _ab ==0{_gbcg =_ba .decodeOptimized (_ege ,_ba .RegionBitmap .Width ,_ba .RegionBitmap .RowStride ,_ba .ReferenceBitmap .RowStride ,_eca ,_cba ,_eba );if _gbcg !=nil {return nil ,_gbcg ;};}else {_gbcg =_ba .decodeTypicalPredictedLine (_ege ,_ba .RegionBitmap .Width ,_ba .RegionBitmap .RowStride ,_ba .ReferenceBitmap .RowStride ,_eca ,_cba );if _gbcg !=nil {return nil ,_gbcg ;};};};return _ba .RegionBitmap ,nil ;};func (_fgc *GenericRefinementRegion )getPixel (_cad *_gd .Bitmap ,_fge ,_ebd int )int {if _fge < 0||_fge >=_cad .Width {return 0;};if _ebd < 0||_ebd >=_cad .Height {return 0;};if _cad .GetPixel (_fge ,_ebd ){return 1;};return 0;};func (_cfda *PageInformationSegment )readMaxStripeSize ()error {_ddbe ,_cfc :=_cfda ._eegd .ReadBits (15);if _cfc !=nil {return _cfc ;};_cfda .MaxStripeSize =uint16 (_ddbe &_g .MaxUint16 );return nil ;};func (_accaa *TextRegion )createRegionBitmap ()error {_accaa .RegionBitmap =_gd .New (int (_accaa .RegionInfo .BitmapWidth ),int (_accaa .RegionInfo .BitmapHeight ));if _accaa .DefaultPixel !=0{_accaa .RegionBitmap .SetDefaultPixel ();};return nil ;};func (_dfaf *HalftoneRegion )renderPattern (_egbc [][]int )(_bdg error ){var _eadf ,_ddba int ;for _defd :=0;_defd < int (_dfaf .HGridHeight );_defd ++{for _bfga :=0;_bfga < int (_dfaf .HGridWidth );_bfga ++{_eadf =_dfaf .computeX (_defd ,_bfga );_ddba =_dfaf .computeY (_defd ,_bfga );_bced :=_dfaf .Patterns [_egbc [_defd ][_bfga ]];if _bdg =_gd .Blit (_bced ,_dfaf .HalftoneRegionBitmap ,_eadf +int (_dfaf .HGridX ),_ddba +int (_dfaf .HGridY ),_dfaf .CombinationOperator );_bdg !=nil {return _bdg ;};};};return nil ;};func (_acgge *TextRegion )setCodingStatistics ()error {if _acgge ._dfdefc ==nil {_acgge ._dfdefc =_af .NewStats (512,1);};if _acgge ._dgg ==nil {_acgge ._dgg =_af .NewStats (512,1);};if _acgge ._ffda ==nil {_acgge ._ffda =_af .NewStats (512,1);};if _acgge ._aebfb ==nil {_acgge ._aebfb =_af .NewStats (512,1);};if _acgge ._fgac ==nil {_acgge ._fgac =_af .NewStats (512,1);};if _acgge ._bgfga ==nil {_acgge ._bgfga =_af .NewStats (512,1);};if _acgge ._gadc ==nil {_acgge ._gadc =_af .NewStats (512,1);};if _acgge ._edfa ==nil {_acgge ._edfa =_af .NewStats (1<<uint (_acgge ._gdbb ),1);};if _acgge ._gdbff ==nil {_acgge ._gdbff =_af .NewStats (512,1);};if _acgge ._dfdd ==nil {_acgge ._dfdd =_af .NewStats (512,1);};if _acgge ._fabb ==nil {var _dacd error ;_acgge ._fabb ,_dacd =_af .New (_acgge ._cecd );if _dacd !=nil {return _dacd ;};};return nil ;};func (_ddd *PageInformationSegment )String ()string {_agea :=&_f .Builder {};_agea .WriteString ("\u000a\u005b\u0050\u0041G\u0045\u002d\u0049\u004e\u0046\u004f\u0052\u004d\u0041\u0054I\u004fN\u002d\u0053\u0045\u0047\u004d\u0045\u004eT\u005d\u000a");_agea .WriteString (_ae .Sprintf ("\u0009\u002d \u0042\u004d\u0048e\u0069\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u000a",_ddd .PageBMHeight ));_agea .WriteString (_ae .Sprintf ("\u0009-\u0020B\u004d\u0057\u0069\u0064\u0074\u0068\u003a\u0020\u0025\u0064\u000a",_ddd .PageBMWidth ));_agea .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0058\u003a\u0020\u0025\u0064\u000a",_ddd .ResolutionX ));_agea .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0059\u003a\u0020\u0025\u0064\u000a",_ddd .ResolutionY ));_agea .WriteString (_ae .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0073\u000a",_ddd ._gccc ));_agea .WriteString (_ae .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006eO\u0070\u0065\u0072\u0061\u0074\u006f\u0072O\u0076\u0065\u0072\u0072\u0069\u0064\u0065\u003a\u0020\u0025v\u000a",_ddd ._afge ));_agea .WriteString (_ae .Sprintf ("\u0009-\u0020I\u0073\u004c\u006f\u0073\u0073l\u0065\u0073s\u003a\u0020\u0025\u0076\u000a",_ddd .IsLossless ));_agea .WriteString (_ae .Sprintf ("\u0009\u002d\u0020R\u0065\u0071\u0075\u0069r\u0065\u0073\u0041\u0075\u0078\u0069\u006ci\u0061\u0072\u0079\u0042\u0075\u0066\u0066\u0065\u0072\u003a\u0020\u0025\u0076\u000a",_ddd ._eegg ));_agea .WriteString (_ae .Sprintf ("\u0009\u002d\u0020M\u0069\u0067\u0068\u0074C\u006f\u006e\u0074\u0061\u0069\u006e\u0052e\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0076\u000a",_ddd ._bde ));_agea .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0049\u0073\u0053\u0074\u0072\u0069\u0070\u0065\u0064:\u0020\u0025\u0076\u000a",_ddd .IsStripe ));_agea .WriteString (_ae .Sprintf ("\t\u002d\u0020\u004d\u0061xS\u0074r\u0069\u0070\u0065\u0053\u0069z\u0065\u003a\u0020\u0025\u0076\u000a",_ddd .MaxStripeSize ));return _agea .String ();};func (_dfea *HalftoneRegion )GetRegionInfo ()*RegionSegment {return _dfea .RegionSegment };func (_fcd *HalftoneRegion )computeGrayScalePlanes (_afc []*_gd .Bitmap ,_fcfd int )([][]int ,error ){_bca :=make ([][]int ,_fcd .HGridHeight );for _gdb :=0;_gdb < len (_bca );_gdb ++{_bca [_gdb ]=make ([]int ,_fcd .HGridWidth );};for _gfe :=0;_gfe < int (_fcd .HGridHeight );_gfe ++{for _aeaf :=0;_aeaf < int (_fcd .HGridWidth );_aeaf +=8{var _cga int ;if _eccb :=int (_fcd .HGridWidth )-_aeaf ;_eccb > 8{_cga =8;}else {_cga =_eccb ;};_bff :=_afc [0].GetByteIndex (_aeaf ,_gfe );for _fgff :=0;_fgff < _cga ;_fgff ++{_gedg :=_fgff +_aeaf ;_bca [_gfe ][_gedg ]=0;for _aege :=0;_aege < _fcfd ;_aege ++{_bbc ,_cbdd :=_afc [_aege ].GetByte (_bff );if _cbdd !=nil {return nil ,_cbdd ;};_fbbc :=_bbc >>uint (7-_gedg &7);_abcg :=_fbbc &1;_fbgcfa :=1<<uint (_aege );_gdeg :=int (_abcg )*_fbgcfa ;_bca [_gfe ][_gedg ]+=_gdeg ;};};};};return _bca ,nil ;};type TableSegment struct{_dage _dc .StreamReader ;_bgfd int32 ;_eafe int32 ;_eaae int32 ;_cdfe int32 ;_cddb int32 ;};func (_daceb *PatternDictionary )GetDictionary ()([]*_gd .Bitmap ,error ){if _daceb .Patterns !=nil {return _daceb .Patterns ,nil ;};if !_daceb .IsMMREncoded {_daceb .setGbAtPixels ();};_bgge :=NewGenericRegion (_daceb ._dgded );_bgge .setParametersMMR (_daceb .IsMMREncoded ,_daceb .DataOffset ,_daceb .DataLength ,uint32 (_daceb .HdpHeight ),(_daceb .GrayMax +1)*uint32 (_daceb .HdpWidth ),_daceb .HDTemplate ,false ,false ,_daceb .GBAtX ,_daceb .GBAtY );_edc ,_gdg :=_bgge .GetRegionBitmap ();if _gdg !=nil {return nil ,_gdg ;};if _gdg =_daceb .extractPatterns (_edc );_gdg !=nil {return nil ,_gdg ;};return _daceb .Patterns ,nil ;};func (_defac *TextRegion )decodeIb (_cfce ,_gecg int64 )(*_gd .Bitmap ,error ){const _fgae ="\u0064\u0065\u0063\u006f\u0064\u0065\u0049\u0062";var (_bfcbf error ;_abcf *_gd .Bitmap ;);if _cfce ==0{if int (_gecg )> len (_defac .Symbols )-1{return nil ,_gb .Error (_fgae ,"\u0064\u0065\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0049\u0042\u0020\u0062\u0069\u0074\u006d\u0061\u0070\u002e\u0020\u0069\u006e\u0064\u0065x\u0020\u006f\u0075\u0074\u0020o\u0066\u0020r\u0061\u006e\u0067\u0065");};return _defac .Symbols [int (_gecg )],nil ;};var _gfceg ,_gcag ,_ddgfg ,_efc int64 ;_gfceg ,_bfcbf =_defac .decodeRdw ();if _bfcbf !=nil {return nil ,_gb .Wrap (_bfcbf ,_fgae ,"");};_gcag ,_bfcbf =_defac .decodeRdh ();if _bfcbf !=nil {return nil ,_gb .Wrap (_bfcbf ,_fgae ,"");};_ddgfg ,_bfcbf =_defac .decodeRdx ();if _bfcbf !=nil {return nil ,_gb .Wrap (_bfcbf ,_fgae ,"");};_efc ,_bfcbf =_defac .decodeRdy ();if _bfcbf !=nil {return nil ,_gb .Wrap (_bfcbf ,_fgae ,"");};if _defac .IsHuffmanEncoded {if _ ,_bfcbf =_defac .decodeSymInRefSize ();_bfcbf !=nil {return nil ,_gb .Wrap (_bfcbf ,_fgae ,"");};_defac ._cecd .Align ();};_aaca :=_defac .Symbols [_gecg ];_fbbcde :=uint32 (_aaca .Width );_fddc :=uint32 (_aaca .Height );_bbad :=int32 (uint32 (_gfceg )>>1)+int32 (_ddgfg );_bcbd :=int32 (uint32 (_gcag )>>1)+int32 (_efc );if _defac ._dcge ==nil {_defac ._dcge =_cg (_defac ._cecd ,nil );};_defac ._dcge .setParameters (_defac ._fdfc ,_defac ._fabb ,_defac .SbrTemplate ,_fbbcde +uint32 (_gfceg ),_fddc +uint32 (_gcag ),_aaca ,_bbad ,_bcbd ,false ,_defac .SbrATX ,_defac .SbrATY );_abcf ,_bfcbf =_defac ._dcge .GetRegionBitmap ();if _bfcbf !=nil {return nil ,_gb .Wrap (_bfcbf ,_fgae ,"\u0067\u0072\u0066");};if _defac .IsHuffmanEncoded {_defac ._cecd .Align ();};return _abcf ,nil ;};func (_ggga *GenericRegion )decodeTemplate2 (_gafd ,_gbcb ,_ggff int ,_dga ,_gdc int )(_gfgd error ){const _ageg ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0032";var (_aeb ,_ffbbb int ;_aaed ,_efdg int ;_aded byte ;_eff ,_daeb int ;);if _gafd >=1{_aded ,_gfgd =_ggga .Bitmap .GetByte (_gdc );if _gfgd !=nil {return _gb .Wrap (_gfgd ,_ageg ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0031");};_aaed =int (_aded );};if _gafd >=2{_aded ,_gfgd =_ggga .Bitmap .GetByte (_gdc -_ggga .Bitmap .RowStride );if _gfgd !=nil {return _gb .Wrap (_gfgd ,_ageg ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0032");};_efdg =int (_aded )<<4;};_aeb =(_aaed >>3&0x7c)|(_efdg >>3&0x380);for _fecf :=0;_fecf < _ggff ;_fecf =_eff {var (_bacf byte ;_debf int ;);_eff =_fecf +8;if _eda :=_gbcb -_fecf ;_eda > 8{_debf =8;}else {_debf =_eda ;};if _gafd > 0{_aaed <<=8;if _eff < _gbcb {_aded ,_gfgd =_ggga .Bitmap .GetByte (_gdc +1);if _gfgd !=nil {return _gb .Wrap (_gfgd ,_ageg ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0030");};_aaed |=int (_aded );};};if _gafd > 1{_efdg <<=8;if _eff < _gbcb {_aded ,_gfgd =_ggga .Bitmap .GetByte (_gdc -_ggga .Bitmap .RowStride +1);if _gfgd !=nil {return _gb .Wrap (_gfgd ,_ageg ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0031");};_efdg |=int (_aded )<<4;};};for _fcf :=0;_fcf < _debf ;_fcf ++{_bfgc :=uint (10-_fcf );if _ggga ._cfe {_ffbbb =_ggga .overrideAtTemplate2 (_aeb ,_fecf +_fcf ,_gafd ,int (_bacf ),_fcf );_ggga ._aee .SetIndex (int32 (_ffbbb ));}else {_ggga ._aee .SetIndex (int32 (_aeb ));};_daeb ,_gfgd =_ggga ._afag .DecodeBit (_ggga ._aee );if _gfgd !=nil {return _gb .Wrap (_gfgd ,_ageg ,"");};_bacf |=byte (_daeb <<uint (7-_fcf ));_aeb =((_aeb &0x1bd)<<1)|_daeb |((_aaed >>_bfgc )&0x4)|((_efdg >>_bfgc )&0x80);};if _bdcb :=_ggga .Bitmap .SetByte (_dga ,_bacf );_bdcb !=nil {return _gb .Wrap (_bdcb ,_ageg ,"");};_dga ++;_gdc ++;};return nil ;};func (_fdgd *TableSegment )HtHigh ()int32 {return _fdgd ._cddb };func (_bceaf *TextRegion )getSymbols ()error {if _bceaf .Header .RTSegments !=nil {return _bceaf .initSymbols ();};return nil ;};func (_cdc *SymbolDictionary )setCodingStatistics ()error {if _cdc ._bfda ==nil {_cdc ._bfda =_af .NewStats (512,1);};if _cdc ._cgacf ==nil {_cdc ._cgacf =_af .NewStats (512,1);};if _cdc ._dcacd ==nil {_cdc ._dcacd =_af .NewStats (512,1);};if _cdc ._bdcba ==nil {_cdc ._bdcba =_af .NewStats (512,1);};if _cdc ._ffe ==nil {_cdc ._ffe =_af .NewStats (512,1);};if _cdc .UseRefinementAggregation &&_cdc ._deac ==nil {_cdc ._deac =_af .NewStats (1<<uint (_cdc ._ccac ),1);_cdc ._dagf =_af .NewStats (512,1);_cdc ._fcce =_af .NewStats (512,1);};if _cdc ._cgfb ==nil {_cdc ._cgfb =_af .NewStats (65536,1);};if _cdc ._febdb ==nil {var _eccf error ;_cdc ._febdb ,_eccf =_af .New (_cdc ._baagg );if _eccf !=nil {return _eccf ;};};return nil ;};func (_aaabc *TextRegion )parseHeader ()error {var _ffeca error ;_gbc .Log .Trace ("\u005b\u0054E\u0058\u0054\u0020\u0052E\u0047\u0049O\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045-\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0062\u0065\u0067\u0069n\u0073\u002e\u002e\u002e");defer func (){if _ffeca !=nil {_gbc .Log .Trace ("\u005b\u0054\u0045\u0058\u0054\u0020\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044E\u0052\u005d\u0020\u0066\u0061i\u006c\u0065d\u002e\u0020\u0025\u0076",_ffeca );}else {_gbc .Log .Trace ("\u005b\u0054E\u0058\u0054\u0020\u0052E\u0047\u0049O\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045-\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0066\u0069\u006e\u0069s\u0068\u0065\u0064\u002e");};}();if _ffeca =_aaabc .RegionInfo .parseHeader ();_ffeca !=nil {return _ffeca ;};if _ffeca =_aaabc .readRegionFlags ();_ffeca !=nil {return _ffeca ;};if _aaabc .IsHuffmanEncoded {if _ffeca =_aaabc .readHuffmanFlags ();_ffeca !=nil {return _ffeca ;};};if _ffeca =_aaabc .readUseRefinement ();_ffeca !=nil {return _ffeca ;};if _ffeca =_aaabc .readAmountOfSymbolInstances ();_ffeca !=nil {return _ffeca ;};if _ffeca =_aaabc .getSymbols ();_ffeca !=nil {return _ffeca ;};if _ffeca =_aaabc .computeSymbolCodeLength ();_ffeca !=nil {return _ffeca ;};if _ffeca =_aaabc .checkInput ();_ffeca !=nil {return _ffeca ;};_gbc .Log .Trace ("\u0025\u0073",_aaabc .String ());return nil ;};func (_bcedc *TextRegion )setParameters (_efef *_af .Decoder ,_efbfe ,_dced bool ,_bebb ,_cgcb uint32 ,_dcaed uint32 ,_fgcab int8 ,_eabd uint32 ,_egee int8 ,_acccc _gd .CombinationOperator ,_ccab int8 ,_degc int16 ,_aebb ,_ccbaf ,_ccgag ,_adcc ,_aada ,_bfgdg ,_gcgae ,_cebb ,_dabb ,_gefeb int8 ,_eebd ,_aefg []int8 ,_cdadg []*_gd .Bitmap ,_dbgf int8 ){_bcedc ._fabb =_efef ;_bcedc .IsHuffmanEncoded =_efbfe ;_bcedc .UseRefinement =_dced ;_bcedc .RegionInfo .BitmapWidth =_bebb ;_bcedc .RegionInfo .BitmapHeight =_cgcb ;_bcedc .NumberOfSymbolInstances =_dcaed ;_bcedc .SbStrips =_fgcab ;_bcedc .NumberOfSymbols =_eabd ;_bcedc .DefaultPixel =_egee ;_bcedc .CombinationOperator =_acccc ;_bcedc .IsTransposed =_ccab ;_bcedc .ReferenceCorner =_degc ;_bcedc .SbdsOffset =_aebb ;_bcedc .SbHuffFS =_ccbaf ;_bcedc .SbHuffDS =_ccgag ;_bcedc .SbHuffDT =_adcc ;_bcedc .SbHuffRDWidth =_aada ;_bcedc .SbHuffRDHeight =_bfgdg ;_bcedc .SbHuffRDX =_gcgae ;_bcedc .SbHuffRDY =_cebb ;_bcedc .SbrTemplate =_gefeb ;_bcedc .SbrATX =_eebd ;_bcedc .SbrATY =_aefg ;_bcedc .Symbols =_cdadg ;_bcedc ._gdbb =_dbgf ;};func (_acfg *SymbolDictionary )addSymbol (_ccga Regioner )error {_geb ,_cceg :=_ccga .GetRegionBitmap ();if _cceg !=nil {return _cceg ;};_acfg ._ega [_acfg ._ggeg ]=_geb ;_acfg ._fde =append (_acfg ._fde ,_geb );_gbc .Log .Trace ("\u005b\u0053YM\u0042\u004f\u004c \u0044\u0049\u0043\u0054ION\u0041RY\u005d\u0020\u0041\u0064\u0064\u0065\u0064 s\u0079\u006d\u0062\u006f\u006c\u003a\u0020%\u0073",_geb );return nil ;};func (_dfafe *TextRegion )String ()string {_ccc :=&_f .Builder {};_ccc .WriteString ("\u000a[\u0054E\u0058\u0054\u0020\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u000a");_ccc .WriteString (_dfafe .RegionInfo .String ()+"\u000a");_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053br\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u003a\u0020\u0025\u0076\u000a",_dfafe .SbrTemplate ));_ccc .WriteString (_ae .Sprintf ("\u0009-\u0020S\u0062\u0064\u0073\u004f\u0066f\u0073\u0065t\u003a\u0020\u0025\u0076\u000a",_dfafe .SbdsOffset ));_ccc .WriteString (_ae .Sprintf ("\t\u002d \u0044\u0065\u0066\u0061\u0075\u006c\u0074\u0050i\u0078\u0065\u006c\u003a %\u0076\u000a",_dfafe .DefaultPixel ));_ccc .WriteString (_ae .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0076\u000a",_dfafe .CombinationOperator ));_ccc .WriteString (_ae .Sprintf ("\t\u002d \u0049\u0073\u0054\u0072\u0061\u006e\u0073\u0070o\u0073\u0065\u0064\u003a %\u0076\u000a",_dfafe .IsTransposed ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020Re\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0043\u006f\u0072\u006e\u0065\u0072\u003a\u0020\u0025\u0076\u000a",_dfafe .ReferenceCorner ));_ccc .WriteString (_ae .Sprintf ("\t\u002d\u0020\u0055\u0073eR\u0065f\u0069\u006e\u0065\u006d\u0065n\u0074\u003a\u0020\u0025\u0076\u000a",_dfafe .UseRefinement ));_ccc .WriteString (_ae .Sprintf ("\u0009-\u0020\u0049\u0073\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045n\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0076\u000a",_dfafe .IsHuffmanEncoded ));if _dfafe .IsHuffmanEncoded {_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0053\u0069\u007a\u0065\u003a\u0020\u0025\u0076\u000a",_dfafe .SbHuffRSize ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0059:\u0020\u0025\u0076\u000a",_dfafe .SbHuffRDY ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0058:\u0020\u0025\u0076\u000a",_dfafe .SbHuffRDX ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0044\u0048\u0065\u0069\u0067\u0068\u0074\u003a\u0020\u0025v\u000a",_dfafe .SbHuffRDHeight ));_ccc .WriteString (_ae .Sprintf ("\t\u002d\u0020\u0053\u0062Hu\u0066f\u0052\u0044\u0057\u0069\u0064t\u0068\u003a\u0020\u0025\u0076\u000a",_dfafe .SbHuffRDWidth ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0054\u003a\u0020\u0025\u0076\u000a",_dfafe .SbHuffDT ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0053\u003a\u0020\u0025\u0076\u000a",_dfafe .SbHuffDS ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0046\u0053\u003a\u0020\u0025\u0076\u000a",_dfafe .SbHuffFS ));};_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_dfafe .SbrATX ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0059:\u0020\u0025\u0076\u000a",_dfafe .SbrATY ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020N\u0075\u006d\u0062\u0065r\u004f\u0066\u0053\u0079\u006d\u0062\u006fl\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0073\u003a\u0020\u0025\u0076\u000a",_dfafe .NumberOfSymbolInstances ));_ccc .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_dfafe .SbrATX ));return _ccc .String ();};func (_aaee *RegionSegment )String ()string {_fag :=&_f .Builder {};_fag .WriteString ("\u0009[\u0052E\u0047\u0049\u004f\u004e\u0020S\u0045\u0047M\u0045\u004e\u0054\u005d\u000a");_fag .WriteString (_ae .Sprintf ("\t\u0009\u002d\u0020\u0042\u0069\u0074m\u0061\u0070\u0020\u0028\u0077\u0069d\u0074\u0068\u002c\u0020\u0068\u0065\u0069g\u0068\u0074\u0029\u0020\u005b\u0025\u0064\u0078\u0025\u0064]\u000a",_aaee .BitmapWidth ,_aaee .BitmapHeight ));_fag .WriteString (_ae .Sprintf ("\u0009\u0009\u002d\u0020L\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u0020\u0028\u0078,\u0079)\u003a\u0020\u005b\u0025\u0064\u002c\u0025d\u005d\u000a",_aaee .XLocation ,_aaee .YLocation ));_fag .WriteString (_ae .Sprintf ("\t\u0009\u002d\u0020\u0043\u006f\u006db\u0069\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070e\u0072\u0061\u0074o\u0072:\u0020\u0025\u0073",_aaee .CombinaionOperator ));return _fag .String ();};func (_aged *TextRegion )decodeRI ()(int64 ,error ){if !_aged .UseRefinement {return 0,nil ;};if _aged .IsHuffmanEncoded {_ebbbe ,_gagd :=_aged ._cecd .ReadBit ();return int64 (_ebbbe ),_gagd ;};_bba ,_fdbf :=_aged ._fabb .DecodeInt (_aged ._fgac );return int64 (_bba ),_fdbf ;};func (_abdb *SymbolDictionary )encodeNumSyms (_abdd _dc .BinaryWriter )(_bcbb int ,_gaad error ){const _abcc ="\u0065\u006e\u0063\u006f\u0064\u0065\u004e\u0075\u006d\u0053\u0079\u006d\u0073";_adea :=make ([]byte ,4);_eg .BigEndian .PutUint32 (_adea ,_abdb .NumberOfExportedSymbols );if _bcbb ,_gaad =_abdd .Write (_adea );_gaad !=nil {return _bcbb ,_gb .Wrap (_gaad ,_abcc ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};_eg .BigEndian .PutUint32 (_adea ,_abdb .NumberOfNewSymbols );_bcdc ,_gaad :=_abdd .Write (_adea );if _gaad !=nil {return _bcbb ,_gb .Wrap (_gaad ,_abcc ,"n\u0065\u0077\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};return _bcbb +_bcdc ,nil ;};func (_gddg *SymbolDictionary )String ()string {_edfe :=&_f .Builder {};_edfe .WriteString ("\n\u005b\u0053\u0059\u004dBO\u004c-\u0044\u0049\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u000a");_edfe .WriteString (_ae .Sprintf ("\u0009-\u0020S\u0064\u0072\u0054\u0065\u006dp\u006c\u0061t\u0065\u0020\u0025\u0076\u000a",_gddg .SdrTemplate ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u0025\u0076\u000a",_gddg .SdTemplate ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0069\u0073\u0043\u006f\u0064\u0069\u006eg\u0043\u006f\u006e\u0074\u0065\u0078\u0074R\u0065\u0074\u0061\u0069\u006e\u0065\u0064\u0020\u0025\u0076\u000a",_gddg ._geee ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0069\u0073\u0043\u006f\u0064\u0069\u006e\u0067C\u006f\u006e\u0074\u0065\u0078\u0074\u0055\u0073\u0065\u0064 \u0025\u0076\u000a",_gddg ._beb ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0048u\u0066\u0066\u0041\u0067\u0067\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065S\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0025\u0076\u000a",_gddg .SdHuffAggInstanceSelection ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053d\u0048\u0075\u0066\u0066\u0042\u004d\u0053\u0069\u007a\u0065S\u0065l\u0065\u0063\u0074\u0069\u006f\u006e\u0020%\u0076\u000a",_gddg .SdHuffBMSizeSelection ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0048u\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0057\u0069\u0064\u0074\u0068S\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0025\u0076\u000a",_gddg .SdHuffDecodeWidthSelection ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020Sd\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064e\u0048e\u0069g\u0068t\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u0020\u0025\u0076\u000a",_gddg .SdHuffDecodeHeightSelection ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020U\u0073\u0065\u0052\u0065f\u0069\u006e\u0065\u006d\u0065\u006e\u0074A\u0067\u0067\u0072\u0065\u0067\u0061\u0074\u0069\u006f\u006e\u0020\u0025\u0076\u000a",_gddg .UseRefinementAggregation ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020is\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045\u006e\u0063\u006f\u0064\u0065\u0064\u0020\u0025\u0076\u000a",_gddg .IsHuffmanEncoded ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_gddg .SdATX ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_gddg .SdATY ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_gddg .SdrATX ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_gddg .SdrATY ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u004e\u0075\u006d\u0062\u0065\u0072\u004ff\u0045\u0078\u0070\u006f\u0072\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0025\u0076\u000a",_gddg .NumberOfExportedSymbols ));_edfe .WriteString (_ae .Sprintf ("\u0009-\u0020\u004e\u0075\u006db\u0065\u0072\u004f\u0066\u004ee\u0077S\u0079m\u0062\u006f\u006c\u0073\u0020\u0025\u0076\n",_gddg .NumberOfNewSymbols ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u004ff\u0049\u006d\u0070\u006f\u0072\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0025\u0076\u000a",_gddg ._cfcb ));_edfe .WriteString (_ae .Sprintf ("\u0009\u002d \u006e\u0075\u006d\u0062\u0065\u0072\u004f\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0064\u0053\u0079\u006d\u0062\u006f\u006c\u0073 %\u0076\u000a",_gddg ._ggeg ));return _edfe .String ();};func (_eaef *Header )readReferredToSegmentNumbers (_cgb _dc .StreamReader ,_gcdf int )([]int ,error ){const _bge ="\u0072\u0065\u0061\u0064R\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053e\u0067m\u0065\u006e\u0074\u004e\u0075\u006d\u0062e\u0072\u0073";_bdfg :=make ([]int ,_gcdf );if _gcdf > 0{_eaef .RTSegments =make ([]*Header ,_gcdf );var (_cfefd uint64 ;_cbbb error ;);for _aac :=0;_aac < _gcdf ;_aac ++{_cfefd ,_cbbb =_cgb .ReadBits (byte (_eaef .referenceSize ())<<3);if _cbbb !=nil {return nil ,_gb .Wrapf (_cbbb ,_bge ,"\u0027\u0025\u0064\u0027 \u0072\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0020\u0073e\u0067m\u0065\u006e\u0074\u0020\u006e\u0075\u006db\u0065\u0072",_aac );};_bdfg [_aac ]=int (_cfefd &_g .MaxInt32 );};};return _bdfg ,nil ;};func (_edea *GenericRegion )updateOverrideFlags ()error {const _dgba ="\u0075\u0070\u0064\u0061te\u004f\u0076\u0065\u0072\u0072\u0069\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _edea .GBAtX ==nil ||_edea .GBAtY ==nil {return nil ;};if len (_edea .GBAtX )!=len (_edea .GBAtY ){return _gb .Errorf (_dgba ,"i\u006eco\u0073i\u0073t\u0065\u006e\u0074\u0020\u0041T\u0020\u0070\u0069x\u0065\u006c\u002e\u0020\u0041m\u006f\u0075\u006et\u0020\u006f\u0066\u0020\u0027\u0078\u0027\u0020\u0070\u0069\u0078e\u006c\u0073\u003a %d\u002c\u0020\u0041\u006d\u006f\u0075n\u0074\u0020\u006f\u0066\u0020\u0027\u0079\u0027\u0020\u0070\u0069\u0078e\u006cs\u003a\u0020\u0025\u0064",len (_edea .GBAtX ),len (_edea .GBAtY ));};_edea .GBAtOverride =make ([]bool ,len (_edea .GBAtX ));switch _edea .GBTemplate {case 0:if !_edea .UseExtTemplates {if _edea .GBAtX [0]!=3||_edea .GBAtY [0]!=-1{_edea .setOverrideFlag (0);};if _edea .GBAtX [1]!=-3||_edea .GBAtY [1]!=-1{_edea .setOverrideFlag (1);};if _edea .GBAtX [2]!=2||_edea .GBAtY [2]!=-2{_edea .setOverrideFlag (2);};if _edea .GBAtX [3]!=-2||_edea .GBAtY [3]!=-2{_edea .setOverrideFlag (3);};}else {if _edea .GBAtX [0]!=-2||_edea .GBAtY [0]!=0{_edea .setOverrideFlag (0);};if _edea .GBAtX [1]!=0||_edea .GBAtY [1]!=-2{_edea .setOverrideFlag (1);};if _edea .GBAtX [2]!=-2||_edea .GBAtY [2]!=-1{_edea .setOverrideFlag (2);};if _edea .GBAtX [3]!=-1||_edea .GBAtY [3]!=-2{_edea .setOverrideFlag (3);};if _edea .GBAtX [4]!=1||_edea .GBAtY [4]!=-2{_edea .setOverrideFlag (4);};if _edea .GBAtX [5]!=2||_edea .GBAtY [5]!=-1{_edea .setOverrideFlag (5);};if _edea .GBAtX [6]!=-3||_edea .GBAtY [6]!=0{_edea .setOverrideFlag (6);};if _edea .GBAtX [7]!=-4||_edea .GBAtY [7]!=0{_edea .setOverrideFlag (7);};if _edea .GBAtX [8]!=2||_edea .GBAtY [8]!=-2{_edea .setOverrideFlag (8);};if _edea .GBAtX [9]!=3||_edea .GBAtY [9]!=-1{_edea .setOverrideFlag (9);};if _edea .GBAtX [10]!=-2||_edea .GBAtY [10]!=-2{_edea .setOverrideFlag (10);};if _edea .GBAtX [11]!=-3||_edea .GBAtY [11]!=-1{_edea .setOverrideFlag (11);};};case 1:if _edea .GBAtX [0]!=3||_edea .GBAtY [0]!=-1{_edea .setOverrideFlag (0);};case 2:if _edea .GBAtX [0]!=2||_edea .GBAtY [0]!=-1{_edea .setOverrideFlag (0);};case 3:if _edea .GBAtX [0]!=2||_edea .GBAtY [0]!=-1{_edea .setOverrideFlag (0);};};return nil ;};func (_egebb *TextRegion )setContexts (_acdcf *_af .DecoderStats ,_bdad *_af .DecoderStats ,_afeea *_af .DecoderStats ,_beafc *_af .DecoderStats ,_fbdg *_af .DecoderStats ,_aaaa *_af .DecoderStats ,_bfcbc *_af .DecoderStats ,_afbf *_af .DecoderStats ,_aacbab *_af .DecoderStats ,_cbaac *_af .DecoderStats ){_egebb ._dfdefc =_bdad ;_egebb ._dgg =_afeea ;_egebb ._ffda =_beafc ;_egebb ._aebfb =_fbdg ;_egebb ._bgfga =_bfcbc ;_egebb ._gadc =_afbf ;_egebb ._edfa =_aaaa ;_egebb ._gdbff =_aacbab ;_egebb ._dfdd =_cbaac ;_egebb ._fdfc =_acdcf ;};func (_egac *TextRegion )decodeRdy ()(int64 ,error ){const _degf ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064y";if _egac .IsHuffmanEncoded {if _egac .SbHuffRDY ==3{if _egac ._gaceb ==nil {var (_cged int ;_aeddg error ;);if _egac .SbHuffFS ==3{_cged ++;};if _egac .SbHuffDS ==3{_cged ++;};if _egac .SbHuffDT ==3{_cged ++;};if _egac .SbHuffRDWidth ==3{_cged ++;};if _egac .SbHuffRDHeight ==3{_cged ++;};if _egac .SbHuffRDX ==3{_cged ++;};_egac ._gaceb ,_aeddg =_egac .getUserTable (_cged );if _aeddg !=nil {return 0,_gb .Wrap (_aeddg ,_degf ,"");};};return _egac ._gaceb .Decode (_egac ._cecd );};_bebe ,_feab :=_c .GetStandardTable (14+int (_egac .SbHuffRDY ));if _feab !=nil {return 0,_feab ;};return _bebe .Decode (_egac ._cecd );};_dagb ,_afgc :=_egac ._fabb .DecodeInt (_egac ._dfdd );if _afgc !=nil {return 0,_gb .Wrap (_afgc ,_degf ,"");};return int64 (_dagb ),nil ;};func (_acbf *HalftoneRegion )GetPatterns ()([]*_gd .Bitmap ,error ){var (_bfcg []*_gd .Bitmap ;_eed error ;);for _ ,_efa :=range _acbf ._bege .RTSegments {var _cfef Segmenter ;_cfef ,_eed =_efa .GetSegmentData ();if _eed !=nil {_gbc .Log .Debug ("\u0047e\u0074\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061 \u0066a\u0069\u006c\u0065\u0064\u003a\u0020\u0025v",_eed );return nil ,_eed ;};_dbed ,_eddg :=_cfef .(*PatternDictionary );if !_eddg {_eed =_ae .Errorf ("\u0072e\u006c\u0061t\u0065\u0064\u0020\u0073e\u0067\u006d\u0065n\u0074\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0070at\u0074\u0065\u0072n\u0020\u0064i\u0063\u0074\u0069\u006f\u006e\u0061r\u0079\u003a \u0025\u0054",_cfef );return nil ,_eed ;};var _bbfcc []*_gd .Bitmap ;_bbfcc ,_eed =_dbed .GetDictionary ();if _eed !=nil {_gbc .Log .Debug ("\u0070\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074i\u006fn\u0061\u0072\u0079\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0076",_eed );return nil ,_eed ;};_bfcg =append (_bfcg ,_bbfcc ...);};return _bfcg ,nil ;};func (_bddd *template1 )setIndex (_fffg *_af .DecoderStats ){_fffg .SetIndex (0x080)};func (_bfed *Header )readDataStartOffset (_fbgce _dc .StreamReader ,_befa OrganizationType ){if _befa ==OSequential {_bfed .SegmentDataStartOffset =uint64 (_fbgce .StreamPosition ());};};const (ORandom OrganizationType =iota ;OSequential ;);func (_ed *EndOfStripe )parseHeader (_ac *Header ,_da _dc .StreamReader )error {_aa ,_fa :=_ed ._b .ReadBits (32);if _fa !=nil {return _fa ;};_ed ._be =int (_aa &_g .MaxInt32 );return nil ;};func (_cbf *GenericRefinementRegion )String ()string {_dba :=&_f .Builder {};_dba .WriteString ("\u000a[\u0047E\u004e\u0045\u0052\u0049\u0043 \u0052\u0045G\u0049\u004f\u004e\u005d\u000a");_dba .WriteString (_cbf .RegionInfo .String ()+"\u000a");_dba .WriteString (_ae .Sprintf ("\u0009\u002d \u0049\u0073\u0054P\u0047\u0052\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_cbf .IsTPGROn ));_dba .WriteString (_ae .Sprintf ("\u0009-\u0020T\u0065\u006d\u0070\u006c\u0061t\u0065\u0049D\u003a\u0020\u0025\u0076\u000a",_cbf .TemplateID ));_dba .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0058\u003a\u0020\u0025\u0076\u000a",_cbf .GrAtX ));_dba .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0059\u003a\u0020\u0025\u0076\u000a",_cbf .GrAtY ));_dba .WriteString (_ae .Sprintf ("\u0009-\u0020R\u0065\u0066\u0065\u0072\u0065n\u0063\u0065D\u0058\u0020\u0025\u0076\u000a",_cbf .ReferenceDX ));_dba .WriteString (_ae .Sprintf ("\u0009\u002d\u0020\u0052ef\u0065\u0072\u0065\u006e\u0063\u0044\u0065\u0059\u003a\u0020\u0025\u0076\u000a",_cbf .ReferenceDY ));return _dba .String ();};func (_gfd *GenericRefinementRegion )readAtPixels ()error {_gfd .GrAtX =make ([]int8 ,2);_gfd .GrAtY =make ([]int8 ,2);_fda ,_ddfe :=_gfd ._ea .ReadByte ();if _ddfe !=nil {return _ddfe ;};_gfd .GrAtX [0]=int8 (_fda );_fda ,_ddfe =_gfd ._ea .ReadByte ();if _ddfe !=nil {return _ddfe ;};_gfd .GrAtY [0]=int8 (_fda );_fda ,_ddfe =_gfd ._ea .ReadByte ();if _ddfe !=nil {return _ddfe ;};_gfd .GrAtX [1]=int8 (_fda );_fda ,_ddfe =_gfd ._ea .ReadByte ();if _ddfe !=nil {return _ddfe ;};_gfd .GrAtY [1]=int8 (_fda );return nil ;};type PatternDictionary struct{_dgded _dc .StreamReader ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;GBAtX []int8 ;GBAtY []int8 ;IsMMREncoded bool ;HDTemplate byte ;HdpWidth byte ;HdpHeight byte ;Patterns []*_gd .Bitmap ;GrayMax uint32 ;};type templater interface{form (_fdb ,_cfd ,_bfb ,_fbga ,_ccb int16 )int16 ;setIndex (_facb *_af .DecoderStats );};func (_eddgd *SymbolDictionary )getSbSymCodeLen ()int8 {_afb :=int8 (_g .Ceil (_g .Log (float64 (_eddgd ._cfcb +_eddgd .NumberOfNewSymbols ))/_g .Log (2)));if _eddgd .IsHuffmanEncoded &&_afb < 1{return 1;};return _afb ;};func (_beff *RegionSegment )Encode (w _dc .BinaryWriter )(_efeg int ,_fdd error ){const _eaf ="R\u0065g\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065n\u0074\u002e\u0045\u006eco\u0064\u0065";_abeb :=make ([]byte ,4);_eg .BigEndian .PutUint32 (_abeb ,_beff .BitmapWidth );_efeg ,_fdd =w .Write (_abeb );if _fdd !=nil {return 0,_gb .Wrap (_fdd ,_eaf ,"\u0057\u0069\u0064t\u0068");};_eg .BigEndian .PutUint32 (_abeb ,_beff .BitmapHeight );var _cfbda int ;_cfbda ,_fdd =w .Write (_abeb );if _fdd !=nil {return 0,_gb .Wrap (_fdd ,_eaf ,"\u0048\u0065\u0069\u0067\u0068\u0074");};_efeg +=_cfbda ;_eg .BigEndian .PutUint32 (_abeb ,_beff .XLocation );_cfbda ,_fdd =w .Write (_abeb );if _fdd !=nil {return 0,_gb .Wrap (_fdd ,_eaf ,"\u0058L\u006f\u0063\u0061\u0074\u0069\u006fn");};_efeg +=_cfbda ;_eg .BigEndian .PutUint32 (_abeb ,_beff .YLocation );_cfbda ,_fdd =w .Write (_abeb );if _fdd !=nil {return 0,_gb .Wrap (_fdd ,_eaf ,"\u0059L\u006f\u0063\u0061\u0074\u0069\u006fn");};_efeg +=_cfbda ;if _fdd =w .WriteByte (byte (_beff .CombinaionOperator )&0x07);_fdd !=nil {return 0,_gb .Wrap (_fdd ,_eaf ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};_efeg ++;return _efeg ,nil ;};func (_afdf *Header )CleanSegmentData (){if _afdf .SegmentData !=nil {_afdf .SegmentData =nil ;};};func (_cbga *SymbolDictionary )huffDecodeBmSize ()(int64 ,error ){if _cbga ._cbbda ==nil {var (_faeca int ;_fdce error ;);if _cbga .SdHuffDecodeHeightSelection ==3{_faeca ++;};if _cbga .SdHuffDecodeWidthSelection ==3{_faeca ++;};_cbga ._cbbda ,_fdce =_cbga .getUserTable (_faeca );if _fdce !=nil {return 0,_fdce ;};};return _cbga ._cbbda .Decode (_cbga ._baagg );};func (_ddbcc *GenericRegion )setParametersMMR (_ebbg bool ,_ggbc ,_fbgcf int64 ,_dbce ,_cfad uint32 ,_gbcd byte ,_efb ,_cce bool ,_bbb ,_dgf []int8 ){_ddbcc .DataOffset =_ggbc ;_ddbcc .DataLength =_fbgcf ;_ddbcc .RegionSegment =&RegionSegment {};_ddbcc .RegionSegment .BitmapHeight =_dbce ;_ddbcc .RegionSegment .BitmapWidth =_cfad ;_ddbcc .GBTemplate =_gbcd ;_ddbcc .IsMMREncoded =_ebbg ;_ddbcc .IsTPGDon =_efb ;_ddbcc .GBAtX =_bbb ;_ddbcc .GBAtY =_dgf ;};func (_cega *GenericRegion )InitEncode (bm *_gd .Bitmap ,xLoc ,yLoc ,template int ,duplicateLineRemoval bool )error {const _ddb ="\u0047e\u006e\u0065\u0072\u0069\u0063\u0052\u0065\u0067\u0069\u006f\u006e.\u0049\u006e\u0069\u0074\u0045\u006e\u0063\u006f\u0064\u0065";if bm ==nil {return _gb .Error (_ddb ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070");};if xLoc < 0||yLoc < 0{return _gb .Error (_ddb ,"\u0078\u0020\u0061\u006e\u0064\u0020\u0079\u0020\u006c\u006f\u0063\u0061\u0074i\u006f\u006e\u0020\u006d\u0075\u0073t\u0020\u0062\u0065\u0020\u0067\u0072\u0065\u0061\u0074\u0065\u0072\u0020\u0074h\u0061\u006e\u0020\u0030");};_cega .Bitmap =bm ;_cega .GBTemplate =byte (template );switch _cega .GBTemplate {case 0:_cega .GBAtX =[]int8 {3,-3,2,-2};_cega .GBAtY =[]int8 {-1,-1,-2,-2};case 1:_cega .GBAtX =[]int8 {3};_cega .GBAtY =[]int8 {-1};case 2,3:_cega .GBAtX =[]int8 {2};_cega .GBAtY =[]int8 {-1};default:return _gb .Errorf (_ddb ,"\u0070\u0072o\u0076\u0069\u0064\u0065\u0064 \u0074\u0065\u006d\u0070\u006ca\u0074\u0065\u003a\u0020\u0027\u0025\u0064\u0027\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0020\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u007b\u0030\u002c\u0031\u002c\u0032\u002c\u0033\u007d",template );};_cega .RegionSegment =&RegionSegment {BitmapHeight :uint32 (bm .Height ),BitmapWidth :uint32 (bm .Width ),XLocation :uint32 (xLoc ),YLocation :uint32 (yLoc )};_cega .IsTPGDon =duplicateLineRemoval ;return nil ;};func (_ddgg *SymbolDictionary )Init (h *Header ,r _dc .StreamReader )error {_ddgg .Header =h ;_ddgg ._baagg =r ;return _ddgg .parseHeader ();};func (_aeg *EndOfStripe )LineNumber ()int {return _aeg ._be };func (_cdbf *TextRegion )symbolIDCodeLengths ()error {var (_afcc []*_c .Code ;_bbac uint64 ;_ddff _c .Tabler ;_ffed error ;);for _bada :=0;_bada < 35;_bada ++{_bbac ,_ffed =_cdbf ._cecd .ReadBits (4);if _ffed !=nil {return _ffed ;};_aebc :=int (_bbac &0xf);if _aebc > 0{_afcc =append (_afcc ,_c .NewCode (int32 (_aebc ),0,int32 (_bada ),false ));};};_ddff ,_ffed =_c .NewFixedSizeTable (_afcc );if _ffed !=nil {return _ffed ;};var (_fedf int64 ;_eadc uint32 ;_bgfb []*_c .Code ;_fbcd int64 ;);for _eadc < _cdbf .NumberOfSymbols {_fbcd ,_ffed =_ddff .Decode (_cdbf ._cecd );if _ffed !=nil {return _ffed ;};if _fbcd < 32{if _fbcd > 0{_bgfb =append (_bgfb ,_c .NewCode (int32 (_fbcd ),0,int32 (_eadc ),false ));};_fedf =_fbcd ;_eadc ++;}else {var _dcfaa ,_ffgd int64 ;switch _fbcd {case 32:_bbac ,_ffed =_cdbf ._cecd .ReadBits (2);if _ffed !=nil {return _ffed ;};_dcfaa =3+int64 (_bbac );if _eadc > 0{_ffgd =_fedf ;};case 33:_bbac ,_ffed =_cdbf ._cecd .ReadBits (3);if _ffed !=nil {return _ffed ;};_dcfaa =3+int64 (_bbac );case 34:_bbac ,_ffed =_cdbf ._cecd .ReadBits (7);if _ffed !=nil {return _ffed ;};_dcfaa =11+int64 (_bbac );};for _fgbdf :=0;_fgbdf < int (_dcfaa );_fgbdf ++{if _ffgd > 0{_bgfb =append (_bgfb ,_c .NewCode (int32 (_ffgd ),0,int32 (_eadc ),false ));};_eadc ++;};};};_cdbf ._cecd .Align ();_cdbf ._ccdb ,_ffed =_c .NewFixedSizeTable (_bgfb );return _ffed ;}; |