mirror of
https://github.com/unidoc/unioffice.git
synced 2025-05-10 19:29:15 +08:00
12 lines
5.8 KiB
Go
12 lines
5.8 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 rw ;import (_e "bytes";_fb "encoding/binary";_ee "errors";_b "fmt";_cf "io";_c "io/ioutil";_g "reflect";);func (_a *Reader )align (_ced int )error {return _a .skip ((_ced -_a .curPos ()%_ced )%_ced )};func (_d *Writer )WriteProperty (a interface{})error {if _aa :=_d .align (int (_g .TypeOf (a ).Size ()));_aa !=nil {return _aa ;};return _d .WritePropertyNoAlign (a );};func (_cgf *Writer )FillWithByte (fillSize int ,b byte )error {for _bcd :=0;_bcd < fillSize ;_bcd ++{if _bgcf :=_cgf .WritePropertyNoAlign (b );_bgcf !=nil {return _bgcf ;};};return nil ;};func (_bg *Reader )curPos ()int {return int (_bg .Size ())-_bg .Len ()};func (_gd *Reader )ReadProperty (a interface{})error {_af :=_g .ValueOf (a );for _af .Kind ()==_g .Ptr {_af =_af .Elem ();};if !_af .IsValid (){return _b .Errorf ("\u0076a\u006cu\u0065\u0020\u0069\u0073\u0020n\u006f\u0074 \u0076\u0061\u006c\u0069\u0064");};if _fc :=_gd .align (int (_af .Type ().Size ()));_fc !=nil {return _fc ;};if _ge :=_fb .Read (_gd ,_fb .LittleEndian ,a );_ge !=nil {return _ge ;};return nil ;};type Writer struct{_cbg []byte ;_ag int ;};func (_fg *Reader )skip (_cg int )error {_ ,_bd :=_cf .CopyN (_c .Discard ,_fg ,int64 (_cg ));if _bd !=nil {return _bd ;};return nil ;};func PopRightUI64 (v uint64 )(bool ,uint64 ){return (v &uint64 (1))==1,v >>1};func (_gdg *Reader )ReadStringProperty (n uint32 )(string ,error ){if _bb :=_gdg .align (4);_bb !=nil {return "",_bb ;};_afe :=make ([]byte ,n );if _gdc :=_fb .Read (_gdg ,_fb .LittleEndian ,&_afe );_gdc !=nil {return "",_gdc ;};return string (_afe ),nil ;};func _cde (_fa int )[]byte {defer func (){if recover ()!=nil {panic (_eeg );};}();return make ([]byte ,_fa );};func PopRightUI32 (v uint32 )(bool ,uint32 ){return (v &uint32 (1))==1,v >>1};func (_fde *Writer )WriteByteAt (b byte ,off int )error {if off >=len (_fde ._cbg ){return _ee .New ("\u004f\u0075\u0074\u0020\u006f\u0066\u0020\u0062\u006f\u0075\u006e\u0064\u0073");};_fde ._cbg [off ]=b ;return nil ;};func (_gcg *Writer )tryGrowByReslice (_ba int )(int ,bool ){if _dg :=len (_gcg ._cbg );_ba <=cap (_gcg ._cbg )-_dg {_gcg ._cbg =_gcg ._cbg [:_dg +_ba ];return _dg ,true ;};return 0,false ;};func NewReader (b []byte )(*Reader ,error ){return &Reader {_e .NewReader (b )},nil };func NewWriter ()*Writer {return &Writer {_cbg :[]byte {}}};func (_fgc *Writer )Cap ()int {return cap (_fgc ._cbg )};func PushLeftUI32 (v uint32 ,flag bool )uint32 {v >>=1;if flag {v |=1<<31;};return v ;};func (_efed *Writer )Bytes ()[]byte {return _efed ._cbg };func (_faf *Writer )reset (){_faf ._cbg =_faf ._cbg [:0];_faf ._ag =0};func (_fbc *Writer )AlignLength (alignTo int )error {_bc :=_fbc .Len ()%alignTo ;if _bc > 0{_ ,_afb :=_fbc .Write (make ([]byte ,alignTo -_bc ));if _afb !=nil {return _afb ;};};return nil ;};func (_fbd *Writer )WriteTo (wTo _cf .Writer )(_df int64 ,_eb error ){if _gf :=_fbd .Len ();_gf > 0{_afa ,_bdc :=wTo .Write (_fbd ._cbg [_fbd ._ag :]);if _afa > _gf {return 0,_ee .New ("\u0072\u0077\u002e\u0057\u0072\u0069\u0074\u0065\u0072\u002e\u0057\u0072\u0069\u0074\u0065\u0054\u006f\u003a\u0020\u0069\u006e\u0076\u0061\u006ci\u0064\u0020\u0057\u0072\u0069t\u0065\u0020c\u006f\u0075\u006e\u0074");};_fbd ._ag +=_afa ;_df =int64 (_afa );if _bdc !=nil {return _df ,_bdc ;};if _afa !=_gf {return _df ,_cf .ErrShortWrite ;};};_fbd .reset ();return _df ,nil ;};func (_agg *Writer )WritePropertyNoAlign (a interface{})error {if _ad :=_fb .Write (_agg ,_fb .LittleEndian ,a );_ad !=nil {return _ad ;};return nil ;};func (_ff *Reader )ReadPairProperty (p interface{})error {if _cb :=_ff .align (4);_cb !=nil {return _cb ;};_gc :=_g .ValueOf (p );for _gc .Kind ()==_g .Ptr {_gc =_gc .Elem ();};if !_gc .IsValid (){return _b .Errorf ("\u0076a\u006cu\u0065\u0020\u0069\u0073\u0020n\u006f\u0074 \u0076\u0061\u006c\u0069\u0064");};if _ab :=_fb .Read (_ff ,_fb .LittleEndian ,p );_ab !=nil {return _ab ;};return nil ;};func (_bgf *Writer )curPos ()int {return int (_bgf .Cap ())-_bgf .Len ()};func (_ca *Writer )Skip (n int )error {if n ==0{return nil ;};_ ,_ef :=_ca .Write (make ([]byte ,n ));return _ef ;};func (_aggg *Writer )WriteStringProperty (s string )error {_aggg .align (4);_fd :=[]byte (s );if _ed :=_fb .Write (_aggg ,_fb .LittleEndian ,&_fd );_ed !=nil {return _ed ;};return nil ;};type Reader struct{*_e .Reader };func PushLeftUI64 (v uint64 ,flag bool )uint64 {v >>=1;if flag {v |=1<<63;};return v ;};func (_gg *Writer )align (_cd int )error {return _gg .Skip ((_cd -(_gg .Len ())%_cd )%_cd )};func (_cab *Writer )Len ()int {return len (_cab ._cbg )-_cab ._ag };const _efe =64;func (_de *Writer )grow (_aggb int )(int ,error ){_cc :=_de .Len ();if _cc ==0&&_de ._ag !=0{_de .reset ();};if _dea ,_dad :=_de .tryGrowByReslice (_aggb );_dad {return _dea ,nil ;};if _de ._cbg ==nil &&_aggb <=_efe {_de ._cbg =make ([]byte ,_aggb ,_efe );return 0,nil ;};_fdeb :=cap (_de ._cbg );if _aggb <=_fdeb /2-_cc {copy (_de ._cbg ,_de ._cbg [_de ._ag :]);}else if _fdeb > _ec -_fdeb -_aggb {return 0,_eeg ;}else {_aaa :=_cde (2*_fdeb +_aggb );copy (_aaa ,_de ._cbg [_de ._ag :]);_de ._cbg =_aaa ;};_de ._ag =0;_de ._cbg =_de ._cbg [:_cc +_aggb ];return _cc ,nil ;};const _ec =int (^uint (0)>>1);var _eeg =_ee .New ("r\u0077.\u0057\u0072\u0069\u0074\u0065\u0072\u003a\u0020t\u006f\u006f\u0020\u006car\u0067\u0065");func (_efc *Writer )Write (p []byte )(_da int ,_ffc error ){_bbd ,_aab :=_efc .tryGrowByReslice (len (p ));if !_aab {var _bgb error ;_bbd ,_bgb =_efc .grow (len (p ));if _bgb !=nil {return 0,_bgb ;};};return copy (_efc ._cbg [_bbd :],p ),nil ;}; |